日常Bug排查-请求偶尔超时-磁盘故障

存储 存储设备
磁盘故障是个非常常见的现象。而磁盘坏道便是其中最常见的问题。而当我们的应用做磁盘操作的时候 正巧落在坏道上面,就会导致卡住的现象。如果坏道比较小的话,会在一段时间内恢复响应。

[[400463]]

磁盘坏道

磁盘故障是个非常常见的现象。而磁盘坏道便是其中最常见的问题。而当我们的应用做磁盘操作的时候 正巧落在坏道上面,就会导致卡住的现象。如果坏道比较小的话,会在一段时间内恢复响应。但是,如果下次操作又落到坏道上面,依旧会卡主-_-!

故障现象

开发陆续收到服务器负载过高以及业务报错告警。表现为偶尔的调用超时。经排查业务告警和负载过高均出现在同一台机器上。这时候呢,我们就可以立马翻看监控了。

监控

(注:这边只是示意图,产线截图因为安全原因不可能放出来的) 从中可以发现,超时的调用时间分布和CPU Busy IoWait的时间分布一致。既然是IO Wait,我们很自然的想到可能是磁盘有问题。

磁盘监控

图中可以看到,disk和cpu iowait时间一致。同时观测到,我们当时的iops仅有30左右。很明显的,可以推导出当时磁盘有问题。SA反馈给厂商后,反馈磁盘有坏道。

后续方案

首先,由于磁盘问题不能立马解决(需要等厂商换盘),所以先下线这几台机器的流量,等待下一次的维护后再上线。在应用层,我们可以通过配置异步日志的方式来减少损失。但异步日志满了之后,依旧会出现卡顿的现象,那么我们可以配置成异步日志可丢的模式,这就需要在日志的准确性和系统的高可用之间做取舍了。

总结

磁盘出问题是一个非常常见的现象,在遇到问题后,和监控曲线相对应就能很快找到原因。

类似的性能/故障排查清单以及经验可以在下面这本书中找到

本文转载自微信公众号「解Bug之路」,可以通过以下二维码关注。转载本文请联系解Bug之路公众号。

 

责任编辑:武晓燕 来源: 解Bug之路
相关推荐

2021-05-31 10:08:44

工具脚本主机

2021-06-04 11:33:50

消息技巧排查

2024-05-13 10:21:43

Bug排查TCP

2021-06-07 09:37:05

异常Bug排查

2021-05-20 10:02:50

系统Redis技巧

2022-07-26 08:03:27

Kubernetes节点磁盘

2021-06-15 16:17:19

Commit报错事务

2010-08-30 19:51:08

DHCP故障

2010-10-14 13:55:24

无线故障排查

2010-09-27 13:25:39

无线信号

2022-04-18 09:07:54

Linux网络延迟

2021-09-26 19:39:58

MogDB故障数据库

2019-12-09 10:40:15

YAMLBashKubernetes

2011-04-22 16:58:05

2013-02-28 10:15:14

Ubuntu性能调优故障排查

2017-03-24 09:50:00

2015-10-09 16:42:16

GDB 排查Python程序故障

2013-05-06 16:36:55

SELinuxSELinux故障

2021-02-22 17:18:35

MySQLSQL行锁

2021-09-27 10:15:10

故障业务方电脑
点赞
收藏

51CTO技术栈公众号