具有不同驱动器大小的ZFS池


9

我计划使用两个2 TB驱动器和两个1 TB驱动器设置一个FreeNAS ZFS池。我想以某种方式实现数据冗余。我读了这篇文章,似乎表明我的两个选择是使用RAIDZ的每2TB驱动器丢失1TB或使用以下命令(这使数据冗余所需的空间增加了一倍):

zfs set copies=2 poolname

是否有更好的方法来处理此问题并实现更多功能,例如Drobo的Beyond RAID或Netgear的XRAID?或者,我可以将每个2TB驱动器划分为1TB分区,并将两个分区都放入池中吗?

Answers:


13

有一种更好的方法,创建一个由两个镜像组成的单个3 TB池。

zpool create test mirror disk1 disk2 mirror disk3 disk4

其中disk1和disk2为1 TB磁盘,而disk3和disk4为2 TB磁盘。

编辑:

如果要最大化大小,而不在乎性能或最佳实践,则可以使用相等大小的分区(或片)对所有驱动器进行分区,并创建一个具有4个vdev RAIDZ和2个vdev镜像的4 TB混合池。

zpool create -f test raidz d0p1 d1p1 d2p1 d3p1 mirror d0p2 d1p2

注意强制命令接受复制级别不匹配所需的“ -f”选项。


1
谢谢你的信息。这样看起来就像普通的镜像,在这种情况下,冗余“花费”了100%的额外费用吗?有没有一种方法可以实现类似RAID5的50%的“成本”奇偶校验?与4个相同大小的驱动器的ZRAID / RAID5设置的性能相比,此配置的性能如何?
Timothy R. Butler

@ TimothyR.Butler您不能创建1TB的镜像,并在两个2TB和2TB镜像上应用RAIDZ,只是那样行不通。要使用RAIDZ,您需要具有相同大小的驱动器(或者您将放弃较大驱动器上的额外空间,或者必须开始进入非推荐配置)。这些答案推荐的两个镜像配置是最佳建议配置。
克里斯·S

感谢jilliagre和@chriss的评论。我想我可能会再购买两个驱动器,然后每天打电话。刚才添加的第二个命令jilliagre很有意思...如果我做一个4x2TB RAIDZ,我认为性能会比上面提到的任何东西都好或更好吗?
Timothy R. Butler

@ TimothyR.Butler与双2x2TB镜像(基本上为RAID10)相比,4x2TB RAIDZ的性能会有轻微下降。在我们这里讨论的任何事情中,这两个都将具有最佳性能。
克里斯·S

4

这取决于您需要多少数据存储量。您可以使用RAID 1创建两个分别为1TB和2TB的池。如果不能,请查看是否可以获取相同大小的磁盘并尝试RAID 1 + 0或RAIDZ。


谢谢。两个池比其中有两个RAIDZ的池好吗?
Timothy R. Butler

@ TimothyR.Butler每个磁盘镜像都是ZFS中的一个vdev。您不能从zfs池中删除vdev。因此,一旦池中有两个镜像,它就必须始终至少具有这两个镜像(可以添加更多,而不能删除)。如果您想切换到vdev较少的设备,则必须销毁该池并从头开始。因此,从两个zpool开始,您可以灵活地在以后将它们分开,但是却失去了自动共享存储空间的灵活性(在文件填充时,您必须将文件放在一个或另一个池中)。
克里斯·S

@ewwhite,我知道您所说的“ RAID 1 + 0”是什么意思,但是没有办法在ZFS中明确地执行此操作...某些差异可能会使它们感到困惑。
克里斯·S

2

从ZFS管理指南中:

“这些设备可以是预格式化磁盘上的单个片,也可以是ZFS格式化为单个大片的整个磁盘。”

因此,是的,您可以在这些2TB驱动器上创建两个1-TB分区,将它们用于RAID-Z vdev,并将剩余空间用于非冗余存储。

但是,根据《 ZFS最佳实践指南》,您可能会遇到性能下降的情况:

对于生产系统,出于以下原因,请使用整个磁盘而不是片作为存储池:

  • 允许ZFS为具有写缓存的磁盘启用磁盘的写缓存。如果您将RAID阵列与非易失性写缓存一起使用,则问题不大,因为vdev仍应受益于阵列的写缓存,因此可以进行切片。

  • 对于具有启用的磁盘高速缓存的JBOD附加存储,允许将某些同步写入作为多个磁盘写入发出,然后进行单个高速缓存刷新,从而允许磁盘控制器优化I / O调度。另外,对于缺少对SATA NCQ或SCSI TCQ适当支持的系统,具有启用的写缓存可使主机从物理I / O异步发出单个I / O操作。

  • 当磁盘在片上同时包含ZFS和UFS文件系统时,更换故障磁盘的恢复过程会更加复杂。


很棒的剪切粘贴工作,但是其他两个答案已经涵盖了所有这些。
克里斯·S
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.