Booth 集群票务管理器概述
使用 Pacemaker 配置多站点集群
预计需要五台机器(根据实际情况而定),其中集群一和集群二各需要两台机器,Booth站点(仲裁节点)需要一台机器,并且这五台机器都安装HA安装包。
1. 创建集群
集群一(主集群)包括cluster1-node1和cluster1-node2,集群二(备用集群)包括cluster2-node1和cluster2-node2。
说明:
两个集群名称不要相同,如用于测试目的可关闭这五台机器防火墙,若实际项目中使用应根据实际情况而定。
2. 安装Booth票证管理器包
在两个集群的每个节点都安装booth-core及booth-site
Booth站点安装booth-core及booth-arbitrator
3. 创建Booth配置
[cluster1-node1 ~] # pcs booth setup sites 192.168.11.100 192.168.22.100 arbitrators 192.168.99.100
此命令创建配置文件/etc/booth/booth.conf及/etc/booth/booth.key文件。
在其中一个集群的一个节点上创建Booth配置(如集群一的cluster1-node1节点)
4. 创建票证(ticket)
[cluster1-node1 ~] # pcs booth ticket add superticket
为Booth配置创建票证(superticket为自定义票证名称)。这是您将用于定义资源约束的票证,该限制将允许资源仅在此票证被授予集群时运行。
说明:
增加票证约束后,两个集群的所有节点资源都变更为停止状态(参考后面约束相关内容),假如在cluster1-node1创建票证,cluster1-node1集群内的资源可以正常启动(通常情况下只为所有集群中的某一个节点创建票证,当这个节点异常或者这个节点所在的集群异常(两台集群机器关机),将会在另一个节点或者另一个集群中的某个节点启动资源)。
5. 配置同步
[cluster1-node1 ~] # pcs booth sync
将 Booth 配置同步到当前集群中的所有节点
[仲裁节点 ~] # pcs host auth cluster1-node1
[仲裁节点 ~] # pcs booth pull cluster1-node1
将Booth配置发送仲裁节点
[cluster2-node1 ~] # pcs host auth cluster1-node1
[cluster2-node1 ~] # pcs booth pull cluster1-node1
[cluster2-node1 ~] # pcs booth sync
将Booth配置发送另一个集群并同步到该集群的所有节点
6. 在仲裁节点启动并启用Booth
[仲裁节点 ~] # pcs booth start
[仲裁节点 ~] # pcs booth enable
将Booth配置为在两个集群站点上作为集群资源运行。这将创建一个资源组,booth-ip及booth-service作为该组的成员。
不要在集群的任何节点上手动启动或启用Booth,因为Booth在这些集群中作为Pacemaker资源运行。
7. 为每个集群创建浮动IP(虚拟IP)
[cluster1-node1 ~] # pcs booth create ip 192.168.11.100
[cluster2-node1 ~] # pcs booth create ip 192.168.22.100
在每个集群的其中一个节点上创建Booth浮动IP(使用《3. 创建Booth配置》中的IP)
8. 增加票证约束
[cluster1-node1 ~] # pcs constraint ticket add superticket newgroup
[cluster2-node1 ~] # pcs constraint ticket add superticket newgroup
将票证约束添加到您为每个集群定义的资源组。
9. 常用指令
[cluster1-node1 ~] # pcs constraint ticket
查看票证组名称
[cluster1-node1 ~] # pcs booth config
查看票证组信息
[cluster1-node1 ~] # pcs booth status
查看booth节点之间通讯状态
[cluster1-node1 ~] # pcs booth ticket grant superticket
在某个节点票证授权(增加约束后,通过票证授权启动节点内资源)