在混合云或跨机房场景中,Keepalived需要同时处理内外网VIP的故障转移。传统主备模式存在资源浪费,双活双主模式通过非同步漂移机制可实现: 1. 内网VIP与外网VIP独立漂移 2. 故障域隔离处理 3. 资源利用率最大化
vrrp_instance VI_EXT {
virtual_router_id 51
priority 100 # 外网主节点
advert_int 1
interface eth0
virtual_ipaddress {
203.0.113.1/24 dev eth0 label eth0:ext
}
track_script {
chk_nginx_ext
}
}
vrrp_instance VI_INT {
virtual_router_id 52
priority 90 # 内网备节点
advert_int 1
interface eth1
virtual_ipaddress {
192.168.1.1/24 dev eth1 label eth1:int
}
track_script {
chk_nginx_int
}
}
bash
#!/bin/bash
curl -I http://203.0.113.1:80 || exit 1
bash
#!/bin/bash
ping -c 3 192.168.1.100 || exit 1
故障类型 | 外网VIP行为 | 内网VIP行为 |
---|---|---|
外网卡故障 | 立即漂移 | 保持原状 |
内网服务异常 | 不受影响 | 触发转移 |
整机宕机 | 双VIP漂移 | 双VIP漂移 |
在AWS环境实测表明: - 故障检测时间:外网平均1.2s,内网0.8s - VIP切换耗时:最大不超过3s - 资源消耗增加:<5% CPU额外开销