文档首页/ MapReduce服务 MRS/ 用户指南/ MRS集群运维/ MRS集群告警处理参考/ ALM-12180 磁盘卡IO(2.x及以前版本)
更新时间:2024-09-04 GMT+08:00

ALM-12180 磁盘卡IO(2.x及以前版本)

告警解释

MRS 2.x及以前版本:

  • 对于HDD盘,满足以下任意条件时触发告警:
    • 系统在30s内,每3秒采集一次数据,连续10周期,svctm时延超过6秒。
    • 系统在30s内,每3秒采集一次数据,连续10周期,磁盘队列深度(avgqu-sz)> 0,iops = 0或带宽 = 0,且ioutil > 99%。
  • 对于SSD盘,满足以下任意条件时触发告警:
    • 系统在30秒内,每3秒采集一次数据,连续10周期,svctm时延超过2秒。
    • 系统在30秒内,每3秒采集一次数据,连续10周期,磁盘队列深度(avgqu-sz)> 0,iops = 0或带宽 = 0,且ioutil > 99%。

当系统连续90s内不满足以上所有条件时,告警自动清除。

MRS 1.9.3.10及之后补丁版本:

  • 对于HDD盘,满足以下任意条件时触发告警:
    • 系统默认每3秒采集一次数据,在30秒内至少7个采集周期的svctm时延达到6秒。
    • 系统默认每3秒采集一次数据,在30秒内至少10个采集周期,磁盘队列深度(avgqu-sz)> 0,iops = 0或带宽 = 0,且ioutil > 99%。
    • 系统默认每3秒采集一次数据,在300秒内至少50%次检测到的svctm时延达到1000ms。
  • 对于SSD盘,满足以下任意条件时触发告警:
    • 系统默认每3秒采集一次数据,在30秒内至少7个采集周期的svctm时延达到3秒。
    • 系统默认每3秒采集一次数据,在30秒内至少10个周期,磁盘队列深度(avgqu-sz)> 0,iops = 0或带宽 = 0,且ioutil > 99%。
    • 系统默认每3秒采集一次数据,在300秒内至少50%次检测到的svctm时延达到500ms。

系统采集周期为3秒,检测周期为30秒或300秒,当系统连续3个30秒、300秒的周期均不满足对应条件时,告警自动清除。

相关参数获取方法请参考参考信息

告警属性

告警ID

告警级别

是否自动清除

12180

重要

告警参数

参数名称

参数含义

来源

产生告警的集群或系统名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

磁盘名

产生告警的磁盘名。

对系统的影响

如果IO持续飙高,会对业务操作产生影响,导致业务受损。

可能原因

磁盘老化。

处理步骤

更换磁盘。

  1. 在FusionInsight Manager界面,选择“运维 > 告警 > 告警”。
  2. 查看该告警的详细信息,查看定位信息中对应的“主机名”字段和“磁盘名”字段的值,获取该告警上报的故障磁盘信息。
  3. 更换故障硬盘。
  4. 检查告警是否清除。

    • 是,操作结束。
    • 否,执行5

收集故障信息。

  1. 在MRS Manager界面,选择“系统设置 > 日志导出”
  2. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

相关参数获取方法如下:

  • 在操作系统中执行以下命令采集数据:

    iostat -x -t 1 1

    其中:

    “avgqu-sz”为磁盘队列深度。

    “r/s”和“w/s”之和为“iops”。

    “rkB/s”和“wkB/s”之和为带宽。

    “%util”为“ioutil”。

  • svctm的计算方法为:

    svctm = (tot_ticks_new - tot_ticks_old) / (rd_ios_new + wr_ios_new - rd_ios_old - wr_ios_old)

    MRS 2.x及以前版本:

    如果rd_ios_new + wr_ios_new - rd_ios_old - wr_ios_old = 0,则svctm = 0

    MRS 1.9.3.10及之后补丁版本:

    当检测周期粒度为30s时,如果rd_ios_new + wr_ios_new - rd_ios_old - wr_ios_old = 0,则svctm = 0 。

    当检测周期粒度为300s时,在rd_ios_new + wr_ios_new - rd_ios_old - wr_ios_old = 0的情况下,如果tot_ticks_new - tot_ticks_old = 0则svctm = 0,否则svctm值为无穷大。

    参数获取如下:

    系统每3秒执行一次cat /proc/diskstats命令采集数据。例如:

    连续两次采集的数据中:

    第一次采集的数据中,第4列的数字是“rd_ios_old”,第8列的数字是“wr_ios_old”,第13列的数字是“tot_ticks_old”。

    第二次采集的数据中,第4列的数字是“rd_ios_new”,第8列的数字是“wr_ios_new”,第13列的数字是“tot_ticks_new”。

    则上图中svctm值为:

    (19571460 - 19569526) / (1101553 + 28747977 - 1101553 - 28744856) = 0.6197