美文网首页
Oracle RAC 脑裂

Oracle RAC 脑裂

作者: 晨风0o | 来源:发表于2020-11-30 21:39 被阅读0次

    在集群中,节点间通过心跳来了解彼此的健康状态,以确保各节点协调工作。假设只有“心跳”出现问题,但各个节点还在正常运行,这时,每个节点都认为其它的节点宕机了,自己才是整个集群环境中的“唯一健在者”,自己应该获得整个集群的“控制权”。在集群环境中,存储设备都是共享的,这就意味着数据灾难。简单点说,就是如果由于私有网络硬件或软件的故障,导致集群节点间的私有网络在一定时间内无法进行正常的通信,这种现像称为脑裂。在发生脑裂情况后,集群的某些节点间的网络心跳丢失,但磁盘心跳依然正常,集群根据投票算法(Quorum Algorithm)将不正确的节点踢出集群。磁盘心跳的主要目的是当集群发生脑裂时可以帮助指定脑裂的解决方案。

    私网网络不能正常通信有一个超时时间,称为MC(Misscount),默认为30s(通过命令“crsctl get css misscount”查询)。该时间允计集群节点间不能正常通信的最大时间为30s,如果超过30s,那么Oracle认为节点间发生了脑裂。在出现脑裂后,集群的重要任务就是保证错误节点与正确节点间的I/O是隔离的,这样才能避免对数据造成不一致的损坏。处理这个问题的方法就是:踢出错误节点执行修复过程。

    相关文章

      网友评论

          本文标题:Oracle RAC 脑裂

          本文链接:https://www.haomeiwen.com/subject/xoidwktx.html