NHB网络心跳丢失的模拟过程分析

环境:11.2.0.4 RHEL6.5  RAC,两节点

问题描述:故意将网络心跳线去掉,分析两节点的心路历程

分析过程:

1.去掉心跳线

2.查看ocssd.log

节点1:

2016-04-19 00:19:59.407: [    CSSD][299706112]clssnmPollingThread: node rac2 (2) at 50% heartbeat fatal, removal in 14.440 seconds
2016-04-19 00:19:59.407: [    CSSD][299706112]clssnmPollingThread: node rac2 (2) is impending reconfig, flag 2229260, misstime 15560
节点1发现节点2已经在连续一段时间内丢失网络心跳了,集群在14.440s后重新配置

节点2:

2016-04-19 00:19:59.349: [    CSSD][3818866432]clssnmPollingThread: node rac1 (1) at 50% heartbeat fatal, removal in 14.230 seconds
2016-04-19 00:19:59.349: [    CSSD][3818866432]clssnmPollingThread: node rac1 (1) is impending reconfig, flag 2491406, misstime 15770
节点2也发先节点1已经连续一段时间丢失网络心跳了,集群在14.230s后重新配置

节点1:

2016-04-19 00:20:06.409: [    CSSD][299706112]clssnmPollingThread: node rac2 (2) at 75% heartbeat fatal, removal in 7.420 seconds
2016-04-19 00:20:06.410: [    CSSD][315549440]clssnmvDHBValidateNcopy: node 2, rac2, has a disk HB, but no network HB, DHB has rcfg 356437458, wrtcnt, 169517, LATS 39917994, lastSeqNo 169514, uniqueness 1460995653, timestamp 1460996406/44133904
75%了,就要重新配置了!

节点2:

2016-04-19 00:20:06.353: [    CSSD][3818866432]clssnmPollingThread: node rac1 (1) at 75% heartbeat fatal, removal in 7.200 seconds
2016-04-19 00:20:06.353: [    CSSD][4030301952]clssnmvDHBValidateNcopy: node 1, rac1, has a disk HB, but no network HB, DHB has rcfg 356437458, wrtcnt, 164891, LATS 44133864, lastSeqNo 164888, uniqueness 1460956156, timestamp 1460996406/39917744
节点2也表示,75%了!

节点1:

2016-04-19 00:20:13.831: [    CSSD][299706112]clssnmPollingThread: Removal started for node rac2 (2), flags 0x22040c, state 3, wt4c 0
2016-04-19 00:20:13.831: [    CSSD][299706112]clssnmMarkNodeForRemoval: node 2, rac2 marked for removal
2016-04-19 00:20:13.831: [    CSSD][299706112]clssnmDiscHelper: rac2, node(2) connection failed, endp (0x1dae5a), probe(0x7f2b00000000), ninf->endp 0x1dae5a
2016-04-19 00:20:13.831: [    CSSD][299706112]clssnmDiscHelper: node 2 clean up, endp (0x1dae5a), init state 5, cur state 5

节点1表示要清理节点2了

节点2:

2016-04-19 00:20:13.556: [    CSSD][3818866432]clssnmPollingThread: Removal started for node rac1 (1), flags 0x26040e, state 3, wt4c 0
2016-04-19 00:20:13.556: [    CSSD][3818866432]clssnmMarkNodeForRemoval: node 1, rac1 marked for removal
2016-04-19 00:20:13.556: [    CSSD][3818866432]clssnmDiscHelper: rac1, node(1) connection failed, endp (0x5577), probe(0x7f4e00000000), ninf->endp 0x5577
2016-04-19 00:20:13.556: [    CSSD][3818866432]clssnmDiscHelper: node 1 clean up, endp (0x5577), init state 5, cur state 5

节点2页表示要收拾节点1了!

节点1:

2016-04-19 00:20:13.833: [    CSSD][296552192]clssnmCheckDskInfo: Checking disk info...
2016-04-19 00:20:13.833: [    CSSD][296552192]clssnmCheckSplit: Node 2, rac2, is alive, DHB (1460996413, 44140634) more than disk timeout of 27000 after the last NHB (1460996383, 44111344)

检查磁盘信息,发现节点2是正常的。

节点2:

2016-04-19 00:20:13.558: [    CSSD][3815712512]clssnmCheckDskInfo: Checking disk info...
2016-04-19 00:20:13.558: [    CSSD][3815712512]clssnmCheckSplit: Node 1, rac1, is alive, DHB (1460996413, 39924894) more than disk timeout of 27000 after the last NHB (1460996383, 39895134)

检查磁盘信息,发现节点1是正常的。

脑裂就要发生了!

这个时候:

节点1:

2016-04-19 00:20:13.833: [    CSSD][296552192]clssnmCheckDskInfo: My cohort: 1
2016-04-19 00:20:13.833: [    CSSD][296552192]clssnmRemove: Start
2016-04-19 00:20:13.833: [    CSSD][296552192](:CSSNM00007:)clssnmrRemoveNode: Evicting node 2, rac2, from the cluster in incarnation 356437458, node birth incarnation 356437457, death incarnation 356437458, stateflags 0x224000 uniqueness value 1460995653

好吧,节点2被踢出去了

节点2:

