![ZFS池資料備份與還原](https://rvso.com/image/768917/ZFS%E6%B1%A0%E8%B3%87%E6%96%99%E5%82%99%E4%BB%BD%E8%88%87%E9%82%84%E5%8E%9F.png)
我目前有一個 zfs raidz2 池陷入重新同步循環,因為我試圖用 8TB 磁碟替換 3TB 磁碟。在讓第一個替換磁碟重新同步在線一個多星期後,它終於完成了,但又立即重新開始。將磁碟標記為「離線」後,第二次重新同步在大約 2 天內完成。我在線標記了該磁碟,一切看起來都很好(幾分鐘),所以我更換了第二個磁碟。一旦第二個磁碟的重新同步開始,它就會顯示第一個磁碟也再次重新同步。我現在正處於這兩個驅動器的第三或第四個重新同步週期,並且對於兩個磁碟重新同步,我沒有容錯能力。此時,我想將 zpool 備份到 nfs 共用並使用新磁碟機重新建立它,但我不想遺失所有資料集配置,其中包括所有監獄。有沒有辦法將整個 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
可調參數停用延遲重新同步。