ZFS-Prüfsummenfehler, wann ersetze ich das Laufwerk?

9

Ich bin ziemlich neu in ZFS und habe ein einfaches gespiegeltes Speicherpool-Setup mit 8 Laufwerken. Nach einigen Wochen schien ein Laufwerk viele Fehler zu verursachen, daher habe ich es ersetzt.

Es vergehen noch ein paar Wochen und jetzt tauchen überall im Pool kleine Fehler auf (siehe zpool statusAusgabe unten). Sollte ich mir darüber Sorgen machen? Wie kann ich feststellen, ob der Fehler darauf hinweist, dass das Laufwerk ausgetauscht werden muss?

# zpool status
  pool: storage
 state: ONLINE
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: scrub repaired 22.5K in 1h18m with 0 errors on Sun Jul 10 03:18:42 2016
config:

        NAME        STATE     READ WRITE CKSUM
        storage     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            enc-a   ONLINE       0     0     2
            enc-b   ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            enc-c   ONLINE       0     0     0
            enc-d   ONLINE       0     0     2
          mirror-2  ONLINE       0     0     0
            enc-e   ONLINE       0     0     2
            enc-f   ONLINE       0     0     1
          mirror-3  ONLINE       0     0     0
            enc-g   ONLINE       0     0     0
            enc-h   ONLINE       0     0     3

errors: No known data errors

ZFS fordert mich hilfreich auf, festzustellen, ob das Gerät ersetzt werden muss ..., aber ich bin mir nicht sicher, wie ich das tun soll. Ich habe den Artikel gelesen, auf den verwiesen wurde, der hilfreich, aber nicht genau schlüssig war.

Ich habe mir die SMART-Testergebnisse für die betroffenen Laufwerke angesehen und nichts ist mir herausgesprungen (alle Tests wurden ohne Fehler abgeschlossen), aber ich kann die SMART-Daten auch veröffentlichen, wenn dies hilfreich wäre.

Update: Während ich mich auf den Neustart von Memtest86 + vorbereitete, bemerkte ich viele Fehler auf der Konsole. Normalerweise bin ich SSH, also habe ich sie vorher nicht gesehen. Ich bin nicht sicher, welches Protokoll ich hätte überprüfen sollen, aber der gesamte Bildschirm war mit Fehlern gefüllt, die so aussehen (nicht meine genaue Fehlerzeile, ich habe sie nur aus einem anderen Forum kopiert):

blk_update_request: I/0 error, dev sda, sector 220473440

Von einigen Googlern scheint es, dass dieser Fehler auf ein schlechtes Laufwerk hinweisen kann, aber es fällt mir schwer zu glauben, dass sie alle auf einmal so ausfallen. Gedanken darüber, wohin man von hier aus gehen soll?

Update 2: Ich bin auf dieses ZOL-Problem gestoßen, das anscheinend mit meinem Problem zusammenhängt. Wie das dortige OP verwende ich hdparm, um meine Laufwerke herunterzufahren, und ich sehe ähnliche ZFS-Prüfsummenfehler und blk_update_request-fehler. Auf meinem Computer wird Memtest noch ausgeführt, daher kann ich meine Kernel- oder ZFS-Version derzeit nicht überprüfen, aber dies scheint zumindest eine Möglichkeit zu sein. Ich habe auch diese ähnliche Frage gesehen, die irgendwie entmutigend ist. Kennt jemand Probleme mit ZFS und dem Herunterfahren von Laufwerken?

Update 3: Könnte eine nicht übereinstimmende Firmware- und Treiberversion auf dem LSI-Controller solche Fehler verursachen? Es sieht so aus, als würde ich eine Treiberversion von 20.100.00.00 und eine Firmware-Version von 17.00.01.00 ausführen. Würde es sich lohnen, zu versuchen, die aktualisierte Firmware auf der Karte zu flashen?

# modinfo mpt2sas
filename:       /lib/modules/3.10.0-327.22.2.el7.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
version:        20.100.00.00
license:        GPL
description:    LSI MPT Fusion SAS 2.0 Device Driver
author:         Avago Technologies <[email protected]>
rhelversion:    7.2
srcversion:     FED1C003B865449804E59F5

# sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18) 
Copyright (c) 2008-2014 LSI Corporation. All rights reserved 

    Adapter Selected is a LSI SAS: SAS2308_2(D1) 

Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
----------------------------------------------------------------------------

