zfs和未来的可扩展性

我想用freebsd 9和zfsbuild立一个服务器。 我有一些旧的硬件(8 GB的RAM四核英特尔)躺在周围,我愿意购买两个或三个1 TB磁盘。 我也有一个dlink RAID服务器,里面有两个1TB的磁盘,我可能会停止使用,所以一旦我移动了它们的数据,这两个硬盘就可以在zfs服务器上使用了(目前约300MB在RAID 1)到新的服务器。

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

我的问题是如何最好地设置zfs池,以便我拥有最大的冗余和存储空间,在未来可以移动到2个或3个或更大的驱动器时可以使用。 所以我不在乎速度那么多,我猜测我的以太网(即使在1gb / s)将成为系统速度的决定性因素。

我目前的想法是购买2个新磁盘,使用条纹模式进行设置。 一旦我复制了我的dlink NAS中的所有数据,我将删除其中的一个驱动器,并将其添加到池中,使其成为新驱动器之一的镜像。 一旦arrays被重build,我会把另一个驱动器移到池中,这样它就映射到第二个新驱动器……在完成所有工作之后,我应该有相当于RAID 10的“条纹镜像”。

这是可能的,还是有更好的方式来设置呢?

同样,我的重点是最大冗余,维护(用较新/较大的驱动器交换旧驱动器,增加我的总池空间),可用存储空间和速度; 以该顺序。

为了能够通过只更换一些磁盘来增加存储空间,您应该使用镜像的vdevs,并将其组合在一起(实际上相当于RAID10)。

在你的情况下,有4个驱动器,这将意味着这样的工作:

zpool mirror disk1 disk2 mirror disk3 disk4 

这将为您提供2TB的存储(因为所有的磁盘都是1TB)和良好的冗余(1次磁盘崩溃后arrays失败的0%,只有33%的arrays失败,同时发生2次磁盘崩溃)。

现在到那里,我会买这两个新的1TB磁盘,并把它们放在池中:

 zpool create zpool mirror disk1 disk2 

然后将你的DLINK的东西移动到新创build的池中。

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

 zpool add zpool mirror disk3 disk4 

如果您稍后想要增加存储空间,可以通过添加更多的vdevs(最好也是镜像)或者只更换4个磁盘中的2个来实现。 replace如下:

 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 

现在,让我们看看另一个选项。 如果你这样做了一个raidz vdev:

 zpool raidz disk1 disk2 disk3 disk4 

你将拥有3TB的存储空间,但是,通过更换磁盘(而不是添加)来增加存储容量,你将不得不更换所有4个磁盘(一个一个地增加磁盘容量)。 此外,如果两个磁盘同时崩溃,则此configuration有100%的arrays故障。

raidz的configuration也会比条带化的镜像configuration慢。 由于raidz计算密集程度更高,而条纹+镜像实际上提高了读写性能。 由于ZFS可以结合磁盘的带宽(记住1Gb / s仅为〜125兆字节/秒,一个标准的'普通'磁盘),因此带有“普通”硬盘(非SSD)的条纹镜像可能会满足您的千兆位连接的连续读取和写入。硬盘会给你大约90兆字节/秒)。 我不认为上述raidzconfiguration将能够在消费类硬件上做到这一点。

总之,带有磁盘量的条带镜像/ RAID 10的分数是:

 + max redundancy + maintenance - available storage space + speed 

raidz的得分是:

 - max redundancy - maintenance + available storage space - speed 

我会说条纹镜子赢了:)

最后一个提示:在开始之前,明确地阅读更多的技巧和原因! 甚至可能模拟虚拟机中的整个过程。 我特别想到你添加第二个镜像vdev的步骤! 如果你做错了,你可能会得到一个你希望的不同的configuration,在这种情况下ZFS是非常无情的,因为它不允许你从池中删除vdevs或者从raidz vdevs中删除磁盘! (然而,删除磁盘forms镜像vdevs是允许的)

另外,为了保证未来的安全,标签和alignment你的磁盘,所以你不会遇到高级格式化驱动器的麻烦! 有关ZFS和4K驱动器错综复杂的更多信息,我build议你在FreeBSD论坛上阅读这个主题 。

无论添加或创build新池,您同时添加的每个磁盘组都具有自己的冗余策略。 2个磁盘=镜像,3您可以使用RAIDZ(或创意,不build议)。 使用这种驱动器的1Gb以太网性能可能会变慢。 另外,以后换一个更大的驱动器是一件麻烦事,虽然完全可能。

强烈build议您在开始之前先阅读“ ZFSpipe理指南” 。