Linux云服务器配置Keepalived完全指南:实现高可用服务集群
一、Keepalived技术解析与应用场景
Keepalived是Linux系统下实现服务高可用性的核心组件,通过VRRP协议实现IP地址漂移。在云服务器环境中部署时,需特别注意云平台对ARP协议的限制,AWS、阿里云等主流云平台通常需要特殊配置才能支持。
核心工作原理:
- VRRP协议:默认使用224.0.0.18组播地址通信
- 健康检查:支持TCP_CHECK/HTTP_GET等多种检测方式
- 状态切换:MASTER/BACKUP状态自动转换
二、云环境下的特殊配置要点
不同于物理服务器,云平台需要额外注意以下配置:
必须修改的配置参数:
# /etc/keepalived/keepalived.conf vrrp_instance VI_1 { unicast_src_ip 192.168.1.100 # 本机内网IP unicast_peer { 192.168.1.101 # 对端服务器IP } garp_master_refresh 30 # 云平台需设置ARP刷新 }
三、分步配置实战(以Ubuntu 20.04为例)
步骤1:基础环境准备
- 在两台云服务器上执行:
sudo apt update && sudo apt install keepalived -y
- 确认防火墙放行VRRP协议:
sudo ufw allow from 192.168.1.0/24 to any proto vrrp
步骤2:主服务器配置
# /etc/keepalived/keepalived.conf global_defs { router_id LVS_MASTER } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.200/24 dev eth0 label eth0:1 } }
步骤3:备服务器配置
只需修改:state BACKUP
和priority 90
四、高级调优技巧
健康检查增强配置
vrrp_script chk_nginx { script "/usr/bin/killall -0 nginx" interval 2 weight -20 fall 3 rise 2 }
该配置会在Nginx进程异常时自动降低优先级
五、常见问题排查
问题现象 | 解决方法 |
---|---|
VRRP报文无法接收 | 检查云安全组是否放行IP协议112 |
VIP无法绑定 | 关闭云平台的源/目的检查 |
脑裂现象 | 配置多播改单播,增加auth_pass复杂度 |
通过本文的详细配置指南,您可以在云服务器上成功部署Keepalived实现服务高可用。建议在正式环境部署前,先在同区域的测试服务器上进行完整故障演练,包括:主节点宕机测试、网络隔离测试、服务进程异常测试等场景,确保故障转移机制符合预期。