Tento text je velmi zastaralý a již nemusí poskytovat funkční řešení daného problému. Pro bližší info mne neváhejte kontaktovat.
(Tento zastaralý text je ponechán na webu z nostalgie.)
Zprovoznění raid pole 0 a 1 a bootování z něj. Zde popisuji rozdělení disku i s kořenovým adresářem, tudíž je nejlepší všechny operace provádět např. z nějakého liveCD a pomocí chrootu. Já jsem postupoval nějak takto a navíc jsem přenášel kompletní systém gentoo (taky aby ne, vždyť si ho přeci nesmáznu, když se s ním kompiluju 22 hodin :-) )(Tento zastaralý text je ponechán na webu z nostalgie.)
Mimo jiné budeme potřebovat balíček raidtools.Nejdříve si rozdělíme disk např. pomocí programu fdisk (samozřejmě myslím linuxovou verzi :-) ).Budeme předpokládat, že máme dva disky
/dev/hda
/dev/hdc
Proč zrovna hda a hdc? Protože lepšího výkonu dosáhneme, když budeme mít každý disk na svém vlastním datovém kabelu.
Pokud tedy nemáte nastavenou češtinu a fdisk je vám cizí, tak tady drobný výpis :
#fdisk /dev/hda #Počet cylindrů tohoto disku je nastaven na 24321. Na tom není nic špatného, ale jelikož je to více než 1024, může za určitých okolností dojít k problémům s: 1) s programy souštěnými při startu (např. staré verze LILA) 2) s programy pro správu diskových oddílů z jiných OS (např. DOS FDISK, OS/2 FDISK) /*pěkná hláška, kterou ignoruji*/ Příkaz (m pro nápovědu):m Příkazy a přepne příznak "startovací" b úprava bsd popisu disku c přepne příznak "DOS kompatibilní" d smaže diskový oddíl l vypíše známé typy diskových oddílů m vypíše tuto nabídku n vytvoří nový diskový oddíl o vytvoří prázdný DOSOVÝ diskový oddíl p vypíše tabulku rozdělení disku q ukončí program bez uložení změn s vytvoří prázdný Sun popis disku t změní id diskového oddílu u změní jednotky v nichž jsou vypisovány informace v ověří tabulku rozdělení disku w uloží tabulku rozdělení disku a ukončí program x rozšiřující funkce (pouze pro odborníky)Dle svého uvážení rozdělte disk, osobně bych doporučoval na desktop jako minimum:
swap
/ (root)
/tmp
Adresář /home bych dle vlastních zkušeností také oddělil. Pro server bych doporučoval zvlášť aspoň tyto :
swap / (root) /home /usr /var /tmpTak, pokud máte fdisdkem rozděleno, tak ještě nezapomeňte nastavit ID diskovýcho oddílů na fd/*Linux raid autodetect*/, aby kernel při načítání rozpoznal raid pole. Samozřejme, že oddílu swap necháme jeho ID 82 (Linux swap). Disky nebudeme ještě formátovat.
Řekněme, že máme disky rozděleny nějak takto :
/dev/hda1 / (root) /dev/hda2 /tmp /dev/hda3 swap /dev/hdc1 / (root) /dev/hdc2 /tmp /dev/hdc3 swapZhlediska bezpečnosti a stability používám na systém raid pole 1, na /tmp pak raid pole 0, když se podíváte do sekce Info, tak uvidíte rozdělení mojich dvou disků a zjistíte, že mi na /tmp nezáleží, ale systém mirroruji, nakonec odkládací prostor /mnt/zakladna mám též ve stripingu (chci rychle pracovat, během chvilky si poradit s velkým počtem souborů atd.)
#nano -w /etc/raidtab
/*tyto řádky dopíšeme*/
raiddev /dev/md0 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 chunk-size 4 persistent-superblock 1 device /dev/hda1 raid-disk 0 device /dev/hdc1 raid-disk 1 raiddev /dev/md1 raid-level 0 persistent-superblock 1 chunk-size 4 nr-raid-disks 2 nr-spare-disks 0 device /dev/hda2 raid-disk 0 device /dev/hdc2 raid-disk 1Pokud nemáme v adresáři /dev zařízení md0, md1, md2, atd., tak je budeme muset vytvořit a to následovně :
#mknod /dev/md0 b 9 0 #mknod /dev/md1 b 9 1 #mknod /dev/md2 b 9 2 #mknod /dev/md3 b 9 3 #mknod /dev/md4 b 9 4 atd.Teď sestavíme samotné raid pole :
#mkraid /dev/md0
#mkraid /dev/md1
Konečně to formátování (já formátuji na reiserfs) :
#mkreiserfs /dev/md0
#mkreiserfs /dev/md1
Je-li libo jiné filesystémy, tak např. : #mke2fs /*pro ext2 fs*/ #mke2fs -j /*pro ext3 fs*/ #mkfs.xfs /*pro xfs*/ #mkfs.jfs /*pro jfs*/Nemusím snad říkat, že musíte mít k určitému file systému utility pro jeho nastavování i formátování, pro reiserfs potřebujete balíček reiserfsprogs, pro reiserfs4 reiser4progs, pro ext2 (ext3) e2fsprogs, pro xfs xfsprogs atd.
Swap
Určitě si říkáte, co s těma oddílama swap, ty nebudeme zapojovat do raid pole, je to zbytečné, stejného výkonu dosáhneme takto :#nano -w /etc/fstab /*tyto řádky dopíšeme (upravíme) /dev/hda3 none swap sw,pri=1 0 0 /dev/hdc3 none swap sw,pri=1 0 0
Volby kernelu :
Upozorním, že vše kompilujeme do kernelu a né jako modul!kernel 2.4.x :
Multi-device support (RAID and LVM) --> Multiple devices driver support (RAID and LVM) RAID support RAID-0 (striping) mode RAID-1 (mirroring) modekernel 2.6.x :
Device Drivers --> Multi-device support (RAID and LVM) --> Multiple devices driver support (RAID and LVM) RAID support RAID-0 (striping) mode RAID-1 (mirroring) mode
Nastavení lila :
#nano -w /etc/lilo.conf /*Takto nastavené lilo by mělo zvládat bootování z jakéhokoliv disku, tzn, že pokud se vám jeden disk rozbije, tak systém stejně naběhne lba32 boot = /dev/md0 timeout = 120 raid-extra-boot = "/dev/hda,/dev/hdc" change-rules reset vga = 0x31A /*konzole nastavená na 1280x1024 !!!*/ map = /boot/.map install = /boot/boot-menu.b prompt delay = 50 image = /boot/linux-2.6.8-r10 root = /dev/md0 label = Gentoo read-onlyTeď by mělo stačit spuštění příkazu :
#lilo -b /dev/md0 /*lilo se nainstaluje na celý raid