Date: Thu, 10 Jul 2014 23:52:31 +1000 From: Aristedes Maniatis <ari@ish.com.au> To: "stable >> freebsd-stable" <freebsd-stable@freebsd.org> Subject: load balancer best practices Message-ID: <53BE9A9F.4090700@ish.com.au>
next in thread | raw e-mail | index | archive | help
With the changes in CARP as part of FreeBSD 10 I have some questions about the best way to do some things. 1. On a load balancer (haproxy) we might have the machine handling 100 or 5000 IP addresses. It would be simplest to just define a /24 (or more) range on the external interface (or in CARP) but then I cannot bind to each address. Linux has something like net.ipv4.ip_nonlocal_bind. There appears to be nothing similar for FreeBSD. Do I need to define a /32 and alias each address? a. is there a cleaner way? b. will that cause performance issues if I create many hundreds of /32 aliases on the interface? 2. If I need to define a large number of aliases in CARP I'll quickly run out of vhids which I understand to go up to 256. What is the real meaning of vhid in a CARP definition? Can they be shared by different IP addresses on the load balancer pair? That is, can they all be labelled "vhid=1" or is CARP limited to 256 IP addresses, each of which has to be a /32 (see above). All the examples in the FreeBSD manual use a different vhid for each IP address but doesn't explain why. a. If two addresses (aliases) share the same vhid, will that mean they fail over together always? (That might be a good thing for me). b. Will it reduce "are you alive?" network traffic between the CARP cluster to have one vhid? c. Will bad things happen if I share vhids? Thanks Ari -- --------------------------> Aristedes Maniatis ish http://www.ish.com.au Level 1, 30 Wilson Street Newtown 2042 Australia phone +61 2 9550 5001 fax +61 2 9550 4001 GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53BE9A9F.4090700>