在现代 IT 基础设施中,系统的高可用性(High Availability, HA)至关重要。本文将手把手教你如何在 Debian 系统上搭建一套简单但高效的高可用架构,使用 Keepalived 实现 VIP(虚拟 IP)漂移,配合 HAProxy 实现负载均衡,即使某台服务器宕机,服务也能无缝切换,保障业务连续性。
一、什么是高可用架构?
高可用架构是指通过冗余设计,使系统在部分组件发生故障时仍能继续提供服务。在 Debian 环境中,我们通常使用 Keepalived 来管理虚拟 IP 的自动切换,再结合 HAProxy 将流量分发到多个后端服务器,从而实现 Debian高可用架构。
二、环境准备
你需要准备以下资源:
两台 Debian 11(或更新版本)服务器(例如:server1 和 server2) 一个可被两台服务器共享的虚拟 IP(VIP),例如:192.168.1.100 网络互通,且防火墙允许 VRRP 协议(协议号 112)通信三、安装 Keepalived 和 HAProxy
在两台 Debian 服务器上执行以下命令安装所需软件:
sudo apt updatesudo apt install -y keepalived haproxy
四、配置 Keepalived 实现 VIP 漂移
编辑 Keepalived 配置文件
/etc/keepalived/keepalived.conf。
Server1(主节点)配置:
global_defs { router_id LVS_DEVEL}vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 192.168.1.100/24 }} Server2(备节点)配置:
global_defs { router_id LVS_DEVEL}vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 192.168.1.100/24 }} 注意:请根据你的实际网卡名称(如 ens33、eth0 等)修改
interface字段。
启动并启用 Keepalived:
sudo systemctl enable --now keepalived
五、配置 HAProxy 负载均衡
编辑 HAProxy 配置文件
/etc/haproxy/haproxy.cfg,添加如下内容(两台服务器配置相同):
global log /dev/log local0 chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemondefaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000frontend http_front bind 192.168.1.100:80 default_backend http_backbackend http_back balance roundrobin server web1 192.168.1.101:80 check server web2 192.168.1.102:80 check
其中
web1和
web2是你真实的后端 Web 服务器 IP。确保 HAProxy 监听的是 VIP(192.168.1.100)。
启动 HAProxy:
sudo systemctl enable --now haproxy
六、验证高可用效果
1. 在浏览器中访问
http://192.168.1.100,应能看到后端 Web 页面。
2. 手动关闭 Server1 上的 Keepalived:
sudo systemctl stop keepalived
3. 观察 VIP 是否自动漂移到 Server2(使用
ip addr show查看)。
4. 刷新网页,服务应无中断——这正是 Debian集群部署 的核心价值。
七、常见问题与优化建议
防火墙问题:确保两台服务器之间允许 VRRP(协议 112)通信。 优先级设置:MASTER 节点 priority 必须高于 BACKUP。 健康检查:可在 Keepalived 中加入脚本检查 HAProxy 状态,实现更智能的切换。 日志查看:使用journalctl -u keepalived -f实时监控状态。
通过以上步骤,你已经成功搭建了一套基于 Keepalived配置教程 和 HAProxy负载均衡 的 Debian 高可用系统。这套架构适用于 Web 服务、API 网关、数据库代理等多种场景,是中小企业实现业务连续性的理想选择。
> 提示:生产环境中建议增加 SSL/TLS 支持、配置更精细的健康检查,并定期进行故障演练以验证高可用性。
