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