RAID + powerfail + unwanted activation

 ( dash | 2014. december 3., szerda - 13:30 )

Sziasztok,

volt egy áramszünet nálunk amit sajnos túlterheltség miatt csak ~5 másodpercig bírt az UPS. Mivel igencsak be voltam szarva, hogy mi van, ha RAID, LVM, FS rétegek közül valamelyik olyan módon sérült, hogy esetleg a recovery/fsck csak ront a helyzeten, ezért arra gondoltam, hogy mielőtt megnyomom a power gombot a RAID1 tömb mindkét diszkjét lementem dd-vel (gzipvelve), hogyha Nagy Baj van, akkor legalább a crash utáni állapot haláli pontosan meglegyen.
Igenám, de elfelejtettem, hogy a másik gépen, amibe beraktam a diszket szintén van mdadm ami ráadásul a /etc/default/mdadm tanúsága szerint úgy volt beállítva, hogy automatikusan "összerakta" és elindította a féllábú RAID1 tömbömet.
Innestől kezdve nem tudom, hogy a resync során mi fog történni, melyik diszkről melyikre, és miként akarná szinkronizálni majd a blokkokat (a write-intent bitmap be volt kapcsolva) ha visszateszem mindkettőt az eredeti gépbe. Nem tudom, hogy az Event counter ettől az akaratlan aktiválástól változott-e ezen a diszken, és jó lenne tudni, hogy a kernel mi alapján dönti el, hogy melyik blokk melyik diszken a frissebb* (???), vagy, hogy mi számít még egyáltalán.

* A bitmap miatt el tudom képzelni, hogy akár ilyent is tud nézni.


Dec 3 11:08:08 marvin kernel: [ 11.679172] md: md127 stopped.
Dec 3 11:08:08 marvin kernel: [ 11.679745] md: bind
Dec 3 11:08:08 marvin kernel: [ 11.680588] md: raid1 personality registered for level 1
Dec 3 11:08:08 marvin kernel: [ 11.680730] bio: create slab at 1
Dec 3 11:08:08 marvin kernel: [ 11.680789] md/raid1:md127: active with 1 out of 2 mirrors
Dec 3 11:08:08 marvin kernel: [ 11.680892] created bitmap (8 pages) for device md127
Dec 3 11:08:08 marvin kernel: [ 11.681129] md127: bitmap initialized from disk: read 1/1 pages, set 0 of 14878 bits
Dec 3 11:08:08 marvin kernel: [ 11.719356] md127: detected capacity change from 0 to 998445481984
Dec 3 11:08:08 marvin kernel: [ 11.726754] md127: unknown partition table
...
Dec 3 11:08:08 marvin mdadm[2789]: NewArray event detected on md device /dev/md127
...
Dec 3 11:08:09 marvin mdadm[2789]: DegradedArray event detected on md device /dev/md127
...

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

Egy chack-et futtas rá először.

unknown partition table, ez még normális.

A lényeg, hogy ne nagyon húzgáld le, ha már elkezdett valamit csinálni akkor sok mindent nem tehetsz, csak ronthatsz rajta.

Szia,

Elolvastad amit írtam?

Kiemeltem hogy mi a lényeg.

Mire futassak checket, mikor az a kérdés, hogy egyáltalán el merjem-e indítani a tömböt (hogy jó lesz-e nekem az úgy)???

A log-gal kapcsolatosan (amiben a véletlen aktivált tömbnek a dolgai vannak) pedig nincsen kérdés, igen, én is látom...

------------------------------------------------------------------------------
www.woodmann.com/searchlores/welcome.htm

linux = feketemágia

use freebsd

Meg a tököm.

Bekapcsolod 1 lemezzel a gépet. Mdadm-al failbe teszed a raidet, majd removeolod a hiányzó lemezt (ezt lehet nem is kell). Majd lelövöd, visszakötöd a lemezt, amiről egy másik gépen letörölted az összekuszált partíciót, majd elindítod. Sfdisk-el átmásolod a jó lemezről a partíciós táblát (ne cseréld fel őket véletlen), mdadm-al visszateszed a visszatett lemezt, és újraszinkronizál.
Ha vmiben nem vagy tuti, akkor eljátszhatod ezt egy virtuális géppel is elötte. De sztem ennek mennie kellene.

^QED

>letörölted az összekuszált partíciót

shiggy diggy ;(

Ja, nem kuszálta össze.

De halál mindegy, viszont a mentést kifelejtettem, elötte azért az adatokat lementeném. :) Azután úgy járnék el, ahogy leírtam.

Honnan tudod, hogy azon amit te "összekuszált partíció"-júnak hívsz, azon a diszken, vagy a másikon van-e az összes aktuális adat?

------------------------------------------------------------------------------
www.woodmann.com/searchlores/welcome.htm

Mert nem írtad, h azzal csináltál vmit.

[OFF]
Ez a topik nektek is kétszer szerepel a főoldalon? Két gépen is néztem és mind a kettőn ez a helyzet.
[/OFF]
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Igen RAID-ben van. :-) (Bocs)

Ez fájt. :D

Tehát:

- van két disked a széthullott gépből
- az egyik járt egy masinában, ami rácsodálkozott és beindította a fél tömböt
- a másik még nem

Ugye?

Először is a dd még mindig nem rossz ötlet, csak most kímélni kéne a még érintetlen disket (mentés előtt nem feléleszteni az alvó tömböt :D)

Ha ezek megvannak, akkor a tetszőleges disket berakni a masinába (végül is mindegy hogy melyikbe), a féllábú raidet elindítani, vgscan, vgchange, fsck, ellenőrzések, és ha jó, akkor ezt jelölni, hogy erre kéne vigyázni :D Opcionálisan lementeni a jó adatokat, ártani nem árthat plusz egy mentés.

Utána be lehet mellé rakni a másik disket. Fogja látni az event count-ok eltérését, és nem fogja csak úgy hipp-hopp összerakni a tömböt, hanem - ha jól emlékszem - md128 vagy hasonló néven felhúzza a másik lábat is (már ha autostartos a) egy másik féllábú tömbbe.

Azt az md128-at el kell pusztítani és a disket betenni a jó mellé.

Igen, ez alapján rá lehetne indítani eleve két, szétszaladt diskkel is, nekem még sose volt ilyenből baj, de ne most legyen az első alkalom :D

Update: most nézem, ja, md127 lett a neve, azért, mert abban a gépben már volt egy egyező nevű md (md0?).

"Ugye?"

Igen.

Oksa, így fogom csinálni ahogy írtad.

------------------------------------------------------------------------------
www.woodmann.com/searchlores/welcome.htm

Hát, én nem vagyok egy kapkodós ember, azt már láttad, de ez a nyugalom még engem is lenyűgöz :D