[Keepalived-devel] multicast packets not sent by lvs director
Status: Beta
Brought to you by:
acassen
|
From: Nicolas <ara...@ya...> - 2005-04-05 14:58:18
|
Hi all, I have a problem with VRRP and keepalived. I have 2 lvs director : foo.toto.net and bar.toto.net foo.toto.net is the master on vrrp instance called LVS_F and backup for LVS_B. bar.toto.net is the master on vrrp instance called LVS_B and backup for LVS_F. My architecture have diffculties to be in a stable state, foo becomes master on the 2 vrrp instance, but bar is present and conversely. I have seen when i capture multicast packets when the problem occurs, one of the machine dont send multicast packets and consequently the other machine becomes master on the 2 vrrp instance. I have try keepalived 1.1.10 and 1.1.7. Linux kernel 2.6.11.6 and 2.6.4 ( with Alexandre's /IPVS syncd patch ).* */Ipvsadm 1.21 and 1.24 ( with Alexandre's IPVS syncd patch ). I have also test with a various range of advertisement interval ... But i have always the same problem ... Here is a sample of the dump : # tcpdump -i eth1 host VRRP.MCAST.NET 09:53:05.462913 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 4, prio 150, authtype simple, intvl 30s, length 32 09:53:09.990943 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 5, prio 200, authtype simple, intvl 30s, length 52 09:54:05.473720 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 4, prio 150, authtype simple, intvl 30s, length 32 09:54:10.002822 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 5, prio 200, authtype simple, intvl 30s, length 52 09:54:35.479147 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 4, prio 150, authtype simple, intvl 30s, length 32 09:54:40.008214 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 5, prio 200, authtype simple, intvl 30s, length 52 09:55:05.484542 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 4, prio 150, authtype simple, intvl 30s, length 32 09:55:10.013618 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 5, prio 200, authtype simple, intvl 30s, length 52 09:55:35.489940 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 4, prio 150, authtype simple, intvl 30s, length 32 09:55:35.490474 IP bar.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 4, prio 200, authtype simple, intvl 30s, length 32 09:55:40.019022 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 5, prio 200, authtype simple, intvl 30s, length 52 09:56:35.501441 IP bar.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 4, prio 200, authtype simple, intvl 30s, length 32 09:56:40.029819 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 5, prio 200, authtype simple, intvl 30s, length 52 09:57:10.035240 IP foo.toto.net > VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 5, prio 200, authtype simple, intvl 30s, length 52 # tail -f /var/log/everything/mesg.log | grep Keepalived_vrrp 09:53:35 bar Keepalived_vrrp: VRRP_Instance(LVS_B) Transition to MASTER STATE 09:54:05 bar Keepalived_vrrp: VRRP_Instance(LVS_B) Entering MASTER STATE 09:54:34 bar Keepalived_vrrp: VRRP_Instance(LVS_B) Received lower prio advert, forcing new election 09:55:04 bar Keepalived_vrrp: VRRP_Instance(LVS_B) Received lower prio advert, forcing new election 09:55:34 bar Keepalived_vrrp: VRRP_Instance(LVS_B) Received lower prio advert, forcing new election Bar try to recover his mastership on his vrrp instance but, because he dont sent multicast packet he cant recovered it. # tail -f /var/log/messages | grep Keepalived_vrrp 09:53:04 foo Keepalived_vrrp: VRRP_Instance(LVS_B) Transition to MASTER STATE 09:53:09 foo Keepalived_vrrp: VRRP_Instance(LVS_F) Transition to MASTER STATE 09:53:34 foo Keepalived_vrrp: VRRP_Instance(LVS_B) Entering MASTER STATE 09:53:39 foo Keepalived_vrrp: VRRP_Instance(LVS_F) Entering MASTER STATE 09:55:34 foo Keepalived_vrrp: VRRP_Instance(LVS_B) Received higher prio advert 09:55:34 foo Keepalived_vrrp: VRRP_Instance(LVS_B) Entering BACKUP STATE 09:58:05 foo Keepalived_vrrp: VRRP_Instance(LVS_B) Transition to MASTER STATE 09:58:35 foo Keepalived_vrrp: VRRP_Instance(LVS_B) Entering MASTER STATE keepalived.conf on foo : !------------------------------------------------------! ! LVS_F ( foo.toto.net ) MASTER MODE ! !------------------------------------------------------! vrrp_instance LVS_F { state MASTER interface eth1 virtual_router_id 5 priority 200 advert_int 30 authentication { auth_type PASS auth_pass agfzfefazf } virtual_ipaddress { 1.2.3.4 1.2.3.5 1.2.3.6 } } !------------------------------------------------------! ! LVS_B ( foo.toto.net ) BACKUP MODE ! !------------------------------------------------------! vrrp_instance LVS_B { state BACKUP interface eth1 virtual_router_id 4 priority 150 advert_int 30 authentication { auth_type PASS auth_pass agfzfefazf } virtual_ipaddress { 1.2.3.7 1.2.3.8 1.2.3.9 } } keepalived.conf on bar : !-------------------------------------------------------! ! LVS_B ( bar.toto.net ) BACKUP MODE ! !-------------------------------------------------------! vrrp_instance LVS_F { state BACKUP interface eth1 virtual_router_id 5 priority 150 advert_int 30 authentication { auth_type PASS auth_pass agfzfefazf } virtual_ipaddress { 1.2.3.4 1.2.3.5 1.2.3.6 } } !-------------------------------------------------------! ! LVS_F ( bar.toto.net ) MASTER MODE ! !-------------------------------------------------------! vrrp_instance LVS_B { state MASTER interface eth1 virtual_router_id 4 priority 200 advert_int 30 authentication { auth_type PASS auth_pass agfzfefazf } virtual_ipaddress { 1.2.3.7 1.2.3.8 1.2.3.9 } } Any help will be appreciated. Thx Regards, Nicolas |