使用 RAID 和 LVM 验证 Linux 中的分区是否对齐

使用 RAID 和 LVM 验证 Linux 中的分区是否对齐

有谁知道验证 LVM 和 md RAID 上的 XFS 文件系统是否在 4096 字节阵列上正确对齐的步骤吗?又称“高级格式”扇区磁盘?

一些参考资料如下:
http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/index.html
http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/

此外,这个问题的背景涉及 Stack Overflow 的新 NAS:http://blog.serverfault.com/post/798854017/the-theoretical-and-real-performance-of-raid-10

答案1

验证是一个棘手的问题。我的第一个想法是从介质中进行一系列直接 IO 4KB 读取并观察闪烁的指示灯。如果每 x 次读取都会导致两个驱动器闪烁,则表明存在错位(4kb 读取刚好跨越 RAID 条带边界)。但是,您距离硬件有 3000 多英里,因此这对您不起作用。

我假设您的 RAID 条带宽度大于 4KB 扇区大小。我之前想到的测试是进行跨度读/写测试。这是您每 x 4KB 扇区读/写一次的地方。改变偏移量,您可以更改正在测试的 RAID 条带中的位置。如果某些偏移量显示不同的性能,我会认为这是特定偏移量跨越 4KB 操作的 RAID 条带的迹象。这将验证 XFS 在 RAID 配置中是否正确对齐。

可以使用相同类型的步幅测试来验证 RAID 条带是否正确对齐,并密切关注各个驱动器的“iostat”值。如果步幅大小正确,则在任何给定时间您只能看到两个驱动器上的活动。如果同一测试显示所有四个驱动器上都有活动,那么就有证据表明某些东西未对齐。

我确信存储基准测试 IOZONE 能够进行跨步测试,如果更常见的 IOMETER 无法做到这一点,我会感到非常惊讶。不过,使用直接 IO 和绕过缓存和写入合并的能力对于此类测试至关重要。

答案2

这是个人问题,但我认为这种对齐业务被夸大了——我敢说如果你关注最后的细节,就可以获得低个位数的性能优势,但考虑到现代缓存的大小以及磁盘到内存链的复杂性,我不会太过担心。

但那就是我 ;)

相关内容