uncorrectable data error bei raid5

terx

New Member
Hallo,

Ich verwende OpenBSD 3.9 mit angepassten Kernel (Nur raidframe aktiviert)
Ich habe bei mir ein RAID Typ 5 errichtet (für /home), als 3x 160GB-Platten:
wd[0,1,2] at pciide1 channel [0,1] drive [0,1]: <PLATINUM 160G 2F7200>
wd[0,1,2]: 16-sector PIO, LBA48, 156334MB, 320173056 sectors

Das Wurzelverzeichnis ist auf einer 3GB-Platte (wd3)

Vor genau einer Woche meldete mir der Statusbericht folgendes:
raid0 Components:
/dev/wd0a: optimal
/dev/wd1a: optimal
/dev/wd2a: failed
No spares.
Parity status: DIRTY
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.

Ich versuchte, blind wie ich war, mit "raidctl -R /dev/wd2a raid0" eine Rekonstruktion, allerdings passierte nichts. Bei einem weiteren Aufruf von raidctl blockierte dieser Prozess und ließ sich nicht mehr mit kill -9 töten. (top sagte in der Spalte WAIT biowait) Alle Festplattenzugriffe waren dann nicht mehr möglich. (Komplett)

Wie ich erfahren habe, sollte das an dem Parity Status liegen. Also habe ich das Array mit -C initialisiert, und die Parität neu berechnen lassen. Bei irgendwo über 80% bricht die neuberechnung ab.

Hier die komplette dmesg:
Hosed component: /dev/wd2a.
Hosed component: /dev/wd2a.
raid0: Component /dev/wd0a being configured at row: 0 col: 0
Row: 0 Column: 0 Num Rows: 1 Num Columns: 3
Version: 2 Serial Number: 1234 Mod Counter: 748
Clean: No Status: 0
/dev/wd0a is not clean !
raid0: Component /dev/wd1a being configured at row: 0 col: 1
Row: 0 Column: 1 Num Rows: 1 Num Columns: 3
Version: 2 Serial Number: 1234 Mod Counter: 748
Clean: No Status: 0
/dev/wd1a is not clean !
raid0: Ignoring /dev/wd2a.
raid0 (root)raid0: no disk label
raid0: no disk label
raid0: no disk label
wd1(pciide1:0:1): timeout
type: ata
c_bcount: 16384
c_skip: 0
pciide1:0:1: bus-master DMA error: missing interrupt, status=0x60
wd1a: device timeout reading fsbn 10408320 of 10408320-10408351 (wd1 bn 10408320; cn 10325 tn 11 sn 27), retrying
wd1: soft error (corrected)
wd0(pciide1:0:0): timeout
type: ata
c_bcount: 16384
c_skip: 0
pciide1:0:0: bus-master DMA error: missing interrupt, status=0x60
wd0a: device timeout reading fsbn 52557216 of 52557216-52557247 (wd0 bn 52557216; cn 52140 tn 1 sn 33), retrying
wd0: soft error (corrected)
wd0(pciide1:0:0): timeout
type: ata
c_bcount: 16384
c_skip: 0
pciide1:0:0: bus-master DMA error: missing interrupt, status=0x60
wd0a: device timeout reading fsbn 128477760 of 128477760-128477791 (wd0 bn 128477760; cn 127458 tn 1 sn 33), retrying
wd0: soft error (corrected)
raid0: no disk label
raid0: no disk label
raid0: no disk label
raid0: no disk label
raid0: no disk label
wd2(pciide1:1:0): timeout
type: ata
c_bcount: 16384
c_skip: 0
pciide1:1:0: bus-master DMA error: missing interrupt, status=0x61
wd2a: device timeout reading fsbn 217666784 of 217666784-217666815 (wd2 bn 217666784; cn 215939 tn 4 sn 20), retrying
wd2: soft error (corrected)
raid0: no disk label
raid0: no disk label
raid0: no disk label
wd2(pciide1:1:0): timeout
type: ata
c_bcount: 16384
c_skip: 0
pciide1:1:0: bus-master DMA error: missing interrupt, status=0x61
wd2a: device timeout reading fsbn 278840864 of 278840864-278840895 (wd2 bn 278840864; cn 276627 tn 13 sn 29), retrying
wd2: soft error (corrected)
wd2a: uncorrectable data error reading fsbn 296250528 of 296250528-296250559 (wd2 bn 296250528; cn 293899 tn 5 sn 21), retrying
wd2a: uncorrectable data error reading fsbn 296250528 of 296250528-296250559 (wd2 bn 296250528; cn 293899 tn 5 sn 21), retrying
wd2a: uncorrectable data error reading fsbn 296250528 of 296250528-296250559 (wd2 bn 296250528; cn 293899 tn 5 sn 21), retrying
wd2: transfer error, downgrading to Ultra-DMA mode 3
wd2(pciide1:1:0): using PIO mode 4, Ultra-DMA mode 3
wd3(pciide1:1:1): using PIO mode 4, Ultra-DMA mode 2
wd2a: uncorrectable data error reading fsbn 296250528 of 296250528-296250559 (wd2 bn 296250528; cn 293899 tn 5 sn 21), retrying
wd2a: uncorrectable data error reading fsbn 296250547 of 296250528-296250559 (wd2 bn 296250547; cn 293899 tn 5 sn 40), retrying
wd2a: uncorrectable data error reading fsbn 296250547 of 296250528-296250559 (wd2 bn 296250547; cn 293899 tn 5 sn 40)
raid0: IO Error. Marking /dev/wd2a as failed.
raid0: node (Rod) returned fail, rolling backward
Unable to verify parity: can't read the stripe.
Could not verify parity.
raid0: Error re-writing parity!
raid0: no disk label
raid0: no disk label
raid0: no disk label
raid0 detached

