【故障处理】rac节点不能启动报“has a disk HB, but no network HB”的错误

1    1957    10

Tags:

👉 本文共约3090个字,系统预计阅读时间或需12分钟。

今天同事说有一套rac 19c的环境,不能使用了,让我帮忙看看。

这套rac环境是搭建在华为云ECS上的,操作系统为CentOS 7.6。根据经验,rac不能启动,主要是2个方面的原因:一个是共享存储,一个网络。共享存储常见原因是盘掉了,或盘坏了,或多路径软件出问题等等,而网络问题常见原因是私网网卡坏了,或节点之间网络不通(注意:修改ssh端口或修改oracle和grid密码不会影响rac的正常运行)。

很不幸,这套环境的共享和网络都有问题,下面慢慢分析。

原因一:共享盘掉了

首先,看看2个节点的共享盘是不是一致的,查看后发现节点2少了一块盘,让客户把节点2的盘重新挂载一下,

然后查看,共享盘已经一致了:

这里,磁盘顺序虽然不一样,但是,没有关系,用的是udev绑定的,不影响rac的运行

等rac节点正常启动后,可以看到如下内容:

原因二:安全组封了

登陆ECS,发现只有节点1在运行,而节点2没有运行集群服务。

使用命令crsctl start has启动节点2的集群服务后,通过crsctl stat res -t -init观察启动过程:

多次执行crsctl stat res -t -init看到,启动一直卡在ora.cssd服务这里,查看日志:

重复输出以上内容,里边有关键词“has a disk HB, but no network HB”,意思是有磁盘心跳,但是没有网络心跳,猜测是私网通信(网络心跳)的问题,而ohasd进程没有啥有用的信息:

节点1的日志也没有啥可用的信息。

使用ping命令ping公网和私网,都没有问题:

接下来用traceroute来查看:

发现,使用traceroute结果不通(而且公网和私网都不通),说明网络的确有问题。可见,能ping通,不一定网络就没有问题,能ping通只是说明节点之间的ICMP协议通信没有问题。

之前没碰到过这类错误,只能求助于MOS和各大搜索引擎了,下面总结一下网友碰到的原因:

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

1 条回复

  1. Avatar photo 小麦苗说道:

    traceroute默认使用UDP数据包探测。

发表回复