Frage, Proxmox und defekter ZFS Pool


Domi

Member
Nabend in die Runde,

haben wir hier auch Leute die von ZFS und eventuell auch von Proxmox Erfahrung haben??

Bei mir im Keller steht ein Intel Core i5 mit vier HDDs drin, wovon zwei 6 TB WD Red verbaut sind, die ich von meinem alten HP Proliant Gen 8 noch übernommen habe.

Das System des Proxmox ist auf einer M.2 SSD (Samsung Pro irgendwas) installiert und funktioniert auch noch Problemlos.

Allerdings hat sich dann vorgestern mein Pool "WD6TB" der ein "mirror" war, verabschiedet. Ähnlich wie mit "mdadm" ging ich jetzt davon aus "macht nichts", nehme mir eine der beiden HDDs, binde sie ein, gucke noch eben ob ich da was zwischengelagert habe was gebraucht wird, ziehe das auf meine externe HDD und mache das ZFS wieder neu.

Aber irgendwie bekomme ich den Spaß nicht so einfach eingebunden, wie ich es mit "mdadm" kenne :(

Mein Gedanke war auch, bevor ich hier frage und als Antwort bekomme "frag mal im Proxmox Forum", frage ich doch direkt dort. Aber entweder hat keiner eine Idee als Hilfe, oder als neuer mag man mich nicht :D

Ich hab mit jeglicher Meldung (z.B. The pool cannot be imported due to damaged devices or data) die mir die Konsole ausgeworfen hatte, das Internet abgesucht, einige schienen sogar erfolgreich gewesen zu sein und konnten ihr ZFS wieder aufbauen, doch bei mir will das nicht so ganz klappen. Kumpel von mir der schon seit Jahren mit ZFS arbeitet, hatte zwar auch schon mal Probleme, da war dann aber eine HDD defekt und er konnte alles wieder neu konstruieren. Somit konnte er mir auch nicht weiterhelfen.

Die Daten auf dem ZFS sind nicht wirklich kritisch, da ist zu 95% das Backup von Backups drauf, aber ab und an landet da mal eben was als Zwischenablage zum Austausch zwischen Notebook und PC und wie das dann so ist, es liegt da noch. Daher wollte ich jetzt noch mal gucken was da liegt und ob das weg kann was da liegt, oder ob davon doch was ist wo ich sage "uff... das brauche ich doch noch" :D

Falls jemand einen Tipp oder eine Idee hat, nur her. Und wenn es gar nicht zu retten ist... dann ist es nicht zu retten ;)

Gruß, Domi
 
Allerdings hat sich dann vorgestern mein Pool "WD6TB" der ein "mirror" war, verabschiedet
Kannst du elaborieren wie sich der Pool verabschieded hat? Genau wie mdadm funktioniert ein mirror-Zpool auch auf einem Disk, ist aber "unhealthy".
 
In dem verlinkten Thread steht ja was von ewig rödelnden Platten an dessen Ende alles wieder ok war. Das hatte ich vor kurzem auch nach einem Servercrash. Anschließend haben die ZFS-Tools den Pool einmal komplett durchgeackert, weil das unsaubere herunterfahren bemerkt wurde und danach war alles wieder gut. Dabei ist ZFS sehr wenig verbose - um es mal ganz untertrieben zu sagen. Es gibt genau gar keine Ausgabe. Das Array rödelt halt so vor sich hin und ist je nach Kapazität halt irgendwann mal fertig und funktioniert dann hoffentlich wieder.

Bei Deinem Pool scheint da wohl einiges mehr kaputt gegangen zu sein.

Hast Du den Import mit beiden Platten einzeln probiert, oder nur mit einer? Evtl. geht's mit der anderen, noch nicht dafür benutzten Platte?

