跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Linux高可用集群部署教程_HAProxyKeepalived负载均衡实践

HAProxy+Keepalived高可用集群需协同配置:HAProxy负责七层负载均衡与健康检查,Keepalived通过VRRP管理VIP实现秒级故障切换,二者须避免脑裂、时间同步、真实IP通信及日志统一。用 HAProxy + Keepalived 搭建 Linux 高可用负载均衡集群,核心是让流量智能分发、后端服务故障时自动切换、VIP(虚拟 IP)不中断。这不是简单装两个软件就能跑起来的,关键在配置协同与状态同步。HAProxy 负载均衡配置要点HAProxy 作为七层代理,负责 HTTP/HTTPS 流量分发。需明确后端服务器健康检查机制、负载算法和超时策略。启用http-check或option httpchk,用 HEAD /health 检查后端 Web 服务是否存活推荐使用balance roundrobin或balance leastconn,避免单节点过载设置timeout connect 5s、timeout server 30s,防止慢连接拖垮整个代理前端绑定bind *:80和bind *:443sslcrt /etc/haproxy/certs.pem,支持 HTTPS 卸载Keepalived 实现 VIP 高可用Keepalived 通过 VRRP 协议管理虚拟 IP,主节点持有 VIP,故障时从节点秒级接管。它不转发流量,只保障入口地址永续。主节点priority 100,从节点设为90,确保主优先;都开启preempt实现故障恢复后自动切回用vrrp_script监控 HAProxy 进程:若killall -0 haproxy失败,则降低本机优先级触发切换VIP 绑定网卡要和实际业务网段一致,例如virtual_ipaddress { 192.168.1.100/24 dev eth0 }关闭防火墙或放行 VRRP 组播(协议号 112),否则节点间无法通信双机协同的关键细节HAProxy 和 Keepalived 同机部署时,必须避免“脑裂”和“假死切换”。不能只依赖进程存在,而要结合服务响应能力判断真实状态。CentOS Linux 7.9.2009CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。下载Keepalived 的 check 脚本建议每 2 秒执行一次,失败 3 次再降权,避免瞬时抖动误判两台机器时间必须同步(chrony/NTP),否则 VRRP 报文可能被丢弃HAProxy 配置里后端 server 行不要写 localhost 或 127.0.0.1,要用真实内网 IP,否则从节点接管 VIP 后无法连通后端日志统一收集:HAProxy 记录到 rsyslog 的 local2,Keepalived 输出到 local0,便于排查切换原因验证与日常巡检项上线前必须模拟故障验证流程,运行中也要定期确认核心状态是否符合预期。用ip a查看 VIP 是否仅在一台机器上出现;用curl-I http://VIP确认服务可达手动 kill -9 haproxy 进程,观察 keepalived 日志(/var/log/messages)是否触发 state transition检查ps aux | grep keepalived和systemctl status keepalived,确认主从角色未异常反转HAProxy 的 stats 页面(需配置 listen stats)可实时查看后端状态、当前连接数、错误率等不复杂但容易忽略。配对使用时,HAProxy 是“干活的人”,Keepalived 是“守门的人”,两者配合好了,高可用才算真正落地。

相关文章