Re: preempt not working, master not receiving vrrp advertisements
Quentin Armitage <[email protected]>
| Newsgroups | gmane.linux.keepalived.devel |
|---|---|
| Organization | The Armitage family |
| Message-ID | <[email protected]> |
On Thu, 2016-06-30 at 15:13 -0700, Simon Chan wrote: > Keepalived version 1.2.2 (I know, ancient, will try to update to > 1.2.22 next). > Environment: VyOS 64-bit based on Debian 8, with 4.4.5 kernel > vmac mode > Computer system: same behavior in VMware VM and Dell server. > > keepalived-1.2.2 preempt works fine as far back as 2012 and beyond, > and still works fine in our 32-bit Debian 6 systems. > > But we need to migrate to VyOS 64-bit Debian 8. That's when we > notice preempt stop working. > > Not sure if firewall rule is needed. I added one just in case: > > iptables -I INPUT -d 224.0.0.0/8 -p vrrp -j ACCEPT > > To debug this problem, I added log_message in vrrp_scheduler.c > vrrp_read_dispatcher_thread() function to tell me timeout or have > packet to read. > When the low priority node is the backup, the outcome is have packet > to read > every 4 s (my advert interval). Once the low priority node becomes > master, > every 4 s timeout occurs, even after the high priority node comes back > on line > and both think they are master, and both sending out advertisements. > > Other things checked: > - tcpdump on both nodes shows adverts from both > - "iptables -t raw -nvL" don't have rules at all, just some chains > about conntrack. > > Any suggestions what may cause the master to not able to receive > adverts? > What else can I do to debug this? > > Thanks for help. > > > Siaj The difference between when the lower priority node is master and backup is that when it is master it has the virtual IP addresses configured, whereas when it is backup it doesn't. That suggests it may be something to do with the configuration of the interfaces. Version 1.2.22 sets the necessary configuration on both the physical interface and the vmac interface, so that is probably the next thing to try (if you do try ver 1.2.22 I would suggest getting the latest update from www.githib.com/acassen/keepalived since that has some extra fixes). The settings that needs to be set are: On the vmac interface: arp_ignore = 1 accept_local = 1 rp_filter = 0 and on the physical interface: arp_ignore = 1 arp_filter = 1 The tricky bit is setting the parameters on the vmac interface, since that has to be done after the interface is created, so needs to be done in a script called via a notify_master configuration entry. I hope that helps, Quentin ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Keepalived-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/keepalived-devel