
Pacemaker+Corosync是Linux高可用集群主流方案,通过Corosync负责心跳与成员管理、Pacemaker调度资源启停,实现服务自动迁移;需确保时间同步、主机名解析可靠、防火墙放行端口;资源配置须建模依赖关系并设约束;运维禁用手动启停服务,维护前应standby节点,fence设备必须配置测试。
Pacemaker + C
orosync 是 Linux 高可用集群最主流的组合方案,核心目标是让关键服务(如数据库、Web、文件共享)在节点故障时自动迁移,实现分钟级甚至秒级恢复。它不依赖共享存储,也不强制要求硬件同构,但对网络稳定性、时间同步和配置一致性要求较高。
Corosync 负责底层通信与成员管理:节点间心跳检测、消息广播、投票仲裁。它不直接管服务启停,只告诉 Pacemaker “谁还活着”。
Pacemaker 是资源管理器:根据 Corosync 提供的集群状态,决定服务该在哪台机器上运行、怎么启动、失败后是否重启或迁移。
二者配合,类似“哨兵+指挥官”——Corosync 看守大门,Pacemaker 调度任务。
高可用不是简单把服务丢进集群,而是按依赖关系建模:
比如一个 Web 服务依赖 IP 地址、文件系统挂载、数据库连接——Pacemaker 会按顺序启动:先申请虚拟 IP → 再挂载共享存储(如 NFS 或 GFS2)→ 最后拉起 httpd 进程。
若某步失败(如磁盘不可写),后续服务不会强行启动,避免数据错乱。
这套机制不复杂,但细节决定成败。配置不是一次写完就完事,要反复模拟节点宕机、网络中断、资源失败等场景验证行为是否符合预期。