10.5.2. 配置仲裁设备
本节提供了在红帽高可用性集群中配置仲裁设备的示例步骤。以下流程配置了仲裁设备并将其添加到集群中。在本例中:
- 用于仲裁设备的节点是
qdevice
。 - 仲裁设备模型是
net
,这是目前唯一支持的模型。net
模型支持以下算法:ffsplit
:5-fifty split.这为拥有最多活跃节点的分区提供一个投票。lMS:le
-man-standing.如果节点是集群中唯一可以看到qnetd
服务器的节点,则它将返回一个投票。警告LMS 算法允许在集群中只剩下一个节点时仍保持仲裁,但也意味着制裁设备的投票权利更大,它等同于 number_of_nodes - 1。丢失与制裁设备的连接意味着丢失了 number_of_nodes - 1 个投票,就是说只有具有所有活跃节点的集群才能保持仲裁(因为仲裁设备的投票权利更大), 其它任何群集都每以处于仲裁状态。
有关实施这些算法的详情,请查看corosync-qdevice
(8)man page。 - 集群节点是
node1
和node2
。
下面步骤配置一个仲裁设备,并将仲裁设备添加到集群中。
- 在您要用来托管仲裁设备的节点中,使用以下命令配置仲裁设备。这个命令配置并启动仲裁设备模型
net
,并将设备配置为在引导时启动。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置制裁设备后,您可以检查其状态。这应该显示corosync-qnetd
守护进程正在运行,此时没有连接的客户端。--full
命令选项提供详细输出。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用以下命令在
firewalld
上启用高可用性
服务,从而在防火墙上启用pcsd
守护进程和网络仲裁
设备所需的端口:[root@qdevice:~]# firewall-cmd --permanent --add-service=high-availability [root@qdevice:~]# firewall-cmd --add-service=high-availability
[root@qdevice:~]# firewall-cmd --permanent --add-service=high-availability [root@qdevice:~]# firewall-cmd --add-service=high-availability
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 从现有集群中的某个节点中,在托管仲裁设备的节点上验证用户
hacluster
。[root@node1:~] # pcs cluster auth qdevice Username: hacluster Password: qdevice: Authorized
[root@node1:~] # pcs cluster auth qdevice Username: hacluster Password: qdevice: Authorized
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在集群中添加仲裁设备。在添加仲裁设备前,您可以检查当前的配置以及仲裁设备的状态以便稍后进行比较。这些命令的输出表明集群还没有使用仲裁设备。
[root@node1:~]# pcs quorum config Options:
[root@node1:~]# pcs quorum config Options:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下命令添加您之前在集群中创建的仲裁设备。您不能同时在集群中使用多个仲裁设备。但是,一个仲裁设备可以被多个集群同时使用。这个示例命令将仲裁设备配置为使用ffsplit
算法。有关仲裁设备的配置选项的详情,请查看corosync-qdevice
(8)man page。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 检查仲裁设备的配置状态。在集群一端,您可以执行以下命令查看如何更改配置。pcs quorum config 显示已配置的仲裁设备。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs quorum status 命令显示仲裁运行时状态,这表示仲裁设备正在使用中。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs quorum 设备状态显示仲裁设备运行时状态。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从仲裁设备一侧,您可以执行以下 status 命令,该命令显示corosync-qnetd
守护进程的状态:Copy to Clipboard Copied! Toggle word wrap Toggle overflow