我正在将6个磁盘组织到ZFS池中。由于我的主板(supermicro)可以处理6 SATA,因此我认为将操作系统(centOS7)安装在外部USB记忆棒(32Gb)上,以便为ZFS利用最大数量的磁盘。
外部USB centos棒工作良好(目前),并且我的想法是我不太在意,因为重要数据将存储在ZFS池中。它是否正确?还是ZFS将在OS上存储某些内容?理想情况下,如果USB记忆棒死了,我应该能够用另一个替换它,并且应该将ZFS池配置写入ZFS池本身。
有6个磁盘(每个1Tb),并且知道该池将不会增长(我的意思是除非我投资$$,否则我将没有更多的SATA),您建议的最佳配置是什么?当然,我担心冗余,我应该镜像3个磁盘。评论?
答案 0 :(得分:1)
我认为将操作系统与数据池分开是有意义的。只要确保您有办法在USB记忆棒上重新创建一切即可;否则,如果丢失或损坏,您将感到抱歉。
对于您的ZFS池配置,我看到几个选项:
raidz1
带有全部6个磁盘
raidz2
带有全部6个磁盘
除非您非常在意写吞吐量(如果考虑使用三向镜像,则可能不需要),对于大多数用例,我可能会建议使用raidz2
。您极不可能单独丢失3个驱动器(如果这样做,则可能是自然灾害/电力问题等),并且raidz2
是“有效的”,因为它可以精确存储要生存的冗余数据量两次失败,但没有更多,这意味着与使用两个三向镜像(33%->〜65%)相比,您可以获得更多的存储空间来存储数据。
除了两个三向镜像之外,您还可以使用其他“低效”数据冗余技术,例如2x raidz1
,每个具有3个磁盘。我没有提到这些,因为我认为它们的权衡不如我上面列出的那样。
但是要记住,RAID-Z的一个缺点是,事后很难在现有池中添加更多磁盘。有一个名为"RAID-Z expansion"的功能正在开发中,但我认为它尚未交付任何地方。释放后,您应该可以在现有池上使用它,尽管它不允许您添加更多奇偶校验(只是更多数据磁盘)。
如今,扩展RAID-Z池的最常见方法是将容量增加一倍,方法是在另一个raidz2
组中添加6倍以上的驱动器,并在两个RAID-Z组之间进行条带化。或者,您可以使用zfs send
-> zfs receive
将数据复制到根据您的需要配置的新池中,这比添加更多磁盘到同一个池更灵活,但也更复杂。 >