raid6 性能非常低

raid6 性能非常低

我注意到写入 raid-6 的速度非常低,但是当我使用 hdparm 进行测试时,速度是合理的:

dd if=/dev/zero of=/store/01/test.tmp bs=1M count=10000

给出:50Mb/s 甚至更低。

hdparm 给出:hdparm --direct -t /dev/vg_store_01/logical_vg_store_01 给出 450MB/s

为什么文件写入速度低于 hdparm 测试?是否需要调整某些内核限制?

我有一个 Areca 1680 适配器,带有 16x1Tb SAS 磁盘,科学 Linux 6.0

编辑

我的错。抱歉,所有单位均为 MB/s

有关硬件的更多信息:

双四核机器中的 2 个 areca 控制器。16Gb RAM,
sas 背板和 areca 的固件是最新的。
磁盘是 seagate 7.200 rpm 16x1Tb x2 raid 盒。每 8 个磁盘都是 raid6,因此共有 4 个卷,lba=64。

两个卷按条带化 lvm 和 ext4 格式分组

条带大小为 128

当我格式化卷时,我可以通过 iotop 看到它写入 400mb/s

iostat 还显示两个 lvm 成员驱动器的写入速度均为 450MB/s

最终以 1600GB/s 的速度写入

由于磁盘损坏,其中一个 raid 的性能下降。奇怪的是,jbod 模式下的磁盘与其他磁盘一样,使用 hdparm 时速度为 100MB/s。在大量 IO 之后,它在日志文件中报告写入错误(不是有 10 个)。raid 仍然没有发生故障或性能下降。

更换后我的配置如下:

  • 2xARC1680 控制器,配备
  • RAID0 带有 16x1Tb SAS 磁盘条带 128 lba64
  • RAID0 带有 16x1Tb SAS 磁盘条带 128 lba64

具有 128K 条带大小的卷组

格式化为 XFS

直接的

hdparm --direct -t /dev/vg_store01/vg_logical_store01

/dev/vg_store01/vg_logical_store01:计时 O_DIRECT 磁盘读取:3.00 秒内 4910 MB =1636.13 MB/秒

无直接

hdparm -t /dev/vg_store01/vg_logical_store01

/dev/vg_store01/vg_logical_store01:计时缓冲磁盘读取:3.00 秒内 1648 MB =548.94 MB/秒

** dd 测试直接**

dd if=/dev/zero of=/store/01/test.tmp bs=1M count=10000 oflag=direct 10000+0 条记录输入 10000+0 条记录输出 10485760000 字节(10 GB)已复制,8.87402 秒,1.2 GB/秒

** 无需直接联系**

dd if=/dev/zero of=/store/01/test.tmp bs=1M count=10000 10000+0 条记录输入 10000+0 条记录输出 10485760000 字节(10 GB)已复制,19.1996 秒,546 MB/秒

答案1

检查您的 FS 是否与 RAID 尺寸对齐。我在 XFS 上使用 8 x 2TB SATA 驱动器在 RAID-6 阵列上获得 320MB/s,我认为它受到 3Gb/s SAS 通道速率的限制,然后是 RAID-6 性能。您可以从中获得一些关于对齐的想法此主题

答案2

不幸的是,你正在比较苹果和橘子。

450Mb/s = 56MB/s,这与您在现实生活中看到的速度大致相同。它们都给出相同的读数(但一个以位为单位,一个以字节为单位)。您需要将 450 除以 8 才能得到两者的相同测量值。

(在您的问题中,您把大写字母颠倒了,现在我只能希望/假设这是一个打字错误,因为如果您反转大写字母,您会得到几乎完美的匹配)

答案3

检查是否可以在 RAID 控制器上启用写入缓存

最好你的控制器上有电池,否则你可能会在断电时丢失数据

答案4

但当我用 hdparm 进行测试时,速度还算合理

hdparm不是测试性能,它是“只读的”。此外,它实际上测试堵塞I/O 读取性能,但调用的方式dd会同时测试文件系统性能(而且 RAID-5,6 的写入速度明显慢于读取速度)。例如,如果您的文件系统是 EXT3,则由于格式化不正确(例如不是考虑您的 RAID 的完整条带大小参数)。

此外,很多人倾向于使用较小的条带大小,这会导致磁盘 I/O 不理想。创建此 RAID 时,您的条带大小选择是什么?

另一个问题是,dd随着参数的变化,数字有何不同bs?您是否尝试过使用全条带写入大小?

相关内容