可能是磁盘 IO 问题。帮助确认。

可能是磁盘 IO 问题。帮助确认。

从几天前开始,我的一台服务器开始崩溃。目前它几乎每天都会崩溃。有时,一天崩溃一次以上。只有重启才能解决。

上次发生问题时,服务器负载超过 1.000,但服务器并不慢,但我无法访问向 mysql 发出请求的网站。

根据命令iostat -dx 1没有数据写入磁盘。这不正常。服务器上的一些网站需要大量数据写入。所以我能想到的就是磁盘问题。

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00    28.00  0.00 67.00     0.00   760.00    11.34     0.17    2.46   0.04   0.30
sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda2              0.00    28.00  0.00 67.00     0.00   760.00    11.34     0.17    2.46   0.04   0.30
sda3              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdb               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00   665.00  0.00 47.00     0.00  5696.00   121.19     0.24    5.15   0.17   0.80
sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda2              0.00   665.00  0.00 47.00     0.00  5696.00   121.19     0.24    5.15   0.17   0.80
sda3              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdb               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda3              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdb               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda3              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdb               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

我分析了iostat数据持续了几秒钟,%util 值任何时候都没有超过 0.80% 的变化。由于我托管的网站,这不正常。

当服务器正常工作时,SDA 和 SDA2 %util 值几乎始终超过 30%

这是服务器出现问题时的顶级命令数据:请注意,97.1%sy是一个非常高的值。

top - 15:47:05 up 1 day, 17:14,  1 user,  load average: 1492.16, 979.45, 435.51
Tasks: 1808 total, 1501 running, 307 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.9%us, 97.1%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  12290048k total, 12194552k used,    95496k free,   804172k buffers
Swap:  1052248k total,     5092k used,  1047156k free,  8652196k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                            
 8795 nobody    25   0  205m 8344 2176 R  2.0  0.1   0:05.43 httpd                                                              
 9039 nobody    25   0  205m 8344 2176 R  2.0  0.1   0:04.45 httpd                                                              
10529 root      15   0 14076 2436  820 R  2.0  0.0   0:00.23 top                                                                
 7995 nobody    21   0  213m  16m 7220 R  1.6  0.1   0:06.03 httpd                                                              
 8044 nobody    20   0  206m  12m 5024 R  1.6  0.1   0:03.66 httpd                                                              
 8491 nobody    25   0  210m  16m 6772 R  1.6  0.1   0:05.45 httpd                                                              
 8492 nobody    21   0  210m  15m 6240 R  1.6  0.1   0:04.56 httpd                                                              
 8737 nobody    25   0  205m 9640 3380 R  1.6  0.1   0:04.78 httpd                                                              
 8767 nobody    25   0  205m 8344 2176 R  1.6  0.1   0:05.02 httpd                                                              
 8776 nobody    25   0  205m 8452 2264 R  1.6  0.1   0:04.98 httpd                                                              
 8779 nobody    25   0  205m 8520 2340 R  1.6  0.1   0:05.05 httpd                                                              
 8815 nobody    25   0  205m 8452 2272 R  1.6  0.1   0:04.89 httpd                                                              
 8818 nobody    25   0  205m 8456 2276 R  1.6  0.1   0:04.66 httpd                                                              
 8836 nobody    25   0  205m 8444 2272 R  1.6  0.1   0:04.65 httpd                                                              
 8846 nobody    25   0  205m 8428 2240 R  1.6  0.1   0:04.49 httpd                                                              
 8854 nobody    25   0  205m 8376 2200 R  1.6  0.1   0:03.61 httpd                                                              
 8886 nobody    25   0  205m 8344 2176 R  1.6  0.1   0:03.09 httpd   

我已经重新启动它,现在它运行良好,但是这个问题一再发生......

我的磁盘是 RAID。根据这些日志,真的是磁盘问题吗?

答案1

检查 RAID 控制器状态以查看磁盘的健康状况。strace在 I/O 最密集的线程上使用并查看它们正在做什么。还列出该进程的所有文件描述符ls -l /proc/<PID>/fd并尝试找出哪个文件正在写入。

使用统计信息选项用于topio查找 I/O 占用最大的进程。或者您可以使用iotop

您可以进一步调查systemtap看看它是否是 FS、磁盘/控制器或用户空间问题。

答案2

您在此处提供的不是日志。您仅提供服务器状态。

因此,从您的“日志”来看,它看起来很干净,但这既不是证据也不是反证。使用磁盘检查工具进行检查,查看 SMART 信息,注意 I/O 错误或其他任何内容。但不要认为输出会top显示磁盘错误!

重要的:寻求专业帮助。你问了 18 个问题,其中 8 个是关于同一个问题的。你没有提供任何信息,没有接受任何答案,只是用其他词语重新表述同一个问题,并且总是责怪另一个罪魁祸首。

相关内容