Re: Split Brain recovery with haproxy/keepalived setup
"T. A. Smooth" <[email protected]>
| Newsgroups | gmane.linux.keepalived.devel |
|---|---|
| Message-ID | <CAB9+7yhApKUEXisy4V9cot5mnGEEEY88iJ_+T9-c=G_R8jTqHA@mail.gmail.com> |
Thanks Todd. Anyone else have any insight? With matching priorities it seems the IP check should break the tie breaker. ntohl(saddr) > ntohl(VRRP_PKT_SADDR(vrrp) On Fri, Dec 27, 2013 at 12:29 PM, Todd Fleisher <[email protected]> wrote: > I can't speak to that as I always set my priorities to unique values. > > -T > > On Dec 27, 2013, at 10:32 AM, T. A. Smooth wrote: > > Another thought, is if the priorities are the same, should it not fall > back to comparing IP addresses? > *ntohl(saddr) > ntohl(VRRP_PKT_SADDR(vrrp)* > > I figure it would failover then when it does the compare. > -tp- > > > On Fri, Dec 27, 2013 at 1:26 AM, T. A. Smooth <[email protected]>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 > > ------------------------------------------------------------------------------ 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