This book focuses on clustering for high-performance computation, although much of its information applies also to clustering for high-availability (failover and disaster recovery). It is an introductory book that gives the reader a solid foundation for clustering. The key tools necessary to get started are discussed, including good practices to use while exploring the tools and growing a system. The book starts with planning, hardware choices, bulk installation of Linux on multiple systems, and other basic considerations.
It then discusses software that can save hours or even weeks of deployment time. Since a wide variety of options exist in each area of clustering software, the author discusses the pros and cons of the major free software projects and chooses the ones most likely to be helpful to new cluster administrators and programmers. The projects introduced in the book include: MPI, the most popular programming library for clusters.
This book offers simple but realistic introductory examples along with some pointers for advanced use; OSCAR and Rocks, two comprehensive installation and administrative systems; openMosix (a convenient tool for distributing jobs), Linux kernel extensions that transparently migrate processus for load balancing; PVFS, one of the parallel filesystems that make clustering I/O easier; C3, a set of commands for administering multiple systems.
Ganglia, OpenPBS, and cloning tools (Kickstart, SIS, and G4U) are also covered. The book looks at cluster installation packages (OSCAR and Rocks), and then considers the core packages individually in greater depth, for those wishing to do a custom installation Guidelines for debugging, profiling, performance tuning, and managing jobs from multiple users round out this immensely useful book.