详解容灾架构中的脑裂问题

【摘要】对于容灾架构来讲,脑裂是灾难性的事件,本文详细介绍了优先级解决方案、仲裁解决方案、仲裁冲突问题,对于了解相关场景及解决相关问题大有裨益,欢迎阅读。(文中涉及相关技术产品最新参数请以官网最新发布为准)

1. 什么是容灾中的脑裂问题?

脑裂(split-brain)就是“大脑分裂”,也就是本来一个“大脑”,由于某些原因被拆分了两个或多个“大脑”,我们都知道,如果一个人有多个大脑,并且相互独立的话,那么必然会出问题。

在容灾架构设计当中,我们经常会利用一些 HA、Cluster等高可用架构在其中,而且一般都是借助于跨地域L2网络,采用跨数据中心的方式在某一个功能层组成一个独立的集群,例如数据库集群、存储网关集群等 。假设因为两个数据中心节点通讯中断故障导致形成了两个独立的集群,彼此独立工作,那么这就是脑裂。正如下图所示情况。

第一个问题:为什么会集群可能产生脑裂?

这个问题需要回到集群的仲裁机制上来,一般来讲集群的仲裁算法是以每一个节点可以获得仲裁资源的多少来判断谁是集群的主导。集群的仲裁资源无非是来自网络层面的心跳信息和共享存储的磁盘心跳资源,在普通的节点层故障场合下,发生故障的节点可以获得的仲裁资源就会少于其他节点,那么就不会发生脑裂问题。但是在一种特殊的场合(双数据中心之间的网络发生了故障),两个节点可以获得的仲裁资源是一样的,

猜你喜欢

转载自blog.csdn.net/weixin_70923796/article/details/130613727