Linux SW RAID: Porovnání verzí

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
Řádek 38: Řádek 38:


Pro testování kompletního výpadku disku můžete využít [http://wiki.debian.org/Persistent_disk_names#Testingthediskfailures tento skript].
Pro testování kompletního výpadku disku můžete využít [http://wiki.debian.org/Persistent_disk_names#Testingthediskfailures tento skript].
==Přidání disku do pole==
Pokud chceme přidat do pole disk (např. poté, co jsme jej odstranili při výpadku pomocí mdadm -f), použijeme např. tyto příkazy:
mdadm -a /dev/md0 /dev/sda1
mdadm -a /dev/md1 /dev/sda2
mdadm -a /dev/md2 /dev/sda3
Nebo tento skript, který to udělá z nás:
#!/bin/bash
# Tento skript uložte v /usr/local/sbin/add-all-raid-parts
for i in $( ls $1* ); do
        #split the output of mdadm scan ("ARRAY /dev/md? level=raid1 num-devices=2 UUID=...")
        #so MD_DEVICE will contain /dev/md?
        read -d ] ARR MD_DEVICE REST< <(IFS=' '; echo `mdadm --examine --scan $i`)
        if [ "" != "$MD_DEVICE" ]; then
                echo "Adding $i into RAID device=$MD_DEVICE"
                mdadm -a $MD_DEVICE $i
        fi
done
Skript pak můžete zavolat např. takto:
add-all-raid-parts /dev/sda

Verze z 18. 3. 2010, 12:48

V Linuxu můžeme použít 3 typy RAIDů:

  • Linux SW RAID, který je realizován kompletně Linux-em
  • [FakeRAID https://help.ubuntu.com/community/FakeRaidHowto] neboli SW RAID v BIOSu počítače, který je realizován BIOSem, ale nad kterým v Linux-u máme kontrolu jen v případě, že máme funkční Linux driver k chipsetu, který tento SW RAID realizuje
  • plně HW RAID - v základních sestavách běžných počítačů a serverů jej nehledejte, za řadič plně HW RAID si musíte připlatit. Z vlastní neblahé zkušenosti HW RAID vřele nedoporučuji.

Výhody a nevýhody BIOS a Linux SW RAIDu

Jeden aspekt, který nemůžu srovnat, je hotswap disků. V Linux SW RAID je sice možné hotswap částečně naprogramovat, ale je to hodně práce (viz níže). Jak se hotswap disků dělá v BIOS (Fake) RAIDu, netuším, nikdy jsem to nezkoušel.

Linux SW RAID

  • Výhody:
    • do Linux SW RAIDu lze zapojit různě velké disky - nezapojují se totiž celé disky, ale jejich partitions. Pokud po letech provozu selže jeden ze starých disků a do RAIDu vložíme nový disk s násobnou velikostí, není jeho zbylá volná kapacita promarněna - můžeme ji využít na ukládání nekritických dat, popř. můžeme zbylou kapacitu do RAIDu zapojit později, až vyměníme i ten zbývající starý malý disk
    • Linux SW RAID je nezávislý na HW počítače. Pokud shoří základní deska a disky přežijí, můžete disky vložit do jakéhokoli jiného počítače a server máte okamžitě znovu online, v plné parádě včetně funkčního RAIDu, bez potřeby jakéhokoli nastavování v Linuxu.
    • Linux SW RAID je plně funkční, odladěný a stabilní systém, určený pro nasazení v ostrém provozu. Což se mnohdy od Linux driverech BIOS SW RAIDu nedá říci.


  • Nevýhody:
    • je potřeba se naučit syntaxi příkazů mdadm :-)
    • ve srovnání s plně HW RAIDem asi menší rychlost a větší zátěž CPU

BIOS SW RAID

  • Výhody:
    • Je možný dual-boot Windows-Linux, oba OS vidí RAID jako jeden disk (u Linux serverů vás ale tato výhoda asi nezaujme..)
    • Jednoduché ovládání - nemusíte se učit syntaxi příkazů mdadm :-)
    • disky v SW BIOS RAIDu se v Linux-u tváří jako jeden disk, takže můžete nabootovat např. z nějakého live CD, které nemusí podporovat Linux SW RAID, a přesto uvidíte ten samý disk, který je stále plně funkční RAID, zatímco u disků Linux SW RAIDu byste viděli jeho jednotlivé komponenty. Novější Live CD si ale Linux SW RAID dokážou nadetekovat a normálně poskládat.


  • Nevýhody:
    • Pokud umře základní deska, musíte najít nějakou se stejným BIOSem/chipsetem, jinak svoje diskové pole nesložíte. U RAID1 (mirroring) budete schopni provozovat aspoň jeden disk, ale pokud budete chtít poskládat z disků svého bývalého RAIDu opět funkční pole, s jiným BIOSem/chipsetem budete mít asi smůlu. V takovém případě budete muset vytvořit nové prázdné pole a na ně nahrát data ze zálohy.
    • Linux nemusí mít ovladač pro daný BIOS SW RAID, nebo ovladač nemusí být stabilní - viz např. FakeRAID pro chipset ICH9. Což je u nového HW vcelku běžný problém. Pokud nemáte funkční ovladač, nedokážete pole z Linuxu ovládat, tj. nedokážete za provozu přidávat další disky, neuvidíte vzniklé chyby, neuvidíte postup synchronizace u nového disku atd.
    • Většina BIOS SW RAIDů neumožňuje nastavovat parametry typu "Minimální/maximální rychlost synchronizace", což může ovlivnit výkon vašeho serveru v době, kdy by se synchornizace prováděla

Ovládání Linux SW RAID

Výpadek disku

Pokud disk ještě máte v zařízeních /dev (tj. pokud ještě nějakým způsobem žije, UDEV systém nebo reboot jej neodstranil), označte jej jako vadný, například takto:

mdadm -f /dev/md0 /dev/sda1
mdadm -f /dev/md1 /dev/sda2
mdadm -f /dev/md2 /dev/sda3

Pro testování kompletního výpadku disku můžete využít tento skript.

Přidání disku do pole

Pokud chceme přidat do pole disk (např. poté, co jsme jej odstranili při výpadku pomocí mdadm -f), použijeme např. tyto příkazy:

mdadm -a /dev/md0 /dev/sda1
mdadm -a /dev/md1 /dev/sda2
mdadm -a /dev/md2 /dev/sda3

Nebo tento skript, který to udělá z nás:

#!/bin/bash
# Tento skript uložte v /usr/local/sbin/add-all-raid-parts
for i in $( ls $1* ); do
       #split the output of mdadm scan ("ARRAY /dev/md? level=raid1 num-devices=2 UUID=...")
       #so MD_DEVICE will contain /dev/md?
       read -d ] ARR MD_DEVICE REST< <(IFS=' '; echo `mdadm --examine --scan $i`)
       if [ "" != "$MD_DEVICE" ]; then
               echo "Adding $i into RAID device=$MD_DEVICE"
               mdadm -a $MD_DEVICE $i
       fi
done

Skript pak můžete zavolat např. takto:

add-all-raid-parts /dev/sda