大型存储服务器的 RAID 级别和文件系统

大型存储服务器的 RAID 级别和文件系统

这个问题已经被问过无数次了,但每次答案都取决于“这取决于您的要求”条件,所以我无法得出适用于我的情况的一般准则。所以我再次询问。

我有一台 24 托架磁盘服务器(双 Xeon Silver 4210R,128 GB RAM 和 CentOS 7)和 16 TB 磁盘用于存储科学数据,这些数据以大文件(大小 ~ GB)的形式组织起来,通常只写入一次,然后进行多次处理(此处理的输出与后续操作无关)。数据对于任务至关重要,但在某种程度上可以从其他存储站点恢复,因此数据丢失故障是一个大问题,但可能不会造成致命影响。可用磁盘空间应在先前的限制范围内达到最大值。总而言之,按重要性递减顺序,我的限制如下:

  1. 数据的完整性
  2. 读取性能
  3. 可用磁盘空间

我的临时解决方案是使用硬件 RAID 60 级别,其中有两个 RAID 6 阵列,每个阵列有 12 个磁盘,以及 ZFS 文件系统。根据我的拙见,RAID 60 应该比 RAID 6 提供更可靠、读取性能更好的解决方案,并且可用空间损失合理,而 ZFS 是容错文件系统的不错选择。我不知道这种配置可能存在的缺点(例如阵列重建时间?不同的文件系统?),也不知道可能存在更好的替代方案,所以我想听听一些知情人士的意见。

提前感谢任何建议。

答案1

ZFS 不喜欢在硬件 RAID 之上。您可能只是在原始磁盘上使用 ZFS,并将其配置为 raidz2 或 raid60 模式。此外,最好在附近放置一个替换驱动器,甚至在机架中留下一个热备用驱动器。

请参阅此处的性能基准:https://calomel.org/zfs_raid_speed_capacity.html

答案2

对于如此大的设置(384 TB 原始空间),我强烈建议使用 ZFS,因为它的数据完整性(和修复)保证实在太有价值了,不容忽视。

如果“读取性能”指的是连续读取速度,我会使用配置了 2x 12 宽 vdev 的 ZFS RAIDZ2 阵列。此外,大容量recordsizelz4压缩应该是两个不错的选择。如果选择这种方式,请记住,使用 ZFS 时最好避免使用硬件 RAID。

如果您需要较高的随机读取性能(根据您的描述,不太可能),您需要使用较小的 ZFS RAIDZ2 vdevs 甚至镜像(如果可以容忍丢失 50% 的可用空间)。

非 ZFS 替代方案是使用基于硬件的 RAID60 阵列(具有至少 2+ GB 的断电保护写回缓存)和经典的非 CoW 文件系统(即 XFS)。在这种情况下,您可以使用叶酸作为卷管理器和快照层。也就是说,如果可以的话,请使用 ZFS。

答案3

另一个建议是将您的操作系统与数据磁盘分开。

这款超微机箱的后部有两个额外的插槽,用于安装 2.5 英寸 SATA 磁盘。这些应该是 RAID1,包含操作系统和任何交换。前面的 24 个磁盘应该只用于您选择的任何 RAID 阵列或 ZFS 设置中的数据。

在此处输入图片描述

答案4

我知道您会因奇偶校验而失去更多的容量,但我个人会选择使用 3 x 8 磁盘阵列的 R60,仅仅是为了重建时间,它不会给您带来任何好处,但 12 x 16TB 磁盘对我个人来说有点多 - 是的,它会起作用。

如果您想使用 ZFS,另一个选择是使用 ZRAID,我不是专家,但这里有几个是专家。

相关内容