keepalived 双机互抢IP
WEB1 10.10.88.2
WEB2 10.10.88.3
VIP 10.10.88.4
web1 keepalived.conf
! Configuration File for keepalived global_defs { notification_email { admin@lvtao.net } notification_email_from admin@lvtao.net smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_http_port { script "/home/sh/check_nginx.sh" interval 5 weight -5 } vrrp_instance VI_1 { state MASTER interface eth2 mcast_src_ip 10.10.88.2 virtual_router_id 51 priority 100 advert_int 5 authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port } virtual_ipaddress { 10.10.88.4/24 dev eth2 } }
web2 keepalived.conf
! Configuration File for keepalived global_defs { notification_email { admin@lvtao.net } notification_email_from admin@lvtao.net smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_http_port { script "/home/sh/check_nginx.sh" interval 5 weight -5 } vrrp_instance VI_1 { state BACKUP interface eth2 mcast_src_ip 10.10.88.3 virtual_router_id 51 priority 50 advert_int 5 authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port } virtual_ipaddress { 10.10.88.4/24 dev eth2 } }
check_nginx.sh内容为
#!/bin/bash if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then /home/webserver/nginx/sbin/nginx sleep 3 if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then service keepalived stop fi exit 0 fi exit 1启动后,两台机器互抢IP 。。。
日志
10.10.88.2
Aug 15 10:07:30 localhost Keepalived_vrrp[17590]: VRRP_Instance(VI_1) Transition to MASTER STATE Aug 15 10:07:35 localhost Keepalived_vrrp[17590]: VRRP_Instance(VI_1) Entering MASTER STATE Aug 15 10:07:35 localhost Keepalived_vrrp[17590]: VRRP_Instance(VI_1) setting protocol VIPs. Aug 15 10:07:35 localhost Keepalived_vrrp[17590]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth2 for 10.10.88.4 Aug 15 10:07:35 localhost Keepalived_healthcheckers[17589]: Netlink reflector reports IP 10.10.88.4 added Aug 15 10:07:40 localhost Keepalived_vrrp[17590]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth2 for 10.10.88.410.10.88.3
Aug 15 10:06:54 localhost Keepalived_vrrp[27823]: VRRP_Instance(VI_1) Transition to MASTER STATE Aug 15 10:06:59 localhost Keepalived_vrrp[27823]: VRRP_Instance(VI_1) Entering MASTER STATE Aug 15 10:06:59 localhost Keepalived_vrrp[27823]: VRRP_Instance(VI_1) setting protocol VIPs. Aug 15 10:06:59 localhost Keepalived_vrrp[27823]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth2 for 10.10.88.4 Aug 15 10:06:59 localhost Keepalived_healthcheckers[27822]: Netlink reflector reports IP 10.10.88.4 added Aug 15 10:07:04 localhost Keepalived_vrrp[27823]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth2 for 10.10.88.4请有经验的同志帮我瞧瞧,纠结了好几天了,,,唉
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(16)
弱肉强食。 抢不过的就会被干掉
我当时是因为机房的硬防将两个主机IP隔离了,不在同一个内网。两个IP间不能通信导致。 后来遇到过网线质量不好也会引发这个问题。 你检查下两个机器间通信是否正常。
回复
@滔哥 :谢谢楼主,机器在第三方的虚拟机里,不清楚网络结构, 但是把防火墙关掉就不会出现相互抢占问题。
你好 我现在两个机器 IP 也是一直跳来抢来抢去,是怎么解决的 谢谢了
有哥们用了此贴配置方案,麻烦把邮箱改改吧。。。我邮箱动不动就收到了你的IP宕机的邮件
这样会有些问题,我找出了原因,是防火墙的事儿。 明天将服务器从防火墙上搬到内网交换机上。。唉
回复
Linux防火墙吗?不自动切换的还真是没启动防火墙rhel5.4 自动切换的是SL6启动了防火墙
回复
不是的,是机房的硬防防火墙,好像是浪潮的
我这也是这种现像版本1.2.6,我觉得这样挺好了,A累了B干会。但一个做其它业务的相同配置并不互换。
都换成了backup它也抢,奇怪了。。。
都设置为backup试试,就不抢了
弱肉强食。 抢不过的就会被干掉
我有贴出check的脚本,麻烦帮我看下
check脚本没错?
keepalived版本 1.2.7 和 1.2.6都这样
经仔细核查,是因为机房硬防的原因。在此谢谢各位了。
解决方案:
将服务器置于同一内网中,并且是交换机下,而且硬防防火墙下,然后再进行测试。注意不要抑制ARP包,不然会不能正常通信的。。。