具有起搏器的两节点集群中的仲裁

具有起搏器的两节点集群中的仲裁

我有两个节点主动-被动集群。

从头开始集群

如果集群分裂为两个(或更多)组节点,而这些节点无法再相互通信(也称为分区),则可以使用仲裁来防止资源在多于所需的节点上启动,这将带来数据损坏的风险。当超过一半的已知节点在同一分区中在线时,集群具有法定人数

根据上面的定义,双节点集群只有在两个节点都运行时才具有仲裁。这将使创建两节点集群毫无意义,但 corosync 能够将两节点集群视为仲裁只需要一个节点。 pcs cluster setup 命令将自动在 corosync.conf 中配置two_node: 1,因此两节点集群将“正常工作”。

这是我的配置:

在此输入图像描述

那么集群现在如何决定哪一个拥有法定人数呢?

答案1

没有决定:

两个节点:1

启用两个节点集群操作(默认值:0)。

“双节点集群”是一个需要特别考虑的用例。对于标准的两节点集群,每个节点只有一票,集群中有 2 票。使用简单多数计算(50% 的选票 + 1)来计算法定人数,法定人数将为 2。这意味着两个节点必须始终处于活动状态,集群才能法定并运行。

启用two_node: 1,quorum被人为设置为1。

以上内容来自于votequorum 的手册页(或在第 5 节中本地获取)。

还有相关的:

它的工作方式是,如果发生网络中断,两个节点都会竞相尝试互相隔离,第一个成功的节点将继续在集群中运行。系统管理员还可以将延迟与隔离代理关联起来,以便在这种情况下可以赋予一个节点优先权,使其始终赢得比赛。

也可以看看:Corosync 2 中的新仲裁功能作者:克里斯汀·考尔菲尔德

相关内容