为了能够通过仅更换一些磁盘来增加存储空间,您应该使用镜像的vdev,它们被条带化在一起(实际上相当于RAID10)。
在您的情况下,如果有4个驱动器,则意味着需要执行以下操作:
zpool
mirror
disk1
disk2
mirror
disk3
disk4
这将为您提供2TB的存储(假设所有磁盘均为1TB)和良好的冗余性(1个磁盘崩溃后阵列故障占0%,同时发生2个磁盘崩溃则阵列故障仅占33%)。
现在到那里,我将购买这两个新的1TB磁盘,并将其放入池中:
zpool create zpool mirror disk1 disk2
然后将DLINK的内容移动到新创建的池中。
完成后,您可以清理DLINK磁盘并将其添加到池中,以增加存储量:
zpool add zpool mirror disk3 disk4
如果以后要增加存储量,可以通过添加更多的vdev(最好是镜像)或仅更换4个磁盘中的2个来实现。替换如下:
zpool offline zpool disk3
# remove physical disk3 at this point
# insert new, bigger disk in place of disk3
zpool online zpool disk3
# wait for resilver
# after resilver, do the same with disk4
# your vdev is now bigger, increasing the size of the pool
现在,让我们看看另一个选项。如果您像这样制作了1个raidz vdev:
zpool
raidz
disk1
disk2
disk3
disk4
您将拥有3TB的存储空间,但是,要通过仅更换磁盘(而不添加磁盘)来增加该存储空间,则必须替换所有4个磁盘(当然一个磁盘一个)以增加池大小!另外,如果同时有2个磁盘崩溃,则此配置也会有100%的阵列故障。
raidz配置也将比条带镜像配置慢。由于raidz的计算量更大,而带区+镜像实际上提高了读写性能。使用“普通”硬盘(非SSD),条带状镜像可能会填充您的千兆位连接以进行顺序读取和写入,因为ZFS可以结合磁盘的带宽(记住1Gb / s仅为〜125 MegaBYTES / s,这是标准的“普通”)硬盘将为您提供约90兆字节/秒的速度)。我认为上述raidz配置无法在消费类硬件上实现。
总之,带磁盘数量的条带化镜像/ RAID 10得分为:
+ max redundancy
+ maintenance
- available storage space
+ speed
raidz的得分是:
- max redundancy
- maintenance
+ available storage space
- speed
我会说条纹镜子赢了:)
最后提示:在开始之前,请务必详细阅读操作方法和原因!甚至可以在虚拟机中模拟整个过程。我特别在考虑添加第二个镜像vdev的步骤!如果做错了,您可能会得到您期望的其他配置,并且在这种情况下ZFS非常令人无法忍受,因为它不允许您从池中删除vdev或从raidz vdevs中删除磁盘!(但是,允许从镜像vdevs中删除磁盘)
另外,请保留将来的证据并贴标签并对齐磁盘,以免您遇到高级格式化驱动器的麻烦!有关复杂的ZFS和4K驱动器的更多信息,建议您在FreeBSD论坛上阅读此主题。