Přechod na RAID1 na zaběhnutém systému
Návod je věnovaný distribuci Debian. Jedná se o server s jedním diskem, který je potřeba zmigrovat na RAID1 (zrcadlo). Dále jsou zde také informace o tom, jak vyměnit disk atd.
Přechod na RAID1 na zaběhnutém systému
Jedná se o zrcadlení systémového disku na stroji, kde byl původně jen jeden disk. RAID1 se samozřejmě nepovažuje za zálohu dat. Jedná se pouze o prostředek, jak zamezit problémům při hardwarové poruše pevného disku. Myslím ale, že funkce zrcadlení je každému jasná, proto není důvod jej nějak obšírně rozebírat. Na obrázku je vidět, že oba disky jsou v datovém poměru1:1, proto se doporučuje, aby oba měly stejnou velikost.
Instalace sw
Instalace „mdadm“
apt-get install mdadm
Příprava disku
Oddíly, které chci zrcadlit, nastavím jako type „fd“ (raid autodecet)
cfdisk /dev/sda
Kontrola výpisu jak je disk nastaven (kde už mám raid autodetect)
sfdisk -l /dev/sda
Kopie rozložení oddílu na druhý (nový) disk
sfdisk -d /dev/sda | sfdisk /dev/sdb
Tvorba degradovaného raidu
Vytvoření degradovaného raidu s sdb (nehrozí smazáni dat – původni disk „missing“)
mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/sdb1 # (podle sda1, kde je "fd") mdadm --create /dev/md1 --level 1 --raid-devices=2 missing /dev/sdb2 # (podle sda1, kde je "fd") mdadm --create /dev/md2 --level 1 --raid-devices=2 missing /dev/sdb3 # (podle sda1, kde je "fd") # atd.
Vytvořeni ext4 filesystému na nových „md“ raid zařízeních
mkfs.ext4 /dev/md0 mkfs.ext4 /dev/md1 mkfs.ext4 /dev/md2 # atd.
Vytvoření swapu (v mém případě je na novém disku „sdb5“)
mkswap -v1 /dev/sdb5 # nejsem si jist, jestli jsem to nedelal na "md"
Příkazem se podívám, kam mountovat (kde mám nyní “/var“, “/tmp“ atd.)
df -h
Mount md zařízení
Naumountovat „md“ zařizení, např. do “/mnt“ pro kopírování dat z původního disku
mount /dev/md0 /mnt cp -dpRx / /mnt mount /dev/md1 /mnt/var # "/var" mam puvodne na "sda2", ktery je nyni "md1" cp -dpRx /var /mnt mount /dev/md2 /mnt/usr # "/usr" mam puvodne na "sda3", ktery je nyni "md2" cp -dpRx /usr /mnt/ mount /dev/md3 /mnt/home # "/home" mam puvodne na "sda4", ktery je nyni "md3" cp -dpRx /home /mnt mount /dev/md4 /mnt/tmp # "/tmp" mam puvodne na "sda5", ktery je nyni "md4" cp -dpRx /tmp /mnt
Edituji připojený „mnt/etc/fstab“ (“/mnt“ !!!)
Všechny oddíly změním na „mdX“ podle nastavení výše (/var, /tmp at.) U “/tmp“ můžu nastavit místo „default“ „rw“ (jinak se může stát, že bude „read-only“
Po restartu se mi připojí už disk jako „md“
Nastavení GRUB v.1
Edituji připojený “/mnt/boot/grub/menu.lst“ (“/mnt“ !!!)
title Debian GNU/Linux, kernel 2.6.18-6-486 RAID (hd0) root (hd0,0) kernel /boot/vmlinuz-2.6.18-6-486 root=/dev/md0 ro initrd /boot/initrd.img-2.6.18-6-486 title Debian GNU/Linux, kernel 2.6.18-6-486 RAID (hd1) root (hd1,0) kernel /boot/vmlinuz-2.6.18-6-486 root=/dev/md0 ro initrd /boot/initrd.img-2.6.18-6-486
V tom samém souboru změním “/mnt/boot/grub/menu.lst“ (kde na „md0“ mam “/boot“)
Nemazat komentář před „kopt“!!!
[...] # kopt=root=/dev/md0 ro [...]
Nainstaluji Grub na druhý disk (instaluji pro jistotu na oba)
grub grub> root (hd0,0) # prvni disk v poradi (ne na kabelu) grub> setup (hd0) grub> root (hd1,0) # druhy disk v poradi (ne na kabelu) grub> setup (hd1) quit
Zkopíruji nastavení Grubu na původni disk
cp -dp /mnt/etc/fstab /etc/fstab cp -dp /mnt/boot/grub/menu.lst /boot/grub
Restart systému (měl by najet v degradovaném raid režimu pouze s novým diskem)
shutdown -r now
Otevřu výpis disků (měl bych už vidět „md“ oddíly misto „sda“)
df
Synchronizace pole
Přidám původní disk do raidu
mdadm --add /dev/md0 /dev/sda1 mdadm --add /dev/md1 /dev/sda2 mdadm --add /dev/md2 /dev/sda3 # atd.
Pruběh můžu sledovat
cat /proc/mdstat
Nebo aktualizovaně
watch cat /proc/mdstat
Nakonec informuji “/etc/mdadn/mdadm.conf“ o nove situaci
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_bckp mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Kontrola raidu
cat /proc/mdstat watch cat /proc/mdstat mdadm -D /dev/md0
Výměna disku v RAIDu
Ukážeme si tři situace.
Výměna disku za disk o stejné velikosti
Označení disku jako fail
mdadm -f /dev/md0 /dev/sda1 mdadm -f /dev/md1 /dev/sda2
Vyřazení disku z raidu
mdadm /dev/md0 -r /dev/sda1 mdadm /dev/md1 -r /dev/sda2
Kopie oddílů (při výměně za stejně velký disk)
sfdisk -d /dev/sda | sfdisk /dev/sdb
Přidání do raidu
mdadm /dev/md0 –add /dev/sdb1 mdadm /dev/md1 –add /dev/sdb2
Sledovaní synchronizace
watch cat /proc/mdstat
Výměna disku v RAIDu za větší
Oddíly nezkopírujeme, pouze vytvoříme nové. Pokud požadujeme pouze zvětšení kapacity disku, vytvoříme jejich stejný počet, jako na disku původním.
cfdisk /dev/sda
Všechny ostatní kroky jsou totožné jako v prvním případě.
Zvětšení RAIDu
Pokud jsme z nějakého důvodu na větší disk zkopírovali velikosti oddílů z menšího disku, následně synchronizovali raid, a potom vyměnili stejným způsobem i druhý disk, není v tuto chvíli možné využít celou kapacitu větších disků.
Zde je návod, jak raid zvětšit na celou kapacitu disku.
V tuto chvíli nesmí probíhat synchronizace a RAID musí být synchronizovaný!
Provedeme tedy jeho zvětšení (např. jen md1)
mdadm --grow /dev/md1 --bitmap none mdadm --grow /dev/md1 --size max mdadm --wait /dev/md1 mdadm --grow /dev/md1 --bitmap internal
Tímto jsme zvětšili raid na celý prostor disku. Nikoliv ale fs.
Zvětšení filesystému (fs)
Abychom využili celou oblast raidu (md), musíme zvětšit i fs
například ext4
resize2fs /dev/md0
Zvětšení physical volume (PV) v LVM
Pokud máme na disku LVM, musíme roztáhnout na md zařízení PV
pvresize /dev/md1
V tomto PV nám potom vznikne volné místo na další LV, či roztažení původních LV
Zdroje informací
Zdravím. Vrhnul jsem se na přechod na RAID podle tohoto návodu. Všechno se zdá být bez problému, jen jsem narazil na problém s Grubem. Mám totiž verzi 2 a nějak nevím, jak ho nastavit. Za případnou radu předem děkuji, stejně tak i za článek.
@Martin Novotný Dobrý den. Určite bych doporučil, podívat se na pěkný návod, který hezky popisuje práci s GRUB2. Až bude čas, svůj článek upravím a vyberu relevantní části ohledně GRUB2.