7

With Windows, we can setup load balancing for arbitrary IP services just by installing NLB and selecting which nodes we want in the cluster. It does some MAC address changing, then has algorithms to decide which node handles an incoming request.

Is there a production grade equivalent for Linux? I don't want something that requires a front server to sit physically (network-wise) in front of the machines (like certain hardware LBs do, and Linux Virtual Server does, AFAIK). I want something that'll act similar to Microsoft's NLB -- pick N nodes, they all listen on the same IP, and divvy up the incoming requests.

4
  • What kind of traffic are you trying to load balance (HTTP/S)?
    – Shaun Hess
    Jun 10, 2009 at 3:41
  • 3
    "just"... hahahaha
    – womble
    Jun 10, 2009 at 5:05
  • OK, yea, NLB can be a pain to setup sometimes. But assuming you got the NICs setup properly beforehand... it's pretty point and click.
    – MichaelGG
    Jun 10, 2009 at 23:54
  • I dont like NLB, it is a hack, flooding multicast traffic to all ports in the NLB server subnet, thus out all the ports.
    – Pieter
    Mar 11, 2017 at 11:31

6 Answers 6

4

Here are a few that people find quite good in the Linux community (minus LVS at your request). I personally have only used HAProxy so your mileage may vary.

HAProxy
Balance

Only supports load balancing for http/https requests:

Pound
PLB - Pure Load Balancer

2
  • Thanks. By looking at them, they seem to put a separate box in the picture, no? Like, you have the frontend server which rewrites the Layer2 packet, then the server response either must physically pass through the frontend box, or use Direct Server Return (like a Foundry, for example). Whereas NLB simply runs on each host itself. But I'll dig more - perhaps I'm misunderstanding something.
    – MichaelGG
    Jun 11, 2009 at 0:02
  • add Ultramonkey to that list, it uses LVS but doesn't need a separate witness server.
    – gbjbaanb
    Jun 27, 2009 at 14:11
8

see: http://lnlb.sourceforge.net/

Seems to be exactly what you are asking for.

That page summarizes it as: a common IP shared between all nodes (on a virtual interface). All you have to do is to bind on the virtual interface, the driver will do the rest.

It sounds very much like Windows NLB.

2
  • 6
    I found his answer helpful, it IS exactly what I was looking for. I don't see how the question being 5 years old changes anything. Anyone coming across this question now can see there's a solution that, according to their webpage, sounds pretty impressive.
    – MichaelGG
    Nov 21, 2014 at 6:03
  • Unfortunatelly lnlb has not seen update in a long time and depends on Kernel support.
    – eckes
    Oct 21, 2017 at 20:37
5

If you want a loadbalancing like NLB you should have a look at clusterip in iptables. -> http://security.maruhn.com/iptables-tutorial/x8906.html

It does exactly the same, only the failover part is missing, but maybe there exists some tools for this.

0
4
  • If you are interested in BSD solutions - see CARP, linux as i just found out has port of it called UCARP
  • About DNS-level load-balancing see CDN rfc3568, but beware - DNS-lb is kinda inert
  • LVS is still pretty good so - check it out
1

Round robin DNS would be the simplest solution, but maybe it's too simple for your requirements.

2
  • Yea DNS would not work. That assumes you have intelligent enough clients that actually use DNS. A lot of services simply go right to the IP.
    – MichaelGG
    Jun 10, 2009 at 1:41
  • you could set round-robin sessions on the switch instead.
    – gbjbaanb
    Jun 27, 2009 at 14:13
0

LVS is still the way to go -- you don't have to install it on separate hardware to get it to load balance incoming requests. Effectively, you still think of the load-balancer and backend services as separate things, but they just happen to be installed in the same physical hosts.

2
  • Oh I didn't realise you could have virtual and real sitting on the same box.
    – MichaelGG
    Jun 10, 2009 at 23:55
  • Yes but you cannot have it sit on both real servers (at least not in anactive/active way like NLB does).
    – eckes
    Oct 21, 2017 at 20:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .