Neil Brown: csúnya md/raid bug

 ( trey | 2012. június 19., kedd - 16:36 )

Neil Brown, a Linux softraid réteg karbantartója, az mdadm segédprogram megalkotója blogbejegyzésében arra figyelmeztet, hogy valamikor a 3.4-rc1 és 3.4-rc5 között egy csúnya RAID bug került a mainline kernelbe. A bug ugyan nem pusztítja el az adatokat, de megnehezítheti az adatokhoz való hozzáférést.

A bug a "c744a65c1e2d59acc54333ce8" commit-tal mutatkozott be és a "30b8aa9172dfeaac6d77897c67ee9f9fc574cdbb" commit-tal került javításra. Mivel a bug a 3.4-es kernel fejlesztési ciklusa során mutatkozott be, kiadott végleges mainline kernel nem érintett. De mivel a bugot hozó patch hibajavításként érkezett, bekerült egyes -stable kernelekbe. Egyes disztribútorok szállítottak olyan kernelt, amely érintett a problémában. Például a SLES 11 SP2 3.0.26-0.7-es kernelében megjelent a hiba és a 3.0.31-0.9-ben került javításra. Az Ubuntu 12.04 LTS-ben a 3.2.0-22.35-ös kernellel érkezett a hiba és a 3.2.0-24.38-ban került javításra. Mivel más disztribútorok is beolvaszthatták a hibás patchet a saját kernelükbe, más disztribúciók is érintettek lehetnek.

A hiba csak akkor triggerelődik, ha a gépen shutdown/poweroff/reboot valamelyikét hajtjuk végre (akkor is csak bizonyos körülmények fennállásakor). Amíg a gép fut, addig a hiba egyáltalán nem jelentkezik, így arról csak a legközelebbi indításkor értesülhetünk. A hiba eredményeként a diszkeken tárolt metaadatokból fontos információk törlődnek.

Hogy hogyan lehet a problémát elkerülni, mit lehet tenni, ha a mennykő beütött, elolvasható itt.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nem vagyok kernel fejlesztő, de a FIX felvet bennem egy kérdést. Azt jelentené, hogy ha egy bizonyos állapotban állítják le a tömbön az írásokat, akkor törlődnek a metaadatok? Írások leállításakor nem annyinak kéne történnie legrosszabb esetben, hogy megmarad valami régi adat? Valami másik kód direkt törli? Tényleg csúnya.

Szerk: elolvastam Neil írását, így már értem. Azért ez gáz, hogy kritikus metaadatokat írogatnak felül ok nélkül is.

--
joco voltam szevasz

Enterspájz, enterspájz!

A viccet félretéve, ez elég szomorú. Nem tesztelik kiadás előtt semennyire?

--
Java apps are nothing more than sophisticated XML-to-exception converters.

Úgy vettem ki, hogy nem teljesen hétköznapi az az eset, amikor előjön.

--
joco voltam szevasz

-rc

"Enterspájz, enterspájz!"

Az sem garancia. Egyszer néztem meg egy enterprise storage contoller firmware-be milyen bugokat javított a kedves gyártó. Olyan horror dolgok voltak benne, hogy ihaj.

--
trey @ gépház

Egy durva adatvesztésem egy DS4300-hoz kötődik, amikor a certified mérnök on-the-fly rátolt' egy JBOD bővítőt a kontrollerekre - megmakkant mindkettő, eldobták a 2GB writeback cache-t, így kvázi az összes írt fájlrendszernek kampec lett. Valami olyat motyogott, hogy hát izé, túl régi volt a firmware, megesik. O_o

nem kéne jbod cuccokat használni...

ha a writeback cache-t dobja el, akkor mindegy mit használsz alatta, az masszív adatsérülést okoz.

A minőségbiztosítás nem kiváló minőséget jelent, hanem nyomonkövethetőt.
--
Gábriel Ákos

Nem kell mondanod, végigbohóckodtam egy belső ISO auditori tanfolyamot és vizsgát. :)

--
Java apps are nothing more than sophisticated XML-to-exception converters.