我目前有一个 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
您可以使用
zfs snapshot -r pool0@backup; zfs send -R pool0@backup > zfs.img
创建一个复制的发送流,您可以使用zfs recv
.也就是说,似乎与此处描述的问题相似。 您还可以尝试通过
zfs_resilver_disable_defer
可调参数禁用延迟重新同步。