这个问题已经被问过无数次了,但每次答案都取决于“这取决于您的要求”条件,所以我无法得出适用于我的情况的一般准则。所以我再次询问。
我有一台 24 托架磁盘服务器(双 Xeon Silver 4210R,128 GB RAM 和 CentOS 7)和 16 TB 磁盘用于存储科学数据,这些数据以大文件(大小 ~ GB)的形式组织起来,通常只写入一次,然后进行多次处理(此处理的输出与后续操作无关)。数据对于任务至关重要,但在某种程度上可以从其他存储站点恢复,因此数据丢失故障是一个大问题,但可能不会造成致命影响。可用磁盘空间应在先前的限制范围内达到最大值。总而言之,按重要性递减顺序,我的限制如下:
- 数据的完整性
- 读取性能
- 可用磁盘空间
我的临时解决方案是使用硬件 RAID 60 级别,其中有两个 RAID 6 阵列,每个阵列有 12 个磁盘,以及 ZFS 文件系统。根据我的拙见,RAID 60 应该比 RAID 6 提供更可靠、读取性能更好的解决方案,并且可用空间损失合理,而 ZFS 是容错文件系统的不错选择。我不知道这种配置可能存在的缺点(例如阵列重建时间?不同的文件系统?),也不知道可能存在更好的替代方案,所以我想听听一些知情人士的意见。
提前感谢任何建议。
答案1
ZFS 不喜欢在硬件 RAID 之上。您可能只是在原始磁盘上使用 ZFS,并将其配置为 raidz2 或 raid60 模式。此外,最好在附近放置一个替换驱动器,甚至在机架中留下一个热备用驱动器。
答案2
对于如此大的设置(384 TB 原始空间),我强烈建议使用 ZFS,因为它的数据完整性(和修复)保证实在太有价值了,不容忽视。
如果“读取性能”指的是连续读取速度,我会使用配置了 2x 12 宽 vdev 的 ZFS RAIDZ2 阵列。此外,大容量recordsize
和lz4
压缩应该是两个不错的选择。如果选择这种方式,请记住,使用 ZFS 时最好避免使用硬件 RAID。
如果您需要较高的随机读取性能(根据您的描述,不太可能),您需要使用较小的 ZFS RAIDZ2 vdevs 甚至镜像(如果可以容忍丢失 50% 的可用空间)。
非 ZFS 替代方案是使用基于硬件的 RAID60 阵列(具有至少 2+ GB 的断电保护写回缓存)和经典的非 CoW 文件系统(即 XFS)。在这种情况下,您可以使用叶酸作为卷管理器和快照层。也就是说,如果可以的话,请使用 ZFS。
答案3
答案4
我知道您会因奇偶校验而失去更多的容量,但我个人会选择使用 3 x 8 磁盘阵列的 R60,仅仅是为了重建时间,它不会给您带来任何好处,但 12 x 16TB 磁盘对我个人来说有点多 - 是的,它会起作用。
如果您想使用 ZFS,另一个选择是使用 ZRAID,我不是专家,但这里有几个是专家。