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.)