[Megoldva] Raid5 Probléma 2.0

Fórumok

Üdvözlet mindenkinek!

Körülbelül 7-8 hónapja összeraktam egy 3 x 500-as diszkből álló raid5 tömböt, ami remekül működött egészen mostanáig. (A tömböt egy friss telepítésnél hoztam létre az ubuntu alternate lemezével, a filerendszer xfs volt) A tömb most úgy tűnik hogy megborult de a kimenetek alapján egyáltalán nem értem a dolgot. Amikor ez történt ép fájlokat másoltam a tömbre (ami már majdnem tele volt), és gép dobott egy I/O hibát. A gépet nem fagyasztotta meg de többé nem értem el a tömböt.

Ezek után megnéztem a lemezek smart-ját, semmi hiba. Viszont amikor lemezenként megnéztem egy "mdadm --examine"-t akkor teljesen elvesztettem a fonalat. Alább:

sudo mdadm --examine /dev/sdb1

/dev/sdb1:
Magic : a92b4efc
Version : 00.90.00
UUID : 46357933:74b48093:39c42a1d:896777e6
Creation Time : Sat Jun 23 10:59:39 2007
Raid Level : raid5
Used Dev Size : 488383936 (465.76 GiB 500.11 GB)
Array Size : 976767872 (931.52 GiB 1000.21 GB)
Raid Devices : 3
Total Devices : 2
Preferred Minor : 0

Update Time : Tue Jan 15 14:35:29 2008
State : clean
Active Devices : 1
Working Devices : 1
Failed Devices : 2
Spare Devices : 0
Checksum : d268701c - correct
Events : 0.25476

Layout : left-symmetric
Chunk Size : 64K

Number Major Minor RaidDevice State
this 0 8 17 0 active sync /dev/sdb1

0 0 8 17 0 active sync /dev/sdb1
1 1 0 0 1 faulty removed
2 2 0 0 2 faulty removed

Ugyanez a második diszknél:

/dev/sdc1:
Magic : a92b4efc
Version : 00.90.00
UUID : 46357933:74b48093:39c42a1d:896777e6
Creation Time : Sat Jun 23 10:59:39 2007
Raid Level : raid5
Used Dev Size : 488383936 (465.76 GiB 500.11 GB)
Array Size : 976767872 (931.52 GiB 1000.21 GB)
Raid Devices : 3
Total Devices : 2
Preferred Minor : 0

Update Time : Tue Jan 15 14:34:43 2008
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 1
Spare Devices : 0
Checksum : d2680c6f - correct
Events : 0.25473

Layout : left-symmetric
Chunk Size : 64K

Number Major Minor RaidDevice State
this 1 8 33 1 active sync /dev/sdc1

0 0 8 17 0 active sync /dev/sdb1
1 1 8 33 1 active sync /dev/sdc1
2 2 0 0 2 faulty removed

Majd a harmadiknál is.

/dev/sdd1:
Magic : a92b4efc
Version : 00.90.00
UUID : 46357933:74b48093:39c42a1d:896777e6
Creation Time : Sat Jun 23 10:59:39 2007
Raid Level : raid5
Used Dev Size : 488383936 (465.76 GiB 500.11 GB)
Array Size : 976767872 (931.52 GiB 1000.21 GB)
Raid Devices : 3
Total Devices : 3
Preferred Minor : 0

Update Time : Thu Nov 8 09:02:08 2007
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Checksum : d20db932 - correct
Events : 0.502

Layout : left-symmetric
Chunk Size : 64K

Number Major Minor RaidDevice State
this 2 8 49 2 active sync /dev/sdd1

0 0 8 17 0 active sync /dev/sdb1
1 1 8 33 1 active sync /dev/sdc1
2 2 8 49 2 active sync /dev/sdd1

Ezek kimenetek számomra teljesen rejtélyesek. Mert például az utolsó szerint, nincs is baj a tömbbel?!?
A fórumot olvasgatva láttam hogy már obi17 -nek is volt hasonló problémája raid5-el, és ő szerencsésen vissza is nyerte az adatait. De sajnálatos módon én nem vagyok ennyire hozzáértő, ezért ezúton kérném segítségeteket.

Hozzászólások

nem ertek en ehhez nagyon, de ugy tunik peched van, mert az update time-bol kiindulva az sdd
mar honapok ota nem megy, tehat csak 2 lemezzel ment az array, most viszont meg egy elromlott, magyarul egy jo lemez maradt ami mar nem eleg semmire.

de javitsatok ki ha tevednek.

- Use the Source Luke ! -

Valóban, az update time és az events számláló is jócskán el van maradva.
Valószínűleg már egy ideje kiesett az egyik diszk (ehhez egy asztali gépen elég egy nem ritka mezei I/O hiba), dehát mivel redundáns diszkrendszerről van szó, ezt nem vetted észre.

