4. 安装与配置RHEL HA Add-On
RHEL HA Add-On 并不是 RHEL 基础安装介质中的默认组件,它是一组以“高可用附加仓库”形式提供的软件包集合。要在两台或更多节点上搭建 Pacemaker/Corosync 集群,第一步不是急着敲 pcs cluster setup,而是把“仓库—软件包—服务—认证—互信”这条基础链路打通。本章围绕这条链路展开,重点说明订阅仓库如何启用、核心软件包如何安装、pcsd 服务如何启动、hacluster 用户如何认证,以及节点之间如何建立互信。
一、启用高可用订阅仓库
在 RHEL 中,HA Add-On 的软件包位于独立的仓库中,通常名为 rhel-9-for-x86_64-highavailability-rpms(RHEL 8 为 rhel-8-for-x86_64-highavailability-rpms)。如果系统使用 Red Hat Subscription Manager 注册,需要先确认订阅已附加,再启用该仓库。典型操作如下:
# 查看当前已附加的订阅
subscription-manager list --consumed
# 启用高可用仓库
subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpms
# 确认仓库已启用
subscription-manager repos --list-enabled | grep -i highavailability
如果系统使用本地 ISO 或内部镜像源,则需要在 /etc/yum.repos.d/ 下配置对应的 baseurl 与 gpgcheck。无论哪种方式,判断仓库是否可用的标准是:dnf repolist 中能看到 highavailability 仓库,并且 dnf makecache 不报错。仓库不可用时,后续安装会直接失败,因此这一步必须先行确认。
二、安装 pacemaker、corosync、pcs 与 fence-agents
HA Add-On 的核心软件包分工明确:pacemaker 是集群资源管理器,负责决策与调度;corosync 是集群消息层,负责节点间心跳与成员关系;pcs 是命令行与 Web 管理工具;fence-agents 提供各类隔离设备代理。安装命令如下:
dnf install -y pacemaker corosync pcs fence-agents-all
其中 fence-agents-all 会安装全部隔离代理,便于后续根据实际硬件选择。安装完成后,可用 rpm -q pacemaker corosync pcs fence-agents-all 核对版本。需要特别注意的是,所有集群节点的软件包版本应保持一致,否则可能出现协议或功能不兼容。若节点数量较多,建议先在模板机或一台节点上验证安装,再统一分发。
三、启动 pcsd 服务并设置开机自启
pcsd 是 pcs 的守护进程,它监听 2224 端口,负责接收 pcs 命令、执行集群操作,并对外提供 Web 界面。安装 pcs 后必须启动并启用它:
systemctl enable --now pcsd
systemctl status pcsd
状态应为 active (running)。如果启用了 firewalld,需要放行 2224 端口,否则节点间无法通过 pcsd 通信:
firewall-cmd --permanent --add-service=high-availability
firewall-cmd --reload
这里放行的是 high-availability 服务,它包含 pcsd 的 2224/tcp、Corosync 的 5405/udp 以及相关端口。若使用自定义端口或额外资源,还需单独放行。
四、设置 hacluster 用户认证
pcs 通过 hacluster 系统用户进行节点间认证。安装 pcs 时会自动创建该用户,但默认没有密码,必须为每个节点设置统一密码:
passwd hacluster
建议在所有节点上设置相同密码,这样后续 pcs host auth 时只需一次输入即可完成多节点认证。密码应满足系统复杂度要求,并妥善保管。认证的本质是:pcs 使用 hacluster 凭据登录远端节点的 pcsd,从而获得管理权限。若密码不一致,认证会失败并提示 Unable to authenticate。
五、配置集群节点互信
节点互信包含两个层面:一是 pcsd 层面的认证,二是系统层面的 SSH 互信。pcsd 认证通过 pcs host auth 完成:
pcs host auth node1 node2 node3 -u hacluster -p 'YourPassword'
执行成功后会显示各节点 Authorized。这一步建立了 pcs 管理通道的信任关系。系统层面的 SSH 互信则用于运维便利,例如分发配置文件、收集日志。可使用 ssh-keygen 与 ssh-copy-id 建立:
ssh-keygen -t rsa -b 4096
ssh-copy-id node2
ssh-copy-id node3
需要强调的是,SSH 互信不是 Pacemaker 集群运行的强制前提,Pacemaker 依赖的是 Corosync 消息层与 pcsd 认证。但 SSH 互信能显著简化日常运维,因此生产环境中通常一并配置。
六、验证与常见问题
完成上述步骤后,可用以下命令做一次整体验证:
pcs host auth node1 node2 node3 -u hacluster -p 'YourPassword'
pcs cluster setup --name mycluster node1 node2 node3
pcs cluster start --all
pcs status
若 pcs host auth 报认证失败,优先检查三件事:hacluster 密码是否一致、pcsd 是否在所有节点运行、2224 端口是否被防火墙拦截。若 pcs cluster setup 报 Corosync 通信失败,则检查 5405/udp 是否放行、节点主机名解析是否正确。主机名解析建议通过 /etc/hosts 或 DNS 保证正向与反向均可解析,否则 Corosync 可能无法建立成员关系。
至此,HA Add-On 的安装与基础配置链路已经打通:仓库可用、软件包齐全、pcsd 运行、hacluster 认证通过、节点互信建立。这是后续执行 pcs cluster setup 并真正创建集群的前提。下一阶段将进入集群资源与约束的配置。