Keepalived-出现双ip问题

Keepalived-出现双ip问题

问题

可能是上联交换机禁用了arp的广播限制,造成keepalive无法通过广播通信,两台服务器抢占vip,出现同时都有vip的情况

解决过程

1
2
3
4
5
6
7
8
9
## 主机,发现向224.0.0.18发送消息
tcpdump -i eth0 vrrp -n

## 备机,也在向224.0.0.18发送消息,正常情况下,备节点如果收到主节点的心跳消息时,优先级高于自己,就不会主动对外发送消息
tcpdump -i eth0 vrrp -n

## 原因:上联交换机禁用了arp的广播限制,造成keepalive无法通过广播通信,两台服务器抢占vip,出现同时都有vip的情况

## 解决办法:多播改为单播,重启keepalived

主机配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
! Configuration File for keepalived

global_defs {
router_id NGINX
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 17
#多播 mcast_src_ip 10.77.114.150
unicast_src_ip 10.77.114.150
unicast_peer {
10.77.114.151 #指向对方主机IP 如果有多个keepalived,再下面加其它节点的IP
}
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass hykj
}
virtual_ipaddress {
10.77.114.130
}
}

备机配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
! Configuration File for keepalived

global_defs {
router_id NGINX
}

vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 17
#多播 mcast_src_ip 10.77.114.151
unicast_src_ip 10.77.114.151
unicast_peer {
10.77.114.150
}
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass hykj
}
virtual_ipaddress {
10.77.114.130
}
}

keepalived 安装

1
yum install -y keepalived