当前位置:首页 > Debian > 正文

构建稳定可靠的Debian高可用架构(从零开始搭建Keepalived + HAProxy高可用集群)

在现代 IT 基础设施中,系统的高可用性(High Availability, HA)至关重要。本文将手把手教你如何在 Debian 系统上搭建一套简单但高效的高可用架构,使用 Keepalived 实现 VIP(虚拟 IP)漂移,配合 HAProxy 实现负载均衡,即使某台服务器宕机,服务也能无缝切换,保障业务连续性。

构建稳定可靠的Debian高可用架构(从零开始搭建Keepalived + HAProxy高可用集群) Debian高可用架构 Keepalived配置教程 HAProxy负载均衡 Debian集群部署 第1张

一、什么是高可用架构?

高可用架构是指通过冗余设计,使系统在部分组件发生故障时仍能继续提供服务。在 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

其中 web1web2 是你真实的后端 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 支持、配置更精细的健康检查,并定期进行故障演练以验证高可用性。