Azért nincs még minden veszve, bár XFS nem a leghibatűrőbb, valószínűleg a teljes meglévő fájlrendszer még javítható, csak össze kell erőszakolni a két jobbik diszket. Húzd le azt, ami már rég nem jó (és ellenőrizd, hogy tényleg azt húztad le ;) ), aztán mdadm --force --assemble, majd fsck. (Először persze mindent csak read-only test módban, és ha nagyon nem visít, akkor élesben is.)

Nekem már sikerült így visszahoznom hasonlóan szétesett RAID5 tömböt.

RAID5-nél érdemes (ajánlatos) mindig tartani egy spare diszket, és folyamatosan figyelni az állapotát (vagy egy apró scriptet írni, ami mailt küld, ha változik).

--
The Net is indeed vast and infinite...
http://gablog.eu

Köszi a segítséget. Megpróbáltam úgy ahogy mondtad

mdadm --assemble --force /dev/md0
mdadm: forcing event count in /dev/sdc1(1) from 25473 upto 25476
mdadm: clearing FAULTY flag for device 0 in /dev/md0 for /dev/sdc1
mdadm: /dev/md0 has been started with 2 drives (out of 3).

Utána read-only -t csináltam belóle

mdadm -o /dev/md0

és elindítottam egy ellenőrzést:

xfs_check /dev/md0
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed. Mount the filesystem to replay the log, and unmount it before
re-running xfs_check. If you are unable to mount the filesystem, then use
the xfs_repair -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.

Ezután megpróbáltam mountolni, de:

mount /dev/md0 /media/Data-R5
mount: block device /dev/md0 is write-protected, mounting read-only
mount: cannot mount block device /dev/md0 read-only

Jelenleg itt tartok. Valamiért (lehet hogy csak a saját bénaságom miatt) nem tudom úgy paraméterezni hogy read only-ként mountolja. Igy meg nem látom a log-ot viszont ha xfs_repair -t akarok futtatni akkor meg rw-nek kell lennie a tömbnek.

5-let?
Próbáljam meg élesben?

read-onlyként főleg pszichés okokból érdemes elsőre nekifutni, hogy lássa az ember mire számíthat

1. ro raid, ro fsck, ro mount, (ha megy a mount is, backup now)

2. rw raid, rw fsck, ro mount (ha az fsck sokat változtatott, itt is lehet csinálni egy backupot)

3. rw mount (győzelem, ha a backuppal összevetés nem ad lényeges különbséget)

Mountolni read-only a "-o ro" kapcsolóval lehet (aztán "mount -o remount,rw"). Ha nem megy, nézd meg mit ír a dmesg, meg adj -v kapcsolót a mountnak, hogy legyen verbose. Ha sehogy sem megy a mount (rw raiden sem), akkor tedd, amit az xfs_check javasol.

--
The Net is indeed vast and infinite...
http://gablog.eu

Megpróbáltam. Itt vannak a kimenetek:

mount -o /dev/md0 /media/Data-R5
mount: block device /dev/md0 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/md0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

dmesg

[ 697.918937] md: md0 switched to read-only mode.
[ 982.863212] Filesystem "md0": Disabling barriers, not supported by the underlying device
[ 982.863423] XFS mounting filesystem md0
[ 982.879190] XFS: recovery required on read-only device.
[ 982.879200] XFS: write access unavailable, cannot proceed.
[ 982.879205] XFS: log mount/recovery failed: error 30
[ 982.879224] XFS: log mount failed
[ 1251.303317] EXT3-fs warning (device sda2): dx_probe: dx entry: limit != root limit
[ 1251.303326] EXT3-fs warning (device sda2): dx_probe: Corrupt dir inode 2, running e2fsck is recommended.
[ 1413.186765] Filesystem "md0": Disabling barriers, not supported by the underlying device
[ 1413.186976] XFS mounting filesystem md0
[ 1413.202956] XFS: recovery required on read-only device.
[ 1413.202962] XFS: write access unavailable, cannot proceed.
[ 1413.202968] XFS: log mount/recovery failed: error 30
[ 1413.202984] XFS: log mount failed
[ 1454.675340] Filesystem "md0": Disabling barriers, not supported by the underlying device
[ 1454.675557] XFS mounting filesystem md0
[ 1454.697567] XFS: recovery required on read-only device.
[ 1454.697574] XFS: write access unavailable, cannot proceed.
[ 1454.697580] XFS: log mount/recovery failed: error 30
[ 1454.697597] XFS: log mount failed
[ 1515.068016] Filesystem "md0": Disabling barriers, not supported by the underlying device
[ 1515.068222] XFS mounting filesystem md0
[ 1515.084068] XFS: recovery required on read-only device.
[ 1515.084076] XFS: write access unavailable, cannot proceed.
[ 1515.084081] XFS: log mount/recovery failed: error 30
[ 1515.084098] XFS: log mount failed
[ 2814.884081] Filesystem "md0": Disabling barriers, not supported by the underlying device
[ 2814.884295] XFS mounting filesystem md0
[ 2814.900359] XFS: recovery required on read-only device.
[ 2814.900365] XFS: write access unavailable, cannot proceed.
[ 2814.900371] XFS: log mount/recovery failed: error 30
[ 2814.900388] XFS: log mount failed
[ 6800.233614] XFS: unknown mount option [/dev/md0].

Ez alapján már csak az xfs_repair marad?

mount: block device /dev/md0 is write-protected, mounting read-only

és

[ 982.879200] XFS: write access unavailable, cannot proceed.

miatt kérdezem, hogy nem read-only még mindig az md0? Először tedd írhatóvá, aztán mount, és nézd meg utána a kimeneteket!

--
The Net is indeed vast and infinite...
http://gablog.eu

Mostmár biztosan írható.
mdadm -w /dev/md0

mount /dev/md0 /media/Data-R5
mount: /dev/md0: can't read superblock

dmesg

[ 982.879190] XFS: recovery required on read-only device.
[ 982.879200] XFS: write access unavailable, cannot proceed.
[ 982.879205] XFS: log mount/recovery failed: error 30
[ 982.879224] XFS: log mount failed
[ 1251.303317] EXT3-fs warning (device sda2): dx_probe: dx entry: limit != root limit
[ 1251.303326] EXT3-fs warning (device sda2): dx_probe: Corrupt dir inode 2, running e2fsck is recommended.
[ 1413.186765] Filesystem "md0": Disabling barriers, not supported by the underlying device
[ 1413.186976] XFS mounting filesystem md0
[ 1413.202956] XFS: recovery required on read-only device.
[ 1413.202962] XFS: write access unavailable, cannot proceed.
[ 1413.202968] XFS: log mount/recovery failed: error 30
[ 1413.202984] XFS: log mount failed
[ 1454.675340] Filesystem "md0": Disabling barriers, not supported by the underlying device
[ 1454.675557] XFS mounting filesystem md0
[ 1454.697567] XFS: recovery required on read-only device.
[ 1454.697574] XFS: write access unavailable, cannot proceed.
[ 1454.697580] XFS: log mount/recovery failed: error 30
[ 1454.697597] XFS: log mount failed
[ 1515.068016] Filesystem "md0": Disabling barriers, not supported by the underlying device
[ 1515.068222] XFS mounting filesystem md0
[ 1515.084068] XFS: recovery required on read-only device.
[ 1515.084076] XFS: write access unavailable, cannot proceed.
[ 1515.084081] XFS: log mount/recovery failed: error 30
[ 1515.084098] XFS: log mount failed
[ 2814.884081] Filesystem "md0": Disabling barriers, not supported by the underlying device
[ 2814.884295] XFS mounting filesystem md0
[ 2814.900359] XFS: recovery required on read-only device.
[ 2814.900365] XFS: write access unavailable, cannot proceed.
[ 2814.900371] XFS: log mount/recovery failed: error 30
[ 2814.900388] XFS: log mount failed
[ 6800.233614] XFS: unknown mount option [/dev/md0].
[10344.497940] XFS: unknown mount option [/dev/md0].
[10523.788334] XFS: unknown mount option [-v].
[12151.314952] md: md0 switched to read-write mode.
[12163.335211] XFS: unknown mount option [-v].
[12247.336756] Filesystem "md0": Disabling barriers, not supported by the underlying device
[12247.336969] XFS mounting filesystem md0
[12247.407381] Starting XFS recovery on filesystem: md0 (logdev: internal)
[12247.682234] XFS: xlog_recover_reorder_trans: unrecognized type of log operation
[12247.682246] XFS: log mount/recovery failed: error 5
[12247.682261] XFS: log mount failed

Most is ugyan azt a hibát írja ki "error 30"

[12151.314952] md: md0 switched to read-write mode.
[12163.335211] XFS: unknown mount option [-v].
[12247.336756] Filesystem "md0": Disabling barriers, not supported by the underlying device
[12247.336969] XFS mounting filesystem md0
[12247.407381] Starting XFS recovery on filesystem: md0 (logdev: internal)
[12247.682234] XFS: xlog_recover_reorder_trans: unrecognized type of log operation
[12247.682246] XFS: log mount/recovery failed: error 5
[12247.682261] XFS: log mount failed

Szerintem csak ez a releváns rész. Nincs jobb ötletem mint xfs_check majd xfs_repair.

--
The Net is indeed vast and infinite...
http://gablog.eu

