在现代 IT 基础设施中,系统的高可用性(High Availability, HA)至关重要。一旦某台服务器宕机,服务必须能自动切换到备用节点,以保障业务连续性。本文将带你从零开始,在 RockyLinux 系统上搭建一个简单的 故障转移集群,即使你是 Linux 新手,也能轻松上手。
什么是故障转移集群?
故障转移集群(Failover Cluster)是由两台或更多服务器组成的高可用系统。当主服务器出现故障时,备用服务器会自动接管其工作,用户几乎不会察觉服务中断。这种机制广泛应用于 Web 服务、数据库、文件共享等关键业务场景。

准备工作
你需要准备以下环境:
两台 RockyLinux 9 服务器(例如:node1 和 node2) 静态 IP 地址(如 node1: 192.168.1.10,node2: 192.168.1.11) root 权限或具有 sudo 权限的用户 网络互通,且能访问互联网本教程中使用的 SEO关键词包括:RockyLinux集群、故障转移配置、高可用集群、HA集群搭建,这些关键词将贯穿全文,帮助你理解核心概念。
步骤一:安装必要软件包
在两台服务器上执行以下命令,安装 Pacemaker 和 Corosync——这是构建 HA 集群的核心组件:
# 启用 HighAvailability 仓库sudo dnf config-manager --set-enabled ha# 安装集群软件sudo dnf install -y pacemaker pcs corosync fence-agents-all
步骤二:配置防火墙和主机名解析
确保两台机器能互相通过主机名通信。编辑
/etc/hosts文件:
192.168.1.10 node1192.168.1.11 node2
同时开放防火墙端口:
sudo firewall-cmd --permanent --add-service=high-availabilitysudo firewall-cmd --reload
步骤三:启动并配置 pcs 服务
Pcs 是管理 Pacemaker 集群的命令行工具。首先为
hacluster用户设置密码(两台机器密码需一致):
sudo passwd hacluster
然后启动 pcsd 服务:
sudo systemctl enable --now pcsd
步骤四:创建集群
在任意一台节点(如 node1)上执行以下命令,认证并创建集群:
# 认证节点(输入 hacluster 密码)sudo pcs host auth node1 node2 -u hacluster# 创建名为 mycluster 的集群sudo pcs cluster setup mycluster node1 node2# 启动集群sudo pcs cluster start --all# 设置集群自启sudo pcs cluster enable --all
步骤五:禁用 STONITH(仅测试环境)
STONITH(Shoot The Other Node In The Head)是一种防止脑裂的安全机制。在没有物理 fencing 设备的测试环境中,可暂时关闭它:
sudo pcs property set stonith-enabled=false
步骤六:部署一个虚拟 IP 资源(测试故障转移)
我们创建一个虚拟 IP(VIP),作为服务入口。当主节点宕机,VIP 会自动漂移到备用节点:
# 添加 VIP 资源(替换为你自己的 IP)sudo pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s# 查看集群状态sudo pcs status
现在你可以尝试关闭 node1,观察 VIP 是否自动迁移到 node2。使用
ping 192.168.1.100或
ip addr show验证。
总结
通过以上步骤,你已成功在 RockyLinux 上搭建了一个基础的 高可用集群,实现了简单的 故障转移配置。虽然这只是入门级示例,但它为你深入学习 RockyLinux集群 和 HA集群搭建 打下了坚实基础。后续可扩展添加 Web 服务、数据库等真实应用资源。
记住:生产环境务必配置 STONITH 和监控告警,确保集群真正可靠!
