sw RAID a spolehlivost

Michal Dobes dobes na tes.eu
Pondělí Srpen 4 23:52:49 CEST 2008


Dalibor Straka napsal(a):
> To je otazka do pranice: Jestli poruchu simuluje verneji vytazeni disku
> za behu nebo oznaceni za failed a nasledne vytazeni. Podle me system
> pri poruse disku tj. selze nejaky read/write ci jiny error, oznacni disk
> za failed a vyhodi ho z pole.

SW RAID vrstva disk vyhodí v případě, kdy operace čtení/zápis na
příslušné blokové zařízení vrátí chybu. Pokud ji nevrátí nebo se operace
čtení zápisu nevrátí, tak se SW RAID tváří OK.
Bohužel jsou některé drivery tak stupidní, že pokud disk přestane zcela
odpovídat, tak místo chyby po nějakém timeoutu se snaží komunikaci
opakovat donekonečna a v logu jen vidíte něco na téma i/o timeout,
resetting disk, ... Zvláště v oblibě tento blbej případ mají SATA
drivery, tam jsem si s tím naběhl nejčastěji. SW RAID na takovémto
driveru po pokusu o zápis vytuhne dokud podložené blokové zařízení se
nějak nevyjádří a tím navenek to vytuhne jako celek a zdar.
Pokud si to chcete vyzkoušet, tak ideální je na testování třeba
použití iSCSI a jen v driveru iSCSI nastavte nekonečné opakování pokud
iSCSI disk nebude odpovídat.
Označení failed pomocí mdadm v podstatě udělá to, že si interně SW RAID
vrstva nasimuluje návratový kód chyby na I/O operaci na podřízené
blokové zařízení.
Další nepříjemný bod může nastat, v kombinaci, kdy máte hot swap
disky, ale řadič s hot swap nepočítá. Klidně může nastat pak případ,
že při vytržení disku dojde k zablokování celé diskové šachty
a bez resetu nebude takový stupidní řadič schopen dál komunikovat
se zbylými disky (také oblíbené u SATA bayů, kde je multiplexovaný
propoj z baye k řadiči).

M.




Další informace o konferenci Linux