sterbender ZFS Pool meldet seltsame Dinge

-Nuke-

Well-Known Member
Hallo,

in einem RAID-Z2 Pool sterben bei mir gerade mehrere Platten gleichzeitig. Die Frage ist jetzt, wie ich das hier zu verstehen habe:

zpool status:
Code:
  pool: datatank
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A
  scan: resilvered 6.76M in 00:00:04 with 0 errors on Thu Jan 11 16:02:09 2024
config:

        NAME               STATE     READ WRITE CKSUM
        datatank           DEGRADED     0     0     0
          raidz2-0         DEGRADED     0     0     0
            gpt/datadisk1  ONLINE       0     0  263K
            gpt/datadisk2  ONLINE       0     0  252K
            gpt/datadisk3  ONLINE       0     0  307K
            gpt/datadisk4  ONLINE       0     0  321K
            gpt/datadisk5  ONLINE       0     0  319K
            gpt/datadisk6  FAULTED     94    85     0  too many errors
            gpt/datadisk7  FAULTED     28 4.97K     0  too many errors
            gpt/datadisk8  ONLINE       0     0  325K

errors: 18 data errors, use '-v' for a list

18 data errors also. Gut, jetzt wollte ich, wie da steht, eine Liste haben...
zpool status -v:
Code:
  pool: datatank
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A
  scan: resilvered 6.76M in 00:00:04 with 0 errors on Thu Jan 11 16:02:09 2024
config:

        NAME               STATE     READ WRITE CKSUM
        datatank           DEGRADED     0     0     0
          raidz2-0         DEGRADED     0     0     0
            gpt/datadisk1  ONLINE       0     0  263K
            gpt/datadisk2  ONLINE       0     0  252K
            gpt/datadisk3  ONLINE       0     0  307K
            gpt/datadisk4  ONLINE       0     0  321K
            gpt/datadisk5  ONLINE       0     0  319K
            gpt/datadisk6  FAULTED     94    85     0  too many errors
            gpt/datadisk7  FAULTED     28 4.97K     0  too many errors
            gpt/datadisk8  ONLINE       0     0  325K

errors: Permanent errors have been detected in the following files:

Nun gut... keine sehr ergiebige Liste. xD
zpool status -v:
Code:
pool: datatank
state: DEGRADED
status: One or more devices are faulted in response to persistent errors.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Replace the faulted device, or use 'zpool clear' to mark the device
        repaired.
  scan: resilvered 6.76M in 00:00:04 with 0 errors on Thu Jan 11 16:02:09 2024
config:

        NAME               STATE     READ WRITE CKSUM
        datatank           DEGRADED     0     0     0
          raidz2-0         DEGRADED     0     0     0
            gpt/datadisk1  ONLINE       0     0  263K
            gpt/datadisk2  ONLINE       0     0  252K
            gpt/datadisk3  ONLINE       0     0  307K
            gpt/datadisk4  ONLINE       0     0  321K
            gpt/datadisk5  ONLINE       0     0  319K
            gpt/datadisk6  FAULTED     94    85     0  too many errors
            gpt/datadisk7  FAULTED     28 4.97K     0  too many errors
            gpt/datadisk8  ONLINE       0     0  325K

errors: No known data errors

Äh was? Jetzt ist wieder alles OK? Gibt es noch einen anderen Weg da irgendwo nachzuschauen?
 
In meinem NAS hatte ich öfter mal das Problem, dass ich Disk Faults bekomme weil der Connector von der Power-Schiene am Plattenkäfig locker war. Weder MOLEX noch SATA Power halten da besonders gut. :mad:

Wenn Du so etwas ausschließen kannst würde ich so schnell wie möglich die Platten Tauschen. Dein RAID ist ja nun einen Ausfall vom Totalschaden weg. Beim Resilvern muss er dann ja komplett alle Daten lesen und wird Dir alle Fehler entweder liefern oder sie werden sich auflösen.
 
Ich muss gerade noch überlegen was ich tun will. Ob ich da jetzt noch die Platten tausche, oder gleich ein ganz neues System hinstelle. Frage ist aber mehr, ob jetzt wirklich Dateien beschädigt sind, oder nicht.

Aktuell läuft ein Vollbackup, solange fasse ich das System erst mal nicht an :D
 
Nach dem Backup disk7 (weil die die meisten Fehler hat) tauschen (Notizzettel dran, dass das disk7 ist und auf die Seite legen, ggf. brauchen wir sie später noch), resilver, gucken was passiert.
Wenn alles gut bis hierher, disk6 tauschen, gleiches Prozedere.
Viel Glück! :)


Edit:
Achja, smartctl -x beider disks wäre noch interessant zu sehen. Eventuell haben die disks selber keinen Oberflächenfehler, zwei disks gleichzeitig sterbend ist doch etwas fischig.
 
die beiden Platten sind ja schon nicht mehr ONLINE.
Da können sie auch keinen Beitrag mehr zum Pool leisten und ich denke, die können dann auch gleichzeitig getauscht werden, weil es keine Sicherheit mehr bringt, eine FAULTED Platte im Pool zu lassen.
Denke ich zumindest mal.
 
Faulted heißt nicht offline und je nachdem ob man es nach dem resilver noch braucht und nach Beschädigungsgrad der Platte kann es sein, dass man noch benötigte Bits runterkratzen kann. Gerade auch mit Blick auf den Temperaturwechsel und wenn sie dann neu anläuft....'wenn'. ;)
Btw. der resilver wird nicht schneller bei zwei gleichzeitig getauschten, er läuft trotzdem pro Platte einmal durch.

Es kann natürlich auch sein, dass ein physischer Wackler oder in der Spannungsversorgung besteht...dann besteht auch die Möglichkeit, dass der pool nach erneutem scrub plötzlich wieder healthy ist.
 
Hallo...

ein Backup (zuerst) ist immer sinnvoll... erstmal durchlaufen lassen. Ich hatte mal einen Sun Server mit 48 Platten. Und alle 2-4 Monate fiel eine Platte aus. Der lief zu Anfang unter Solaris, später unter FreeBSD... egal. Platte gewechselt, resilvert und alles war wieder okay... Ich hatte nie Datenverlust, obwohl ich zum Ende hin fast 50% der Platten verloren habe...

VG Norbert
 
Faulted heißt nicht offline
Indirekt schon, deshalb ist der Pool ja degraded, die Platte steht dem Pool nicht mehr zur Verfügung.
Man kann versuchen, sie mit zpool offline $poolname $device und anschließendem zpool online $poolname $device wieder einzubinden, es erfolgt dann das resilver.

Rob
 
Zurück
Oben