Linux has been highly regarded as a great platform on which to build network services such as Web sites and e-mail servers. It runs on inexpensive hardware and it is fast, stable, and easy to deploy. But out of the box, Linux isn’t equipped to handle heavy loads with mission-critical reliability. As organizations continue to deploy Linux servers in increasingly important roles, both scalability and reliability emerge as important issues.
If you need to service millions of dynamic Web clients per hour, or if you need to handle e-mail for millions of users, and do so with no downtime, you’ll quickly reach the point where a single computer just can’t keep up with the load. Although some Internet protocols can be scaled across multiple systems using simple DNS-based “load balancing,” many other cases require more involved work. And there are few (if any) standard Linux tools which make it easy to do.
In situations like this, clustering is a common solution. Clustering allows you to organize several computers into groups (called clusters) which appear to the user as if they are part of one big virtual computer. The clustering software is responsible for deciding which computer (or node) in the cluster should service a given request. Even if one node in the cluster dies, the other nodes will still continue accepting work. For more background on clustering, see “Linux Clustering in Depth” (http://www.linux-mag.com/2000-10/clustering_01.html) from our October 2000 issue.
It is worth noting that the term “cluster”…
Please log in to view this content.
Not Yet a Member?
Register with LinuxMagazine.com and get free access to the entire archive, including: