作为前缀,我对 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
稍后使用更多磁盘扩展 zpool 时,继续添加 是否有意义,mirror-2
每个mirror-3
磁盘有两个配对磁盘?
使用多个镜像 vdev 对 zfs 来说根本不是问题。它们提供比 raidz vdev 更高的性能和更快的 resilver。全镜像池更易于扩展,并且在最近的 zfs 版本中,甚至可以缩小(即:支持删除 vdev)。
raidz 具有更好的空间效率,并且在 raidz2 和 raidz3 版本中具有更好的弹性。一次可以使用至少 3 个磁盘扩展 raidz 池 - 导致新的 raidz1 vdev。但是,这样的配置并不理想:对于大磁盘,您应该始终使用 raidz2。这意味着扩展一个raidz2 vdev 需要4 个磁盘,与镜像相比没有更好的空间效率(即:50%),但有更好的弹性(任何两个磁盘都可以在不丢失数据的情况下发生故障)。
考虑到所有因素,当需要良好的随机 IO 性能时,我总是使用镜像。我只在空间效率受到更大关注时才使用 raidz2,并且仅使用相当宽的条带(6 个以上磁盘)。
由于您打算只使用 4 个磁盘并在以后扩展,我建议您使用普通镜像。
取决于。你所展示的实际上是一个raid 10。所以是的——你可以用更多的镜像vdevs继续发展它。虽然你真的应该考虑使用raidz,因为raid10只是浪费磁盘。