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

Debian高可用故障转移实战指南(手把手教你搭建Keepalived实现HA集群)

在现代IT基础设施中,Debian高可用(High Availability, HA)是确保服务持续在线的关键技术。当一台服务器出现故障时,系统能自动将流量切换到备用服务器,这就是故障转移(Failover)。本文将使用开源工具 Keepalived,在两台 Debian 服务器上搭建一个简单但高效的 HA 集群,即使你是 Linux 小白,也能轻松上手。

什么是 Keepalived?

Keepalived 是一个基于 VRRP(Virtual Router Redundancy Protocol)协议的轻量级高可用解决方案,常用于实现负载均衡器或 Web 服务器的故障转移。它通过虚拟 IP(VIP)在主备节点之间切换,对外提供不间断的服务。

Debian高可用故障转移实战指南(手把手教你搭建Keepalived实现HA集群) Debian高可用 故障转移 Keepalived配置 HA集群 第1张

准备工作

你需要以下资源:

  • 两台运行 Debian 11 或 12 的服务器(例如:server1 和 server2)
  • 两台服务器处于同一局域网内
  • 一个未被使用的虚拟 IP 地址(例如:192.168.1.100)
  • root 权限或 sudo 权限

步骤一:安装 Keepalived

在两台服务器上分别执行以下命令安装 Keepalived:

sudo apt updatesudo apt install -y keepalived

步骤二:配置主服务器(Master)

编辑主服务器的 Keepalived 配置文件:

sudo nano /etc/keepalived/keepalived.conf

填入以下内容(请根据你的网络环境修改 interface 和 virtual_ipaddress):

vrrp_instance VI_1 {    state MASTER    interface eth0    virtual_router_id 51    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass yourpassword    }    virtual_ipaddress {        192.168.1.100    }}

步骤三:配置备服务器(Backup)

在备服务器上创建相同的配置文件,但注意修改 state 和 priority:

vrrp_instance VI_1 {    state BACKUP    interface eth0    virtual_router_id 51    priority 90    advert_int 1    authentication {        auth_type PASS        auth_pass yourpassword    }    virtual_ipaddress {        192.168.1.100    }}

步骤四:启动并启用 Keepalived 服务

在两台服务器上执行:

sudo systemctl start keepalivedsudo systemctl enable keepalived

步骤五:验证高可用故障转移

1. 在主服务器上执行 ip addr show,你应该能看到虚拟 IP 192.168.1.100 已绑定。

2. 停止主服务器上的 Keepalived:sudo systemctl stop keepalived

3. 立即在备服务器上执行 ip addr show,你会看到虚拟 IP 自动漂移到了备机——这就是 故障转移

4. 重启主服务器的 Keepalived,虚拟 IP 又会自动切回(因为主优先级更高)。

常见问题与优化建议

  • 确保防火墙允许 VRRP 协议(协议号 112)通信
  • auth_pass 密码必须在主备节点保持一致
  • 可结合 Nginx、Apache 或数据库服务实现更完整的 HA集群
  • 生产环境中建议增加健康检查脚本(track_script)提升可靠性

结语

通过本文,你已经掌握了在 Debian 系统上使用 Keepalived 实现 Debian高可用故障转移 的基本方法。这套方案成本低、部署快,非常适合中小企业或个人项目。掌握 Keepalived配置HA集群 架构,将大大提升你运维系统的稳定性与专业度。