计算“远”布局中 Linux mdadm RAID10 阵列的正确条带大小

计算“远”布局中 Linux mdadm RAID10 阵列的正确条带大小

我正在从 6 个驱动器创建 RAID10 阵列。在近布局中创建时,例如

mdadm --create /dev/md2 --chunk=64 --level=10 --raid-devices=6 --layout=n2 /dev/sda1 ...

检查系统报告的条带大小:

cat /sys/devices/virtual/block/md2/queue/optimal_io_size

结果是 196608,正如预期的那样,例如 3 个数据驱动器(RAID10 中总共 6 个的 50%)x 64K 块 = 192K 条带。

现在,当使用--layout=f2选项创建相同的数组时,optimal_io_size报告393216,例如大两倍。

现在,根据 Nail Brown(mdadm raid10 作者),

“远”布局将所有数据以类似 raid0 的排列方式分布在所有驱动器的前半部分,然后以类似的布局将所有数据的第二份副本分布在所有驱动器的后半部分 - 确保块的所有副本都位于不同的驱动器上。

预计这将产生与 raid0 类似的所有驱动器的读取性能,但写入性能会明显较差,因为驱动器磁头的寻道次数较多。

因此,OS 似乎建议我最好使用类似 RAID0 的条带大小(跨阵列中的所有磁盘),而不是“传统”的 RAID10 条带大小(跨阵列中的半个磁盘)。这可能会对 LVM 和文件系统对齐、条带/步幅调整等产生严重影响。但是,我从未在任何地方看到将远模式下的 MDADM RAID10 视为 RAID0 的建议。

问题:我是否遗漏了什么,或者在对齐/调整 RAID 之上的任何内容时,我是否正确地将 RAID10,f2 视为 RAID0?

相关内容