先说一句,我对 ZFS 还不太熟悉。我的目标是创建一个内部 NAS 系统,尽量减少丢失所有数据的可能性。
我目前已经购买了四个 4TB 磁盘,并且计划在具有两个镜像 vdev 的单个 zpool 中运行它们,如下所示:
pool: data
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
<disk 0> ONLINE 0 0 0
<disk 1> ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
<disk 2> ONLINE 0 0 0
<disk 3> ONLINE 0 0 0
mirror-2
稍后当使用更多磁盘扩展 zpool 时,继续添加(mirror-3
每个磁盘有两对磁盘)是否有意义?
答案1
对于 zfs 来说,使用多个镜像 vdev 根本不是问题。它们提供的性能比 raidz vdev 更高,并且恢复速度更快。全镜像池更容易扩展,而且使用最新的 zfs 版本,甚至可以缩小(即:支持 vdev 移除)。
raidz 具有更好的空间效率,并且在其 raidz2 和 raidz3 版本中具有更好的弹性。raidz 池可以一次扩展至少 3 个磁盘 - 从而产生新的 raidz1 vdev。但是,这样的配置并不理想:对于大硬盘,您应该始终使用 raidz2。这意味着扩展 raidz2 vdev 需要4磁盘,与镜像相比,空间效率并不更好(即 50%),但弹性稍好一些(任何两个磁盘可以发生故障而不会丢失数据)。
综合考虑,当需要良好的随机 IO 性能时,我总是使用镜像。我只在更关心空间效率时才使用 raidz2,并且只使用合理宽度的条带(6 个以上磁盘)。
由于您计划仅使用 4 个磁盘并稍后进行扩展,因此我建议您使用普通镜像。
答案2
视情况而定。您展示的实际上是 raid 10。所以是的 - 您可以继续使用更多镜像 vdev 来扩展它。不过您确实应该考虑使用 raidz,因为 raid10 只是浪费磁盘。