linux软件raid10,机器相同,结果差异很大

我在两台相同的机器上拥有完全不同的软件raid10性能和行为.

我有两台硬件相同的机器,同时购买,具有相同的软件版本,硬件版本和固件版本.每个都有一个带有8 x 6 Gb / s通道的SAS控制器连接到SAS机箱,该机箱可容纳12个SAS磁盘.

在机器1上,它是稳定的并且似乎工作正常,raid阵列中的每个磁盘的行为大致相同:繁忙时间相等(生产负载级别中所有磁盘的大约33%),以及每周软件raid检查运行,写入和读取性能不会降低.完整的raid检查在大约一天内完成,使用所有可用的备用带宽尽快完成.在此检查完成时,这相当于大约200 MB /秒读取.

机器2是一个问题儿童.尽管配置为使用所有可用磁盘带宽,但完全raid检查基本上从未完成.在尝试检查时,它以5 MB /秒的速度运行,在此期间写入性能下降到大约30 MB /秒.另外,四个磁盘占35%,而其余磁盘平均占22%.

取消机器2上的raid检查后,写入速度恢复到大约160 MB /秒.

如果我使用dd测试每个单独的mpath设备,在机器1上我得到的每个驱动器的读取速度大约为145 MB /秒,最低速度为119 MB /秒,然后是127 MB.其余的都在145 MB /秒范围内.

在机器2上,我获得107 MB(x 3个磁盘)之间的速度,其余都高于135 MB /秒,一个磁盘的峰值为191 MB /秒(!).

我承认自己已经远离了我的舒适区,但我找不到任何证据可以得出结论.我还检查了两台机器上每个磁盘上的SMART统计数据,虽然所有磁盘上都存在相当数量的“读取更正”错误,但值与读取性能之间似乎没有相关性,繁忙的%差异之间也没有相关性.

我无法找到解释在一个盒子上对另一个盒子执行阵列RAID检查时性能不佳的原因.关于下一步调试这个的建议将不胜感激.

解决方法

我发现了问题.在软件阵列中的12个磁盘中的4个磁盘上禁用了写入缓存.

以下是我为缩小范围所做的工作:

我打破了阵列,并使用带有oflag = direct的dd来测试每个磁盘的写入速度.我发现繁忙%较高的那些也只能写入大约75 MB /秒,而所有其他的则可以为持续的1 GB和10 GB数据大小写入180 MB /秒.

但是,由于4个慢速磁盘彼此非常一致,我开始挖掘,并安装了sdparm以允许我摆弄SCSI参数页面.

一旦我看到WCE(写缓存启用)的认设置已打开,但这四个磁盘已将其关闭,我将其打开.写入速度上升到180 MB /秒标记,并且阵列现在以1 GB /秒的速率重建(这大约是这组磁盘可以使用此控制器执行的最大值.)

check命令是sdparm –get = WCE / dev / mapper / mpatha并为将来的用户设置sdparm –set = WCE –save / dev / mapper / mpatha.

此外,还节省了电源 – 这阻止了操作系统级缓存以保持速度,尽管oflag = direct仍然可以.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...