Linux Clustering for Business
Linux clustering has traditionally been the domain of scientific and academic users. Many of its related technologies, however, are useful in the creation of systems for business. Consequently and coincident with the evolution and maturation of these tools, a growing number of corporations are seeking to leverage them. This tutorial aims both to provide systems administrators and Linux users with an overview of clustering basics and to illustrate those lessons with working configuration and script examples based on proven clustering technologies.
Part One of this tutorial serves as a primer on the foundations of clustering technologies and answers the question, "What exactly is a Beowulf?" Focus is centered on the four basic types of clusters:
- high-availability - load-balancing - high-performance - grid-computing
Each type is discussed in detail, particularly the manner in which each addresses such technical concerns as: shared memory, message passing, job management, process migration, distributed lock management, shared file systems, and single system image. Special attention is paid to the importance of interconnects and latency; an overview of Myrinet, Infiniband, and Ethernet interconnects is included.
Part Two of this tutorial provides practical instruction in Linux clustering technologies for each type of cluster discussed in Part One. Specifically, real-world business requirements such as failover, load balancing, availability, and job management through distributed multiple processing will be addressed through examples, including:
- A high-availability solution using Heartbeat and DBRD. - A load-balancing solution using Heartbeat, Linux Virtual Server, and ldirectord and covering direct routing, NAT, and tunneling configurations of LVS. - A high-performance solution based on OpenMosix. - A grid-computing solution based on Condor.
Additionally, the relevance to business applications of message passing and shared memory approaches is briefly discussed. Specifics covered include cache-coherent 2EE application server deployments and distributed parallel and serial computation.
Basics of organizing and managing a cluster are also presented. Steps to properly configure communications via SSH are reviewed, and select open source clustering utilities are introduced. Attendees learn to use C3 (Cluster Command and Control), Ganglia, and openMosixView in the management and monitoring of their clusters.
|