ZFS Recovery Mirror-0 UNAVAIL fehlendes Gerät

ZFS Recovery Mirror-0 UNAVAIL fehlendes Gerät

Ich bin neu bei ZFS und habe einiges total vermasselt. Ich hatte mehrere ZFS-Pools, weil ich nicht wusste, dass man separate Spiegel unter demselben Pool haben kann. Ich baue das Array immer noch neu auf, also war einer meiner Spiegel leer. Ich habe ihn zerstört, ihn dem Hauptpool hinzugefügt und alles war gut.

Ich habe dann versucht, die Leseeigenschaft dieses Spiegels auf schreibgeschützt zu setzen, aber es ging nicht. Dann habe ich versucht, nur diesen Spiegel zu entfernen, aber es ging nicht. Schließlich habe ich versucht, den Pool zu exportieren, und ich habe den 2. Spiegel (der keine Daten hatte) überschrieben und versucht, den Hauptpool zu importieren. Ich dachte, es würde angezeigt werden, dass dieser Spiegel fehlte/degradiert war, aber der 1. Spiegel wäre in Ordnung, aber nicht so viel Glück. Ich kann den Zpool jetzt überhaupt nicht importieren, obwohl (ich vermute) Spiegel-0 korrekt funktioniert.

Ich frage mich, ob es eine Möglichkeit gibt, das zu umgehen. Ich dachte daran, die UUID/PARTUUID des zusätzlichen Spiegels manuell festzulegen, nur um ihn importieren zu können, aber natürlich dreht sich alles online um ext4 und ich habe keine Möglichkeit gefunden, die UUID für ZFS zu manipulieren.

Fällt Ihnen eine Möglichkeit ein, wie ich dies zum Importieren oder Entfernen der Zpool-Erwartung des zweiten Spiegels zwingen kann, damit der erste gemountet wird? Oder schließlich das Verschieben des Spiegels 0 in seinen eigenen Zpool, ohne Daten zu zerstören?

Fühle mich verloren...

Hier sind einige Daten:

Zpool-Namebigdataa

mirror-0 should have a functionion set of data

 pool: bigdataa
     id: 8521961398473378259
  state: UNAVAIL
 status: One or more devices contains corrupted data.
 action: The pool cannot be imported due to damaged devices or data.
   see: http://zfsonlinux.org/msg/ZFS-8000-5E
 config:

    bigdataa                                  UNAVAIL  insufficient replicas
      mirror-0                                ONLINE
        12d9fdf5-9912-4b47-a67c-73376cabe161  ONLINE
        0f8cbe38-fce7-ba4d-85fb-f0b624ef4c70  ONLINE
      615ac488-0519-4a31-88ea-ddc81595c9b7    ONLINE
      mirror-2                                UNAVAIL  insufficient replicas
        aef43ae1-2bff-4eac-8c91-7818b1ec37fd  FAULTED  corrupted data
        8d1e0a1e-9736-4a28-a968-555fe65e9d17  FAULTED  corrupted data

Antwort1

Ich habe ausführlich recherchiert und konnte keine Möglichkeit finden, den Pool zu mounten. Ich werde in Zukunft separate Pools beibehalten, damit ich die Eigenschaften einzelner Spiegel manipulieren und einzelne Spiegel mounten kann, wenn es kein Problem gibt (nicht beeindruckt, wie das funktioniert hat ...) und MergeFS verwenden, um einen endgültigen Einzelpool zu präsentieren.

Ich habe UFS Explorer RAID Recovery ausprobiert (alles, was ich letztendlich brauchte, war UFS Explorer Recovery für 70 CAD, was viel einfacher zu verdauen war und jetzt habe ich eine großartige Software in meinem Toolkit) und nach letzter Nacht war der Scan abgeschlossen und es scheint, als wären alle meine Dateien gefunden worden. Ich werde den Preis von 200 CAD in Kauf nehmen und mit den endgültigen Ergebnissen aktualisieren, aber es sieht gut aus!

Update: Ich speichere derzeit alle meine Dateien, bisher sieht alles großartig aus. Ironischerweise habe ich festgestellt, dass ich nicht einmal „nach verlorenen Dateien suchen“ musste, da die Partitions-/Dateistruktur nie geändert wurde. Es scheint, dass diese Software irgendwie in der Lage ist, einzelne Festplatten in einem Spiegel anzuzeigen, ohne den Pool zu „importieren“ oder die anderen Festplatten verfügbar zu haben. (Ich habe dies bestätigt, indem ich nicht gescannt habe, sondern direkt zu „Dateien anzeigen“ auf meinen anderen Spiegelfestplatten gegangen bin.)

Ich schätze, diese Typen haben keine Ahnung, wovon sie reden ... Ich hasse Leute, die nur mit negativem/nutzlosem Feedback trollen ...

https://www.ixsystems.com/community/threads/recovery-tool-for-zfs.23008/post-138885

Bildbeschreibung hier eingeben

Antwort2

Die Art und Weise, wie Sie es hier aufgebaut haben, zeigt, dass Ihre Daten über Mirror-0, Mirror-2 und eine weitere Festplatte gestreift (RAID-0) sind. Als Sie also Mirror-2 überschrieben, dachte ZFS, die Hälfte Ihrer Daten sei verloren und deshalb konnten Sie den Pool überhaupt nicht importieren. Es wäre, als ob Sie ein RAID-0-Array mit drei Festplatten eingerichtet und dann eine der Festplatten gelöscht hätten – alle Daten werden unzugänglich, weil Striping so funktioniert.

Dies erklärt, warum Sie die Eigenschaft „readonly“ auch auf Mirror-2 nicht festlegen konnten. Das wäre, als würden Sie versuchen, eine Festplatte in Ihrem RAID-0-Array als schreibgeschützt zu markieren, was nicht möglich ist, da Schreibvorgänge auf alle Festplatten im RAID-0-Array verteilt werden müssen. Sie können nicht jeden dritten Block auf Ihrem Speichergerät als schreibgeschützt markieren!

Es sieht so aus, als hätten Sie noch keine Daten auf Spiegel 2, aber ZFS wusste das offenbar nicht und weigerte sich deshalb, das Array zu importieren, nachdem die Festplatte überschrieben wurde.

Ich denke, Sie gehen vielleicht davon aus, dass alle Geräte/vdevs im Pool Spiegelbilder voneinander sind, aber tatsächlich verteilt ZFS die Daten über alle vdevs im Pool. Aus diesem Grund müssen Sie ein spezielles gespiegeltes vdev erstellen, wenn Sie die Daten gespiegelt und nicht verteilt haben möchten.

verwandte Informationen