Es gibt keine Möglichkeit, den ZFS-Pool ohne zfs import
Funktion wiederherzustellen . Es zfs import
ist jedoch kein Fehlerbehebungstool, und daher ist die allgemeine Strategie auch eine Sicherung, anstatt sich zfs
auf Fail-Save zu verlassen. Ich habe https://github.com/hiliev/py-zfs-rescue erweitert, um Linux-Pools zu unterstützen: https://github.com/eiselekd/dumpbin-py-zfs-rescue . Damit konnte ich meine Festplatten wiederherstellen.
Wie man einen Raidz mit 3 defekten Festplatten wiederherstellt
Ich habe ein Raidz Vdev mit 3 Festplatten. Disk0 ist jetzt fehlgeschlagen und ich versuche mich zu erholen, kann jedoch nicht ausgeführt werden zpool import
. Disk0 ist immer noch funktionsfähig, die Partitionstabelle war jedoch beschädigt und ich habe versucht, sie wiederherzustellen.
$ zpool import pool: epool id: 15752543265619539307 state: FAULTED status: One or more devices contains corrupted data. 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: http://zfsonlinux.org/msg/ZFS-8000-5E config: epool FAULTED corrupted data raidz1-0 DEGRADED ata-WDC_WD30EZRX-00D8PB0_WD-WMC4N1642572-part1 UNAVAIL corrupted data ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N1KPRKPX-part1 ONLINE ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N7ZXC1E0-part1 ONLINE
Gibt es eine Chance, dieses Setup zu reparieren?
$ zdb -l /dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N1KPRKPX-part1 ------------------------------------ LABEL 0 ------------------------------------ version: 5000 name: 'epool' state: 0 txg: 108340 pool_guid: 157525$43265619539307 errata: 0 hostname: 'eiselekd-lnx' top_guid: 5366409938038884073 guid: 3063814570901399057 vdev_children: 1 vdev_tree: type: 'raidz' id: 0 guid: 5366409938038884073 nparity: 1 metaslab_array: 35 metaslab_shift: 36 ashift: 12 asize: 9001706717184 is_log: 0 create_txg: 4 children[0]: type: 'disk' id: 0 guid: 9231358437407247535 path: '/dev/disk/by-id/ata-WDC_WD30EZRX-00D8PB0_WD-WMC4N1642572-part1' whole_disk: 0 create_txg: 4 children[1]: type: 'disk' id: 1 guid: 3063814570901399057 path: '/dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N1KPRKPX-part1' whole_disk: 0 DTL: 136 create_txg: 4 children[2]:/dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N7ZXC1E0-part1 type: 'disk' id: 2 guid: 10884448206527621454 path: '/dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N7ZXC1E0-part1' whole_disk: 0 create_txg: 4 features_for_read: com.delphix:hole_birth com.delphix:embedded_data labels = 0 1 2 3
In der ausgefallenen Partition werden keine Labels angezeigt:
# zdb -l /dev/disk/by-id/ata-WDC_WD30EZRX-00D8PB0_WD-WMC4N1642572-part1 -------------------------------------------- LABEL 0 -------------------------------------------- failed to unpack label 0 -------------------------------------------- LABEL 1 -------------------------------------------- failed to unpack label 1 -------------------------------------------- LABEL 2 -------------------------------------------- failed to unpack label 2 -------------------------------------------- LABEL 3 -------------------------------------------- failed to unpack label 3
Es gibt jedoch Ueberblocks (magische 0cb1ba00 am Anfang und Ende der Partition): Ich habe zfs_revert-0.1.py ( https://gist.github.com/jshoward/5685757 ) verwendet, um die txg-Informationen für disk0 und etwas zu betrachten in disk0 scheint da.
TXG TIME TIMESTAMP BLOCK ADDRESSES 108173 08 Feb 2018 02:24:11 1518053051 [360, 872, 5860494696, 5860495208] 108193 08 Feb 2018 02:25:59 1518053159 [264, 776, 5860494600, 5860495112] 108199 08 Feb 2018 02:26:30 1518053190 [312, 824, 5860494648, 5860495160] 108219 07 Mar 2018 16:44:43 1520437483 [472, 984, 5860494808, 5860495320] 108307 08 Mar 2018 15:58:41 1520521121 [408, 920, 5860494744, 5860495256] 108313 09 Mar 2018 14:25:03 1520601903 [456, 968, 5860494792, 5860495304] 108319 12 Mar 2018 17:33:00 1520872380 [504, 1016, 5860494840, 5860495352] 108325 14 Mar 2018 19:23:31 1521051811 [296, 808, 5860494632, 5860495144] 108331 15 Mar 2018 14:36:25 1521120985 [344, 856, 5860494680, 5860495192] 108337 15 Mar 2018 20:07:58 1521140878 [392, 904, 5860494728, 5860495240]
Ich vermute also, dass die Partitionierung vielleicht den Beginn der Partition beschleunigte. Nicht sicher Ich habe eine dd if=/dev/sda | strings | grep WCC4N1KPRKPX-part1
aber das Disk Label Info ist nicht da ...
Ist es möglich, ata-WDC_WD30EZRX-00D8PB0_WD-WMC4N1642572-part1 durch eine neue Festplatte und einen neuen Resilver zu ersetzen? Der http://zfsonlinux.org/msg/ZFS-8000-5E-Link in der zfs-Importausgabe gibt mir keine Hoffnung, aber trotzdem ....
2 Antworten auf die Frage
Ihr Pool besteht aus einem einzigen Raidz1-vdev, der den Verlust eines einzelnen Geräts überleben kann, und ein Gerät darin ist "beschädigt", sodass sich alles, was zum Importieren des Pools erforderlich ist, genau dort befindet.
Ich bin nicht sicher, warum ZFS Ihren Pool nicht sofort importieren würde und das eine Gerät nur als UNAVAIL kennzeichnen würde. Haben Sie jedoch versucht, -f
die Ausgabe als Vorschlag für die Verwendung zu verwenden zpool import
? Das ist das erste, was ich versuchen würde.
Sobald der Pool importiert ist, sollte es entweder zpool offline
eine problematische Angelegenheit für die problematische Partition sein, oder noch besser zpool replace
, die Daten neu zu schreiben und die Redundanz wiederherzustellen.
Als Randbemerkung empfehle ich, keine Partitionen mit ZFS zu verwenden, es sei denn, Sie haben einen guten Grund. Geben Sie ZFS einfach die gesamte Festplatte (z. B. /dev/disk/by-id/ata-WDC_WD30EZRX-00D8PB0_WD-WMC4N1642572
) und lassen Sie die Partitionierung eigenständig durchführen.
Verwandte Probleme
-
4
Kann ich eine Boot Camp-Partition von meinem MacBook entfernen?
-
3
Wiederherstellen der Wiederherstellung auf einem neuen Festplattenlaufwerk auf einem Dell-Computer?
-
3
Alle Laufwerkpartitionen klonen?
-
6
Kostenloses Partition Migration Tool
-
6
Möglichkeit, die Größe der Partition sicher zu ändern? Windows XP, NTFS
-
9
Benutzerordner unter Windows Vista / 7 auf eine andere Partition verschieben
-
3
Ist es möglich, ein Volume in einer Mac OS X-Partition zu vergrößern?
-
2
Meine neue Partition ist nicht leer
-
6
Benötige ich Partition aus irgendeinem guten Grund, wenn ich nur einen einzigen Boot habe?
-
3
Konvertieren Sie eine Windows-VM in eine physische Partition