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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.