我正准备向我的家庭网络添加另一台服务器。我目前有一个存储驱动器。我想添加另一个来镜像第一个驱动器,但几周到一个月内无法购买第二个驱动器。我想在镜像存储驱动器上使用 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
无论如何,我强烈建议您在虚拟机中快速尝试一下。建立一个虚拟机,添加几个小虚拟磁盘,然后尝试将它们添加到池中。在虚拟机中测试可以让您有一个地方进行尝试,如果您搞砸了,也不会有任何损失。