2016-04-19 00:20:13.558: [    CSSD][3815712512]clssnmCheckDskInfo: My cohort: 2
2016-04-19 00:20:13.558: [    CSSD][3815712512]clssnmCheckDskInfo: Surviving cohort: 1
2016-04-19 00:20:13.558: [    CSSD][3815712512](:CSSNM00008:)clssnmCheckDskInfo: Aborting local node to avoid splitbrain. Cohort of 1 nodes with leader 2, rac2, is smaller than cohort of 1 nodes led by node 1, rac1, based on map type 2

节点2出去了。。

集群中,节点号小的节点幸存!

时间: 2024-10-22 06:57:56

NHB网络心跳丢失的模拟过程分析的相关文章

如何优化网络心跳机制

什么是心跳机制 最早的心跳机制用于服务器的安全备份机制,是为了防止服务器死机,而在服务器之间采用专用的端口和线路,周期性传送简短的信息,心跳就是形象的比喻.一旦 收不到对方的心跳信息,服务器可以接管对方的业务,避免业务的停滞.为了业务的顺畅进行,服务器发送的心跳信息可以非常频密. 微信的信令风暴将人们的目光导向心跳机制,那么心跳机制是怎么回事呢? 最早的心跳机制用于服务器的安全备份机制,是为了防止服务器死机,而在服务器之间采用专用的端口和线路,周期性传送简短的信息,心跳就是形象的比 喻.一旦收不

CORE网络数据包接收传递过程分析

能够接收实际网络流量是CORE的一个显著优点,这使得已有的系统能方便地接入虚拟网络进行模拟.CORE对网络设备的虚拟是通过LXC技术来实现的,而对网络的虚拟则是通过虚拟网卡(veth).网桥(Bridge).Quagga来实现的.本文档主要通过分析CORE中网络数据传递过程,来理解CORE网络模拟. 拓扑结构 为了方便描述,以如图1所示拓扑结构为例子,分析数据流从网卡eth0到虚拟节点n2的过程. 图1 示例拓扑 虚拟网络创建由CORE后台根据前台的拓扑结构和配置,执行相应的命令进行实现,如下:

hdu 4023 2011上海赛区网络赛C 贪心+模拟

以为是贪心,结果不是,2333 贪心最后对自己绝对有利的情况 点我 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 #include<queue> 7 #include<map> 8 using namespace std; 9 #define MOD 10000000

ACM-ICPC北京赛区(2017)网络赛1【模拟+枚举+数组操作】

题目1 : Visiting Peking University 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Ming is going to travel for n days and the date of these days can be represented by n integers: 0, 1, 2, …, n-1. He plans to spend m consecutive days(2 ≤ m ≤ n)in Beijing. During

ACM-ICPC 2018 南京赛区网络预赛 - C GDY (模拟)

诶,比赛时差一点就debug出来了 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int mod = 14; map<int,int> vz[205]; LL ans[205]; int main() { #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); freopen("out.tx

模拟恶劣网络环境常用的几种解决方案

一.利用Fiddler模拟恶劣网络环境   在解决日常的支持需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境就较为恶劣,而服务在面对这种恶劣的网络环境的健壮性不够,导致会出现一些意想不到的bug.而在正常的开发自测过程中很难去营造出这种恶劣的网络环境,使得这些bug较难被提前发现和修复.另外一些服务在恶劣网络环境下虽然不会出现不可用的情况,但是用户体检很差,为了优化这个情况下的用户体验,也需要去在本地模拟这种环境来进行调

流量整形,延迟以及ACK丢失对TCP发送时序的影响

TCP是一个连续不断的涓涓细流或者滚滚长江,但这只是理想情况!经过诸多中间网络设备,最终一个TCP流到达接收端的时候,将可能不再保持一个流的形式,而变成了一阵阵的突发...这些突发产生的ACK反过来反馈到发送端,进而对发送端的发送时序产生影响,也就是说对发送端的数据流进行整形,这真是一个典型的涡轮增压反馈系统,根本不是通常认为的那样不可控或者说另一个极端,仅仅是端到端!想驾驭它其实不是那么难,如果有人说仅仅可以靠感觉就可以驾驭它,倒不如说它本来就是1+1=2那般有条有理.如果觉得TCP的行为很难

网络协议总结

信号的传输总要符合一定的协议(protocol).比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了"敌人入侵"这一抽象信号.这样一个"狼烟=敌人入侵"就是一个简单的协议.协议可以更复杂,比如摩尔斯码(Morse Code),使用短信号和长信号的组合,来代表不同的英文字母.比如SOS(***---***,  *代表短信号,-代表长信号).这样"***= S, ---=O"就是摩尔斯码规定的协议.然而更进一层,人们会知道SOS是求助

华为HCNA-初级网络基础

内容描述 本文摘自HCNA2网络基础知识,共包含五个Module,全面地介绍了构建一个基本的IP网络所涉及的各种主要技术,重点描述了交换.路由和网络服务等基础内容,以及这些内容如何在VRP上配置和实现的. Module 1系统地介绍了TCP/IP协议模型,侧重讲述了数据链路层.网络层和传输层的功能和作用,其主要目的是帮助读者加深对数据通信中"层次"的理解,并且熟悉和掌握数据在网络中的端到端传输过程. Module 2介绍了华为通用路由平台VRP的基础知识及其操作指导,主要包含了VRP的