第 31 章 将非 corosync 节点整合到集群中: pacemaker_remote 服务


pacemaker_remote 服务允许没有运行 corosync 的节点集成到集群中,让集群管理它们的资源,就像它们是实际的集群节点一样。

pacemaker_remote 服务提供的功能如下:

  • pacemaker_remote 服务允许您扩展到红帽支持超过 32 个节点的限制。
  • pacemaker_remote 服务允许您将虚拟环境作为集群资源来管理,还可以将虚拟环境中的单个服务作为集群资源来管理。

以下术语用于描述 pacemaker_remote 服务:

  • 集群节点 - 运行高可用性服务(pacemakercorosync)的节点。
  • 远程节点 - 运行 pacemaker_remote 的节点,来远程集成到集群中,而不需要 corosync 集群成员资格。远程节点被配置为使用 ocf:pacemaker:remote 资源代理的集群资源。
  • 客户机节点 - 运行 pacemaker_remote 服务的虚拟客户机节点。虚拟客体资源由集群管理,它由集群启动,并作为远程节点集成到集群中。
  • pacemaker_remote - 一个能够在 Pacemaker 集群环境中的远程节点和 KVM 客户机节点中执行远程应用程序管理的服务守护进程。这个服务是 Pacemaker 的本地 executor 守护进程(pacemaker-execd)的改进版本,能够在没有运行 corosync 的节点中远程管理资源。

运行 pacemaker_remote 服务的 Pacemaker 集群具有以下特征:

  • 远程节点和客户机节点运行 pacemaker_remote 服务(虚拟机端只需要很少的配置)。
  • 在集群节点上运行的集群堆栈(pacemakercorosync)连接到远程节点上的 pacemaker_remote 服务,允许它们集成到集群中。
  • 在集群节点上运行的集群堆栈(pacemakercorosync)可启动客户机节点,并立即连接到客户机节点上的 pacemaker_remote 服务,允许它们集成到集群中。

集群节点与集群节点管理的远程和客户机节点之间的关键区别在于远程和客户机节点没有运行集群堆栈。这意味着远程和虚拟机节点有以下限制:

  • 它们不会在仲裁里进行
  • 它们不执行隔离设备操作
  • 他们没有有资格成为集群的指定控制器(DC)
  • 它们本身不运行所有的 pcs 命令

另外,远程节点和客户机节点不与与集群堆栈关联的可扩展性限制绑定。

除这些限制外,远程和客户机节点的行为与集群节点在资源管理方面的行为类似,且远程和虚拟机节点本身也可被保护。集群完全能够管理和监控每个远程和客户机节点上的资源:您可以针对它们构建限制,将其置于备用状态,或使用 pcs 命令在群集节点上执行任何其他操作。远程和虚拟机节点如集群节点一样显示在集群状态输出中。

31.1. pacemaker_remote 节点的主机和虚拟机验证

Pacemaker 支持通过两种方式保护 pacemaker 节点和 pacemaker_remote 节点之间的连接:

  • 带有预共享密钥(PSK)加密并通过 TCP 验证的传输层安全(TLS)。
  • 带有 SSL 证书的 TLS (RHEL 9.6 及更高版本)。使用此方法,您可以使用现有证书来保护连接。

31.1.1. 带有 PSK 加密的 TLS

当您使用集群节点 add-guest 命令配置客户机节点 或使用集群节点 add-remote 命令配置远程节点 时,集群节点和 pacemaker_remote 之间的连接会使用带有预共享密钥(PSK)加密并通过 TCP 进行身份验证,使用端口 3121 进行保护。这意味着集群节点和运行 pacemaker_remote 的节点必须共享相同的私钥。默认情况下,此密钥必须放在集群节点和远程节点上的 /etc/pacemaker/authkey 中。

第一次运行 pcs cluster node add-guest 命令或 pcs cluster node add-remote 命令时,它会创建 authkey 并将其安装到集群中的所有现有节点上。当您稍后创建任何类型的新节点时,现有 authkey 会被复制到新节点。

31.1.2. 配置 SSL/TLS 证书

您可以使用 X.509 (SSL/TLS)证书加密 Pacemaker 远程连接。使用此方法,您可以为 Pacemaker 远程连接重复使用现有主机证书,而不是私有共享密钥。

要配置 SSL/TLS 证书,请使用 pcs cluster node add-guest 命令或 pcs cluster node add-remote 命令创建远程连接。然后,您可以将远程连接转换为使用证书。

流程

使用以下步骤配置 SSL/TLS 证书来保护 Pacemaker 节点和远程节点之间的连接。

  1. 使用 pcs cluster node add-guest 命令或 pcs cluster node add-remote 命令创建远程连接。这会为客户机节点或远程节点设置 authkey。以下示例命令创建一个远程节点,并为该节点设置 authkey

    [root@clusternode1 ~]# pcs cluster node add-remote remote1
    Copy to Clipboard Toggle word wrap

    有关远程节点的完整配置步骤,请参阅配置 Pacemaker 远程节点

  2. 通过更新所有集群节点和 Pacemaker 远程节点上的 etc/sysconfig/pacemaker 文件中的以下变量,来将您创建的连接转换为使用 SSL/TLS 证书:

    PCMK_ca_file - 包含可信证书颁发机构的文件的位置,用于验证客户端或服务器证书。此文件必须是 PEM 格式,并且必须对 hacluster 用户或 haclient 组允许读权限。

    PCMK_cert_file - 包含用于连接的服务器端签名证书的文件的位置。此文件必须是 PEM 格式,并且必须对 hacluster 用户或 haclient 组允许读权限。

    PCMK_crl_file (可选)- PEM 格式的证书撤销列表文件的位置。

    PCMK_key_file - PEM 格式的包含用于匹配 PCMK_cert_file 的私钥的文件的位置。此文件必须是 PEM 格式,并且必须对 hacluster 用户或 haclient 组允许读权限。

  3. (可选)从集群和远程节点中删除任何 /etc/pacemaker/authkey 文件。如果配置了证书,Pacemaker 会使用证书,但删除 authkey 文件可确保 Pacemaker 不会使用 PSK 加密,如果您已忽略在节点上配置证书。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat