当前位置:首页 > Ubuntu > 正文

Ubuntu Pacemaker集群管理(手把手教你搭建高可用Linux HA集群)

在现代 IT 基础设施中,服务的高可用性(High Availability, HA)至关重要。通过使用 Ubuntu Pacemaker集群管理 技术,我们可以确保关键服务即使在单节点故障时也能持续运行。本文将带你从零开始,一步步搭建一个基于 Ubuntu 的 Pacemaker + Corosync 高可用集群,适合初学者学习和实践。

什么是 Pacemaker 和 Corosync?

Pacemaker 是一个开源的高可用集群资源管理器,负责监控和管理集群中的服务(如 Web 服务器、数据库等)。Corosync 则是一个集群通信层,用于节点之间的消息传递和成员关系管理。两者结合,构成了 Linux 下最流行的 HA 解决方案之一。

Ubuntu Pacemaker集群管理(手把手教你搭建高可用Linux HA集群) Pacemaker集群管理 高可用集群配置 Pacemaker Corosync教程 Linux HA集群搭建 第1张

准备工作

你需要至少两台运行 Ubuntu 20.04 或 22.04 的服务器(虚拟机也可),并满足以下条件:

  • 每台服务器有静态 IP 地址
  • 主机名已正确设置且可互相解析(可通过 /etc/hosts 实现)
  • 防火墙允许 Corosync(端口 5403-5405 UDP)和 Pacemaker(端口 2224 TCP)通信
  • root 权限或 sudo 权限

第1步:安装 Pacemaker 和 Corosync

在所有节点上执行以下命令:

sudo apt updatesudo apt install -y pacemaker corosync resource-agents

第2步:配置 Corosync

首先生成 Corosync 配置模板:

sudo corosync-keygen -l

然后编辑主配置文件 /etc/corosync/corosync.conf(在第一个节点上操作即可):

totem {    version: 2    cluster_name: my-ha-cluster    transport: udpu}nodelist {    node {        ring0_addr: node1   # 替换为你的第一个节点主机名或IP        nodeid: 1    }    node {        ring0_addr: node2   # 替换为你的第二个节点主机名或IP        nodeid: 2    }}quorum {    provider: corosync_votequorum    expected_votes: 2    two_node: 1}logging {    to_logfile: yes    logfile: /var/log/corosync/corosync.log    to_syslog: yes}

将此配置文件复制到其他所有节点:

scp /etc/corosync/corosync.conf user@node2:/etc/corosync/

第3步:启动集群服务

在所有节点上启动 Corosync 和 Pacemaker:

sudo systemctl start corosyncsudo systemctl start pacemakersudo systemctl enable corosync pacemaker

第4步:验证集群状态

使用 crm_mon 命令查看集群状态(推荐加 -1 参数只显示一次):

sudo crm_mon -1

如果看到两个在线节点,说明你的 Linux HA集群搭建 已成功!

第5步:添加一个高可用资源(例如虚拟IP)

我们以虚拟 IP(VIP)为例,创建一个浮动 IP 资源:

sudo pcs resource create virtual_ip ocf:heartbeat:IPaddr2 \    ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s

现在,这个 IP 会在两个节点之间自动漂移。当主节点宕机,备用节点会立即接管。

常见问题与调试

- 如果节点无法加入集群,请检查防火墙设置
- 使用 journalctl -u corosync 查看 Corosync 日志
- 确保所有节点时间同步(建议配置 NTP)

总结

通过本教程,你已经掌握了 Ubuntu Pacemaker集群管理 的基本流程,完成了 高可用集群配置 的核心步骤。无论是部署 Web 服务、数据库还是其他关键应用,这套 Pacemaker Corosync教程 提供的方法都能为你构建稳定可靠的基础设施打下坚实基础。继续深入学习资源代理(Resource Agents)、约束(Constraints)和 STONITH 等高级功能,你将能构建更复杂的生产级 HA 系统。