温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怀疑私网网卡多播问题导致crs无法正常启动

发布时间:2020-08-09 21:37:18 来源:ITPUB博客 阅读:318 作者:darren__chan 栏目:关系型数据库

一个 rac 只能启动一个节点 crs 的问题,目前怀疑是多播问题造成。

前几日在历史库测试 PSU 升级,在完成一个节点软件升级后对第二节点 GI 进行升级时, CRS 可以正常成功关闭,之后报出了 Error : The opatch Applicable check failed ,于是尝试重新启动 CRS ,但很明显 CRS 无法正常启动。


  怀疑私网网卡多播问题导致crs无法正常启动

通过日志查看,发现 CRS-5818:Aborted command 'start' for resource 'ora.cssd'. 在启动 CSSD 资源无法成功,并且从当前的进程情况可以确认 CSS 存在问题。

怀疑私网网卡多播问题导致crs无法正常启动


于是从当时的 CSSD 日志可以看出, CSSD 在启动时,在准备与远程节点的过程中创建本地通信接口时失败了,具体的日志分析如下:

 

  1. gpnp profile 中获取集群的私网信息。

怀疑私网网卡多播问题导致crs无法正常启动


2. 以下开始准备和远程节点通信,并 created local interface for node 'nghis-db2', 但在进行绑定 endpoint (localAddr 'mcast://224.0.0.251:42424/192.169.1.40') 失败了,该本地地址为一个 mcast 地址。

怀疑私网网卡多播问题导致crs无法正常启动


当时看到 No buffer space available (74) ,认为是怀疑是 udp_sendspace udp_recvspace 不够大,查询发现分别为 65536 655360 ,这实际应用是足够了。不出意料,将该两个参数调大之后重启 CRS 依然无法解决,而在 MOS 上关于该错误的大部分都指向了 BUG,11gR2 Grid Infrastructure Node May not Join the Cluster After Evicted With Error sgipcnUdpSend "No buffer space available (74)" ( 文档 ID 1352887.1)

但当前的现象与该文档描述不符合,

当前的操作是 sgipcnMctBind

怀疑私网网卡多播问题导致crs无法正常启动


文档中的是 sgipcnUdpSend


  怀疑私网网卡多播问题导致crs无法正常启动

3. 更新接口状态,依然无法创建本地接口,即无法与远程节点通信,于是执行了 disable interface clean disabled insterface


怀疑私网网卡多播问题导致crs无法正常启动

4. 重新开始 add interface ,但仍然失败。


  怀疑私网网卡多播问题导致crs无法正常启动

5. 之后连续每隔 1 分钟报出了 has a disk HB, but no network HB ,说明此时私网上应该出现了联通性的故障。


  怀疑私网网卡多播问题导致crs无法正常启动

于是我们测试了私网地址的联通是否有问题,使用 traceroute 检查,然而并没有联通性问题。

怀疑私网网卡多播问题导致crs无法正常启动


于是就很不理解了,在心跳网卡既然没有问题,为何无法检测到网络心跳。此时问题应该还是出现在以上出现 No buffer space available (74) gipcmodNetworkProcessBind 的过程,对比了节点 1 正常启动 gipchaWorkerCreateInterface 的过程,一共添加了 4 个地址:

1. udp://192.169.1.39:13034    ------ 私网地址

2. mcast://224.0.0.251:42424/192.169.1.39 ----- 多播地址

3. mcast://230.0.1.0:42424/192.169.1.39  ----- 多播地址

4. udp://192.169.1.127:42424         ------- 广播地址

怀疑私网网卡多播问题导致crs无法正常启动


很明显节点 2 在以上的过程中应该是在添加第二个地址,多播地址 mcast://224.0.0.251:42424/192.169.1.40 时出现了问题。

通过多播检测工具检测私网网卡的多播地址联通性,发现都是检测失败,而测试节点 1 的是成功的,于是怀疑问题应该是出现在节点 2 的多播地址上。

  怀疑私网网卡多播问题导致crs无法正常启动



有怀疑是 HAIP 问题,于是尝试将 HAIP disable 掉,并将私网网卡上的 169 ip 依然无法解决。

禁止 haip 命令:

oracle/app/11.2.0.4/grid/bin/crsctl  modify res ora.cluster_interconnect.haip -attr "ENABLED=0" -init

最后同事提议使出杀手锏 --- 重启主机,由于这套库是历史库,没有实时的业务,确定无影响后就进行了重启主机,重启主机后 CRS 能正常启动, CSS 也正常通过过了 gipchaWorkerCreateInterfac 步骤。

 


再次检测私网网卡的多播地址联通性,这次是成功了。


怀疑私网网卡多播问题导致crs无法正常启动

至此,问题解决了,但因为是通过重启主机解决,始终感觉这并不是最终的原因。多播检测不通,是否意味着网络确实是存在问题?这点也不敢断论。




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI