IO 等待时间非常长

IO 等待时间非常长

以下情况在不同的 RAID 控制器上发生过两次。一次是运行 RAID5 的 LSI MegaRAID,第二次是运行 RAID1 的 HP Smart Array E200i。第一台服务器运行几年都很顺利。然后人们开始抱怨性能。后来发现这不仅仅是“应用程序问题”,因为简单的磁盘操作(如对包含 20-30 个文件的目录执行 ls)可能需要长达 5 秒钟。以下是 vmstat 在高负载下报告的内容:

procs -----------memory------------ ---swap-- -----io---- -system-- ----cpu-----
 r  b   swpd   free   buff   cache   si   so    bi    bo   in   cs   us sy id wa
 1  8   8944 126004     20 1597500    0    0  1666  5935  282  833   10  3  0 86
 1 16   8944 122276     20 1599636    0    0   612  6300  314  615   10  3  0 87
 1 12   8944 123740     20 1599332    0    0   811  5103  188  794    2  2  0 96
 0 19   8944 121916     20 1600808    0    0   150  7299  163  858    1  1  0 97
 0 16   8944 239244     20 1612256    0    0   647  2522  156  798    0  1  0 99
 0  6   8944 215308     20 1643712    0    0  3030  3060  201  956   33  5  0 62
 1 13   8944 186352     20 1672540    0    0   143  6173  166  931   14  8  0 78
 8  2   8944 137368     20 1710432    0    0   111  6425  171  833   48  4  0 48
 1 11   8944 122500     20 1725892    0    0   306  5222  153  746   69  4  0 27
24 13   8944 128444     20 1729680    0    0   380  5210  170 4484   16  6  8 70
 0  4   8944 124956     20 1731228    0    0   389  4933  272  761    4  2  0 93
 0  6   8944 123004     20 1735780    0    0    15  7856  209  682    1  2  7 90

因此,服务器从生产使用中撤出,并使用 bonnie++ 进行测试,并使用 vmstat 进行监控,结果几乎相同。因此,看起来磁盘有故障。但是,当查询 RAID 控制器时,似乎逻辑驱动器和物理磁盘都正常。此外,内核日志不包含任何可能表明磁盘操作存在问题的消息。

所以我的问题是:我该如何进一步调试这个问题?我是否必须更换控制器/磁盘,然后看看更换后情况是否有所改善?或者也许可以执行一些命令并研究其结果以查明问题的确切位置?

答案1

是不是因为写入缓存被关闭了?也许是电池没电了,所以它从回写切换到直写?

一些没有电池并且带有缓存的廉价硬件突袭默认启用缓存仅用于读取 - 是否可能是您将它设置为也使用写缓存并且控制器“丢失”了设置?

此外 - 也许其中一个驱动器有故障?尝试查看 raid 日志 [MegaCli 命令行工具应该有帮助]。

相关内容