0  SAS2308_2(D1)   17.00.01.00    11.00.00.05    07.33.00.00     00:04:00:00

Update 4: Weitere Fehler in der dmesgAusgabe. Ich bin nicht sicher, was diese ausgelöst hat, aber ich habe sie bemerkt, nachdem ich alle Laufwerke im Array abgehängt habe, um die Firmware des LSI-Controllers zu aktualisieren. Ich werde ein bisschen warten, um zu sehen, ob das Firmware-Update das Problem behoben hat, aber hier sind die Fehler in der Zwischenzeit. Ich bin mir nicht sicher, was sie bedeuten.

[87181.144130] sd 0:0:2:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144142] sd 0:0:2:0: [sdc] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144148] blk_update_request: I/O error, dev sdc, sector 889461969
[87181.144255] sd 0:0:3:0: [sdd] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144259] sd 0:0:3:0: [sdd] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144263] blk_update_request: I/O error, dev sdd, sector 889461969
[87181.144371] sd 0:0:4:0: [sde] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144375] sd 0:0:4:0: [sde] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144379] blk_update_request: I/O error, dev sde, sector 922978096
[87181.144493] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144500] sd 0:0:5:0: [sdf] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144505] blk_update_request: I/O error, dev sdf, sector 922978096
[87191.960052] sd 0:0:6:0: [sdg] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960063] sd 0:0:6:0: [sdg] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960068] blk_update_request: I/O error, dev sdg, sector 906238044
[87191.960158] sd 0:0:7:0: [sdh] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960162] sd 0:0:7:0: [sdh] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960179] blk_update_request: I/O error, dev sdh, sector 906238044
[87195.864565] sd 0:0:0:0: [sda] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87195.864578] sd 0:0:0:0: [sda] CDB: Write(10) 2a 00 37 03 7c 68 00 00 20 00
[87195.864584] blk_update_request: I/O error, dev sda, sector 922975336
[87198.770065] sd 0:0:1:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87198.770078] sd 0:0:1:0: [sdb] CDB: Write(10) 2a 00 37 03 7c 88 00 00 20 00
[87198.770084] blk_update_request: I/O error, dev sdb, sector 922975368

Update 5: Ich habe die Firmware für den LSI-Controller aktualisiert, aber nach dem Löschen der ZFS-Fehler und dem Scrubben sehe ich dasselbe Verhalten (kleinere Prüfsummenfehler auf einigen Laufwerken). Der nächste Schritt ist die Aktualisierung der Firmware auf den Laufwerken selbst.

Update 6: Ich habe den PCI-Riser ersetzt, nachdem ich in einigen Foren gelesen hatte, dass andere Personen mit dem U-NAS NSC800-Fall Probleme mit dem bereitgestellten Riser hatten. Es gab keine Auswirkung auf die Prüfsummenfehler. Ich habe das HDD-Firmware-Update verschoben, weil der Prozess so schmerzhaft ist, aber ich denke, es ist Zeit, es aufzusaugen und ein bootfähiges DOS-Flash-Laufwerk zu erstellen.

Update 7: Ich habe die Firmware auf den drei Seagate-Laufwerken aktualisiert. Auf den anderen Laufwerken war entweder kein Firmware-Update verfügbar oder ich konnte es nicht erhalten (Western Digital teilte mir mit, dass für mein Laufwerk kein Firmware-Update vorhanden war). Nach einem ersten Peeling sind keine Fehler aufgetreten, aber ich werde es mindestens ein oder zwei Wochen geben, bevor ich sage, dass dies das Problem gelöst hat. Es ist mir sehr unwahrscheinlich, dass die Firmware auf drei Laufwerken den gesamten Pool so beeinflusst.

Update 8: Die Prüfsummenfehler sind wie zuvor zurück. Ich könnte ein Firmware-Update für das Motherboard prüfen, aber an diesem Punkt bin ich ratlos. Es wird schwierig / teuer sein, die verbleibenden physischen Komponenten (Controller, Backplane, Verkabelung) auszutauschen, und ich bin mir nicht 100% sicher, dass dies kein Problem mit meinem Setup ist (ZFS + Linux + LUKS + Herunterfahren von inaktiven Laufwerken). Alle anderen Ideen sind willkommen.

Update 9: Ich versuche immer noch, dieses aufzuspüren. Ich bin auf diese Frage gestoßen, die einige Ähnlichkeiten mit meiner Situation hatte. Also habe ich den Zpool neu aufgebaut, um ashift=12zu sehen, ob das Problem dadurch behoben wird (kein Glück). Dann biss ich in die Kugel und kaufte einen neuen Controller. Ich habe gerade eine Supermicro AOC-SAS2LP-MV8 HBA-Karte installiert . Ich werde es ein oder zwei Wochen dauern, um zu sehen, ob dies das Problem löst.

Update 10: Nur um dies zu schließen. Es ist ungefähr 2 Wochen her, seit die neue HBA-Karte eingeführt wurde, und auf die Gefahr hin, sie zu verhexen, habe ich seitdem keine Prüfsummenfehler mehr gehabt. Ein großes Dankeschön an alle, die mir geholfen haben, dieses Problem zu lösen.

Dominic P.
quelle
2
Können Sie uns mehr über die Hardware erzählen? Wenn diese Fehler auf mehreren Laufwerken auftreten, deutet dies eher auf ein Problem mit der Rückwandplatine / dem Controller / der Verkabelung als auf ein Festplattenproblem hin.
ewwhite
Daran hatte ich nicht gedacht. Die Laufwerke befinden sich in einem U-NAS NSC-800-Gehäuse , das mit einer eingebauten SATA / SAS-Rückwandplatine geliefert wurde. Dies ist über 2 Mini-Sas-Anschlüsse mit einem LSI SAS 9207-8i HBA verbunden. Dies wird über einen PCI-Riser, der mit dem Gehäuse geliefert wurde, an einen Supermicro MBD-X10SDV-4C angeschlossen .
Dominic P
1
Ist dein RAM in Ordnung? Ich hatte ähnliche Fehler, als ein Speichermodul fehlerhaft war - keine Festplattenfehler, aber einige (geringe) Prüfsummenfehler auf allen Laufwerken.
user121391
1
Dass es am wahrscheinlichsten ist, dass der Controller an dieser Stelle offensichtlich ist. Eigentlich war es vor einiger Zeit mit "Update 4" offensichtlich.
Michael Hampton
1
Gern geschehen @ hak8or. Die Leute auf dieser Seite haben mir sehr geholfen, daher ist es schön zu hören, dass mein Beispiel jemand anderem helfen könnte.
Dominic P

Antworten:

6

Wenn diese Fehler auf mehreren Laufwerken auftreten, deutet dies eher auf ein Backplane- / Controller- / Verkabelungsproblem als auf ein Festplatten- oder RAM-Problem hin.

ewwhite
quelle
Danke für die Hilfe. Ich bin derzeit nicht in der Lage, alle diese Komponenten auszutauschen. Haben Sie einen Vorschlag, wie ich ihn eingrenzen könnte oder was der wahrscheinlichste Schuldige sein könnte?
Dominic P
Versuchen Sie Firmware-Updates aller betroffenen Komponenten. Sind das SATA-Festplatten?
ewwhite
Ich werde es tun, danke. Ich beginne mit dem Firmware-Update auf dem Controller, da ich an anderer Stelle gesehen habe, dass die Firmware- und Treiberversionen übereinstimmen sollten (siehe Update 3 zu meiner Frage). Ja, es handelt sich bei allen um 1-TB-SATA-Festplatten, und ich erinnere mich, smartctldass für einige der von mir verwendeten Seagate-Festplatten ein Firmware-Update verfügbar war. Daher werde ich sie auch aktualisieren.
Dominic P
7

Meine allgemeine Faustregel lautet: Wenn die Fehler unerwartet weiter zunehmen, muss die Festplatte ersetzt werden. Wenn es statisch ist, liegt möglicherweise ein vorübergehender Zustand vor, der den Fehler verursacht hat, und das System reproduziert nicht die Zustände, die Probleme verursacht haben.

Ein paar Prüfsummenfehler weisen nicht unbedingt auf einen mechanischen Fehler des Laufwerks hin (Bit Rot tritt auf, ZFS erkennt es nur, während andere Dateisysteme dies nicht tun). Wenn diese Fehler jedoch im Laufe einer Stunde aufgetreten sind, ist dies ein Fehler eine ganz andere Situation als im Laufe eines Jahres.

Shane Madden
quelle