There are many different types of clusters when it comes to Linux. You'll need to determine whether or not you are looking for high-availability, optimum performance or load balancing. The solution will depend on your requirements. For example, the well-known Beowulf cluster is a group of computers running Linux, or other Unix-like operating systems, such as BSD. They are networked and contain shared libraries. Unlike a cluster of workstations, the Beowulf cluster behaves more like a single computer. All of its nodes are dedicated to the cluster and server and have no other purpose.
The Linux-HA project essentially offers an high- availability solution for Linux-based systems. The Linux-HA project's Heartbeat software is used to manage its high-availability, and can be used to build either large or small clusters. Regarding load balancing, look into Linux Virtual Server, which is a scalable server built atop a cluster of real servers with the load balancer running on Linux. Users run Linux Virtual Server as if it was on one high-performance virtual server. In some ways, it is like a Beowulf cluster, with a load balancer thrown in for good measure. I've written an article recently on clustering and grids that you might find helpful, too.
This was first published in May 2007