Sziasztok!
Probléma a következő: Adott 1 gép 2 db teljesen egyforma 1TB-os vinyóval, /dev/sda és /dev/sdb. A cél az, hogy ezek egy darab RAID 1-es tükrözött virtuális diszkbe álljanak össze, és arra telepítsem a rendszert.
(Átugorható Előtörténet: Nemrég csináltam meg Windows Server 2003-ban a cégnél, marha egyszerű volt, feltelepítem a Windowst az egyik diszkre, a másikat partícionálatlanul hagyom. Eztán a feltelepített Windowst elindítom, lemezkezelőben megmondom neki, hogy konvertálja mindkét diszket statikusról dinamikusra, majd a C:-ot tükrözöm a még partícionálatlan második diszkre. A szinkronizáció végén újraindítás, és máris megjelenik egy LILO-szerű boot menü, amiben ott van, hogy "Boot secondary plex". Készen vagyunk, viszonlátásra. Mindezt a "szar" Windóz tudta már 2003-ban...Aztán otthon lehalt a linuxos házi szerveremen a vinyóm, furán klattyog, valszeg leakadt a fej, mindenesetre kellett vennem újat. Mondom veszek mindjárt két vinyót, és otthon is beállítom a linuxon a software RAID 1-et. Nem gondoltam volna, hogy 8 évvel a Windows fent említett kiadása után az "almighty" linuxban ez ekkora szívás. Nade nem flamelek, hanem segítséget próbáloik kérni...)
Szóval, a következő lépéseket végeztem el:
1. Natty telepítőCD betesz, "Try Ubuntu" elindít.
2. Terminál: sudo su -; apt-get update; apt-get install mdadm;
3. System -> Administration -> Disc Utility megnyit.
4. File -> Create -> RAID Array...
5. RAID Level 1 kiválaszt, Disks-nél a két vinyó kipipál. "Array Name" mezőnek nem kéne, hogy jelentősége legyen, az van odaírva, hogy "New RAID Array", ezt kitörlöm, és beírom a helyére, hogy "0".
6. Nekiáll... Kiírja, hogy Resyncing, és kúszik a kolbász... :) Addig tévét néz, vagy kajál...
7. Sync megvolt. A két vinyóra visszamenve a Disk Utilityben látszik, hogy a partíció típusa "0xfd", Linux RAID Autodetect. Edit Partition-nál beállítom mindkettőn a "bootable" flaget.
8. Kiválasztom az elkészült RAID Array-t, amihez a /dev/md0
tartozik. Most ahhoz, hogy több partíciót létre tudjak hozni, megnyomom a "Format/Erase RAID Array"-t. Itt "Scheme:" címszóval többféle választási lehetőségem van, amiről beszélni érdemes, az a "Master Boot Record" meg a "GUID Partition Table". Utóbbit választom.
9. Ezután lehet particionálni. Következő partíciókat hozom létre: /dev/md0p1
: 10 GB, ext4, ez lesz a /
; /dev/md0p2
: 5 GB, ext4, ez lesz a /var
; /dev/md0p3
, 4 GB, swap ; és a maradék /dev/md0p4
, ext4-gyel, ami a /home
lesz.
10. Elindítom az Ubuntu telepítőt. Kézi partícionálást választok, és kijelölöm a partíciókat az előző pont szerint, majd beállítom, hogy a bootloadert tegye a /dev/md0
-ra.
11. Megy a telepítés. Amikor a bootloadert (grub2) installálná...na akkor kezdődik az igazi szívás! Ugyanis b*ik föltelepíteni a Grub-ot, és fatányéros hibával kiakad. Sebaj, mondom neki, akkor ne rakjon fel bootloadert, majd én, kézzel.
12. Terminál: mount /dev/md0p1 /mnt/; mount -t dev --bind /dev /mnt/dev; mount -t proc --bind /proc /mnt/proc/ ; mount -t sys --bind /sys/ /mnt/sys/;
13. Letöltöm az mdadm .deb csomagot, és felmásolom az /mnt
-be, majd chroot /mnt; mount /var;
-> benne vagyok a feltelepített Ubuntumban, csak Grub-om nincs.
14. Feltelepítem az mdadm-et a feltelepített Ubuntumra, amibe az imént chroot-oltam. dpkg -i mdadm_verziószám.i386.deb;
Ez legenerálja az /etc/mdadm/mdadm.conf
-ot, elindítja az "MD monitoring service" démont, update-initramfs
rendben lefut, csak olyan baja van, hogy Generating array device nodes.../var/lib/dpkg/info/mdadm.postinst: 170: /dev/MAKEDEV: not found: failed.
De mindenesetre a /dev/md0
és a /dev/md0p1; /dev/md0p2; /dev/md0p3; /dev/md0p4;
megvannak.
15. Csekkolom: cat /proc/mdstat;
, az eredmény tetszetős: Personalities : [raid1]; md0 : active raid1 sda1[1] sdb1[0]; nnnn blocks super 1.2 [2/2] [UU];
. Látszólag minden szuper....
16. Hát akkor grub-install --modules=mdraid /dev/md0;
. Ennek kéne működnie. Ehelyett az eredmény:
# grub-install --modules=mdraid /dev/md0
/usr/sbin/grub-probe: error: unknown filesystem.
/usr/sbin/grub-setup: error: can't open /dev/md/0: no such file or directory.
17. Ebből az a durva, hogy a /dev/md/0
az valszeg az az eszköz, amit 14. pontban nem csinált meg, és azért /dev/md/0
, mert a "0" nevet adtam meg az 5-ös pontban. Ha hagytam volna "New RAID Array"-en, akkor most /dev/md/"New RAID Array"
-jel próbálkozna...Ide az infót egyébként valszeg az /etc/mdadm/mdadm.conf
-ból szedi. ott van egy olyan sor, hogy
# definitions of existing MD arrays
ARRAY /dev/md/0 level=raid1 metadata=1.2 num-devices=2 UUID=akármi name=:0
Na itt vagyok most elakadva...