社区编辑申请
注册/登录
日常Bug排查-请求偶尔超时-磁盘故障
存储 存储设备
磁盘故障是个非常常见的现象。而磁盘坏道便是其中最常见的问题。而当我们的应用做磁盘操作的时候 正巧落在坏道上面,就会导致卡住的现象。如果坏道比较小的话,会在一段时间内恢复响应。

磁盘坏道

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

故障现象

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

监控

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

磁盘监控

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

后续方案

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

总结

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

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

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

 

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

2022-06-14 10:48:55

排查故障

2022-06-07 17:08:51

WizTreewindows工具

2022-06-26 09:55:00

接口自动化项目

2022-06-23 06:34:56

Node.js子线程

2022-05-30 11:10:04

数据库MySQL系统

2022-06-04 14:43:31

Windows 10出厂设置重装

2022-06-06 10:20:59

CPUCPU 使用率CPU 负载

2022-06-09 06:57:53

Windows 10Windows 11微软

2022-05-19 09:31:50

Kafka 集群数据存储服务端

2022-06-16 14:07:26

Java代码代码review

2022-06-01 10:09:39

Linux网络延迟

2022-06-14 07:22:53

MakefileConfigKconfig

2022-05-05 09:45:16

KVM虚拟机磁盘

2022-04-23 16:30:22

Linux磁盘性能

2022-06-06 00:25:09

Golangpanic死锁

2022-05-09 15:52:23

MySQL数据库数据库表

2022-05-23 10:46:52

苹果iOS 15.5更新

2022-05-12 10:58:34

Wine 7.8Linux游戏

2022-05-05 09:02:24

Go函数调用栈

2022-04-06 08:47:03

Dubbo服务协议

编辑推荐

SSD接口详解,再也不会买错固态硬盘了SAN和NAS、ISCSI存储有什么区别,SAN和NAS设备哪个更好?献给“大容量”用户: NAS与磁盘阵列柜正确的选择方式都在这里儿了手把手教你组 笔记本高大上的磁盘阵列磁盘阵列怎么配置,图文步骤来教你
我收藏的内容
点赞
收藏

51CTO技术栈公众号