我在服务器上有四个磁盘,其中两个是 WD15EARS,我正尝试将这两个 WD15EARS 放入 Linux mdadm RAID,但出于某种原因,阵列的性能非常慢(同步速度约为 15 MB/s)。起初我以为这是一个对齐问题,因为它们是高级格式驱动器,但我不这么认为。这是我对齐它们的方式。我的台式电脑中也有两个这样的驱动器,经过 LVM 和 RAID 的精心对齐,它们运行良好。
我对单个驱动器(sdb 和 sdd)进行了一些速度测试。Hdparm -t
结果显示 sdb 为 80 MB/s,sdd 仅为 30 MB/s(另外两个驱动器,两个三星驱动器,测得的速度约为 100 MB/s)。这些结果是可重复的。它还表明这不是对齐问题,因为这样hdparm -t
两个驱动器都会很慢。
我无法辨别出任何可能解释为什么其中一个驱动器速度较慢的差异,除了 SMART 在良好的驱动器上报告以下内容:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
它会在坏驱动器上报告以下情况:
Offline data collection status: (0x85) Offline data collection activity
was aborted by an interrupting command from host.
Auto Offline Data Collection: Enabled.
自动离线数据收集应该每四小时运行一次,但坏驱动器上的状态消息永远不会改变。
我推测是这个离线收集导致了速度变慢,但我无法中止它。Smartctl -X
不做任何事情,这是有道理的,因为根据,驱动器没有“根据新命令中止离线收集”功能smartctl -c
。
我目前正在进行一个长期的自我测试,希望能够取得一些成果,但与此同时,我希望是否有人知道可能发生了什么。
编辑:自检已完成,显示一切正常。关闭自动离线数据收集也无济于事。
而且,我刚刚进行了 DD 写入测试。dd if=/dev/zero of=/dev/sdX bs=10M
好磁盘上的速度为 65 MB/s,坏磁盘上的速度约为 15 MB/s。肯定出了问题。
编辑 2:我从数据中心拿走了驱动器,并使用 USB 转 SATA 转换器将其连接到我的 PC。现在它工作正常...
答案1
有可能这性能显著下降的原因可能是自动声学管理 (AAM) - 使用以下工具检查两个驱动器上 AAM 的状态hdparm -M
并通过将值设置为 254 来完全禁用它。
此外,启用驱动器上的写入缓存也是hdparm -W
值得尝试的。
由于你正在使用 Caviar Green 硬盘(说实话,你不应该在 Linux RAID 设置中使用这种硬盘),并且已经使用它,请确保禁用省电功能,尤其是 IntelliPark 功能。
如果没有任何帮助,那可能确实是一个硬件问题 -开立 RMA并将驱动器退回给 WD。
答案2
我解决了。原来是没有启用原生 SATA(AHCI)。现在它可以工作了(阵列同步速度为 70 MB/s),读取速度为 120 MB/s。不过,这种缓慢不应该发生在传统模式下,但至少它已经消失了。
我现在也有了正确的 NCQ。我以前有无法正常工作的 NCQ(dmesg|grep -i ncq
:队列 0/32;零表示磁盘支持它,但控制器不支持)。
答案3
检查 4k 扇区上的分区对齐情况。