在现代IT基础设施中,Debian服务高可用是保障业务连续性的关键。本文将带你从零开始,使用Keepalived在两台Debian服务器上搭建双机热备Debian环境,即使一台服务器宕机,服务也能无缝切换,确保用户无感知。
一、准备工作
你需要准备以下资源:
两台运行 Debian 11(Bullseye)或更新版本的服务器(分别称为主节点和备节点) 两台服务器处于同一局域网,能互相通信 一个未被使用的虚拟IP地址(VIP),例如:192.168.1.100 root 权限或具有 sudo 权限的用户二、安装 Keepalived
在两台服务器上执行以下命令安装 Keepalived:
编辑主节点的 Keepalived 配置文件: 填入以下内容(请根据你的实际网络环境修改 IP 地址): 在备节点上创建相同的配置文件,但需做如下调整: 注意: 在两台服务器上执行: 1. 在主节点上执行 2. 关闭主节点的 Keepalived 服务: 3. 立即在备节点上执行 这说明你的 Debian高可用配置 已成功部署! 通过本教程,你已经掌握了如何在 Debian 系统上实现服务高可用。无论是 Web 服务器、数据库还是其他关键服务,都可以借助 Keepalived 构建可靠的 双机热备Debian 架构。 如果你正在寻找一份完整的 Keepalived安装教程,希望这篇指南能为你节省大量时间!sudo apt updatesudo apt install -y keepalived 三、配置主节点(Master)
sudo nano /etc/keepalived/keepalived.conf global_defs { router_id debian_master}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/24 }} 四、配置备节点(Backup)
global_defs { router_id debian_backup}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/24 }} priority
值必须低于主节点(主为100,备为90),router_id
应不同,auth_pass
必须一致。五、启动并启用 Keepalived 服务
sudo systemctl enable keepalivedsudo systemctl start keepalived 六、验证高可用是否生效
ip addr show eth0
,应能看到虚拟IP(192.168.1.100)已绑定。sudo systemctl stop keepalived
ip addr show eth0
,应看到虚拟IP已自动漂移到备节点。七、常见问题与优化建议
防火墙问题:确保两台服务器之间允许 VRRP 协议通信(协议号 112)。 日志查看:使用 journalctl -u keepalived -f
实时查看日志。 健康检查:可结合脚本对 Web 服务、数据库等进行健康检查,实现更智能的故障切换。