Domi(Proxmox-Forum) said:
Nachtrag: Ich habe noch ein wenig geguckt und wenn ich z.B. 'zpool clear WD6TB' eingebe, sagt mir das System dass es keinen Pool gibt. Falls das von Interesse ist.
Wenn der Pool nicht importiert werden kann, dann kannst Du auch keinen zpool clear ausführen, was auf aktiven Pools operiert. D. h. Du brauchst mindestens einen aktiven Pool für das Kommando.
 
@d4f hilfe, ich musste erst einmal gucken was "elaborieren" ist, obwohl ich es mir schon fast gedacht hatte :D

Allgemein gehalten, vermute ich dass eine WD Red defekt ist. Ich bin mir jetzt nicht mal sicher, kann sogar sein dass das schon Sonntag passiert ist mit dem Pool! Ich hab in meinen Containern sowie VMs Updates gemacht, anschließend auch auf der PVE ein "apt update && apt upgrade" durchgeführt, alles lief problemlos durch, anschließend reboot!

Bevor ich einen reboot durchführe, führe ich an meinem PC ein "ping -t" aus und gucke wann er weg und wieder da ist.

Komisch war, dass nach 10 Minuten der ping noch durch kam und das System nicht neu startete. Die Dienste waren aber schon alle weg, denn Zugriff via SSH oder Webinterface ging nicht mehr. Also noch ein wenig gewartet... in dem System ist leider kein iLO, DRAC oder IPMI verbaut, sonst hätte ich gucken können. Monitor ist keiner dran und das Teil steht relativ ungünstig im 19 Zoll Schrank, so dass ich dann einfach Power off, Power on gemacht habe.

Das System startete wieder normal hoch, einige VMs fuhren nicht hoch und somit schaute ich was los ist. Mein WD6TB hatte im Webinterface "status: unknown", also hab ich erst einmal das Medium von meiner VM entkoppelt, damit ein System hoch kommt welches ich haben wollte.

Am Folgetag als ich von der Arbeit kam, dann mal im netz geschaut... zu der Frage "welche Befehle" oder "welche Ausgaben" ich verwendet habe... wenn ich dran denke, mache ich mal ein Video, dann hat man mehrere Std. Videomaterial... Aber beim groben durch fliegen der "history" hab ich folgendes gesehen...
Code:
zpool import
zpool import WD6TB
zfs mount WD6TB
zpool import WD6TB WD6TB_temp
zpool import -f WD6TB WD6TB_temp
zpool import -a
zpool import -F
zpool import -FfmX WD6TB
zpool status
zpool status WD6TB
zpool import -f -FXn WD6TB
zpool import -Ffm WD6TB
mount /dev/sdb1 /mnt/wd6tb/
zpool import -R /mnt/wd6tb/ WD6TB
mount -t zfs /dev/sdb1 /mnt/wd6tb/
zfs list
zfs set mountpoint=/mnt/wd6tb WD6TB
zpool import -d /mnt/wd6tb/ WD6TB

Der eine oder andere Befehl ist in der history auch doppelt, dreifach und achtfach hinterlegt, falls man denkt ich hab selbst nichts ausprobiert.

Was den Pool selbst angeht, wäre es jetzt nicht tragisch ob er kaputt ist oder nicht... es sind ja zwei identische HDDs im "RAID1" nur als ZFS, daher wäre nun interessant wie ich eine der beiden HDDs mounten kann um zu gucken ob ich davon noch was retten sollte oder nicht, sonst RIP und neu aufbauen :)

Bei den Suchergebnissen bin ich auch im Proxmox Forum auf ein Topic gestoßen wo exakt der gleiche Fehler
Code:
root@pve01:~# zpool import -f WD6TB
cannot import 'WD6TB': I/O error
        Destroy and re-create the pool from
        a backup source.

auftauchte und er mit einem der "zpool import" Befehle es gangbar bekommen hat. Nur leider bei mir nicht :(

Über "lsblk" werden die HDDs auch normal angezeigt, dass klappt soweit noch.

Hoffe ich hab weit genug ausgeholt... :)

