暂无图片
暂无图片
2
暂无图片
暂无图片
1
暂无图片

诡异故障定位:网络恢复后,集群的监听和vip无法启动

1500

故障描述

15:46操作系统日志出现net4、net5网卡down,15:53分钟的网络恢复。网络中断是由于db汇聚交换机出现了问题。
image.png

网络恢复后,节点1的监听和vip无法启动。
image.png

故障分析

查看grid alert日志可以看到监听资源确实没有正常启动。
image.png
由于监听资源是crs的Oragent_grid负责,查看日志报ora.ons stop后,监听状态异常。Ons跟listener没有依赖关系,他们都依赖ora.net1.work资源。
image.png

以下是listener、vip和ons的依赖关系,都是跟ora.net1.work相关。
image.png
image.png
image.png
image.png

手工尝试启动vip,发现报ora.net1.network无法启动。
image.png
image.png
实际上集群显示ora.net1.network是正常的,这里就陷入了矛盾之中。
image.png

排查下是不是由于子网掩码不一致导致的ora.net1.network的问题。
image.png

ffffff00就是255.255.255.0,跟ocrdump中的subnet保持一致。

既然是报ora.net1.network不正常,我们就来看下orarootagent_root的日志。

image.pngimage.png

日志报错本地的ioctl os error 6失败后,检查ipmp0无效。
OS error code 6: No such device or address

What is ioctl?
  ioctl()函数是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制。
  ioctl函数是文件结构中的一个属性分量,就是说如果你的驱动程序提供了对ioctl的支持,用户就可以在用户程序中使用ioctl函数来控制设备的I/O通道。。

根据官方文档Intermittently VIP Failback does not work after the Network Connection is Restored 文档 ID 1992370.1中描述,Network中断并且后面恢复了, 调用ioctl fails导致vip自动恢复失败。由于监听启动是依赖vip,所以listener也无法启动,跟故障相匹配。
image.png

不过bug 19126172在数据库已经修复。

另外一篇官方文档:Solaris: VIP or HAIP can fail if ioctl() reports issues on a different non-related network interface 文档 ID 2106693.1中描述,如果在不同的网络接口上找到 ioctl(),则检查操作可能会失败,跟此次故障100%匹配。
image.png

解决方案

1、 需要安装需要安装GRID INFRASTRUCTURE PATCH SET UPDATE 11.2.0.4.220419 完全修复。
image.png

2、 临时解决办法:重启两个节点的集群,再手工启动相关资源。

最后修改时间:2022-06-01 14:20:34
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

筱悦星辰
暂无图片
11月前
评论
暂无图片 0
学会用短线的时间,穿起一条长线的自我成长。你会发现,现在的点滴积累最终会撬动未来的无限美好。
11月前
暂无图片 点赞
评论