清除ILOM中的故障码,消除黄灯告警
X86架构的机器,当出现硬件故障时,一般会在ILOM中会记录下该故障的详细信息,简称为:故障码。当进行硬件更换后,ILOM会自动清除掉该故障码,机器的黄灯告警也会自动消失。但有的时候,总会出现一些莫名其妙的情况,硬件更换后,ILOM中的故障码却无法自动清除,例如下面这个案例。
1、某Exadata客户的计算节点亮黄灯告警,登录ILOM,发现Open Problems中存在两条告警。具体日志如下:
/SP/faultmgmt/0 | fru | /SYS/MB/P0/D7 /SP/faultmgmt/0/ | class | fault.memory.intel.dimm_ue faults/0 | | /SP/faultmgmt/0/ | sunw-msg-id | SPX86A-8002-Y8 faults/0 | | /SP/faultmgmt/0/ | component | /SYS/MB/P0/D7 faults/0
.....
/SP/faultmgmt/0/ | class | fault.memory.intel.dimm_ce faults/1 | | /SP/faultmgmt/0/ | sunw-msg-id | SPX86A-8002-XM faults/1 | | /SP/faultmgmt/0/ | component | /SYS/MB/P0/D7/R0 faults/1 | | |
可以看出,这两个告警都来看于/SYS/MB/P0/D7,也即p0这颗CPU的D7通道上的内存出现故障。
2、停机更换完内存,重启主机后,发现ILOM的Open Problems中仍然存在一条告警,即/SYS/MB/P0/D7/R0那条告警还存在,而/SYS/MB/P0/D7这条告警已经消失。
3、检查操作系统是否已经识别新更换的内存。
操作系统层面执行free -g等命令,发现该主机的内存与其他主机一样,说明主机已经识别了刚刚更换的内存,只是ILOM无法自动清除故障码而已。
4、尝试手动清除ILOM中的故障码。
-> set /SYS/MB/P0/D7 clear_fault_action=true
Are you sure you want to clear /SYS/MB/P0/D7 (y/n)? y
Set 'clear_fault_action' to 'true'
-> set /SYS/MB/P0/D7/R0 clear_fault_action=true
set: Invalid target /SYS/MB/P0/D7/R0
可以看出,/SYS/MB/P0/D7/R0这条故障码无法清除,提示无法的目标。。
5、故障码无法清除,这是很奇怪的问题,但这很符合X86架构的个性。目前,只能打算对该计算节点再次关机,然后断电静置几分钟,再重新启动机器,看看故障码是否能自动清除。
6、客户不想再次关机,开机,所以建议要不先重置ILOM试试。于是重置ILOM。
-> reset /SP |
ILOM重置后,清除码自动清除。至此,这个怪异的问题得以解决。