Gruß, Domi
 
Nochmal als Wiederholung, weil möglichweise als einfacher Edit untergegangen ist:

Hast Du den Import mit beiden Platten einzeln probiert, oder nur mit einer? Evtl. geht's mit der anderen, noch nicht dafür benutzten Platte?
 
Huhu.. ich hatte noch mal geschaut, ob ich noch einen anderen Befehl finde als die, die ich da in meiner Liste habe... Ja, ich hatte es mit beiden HDDs probiert und eben hab ich es noch mal mit was anderem Probiert was ich gefunden habe, aber auch da gab es keinen Erfolg.
Code:
root@pve01:~# zpool import -d /dev/sda1
   pool: WD6TB
     id: 16114471076361877143
  state: FAULTED
 status: The pool metadata is corrupted.
 action: The pool cannot be imported due to damaged devices or data.
        The pool may be active on another system, but can be imported using
        the '-f' flag.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-72
 config:

        WD6TB                                         FAULTED  corrupted data
          mirror-0                                    ONLINE
            sda                                       ONLINE
            ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB65ZRTL  ONLINE

root@pve01:~# zpool import -d /dev/sda2
no pools available to import

Oder bin ich hier auf dem Holzweg, suche nach dem falschen, finde dann die falschen Befehle und dabei ist es voll einfach und es ist irgend ein anderer Befehl?!
 
Moin, ich gucke nachher mal nach... Es kann sein, dass das gute Stichwörter sind... wenn ich das eingebe, kann ich ja mal schauen ob ich damit was passendes finde ;)

Nachtrag1: Alles klar, irgendwo ist da richtig der Wurm drin... es ist nicht mal möglich den Pool zu zerstören...
Code:
root@pve01:~# zpool import
   pool: WD6TB
     id: 16114471076361877143
  state: FAULTED
 status: The pool metadata is corrupted.
 action: The pool cannot be imported due to damaged devices or data.
        The pool may be active on another system, but can be imported using
        the '-f' flag.
    see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-72
 config:

        WD6TB                                         FAULTED  corrupted data
          mirror-0                                    ONLINE
            ata-WDC_WD60EFRX-68L0BN1_WD-WX1xxxxxKFJK  ONLINE
            ata-WDC_WD60EFRX-68L0BN1_WD-WX1xxxxxZRTL  ONLINE

root@pve01:~# zpool destroy WD6TB
cannot open 'WD6TB': no such pool

root@pve01:~# zpool destroy -f WD6TB
cannot open 'WD6TB': no such pool

root@pve01:~# zpool status
  pool: TO14TB
 state: ONLINE
  scan: scrub repaired 0B in 08:57:31 with 0 errors on Sun Oct  9 09:21:32 2022
config:

        NAME                                      STATE     READ WRITE CKSUM
        TO14TB                                    ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            ata-TOSHIBA_MG07ACA14TE_Z0xxxxxxx94G  ONLINE       0     0     0
            ata-TOSHIBA_MG07ACA14TE_Z0xxxxxxx94G  ONLINE       0     0     0

errors: No known data errors

root@pve01:~# zpool status -v
  pool: TO14TB
 state: ONLINE
  scan: scrub repaired 0B in 08:57:31 with 0 errors on Sun Oct  9 09:21:32 2022
config:

        NAME                                      STATE     READ WRITE CKSUM
        TO14TB                                    ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            ata-TOSHIBA_MG07ACA14TE_Z0xxxxxxx94G  ONLINE       0     0     0
            ata-TOSHIBA_MG07ACA14TE_Z0xxxxxxx94G  ONLINE       0     0     0

errors: No known data errors

Was ich auf jeden Fall sagen kann... egal wie ich versuche den Pool WD6TB anzusprechen, das System gibt ein "cannot open 'WD6TB': no such pool" zurück. Er ist da, er scheint auch zu existieren, aber aus irgend einem Grund ist er nicht ansprechbar. Hab mir sogar noch einmal hier, hier, hier und hier, dass eine oder andere angeschaut.

Zur Zeit läuft seit zwei Stunden ein "zpool import -FX WD6TB", mal gucken ob sich danach etwas tut.

Nachtrag2: Moin, es ist 9:40 und der erwähnte Befehl lief die ganze Nacht durch und so wie es aussieht, ist mein Pool wieder da...
Code:
root@pve01:~# zpool import -FX WD6TB

root@pve01:~# zpool status -v
  pool: TO14TB
 state: ONLINE
  scan: scrub repaired 0B in 08:57:31 with 0 errors on Sun Oct  9 09:21:32 2022
config:

        NAME                                      STATE     READ WRITE CKSUM
        TO14TB                                    ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            ata-TOSHIBA_MG07ACA14TE_Z0xxxxxxx94G  ONLINE       0     0     0
            ata-TOSHIBA_MG07ACA14TE_Z0xxxxxxx94G  ONLINE       0     0     0

errors: No known data errors

  pool: WD6TB
 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: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-9P
  scan: resilvered 2.73G in 00:03:51 with 0 errors on Fri Oct 21 00:43:05 2022
config:

        NAME                                          STATE     READ WRITE CKSUM
        WD6TB                                         ONLINE       0     0     0
          mirror-0                                    ONLINE      13     0     0
            ata-WDC_WD60EFRX-68L0BN1_WD-WXxxxxxxxFJK  ONLINE     262     0    43
            ata-WDC_WD60EFRX-68L0BN1_WD-WXxxxxxxxRTL  ONLINE     173     0     0

errors: No known data errors

Ich muss wohl mal beide HDDs prüfen... vielleicht sind auch schon beide defekt, was allerdings doof wäre, aber Hauptsache es läuft erst einmal. Wirklich wichtige Daten sind nicht drauf, aber eines der Backups was da drauf liegt wollte ich noch mal aufheben, falls die Person fragt ob ich das noch habe. Somit, alles gut! :)
 
Last edited:
@d4f hilfe, ich musste erst einmal gucken was "elaborieren" ist, obwohl ich es mir schon fast gedacht hatte :D
Ups :) Je mehr Sprachen desto exotischere Wortwahlen

Allgemein gehalten, vermute ich dass eine WD Red defekt ist. Ich bin mir jetzt nicht mal sicher, kann sogar sein dass das schon Sonntag passiert ist mit dem Pool! Ich hab in meinen Containern sowie VMs Updates gemacht, anschließend auch auf der PVE ein "apt update && apt upgrade" durchgeführt, alles lief problemlos durch, anschließend reboot!
Ich verstehe den Zusammenhang dahingehend nur nicht. Wenn du im Mirror-Verbund bist, dann kann dein System ja eben den Ausfall einer Platte verkraften. Mein erster Verdacht wäre eher Richtung Fehler im Bootloader der nur von einer der beiden booten kann (zB fehlende GPT Bootpartition, ...)

Dass ZFS lange rödelt an solchen Befehlen ist durchaus normal. Im Gegensatz zu neueren Dateisystemen beherrscht es nämlich nativen Schutz gegen u.a. Bitrot, was eine durchgängige Kontrolle der ganzen Platte notwendig macht bevor er sie als healthy ansehen kann.

Freut mich dass dein ZFS wieder steht!
 
Je mehr Sprachen desto exotischere Wortwahlen
Alles klar, weiß ich Bescheid... :)

Kommen wir zu meinem ZFS Phänomen... Ja, der Pool ist wieder da, ich ziehe dennoch mal ein Backup von allem. Ich kenne meine Pappenheimer, ich selbst denke mir "machst alles neu, scheiß drauf was da noch liegt" und dann meldet sich einer mit "du hattest doch mal die Daten von..." :)

