zfs和未来的可扩展性


8

我想使用freebsd 9和zfs构建服务器。我周围有一些旧硬件(具有8 GB内存的Intel四核),并且我愿意购买两个或三个1 TB磁盘。我也有一个dlink RAID服务器,其中已经有两个1 TB磁盘,我可能会停止使用它们,因此一旦我将数据移到zfs服务器上,那两个硬盘就可以在zfs服务器中使用了(当前大约300 mb)在RAID 1中)移至新服务器。

这样一开始就给我2或3个磁盘,一旦我成功设置zfs服务器并复制了数据,便可以移动到4或5个磁盘。

我的问题是如何最好地设置zfs池,以便拥有最大的冗余和存储空间,并能够在将来可用时迁移到2个或3个或更大的驱动器。所以我不太在乎速度,我想我的以太网(即使速度为1gb / s)仍然是决定系统速度的决定因素...?

我目前的想法是购买2个新磁盘,并使用条带化模式进行设置。复制完dlink nas中的所有数据后,我将删除其中一个驱动器,通过使其成为新驱动器之一的镜像将其添加到池中。重建阵列后,我将另一个驱动器移至池中,以使其镜像第二个新驱动器……完成所有操作后,我应大致具有RAID 10的“条纹镜像”功能。

这可能吗,还是有更好的设置方法?

同样,我的首要任务是最大冗余,维护(将旧驱动器换成更新/更大的驱动器并增加我的总池空间),可用存储空间和速度;以该顺序。

Answers:


6

为了能够通过仅更换一些磁盘来增加存储空间,您应该使用镜像的vdev,它们被条带化在一起(实际上相当于RAID10)。

在您的情况下,如果有4个驱动器,则意味着需要执行以下操作:

    zpool
      mirror
        disk1
        disk2
      mirror
        disk3
        disk4

这将为您提供2TB的存储(假设所有磁盘均为1TB)和良好的冗余性(1个磁盘崩溃后阵列故障占0%,同时发生2个磁盘崩溃则阵列故障仅占33%)。

现在到那里,我将购买这两个新的1TB磁盘,并将其放入池中:

zpool create zpool mirror disk1 disk2

然后将DLINK的内容移动到新创建的池中。

完成后,您可以清理DLINK磁盘并将其添加到池中,以增加存储量:

zpool add zpool mirror disk3 disk4

如果以后要增加存储量,可以通过添加更多的vdev(最好是镜像)或仅更换4个磁盘中的2个来实现。替换如下:

zpool offline zpool disk3
# remove physical disk3 at this point
# insert new, bigger disk in place of disk3
zpool online zpool disk3
# wait for resilver
# after resilver, do the same with disk4
# your vdev is now bigger, increasing the size of the pool

现在,让我们看看另一个选项。如果您像这样制作了1个raidz vdev:

zpool
  raidz
    disk1
    disk2
    disk3
    disk4

您将拥有3TB的存储空间,但是,要通过仅更换磁盘(而不添加磁盘)来增加该存储空间,则必须替换所有4个磁盘(当然一个磁盘一个)以增加池大小!另外,如果同时有2个磁盘崩溃,则此配置也会有100%的阵列故障。

raidz配置也将比条带镜像配置慢。由于raidz的计算量更大,而带区+镜像实际上提高了读写性能。使用“普通”硬盘(非SSD),条带状镜像可能会填充您的千兆位连接以进行顺序读取和写入,因为ZFS可以结合磁盘的带宽(记住1Gb / s仅为〜125 MegaBYTES / s,这是标准的“普通”)硬盘将为您提供约90兆字节/秒的速度)。我认为上述raidz配置无法在消费类硬件上实现。

总之,带磁盘数量的条带化镜像/ RAID 10得分为:

+ max redundancy
+ maintenance
- available storage space
+ speed

raidz的得分是:

- max redundancy
- maintenance
+ available storage space
- speed

我会说条纹镜子赢了:)

最后提示:在开始之前,请务必详细阅读操作方法和原因!甚至可以在虚拟机中模拟整个过程。我特别在考虑添加第二个镜像vdev的步骤!如果做错了,您可能会得到您期望的其他配置,并且在这种情况下ZFS非常令人无法忍受,因为它不允许您从池中删除vdev或从raidz vdevs中删除磁盘!(但是,允许从镜像vdevs中删除磁盘)

另外,请保留将来的证据并贴标签并对齐磁盘,以免您遇到高级格式化驱动器的麻烦!有关复杂的ZFS和4K驱动器的更多信息,建议您在FreeBSD论坛上阅读此主题


3

您同时添加的每个磁盘组都有自己的冗余策略,无论添加到磁盘还是创建新池。2个磁盘=镜像,3个可以使用RAIDZ(或创新,不推荐)。具有此类驱动器的1Gb以太网的性能可能会变慢。同样,稍后将驱动器换成更大的驱动器虽然很可能,但也有些麻烦。

我强烈建议您在 开始之前阅读《ZFS管理指南》从头开始。

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.