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 status
Ausgabe 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 <MPT-FusionLinux.pdl@avagotech.com>
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 dmesg
Ausgabe. 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=12
zu 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.