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

Nic*_*ori 9 raid storage filesystems

这已被问了一百万次,但每次答案都取决于“这取决于您的要求”条件,因此我无法提取适用于我的案例的一般准则。所以我再问一次。

我有一个 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 是容错文件系统的不错选择。我不知道这种配置可能的缺点(例如阵列重建时间?不同的文件系统?)也不知道可能的更好的替代方案,所以我想听听一些明智的意见。

提前感谢您的任何建议。

Nik*_*nov 11

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

在此处查看性能基准:https : //calomel.org/zfs_raid_speed_capacity.html


sho*_*hok 8

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

如果“读取性能”是指顺序读取速度,我会使用配置了 2x 12-wide vdevs 的 ZFS RAIDZ2 阵列。而且,大recordsizelz4压缩应该是两个不错的选择。如果沿着这条路线走,请记住,在使用 ZFS 时,通常最好避免使用硬件 RAID。

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

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


Cri*_*gie 7

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

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

在此处输入图片说明


Cho*_*er3 1

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

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