在现代IT基础设施中,Debian高可用(High Availability, HA)是确保服务持续在线的关键技术。当一台服务器出现故障时,系统能自动将流量切换到备用服务器,这就是故障转移(Failover)。本文将使用开源工具 Keepalived,在两台 Debian 服务器上搭建一个简单但高效的 HA 集群,即使你是 Linux 小白,也能轻松上手。
什么是 Keepalived?
Keepalived 是一个基于 VRRP(Virtual Router Redundancy Protocol)协议的轻量级高可用解决方案,常用于实现负载均衡器或 Web 服务器的故障转移。它通过虚拟 IP(VIP)在主备节点之间切换,对外提供不间断的服务。
准备工作
你需要以下资源:
两台运行 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集群 架构,将大大提升你运维系统的稳定性与专业度。
