对于数百万个小文件来说,最佳的分区格式和 raid 设置是什么?

对于数百万个小文件来说,最佳的分区格式和 raid 设置是什么?

如果我有数以百万计的按文件夹分布的小文件,那么最好的分区格式是什么以及什么 raid 设置才能尽快管理它们?例如搜索所有文件,查找大于 x MB 的文件等。

在这种情况下,在 raid 中分布 4-5 个 SSD 是否有助于提高性能?

考虑到大多数文件都在 1 MB 以下,是否有某种分区格式在这种情况下执行速度更快?

编辑:数据将被多次读取以进行查询,因此读取次数至少是写入次数的两倍。数据并不重要,速度比数据保护更重要。

答案1

一般来说,对于 RAID,您会得到 N(设备数量)* I(iops)用于读取,并且根据 RAID 级别对写入进行一些划分。 (N*I)/2 用于镜像,/4 用于 raid5,/6 用于 raid6 等。

对于非关键数据,如果发生设备故障,这些数据可能会丢失,并且需要从头开始重新创建,或者只是创建新数据,因此 RAID0 的写入速度将是最快的。这是跨多个设备的简单条带,并且不会发生奇偶校验读取或写入来消耗写入 Iop。在RAID0中,读写性能都应该是N*I。 (您的 CPU 和选择的文件系统的缓存方法可能会稍微影响数字,但作为一般规则,您应该非常接近这个值。

根据可用驱动器的数量以及所需的容量,使用 RAID10 将使您的读取性能保持在 N我和你的写性能将是(NI)/2 因为你必须向镜像的两侧发出写入。

4-5 个 SSD,配置为条带,使用 EXT4,将为您提供(在我看来)性能和简单性的最佳交集,但会牺牲数据保护。

RAID10 会将您的容量和写入性能减半,保持读取性能(您仍然可以从所有驱动器读取),并为您提供良好的数据完整性。

对于临时数据,我会在单个分区上使用 EXT4 和 RAID0,并根据需要使用多个文件夹。

相关内容