[linux] RAID 1 (skusenosti)

Jarry guru jarry na gmx.net
Pondělí Září 25 07:35:33 CEST 2000


Martin Marusinec wrote:

> ...Co by ma skutocne zaujimalo, ako sa bude system spravat ked
> ten kablik vazne z toho disku vytiahnes...

Caute!

Tak, tento vikend som trosku otestoval stabilitu, ale este prv,
nez uvediem vysledok, tu su povinne blaboly (aby bolo jasno!):

VYSLEDKY A POSTUP, KTORY TU POPISEM, SU PRAVDIVE, ALE NIKOMU TO
NEODPORUCAM ZOPAKOVAT PO MNE! V ZIADNOM PRIPADE NEBUDEM ZODPOVEDNY
ZA PRIPADNE SKODY, VZNIKNUTE V SUVISLOSTI S INFORMACIAMI, UVEDENYMI
V TOMTO TEXTE. Bla-bla-bla, a tak dalej, ved to poznate...

No podme k veci. Pre ucely tohto testovania som zostavu "odlahcil"
o 64MB pamate, cize nechal som len skromnych 32MB (to aby sa system
lahsie "zahryzol" do swapu). Inak je vsetko ako minule, cize 2 x 10GB
disky, podelene na md0-7 (vratane swapu).

A ide sa na to! Nabootoval som, skocil do X11/KDE, pustil nechskapaka
(dobry zrut pamate!), v jednom xterm-e "tail -f /var/log/messages",
v dalsom mc (kopirovanie adresara, cca 300MB) a este KLyX.
Asi v polovici som skontroloval obsadenie pamate, "free" mi ukazal,
ze sa vyuziva uz 34MB swapu. Tak, a teraz nastala ta prava chvila!
Opatrne som vytiahol napatovy kabel z hda a...

Do xtermu s "tail -f /var/log/messages" sa mi vysypalo plno hlaseni:
 hda I/O error, drive nor ready for commands
 md: updating md1 RAID superblock,
 md: recovery thread got woken up...
 md1-7: no spare disk to reconstruct array! Cont. in degraded mode
 md: recovery thread finished ...
...atd, atd, asi tak za 5 obrazoviek.

System na chvilu vyzeral, ze sa asi zblazni. Zatial co pokracovala
intenzivna diskova aktivita, asi na 10 sekund bol uplne mimo, vobec
nereagoval na ziaden input (mys, klavesnica, Alt-F2, Ctrl-Alt-Bckspc),
a uz som mal ten pocit, ze ide do kolien. Po tych 10 sekundach sa
vsak normalne prebral, a opat som pokracoval. Nechskapak bezal,
kopirovanie sa potom normalne dokoncilo (skontroloval som velkost,
sedela!), KLyX stale bezal, X-sy reagovali ako mali, "free" mi
po nejakom case ukazalo ze sa vyuziva 31MB swapu. Uaaaaaaaau!

Este k tomu swapu: Zda sa, ze aj ten to prezil. Pred tymto testom
som si pozrel "top", a videl som, ze aj z X uz bolo nieco odswapovane,
aj z nechskapaka, aj z KLyX-u, tiez zo sendmailu, a mnoho inych
procesov. Niet divu, ved som tam mal len 32MB RAM, pre KDE dost malo!
Skratka, ak by som nemal v tej chvili aj mirror swapu aktivny, urcite
by system padol, ak by sa prislo o udaje v swape. Comp mi vsak veselo
dalej bezal, pracoval som na nom este pol hodiny, vsetko v pohode.

Ani ide0-kanal mi celkom neodisiel. Potom, co som takto "odstrelil"
hda, este som v pohode mohol namontovat hdb (rezervny disk). Je vsak
pravda, ze v case "testu" som pouzival len RAID1 (hda+hdc), ak by bol
primontovany aj hdb, zrejme by si "prilahol" spolu s hda. Teda aspon
v howto sa pise, ze obvykle odide cely ide-kanal. Preto sa tiez pri
ide-raid konfiguracii odporuca dat na kazdy ide-kanal len jeden
disk. Pripadne sucasne odidenie dvoch by mohlo mat fatalne nasledky...

Je velmi pravdepodobne, ze to "zmrznutie" by bolo pri plnom disku
ovela dlhsie, nie len tych 10 sekund (mam tam asi 800MB). Aj tak
ma to vsak opravnuje k opatrnemu predpokladu, ze aj plne zatazeny
server so zaplnenym diskom by naozaj mohol prezit aj taketo drsne
"odidenie" disku. Raid-subsystem zrejme bezi s vysokou prioritou,
takze system v case opravovania pola (lepsie povedane, jeho
degradovania) neodpoveda, ale povedzme po par minutach by ozil...
No neviem, asi to nebude linearna zalezitost. Napokon, ved tie
disky sa "pridavaju" do pola po blokoch, a to by malo potom byt
jedno, ci je prazdny, ci plny. Ale v tomto si nie som isty. Faktom
vsak je, ze oprava particii potom trvala umerne ich velkosti,
nie ich zaplneniu...

Po polhodine prace s RAID1 v degradovanom mode som comp restartoval.
Ziadne upravy v konfiguracii som nerobil (nemarkol som hda? v raidtab
ako failed-disk, ani som nezapol hda, bol som zvedavy, ako to system
zvladne). Cize som len jednoducho rebootoval (bios mi umoznuje aj
bootovat z druheho disku). System mi bez problemov nabehol, samozrejme
mal som kopec hlaseni ze "md?: no spare disk, degraded mode" a pod.
Potom som uz upravil /etc/raidtab (/dev/hda? ako failed-disk),
rebootol (tentokrat zapol aj hda), poopravoval pole (raidhotadd
/dev/md? /dev/hda?). Cele to trvalo nejakych 20 minut. Vysledkom bol
uplny a korektny navrat do "predtestovej" podoby. Skratka ziadna strata,
ziaden problem, vsetko OK. Este som cely test zopakoval, tentokrat som
vytiahol datovy kabel (nie napatovy) a pre zmenu z disku /dev/hdc.
Vsetko dopadlo rovnako, opat bez nejakych nepredvidanych problemov.
System zostal bezat, a po "akoze" vymene vadneho disku sa dal krasne
obnovit do povodneho stavu. Ako tu uz ktosi napisal: "Bezpecne jaxvina!"
Povzbudeny vysledkom som sa rozhodol ze preinstalujem na raid1
nas viacucelovy server (apache, wu-ftp, bind, sendmail/pop3, squid,
ipchains) a urobim este jeden takyto test, pri plnom zatazeni,
a diskoch plnych asi na 50%. Uvidime, ako to dopadne...!

Inak, s takymto "testom" treba fakt opatrne. Pri nahlom vytiahnuti
nejakeho kabla sa istotne indukuju nejake tie spickove napatia,
a to zrejme nerobi dobre ani disku, ani radicu, a ani celemu kompu.
Ale ako inak to mozem otestovat? No iste, nejaky detailista by si
mohol na to vyrobit "slusny" vypinac, premosteny nejakymi tlmiacimi
prvkami, ale na to som nemal cas. Napokon, realne hardwarove poskodenie
disku bude asi dost blizko tejto "simulacii". Co poviete?

Jarry, alias RAIDiator :-)

Ale ako vravia kaskaderi: "...doma to v ziadnom pripade neskusajte!"

-- 
Sent through GMX FreeMail - http://www.gmx.net




Další informace o konferenci linux