software RAID + LVM + EFI + Grub = tanácstalanság

Fórumok

Hello!

Adva van egy alaplap (AsusE35M1-M)ami EFI-vel bootol.
A terv az, hogy Ubuntu szerver legyen rajta úgy, hogy a diszkek szoftver RAID1-ben, ennek a tetején LVM, majd mindenféle partíciók a logikai volume-okon.
Azt már sikerült elérni, hogy pendrive-ről bootolva fel tudom tenni az operációs rendszert, de az nem jelenik meg az EFI-ben, csak a diszkek, amiről nem tudok bootolni. (Nem talál oprendszert.)
Próbáltam GPT-vel a RAID alatt és EFI volume-mal az LVM tetején valamint ugyanez msdos particiós sémával is. A grub felment majd nem bootolt róla.
A Google-lel és Wikivel barátkoztam jó sokat, de még nibcs eredmény.

Mit tud a kollektív bölcsesség a témáról?

Olyat nem szeretnék, ha a boot partíció nem lenne tükrözve.
Esetleg a particionált RAID1 lenne a nyerő?

Hozzászólások

Ha a boot partició sima softraid és csak a lényegibb részeken van lvm az nem nyerő?

Kell egy első partíció aminek a típusa "BIOS Boot Partition" mind két diszkre.
A második partíció már lehet RAID típusú.
Nálam így néz ki:

parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: ATA WDC WD20EARS-00M (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 17,4kB 1000kB 983kB primary bios_grub
2 1000kB 1001MB 1000MB primary raid
3 1001MB 2000GB 1999GB primary raid

Mi fogja szinkronizálni a két boot partíciót?

Az md device.

Az mdadm paranccsal kell létrehozni a két fizikai partícióból (pl. /dev/sda1 és /dev/sdb1), és az eredményként létrejövő /dev/md0-t kell mountolni.

Nem lesz abból galiba, hogy a /boot viszont az lvm-ből jön és az alá kell mountolni az EFI partíciót?

A fent említett /dev/md0-át kell /boot-ként mountolni. Arra kell rakni a grubot, abba kell rakni mindent (grub.conf, kernel, initrd, stb.), ami kell a bootoláshoz.

A /boot ne legyen lvm -en.
Azért van nálam két raid partíció.
Első a /boot a második a raid/lvm

Én a dpkg-reconfigure grub-pc -vel telepítem fel a két diszkre.
Előtte /etc/default/grub -ot érdemes megnézni - Ubuntuban nem tudom, hogy jó-e így - debian alatta a
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

Részt :
GRUB_DISABLE_LINUX_UUID=true
-re kell állítani, mert különben nem bootol a második diszk.

Nálam a /boot is az lvm-ben van és működés jeleit mutatja - ha gond lesz vele átrakom egy saját raid device-ra.
A szinkronizációs kérdés az EFI partícióra vonatkozik, mert ha abból raidet csinálok ahogy VL kollega javasolta akkor a metadata felülírja a partíciós táblámat és az EFI ebbe belehal (legalábbis most így gondolom).

GRUB_DISABLE_LINUX_UUID=true beállítása jó ötlet. Köszönöm! Jó soká jöttem volna rá, hogy miért nem megy.

Én a /boot partícióról beszéltem, de nyilván elbeszéltünk egymás mellett.

Az EFI partícióját - szerintem - nem kell szinkronizálgatni. Egyszer megcsinálod egyformára (telepíted a grubot az egyik diszkre, aztán telepíted a grubot a másik diszkre), legközelebb akkor kell hozzányúlni, ha frissíted a grub verziót. Funkcionálisan az EFI partíciója a "rendes" MBR-es diszkformátumnál az MBR-be és az utána levő senkiföldjére kerülő blokkoknak felel meg. Ezt MBR-es verzióban a grub-install (ill. setup parancs) rakja fel, és akkor kell futtatni, ha új grub verzióra frissítettél.

A /boot működhet lvm-en belül is, de igazából semmi értelme nincs. Potenciális szopási lehetőség, ezzel szemben nem vesztesz semmit, ha kirakod az lvm mellé.

Szerintem nem fog az felülírni semmit, ha megfelelő metadata verziót használsz.
A RAID metadata úgy tudom, hogy a device végén is lehet (ez metadata verzótól függ).
Az EFI-nek fogalma sem lesz róla, hogy ott tulajdonképpen RAID van.
Úgy tudom, hogy ezért tud az 1-es grub is md RAID-ről bootolni, mivel fogalma sincs a RAID-ről pont emiatt.
https://raid.wiki.kernel.org/articles/r/a/i/RAID_superblock_formats_fd0…
1.0 At the end of the device
0.90 64K aligned block that starts at least 64K and less than 128K from the end of the device

Szóval megfelelő metadata verzióval menni fog az, amit akarsz, szerintem.

Fixme, ha hülyeségeket írok.

Kell bios_grub azaz gpt, 1M de akár 100M is lehet minden diszkre. Külön raid a boot-nak és külön raid az LVM alá.

A grub-ot előfordulhat, hogy minden diszkre külön kell feltelepíteni.

Virtualbox alatt játsz el vele.

c