创建具有大量镜像 vdev 的 zpool 是否有意义?

Mec*_*MK1 5 zfs zfsonlinux

首先,我对 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
Run Code Online (Sandbox Code Playgroud)

mirror-2当稍后使用更多磁盘扩展 zpool 时,继续添加,mirror-3每个磁盘配对是否有意义?

sho*_*hok 4

对于 zfs 来说,使用多个镜像 vdev 根本不是问题。它们提供比 raidz vdev 更高的性能和更快的重新同步。全镜像池更容易扩展,对于最新的 zfs 版本,甚至可以缩小(即:支持 vdev 删除)。

raidz 具有更好的空间效率,并且在 raidz2 和 raidz3 版本中具有更好的弹性。一次可以使用至少 3 个磁盘扩展 raidz 池 - 从而生成新的 raidz1 vdev。然而,这样的配置并不理想:对于大硬盘,您应该始终使用 raidz2。这意味着扩展 raidz2 vdev 需要4 个磁盘,与镜像相比,空间效率并没有更高(即:50%),但弹性稍好一些(任何两个磁盘发生故障都不会丢失数据)。

综合考虑,当需要良好的随机 IO 性能时,我总是使用镜像。我仅在空间效率更受关注时才使用 raidz2,并且仅使用相当宽的条带(6 个以上磁盘)。

由于您打算只使用4个磁盘并稍后进行扩展,因此我建议您使用普通镜像。