Linux集群核心是分工协作与统一调度,需明确角色划分、通信机制和故障应对;按目标选HA、负载均衡、HPC或容器化架构;确保SSH免密、chrony时间同步、防火墙策略;采用奇数节点与仲裁机制保障一致性;通过监控告警与健康检查实现故障自愈。

Linux集群不是简单把几台机器连起来,核心在于“分工协作+统一调度”。只要理清角色划分、通信机制和故障应对这三点,搭建过程就清晰可控。
明确集群类型和节点角色
不同目标对应不同架构,别一上来就装软件:
- 高可用集群(HA):主备或双活,重点在服务不中断。比如用Pacemaker+Corosync管理VIP漂移和资源启停
- 负载均衡集群:前端分发请求,后端多实例并行处理。Nginx+Keepalived或HAProxy是常见组合
- 高性能计算集群(HPC):任务拆分+并行执行,依赖MPI通信和共享存储(如Lustre/NFS)
- 容器化集群(如K8s):本质是自动化编排平台,节点分master(调度)和worker(运行),网络和存储需额外适配
打通节点间可信通信与时间同步
集群稳定运行的前提是“彼此认得清、动作踩得准”:
- 所有节点配置SSH免密登录(基于密钥),确保脚本和工具能跨机执行
- 统一使用chrony而非ntpd做时间同步,主节点作为时间源,其余节点指向它;偏差超过100ms可能引发Pacemaker脑裂或日志错乱
- 关闭防火墙或精确放行必要端口(如Corosync用5404-5405 UDP,etcd用2379-2380 TCP)
选择合适的一致性协议与仲裁机制
多节点协同最怕“各说各话”,必须有共识规则:
- 两节点集群务必引入仲裁设备(QDevice)或第三方仲裁节点,避免网络分区时出现双主
- Corosync默认用quorum投票,节点数建议为奇数(3/5台),便于多数派决策
- etcd集群要求至少3节点,写入需过半节点确认,单点故障不影响读写
监控与故障自愈不能等上线后再补
集群越自动,越要提前埋好观察点和响应逻辑:
- 用Prometheus+Node Exporter采集各节点CPU、内存、磁盘、网络指标,配合Alertmanager设置阈值告警
- 为关键服务配置健康检查(HTTP探针、端口连通性、自定义脚本),失败自动触发重启或迁移
- 定期模拟网络断开、节点宕机,验证VIP漂移、服务恢复时间是否符合SLA预期
基本上就这些。集群不是堆硬件,而是设计协作逻辑。先想清楚你要解决什么问题,再选组件、配通信、设仲裁、加监控——每一步都服务于“可靠协同”这个目标。










