keepalived 双机互抢IP

滔哥 发布于 2013/08/15 11:26
阅读 1K+
收藏 2

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.4
10.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
请有经验的同志帮我瞧瞧,纠结了好几天了,,,唉

加载中
0
滔哥
滔哥

经仔细核查,是因为机房硬防的原因。在此谢谢各位了。

解决方案:

将服务器置于同一内网中,并且是交换机下,而且硬防防火墙下,然后再进行测试。注意不要抑制ARP包,不然会不能正常通信的。。。

0
滔哥
滔哥
keepalived版本 1.2.7  和 1.2.6都这样
0
holyzhou
holyzhou

check脚本没错?


滔哥
滔哥
我有贴出check的脚本,麻烦帮我看下
0
WeirdBIrd
WeirdBIrd
弱肉强食。 抢不过的就会被干掉 
0
OscerSong
OscerSong
都设置为backup试试,就不抢了
0
滔哥
滔哥
都换成了backup它也抢,奇怪了。。。
0
地鼠特工队
地鼠特工队

我这也是这种现像版本1.2.6,我觉得这样挺好了,A累了B干会。但一个做其它业务的相同配置并不互换。

滔哥
滔哥
回复 @地鼠特工队 : 不是的,是机房的硬防防火墙,好像是浪潮的
地鼠特工队
地鼠特工队
回复 @滔哥 : Linux防火墙吗?不自动切换的还真是没启动防火墙rhel5.4 自动切换的是SL6启动了防火墙
滔哥
滔哥
这样会有些问题,我找出了原因,是防火墙的事儿。 明天将服务器从防火墙上搬到内网交换机上。。唉
0
滔哥
滔哥

有哥们用了此贴配置方案,麻烦把邮箱改改吧。。。我邮箱动不动就收到了你的IP宕机的邮件

0
kingdowns
kingdowns

你好 我现在两个机器 IP 也是一直跳来抢来抢去,是怎么解决的 谢谢了

kingdowns
kingdowns
回复 @滔哥 :谢谢楼主,机器在第三方的虚拟机里,不清楚网络结构, 但是把防火墙关掉就不会出现相互抢占问题。
滔哥
滔哥
我当时是因为机房的硬防将两个主机IP隔离了,不在同一个内网。两个IP间不能通信导致。 后来遇到过网线质量不好也会引发这个问题。 你检查下两个机器间通信是否正常。
0
大海的贝壳
大海的贝壳

弱肉强食。 抢不过的就会被干掉

返回顶部
顶部