Load Balancers for Linux?
scales asks: "We currently use the Dispatcher component of IBM's WebSphere Edge Server as a load balancer on some Red Hat boxes where I work, and the boss has asked me to look into OSS alternatives. I've already been pointed at Linux Virtual Server and Ultra Monkey, and I was wondering if any readers have had any experience with these packages, or had any opinions they could offer about other products." Ask Slashdot last visited a similar topic way back in 1999, so I think it might be time for an update.
OpenMosix is a Linux Kernel Patch that distributes load between Linux boxes invisibly to the user. Spawn an application and it is migrated to the box with the most availble processing power. Details available at OpenMosix.org. It's in wide university use.
Simply put, it makes any group of linux boxes into a highly scalable cluster.
This may do what you wish, it may not, but it's a good option. I'm in process on setting it up t home now - first I had to get a kernel compile going.
OpenMosix sounds very interesting for multiplying processing power. We have more horsepower needs than capability now, and Solaris boxes are WAY too expensive - I want to migrate to an openMosix Linux cluster for way cheap.
Unitarian Church: Freethinkers Congregate!
Hmm. If it's x86 or Alpha hardware there's something called FreeBSD that might really help things out.
I used UltraMonkey way back a few years ago.. It did the job.. and we never went down.. it has i believe 4 ways you can weight the webservers.... Actually.. it does more than just webservers... which is a plus as well...
I liked..
ChiefArcher
If so look at JBoss's load balancing.
If you just want it for Web server there is an Apache module for load balancing as well.
Open Source Identity Management: FreeIPA.org
i havnt used it, but, isnt this what your looking for... http://www.backhand.org/mod_backhand/ anyone here used it? did it leave your days filled with joy and happyness or dispair and bitterness?
no sig today, come back tomorrow
I'm confused. Is there some reason why this job can't best be done with a content balancer? It's been about a year since I looked at them, but last I recall Cisco's Local Directors were very highly regarded. They had intelligent session-level balancing and such, and worked well.
I write in my journal
http://www.redhat.com/software/advancedserver/tech nical/piranha.html
Why aren't we told when editors moderate our posts?
LVS was able to handle a medium-sized HTTP/HTTPS load at my last job quite well. It had 6 months of uptime serving 5-10 hits/second, and I literally never had to worry about it going down. In combination with mon, bringing machines up and down was never a problem, and failure situations were handled without the end user noticing.
Installation was a bit frustrating because I hadn't dealt with the networking issues before (the ARP problem). However, in the end it was only my lack of networking knowledge that was lacking, and the ARP problem turned out to be simple to overcome.
Support from the mailing list was great, I got thorough replies to my questions in a few hours. The documentation is good, although some parts of the HOWTO could be trimmed back a bit (more information than is needed to understand the problem, takes a bit of time to filter).
The hardware was two slower UP boxes (one live, one for failover), and the load was esstentially 0, even with mon and MRTG running.
LVS is of course just the load balancer, and the setup also included mon for monitoring, heartbeat for failover, and MRTG for trending. They all play well together, and create a very reliable, informative, load balancer setup.
Depending on your setup, one of the meta-packages such as Ultra Money or Redhat's HA suite might be best, but installing the components individually isn't much of a hassle either.
Buy a Cisco Local Director on Ebay. Buy two, they're cheap.
Spend 15 minutes setting it up.
Sleep well at night.
I just wanted to correct a few misconceptions in the previous posting.
Disclaimer: I work on IBM Edge Server.
First, the people you'll talk to if you have a problem with Edge Server are full-time career professionals, who specialize in Edge Server and work directly with the developers to get your problem solved. Because the support team work with customer problems every day, I suspect they're more knowledgeable than the developers on the issues that most often affect users. Of course, the developers get directly involved if the problem is tough.
If you don't need a paid level of support, there are newsgroups on news.software.ibm.com where you can post questions and often get a response from other users or directly from a developer.
--dan p.
It doesn't make very much sense to say "Should I use UltraMonkey or LVS?" as the latter is a piece of the former. There are other combinations of LVS+other stuff that you might put into that sentence: "Should I use Piranha or UltraMonkey?" or "Should I use UltraMonkey or Joe Macks LVS Config scripts?" or even "Should I build my own LVS scripts or use an existing framework?"
There are other HTTP load balancing options out there. Squid has a new branch in CVS called rproxy that handles multiple backend web servers very effectively with failure detection and other fun stuff (not to mention caching). Pound is a reverse proxy that does load balancing of HTTP traffic and SSL wrapping (most everything Squid can do for reverse proxying minus the caching features).
Balance is a generic TCP load balancer with some nice features. The best features being that it is simple and works on more platforms than just Linux and handles more than just the HTTP protocol. It probably has some disadvantages for some situations because it operates at a lower level than the HTTP proxies above, though it can probably do lots of the same things LVS does (I don't know very much about Balance).
Eddie is a neat framework written in Ericssons Erlang language. Seems to be dormant, but I think it is in pretty widespread use so is probably pretty stable.
Links:
LVS
Squid rproxy branch
Pound
Balance
Eddie