两节点 Pacemaker 存活检测与接管流程

Corosync 判失联 → 算票 → 先围栏(STONITH) → 再接管资源

两节点 Pacemaker 存活检测与接管流程 Corosync 判失联 → 算票 → 先围栏(STONITH) → 再接管资源 正常/接管 判定 危险/失败 是/继续 否/异常 集群正常运行:A、B 互发心跳 Corosync + knet 监听令牌 每秒心跳 / 多链路冗余 B 持续回应 心跳令牌? 是(回应) 保持监听,无动作 否(没回应) Corosync 重传令牌 默认约 10 次(≈10s) 重传耗尽 仍无回应? 否(又回应了) 虚惊一场,回到监听 Corosync 判定:B 退出成员 membership change votequorum 重算法定票 expected_votes=2 / two_node=1 能否唯一确认 只有 A 有法定票? 脑裂风险 / 围栏竞速 两边都自认有票 双节点强烈建议 加 qdevice 否(互失联) 是(qdevice 决胜) Pacemaker 命令:先 STONITH pacemaker-fenced → fence agent 围栏成功? B 已物理断电/重启 围栏失败 集群停摆/告警 需人工介入 A 启动 B 的资源 VIP → 文件系统 → 应用 业务恢复:故障切换完成 后续:B 修复、心跳恢复 → 重新加入集群 资源可保持原位,或按策略迁回