1. 故障描述
客户的Exadata X5-2, 某天收到EM13c告警,提示Exadata中的Infiniband交换机出现故障。
2. 故障处理
2.1 执行showunhealthy命令后,显示告警信息。
# showunhealthy
WARNING Flash disk has bad blocks.
FALURE - 1 sensors NOT OK
从命令输出可以看了,该Infiniband交换机的SSD模块存在数据坏块。(Infiniband交换机上运行着一个小型的Linux系统,Linux系统就存放在SSD模块中)
2.2 SSD模块存在坏块,最简单的办法就是更换整台Infiniband交换机,当然了,最省钱的办法就是只更换SSD模块。将原来SSD模块中的数据全部复制至新的SSD模块后,重新启动该Infiniband交换机。大概过了十几分钟左右,该Infiniband交换机又发出很大的声音,感觉是机器又重启了。同时,还有另外 一个非常怪的现象,更换完SSD模块后,该Infiniband交换机的管理IP无法 ping通。
2.3 趁着Infiniband交换机重启之前的间隙,赶紧收集了message日志。
从message日志可以看了,在更换完SSD模块之后,Infiniband交换机自动启动了三次,每次间隔大概20分钟左右。每次重启之前,基本上如下图所示,除了一处可疑之外,没有任何的异常。
依据Doc ID 2340165.1,这个可疑的告警日志是无害的日志,可以忽略。
2.4 目前,问题有点无解。Infiniband交换机能正常启动,但会莫名其妙地重启,并且重启之前没有严重的故障日志产生,继续分析message日志,这次分析了 从 “开始启动” 至 “下一次重新启动” 之间的所有日志,终于有所发现:
从启动日志可以看出,sda5对应的文件系统处于readonly状态,需要恢复,恢复完成后才挂载成功,同时提示 eth0 link down,这也就是为什么交换机无法ping通的原因了。 结合这些日志,怀疑是当前的系统存在某方面的问题,才导致系统反复重启。
2.5 此时,只能尝试如下办法来解决问题:
(1). 将其他的系统镜像复制至刚刚更换的SSD模块中,然后重启Infiniband交换机。(怀疑是当前换下来的SSD模块中的系统镜像存在问题)
(2).将当前的换下来的SSD模块中的系统镜像复制至另外的SSD模块中,然后重启Infiniband交换机。(怀疑是刚刚更换的SSD模块自身存在问题)
2.6 将其他的系统镜像复制至刚刚更换的SSD模块中,然后重启Infiniband交换机,运行了一个多小时,没有出现重启的现象。至此,可以肯定就是当前换下来的SSD模块中的系统镜像存在问题了。接下来,完成剩余的工作,比如更新管理IP等等。最后,升级该交换机的固件版本,保持与Exadata中另外一台Infiniband交换机相同的固件版本。