当您往磁盘的所在目录读写文件或对磁盘有IO访问行为时,如果磁盘出现卡死或几秒、几十秒、甚至分钟的卡顿,则推荐您通过IO HANG诊断并排查磁盘。
前提条件
OS监控与诊断处于公测阶段,请提交工单申请加入白名单。
背景信息
IO HANG的现象与危害
由于等待资源,IO路径可能会存在夯的可能。从业务稳定性角度来看,对于有IO访问需求的业务进程,IO HANG可能会引起进程长期阻塞,且在IO路径恢复之前,都无法对外提供服务。从系统稳定性角度来看,IO HANG可能会引起大量的进程进入等待状态,导致系统高负载,甚至系统夯住,shell命令无法执行,机器无法登录,最终必须重启系统。
IO HANG诊断的作用
IO HANG诊断可用于检测当前系统中的IO HANG事件并确定问题边界,即是磁盘原因,还是OS原因,为进一步的根因分析给出指导意见。
IO HANG诊断的优势
IO HANG诊断的输出信息准确且结果直观,即使您不具备内核IO子系统知识也能快速上手。
IO HANG诊断主要聚焦在检测系统中是否存在IO HANG问题并对问题进行定界,同时诊断功能会进一步帮助您缩小排查范围,将问题原因缩小到某一块流程上,并且给出一些关键的数据指标来辅助您进行根因分析。
使用限制
诊断中心单次最多支持诊断5个实例。
步骤一:查看IO监控
前提条件:请确保您已开启目标主机的SysOM插件。具体操作,请参见开启SysOM插件。
先通过IO监控,识别出IO HANG异常,再进行IO HANG诊断。
登录云监控控制台。
在左侧导航栏,选择
。在监控中心,先选择目标主机,再单击IO监控页签,然后查看其监控指标每分钟io hang次数和IO繁忙度的监控图标。
以下现象,说明IO HANG异常:
每分钟io hang次数大于1。
在没有任何IO的情况下,IO繁忙度持续100%。
步骤二:发起诊断
发起IO HANG诊断,并查看诊断结果,确定问题边界。
在左侧导航栏,选择
。在诊断中心,先单击IO诊断页签,再单击IO HANG诊断页签,然后单击发起诊断。
在IO HANG诊断对话框,选择待诊断的实例,其他参数均保持默认值。
说明如果待诊断的实例未开启SysOM插件,云监控可以一键为该实例安装SysOM插件,再执行诊断操作。
单击确定。
查看诊断结果。
当诊断任务的诊断状态为诊断任务运行超时或诊断任务运行失败时,您可以单击其对应操作列的查看失败原因。
当诊断任务的诊断状态为诊断任务运行成功时,您可以单击其对应操作列的查看诊断结果。
在IO HANG overview区域,如果Check Result显示绿色字样Normal且另外两个参数均显示0,则表示未出现IO HANG。
在IO HANG overview区域,如果Check Result显示红色字样的Abnormal且另外两个参数均有数值,则表示出现IO HANG。
在IO HANG overview区域,参数及其含义如下表所示。
参数
描述
Number of OS HANG
夯在OS中的IO数,例如:9,表示有9个IO夯在OS中。
Number of Disk HANG
夯在磁盘中的IO数,例如:1540,表示有1540个IO夯在磁盘中。
说明IO HANG诊断主要起到问题定界的作用,即检测系统中是否存在IO HANG问题。如果存在IO HANG问题,则您需要先完成问题定界,即IO HANG是磁盘问题,还是OS问题,同时给出一些关键的数据指标来辅助专家做进一步的根因分析,具体问题如下:
如果Number of Disk HANG中的数值高,则说明是磁盘问题。
如果Number of OS HANG中的数值高,则说明是OS问题。
在More details of TOP 10 IO区域,只展示10个夯住时间最长的IO的详细信息,单个IO的参数及其含义如下表所示。
参数
描述
comm
进程名称。
abnormal
异常位置。
file
操作文件名称。
iostate
IO状态。
cpu
发出该IO的CPU编号。
pid
进程号。
time
检测到IO事件的时间点。
sector
扇区号。
datalen
数据量。
iotype
IO类型。