Wenn du im Mirror-Verbund bist, dann kann dein System ja eben den Ausfall einer Platte verkraften.
Ja, dass ist etwas was mich bei dem Pool auch irritiert hatte. Eine HDD kann ja ruhig weg brechen, der Pool sollte dennoch weiterhin aktiv sein. Aber hier scheint der Fehler irgendwo anders gelegen haben. Wie erwähnt, dass gute ist... es geht wieder :)
 
Super, dass Du da weiter gekommen bist.

Das was über -X in der man-page steht, klingt jetzt nicht so vertrauenswürdig in Bezug auf das Ergebnis des Recovery.

Code:
-X     Used with the -F recovery option. Determines whether extreme measures to find a valid txg should take 
       place. This allows the pool to be rolled back to a txg which is no longer guaranteed to be consistent. Pools 
       imported at an inconsistent txg may contain uncorrectable checksum errors. For more details about pool 
       recovery mode, see the -F option, above. WARNING: This option can be extremely hazardous to the health 
       of your pool and should only be used as a last resort.

Wäre vielleicht noch gut andere Konstenzprüfungen - sofern möglich - durchzuführen(tar -t ?).
 
Last edited by a moderator:
Moin, der letzte Satz (die Warnung) deutet ja schon darauf hin, dass es die Brechstange ist und anscheinend war dass eine Lösung. Ich bin nun seit über 20 Jahren IT technisch aktiv und sehe oder lerne immer wieder die mysteriösen Dinge wo ich mit denke "das hat jetzt mal so gar keinen Sinn ergeben" und lasse es dann so stehen :)

Gestern kam ich nicht mehr dazu mal den zpool aufzulösen und neu aufzubauen, aber proxmox selbst sagt über das Webinterface, dass alles wieder OK ist. Hab nämlich nachdem der zpool wieder da war, mit scrub noch mal alles prüfen und bereinigen lassen.

Bezüglich der Prüfung... ist 'tar' nicht nur zum packen und entpacken?!
 
Bezüglich der Prüfung... ist 'tar' nicht nur zum packen und entpacken?!
Weder noch. tar für sich erzeug bzw. liest nur einen zusammenhängenden, unkomprimierten, Datenstrom (Archiv). Erst ein z.B. -z piped dann diesen Datenstrom nach GZip, daher die gebräuchliche Endung .tar.gz welche suggestiert das hier eigentlich zwei Programme im Spiel sind.
 
Last edited:
Ich hab 'tar' immer nur zum archivieren (in Kombination mit -z) verwendet... ich teste das nachher mal und gebe ein Feedback.
 
Moin, der letzte Satz (die Warnung) deutet ja schon darauf hin, dass es die Brechstange ist und anscheinend war dass eine Lösung. Ich bin nun seit über 20 Jahren IT technisch aktiv und sehe oder lerne immer wieder die mysteriösen Dinge wo ich mit denke "das hat jetzt mal so gar keinen Sinn ergeben" und lasse es dann so stehen :)

Du sagst, das sei eine Lösung. Ich frage mich, was für eine Lösung das ist. Du hast jetzt einen Bithaufen bekommen und über die Konsistenz davon hast Du die Aussage: This allows the pool to be rolled back to a txg which is no longer guaranteed to be consistent.

Wenn Du Glück hast, hast Du jetzt valide Daten. Die Aussage aus der Manpage ist, dass möglicherweise eine unbekannte Menge davon Schrott ist. Wenn die Daten eher nicht wichtig sind - so wie hier - ist das ja ok.
 
Ich frage mich [...]
Ich nicht... ich habe Daten, kann gucken ob da nicht doch noch etwas wichtiges bei ist (hab zufällig doch zwei Dateien gefunden) und fertig ist :)

Hab auch mal das eine oder andere Backuparchiv angeschaut, sieht ebenfalls gut aus. Wenn jetzt doch eines dabei ist welches kaputt ist, dann ist das so. Mein innerer Monk ist erst einmal befriedigt, ich konnte nachschauen.
 
Back
Top