后端配置双机热备时:keepalived 无法自动切换主从
来源:9-1 课程总结

掣风悬武
2020-01-09
借用一下老师的图~表示是在此操作步骤出现的问题
通过vip能正常访问http://192.168.3.151:6201/renren-fast/swagger/index.html,表示vip配置正常。
通过n1能正常访问http://192.168.3.100:6101/renren-fast/swagger/index.html,表示n1配置正常。
通过n2能正常访问http://192.168.3.100:6102/renren-fast/swagger/index.html,表示n2配置正常。
n1抢到vip的情况:当我pause n1的时候,vip和n1一起停滞无法访问,n2并没有争抢vip;假如我此时进入n2容器,重启keepalived,则vip能正常访问,说明重启能实现切换。
n2抢到vip的情况:当我pause n2的时候,vip和n2一起停滞无法访问,n1并没有争抢vip;假如我此时进入n1容器,重启keepalived,则vip能正常访问,说明重启能实现切换。
由此双击热备失效。
宿主机网络是桥接网络,防火墙和selinux(临时关闭)确认已经关闭。
防火墙如下:
selinux(临时关闭)如下:
n1的keepalived配置如下(为防止virtual_router_id和数据库热备配置时重复,n1和n2均设置为55):
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 55
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.3.151
}
}
virtual_server 192.168.3.151 6201 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.3.100 6101 {
weight 1
}
}
n2的keepalived配置如下:
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 55
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.3.151
}
}
virtual_server 192.168.3.151 6201 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.3.100 6102 {
weight 1
}
}
求解决方案或者思路
2回答
-
创通一哥
2020-01-09
老师,如果出现这种情况,容器1中的haproxy服务挂掉,容器2中的keepalived服务挂掉,还可以提供负载均衡服务吗?要怎么配置呢?
00 -
神思者
2020-01-09
你把n1和n2里面的Keepalived文件修改一下,virtual_router_id这个值改成55以外的数字,但是两个Keepalived的virtual_router_id要相同,还有把n2的state参数改成SLAVE,然后重启两个Keepalived试一下
092020-01-10
相似问题