Red Hat Training

A Red Hat training course is available for RHEL 8

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

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

pacemaker_remote 服务提供的功能包括:

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

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

  • 群集节点 - 运行高可用性服务(pacemaker 和 corosync)的节点。
  • 远程节点 - 运行 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 服务,允许它们集成到群集中。
  • 在群集节点上运行的群集堆栈(pacemaker 和 corosync)可启动客户机节点,并立即连接到客户机节点上的 pacemaker_remote 服务,允许它们集成到群集中。

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

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

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

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

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

集群节点与 pacemaker_remote 之间的连接是使用传输层安全(TLS)进行安全保护,使用预共享密钥(PSK)加密和验证 TCP(默认使用端口 3121)进行验证。这意味着集群节点和运行 pacemaker_remote 的节点 必须共享相同的私钥。默认情况下,此密钥必须放在集群节点和远程节点上的 /etc/pacemaker/authkey 中。

pcs cluster node add-guest 命令为客户机节点设置 authkey,而 pcs cluster node add-remote 命令则为远程节点设置 authkey