新的ZFS设置镜像与ubuntu上有多个磁盘的raid

时间:2018-03-30 06:21:02

标签: ubuntu-16.04 zfs

我是ZFS的新手,并且一直在做很多研究。我准备好从硬件RAID切换到ZFS。这是我的驱动器列表:

  • 3 1.5TB驱动器
  • 6个2TB驱动器
  • 6个4TB驱动器

我的主要目标是建立一个具有多个(1-6)用户快速读取访问权限的家庭系统。

选项1:可用空间少但速度更快?

pool data
  vdev1 mirror
    2 2TB disks
  vdev2 mirror
    2 2TB disks
  vdev3 mirror
    2 2TB disks
  vdev4 mirror
    2 4TB disks
  vdev5 mirror
    2 4TB disks
  vdev6 mirror
    2 4TB disks

选项2 :(这与我现在的情况很接近)

pool
  vdev1
    6 2TB drives as RAID6
  vdev2
    6 4TB drives as RAID6
maybe???
  vdev3 striped
    3 1.5TB disks

这些只会保存我想要快速访问的数据副本。从我读到的,如果你有超过5个磁盘在vdev性能下降。还有另一种组合可能更好地实现我想做的事情吗?

我还有一个120GB SSD驱动器用于缓存或作为日志驱动器?或者,如果我将它拆分并使用不同的分区作为vdev,那么可能两者兼而有之?

1 个答案:

答案 0 :(得分:0)

您应该使用的配置完全取决于您的使用案例。对于家庭设置(没有虚拟机,没有数据库等),您可能无法区分延迟/吞吐量性能的差异,除了您可能如何使用SSD,所以我个人会使用RAID- Z为额外的存储容量。

也就是说,这些是RAID-Z与池中HDD磁盘镜像之间的主要权衡:

  • 用于奇偶校验信息的空间。镜像导致100%的数据开销,RAID-Z将远低于此,每组数据块有一个或多个奇偶校验块。您可以使用各种更高或更低的RAID-Z选项 - 有关详细信息,请参阅this blog post from one of the creators of ZFS
  • 冗余。 raidz1可以在一个磁盘发生故障后继续存在,但您可以使用raidz2 +来应对多个故障。使用镜像,理论上可以减少一半的池,但最糟糕的情况是只丢失2个驱动器可能会消耗大量数据。
  • 性能特征:磁盘故障后的延迟,吞吐量,重新同步时间以及重新启动期间的性能都将根据您的池配置而有所不同。 (如果你对这些中的任何一个都没有严格的要求,我不会过分担心它。复原者期间的弹性和表现是最不同的,而且这些都是相当罕见的事件。 )

对于如何使用SSD,可能将其拆分是大多数用例的最佳选择:

  • 如果同步写入延迟很重要,则应配置SLOG设备。你可能不需要多于几个GiB,因为那里写的数据很快就会被刷新到主池。
  • 如果您需要读取延迟非常好,则应配置L2ARC设备。由于您的SSD与整体池相比非常小,因此您需要一个适合SSD的工作集才能获得最大的提升。