horizontommy
作者horizontommy·2016-01-08 17:01
软件开发工程师·南京皓信网络科技

关于oracle rac脑裂的一些认识

字数 696阅读 2403评论 0赞 1

脑裂(split brain):描述的是私有网络心跳出现故障的时候,而每个节点都正常运行,这时侯每个节点都认为其他的节点宕机了,自己应该获得集群的控制权,这种状况就是脑裂。

为了帮助解决脑裂的问题,引入了voting disk ,voting disk oracle 建议至少3个以上,那么脑裂是怎么发生的?voting disk是怎么仲裁的?

rac正常情况下,没秒钟都是监听各个节点间的心跳信息,若某个节点在miscount秒内没有被接收到心跳信息,就会形成了两个或多个子集群,,这样的状况就是脑裂,如果发生了脑裂,决定子集群存活的因素(voting disk正常的时候)是:

    1、拥有节点最多的子集群存活

     2、如果两个子集群节点相等,那么节点级别低将别踢出

    如: xxxx2, is smaller than cohort of 1 nodes led by node 1

     当节点别踢出集群以后,为了保证被踢出的节点不能访问共享存储的数据,io fencing来解决这个问题,oracle rac会重启被踢出集群的节点,来保证共享存储的数据。

voting disk是为了解决私有网络通信故障的,所以每个节点必须要对voting disk进行通信,具体就是向voting disk写入心跳信息,由css读取这个块的信息来确定节点的状态,如果有多个voting disk,存活的节点必须可以访问(N/2+1)个以上。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广