Re: Split Brain recovery with haproxy/keepalived setup
Todd Fleisher <[email protected]>
| Newsgroups | gmane.linux.keepalived.devel |
|---|---|
| Message-ID | <[email protected]> |
I think in the event of both nodes being in a master state the node with a lower priority will move to backup state upon seeing the higher priority advertisement. However, in my experience you may still end up with some real servers on the network having the mac address for the lower priority node (now in backup state) in their arp tables. This is because the master doesn't re-send gratuitous arp upon the lower priority node transitioning from master to backup state.
-T
the advert from a node with a higher priority
On Dec 27, 2013, at 1:26 AM, T. A. Smooth wrote:
> Once two keepalived systems enter a split brain state, is it expected behavior they can get out of it?
>
> Looking at the code it seems they should be able to once they can see each others advertisements again. Even if they match priority it seems they check source IP next
> in vrrp.c
>
> vrrp_state_master_rx(vrrp_t * vrrp, char *buf, int buflen)
> {
> ##<snip>##
> } else if (vrrp->family == AF_INET) {
> if (hd->priority > vrrp->effective_priority ||
> (hd->priority == vrrp->effective_priority &&
> ntohl(saddr) > ntohl(VRRP_PKT_SADDR(vrrp)))) {
> log_message(LOG_INFO, "VRRP_Instance(%s) Received higher prio advert"
> , vrrp->iname);
> if (proto == IPPROTO_IPSEC_AH) {
> ah = (ipsec_ah_t *) (buf + sizeof(struct iphdr));
> log_message(LOG_INFO, "VRRP_Instance(%s) IPSEC-AH : Syncing seq_num"
> " - Decrement seq"
> , vrrp->iname);
> vrrp->ipsecah_counter->seq_number = ntohl(ah->seq_number) - 1;
> vrrp->ipsecah_counter->cycle = 0;
> }
> vrrp->ms_down_timer = 3 * vrrp->adver_int + VRRP_TIMER_SKEW(vrrp);
> vrrp->wantstate = VRRP_STATE_BACK;
> vrrp->state = VRRP_STATE_BACK;
> return 1;
> }
> }
>
> Thoughts? Or is there a different line of code execution if there are two Master?
>
> -tp-
> ------------------------------------------------------------------------------
> Rapidly troubleshoot problems before they affect your business. Most IT
> organizations don't have a clear picture of how application performance
> affects their revenue. With AppDynamics, you get 100% visibility into your
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk_______________________________________________
> Keepalived-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/keepalived-devel
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel