非常简单:该服务器有一个 SSD 作为主驱动器,还有一个 RAID 阵列 (mdadm) 用于存储。
间歇性地,它在写入数组时遇到问题:写入速度减慢到实际上无法使用的程度。
我刚刚测试完速度,将一个1G的文件从SSD复制到RAID阵列花了将近一个小时:
root@office:/tmp# rsync -vhr --progress test.img /mnt/raid/
sending incremental file list
test.img
1.07G 100% 301.99kB/s 0:57:52 (xfer#1, to-check=0/1)
sent 1.07G bytes received 31 bytes 309.25K bytes/sec
total size is 1.07G speedup is 1.0
RAID 阵列似乎没问题:
root@office:/tmp# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb[0] sdd[3] sdc[1]
5860270080 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
并且 syslog 没有提及任何内容。
我还应该在哪里寻找解决此问题的方法?
附言。大约一个月前,雷雨过后我们不得不更换开关。这个问题也是在那个时候开始的。我无法判断这是主板或控制器出现故障,还是其他损坏的东西。在建议客户开始更换硬件之前,我宁愿先找到确凿的证据……
答案1
原来有一个 cron 作业正在运行同步;每 60 秒一次。它产生了如此多的僵尸进程,以至于 RAID 阵列的速度减慢到了极点。这个故事的寓意是:检查你的 cron 作业。