Ok köszi! de -L -es kapcsolóval vagy a nélkül elsőre?
Mert az látszik hogy a log megsérült. A dmesg is azt mutatta.

[12247.682234] XFS: xlog_recover_reorder_trans: unrecognized type of log operation
[12247.682246] XFS: log mount/recovery failed: error 5
[12247.682261] XFS: log mount failed

Gondolom akkor most jön a gatyába vizelős izgulós rész. :))

Igen köszönöm szépen sikerült. De nem volt piskóta a dolog.

Azután hogy írtam ide nem volt sok lehetőségem, az xfs_repair -t -L kapcsoló nélkül kapásból visszadobta (mondjuk nem csoda figyelembe véve hogy maga a log sérült meg), így kénytelen voltam elindítani a log törléses javítást (sűrű imák közepette), az egésszel végzett úgy 10 perc alatt. Aztán xfs_chek ok (ekkor még nem sejtettem hogy mekkora mázlim volt). Megpróbálom mountolni..... siker (Halleluja)
Azonnal külső winyó előkap (WD MyBook Studio) hfs+ vacakolás (a journaling -ot nem akarta kikapcsolni és úgy a Linux nem tudja írni) majd végre mentés elindít.
...............................
Kb 10 perc után I/O Error......
.
.
.
Szivroham!
.
.
Remegő kézzel cat /proc/mdstat beüt.... A /dev/sdc1 meghajtó faulty.
.
Káromkodás...... Nagy levegővétel....... gondolkozik......
Eszembe jutott hogy hiába I/O Error elvileg semmit sem kéne irnia a raidre.
Elvégre csak olvasás történt.... jó tudom ez nem teljesen igaz!

umount /dev/md0
mdadm -S /dev/md0
mdadm --assamble --force /dev/md0
xfs_chek /dev/md0........... Nincs hiba!!!

Ezek után mount és minden ment szépen........
Egészen a következő I/O Error -ig.....
.
Összesen 12 alkalommal!
.
Ezek után nem maradt más hátra mint próba cseresznye alapon kiszűrni a hibás fájlokat és lementeni a többit.
Hát nem mondom ez kalandos volt.
Ezúton is nagyon szépen köszönöm mindenkinek a segítséget 900 GByte lett megmentve.

ahhoz hogy replay-elni tudd a logot rw tömb kell és ha ez sikerült replayelni utánna egy xfs_check és/vagy xfs_repair

http://students.zipernowsky.hu/~oliverp/upload/sgi_xfs.tar.bz2
lehet találsz benne okosságot

linux v2.6.22.15 + madwifi v0.9.3.3-mal itt
debian gnu/linux @ linux-2.6.22.17-rc2-szami2

Bar az en problemam nem kapcsolodik sokban a fent emlitetthez. Nekem elv minden szep es jo SW raid 5-ben van 3 db 750es winyo.

Elso kerdesem hogy az normalis hogy:

Array Size : 1465143808 (1397.27 GiB 1500.31 GB)
Used Dev Size : 732571904 (698.64 GiB 750.15 GB)

Nem kene az arry sizenak nagyobbnak lennie? 3x750 azaz 2250GB?

lentebb persze ezt latom:
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1

A tovabbi kerdesem, hogy most a /dev/md0 kent letrejott raid tomb particionalhato e. En megnyitottam fdiskel es hoztam ra letre particiokat... de nem tudom megformazni, mert az md0p5 md0p6... stb deviceket sehogy se tudom elocsalni.

Egyaltalan lehet az en altalam elkepzelt modon ezt tovabb particionalni? formazgatni mountolgatni? Vagy LVM-el tudnam csak kezelni?

Koszonom szepen a valaszokat elore is.

a kerdesedbol ugy latom, hogy nem igazan vagy tisztaban a raid5 mukodesevel.
http://en.wikipedia.org/wiki/RAID5#RAID_5
raid5ben 1 vinyot mindig buksz a paritasok miatt, cserebe 1 lemez elhalalozasat toleralni tudja a tomb.
tehat 3 vinyobol 2 vinyonyi helyet elvesz a paritas, marad tehat 2*750G felhasznalhato teruleted.

Tyrael

gyakorlati linuxban annyira nem vagyok otthon, de attol hogy beleraktal a raid tombbe 3 lemezt, attol azt os-bol (ha hardveres raid, akkor tuti, de szerintem ha szoftveres akkor is) meg 1 lemeznek kellene latnod 1,5 tera merettel.
az meg ugyanugy tudod particionalni, meretezni, formazni, mint ha 1 db masfel teras vinyod lenne a gepben.
szoval feljebb irtad, hogy hiaba a 3 vinyo, csak 1 eszkozt latsz, az szerintem teljesen normalis.

Tyrael