ZFS 可以自动镜像单个磁盘池吗?

ZFS 可以自动镜像单个磁盘池吗?

我正准备向我的家庭网络添加另一台服务器。我目前有一个存储驱动器。我想添加另一个来镜像第一个驱动器,但几周到一个月内无法购买第二个驱动器。我想在镜像存储驱动器上使用 ZFS。我可以先将数据复制到我的单个存储驱动器,稍后添加第二个驱动器,然后让 ZFS 将第一个驱动器的数据复制到镜像中的第二个驱动器吗?

答案1

是的,添加第二个驱动器来镜像现有的 vdev 非常容易。

假设您像这样创建了池。我使用 GPT 分区标签(如 zfs-d1)来使名称美观/可靠。

zpool create zfs1 -o ashift=12 -m none /dev/disk/by-partlabel/zfs-d1

  pool: zfs1
 state: ONLINE
config:

    NAME         STATE     READ WRITE CKSUM
    zfs1         ONLINE       0     0     0
      zfs-d1     ONLINE       0     0     0

添加另一个驱动器作为 zfs-d1 的镜像很容易。我们将为新驱动器添加标签 zfs-d2

zpool attach zfs1 /dev/disk/by-partlabel/zfs-d1 /dev/disk/by-partlabel/zfs-d2

我相信这应该会导致池看起来如下。您需要等待一段时间才能重新同步,但实际上您不需要做太多事情。

  pool: zfs1
 state: ONLINE
config:

    NAME         STATE     READ WRITE CKSUM
    zfs1         ONLINE       0     0     0
      mirror-0   ONLINE       0     0     0
        zfs-d1   ONLINE       0     0     0
        zfs-d2   ONLINE       0     0     0

无论如何,我强烈建议您在虚拟机中快速尝试一下。建立一个虚拟机,添加几个小虚拟磁盘,然后尝试将它们添加到池中。在虚拟机中测试可以让您有一个地方进行尝试,如果您搞砸了,也不会有任何损失。

相关内容