FreeBSD CARP load balancing.

Rodney W. Grimes freebsd-rwg at pdx.rh.CN85.dnsmgr.net
Tue Feb 21 15:46:41 UTC 2017


> On 2017-02-21 00:55, Gleb Popov wrote:
> > On Mon, Feb 20, 2017 at 10:16 PM, Steven Hartland <killing at multiplay.co.uk>
> > wrote:
> > 
> >> On 20/02/2017 19:07, Gleb Popov wrote:
> >>
> >>
> >> On Mon, Feb 20, 2017 at 12:01 PM, Steven Hartland <killing at multiplay.co.uk
> >>> wrote:
> >>
> >>> Does LAGG do what you need?
> >>
> >>
> >> Doesn't seem so. I need to balance incoming traffic between several hosts.
> >> If I understood it correctly, lagg can be used to load-balance outgoing
> >> traffic only.
> >>
> >>
> >> LAGG does incoming and outgoing but only on a single host, so it does
> >> sound like it won't help you.
> >>
> >> That said what your doing does sound quite out of the ordinary,
> >>
> > 
> >  So, that *net.inet.carp.arpbalance *sysctl was out of ordinary feature?
> > That probably explains it.
> > 
> > is there a reason you're trying to copy the traffic to multiple hosts?
> >>
> > 
> > Not copy, but distribute. I just don't want to wait current CARP master die
> > to make another computer become active, but to switch between them in some
> > fashion (round-robin or whatever).
> > 
> > 
> >>
> >> Might be a good idea to explain exactly what your trying to achieve.
> >>
> >>     Regards
> >>     Steve
> >>
> > _______________________________________________
> > freebsd-hackers at freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
> > 
> 
> I am not sure arpbalancing every worked very well. Without a hashing
> algorithm or something, how would you actually make a TCP session work?

8.xish man page:
ARP level load balancing
     The carp has limited abilities for	load balancing the incoming connec-
     tions between hosts in Ethernet network.  For load	balancing operation,
     one needs several CARP interfaces that are	configured to the same IP
     address, but to a different VHIDs.	 Once an ARP request is	received, the
     CARP protocol will	use a hashing function against the source IP address
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     in	the ARP	request	to determine which VHID	should this request belong to.
     If	the corresponding CARP interface is in master state, the ARP request
     will be replied, otherwise	it will	be ignored.  See the EXAMPLES section
     for a practical example of	load balancing.


There is your hash.

-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the freebsd-hackers mailing list