29.3. 删除 Booth 票据
使用 pcs booth ticket remove
命令删除 Booth 集群票据后,Booth 票据的状态在 Cluster Information Base (CIB)中保持 loaded 。在从一个站点上的 Booth 配置中删除一个 ticket ,并使用 pcs booth pull
命令将 Booth 配置拉取到另一个站点后,也会出现这种情况。当您配置票据约束时,这可能会导致问题,因为即使在票据被删除后,也可以授予票据约束。因此,集群可能会冻结或隔离一个节点。要防止这种情况,您可以使用 pcs booth ticket cleanup
命令从 CIB 中删除 Booth 票据。
先决条件
- 您已设置了一个使用 Booth 票据管理器的多站点配置。具体说明请参阅 使用 Pacemaker 配置多站点集群。
配置的示例使用以下安排:
-
集群 1 由节点
cluster1-node1
和cluster1-node2
组成。 -
集群 2 由节点
cluster2-node1
和cluster2-node2
组成。 -
仲裁节点被命名为
arbitrator-node
。 -
此配置使用的 Booth 票据的名称是
apacheticket
。
-
集群 1 由节点
流程
要删除 Booth 票据,请执行以下步骤。
从 Booth 配置的一个集群站点中的一个集群节点:
将要删除的票据置于
standby
模式。这个示例使用的票据名为apacheticket
。pcs booth ticket standby apacheticket
[cluster1-node1 ~]# pcs booth ticket standby apacheticket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 Booth 配置中删除票据。
pcs booth ticket remove apacheticket
[cluster1-node1 ~]# pcs booth ticket remove apacheticket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Booth 配置同步至当前集群中的所有节点。
pcs booth sync
[cluster1-node1 ~]# pcs booth sync
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启当前集群中的 Booth 资源。
pcs booth restart
[cluster1-node1 ~]# pcs booth restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从当前集群的 CIB 中删除票据。
pcs booth ticket cleanup
[cluster1-node1 ~]# pcs booth ticket cleanup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
从 Booth 配置的每个剩余集群站点中的一个集群节点:
将要删除的票据置于
standby
模式。pcs booth ticket standby apacheticket
[cluster2-node1 ~]# pcs booth ticket standby apacheticket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从具有更新配置的节点下载 Booth 配置文件。
pcs booth pull cluster1-node1
[cluster2-node1 ~]# pcs booth pull cluster1-node1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Booth 配置同步至当前集群中的所有节点。
pcs booth sync
[cluster2-node1 ~]# pcs booth sync
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启当前集群中的 Booth 资源。
pcs booth restart
[cluster2-node1 ~]# pcs booth restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从当前集群的 CIB 中删除票据。
pcs booth ticket cleanup
[cluster2-node1 ~]# pcs booth ticket cleanup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
从仲裁节点,从具有更新配置的节点下载更新的 Booth 配置文件:
pcs booth pull clusternode-node1
[arbitrator-node ~]# pcs booth pull clusternode-node1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要检查 Booth 票据是否已从 Booth 配置中删除,请在每个集群节点和仲裁节点上运行
pcs booth config
命令。例如,在使用 使用 Pacemaker 配置多站点集群 中描述的流程配置名为
apacheticket
的票据后,命令会显示以下输出:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 Booth 配置中删除票据后,命令不再显示
ticket= "apacheticket"
:pcs booth config
[cluster1-node1 ~]# pcs booth config authfile = /etc/booth/booth.key site = 192.168.11.100 site = 192.168.22.100 arbitrator = 192.168.99.100
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要检查 Booth 票据是否已从集群节点上的 CIB 中删除,请在集群中的任何节点上使用
crm_ticket
工具的--query-xml
选项。例如,在配置了名为apacheticket
的 Booth 票据后,工具会显示以下输出:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 CIB 中删除票据后,输出不再显示带有
id="apacheticket"
的ticket_state
元素:crm_ticket --query-xml
[cluster1-node1 ~]# crm_ticket --query-xml State XML: <tickets/>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow