[Oracle 11g r2(11.2.0.4.0)]案例分析5-丢失网络心跳导致的集群重新配置

本文详细分析了在Oracle 11g R2集群中,由于网络心跳丢失导致的集群重新配置过程。在双节点集群中,当一个节点的私网出现问题时,两个节点会互相抱怨对方丢失网络心跳,进而触发重新配置。在10gR2和11gR2两个版本中,集群通过不同的时间阈值和规则决定驱逐哪个节点,并展示了节点间如何发送重新配置消息。最终,根据集群处理脑裂的规则,确定存活节点并完成集群状态调整。
摘要由CSDN通过智能技术生成

( 1 ) ocssd.log ( 10gR2版本)
节点1:

[CSSD]2013-ll-12 12:53:08.286 (3053439888] >TRACE: clssnmSendingThread: sending
status msg to all nodes
[CSSD] 2013-11-12 12: 53: 08 .287 (3053439888] >TRACE: clssnmSendingThread: sent 4
status msgs to all nodes
[CSSD] 2013-11-12 12: 53 :08. 437 (3063929744] >WARNING: clssnmPollingThread: node
*** (2) at 50% heartbeat fatal, eviction in 29.410 seconds seedhbimpd 0
[CSSD] 2013-11-12 12: 53: 08. 437 (3063929744] >TRACE: clssnmPollingThread: node
** (2) is impending reconfig, flag 1037, misstime 30590

从此段日志中能清楚地看到, 线程clssnmSendingThread在向所有的节点发送网络心跳。
当节点1 的私网出现问题之后(大概30s), 线程clssnmPollingThread 发现了节点2已经在连续一段时间( misscount时间的50%) 内丢失网络心跳。如果问题继续下去, 那么会在29.410s后发生节点驱逐。
节点2:

[CSSD]2013-ll-12 12:53:03.941 [3063929744] >TRACE: clssnmSendingThread: sending
status msg to all nodes
[CSSD] 2013-11-12 12: 53: 03. 941 [3063929744] >TRACE: clssnmSendingThread: sent 4
status msgs to all nodes
[CSSD]2013-ll-12 12:53:06 241 (3074419600] >WARNING: clssnmPollingThread: node
*** (1) at 50% heartbeat fatal, eviction in 29.240 seconds seedhbimpd 0
[CSSD]2013-ll-12 12:53:06 241 [3074419600] >TRACE: clssnmPollingThread: node
 ** *  (1) is impending reconfig, flag 1037, misstime 30760

以上可以看到 节点2 的信息和节点1很相似, 这是正常的, 因为对于两个节点的集群, 当其中一个节点的私网出现问题时, 造成的结果就会是两个节点互相抱怨对方没有网络心跳。当丢失网络心跳持续了misscount时间(在这个测试集群中为60s)时, 决定驱逐哪个节点还需要再看一下两个节点的ocssd.log。
节点1

[CSSD] 2013-11-12 12 :53 :23. 437 (3063929744] >WARNING: clssnmPollingThread: node
** * (2) at 75% heartbeat fatal, eviction in 14.410 seconds * * * * ***
[CSSD] 2013-11-12 12: 53: 37. 436 (3063929744] >WARNING: clssnmPollingThread: node
** (2) at 90% heartbeat fatal, eviction in 0.410 seconds *****
[CSSD] 2013-11-12 12: 53: 37. 857 (3063929744] >TRACE: clssnm Polling Thread:
Eviction started for node ** * (2), flags Ox040d, state 3, wt4cO seedhbimpd

节点2:

[CSSD) 2013-11-12 12: 53: 21. 251 [ 307 4 419600) >WARNING: clssnmPollingThread: node
(1) at 75% heartbeat fatal, eviction in 14.240 seconds * * * * ** *
[CSSD) 2013-11-12 12: 53: 35. 251 [ 307 4 419600 J >WARNING: clssnmPollingThread: node
** * (1) at 90% heartbeat fatal, eviction in 0.240 seconds * * * * * * *
[CSSD)2013-ll-12 12:53:35.501 [3074419600) >T R A C E: c l s s n mPo ll i n g T hre a d:
Eviction started for node *** (1), flags Ox040d, state 3, wt4c O * * * * * * *

以上的信息看起来很有意思, 节点1 声明要驱逐节点2, 同时节点2声明要驱逐节点1。但是, 结合之前提到的分析线程的功能, 可以看到这种情况代表该线程做了自己应该做的事情, 接下来, 就看集群是如何进行重新配置的, 到底哪一个节点会离开集群。

节点1:

[CSSD) 2013-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值