Domů > Linuxové zápisky pro správce > Přechod na RAID1 na zaběhnutém systému

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í

http://www.howtoforge.com/software-raid1-grub-boot-debian-etch
http://www.debian-administration.org/articles/238
https://raid.wiki.kernel.org/articles/g/r/o/Growing.html


  1. Martin Novotný
    24.02.2012 na 07:07 | #1

    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.

  2. David
    24.02.2012 na 07:22 | #2

    @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.

  1. Žádné zpětné odkazy