Wiederherstellen eines ZFS-Pools mit Fehlern beim Import

Wiederherstellen eines ZFS-Pools mit Fehlern beim Import

Ich habe eine Maschine, die Probleme mit fehlerhaftem RAM hatte. Nachdem ich es diagnostiziert und den fehlerhaften RAM-Riegel entfernt hatte, versuchte der ZFS-Pool in der Maschine, mit falschen Gerätenamen auf Laufwerke zuzugreifen. Ich habe den Pool einfach exportiert und erneut importiert, um dies zu korrigieren. Allerdings erhalte ich jetzt diesen Fehler.

Der Pool-Speicher wird nicht mehr automatisch gemountet

sqeaky@sqeaky-media-server:/$ sudo zpool status
no pools available

Ein regulärer Import sagt, es sei beschädigt

sqeaky@sqeaky-media-server:/$ sudo zpool import
  pool: Storage
    id: 13247750448079582452
 state: UNAVAIL
status: The pool is formatted using an older on-disk version.
action: The pool cannot be imported due to damaged devices or data.
config:

    Storage                 UNAVAIL  insufficient replicas
      raidz1                UNAVAIL  corrupted data
        805066522130738790  ONLINE
        sdd3                ONLINE
        sda3                ONLINE
        sdc                 ONLINE

Ein bestimmter Import besagt, dass die vdev-Konfiguration ungültig ist

sqeaky@sqeaky-media-server:/$ sudo zpool import Storage
cannot import 'Storage': invalid vdev configuration

Das Laufwerk kann nicht offline geschaltet oder getrennt werden, da der Pool nicht gestartet/importiert werden kann.

sqeaky@sqeaky-media-server:/$ sudo zpool offline Storage 805066522130738790
cannot open 'Storage': no such pool
sqeaky@sqeaky-media-server:/$ sudo zpool detach Storage 805066522130738790
cannot open 'Storage': no such pool

Der Import kann nicht erzwungen werden

sqeaky@sqeaky-media-server:/$ sudo zpool import -f Storage 
cannot import 'Storage': invalid vdev configuration

Ich sollte 4 Geräte in meinem ZFS-Pool haben:

/dev/sda3
/dev/sdd3
/dev/sdc
/dev/sdb

Ich habe keine Ahnung, was 805066522130738790 ist, aber ich habe vor, das weiter zu untersuchen. Ich versuche auch herauszufinden, wie ich mit zdb mehr Informationen darüber bekomme, was der Pool denkt, was vor sich geht.

Als Referenz: Dies wurde so eingerichtet, weil diese Maschine/dieser Pool zum Zeitpunkt der Einrichtung bestimmte Linux-Funktionen benötigte und das Booten von ZFS in Linux noch nicht unterstützt wurde. Die Partitionen sda1 und sdd1 befinden sich in einem Raid 1 für das Betriebssystem und sdd2 und sda2 befinden sich in einem Raid1 für den Swap.

Gibt es einen Hinweis darauf, wie dieser ZFS-Pool wiederhergestellt werden kann?

Bearbeiten – Statusaktualisierung: Ich habe herausgefunden, was 805066522130738790 ist. Es ist eine GUID, die ZFS nicht verwendet hat, um /dev/sdb zu identifizieren. Wenn ich /dev/sdb physisch entferne, wird der Pool gemountet und online geschaltet. Aber ich kann die Festplatten immer noch nicht austauschen. Ich schätze, ich werde die Dateien auf externen Medien sichern und dann den gesamten Pool löschen, weil er zu beschädigt ist, um weiter zu funktionieren. Ich hätte einfach von Anfang an gute Backups haben sollen …

Antwort1

Es sieht so aus, als würden Sie ZFS auf FUSE verwenden? Ich würde sowieso nicht erwarten, dass das auch nur annähernd stabil ist.

Ich würde das seltsame Laufwerk offline schalten, es dann erneut hinzufügen und sehen, ob das hilft. Sie können auch versuchen, den erneuten Import des Pools zu erzwingen. http://docs.huihoo.com/opensolaris/solaris-zfs-administration-guide/html/ch04s04.html

Antwort2

Gehen Sie zur zfs-discuss-Liste, wenn Sie echte Hilfe beim Debuggen benötigen:

http://mail.opensolaris.org/mailman/listinfo/zfs-discuss http://opensolaris.org/jive/forum.jspa?forumID=80

(Dieselbe Liste, nur unterschiedliche Schnittstellen.)

verwandte Informationen