LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

[lvs-users] Synchronization problem

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: [lvs-users] Synchronization problem
From: "Bachman Kharazmi" <bahkha@xxxxxxxxx>
Date: Fri, 9 Jan 2009 00:25:58 +0100
Hi

I've configued to directors, lb1(.241) and lb2(.242) to serve the VIP
192.168.10.240.
There are synchronization problems. When I start keepalived on the
master I see proper output in syslog, but when I start the keepalived
on lb2 I see no output in the masters syslog. lb1 and lb2 can ping
eachother.
The host systems are debian etch with default 2.6.18 kernels. Both
hosts run as guests using KVM-82. Keepalived is installed and
configured as:

lb1:
vrrp_sync_group VG1 {
group {
VI_1
}
}

vrrp_instance VI_1 {
state MASTER
interface eth4
virtual_router_id 241
priority 200
advert_int 1
virtual_ipaddress {
192.168.10.240
}
authentication {
auth_type PASS
auth_pass Password1
}
}

lb2:
vrrp_sync_group VG1 {
group {
VI_1
}
}

vrrp_instance VI_1 {
state BACKUP
interface eth4
virtual_router_id 242
priority 100
advert_int 1
virtual_ipaddress {
192.168.10.240
}
authentication {
auth_type PASS
auth_pass Password1
}
}

When keepalived is started on lb1 the syslog print:
Jan  9 00:18:43 lb1 Keepalived: Starting Keepalived v1.1.12 (06/28,2006)
Jan  9 00:18:43 lb1 Keepalived_healthcheckers: Using MII-BMSR NIC
polling thread...
Jan  9 00:18:43 lb1 Keepalived_healthcheckers: Registering Kernel
netlink reflector
Jan  9 00:18:43 lb1 Keepalived_healthcheckers: Registering Kernel
netlink command channel
Jan  9 00:18:43 lb1 Keepalived_healthcheckers: Configuration is using
: 12671 Bytes
Jan  9 00:18:43 lb1 Keepalived_healthcheckers: Activating healtchecker
for service [192.168.10.245:80]
Jan  9 00:18:43 lb1 Keepalived_healthcheckers: Activating healtchecker
for service [192.168.10.246:80]
Jan  9 00:18:43 lb1 Keepalived: Starting Healthcheck child process, pid=4282
Jan  9 00:18:43 lb1 Keepalived_vrrp: Using MII-BMSR NIC polling thread...
Jan  9 00:18:43 lb1 Keepalived_vrrp: Registering Kernel netlink reflector
Jan  9 00:18:43 lb1 Keepalived_vrrp: Registering Kernel netlink command channel
Jan  9 00:18:43 lb1 Keepalived_vrrp: Registering gratutious ARP shared channel
Jan  9 00:18:43 lb1 Keepalived_vrrp: Configuration is using : 64495 Bytes
Jan  9 00:18:43 lb1 Keepalived: Starting VRRP child process, pid=4283
Jan  9 00:18:44 lb1 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to
MASTER STATE
Jan  9 00:18:45 lb1 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Jan  9 00:18:45 lb1 Keepalived_vrrp: VRRP_Group(VG1) Syncing instances
to MASTER state

When lb2 is started the syslog show:
Jan  9 00:19:52 lb2 Keepalived: Starting Keepalived v1.1.12 (06/28,2006)
Jan  9 00:19:52 lb2 Keepalived_healthcheckers: Using MII-BMSR NIC
polling thread...
Jan  9 00:19:52 lb2 Keepalived_healthcheckers: Registering Kernel
netlink reflector
Jan  9 00:19:52 lb2 Keepalived: Starting Healthcheck child process, pid=2858
Jan  9 00:19:52 lb2 Keepalived_vrrp: Using MII-BMSR NIC polling thread...
Jan  9 00:19:52 lb2 Keepalived_vrrp: Registering Kernel netlink reflector
Jan  9 00:19:52 lb2 Keepalived_vrrp: Registering Kernel netlink command channel
Jan  9 00:19:52 lb2 Keepalived_vrrp: Registering gratutious ARP shared channel
Jan  9 00:19:52 lb2 Keepalived_vrrp: Configuration is using : 64495 Bytes
Jan  9 00:19:52 lb2 Keepalived: Starting VRRP child process, pid=2859
Jan  9 00:19:52 lb2 Keepalived_healthcheckers: Registering Kernel
netlink command channel
Jan  9 00:19:52 lb2 Keepalived_healthcheckers: Configuration is using
: 12671 Bytes
Jan  9 00:19:52 lb2 Keepalived_healthcheckers: Activating healtchecker
for service [192.168.10.245:80]
Jan  9 00:19:52 lb2 Keepalived_healthcheckers: Activating healtchecker
for service [192.168.10.246:80]
Jan  9 00:19:52 lb2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE
Jan  9 00:19:56 lb2 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to
MASTER STATE
Jan  9 00:19:56 lb2 Keepalived_vrrp: VRRP_Group(VG1) Syncing instances
to MASTER state
Jan  9 00:19:57 lb2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE


When I dump using tcpdump on master by doing: tcpdump -x -v multicast
-i eth4 I see alot of traffic like:
22:45:29.074811 IP (tos 0x0, ttl 255, id 59650, offset 0, flags
[none], proto: VRRP (112), length: 40) 192.168.10.241 >
VRRP.MCAST.NET: VRRPv2, Advertisement, vrid 241, prio 200, authtype
simple, intvl 1s, length 20, addrs: 192.168.10.240 auth "Password"
        0x0000:  4500 0028 e902 0000 ff70 26b7 c0a8 0af1
        0x0010:  e000 0012 21f1 c801 0101 9bca c0a8 0af0
        0x0020:  5061 7373 776f 7264

22:45:29.556576 IP (tos 0x0, ttl 255, id 2560, offset 0, flags [none],
proto: VRRP (112), length: 40) 192.168.10.242 > VRRP.MCAST.NET:
VRRPv2, Advertisement, vrid 242, prio 100, authtype simple, intvl 1s,
length 20, addrs: 192.168.10.240 auth "Password"
        0x0000:  4500 0028 0a00 0000 ff70 05b9 c0a8 0af2
        0x0010:  e000 0012 21f2 6401 0101 ffc9 c0a8 0af0
        0x0020:  5061 7373 776f 7264

It looks correct to me, but still the vrrp doesn't seem to syncronize
since the BACKUP(lb2) become MASTER :\
Any hints?
/Bachman

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

<Prev in Thread] Current Thread [Next in Thread>