大 RAID 条带大小会浪费小文件的空间吗?

Bri*_*ian 7 raid xfs

我计划在 XFS 文件系统上使用 RAID 0+1(或 RAID 10、RAID 5)的 Maildir 存储,并且 XFS 将使用 RAID 将使用的条带单元和宽度创建。

我还没有确定 RAID 条带大小,但我的 RAID 系统中的默认值是 128KB。如果我为 Maildir 存储使用 128KB 条带大小,是否会为小于条带大小的文件浪费空间?

我认为 Maildir 中文件的平均大小是 10KB,那么对于这种环境,条带大小最好是多少?

Paw*_*cki 13

不,您不会因为调整 RAID 条带大小而损失(或获得)任何空间。条带大小是关于告诉您的 RAID 系统如何为 I/O 操作分配数据。

您如何看待条带大小取决于 RAID 级别。

对于计算奇偶校验的 RAID (4,5,6),小于条带大小的写入会导致读取-修改-写入循环,因为奇偶校验总是针对整个条带计算的。因此,如果您在 128k 条带上进行 10k 写入,则会导致 raid 读取 128k 数据、修改内存中的相关扇区、重新计算奇偶校验并写入整个条带。坏事(TM)。

对于 RAID sans parity (0, 1, multiple-mirrors 1),条带(和磁盘数量)决定了单个主轴(谎言、该死的谎言和统计数据)完成的每个 I/O(统计)的工作量。如果您有大顺序 I/O,那么大条带是很好的,因为 RAID 中的每个磁盘都会获得一个很好的顺序数据块来读/写。如果您进行大量小文件访问,则较小的条带更好,因为更有可能两个独立的 I/O 将进入两个不同的主轴并并行处理。

理论上讲了这么多,实际上最好的方法是尝试不同的尺寸并进行测试。如果您允许系统受磁盘限制的可能性很小,请放弃 Maildir 文件系统的 RAID5/6 想法。读取-修改-写入的小文件写入惩罚会降低您的性能。

还有一两件事:阅读这个关于调整XFS线程上RAID高的IO(即高在附近的1M IOPS)。

  • @Kyle - 您可以随意编辑网站上任何答案中的语法和/或事实错误。 (3认同)
  • 失去。不松。请。 (2认同)

Cho*_*er3 7

我很想坚持使用 4KB 的默认 XFS 块大小,因为它使用延迟分配,因此通过使用较小的大小,您会看到一些非常真实的效率。无论如何,我当然不会担心尝试将 maildir 文件大小与块匹配,你会发疯的,让 FS 完成它的工作。