首页/网络/常用端口速查/5405 Corosync 集群心跳

5405 Corosync 集群心跳

Linux 高可用栈(Pacemaker+Corosync)的默认通信端口:节点间心跳与成员管理,多播/单播模式都要放行。

常用端口速查网络更新于 2026-10-13

5405 是什么

5405 是 Linux 高可用栈(Pacemaker 加 Corosync)的默认通信端口:集群节点之间通过它交换心跳、完成成员管理与仲裁。Corosync 使用 totem 协议通信,早期以多播为主,现代部署更多用单播并显式列出节点地址。心跳链路的质量直接决定集群行为:丢包或防火墙未放行时,集群会反复脑裂,资源在节点之间乱漂移。

基本信息

服务Corosync(默认 5405/UDP)
协议UDP,多播或单播
用途集群心跳、成员管理与仲裁
安全等级仅集群节点之间放行
上层组件Pacemaker 负责资源管理与切换

典型使用场景

  • 双机热备:两台服务器做主备切换
  • 多节点集群:数据库与中间件的高可用部署
  • 网络改造:把多播心跳改为单播以适配网络
  • 故障排查:资源无故漂移时先查心跳链路
  • 防火墙配置:按集群节点清单精确放行
  • 验收测试:模拟节点宕机验证切换是否正常

心跳状态与规则核对

心跳状态与规则核对
corosync-cfgtool -s                    # 查看链路状态与节点 ID
corosync-cmapctl | grep -i totem | head   # 查看 totem 相关参数
firewall-cmd --add-port=5405/udp --permanent && firewall-cmd --reload   # 放行心跳
firewall-cmd --list-ports | grep 5405  # 确认规则已生效

心跳故障的表现

表现可能原因排查动作
资源反复漂移心跳丢包或链路抖动查交换机端口错包与链路质量
节点互相看不到防火墙未放行 5405按节点清单核对策略
仲裁失效整体停摆心跳完全中断确认物理链路与冗余路径
生产集群建议使用独立心跳链路或至少独立 VLAN:与管理网络混跑时,一次管理网抖动就可能触发资源漂移。
多播改单播需要在配置里显式列出所有节点地址,改动后整集群同步重启,否则会出现部分节点通信失败。
资源漂移类故障事后归因非常困难,建议在心跳链路上保留长期流量与错误计数,为复盘留下证据。
防火墙规则要按节点清单精确放行,不要整网段开放 5405;这属于集群内部通信,不应对其它主机开放。

易错点

  • 集群心跳走了带丢包的管理网:脑裂事后归因极难,优先用独立心跳链路
  • 多播在交换机上被限制:节点互相看不见,集群状态反复震荡
  • 防火墙只放行部分节点:单边可达,仲裁结果不可预期
  • 改心跳配置不整集群同步重启:新旧配置并存,故障现象更复杂
  • 只在切换失败时才查心跳:缺少常态基线,难以判断是退化还是突发

数据来源与参考

  • Corosync 官方文档(默认 5405)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