IntroductionIntroduction
Linux has been increasing in popularity ever since its inception. With theexplosive growth of the open-source movement and the viability of what it can dowith an alternative operating system, Linux has grown into a mature, stableenvironment in which to host mission-critical applications and research.
It's this very nature of Linux and its open-source code that makes itattractive for hobbyists, educators, and research environments. Thousands ofprograms are available to enhance the user experience and allow the seriousadministrator to enhance or create his environment with Linux. It's thisflexibility and maturity of the operating system that allows people to easilycluster their Linux machines.
Having two or more machines act in concert with one another isn't rocketscience; in fact, anyone with any motivation and a skill for reading a book canmake computers do wondrous things. From load balancing to developing a thousandnode parallel computer, Linux is more than able to handle the task.
This book takes you through the construction of several types of clusteringby using Linux, and explains step by step how to get there. We'll coverhandy tips on the way, as well as explain why things work the way they do. In notime, you'll be able to create high availability and Beowulf type clusterswith the best of them.
Who Should Read This Book
This book is for Linux enthusiasts and users who want to get a Linux clusterup and running with the least amount of fuss. Administrators will find this bookparticularly helpful in learning the why's and how's of getting Linuxto do amazing things with more than one computer at your disposal.
This book will help if you need to introduce a large parallel or distributedcomputing cluster to your environment, and the ways that one can solve largecomputational problems using Linux. Methods to install, maintain, and back uplarge cluster farms are discussed. We'll also cover the software andhardware needed to create such a solution.
If you're looking for an enterprise-level load balancing orhigh-availability solution to your environment, Chapters 5 and 6 coverinstallation and configuration of Linux solutions to these issues. Not only doesthis book cover the basics behind these, but it also tells the best practicesand methods to get a solution up in the quickest amount of time. Softwareinstallation and configuration examples are given to bring readers up tospeed.
Who This Book Is Not For
This book assumes that the reader is comfortable with Linux. It does not leadthe user though basic tasks, such as installation of the operating system,adding users, or window manager configuration. More knowledge might need to begarnered to bring the user up to speed.
This book is also not for seasoned professionals who have a deepunderstanding of clustering. This book does not cover performance tuning or deepcluster theory. This book is specifically designed for those who need a clusterup, now. This book is not designed for those who already have a cluster plannedor running in their environment.
Overview
This book is divided into four parts that describe the planning andconfiguration of Linux clusters. Part I is designed as an introduction toplanning and configuring the environment that is needed to bring a cluster up tospeed in the shortest possible time. Part II is devoted to the installation andsupport of the various types of Linux clusters. Part III introduces programminglibraries and what to do when a cluster fails.
Part I is separated into four chapters. Chapter 1, "ClusteringFundamentals," briefly introduces Linux clustering in general, and why itmight be applicable to you or your environment. Chapter 2, "Preparing yourLinux Cluster," discusses how best to select the parts that are needed toinstall your cluster and the environment in which it's housed. Chapter 3,"Installing and Streamlining the Cluster," discusses best practicemethods on how to install large numbers of machines in the shortest and easiestamount of time. Chapter 4, "Alternative File Systems," discusses thelimitations of the current standard file system, ext2, and discusses othermethods to improve on it, and file system tricks.
Part II includes four chapters that deal with the clustering technologiesthemselves. Chapter 5, "High Availability and Fault-TolerantClusters," introduces high-availability systems, how they work, and howbest to implement the hardware and software. Chapter 6, "LoadBalancing," talks about the best ways that Linux can direct traffic tomultiple machines. Chapter 7, "Distributed Computing," introduces thedistributed model as a means to solve large computational problems. Chapter 8,"Parallel Computing," also expands on this model in a slightlydifferent approach. This chapter is skewed to parallel and commoditycomputers.
Part III deals with the care and feeding of a cluster. Chapter 9,"Programming a Parallel Cluster," references programming libraries andprograms that illustrate these libraries. Chapter 10, "ClusterManagement," discusses best practices to keep your cluster in check andmonitored for problems. The final chapter, Chapter 11, "Recovering WhenDisaster Strikes," deals primarily with disaster recovery.
Part IV contains reference material for the cluster designer. Appendix Aincludes cluster resources on the web and where to find more information.Appendix B is a reference for Kickstart options for Red Hat Linux. Using theseoptions, one can populate a cluster in no time with an unattended install.Appendix C details DHCP options in greater depth for the cluster, so that onecan maintain large clusters in a central location with ease. Finally, Appendix Ddetails class attributes for Condor, which is a distributed environmentcluster.
If you're familiar with clusters in general, it might behoove you toperuse Part I and move right on to Part II where the cluster you'reinterested in is discussed. You'll want to hit Part III right after becauseof the information that discusses keeping your applications and servers up.
Conventions
This book follows a few typographical conventions:
Italics indicate new terms the first time they're introduced, and are used for emphasis.
A special monospace font indicates code, a filename or pathname, or an Internet address.
© Copyright Pearson Education. All rights reserved.