故障描述
近日,由于一套承载着20个pdb的Oracle 19.7 RAC节点1由于硬件故障导致服务器宕机,在服务器更换完主板后发现映射的分布式存储磁盘盘符发生了变化,导致集群在自动启动时找不到voting disk启动失败。报错如下:

故障分析思路
-
查看磁盘是否已经映射

通过比对两边磁盘数量及大小一致。
进一步查看两个节点udev规则,内容如下:

通过查看绑定规则发现,有绑定磁盘名称的也有绑定磁盘分区的,集群的ocr磁盘组对应的盘正是使用的分区名绑定,进一步推断是由于绑定了具体磁盘名称,故障节点磁盘名称发生变化,导致asm无法识别ocr磁盘组对应的磁盘。
故障解决思路
方案1:修改故障节点存储映射磁盘的磁盘名称,通过uuid比对,使名称和正常节点保持一致。
方案2:重新修改故障节点的磁盘udev绑定规则,生成新的磁盘名称。
方案验证
方案1:经过咨询多位资深系统工程师,该方案执行起来较为复杂,修改完重启系统后可能还会变化,需要打相关内核补丁进行固定,最终改方案被否定。
方案2:由于手头有19c RAC测试环境,首先在测试环境进行了验证,验证过程略,验证结果如下:
1.查看asm_disk参数

2.查看原来磁盘名称(两节点一致)

3.停止集群并修改udev绑定规则

4.启动集群并进行磁盘检查
节点2 asm磁盘信息

5.集群状态检查正常(节点1集群也进行了重启测试)

经过验证,该方案可行。
生产环境调整
1.修改udev绑定规则

2.执行udevadmin trigger使规则生效
3.启动集群并查看集群状态

4.启动后该节点磁盘组状态及数据库状态正常,pdb都为读写模式:


5.查看该节点数据库告警日志

通过告警日志发现,数据库hung住了,而此时该节点异常卡顿,命令都无法正常执行,同时发现asm实例已经重启。通过和硬件工程师沟通,该主机4颗CPU,坏了两颗,考虑到硬件故障还未完全解决,当即停掉该节点集群,等待硬件问题解决后再进行启动。
结语
至此,本次故障就处理结束,后续还需要等硬件修复后进行集群启动,另一个正常节点需要寻找停机维护时间,更改原来的udev绑定规则,使两个节点保持一致。
本文讲述了在Oracle 19.7 RAC环境中,因硬件故障导致服务器宕机,解决磁盘映射变更引发的VotingDisk启动失败问题。通过故障分析,确定是磁盘名称变化导致ASM识别错误,提供了两种解决方案,最终选择修改udev规则验证成功。处理步骤包括确认磁盘映射、修改规则、验证和生产环境调整。
1983

被折叠的 条评论
为什么被折叠?



