30.2. 配置 KVM 客户机节点

Pacemaker 客户机节点是运行 pacemaker_remote 服务的虚拟客户机节点。虚拟客户机节点由集群管理。

30.2.1. 客户端节点资源选项

当将虚拟机配置为作为客户机节点时,您可以创建一个 VirtualDomain 资源,用于管理该虚拟机。有关您可以为 VirtualDomain 资源设置的选项的描述,请参阅虚拟域资源选项中的"虚拟域资源 资源选项 "表。

除了 VirtualDomain 资源选项外,元数据选项将资源定义为客户机节点,并定义了连接参数。您可以使用 pcs cluster node add-guest 命令设置这些资源选项。下表描述了这些元数据选项。

表 30.1. 将 KVM 资源配置为远程节点的元数据选项

默认值描述

remote-node

<none>

此资源定义的客户机节点的名称。这可让资源作为客户机节点启用,并定义用于识别客户端节点的唯一名称。警告 :这个值不能与任何资源或节点 ID 重叠。

remote-port

3121

配置一个自定义端口,用于到 pacemaker_remote 的客户机连接

remote-addr

pcs host auth 命令提供的地址

要连接的 IP 地址或主机名

remote-connect-timeout

60s

待处理的客户端连接超时前的时间

30.2.2. 将虚拟机整合为客户机节点

以下流程是有关 Pacemaker 启动虚拟机以及将机器作为客户机节点集成的步骤的高级概述,使用 libvirt 和 KVM 虚拟机。

步骤

  1. 配置 VirtualDomain 资源。
  2. 在每一虚拟机上输入以下命令来安装 pacemaker_remote 软件包,启动 pcsd 服务并启用它在启动时运行,并允许 TCP 端口 3121 通过防火墙。

    # dnf install pacemaker-remote resource-agents pcs
    # systemctl start pcsd.service
    # systemctl enable pcsd.service
    # firewall-cmd --add-port 3121/tcp --permanent
    # firewall-cmd --add-port 2224/tcp --permanent
    # firewall-cmd --reload
  3. 为每个虚拟机分配一个静态网络地址和唯一主机名,适用于所有节点。
  4. 如果您还没有这样做,在要整合为最优节点的节点上验证 pcs

    # pcs host auth nodename
  5. 使用以下命令将现有 VirtualDomain 资源转换为客户机节点。这个命令必须在集群节点上运行,而不是在要添加的客户端节点上运行。除了转换资源外,这个命令会将 /etc/pacemaker/authkey 复制到客户机节点上,并在客户机节点上启动并启用 pacemaker_remote 守护进程。客户机节点的节点名称(您可以随意定义)可以与节点的主机名不同。

    # pcs cluster node add-guest nodename resource_id [options]
  6. 创建 VirtualDomain 资源后,您可以像对待集群中的任何其他节点一样对待客户机节点。例如,您可以创建资源并在客户机节点中运行的资源上放置资源约束,如下命令可在集群节点中运行。您可以在组群中包含客户机节点,它们允许您对存储设备、文件系统和虚拟机进行分组。

    # pcs resource create webserver apache configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
    # pcs constraint location webserver prefers nodename