RAID5 tömb szétesett

 ( balazsasd | 2011. június 10., péntek - 20:51 )

Sziasztok!

Van egy gép és egy sata kártya miatt szétesett egy raid5 tömb. 5 hdd-ből állt. És 2 lemez esett ki. A két kiesett hdd-t csak spare-ként teszi vissza a tömbbe. Van valami ötletetek? Mit tudok vele kezdeni?

Előre is köszönöm a segítsgeteket.

/dev/md2:
Version : 0.90
Creation Time : Fri Jan 28 13:09:35 2011
Raid Level : raid5
Used Dev Size : 1953102272 (1862.62 GiB 1999.98 GB)
Raid Devices : 5
Total Devices : 5
Preferred Minor : 2
Persistence : Superblock is persistent

Update Time : Fri Jun 10 20:28:05 2011
State : active, FAILED, Not Started
Active Devices : 3
Working Devices : 5
Failed Devices : 0
Spare Devices : 2

Layout : left-symmetric
Chunk Size : 64K

UUID : 94d81c14:ee79a2f1:24cbdb74:dd230b11 (local to host *****)
Events : 0.75453

Number Major Minor RaidDevice State
0 8 65 0 active sync /dev/sde1
1 0 0 1 removed
2 8 33 2 active sync /dev/sdc1
3 0 0 3 removed
4 8 49 4 active sync /dev/sdd1

5 8 81 - spare /dev/sdf1
6 8 97 - spare /dev/sdg1

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

Ennek már annyi. Rebuilding, meg előkapni a backupot és visszamásolni az adatokat.

Ubuntu 10.04, Thinkpad x61s

Egy kicsit azé rá lett arra gányolva kézzel is, hogy removed és nem failed, ugye? :) Ha nem akarsz mentésből visszaállni, akkor csináld újra a tömböt ugyanabba a sorrendbe mint vót, pl:

mdadm -C -n5 -l5 -c64 /dev/mdX /dev/sde1 [/dev/sd?1|missing] /dev/sdc1 [/dev/sd?1|missing] /dev/sdd1

A két kiesett diszkből nemtom melyk volt az 1 illetve 3, azért kérdőjeles. Fontos, hogy csak egyik diszket add be a kettőből, a másik helyére írd hogy missing - így nem kezdi el a sync-et, ami rossz sorrend esetén végleg lerombolja az adataid. A mostani mdadm -E kimenetet mentsd le, mert az első -C felül fogja írni őket, később még kellhet kapaszkodónak.

Ez jónak látszik, csak attól félek hogy ha ez nem sikerül akkor semmi esélyem nem lesz utána összerakni. De köszönöm a tippet.

akármi a vége írd meg

Ez az egy esélyed maradt. Ha betartod, hogy mindig beteszel egy missing elemet, akkor számtalanszor próbálkozhatsz adatvesztés nélkül és a (szigorúan read-only módban futtatott) fsck el fogja árulni, hogy mikor lett megfelelő a sorrend.

Az biztos, hogy nem szabad kapkodni, mert egy véletlen rebuild/fsck/mount most tönkretehet mindent, ami még simán menthető.

csak kíváncsiságból? Nem kell valahogy verziószámot is beírni a create-nak?
Vagy rosszul gondolom?

Igaz: -e 0.90

Na, ilyen körültekintéssel nem lesz semmi baj. :)

Összeált a raid tömb n-1 hdd-vel. Most viszont félek syncelni. Ráadásul mostmár simán a raid5-öt utálom.
Az adatok eddig úgy néz ki nem vesztek el. Kérdésem az lenne, hogy sync-elhetem-e az utolsó hdd-t? Kicsit bizonytalan vagyok.

Én most backupolnék mindent egy biztos helyre, és utána sync. Ha nincs backupnak hely, akkor szerezz, és utána goto 1. Nem csak ebben a helyzetben, de úgy általában sosem szabad bízni semmiben, legyen egy backup a szekrényben, az a tuti.

--
joco voltam szevasz

+1, a sync nél kiderülthet, hogy az n-1 en is van valahol bad sector, és újra szétesik az egész. Backupolnám ami a legfontosabb (ill. lehetőleg mindent) és utána mehet be az n. winyó, és sync. Jó lenne tudni miért esett eleve szét, valószínű két lemezen is van hiba, és amiatt.

Igen, már beteheted az utolsó diszket is nyugodtan.