Befehle zur rekonstruktion der o.g. Fehlermeldung (insgesamt 3x gemacht, jedesmal die gleichen Fehlermeldungen)
raidctl -C /etc/raid.conf raid0
raidctl -I 12345 raid0
raidctl -i raid0
raidctl -u raid0

Achja, die raid.conf:

START array
1 3 0

START disks
/dev/wd0a
/dev/wd1a
/dev/wd2a

START layout
32 1 1 5

START queue
fifo 100

So, jetzt meine Frage an euch:
Oben steht was von "uncorrectable data error". Jedes mal hängt raidctl an der selben Stelle. Gibt es ein Programm zum Prüfen von Festplatten auf Fehler?
Gibt es eine Möglichkeit, diesen Bereich als "Fehlerhaft zu makieren" sodass raidctl diesen Bereich einfach überspringt?

Und die Bonus-Frage ist:
Lohnt es sich jetzt, zu Weihnachten, auf SCSI umzurüsten? (Preislich gesehen) Ein Kontroller für PCI habe ich nicht.

Gruss aus Vechta,

/David
 
ich versteh das nicht. du setzt ein raid5 auf. ich nehme mal an, um schutz vor dem ausfall einer platte zu erhalten.

dann faellt tatsaechlich eine platte aus, und anstatt eine neue einzubauen, machst du mutwillig das raid kaputt? bei dem statusbericht vor einer woche haette schon etwas im syslog stehen muessen, dass die platte kaputt ist. da fummelt man doch nicht noch mit der platte rum und macht sogar das raid unbrauchbar.

du haettest die platte ausbauen muessen und evtl. mit dem herstellertool nochmal checken sollen. danach sollte schleunigst einen neue platte in den verbund und die rekonstruktion gestartet werden. die platte ist nunmal hin, da wuerde ich nichts mehr mit versuchen, sondern herstellergarantie in anspruch nehmen oder eine neue kaufen.

ich hoffe mal, dass die daten nicht wichtig waren, denn die sind jetzt futsch. und das liegt nicht an ide oder raidframe sondern schlicht an falscher bedienung.
 
Hallo TCM und Danke für deine Antwort.

> ich versteh das nicht. du setzt ein raid5 auf. ich nehme mal an, um schutz vor dem ausfall
> einer platte zu erhalten.
> dann faellt tatsaechlich eine platte aus, und anstatt eine neue einzubauen, machst du
> mutwillig das raid kaputt? [...]
> du haettest die platte ausbauen muessen und evtl. mit dem herstellertool nochmal
> checken sollen. danach sollte schleunigst einen neue platte in den verbund und die
> rekonstruktion gestartet werden.

Ich hatte es mit einer neuen Platte versucht, aber das funktionierte auch nicht. (Selbes wie bei raidctl -R)

> bei dem statusbericht vor einer woche haette schon etwas im syslog stehen muessen, dass
> die platte kaputt ist. da fummelt man doch nicht noch mit der platte rum und macht sogar
> das raid unbrauchbar.

Leider hatte ich mir das zu flüchtig angeschaut.. Es stand was von soft error, soweit ich wusste. Ich weiß, ich habe überstürzt und dumm gehandelt.

> ich hoffe mal, dass die daten nicht wichtig waren, denn die sind jetzt futsch.

Ich habe ein intaktes Backup ;-)

> und das liegt nicht an ide oder raidframe sondern schlicht an falscher bedienung.

Den Part mit "Failure to keep parity correct" in der man-page habe ich überlesen (Warum?? WARUM?? Ich weiß es nicht... *heul*) weswegen mich die Parität nicht sonderlich interessiert hatte... Jetzt bin ich schlauer (RTFM, wo F = Full)

> mit dem herstellertool nochmal checken sollen.

Ich hatte die Festplatten nackt bekommen (Übrigends RMA-Ware aus Irland!) ohne Software o. Treiber. Woher bekomme ich dieses "Herstellertool"?

Gruss aus Vechta,

/David
 
Die Festplattenhersteller bieten i.d.R. kostenlose Diagnosetools zum Download an. Also einfach mal auf der entsprechenden Website schauen.
 
Ich hatte es mit einer neuen Platte versucht, aber das funktionierte auch nicht. (Selbes wie bei raidctl -R)
die man page von raidctl beschreibt zumindest unter netbsd exakt, wie man bei einem ausfall einer komponente vorgehen soll.

Ich habe ein intaktes Backup ;-)
gut :)

Den Part mit "Failure to keep parity correct" in der man-page habe ich überlesen (Warum?? WARUM?? Ich weiß es nicht... *heul*) weswegen mich die Parität nicht sonderlich interessiert hatte... Jetzt bin ich schlauer (RTFM, wo F = Full)
man sollte schon interesse fuer den wichtigsten teil einer loesung haben, sonst kann man es ja gleich lassen. :) wichtiger als eine loesung, die redundanz verspricht, ist naemlich, dass man im ernstfall weiss, was zu tun ist.

ich habe auch anderweitig schon oft erlebt, dass die tollsten features zum einsatz kommen aber im ernstfall die blanke panik ausbricht und keiner weiss, was zu tun ist und dadurch erst recht alles kaputtgemacht wird.

Ich hatte die Festplatten nackt bekommen (Übrigends RMA-Ware aus Irland!) ohne Software o. Treiber. Woher bekomme ich dieses "Herstellertool"?
der hersteller dieser platten heisst anscheinend "micronet" (habe ich persoenlich noch nie gehoert). laut webseite sind die "leader in storage technology", nunja..

das, was bei anderen herstellern gang und gaebe ist, naemlich ein tool zur festplatten-diagnose, habe ich dort auch nicht gefunden. man lernt halt nie aus, was es alles so an obskuren firmen gibt. damit ist der tipp von mir mit dem tool leider hinfaellig.
 
Micronet wird sich Platten von Markenherstellern günstig besorgen, umlabeln und unter eigenem Namen verkaufen. Normalerweise nimmt man für sowas halt RMA-Ware oder Platten die von größeren Anbietern vor Jahren auf Lager gelegt wurden um eventuelle Ausfälle schnell kompensieren zu können...

Wie dem auch sei:
- Die Smartmontools sind sehr hilfreich
- Auf der Ultimatebootcd ist eigentlich alles an Herstellertools drauf, was es gibt. Notfalls einfach durchprobieren :)
 
Zurück
Oben