我的物理服务器随机挂起,在此期间我没有得到任何日志条目。 所以我让脚本运行:
while true; do date >>/tmp/dates; sleep 1; done & disown
几分钟后文件/ tmp /date有“漏洞”。 有时date中断30秒,有时连续3分钟:
Thu Feb 13 14:54:39 CET 2014 Thu Feb 13 14:54:40 CET 2014 Thu Feb 13 14:57:45 CET 2014 Thu Feb 13 14:57:46 CET 2014
服务器不显示高负载或内存利用率。 / var / log / messages不会显示服务器挂起的时间。 但是它确实有一些关于IO问题的信息,比如一个小睡的fibrechannel链接。 我从SAN启动,所以/在一个多映射器设备上。 如果我打电话
while true; do date >>/tmp/dates; sleep 1; done & disown while true; do date >>/dev/shm/dates; sleep 1; done & disown
在/ dev / shm / dates中没有漏洞,但是/ tmp /date会有漏洞,所以我认为这不是内核挂起的情况,而是一个IO挂起的情况。
我看不到处于不间断睡眠状态的进程。 硬件或存储日志中没有看起来相关的条目。
然而iostat显示等待的高延迟峰值:
03/28/14 12:32:00 Device: rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util dm-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 214.00 0.00 0.00 100.00 03/28/14 12:32:01 Device: rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util dm-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 214.00 0.00 0.00 100.00 03/28/14 12:32:02 Device: rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util dm-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 214.00 0.00 0.00 100.00 03/28/14 12:32:03 Device: rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util dm-4 0.00 0.00 0.00 1219.00 0.00 4.76 8.00 45.61 5251.48 0.82 100.40 03/28/14 12:32:04 Device: rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util dm-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.99 0.00 0.00 99.60 03/28/14 12:32:05 Device: rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util dm-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.01 0.00 0.00 100.40 03/28/14 12:32:06 Device: rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util dm-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.00 0.00 0.00 100.00
内核是否正在等待存储器中的IO,在块到达之前什么也不做? 还有什么呢? 我怎样才能find?
看着FC交换机的错误日志,我们发现一个端口有一个巨大的错误日志。 我们禁用了这个港口,现在还没有看到整个周末的错误。 所以我认为这个错误是由一个损坏的光纤通道path造成的。 通常,根据我的信息,应该检测到这样的错误(例如,多path),logging和自动更正。 所以我认为我们在这里有一个未被发现的光纤通道path故障的情况之一。