4.7. 为高可用性附加组件启用端口

集群组件的理想防火墙配置取决于本地环境,您可能需要考虑节点是否有多个网络接口或主机外防火墙是否存在。

如果您正在运行 firewalld 守护进程,请执行以下命令启用红帽高可用性附加组件所需的端口。

# firewall-cmd --permanent --add-service=high-availability
# firewall-cmd --add-service=high-availability

您可能需要修改开放端口以适合本地条件。

注意

您可以使用 rpm -q firewalld 命令确定您的系统中是否安装了 firewalld 守护进程。如果安装了 firewalld 守护进程,您可以使用 firewall-cmd --state 命令确定它是否正在运行。

下表显示了要为红帽高可用性附加组件启用的端口,并解释了该端口的用途。

表 4.1. 为高可用性附加组件启用的端口

端口什么时候需要

TCP 2224

所有节点都需要默认的 pcsd 端口(pcsd Web UI 需要这个端口,节点到节点的通信也需要这个端口)。您可以使用 /etc/sysconfig/pcsd 文件中的 PCSD_PORT 参数配置 pcsd 端口。

关键是要以这样一种方式开放端口 2224,即来自任何节点的 pcs 可以与集群中的所有节点(包括它自己)通信。当使用 Booth 集群票据管理程序或一个 quorum 设备时,您必须在所有相关主机上打开端口 2224,比如 Booth abiter 或者 quorum 设备主机。

TCP 3121

如果集群有 Pacemaker 远程节点,则所有节点都需要这个端口

整个集群节点上的 Pacemaker 的 pacemaker-based 守护进程将通过 Pacemaker 远程节点上的端口 3121 与 pacemaker_remoted 守护进程联系。如果使用一个单独的接口用于集群通信,则该端口只需要在那个接口上打开。至少应该在 Pacemaker 远程节点上完整集群节点打开这个端口。因为用户可以在完整节点和远程节点间转换主机,或使用主机网络在容器内运行远程节点,您可以为所有节点打开端口。不需要向节点以外的任何主机打开端口。

TCP 5403

当使用对仲裁设备使用 corosync-qnetd 时,仲裁设备主机上需要。可以使用 corosync-qnetd 命令的 -p 选项更改默认值。

UDP 5404-5412

corosync 节点需要这些端口以便在节点间进行通信。打开端口 5404-5412 非常重要,从而使来自任何节点的 corosync 都可以与集群中的所有节点(包括自身)进行通信。

TCP 21064

如果集群包含需要 DLM 的资源(如 GFS2),则在所有节点上都需要此项。

TCP 9929, UDP 9929

需要在所有集群节点上打开,并在使用 Booth ticket 管理器建立多站点集群时引导节点从这些相同节点进行连接。