第 26 章 配置集群仲裁(quorum)
为了保持集群的完整性和可用性,集群系统使用一个称为仲裁(quorum) 的概念来防止数据崩溃和丢失。当超过一半的集群节点在线时,集群就已被“仲裁”。为减少由于失败造成数据崩溃的机会,在不满足仲裁数量的情况下,Pacemaker 会默认停止所有资源。
仲裁是通过一个投票(voting)系统来建立的。当一个集群节点工作不正常,或丢掉了与其他集群部分的通信,则大多数工作的节点可以通过投票来分离有问题的节点,如果需要,对节点进行隔离。
例如,在一个 6 个节点集群中,在至少有 4 个集群节点正常工作时就满足了仲裁。如果大多数节点离线或不可用,集群就不再具仲裁数量,Pacemaker 会停止集群的服务。
Pacemaker 仲裁的功能可以防止出现脑裂(split-brain)问题。当集群中出现无法相互通信的部分,而每个部分都可以在自己的部分中作为一个独立的集群运行,则代表集群出现了脑裂的问题。这可能会导致出现数据被破坏的问题。有关处于脑裂状态意味着什么,以及仲裁概念的更多信息,请参阅红帽知识库文章 RHEL 高可用性集群的概念 - 仲裁。
Red Hat Enterprise Linux 高可用性附加组件集群使用 votequorum
服务,并结合隔离,以避免脑裂的情况。为集群中的每个系统分配一组投票机制,只能在大多数投票机制都存在时才允许执行集群操作。该服务必须被加载到所有节点或无节点 ; 如果服务被载入到集群节点的一个子集,则结果将无法预计。有关 votequorum
服务的配置和操作的详情,请查看您系统上的 votequorum
(5)手册页。
26.1. 配置仲裁选项 复制链接链接已复制到粘贴板!
使用 pcs cluster setup
命令创建集群时,可以设置仲裁配置的一些特殊功能。下表总结了这些选项。
选项 | 描述 |
---|---|
|
启用后,集群可能会以确定的方式达到 50% 个节点同时失败的情况。集群分区或仍与
|
| 在启用后,只有在所有节点都最少同时可见一次后,集群才会第一次处于仲裁状态。
当集群具有两个节点,不使用仲裁设备,且禁用 |
|
启用后,集群可以在特定情况下重新动态计算 |
|
在集群丢失节点后,在重新计算 |
有关配置和使用这些选项的详情,请查看您系统上的 votequorum
(5)手册页。