核心概念
RAID Chunk Size
RAID 组的最小数据块单位(例如 64KB、128KB、256KB)。
作用:决定数据在 RAID 成员磁盘上的分布粒度。
示例:若 Chunk Size=64KB,写入 256KB 数据时,会被拆分为 4 个 64KB 的块,分布在不同的磁盘上。
文件系统 Block Size
文件系统的最小存储单元(例如 4KB、8KB)。
作用:影响文件系统读写的最小单位,需与 RAID Chunk Size 对齐,避免跨磁盘读写碎片。
步幅Stride
文件系统块连续分布在 同一磁盘上的数量。
计算方式:步幅=RAID Chunk Size/文件系统Block Size
例如:Chunk Size=64KB,Block Size=4KB → Stride=16
表示每个文件系统块跨越 16 个连续 Block,存放在同一磁盘的 Chunk 中
条带宽度Stripe Width
一个完整条带Stripe跨越的磁盘数量(不含校验盘)
计算方式:条带宽度=数据盘数量=总数-校验盘数量
以上这些参数都会在创建文件系统时输入
1 | 假设是一个RAID5(3D+1P),数据盘数量为3 |
调优目标
- 对齐 I/O 操作
确保文件系统的 Block Size 与 RAID Chunk Size 成整数倍关系,避免单次 I/O 跨磁盘读写
比如写入 4KB Block 可能跨越两个 Chunk(不同磁盘),增加寻址开销
- 最大化并行性
条带宽度应覆盖所有数据盘,使单个大 I/O 请求能同时利用多块磁盘的带宽
- 减少校验计算开销
在 RAID5/6 中,校验计算可能成为瓶颈。通过增大 Chunk Size 或减少小 I/O 比例可缓解此问题