![ZFS プールデータのバックアップと復元](https://rvso.com/image/768917/ZFS%20%E3%83%97%E3%83%BC%E3%83%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%A8%E5%BE%A9%E5%85%83.png)
現在、3TB ディスクを 8TB ディスクに交換しようとしていたときに、zfs raidz2 プールが再同期ループに陥っています。最初の交換ディスクの再同期を 1 週間以上オンラインにした後、ようやく終了しましたが、すぐに再開しました。ディスクを「オフライン」にマークした後、2 回目の再同期は約 2 日で完了しました。ディスクをオンラインにマークし、すべてが順調に見えたので (数分間)、2 つ目のディスクを交換しました。2 つ目のディスクの再同期が開始されると、最初のディスクも再同期中であることが示されました。現在、これら 2 つのドライブの再同期の 3 回目または 4 回目のサイクルに入っていますが、2 つのディスクの再同期ではフォールト トレランスがありません。この時点で、zpool を nfs 共有にバックアップして、新しいドライブで再作成したいのですが、すべての jail を含むデータセット構成をすべて失いたくはありません。zpool 全体をバックアップ イメージとしてエクスポートし、何らかの方法で復元できるようにする方法はありますか?このデータをすべて保存するのに十分なディスク容量を持つ他のマシンのファイル システムでは、すでに別のファイル システムが使用されているため、zfs レプリケーションはおそらくオプションではありません。これは TrueNAS-12.0-U4 のインストールです。バックアップ マシンは、LVM/Ext4 で Ubuntu 21.04 を実行しています。以下は、現在のプールの状態です。
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
答え1
を使用してzfs snapshot -r pool0@backup; zfs send -R pool0@backup > zfs.img
、 で復元できる複製された送信ストリームを作成できますzfs recv
。
とはいえ、これは説明されている問題と似ているようですここ
調整可能なパラメータを使用して、遅延再同期を無効にすることもできますzfs_resilver_disable_defer
。