RAID – základní informace RAID = Redundant Array of Independent Disks (vícenásobné diskové pole nezávislých disků). Využívá se: RAID0 : prosté zřetězení – jakmile se zaplní první disk, data se automaticky zapisují na druhý, pak na třetí, atd. /dev/hdaY RAID1: prosté zrcadlení RAID5: více disků, každý obsahuje redundantní data + informaci o jejich paritě (vznikl vývojem z RAID2, RAID3 a RAID4) Často se využívá zejména kombinace RAID0 a RAID1. My využíváme RAID1 (užitečné – viz jarní shoření jednoho z disků na ipnp). /dev/mdX
/dev/hdcY 9.1.2009
Martin Spousta - Linuxový seminář
1
Postup tvorby RAID1 na Debianu Etch4.0 (I.) (odzoušeno jak s IDE, tak SATA300 disky): - fyzická instalace čistých disků na primary pozice - oinstalování prvního disku (hda) Debianem - cd /etc backup souborů: fstab, mtab, modules, initramfstools/modules cd /boot backup souborů: initrd.img-*, grub/menu.lst - apt-get udate, apt-get install initramfs-tools mdadm (při instalaci zaškrtout ‘all’) - přidat moduly do obrazu ramdisku, tj. pico /etc/modules a přidat md raid1 - totéž do /etc/initramfs-tools/modules (v případě, že /etc/modules obsahují ještě další moduly týkající se hard disků (ide-scsi, …) tak je nutné je do /etc/initramfs-tools/modules rovněž nakopírovat - update-initramfs –u – vygenerování nového initrd.img a reboot 9.1.2009
Martin Spousta - Linuxový seminář
2
Postup tvorby RAID1 na Debianu Etch4.0 (II.) - cat /proc/mdstat by mělo ukázat raid – „unused devices: <none>“ - nakopírování tabulky parition z prvního disku (hda) na druhý (hdc): sfdisk –d /dev/hda | sfdisk /dev/hdc - změna typu všech partitions na prázdném disku (cfidsk /dev/hdc) na „Linux raid autodetect“ (tj. FD), pozor na bootable flag ten musí být pro /boot (či /) zachován, reboot - přidání všech partitions z prázdného hdc do raidového pole mdadm –create /dev/mdX --level=1 --raid-disks=2 missing /dev/hdcX #na jedné řádce kde X=0,1,2,... - tím jsme vytvořili degradované raidové pole, jak je vidět v /proc/mdstat u každého z partions je [2/1] [_U] - tvorba filesystému na disku hdc, který už je v raidu mkfs.ext3 /dev/mdX mkswap /dev/mdX #pro swap
9.1.2009
Martin Spousta - Linuxový seminář
3
Postup tvorby RAID1 na Debianu Etch4.0 (III.) - update konfiguračního souboru mdadm a následně nové initrd.img mdadm --examine --scan >> /etc/mdadm/mdadm.conf update-initramfs –u - tvorba mount pointů pro raidové disky (vyžijeme k naslédné kopii dat z hda na hdc) mkdir /mnt/mdX a přidání zařízení raidových disků do fstab s odkazem na mount pointy (za již existující dev/hda), tj. ve fstab např.: /dev/md0 /mnt/md0 ext3 default 0 0 - reboot, mount - nahrazení hdaX mdX ve fstab a v mtab (podle předtím vytvořené korespondence), update-initramfs –u - editace grubu aby bootoval z raidu, tj. (hd0,0) -> (hd1,0) a /dev/hdaY -> /dev/mdX (předchozí menu si samozřejmě zkopírujeme, kdyby něco selhalo a museli jsme nabootovat zpět z hd0), je vhodné přidat rovněž fallback 1 (hned za default 0) to zařídí bootování z hd1, kdyby bootování z hd0 selhalo
9.1.2009
Martin Spousta - Linuxový seminář
4
Postup tvorby RAID1 na Debianu Etch4.0 (IV.) - kopírování všech dat z hda na hdc cp –dpRx / /mnt/md2 # podobně pro /boot či /home ... - instalace grubu na hd1 grub root(hd0,0) setup(hd0) root(hd1,0) setup(hd1) quit reboot - změna typu partitions na hda na FD (jako předtím pomocí cfdisk /dev/hda) - přidání partitions na hda do raidu mdadm --add /dev/mdX /dev/hdaY (tj. synchronizace degradovaného raidového pole, do kterého jsme nabootovali, podle hdc, kam jsme předtím nakopírovali data; trvá relativně dlouho, je třeba, aby nevypadl proud!) 9.1.2009
Martin Spousta - Linuxový seminář
5
Postup tvorby RAID1 na Debianu Etch4.0 (IV.) - update konfiguračního souboru mdadm a následně nové initrd.img grep –vE ‘ARRAY’ /etc/mdadm/mdadm.conf > /etc/mdadm/mdadm.conf.n mv /etc/mdadm/mdadm.conf.n /etc/mdadm/mdadm.conf
mdadm --examine --scan >> /etc/mdadm/mdadm.conf update-initramfs –u - změna v menu.lst vsechny polozky z hda je nutne vyhodit a nahradit mdX, a přidat jedno menu, ktere bude bootovat mdX z hd0, takže když hd1 odejde, tak bude bootovaní pokracovat z hd0
- Jak to funguje: V první fázi bootování je nahráno do paměti zařízení /dev/initrd (initrd = boot loader initialized RAM disk) potom je nahráno jádro, které namountuje iniciální kořenový systém podle obsahu /dev/initrd, zde vstupuje do hry modul raidu. V druhé fázi jsou nahrány další moduly podle obsahu /dev/initrd a je zaveden standardní kořenový adresář.
9.1.2009
Martin Spousta - Linuxový seminář
6