Linux集群需实现统一管理、资源共享、故障转移和负载分担;推荐新手从Keepalived+Nginx负载均衡集群起步,通过VIP漂移与健康检查实现高可用分流,四步完成环境准备、部署、验证与运维。

Linux集群不是简单把几台机器连起来就行,核心是让多台机器像一台机器那样协同工作——关键在统一管理、资源共享、故障转移和负载分担。下面从最实用的场景出发,讲清楚怎么一步步搭一个真正能用的高可用+负载均衡集群。
一、明确目标类型再选方案
别一上来就装软件。先想清楚你要解决什么问题:
- 高可用(HA)集群:比如Web服务不能宕机,主服务器挂了,备机5秒内自动顶上。推荐用Pacemaker + Corosync
- 负载均衡集群:流量分发到多台Web服务器,提升并发能力。常用Keepalived + Nginx/LVS
- 计算集群(HPC):跑科学计算任务,侧重MPI通信和作业调度。典型组合是Slurm + OpenMPI + NFS共享存储
新手建议从Keepalived+Nginx负载均衡起步——环境要求低、配置直观、出错容易排查。
二、基础环境准备(4台虚拟机为例)
以CentOS 7/8或Rocky Linux 8为基准,准备:
- 1台调度节点(安装Keepalived,作为VIP入口)
- 2台Web节点(部署Nginx,提供真实服务)
- 1台客户端(用于测试访问)
必须统一操作:
- 关闭防火墙:
systemctl stop firewalld && systemctl disable firewalld - 禁用SELinux:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config,重启生效 - 所有节点设置静态IP,并在
/etc/hosts中互相解析主机名(如node1、node2、lb1) - 配置SSH免密登录(调度节点→Web节点),方便后续批量管理
三、搭建Keepalived+Nginx负载均衡集群
这是最常考也最实用的入门集群,重点在“VIP漂移”和“健康检查”:
- 在两台Web节点上安装并启动Nginx,首页放不同标识(如“Node1 OK”、“Node2 OK”)便于验证分流
- 在调度节点安装Keepalived:
yum install -y keepalived - 编辑
/etc/keepalived/keepalived.conf:- 定义VIP(如192.168.10.100),绑定到eth0
- 设为MASTER模式,优先级高于备机(若部署双调度节点)
- 添加vrrp_script检测Nginx是否存活:
killall -0 nginx || exit 1 - 在vrrp_instance里调用该脚本,并设置权重变化规则
- 启动Keepalived:
systemctl start keepalived && systemctl enable keepalived - 用
ip a确认VIP已出现在调度节点网卡上;用客户端curl VIP地址,应轮询返回两个不同页面
四、验证与日常运维要点
搭完不验证等于没搭。重点关注这三点:
-
模拟故障:手动
systemctl stop nginx停掉一台Web节点,观察Keepalived日志(/var/log/messages)是否触发下线,curl VIP是否只返回另一台内容 -
检查VIP漂移:在调度节点执行
ip a | grep 192.168.10.100,再停掉Keepalived,看VIP是否消失;换到备用调度节点启动Keepalived,是否自动接管 - 配置同步习惯:所有节点的Nginx配置、Keepalived配置都用rsync或Ansible统一推送,避免手工改漏
进阶可加:用Prometheus+Grafana监控各节点CPU/连接数/VIP状态;用Ansible一键部署整套集群。
基本上就这些。集群不是堆功能,而是围绕业务痛点做减法——先跑通一个最小可用闭环,再逐步加固、监控、自动化。动手试三次,比看十篇文档管用。










