![Sichern und Wiederherstellen von ZFS-Pooldaten](https://rvso.com/image/768917/Sichern%20und%20Wiederherstellen%20von%20ZFS-Pooldaten.png)
Ich habe derzeit einen ZFS-RAIDZ2-Pool, der in einer Resilvering-Schleife feststeckt, während ich versuche, die 3-TB-Festplatten durch 8-TB-Festplatten zu ersetzen. Nachdem ich die erste Ersatzfestplatte über eine Woche lang online resilvern ließ, war sie endlich fertig, nur um dann sofort wieder von vorne zu beginnen. Nachdem ich die Festplatte als „OFFLINE“ markiert hatte, war das zweite Resilvering in etwa 2 Tagen abgeschlossen. Ich markierte die Festplatte als online und alles sah gut aus (ein paar Minuten lang), also ersetzte ich die zweite Festplatte. Als das Resilvering für die zweite Festplatte begann, zeigte es, dass auch die erste Festplatte wieder resilvering war. Ich bin jetzt bei meinem 3. oder 4. Resilvering-Zyklus für diese beiden Laufwerke, und mit dem Resilvering von zwei Festplatten habe ich keine Fehlertoleranz. An diesem Punkt möchte ich den Zpool auf einer NFS-Freigabe sichern und ihn mit den neuen Laufwerken neu erstellen, aber ich möchte nicht meine gesamte Datensatzkonfiguration verlieren, die alle meine Jails enthält. Gibt es eine Möglichkeit, den gesamten Zpool als Backup-Image zu exportieren, das irgendwie wiederhergestellt werden kann? Das Dateisystem der anderen Maschine mit ausreichend Speicherplatz zum Speichern all dieser Daten verwendet bereits ein anderes Dateisystem, sodass eine ZFS-Replikation wahrscheinlich keine Option ist. Dies ist eine TrueNAS-12.0-U4-Installation. Auf der Backup-Maschine läuft Ubuntu 21.04 mit LVM/Ext4. Unten sehen Sie den aktuellen Poolstatus.
pool: pool0
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Thu Jul 29 00:39:12 2021
13.8T scanned at 273M/s, 13.0T issued at 256M/s, 13.8T total
2.17G resilvered, 93.77% done, 00:58:48 to go
config:
NAME STATE READ WRITE CKSUM
pool0 DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
gptid/55bf3ad6-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/55c837e3-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/55f4786c-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/60dcf0b8-eef3-11eb-92f9-3cecef030ab8 OFFLINE 0 0 0 (resilvering)
gptid/56702d96-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/5685b5f7-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/8f041954-eef3-11eb-92f9-3cecef030ab8 OFFLINE 0 0 0 (resilvering)
gptid/56920c3a-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
cache
gptid/56256b6a-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
errors: No known data errors
Antwort1
Mit können Sie zfs snapshot -r pool0@backup; zfs send -R pool0@backup > zfs.img
einen replizierten Sendedatenstrom erstellen, den Sie mit wiederherstellen können zfs recv
.
Das heißt, es scheint dem beschriebenen Problem ähnlich zu seinHier
Sie können auch versuchen, die verzögerte Resilverierung über die zfs_resilver_disable_defer
Tunable-Funktion zu deaktivieren.