Ich frage mich, was passiert ist, wie ZFS vollständig wiederhergestellt werden konnte oder ob meine Daten wirklich noch intakt sind.
Als ich gestern Abend nach Hause kam, sah ich dies zu meinem Entsetzen und dann zu meiner Verwirrung.
zpool status
pool: san
state: DEGRADED
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: resilvered 392K in 0h0m with 0 errors on Tue Jan 21 16:36:41 2020
config:
NAME STATE READ WRITE CKSUM
san DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346 ONLINE 0 0 0
ata-ST2000DM001-9YN164_W1E07E0G DEGRADED 0 0 38 too many errors
ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332 DEGRADED 0 0 63 too many errors
ata-ST2000NM0011_Z1P07NVZ ONLINE 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344 ONLINE 0 0 0
wwn-0x50014ee20949b6f9 DEGRADED 0 0 75 too many errors
errors: No known data errors
Wie ist es möglich, dass keine Datenfehler auftreten und nicht der gesamte Pool fehlerhaft ist?
Bei einem Laufwerk sdf
liegt ein Smartctl-Testfehler gegenüber SMART vor read fail
, bei den anderen liegt ein etwas kleineres Problem vor: nicht korrigierbare/ausstehende Sektoren oder UDMA-CRC-Fehler.
Ich habe versucht, jedes fehlerhafte Laufwerk einzeln offline und dann wieder online zu schalten, aber das hat nicht geholfen.
$ zpool status
pool: san
state: DEGRADED
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: resilvered 392K in 0h0m with 0 errors on Tue Jan 21 16:36:41 2020
config:
NAME STATE READ WRITE CKSUM
san DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346 ONLINE 0 0 0
ata-ST2000DM001-9YN164_W1E07E0G DEGRADED 0 0 38 too many errors
ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332 OFFLINE 0 0 63
ata-ST2000NM0011_Z1P07NVZ ONLINE 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344 ONLINE 0 0 0
wwn-0x50014ee20949b6f9 DEGRADED 0 0 75 too many errors
Ich hatte also großes Glück oder war etwas verwirrt, ob meine Daten tatsächlich alle noch da sein könnten. Nach einer Überprüfung auf das defekte Laufwerk habe ich es durch mein einziges Ersatzlaufwerk ersetzt.
$ zpool status
pool: san
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Tue Jan 21 17:33:15 2020
467G scanned out of 8.91T at 174M/s, 14h10m to go
77.6G resilvered, 5.12% done
config:
NAME STATE READ WRITE CKSUM
san DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346 ONLINE 0 0 0
replacing-1 DEGRADED 0 0 0
ata-ST2000DM001-9YN164_W1E07E0G OFFLINE 0 0 38
ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1171516 ONLINE 0 0 0 (resilvering)
ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332 DEGRADED 0 0 63 too many errors
ata-ST2000NM0011_Z1P07NVZ ONLINE 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344 ONLINE 0 0 0
wwn-0x50014ee20949b6f9 DEGRADED 0 0 75 too many errors
Die Neuversilberung wurde erfolgreich abgeschlossen.
$ zpool status
pool: san
state: DEGRADED
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: resilvered 1.48T in 12h5m with 0 errors on Wed Jan 22 05:38:48 2020
config:
NAME STATE READ WRITE CKSUM
san DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346 ONLINE 0 0 0
ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1171516 ONLINE 0 0 0
ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332 DEGRADED 0 0 63 too many errors
ata-ST2000NM0011_Z1P07NVZ ONLINE 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344 ONLINE 0 0 0
wwn-0x50014ee20949b6f9 DEGRADED 0 0 75 too many errors
Ich stehe gerade an einem Scheideweg. Normalerweise setze ich dd
die ersten 2 MB des fehlerhaften Laufwerks auf Null und ersetze sie durch sich selbst, was für mich kein Problem ist. Wenn jedoch wirklich Daten fehlen, brauche ich möglicherweise diese letzten beiden Datenträger, um die Daten wiederherzustellen.
Ich habe das sdf
jetzt entfernt auf meinem Schreibtisch liegen. Ich denke, ich kann es im schlimmsten Fall zur Genesung verwenden.
In der Zwischenzeit werde ich wohl die ersten paar MB des defekten Laufwerks auf Null setzen und durch sich selbst ersetzen. Dann sollte es wohl klappen. Das Ganze dann für das zweite defekte Laufwerk wiederholen, bis ich ein paar Ersatzteile zur Hand habe.
Frage Was ist passiert, wie konnte der Pool durchhalten oder fehlen mir möglicherweise Daten (was angesichts der Integrität von ZFS und seinen Berichten zweifelhaft ist)
Könnte es an einer glücklichen Reihenfolge der Fehler gelegen haben, z. B. dass nicht das oberste Laufwerk des Stapels ausgefallen ist?
Frage Dies ist nur zu Ihrer Information und hat nichts mit dem Thema zu tun. Was hat dazu geführt, dass alle 3 gleichzeitig ausgefallen sind? Ich denke, es war ein Scrub, der der Auslöser war. Ich habe am Abend zuvor nachgesehen und alle Laufwerke waren online.
Beachten Sie, dass die Verkabelung in der jüngsten Vergangenheit ein Problem war. Im Büro wird es nachts kalt, aber diese Probleme waren nur vorübergehend drive unavailable
und keine Prüfsummenfehler. Ich denke, das liegt nicht an der Verkabelung, sondern vielleicht an den alternden Laufwerken, die 5 Jahre alt sind. Aber 3 Ausfälle an einem Tag? Komm schon, das reicht, um vielen von uns Angst zu machen!
Antwort1
RAID-Z2 ist doppelte Parität, Redundanz ähnlich wie RAID 6. Zwei Festplatten könnten komplett ausfallen und Daten könnten durch Parität wiederhergestellt werden. Vorausgesetzt, der Rest des Arrays ist fehlerfrei.
Es traten nicht unbedingt E/A-Fehler auf.DEGRADED bedeutet, dass ZFS weiterhin die Festplatte verwendet, trotz Prüfsummenfehler. Vielleicht wegen ein paar Bit-Flips, aber das Laufwerk funktioniert immer noch.der Linkaus dieser Ausgabe:
Führen Sie „zpool status -x“ aus, um zu ermitteln, in welchem Pool Fehler aufgetreten sind.
Suchen Sie das Gerät mit einer Fehleranzahl ungleich Null für READ, WRITE oder CKSUM. Dies weist darauf hin, dass bei dem Gerät ein Lese-E/A-Fehler, ein Schreib-E/A-Fehler oder ein Prüfsummenvalidierungsfehler aufgetreten ist. Da das Gerät Teil eines Spiegel- oder RAID-Z-Geräts ist, konnte ZFS den Fehler beheben und anschließend die beschädigten Daten reparieren.
Wenn diese Fehler über einen bestimmten Zeitraum bestehen bleiben, kann ZFS feststellen, dass das Gerät fehlerhaft ist, und es als solches kennzeichnen. Diese Fehleranzahl kann jedoch ein Hinweis darauf sein, dass das Gerät unbrauchbar ist, muss es aber nicht.
In Bezug auf den Laufwerkszustand:
vielleicht veraltete Laufwerke, die 5 Jahre alt sind. Aber 3 Ausfälle an einem Tag? Komm schon, das reicht, um vielen von uns Angst zu machen!
Jetzt wichtige Daten testen und wiederherstellen. Von einem anderen Medium, nicht von diesem Array.
Ersetzen Sie Laufwerke, deren Leistung weiterhin beeinträchtigt ist. Auf jeden Fall, wenn der Kernel E/A-Fehler im Syslog meldet. Wenn Sie unter Garantie oder Supportvertrag stehen, nutzen Sie diesen. Wenn die Garantie abgelaufen ist, hat der Hersteller darauf gewettet, dass sie nicht so lange halten, also berücksichtigen Sie das.