在现代IT基础设施中,Ubuntu高可用监控是保障服务连续性的关键。本文将带你从零开始,使用Keepalived在Ubuntu系统上搭建一个简单但高效的高可用(HA)监控环境。即使你是Linux新手,也能轻松完成配置!

什么是高可用性(High Availability)?
高可用性是指系统在出现故障时仍能持续提供服务的能力。通过部署冗余节点和自动故障转移机制,可以极大减少服务中断时间。在Ubuntu服务器环境中,Keepalived 是实现高可用的经典工具。
准备工作
你需要两台运行 Ubuntu 20.04 或更高版本的服务器(虚拟机也可),并确保:
两台服务器网络互通 拥有 sudo 权限 已安装基础工具如 net-tools、iputils-ping第1步:安装 Keepalived
在两台服务器上分别执行以下命令安装 Keepalived:
sudo apt updatesudo apt install -y keepalived
第2步:配置主服务器(Master)
编辑 Keepalived 配置文件(通常位于
/etc/keepalived/keepalived.conf)。如果目录不存在,请先创建:
sudo mkdir -p /etc/keepalivedcd /etc/keepalivedsudo nano keepalived.conf
在主服务器上写入以下配置(假设虚拟IP为 192.168.1.100):
global_defs { router_id ubuntu_master}vrrp_instance VI_1 { state MASTER interface eth0 # 替换为你的网卡名(可通过 ip a 查看) virtual_router_id 51 priority 100 # 主服务器优先级更高 advert_int 1 authentication { auth_type PASS auth_pass yourpassword } virtual_ipaddress { 192.168.1.100/24 # 虚拟IP地址 }}第3步:配置备服务器(Backup)
在第二台服务器上创建类似的配置文件,但需修改几处关键参数:
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 yourpassword # 密码必须一致 } virtual_ipaddress { 192.168.1.100/24 }}第4步:启动并启用 Keepalived 服务
在两台服务器上执行:
sudo systemctl start keepalivedsudo systemctl enable keepalived
第5步:验证高可用性
1. 在主服务器上查看虚拟IP是否已绑定:
ip addr show eth0
你应该能看到
192.168.1.100出现在输出中。
2. 模拟主服务器宕机:在主服务器上停止 Keepalived:
sudo systemctl stop keepalived
3. 稍等几秒后,在备服务器上执行
ip addr show eth0,你会发现虚拟IP已自动漂移到备机!这正是系统高可用性的体现。
常见问题与优化建议
防火墙问题:确保 UDP 协议 112 端口(VRRP)未被阻断。 网卡名称不一致:使用ip a命令确认实际网卡名(可能是 ens33、enp0s3 等)。 日志排查:查看日志
sudo journalctl -u keepalived -f可实时跟踪状态。
结语
通过本教程,你已经成功搭建了一个基于 Ubuntu 的高可用监控系统。这套方案适用于 Web 服务器、数据库、API 网关等多种场景,是提升Linux服务器监控能力的基础。后续你还可以结合 Nginx、HAProxy 或自定义健康检查脚本,进一步增强系统的健壮性。
记住,高可用不是“会不会”,而是“要不要”。从小项目开始实践,逐步构建企业级容灾体系!
