ha-cluster 是什么
694 号 TCP/UDP 的 IANA 登记名是 ha-cluster,登记人为 Alan Robertson,对应 Linux-HA(Heartbeat)项目使用的集群心跳端口。心跳通道的作用是让各节点定期互相确认存活状态:一旦某个节点停止回应,集群就按策略触发资源接管。现代高可用部署多改用 Corosync(常见组播端口 5405)配合 Pacemaker,但老系统上仍能见到 Heartbeat 的痕迹。
基本信息
| 服务名 | ha-cluster |
|---|---|
| 端口 | 694(TCP 与 UDP 同名登记) |
| 项目 | Linux-HA(Heartbeat) |
| 用途 | 集群节点心跳与状态同步 |
| 现代替代 | Corosync + Pacemaker |
典型使用场景
- 高可用排障:节点频繁发生资源切换时确认心跳链路是否稳定
- 集群巡检:核对节点之间心跳互通情况与日志中的超时记录
- 老系统评估:识别仍在使用 Heartbeat 的集群及其升级路径
- 网络变更评审:心跳链路往往跨交换设备,变更前需评估影响
- 安全核查:确认心跳只在集群内部网段传播
排查命令
排查命令
ss -lntup 'sport = :694' # 本机 694 端口监听情况
ss -lntup | grep -E ':(694|5405) ' # 与 Corosync 常见端口一起看
sudo lsof -i :694 # 反查进程
crm_mon -1 2>/dev/null | head -10 # 集群资源与节点状态(Pacemaker)
journalctl -u corosync -n 30 2>/dev/null # 消息层日志中的成员变化记录高可用组件对照
| 组件 | 职责 | 常见端口 |
|---|---|---|
| Heartbeat(旧) | 心跳与消息传递 | 694 等 |
| Corosync | 集群消息与成员管理 | 5405 等 UDP |
| Pacemaker | 资源管理与切换决策 | 随消息层而定 |
| 仲裁设备 | 避免脑裂时提供决胜票 | 依实现而定 |
心跳链路的稳定性直接决定集群是否会误判:网络抖动导致的心跳丢失会让节点被判定离线,进而触发不必要的资源切换。排障时把心跳日志与交换机端口状态、丢包统计放在一起看,结论通常很直接。
脑裂是高可用集群最需要防范的情形:两侧都认为对方失效并同时接管资源。部署时必须保证集群有奇数个投票节点或配置仲裁设备,并把心跳网络与业务网络分开,降低同时中断的概率。
从 Heartbeat 迁移到 Corosync 时,心跳端口与配置方式都会变化:网络侧的放行规则、节点间的加密配置需要同步调整。变更前把新旧配置逐项对照,可以避免切换后节点彼此不可见。