在现代 IT 基础设施中,Ubuntu高可用配置是确保关键服务持续运行的核心技术之一。无论你是运维新手还是开发人员,掌握如何在 Ubuntu 系统上搭建高可用(High Availability, HA)环境都至关重要。本教程将使用
Keepalived工具,通过主备服务器自动切换机制,实现服务的高可用性。
什么是 Keepalived?
Keepalived是一个基于 VRRP(Virtual Router Redundancy Protocol)协议的开源软件,用于实现 Linux 系统上的高可用性和负载均衡。它可以在主服务器宕机时,自动将虚拟 IP(VIP)切换到备用服务器,从而保证服务不中断。
准备工作
你需要准备以下环境:
两台运行 Ubuntu 20.04 或更高版本的服务器(一台主,一台备) 两台服务器能互相通信(建议在同一内网) 一个未被使用的虚拟 IP 地址(例如:192.168.1.100) root 权限或具有 sudo 权限的用户第一步:在两台服务器上安装 Keepalived
在主服务器和备用服务器上分别执行以下命令:
sudo apt updatesudo apt install keepalived -y
第二步:配置主服务器(Master)
编辑 Keepalived 配置文件:
sudo nano /etc/keepalived/keepalived.conf
输入以下内容(请根据你的实际网络环境修改):
global_defs { router_id ubuntu_master}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 }}
说明:
state MASTER表示这是主服务器
interface eth0请替换为你服务器的实际网卡名(可通过
ip a查看)
priority 100优先级高于备用服务器(备用通常设为 90)
virtual_ipaddress是你要绑定的虚拟 IP
第三步:配置备用服务器(Backup)
同样编辑配置文件:
sudo nano /etc/keepalived/keepalived.conf
输入以下内容:
global_defs { router_id ubuntu_backup}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 }}
第四步:启动并启用 Keepalived 服务
在两台服务器上分别执行:
sudo systemctl start keepalivedsudo systemctl enable keepalived
第五步:验证高可用是否生效
1. 在主服务器上查看虚拟 IP 是否已绑定:
ip addr show eth0
你应该能看到
192.168.1.100出现在输出中。
2. 模拟主服务器宕机(关闭 Keepalived 服务):
sudo systemctl stop keepalived
3. 在备用服务器上再次执行
ip addr show eth0,你会发现虚拟 IP 已经自动漂移到备用服务器上!
这就是 Ubuntu服务高可用 的核心机制——通过 主备服务器切换 实现零停机。
常见问题排查
防火墙是否放行了 VRRP 协议(协议号 112)?可临时关闭防火墙测试:sudo ufw disable两台服务器的
virtual_router_id和
auth_pass必须一致 确保网卡名称正确(Ubuntu 22.04 可能是
ens33而非
eth0)
结语
通过本教程,你已经成功完成了 Keepalived安装教程 的全部步骤,并实现了 Ubuntu 系统下的高可用架构。无论是 Web 服务、数据库还是自定义应用,只要绑定到虚拟 IP 上,就能享受自动故障转移带来的稳定性保障。
掌握 Ubuntu高可用配置 不仅能提升系统可靠性,也是迈向专业运维的重要一步。快去试试吧!
