Ich habe ein trauriges RAID-Array auf einer 3ware 9650SE-16ML-Karte. Was ich nicht sagen kann, ist, ob ich gerade einen doppelten Festplattenausfall hatte (Mist!) oder ob ich das falsch lese. Die relevante Ausgabe ist /c0 show all
:
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 DEGRADED u0 931.51 GB 1953525168 5QJ07MAH
p1 ECC-ERROR u0 931.51 GB 1953525168 5QJ0DCW9
p2 OK u0 931.51 GB 1953525168 5QJ0DW9C
p3 OK u0 931.51 GB 1953525168 5QJ0CKXJ
Und der Fehler ist (von show alarms
):
Ctl Date Severity Alarm Message
------------------------------------------------------------------------------
c0 [Sun Nov 20 07:47:23 2011] INFO Rebuild started: unit=0
c0 [Sun Nov 20 08:20:12 2011] ERROR Drive ECC error reported: port=1, unit=0
c0 [Sun Nov 20 08:20:12 2011] ERROR Source drive error occurred: port=1, unit=0
c0 [Sun Nov 20 08:20:12 2011] ERROR Rebuild failed: unit=0
c0 [Sun Nov 20 08:20:12 2011] INFO Rebuild paused: unit=0
ICHdenkenDas Folgende ist passiert: p0 ist fehlgeschlagen und dann hatte p1 einen ECC-Fehler (d. h. meine Daten sind weg). Aber ... vielleicht auch nicht? Es bleibt bei 97 % Wiederherstellung, kann diesen Fehler aber nicht überwinden.
Soweit ich weiß, hat ein früherer Administrator die regelmäßige Überprüfung deaktiviert, was uns in diesen Zustand gebracht hat. Darüber müssen sich die meisten Leute bei ihren 3Ware-RAIDs keine Sorgen machen!
Aktualisieren
Nachdem ich ein paar Tage daran herumgebastelt hatte, habe ich den IgnoreECC-Teil ausgeführt und es wurde neu aufgebaut, aber meine Daten sind ruiniert. Schade.
Antwort1
Ein ECC-Fehler bedeutet, dass sich auf dem Laufwerk mindestens ein nicht lesbarer Sektor befindet. Wenn Sie Glück haben, wird dieser Sektor jedoch möglicherweise nicht vom Dateisystem auf diesem Datenträger verwendet, sodass Sie Ihre Daten in diesem Zustand möglicherweise noch vom Array kopieren können.
Es gibt auch einige Optionen, um ECC-Fehler während des Neuaufbaus zu ignorieren:
/cx/ux start rebuild disk=p [ignoreECC]
/cx/ux set ignoreECC=on|off
Die Verwendung dieser Optionen bedeutet jedoch, dass der von einem fehlerhaften Sektor betroffene RAID-Streifen beschädigt wird (ich bin nicht sicher, was die Karte in diesem Fall genau tun wird – sie könnte den gesamten Streifen durch Nullen oder sogar durch zufällige Daten ersetzen), sodass das „wiederhergestellte“ Array tatsächlich eine nicht erkennbare Beschädigung aufweisen könnte (wenn sich der betroffene Streifen in der Mitte einer Datendatei befand). Das Kopieren Ihrer Daten vom Array an einen anderen Ort vor dem Wiederherstellungsversuch könnte sicherer sein (zumindest sollten Sie beim Versuch, den fehlerhaften Bereich zu lesen, Fehlermeldungen erhalten).
Sie sollten eine zeitgesteuerte Überprüfung des Arrays einrichten, um nicht lesbare Sektoren früher zu erkennen, sodass Sie ein Laufwerk ersetzen können, das gerade seinen Dienst versagt hat.
Antwort2
Ich habe noch nie erlebt, dass ein physisches Laufwerk (p0) in den Status DEGRADED wechselte. Sie können jedoch möglicherweise das ECC-ERROR-Laufwerk oder sogar das DEGRADED-Laufwerk wiederherstellen, indem Sie sie über
/c0 p1 remove
und anschließend einen erneuten Scan ausführen
/c0 rescan
stecke sie zurück in die Raid-Einheit über
maint rebuild c0 u0 p1
SATA-Laufwerke, die mit einem ECC-Fehler ausgefallen sind, konnte ich wiederbeleben, wenn auch nur für ein paar Stunden, bevor sie erneut ausfielen.
Antwort3
Es ist sehr wahrscheinlich, dass Ihre Daten verloren sind. Ein ECC-Fehler bedeutet einen nicht behebbaren Fehler beim Lesen von dieser Festplatte.
Wenn Sie kein Backup haben, können Sie versuchen, den aktuellen Zustand des Arrays zu sichern. Dies ist möglicherweise möglich, weil der Controller nicht weiß, ob Daten verloren gegangen sind oder nur ein leerer Bereich vorhanden ist (ihm fehlt der Einblick in das Dateisystem).