将硬盘添加到 FreeNas 并使用 ZFS 使其成为 RAID 1

将硬盘添加到 FreeNas 并使用 ZFS 使其成为 RAID 1

我对 FreeNas 和 RAID 系统还不熟悉。
我成功地用 FreeNAS 搭建了一个文件服务器,其中有 2 TB 的硬盘,用 ZFS 格式化。
现在我想通过添加另一个 1、2TB 的硬盘,将其设为 RAID 1。
我想问的是,这是否可行?在已安装和配置的 FreeNas 中添加另一个硬盘?

谢谢伊万

答案1

ZFS 不支持任何类型的“重塑”操作,因此您无法将现有驱动器转换为一mirror对(ZFS 术语为 RAID1)。

然而,你要做的就是正常地将新磁盘添加到池中(不是以 RAID 类型对的形式),但随后进行设置copies=2,强制将文件存储在多个磁盘上以提供相同级别的数据保护。

zfs set copies=2 poolname

请注意,新的副本策略仅适用于新写入的数据;您需要通过重写(可能通过 then zfs sendzfs recv将额外的副本写入第二个磁盘。

答案2

我喜欢 Shane Madden 的方法,但还有另一种解决方案。Darren Moffat 的评论指向一个无效链接。

解决方案是通过zfs attach。例如:

创建测试池:

root@test:~# zpool create storage scsi-36002248097081fa717c55d6b0d8cf10f
root@test:~# zpool status
  pool: storage
 state: ONLINE
  scan: none requested
config:

        NAME                                      STATE     READ WRITE CKSUM
        storage                                   ONLINE       0     0     0
          scsi-36002248097081fa717c55d6b0d8cf10f  ONLINE       0     0     0

errors: No known data errors

填写一些数据:

root@test:~# dd if=/dev/urandom of=/storage/data.txt bs=64M count=12

连接新的驱动器,请注意语法:您必须指定要连接到哪个驱动器:

root@test:~# zpool attach storage scsi-36002248097081fa717c55d6b0d8cf10f scsi-36002248027420d0aa88109aea4d03c5b

root@test:~# zpool status
  pool: storage
 state: ONLINE
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 Mon Jul 29 14:49:20 2019
        34.6M scanned out of 385M at 3.15M/s, 0h1m to go
        30.5M resilvered, 8.98% done
config:

        NAME                                        STATE     READ WRITE CKSUM
        storage                                     ONLINE       0     0     0
          mirror-0                                  ONLINE       0     0     0
            scsi-36002248097081fa717c55d6b0d8cf10f  ONLINE       0     0     0
            scsi-36002248027420d0aa88109aea4d03c5b  ONLINE       0     0     0  (resilvering)

errors: No known data errors

如您所见,它根据您的需要创建了一个镜像(即 RAID1)。此过程还可用于向镜像添加更多驱动器。ZFS 重新同步后,您的所有数据都将冗余,而不仅仅是新写入的数据。

相关内容