告警解释
系统每一秒执行一次iostat命令,监控磁盘I/O的系统指标,如果在60s内,svctm大于100ms的周期数大于30次则认为磁盘有问题,产生该告警。
更换磁盘后,告警自动恢复。
告警属性
告警ID | 告警级别 | 可自动清除 |
---|---|---|
12033 | 严重 | 是 |
告警参数
参数名称 | 参数含义 |
---|---|
ServiceName | 产生告警的服务名称。 |
RoleName | 产生告警的角色名称。 |
HostName | 产生告警的主机名。 |
DiskName | 产生告警的磁盘名。 |
对系统的影响
磁盘慢盘故障,导致业务性能下降,阻塞业务的处理能力,例如DBService主备同步等,严重时可能会导致服务不可用。
可能原因
磁盘老化或者磁盘坏道。
处理步骤
检查磁盘状态。
- 在FusionInsight Manager界面,单击“告警管理”。
- 查看该告警的详细信息,查看定位信息中“HostName”字段和“DiskName”字段的值,获取该告警产生的故障磁盘信息。
- 确认上报告警的节点是否为虚拟化环境。
- 是,执行步骤 4。
- 否,执行步骤 7。
- 请检查虚拟化环境提供的存储性能是否满足硬件要求,检查完毕之后执行步骤 17。 说明:
硬件要求说明,可参考产品文档中《产品描述》的“部署方案 > 硬件及运行环境要求”章节。
- 登录告警节点,执行df -h命令,查看输出内容是否包含“DiskName”字段的值。
- 是,执行步骤 7。
- 否,执行步骤 6。
- 执行lsblk命令,是否可以查到“DiskName”字段值与磁盘设备的映射关系。
- 是,执行步骤 7。.
- 否,执行步骤 25。
- 使用PuTTY工具,以root用户登录上报告警的节点,执行lsscsi | grep "/dev/sd[x]"命令查看磁盘的设备信息,判断磁盘是否建立了RAID。 说明:
其中/dev/sd[x]为步骤 2中获取到的上报告警的磁盘名称。
例如执行:
lsscsi | grep "/dev/sda"
如果命令执行结果第三列显示ATA、SATA或者SAS,说明磁盘没有建立RAID;显示其他信息,则该磁盘可能建立了RAID。
- 是,执行步骤 12。
- 否,执行步骤 8。
- 执行smartctl -i /dev/sd[x]命令检查硬件是否支持smart。
例如执行:
smartctl -i /dev/sda
如果命令执行结果中包含“SMART support is: Enabled”,表示磁盘支持smart;执行结果中包含“Device does not support SMART”或者其他,表示磁盘不支持smart。
- 是,执行步骤 9。
- 否,执行步骤 17。
- 执行smartctl -H --all /dev/sd[x]命令查看smart的基本信息,判断磁盘是否正常。
例如执行:
smartctl -H --all /dev/sda
查看命令执行结果的“SMART overall-health self-assessment test result”内容,如果是“FAILED”,表示磁盘故障,需要更换;如果为“PASSED”,需要进一步看“Reallocated_Sector_Ct”或者“Elements in grown defect list”项的计数,如果大于100,则认为磁盘故障,需要更换。
- 是,执行步骤 10。
- 否,执行步骤 18。
- 执行smartctl -l error -H /dev/sd[x]命令查看磁盘的GLIST列表,进一步继续判断磁盘是否正常。
例如执行:
smartctl -l error -H /dev/sda
查看命令执行结果的“Command/Featrue_name”列,如果出现“READ SECTOR(S)”或者“WRITE SECTOR(S)”表示磁盘有坏道;如果出现其他错误,表示磁盘电路板有问题。这两种错误均表示磁盘不正常,需要更换。
如果显示“No Errors Logged”,则表示没有错误日志,则可以触发磁盘smart自检。
- 是,执行步骤 11。
- 否,执行步骤 18。
- 执行smartctl -t long /dev/sd[x]命令触发磁盘smart自检。命令执行后,会提示自检完成的时间,在等待自检完成后,重新执行步骤 9和步骤 10,检查磁盘是否正常。
例如执行:
smartctl -t long /dev/sda
- 是,执行步骤 17。
- 否,执行步骤 18。
- 执行smartctl -d [sat|scsi]+megaraid,[DID] -H --all /dev/sd[x]命令检查硬件是否支持smart。 说明:
- [sat|scsi]表示磁盘类型,需要尝试以上两种类型。
- [DID]表示槽位信息,需要尝试0~15。
例如依次执行:
smartctl -d sat+megaraid,0 -H --all /dev/sda
smartctl -d sat+megaraid,1 -H --all /dev/sda
smartctl -d sat+megaraid,2 -H --all /dev/sda
...
依次尝试不同磁盘类型和槽位信息的命令组合,如果执行结果中显示“SMART support is: Enabled”,表示磁盘支持smart,记录命令执行成功时磁盘类型和槽位信息组合参数;如果尝试完以上所有的命令组合,执行结果都未显示“SMART support is: Enabled”,表示磁盘不支持smart。
- 是,执行步骤 13。
- 否,执行步骤 16。
- 执行步骤 12中记录的smartctl -d [sat|scsi]+megaraid,[DID] -H --all /dev/sd[x]命令查看smart的基本信息,判断磁盘是否正常。
例如执行:
smartctl -d sat+megaraid,2 -H --all /dev/sda
查看命令执行结果的“SMART overall-health self-assessment test result”内容,如果是“FAILED”,表示磁盘故障,需要更换;如果为“PASSED”,需要进一步看“Reallocated_Sector_Ct”或者“Elements in grown defect list”项的计数,如果大于100,则认为磁盘故障,需要更换。
- 是,执行步骤 14。
- 否,执行步骤 18。
- 执行smartctl -d [sat|scsi]+megaraid,[DID] -l error -H /dev/sd[x]命令查看硬盘的GLIST列表,进一步判断硬盘是否正常。
例如执行:
smartctl -d sat+megaraid,2 -l error -H /dev/sda
查看命令执行结果的“Command/Featrue_name”列,如果出现“READ SECTOR(S)”或者“WRITE SECTOR(S)”表示磁盘有坏道;如果出现其他错误,表示磁盘电路板有问题。这两种错误均表示磁盘不正常,需要更换。
如果显示“No Errors Logged”,则表示没有错误日志,则可以触发磁盘smart自检。
- 是,执行步骤 15。
- 否,执行步骤 18。
- 执行smartctl -d [sat|scsi]+megaraid,[DID] -t long /dev/sd[x]命令触发磁盘smart自检。命令执行后,会提示自检完成的时间,在等待自检完成后,重新执行步骤 13和步骤 14,检查磁盘是否正常。
例如执行:
smartctl -d sat+megaraid,2 -t long /dev/sda
- 是,执行步骤 17。
- 否,执行步骤 18。
- 磁盘不支持smart,通常是因为配置的RAID卡不支持,此时需要使用对应RAID卡厂商的检查工具进行处理,然后执行步骤 17。
例如LSI一般是MegaCli工具。
- 删除告警,并继续观察该告警,查看同一块磁盘的告警是否会继续上报。
如果当前磁盘出现三次以上该告警,建议用户更换磁盘。
- 是,执行步骤 18。
- 否,操作结束。
更换磁盘。
- 在FusionInsight Manager界面,单击“告警管理”。
- 查看该告警的详细信息,查看定位信息中对应的“HostName”字段和“DiskName”字段的值,获取该告警上报的故障磁盘信息。
- 参考产品文档《故障管理》的“应急处理 > 常见紧急故障修复 > 硬盘故障处理”章节进行更换硬盘操作。
- 检查告警是否清除。
- 是,操作结束。
- 否,执行步骤 22。
收集故障信息。