Egy teljes fsck mindenképp kell mielőtt a régi rájlrendszert élesben használod, mert lehetséges, hogy kissé sérült az integritása (dirty-degraded effektus).

Akkor fogod igazán utálni a raid5-öt, ha a rebuildnél kibukik majd egy pending sector az aktív diszkeken és emiatt megint szétesik az egész. :) A raid5 szerintem nem gonosz, csak alaposan ki kell ismerni, mint mindent. Igaz, hogy ehhez nekem ~10 év se volt elég, épp a közelmúltban okozott meglepetést. :)

Ez fura! Nekem mdadm autodetectalja a raid diszkeket, igy pl. ez van a dmesg-ben:

...
[    3.023797]  sda: sda1 sda2 sda3
[    3.040354] sd 1:0:0:0: [sda] Attached SCSI disk
[    5.240045] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
[    5.246459] ata4.00: ATA-7: SAMSUNG HD154UI, 1AG01113, max UDMA7
[    5.246462] ata4.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    5.252972] ata4.00: configured for UDMA/100
[    5.253072] scsi 3:0:0:0: Direct-Access     ATA      SAMSUNG HD154UI  1AG0 PQ: 0 ANSI: 5
[    5.253284] sd 3:0:0:0: Attached scsi generic sg1 type 0
[    5.253600] scsi 4:0:0:0: Direct-Access     ATA      SAMSUNG HD154UI  1AG0 PQ: 0 ANSI: 5
[    5.253717] sd 4:0:0:0: Attached scsi generic sg2 type 0
[    5.253925] sd 4:0:0:0: [sdc] 2930277168 512-byte logical blocks: (1.50 TB/1.36 TiB)
[    5.253975] sd 4:0:0:0: [sdc] Write Protect is off
[    5.253979] sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    5.254004] sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    5.254114] sd 3:0:0:0: [sdb] 2930277168 512-byte logical blocks: (1.50 TB/1.36 TiB)
[    5.254200] sd 3:0:0:0: [sdb] Write Protect is off
[    5.254203] sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    5.254229]  sdc:
[    5.254313] sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    5.254435]  sdb: sdb1 sdb2 sdb3
[    5.265850] sd 3:0:0:0: [sdb] Attached SCSI disk
[    5.267171]  sdc1 sdc2 sdc3
[    5.271174] sd 4:0:0:0: [sdc] Attached SCSI disk
[    5.580033] ata6: SATA link down (SStatus 0 SControl 300)
[    5.590851] async_tx: api initialized (async)
[    5.760025] raid6: int64x1   1498 MB/s
[    5.930035] raid6: int64x2   1939 MB/s
[    6.100030] raid6: int64x4   1316 MB/s
[    6.270026] raid6: int64x8   1323 MB/s
[    6.440031] raid6: sse2x1    2223 MB/s
[    6.610027] raid6: sse2x2    3001 MB/s
[    6.780012] raid6: sse2x4    3188 MB/s
[    6.780014] raid6: using algorithm sse2x4 (3188 MB/s)
[    6.795423] xor: automatically using best checksumming function: generic_sse
[    6.840014]    generic_sse:  5926.400 MB/sec
[    6.840017] xor: using function: generic_sse (5926.400 MB/sec)
[    6.850768] md: raid6 personality registered for level 6
[    6.850771] md: raid5 personality registered for level 5
[    6.850774] md: raid4 personality registered for level 4
[    6.859735] md: raid10 personality registered for level 10
[    6.971103] md: bind
[    7.001131] md: bind
[    7.017220] md: bind
[    7.025693] md: bind
[    7.055790] md: bind
[    7.058411] raid5: device sdb3 operational as raid disk 2
[    7.058416] raid5: device sdc3 operational as raid disk 0
[    7.058419] raid5: device sda3 operational as raid disk 1
[    7.058939] raid5: allocated 3230kB for md3
[    7.059220] 2: w=1 pa=0 pr=3 m=1 a=2 r=3 op1=0 op2=0
[    7.059223] 0: w=2 pa=0 pr=3 m=1 a=2 r=3 op1=0 op2=0
[    7.059227] 1: w=3 pa=0 pr=3 m=1 a=2 r=3 op1=0 op2=0
[    7.059229] raid5: raid level 5 set md3 active with 3 out of 3 devices, algorithm 2
[    7.059232] RAID5 conf printout:
[    7.059233]  --- rd:3 wd:3
[    7.059236]  disk 0, o:1, dev:sdc3
[    7.059238]  disk 1, o:1, dev:sda3
[    7.059240]  disk 2, o:1, dev:sdb3
[    7.059280] md3: detected capacity change from 0 to 2999233019904
[    7.061458]  md3: unknown partition table
...

Sima ubuntu-s initrd-s mdadm. Nem is foglalkoztam sose, hogy melyik diszk hanyadik a tombben. Ez most akkor hogyan is van?

Őőő, végigolvastad, hogy miről szól a topic?! :) A kollégának "szétesett" a superblock, emiatt a _nulláról_ kellett újraépítenie a tömböt. Ezekre a műveletekre, amit itt tárgyaltunk, alapesetben persze soha nincs szükség.

Azta mekkora számok!? Nálam miért nem akar még a közelében se lenni!? :(

"1498 MB/s" szvsz kb proci benchmarknak felel meg, nem valós winyó sebesség.

igy van, ez a raid6 szamitas sebessege.

Akkor ezt benéztem, bocsi! :$

raid5 egy diszk kiesesere van tervezve. 2 diszk kiesesekor kiesik a komplett raid5 tomb. Felejtsd el, formazd ujra. Es javaslom a wikipedia vagy egyeb szakirodalom bongeszeset raid5 es raid6 kategoriaban.

Tisztában vagyok a raid-ek működésével. A hdd-k nem tönkrementek, mint azt fentebb is olvashattad, hanem a raid vezérlő adta meg magát. A lemezek külön külön tesztelve vannak (jók) . Annyi a gondom hogy nem engedi újra összerakni.

raid5 egy diszk kiesesere van tervezve. 2 diszk kiesesekor kiesik a komplett raid5 tomb. Felejtsd el, formazd ujra. Es javaslom a wikipedia vagy egyeb szakirodalom bongeszeset raid5 es raid6 kategoriaban.

Ha egyszerre esik ki ket diszk, akkor az md driver failed statuszra allitja a raid tombot es nem enged tobb irast/olvasast.

allitsd le a raid tombot
mdadm -S /dev/md2

probald meg osszerakni 5 diszkbol
mdadm -Af /dev/md2 /dev/sd[cdefg]1

ha nem sikerul, akkor probald meg osszerakni n-1 diszkkel
mdadm -Af /dev/md2 /dev/sd[cdef]1 vagy
mdadm -Af /dev/md2 /dev/sd[cdeg]1

Ezzel a következő üzenetet kapom:

# mdadm -Af --verbose /dev/md2 /dev/sd[cdefg]1
mdadm: looking for devices for /dev/md2
mdadm: /dev/sdc1 is identified as a member of /dev/md2, slot 2.
mdadm: /dev/sdd1 is identified as a member of /dev/md2, slot 4.
mdadm: /dev/sde1 is identified as a member of /dev/md2, slot 0.
mdadm: /dev/sdf1 is identified as a member of /dev/md2, slot 5.
mdadm: /dev/sdg1 is identified as a member of /dev/md2, slot -1.
mdadm: no uptodate device for slot 1 of /dev/md2
mdadm: added /dev/sdc1 to /dev/md2 as 2
mdadm: no uptodate device for slot 3 of /dev/md2
mdadm: added /dev/sdd1 to /dev/md2 as 4
mdadm: failed to add /dev/sdf1 to /dev/md2: Invalid argument
mdadm: failed to add /dev/sdg1 to /dev/md2: Invalid argument
mdadm: added /dev/sde1 to /dev/md2 as 0
mdadm: /dev/md2 assembled from 3 drives - not enough to start the array.
root@:~#

Én úgy látom hogy a slot-oknál van a hiba. Nem tudja hogy hova kell besorolni a két spare-nak feltételezett hdd-t.

az assemble-nel a devicen tarolt superblock informaciot hasznalja az md driver. valoszinuleg mar ezt megelozoen az n-2 diszkes tombhoz probaltad visszatenni mdadm -a -val a kiesett diszkeket, emiatt modosultak a superblockok. a create-t javaslom en is n-1 diszkkel es missing -el, ahogy fentebb irtak.

Nincs valami megoldás a slot számok módosítására?

subs.

------------------------------------------
"Nincs ez el**szva, csak másra lesz jó!"

nemide

subscribe

subscribe

donatus@donatus~$ _

subscribe

szábszkrájbö

az aláírásod szándékosan van a valós hozzászólás felett?

donatus@donatus~$ _

igen

Újrarakni, és mentésből visszaállni a legbiztosabb megoldás.