ZFS 池数据备份和恢复

ZFS 池数据备份和恢复

我目前有一个 zfs raidz2 池卡在重新同步循环中,因为我试图用 8TB 磁盘替换 3TB 磁盘。在让第一个替换磁盘重新同步在线超过一周后,它终于完成了,但立即重新启动。在将磁盘标记为“OFFLINE”后,第二次重新同步在大约 2 天内完成。我将磁盘标记为在线,一切看起来都很好(几分钟),所以我更换了第二个磁盘。一旦第二个磁盘的重新同步启动,它显示第一个磁盘也在重新同步。我现在正在对这两个驱动器进行第 3 或第 4 次重新同步,并且两个磁盘重新同步后,我没有容错能力。此时,我想将 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可调参数禁用延迟重新同步。

相关内容