25 Comments
- joel2600, on 10/12/2007, -2/+15great article, reminds me of stuff that used to be posted on digg.
- ohhhL3ThaL, on 10/12/2007, -1/+10good point, now it's just "funny video lol"
With 'intelligent' comments such as "coxdixlol"
Enjoy my hip single qoutes. - hypercube33, on 10/12/2007, -1/+3Hey, if only MySpace had this. Or didn't suck, and didn't have 15 year old emo kids that you cant distinguish the gender of...or lots of adds..
Its better than IIS! - oshu, on 10/12/2007, -1/+3This is actually a really bad idea. I run clusters of webservers and I can tell you this is exactly NOT how you want to set things up if you have anything other than a low volume site.
Reasons why this is bad:
1. Complete lack of scalability. This "solution" will not scale beyond a single node. If the traffic needs of your site are greater that 1 webserver, your only choice is to buy a bigger one (vs adding more nodes).
2. Suggests the use of networked filesystems with apache. Anyone who has used apache in a high traffic set up knows to avoid NFS likes the plague. I haven't tried SMB, but I'm sure it isn't much better for this use. A san with something like GFS is the way to go. Alternatively, push content to your nodes with rsync and let them use their own drives.
3. Overly complicated. This requires the nodes to have to run cluster software in addition to apache. Web servers should be kept to serving the web.
I agree with those that have pointed out LVS+keepalived. That pair is a MUCH better way to go and solves all three problems listed above. - neftaly, on 10/12/2007, -0/+1The reason I gave up was because I couldn't install the ruddy thing :P
- Bob042, on 10/12/2007, -1/+2I was really waiting for the site to be down. Most ones that say something to the effect of "keep your blog up when dugg!" drop like a rock after 50 diggs.
- geronimo, on 10/12/2007, -1/+2Never give up on LVS! I even wrote a howto on LVS and a certain utility. Eventually it will make sense. Only gotcha with NAT is you'll need to set the LVS director as the gateway on all realservers if you want the realservers to connect to the outside internet. That's another reason why I prefer DR(direct route).
- geronimo, on 10/12/2007, -1/+1I looked into a NAS/SAN and I found iSCSI, then I found AoE(made by coraid) and that seemed much cheaper and just plain better since I didn't need anything IP routable. But I realized that this limits you to at most gigE speeds ie 125 MB/sec so I moved on and figured the best thing is just SATA. SAS is nice but it's a bit too expensive. Decent quality SATA drives plus a pci-e raid controller(areca), and that shold solve a lot of disk storage needs the cheapest way possible. That will allow you to achieve seemingly infinite speeds(esp. with HT on an opteron), if things get too bogged down, just add another controller.
- neftaly, on 10/12/2007, -1/+1I had given up on ever figuring out how to a LVS a few hours ago. Came to Uni, checked Digg... whaddaya know! Perfect timing <3
- discordja, on 10/12/2007, -1/+1with apache (or lighty or whatever you want to use) I think you are better off using LVS or something like Perlbal to load balance before botthering to set up a HA fail over node.
check out http://www.ultramonkey.org/ which is a combined implementation of HA/LVS and you can do it with as few as two nodes for a rock solid set up. You can also load balance between more than http. we use LVS to loadbalance our MySQL read cluster nodes. - Brahma, on 10/12/2007, -1/+1Beautiful..First rate article..
- geronimo, on 10/12/2007, -1/+1I have yet to find a better solution than keepalived+LVS. You'll have more control compared to this method.
- ThinkFr33ly, on 10/12/2007, -1/+1This is very much like Windows Nework Load Balancing, which debuted in Windows 2000 Server.
NLB only requires a 2nd NIC to be installed on each server. (Actually, it doesn't *require* it, but it's highly recommended.) This NIC transmits the heartbeat to the other nodes in the NLB cluster. When one node goes down, requests are serviced by the other nodes.
It's a very cheap (free with Windows) way to scale and offer 100% uptime for applications, as long as they don't require persistant server side state across requests, which as we all know is usually a bad idea anyway. :)
I've oftened asked if Linux supported this. I guess until now it hadn't. - trogdoor, on 10/12/2007, -1/+1Not that I disagree with you, but this 'hight traffic' site seems to be taking the digg effect quite well.
- vuke69, on 10/12/2007, -1/+1NLB is only for stateless connections, and therefore worthless for most modern applications.
MSCS (Microsoft Server clusters) can handle statefull connections, and would be alot more usefull (provided you were foolish enough to run a web server on IIS in the first place), and works well on exchange, etc.
And diferent forms of HA/Load balancing systems have been available for linux for a long time as well. It may be new to the poster, but is far from new. - discordja, on 10/12/2007, -1/+1Just a suggestion on point 2
I couldn't advise SMB for any kind of heavy lifting but it's good for small scale work that won't require updates to the back end very often.
I've used GFS and for a lot of folks a Fibre channel SAN is just overkill. I'd suggest that a lot of people can get in the door using something like a Promise iSCSI block storage device. iSCSI is basically SAN over gigE and GFS can easily support the hardware. You can even do it with a cheap 4 disk 1U and get excellent performance for a very small number of cluster nodes. - drag, on 10/12/2007, -0/+0That's what it does. That's what it is for.
That's all it does.
You setup multiple machines. They use Linux-HA to communicate between themselves and make sure that services stay running even if most of the machines fail.
With just two Linux machines it's pretty easy to get "Class 4" reliability, which allows about 50 minutes or so of downtime per year. This is very superior results for on the cheap. And if you want to take it further you can easily acheive "Class 5" reliability with multiple datacenters with machines communicating via Linux-HA over multiple links. This is normal networking technology. Normal PC server hardware. Normal Linux services. Normal Linux operating systems with just Linux-HA added on.
Just a few years ago something like that would cost upwards of a hundred thousand dollars to accomplish just for fairly innocious services.
So "The High-Availability Linux Project" describes it pretty well.
Another similarly named project is "The iSCSI Enterprise Target" which is a project making software emulated iSCSI fast and reliable providing a inexpensive alternative to things like hardware iSCSI targets and Fiberchannel..
What would be a better name?
Taco?
:-) - inactive, on 10/12/2007, -0/+0--deleted by author--
- trogdoor, on 10/12/2007, -1/+1No, you must have clicked the link during that millisecond after the main server caught on fire and before the load balancing kicked in.
Link works fine for me ;) - trogdoor, on 10/12/2007, -1/+1"I've oftened asked if Linux supported this. I guess until now it hadn't."
Linux has supported this since long before Windows 2000 server existed. - rootryan, on 10/12/2007, -2/+1I'll digg because it's already killed...
- 0siris, on 10/12/2007, -4/+2wouldnt it be teh funneez if this server went down?
- tylerni7, on 10/12/2007, -3/+1I've actually been looking for something like this for a while, so that I can use a whole bunch of old computers as a fairly fast server cluster. *Sigh* but I just know someone is not going to read it because it mentions linux, which must make it an article from all those linux fanboys.
- noahs, on 10/12/2007, -10/+1The High-Availability Linux Project???? cant you think of a better name?


What is Digg?
The Digg Toolbar for Firefox lets you Digg, submit content, and keep track of Digg even when you're not on the Digg site. Download the official