Oracle 12c RAC Flex Cluster节点自动下线原因分析
首先需要明确一个关键区分:当遇到节点“自动下线”时,很多人的第一反应是系统崩溃或进程异常,但真正值得警惕的是——节点本身并未宕机,而是被 CSSD 主动踢出集群。这种驱逐(eviction)在 Flex Cluster 模式下尤为隐蔽,因为你可能看到节点状态显示在线,但集群却认为它已失联,从而强制将其移出。

如何判断是 CSSD 主动驱逐还是系统崩溃
不要只盯着系统重启时间看,那容易产生误导。必须结合日志和进程状态进行对照分析:
- 先检查
ocssd.log文件,搜索node eviction initiated或reboot advisory。如果该时间戳早于dmesg或/var/log/messages中的重启记录,则大概率是集群主动驱逐,而非系统自身故障 - 执行
crsctl stat res -t命令:如果所有资源都显示OFFLINE,但crsctl check cluster -all却显示节点 “ONLINE”——这意味着节点虽然已注册但未成功加入通信环,处于一种不上不下的中间状态 - 再查看进程状态:运行
ps -ef | grep cssd,若 cssd 进程消失或僵死,而 ohasd 仍在运行,则十有八九是心跳中断后,CSSD 自行终止了自身进程
完成这三个检查点后,基本就能断定是驱逐还是崩溃。
Flex Cluster 模式下三大隐性驱逐根源
Flex 架构放大了底层不稳定的影响,尤其是在 hub/leaf 分离后,问题更容易被掩盖
根因一:voting disk 所在的 ASM 磁盘组 IO 延迟过高。通过 iostat -x 1 检查,若 %util 超过 95% 或 await 超过 50ms,则磁盘心跳大概率已超时,即使调大 disktimeout 参数也无法挽回。
根因二:私有网络“假连通”。NIC offload 设置(例如 ethtool -K eth1 gro on)可能导致 TCP 重传异常,虽然 ping 可以通,但 traceroute -n 显示路径不稳定。这种表面连通实则不稳定的状态最具迷惑性。
根因三:ora.cluster_interconnect.haip 服务未启动。使用 ip a | grep 169.254 检查,若无输出,则说明 HAIP 已失效。此时 hub node 之间的心跳中断,leaf node 因依赖 hub 而集体失联。
Flex Cluster 特有风险:leaf node 间接导致 hub 驱逐
leaf node 本身不参与 voting,但绝不可认为它安全。它通过 hub node 访问数据,一旦其上运行的应用出现异常(例如大量占用私有网络带宽或触发内核资源争用,如 UDP socket flood),就可能拖垮所连接 hub node 的网络栈,最终导致该 hub node 被其他 hub node 驱逐。
如何排查?首先检查 netstat -s | grep -i "receiving errors" 和 cat /proc/net/snmp | grep -i "Udp:",确认是否存在 UDP 接收溢出。当 leaf node 上运行中间件时,若未限制网络连接数或未禁用 Nagle 算法,私有网络拥塞将进一步加剧。如果 hub node 的 cssd 日志中频繁出现 missed heartbeat from node X,而 X 是 leaf node,则问题并非出在 leaf node 本身,而是其所连接的 hub 节点负载过高。
Flex Cluster 的分层设计使得故障定位更加隐蔽:leaf node 未宕机并不代表 hub node 安全;hub node 未报错也不意味着私有网络链路健康。真正需要监控的重点是:HAIP 是否在线、voting disk 的 IO 响应时间、以及通过 traceroute 检查到每个私有网络 IP 的路径稳定性。一旦遗漏这些细节,驱逐就会成为常态。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
如何配置Oracle可恢复空间分配以防止任务中断
启用可恢复空间分配需将RESUMABLE_TIMEOUT设为非零值(如3600秒),RAC环境需逐节点单独设置。该机制仅对ORA-01536等空间类错误生效,挂起期间事务锁定状态不变,超时自动中止。会话级启用需显式指定timeout和name,否则可能无效。
Redis集群升级配置文件不兼容 对照新旧参数手册转换
升级至Redis7 0配置不兼容须知:主从复制命令由slaveof改为replicaof否则报错;集群全量覆盖参数默认开启需改为关闭;TCP连接积压参数需与系统内核一致;访问控制列表默认用户无管理权限需授权;节点配置文件禁止手动编辑,应通过命令管理。
Oracle 19c补丁冲突问题修复方法详细步骤使用opatch apply命令
Oracle19c补丁冲突因新旧补丁修复重叠或文件冲突所致。需先确认OPatch版本、inventory一致性及执行用户正确性,再通过opatchprereq定位具体冲突。真实冲突可回退旧补丁或改用完整RU流程,RAC环境需逐节点检查inventory。
MySQL修改权限后为何必须执行FLUSH PRIVILEGES?
MySQL修改权限后是否执行FLUSHPRIVILEGES取决于修改方式。通过GRANT或ALTERUSER标准命令自动同步,无需手动刷新;直接UPDATEmysql user表则必须执行以刷新内存缓存。已存在连接不重载,需注意host匹配、认证插件兼容性及RELOAD权限。
SQL嵌套查询在电商订单报表中的应用实践
SQL嵌套查询在电商订单报表中适用于条件筛选,如快速圈定用户范围,但不适合替代关联分析。使用时需注意子查询空值导致IN失效、必须返回单列、MySQL5 7不支持LATERAL及CTE。聚合分析应依赖聚合加过滤,深层嵌套可用派生表或CTE分步处理。
- 日榜
- 周榜
- 月榜
相关攻略
2026-07-08 07:04
2026-07-08 07:03
2026-07-08 07:03
2026-07-08 07:03
2026-07-08 07:03
2026-07-08 07:03
2026-07-08 07:02
2026-07-08 07:02
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

