Introduction

Linux has been increasing in popularity ever since its inception. With the explosive growth of the open-source movement and the viability of what it can do with an alternative operating system, Linux has grown into a mature, stable environment in which to host mission-critical applications and research.

It’s this very nature of Linux and its open-source code that makes it attractive for hobbyists, educators, and research environments. Thousands of programs are available to enhance the user experience and allow the serious administrator to enhance or create his environment with Linux. It’s this flexibility and maturity of the operating system that allows people to easily cluster their Linux machines.

Having two or more machines act in concert with one another isn’t rocket science; in fact, anyone with any motivation and a skill for reading a book can make computers do wondrous things. From load balancing to developing a thousand node parallel computer, Linux is more than able to handle the task.

This book takes you through the construction of several types of clustering by using Linux, and explains step by step how to get there. We’ll cover handy tips on the way, as well as explain why things work the way they do. In no time, you’ll be able to create high availability and Beowulf type clusters with the best of them.

Who Should Read This Book

This book is for Linux enthusiasts and users who want to get a Linux cluster up and running with the least amount of fuss. Administrators will find this book particularly helpful in learning the why’s and how’s of getting Linux to do amazing things with more than one computer at your disposal.

This book will help if you need to introduce a large parallel or distributed computing cluster to your environment, and the ways that one can solve large computational problems using Linux. Methods to install, maintain, and back up large cluster farms are discussed. We’ll also cover the software and hardware needed to create such a solution.

If you’re looking for an enterprise-level load balancing or high-availability solution to your environment, Chapters 5 and 6 cover installation and configuration of Linux solutions to these issues. Not only does this book cover the basics behind these, but it also tells the best practices and methods to get a solution up in the quickest amount of time. Software installation and configuration examples are given to bring readers up to speed.

Who This Book Is Not For

This book assumes that the reader is comfortable with Linux. It does not lead the user though basic tasks, such as installation of the operating system, adding users, or window manager configuration. More knowledge might need to be garnered to bring the user up to speed.

This book is also not for seasoned professionals who have a deep understanding of clustering. This book does not cover performance tuning or deep cluster theory. This book is specifically designed for those who need a cluster up, now. This book is not designed for those who already have a cluster planned or running in their environment.

Overview

This book is divided into four parts that describe the planning and configuration of Linux clusters. Part I is designed as an introduction to planning and configuring the environment that is needed to bring a cluster up to speed in the shortest possible time. Part II is devoted to the installation and support of the various types of Linux clusters. Part III introduces programming libraries and what to do when a cluster fails.

Part I is separated into four chapters. Chapter 1, “Clustering Fundamentals,” briefly introduces Linux clustering in general, and why it might be applicable to you or your environment. Chapter 2, “Preparing your Linux Cluster,” discusses how best to select the parts that are needed to install your cluster and the environment in which it’s housed. Chapter 3, “Installing and Streamlining the Cluster,” discusses best practice methods on how to install large numbers of machines in the shortest and easiest amount of time. Chapter 4, “Alternative File Systems,” discusses the limitations of the current standard file system, ext2, and discusses other methods to improve on it, and file system tricks.

Part II includes four chapters that deal with the clustering technologies themselves. Chapter 5, “High Availability and Fault-Tolerant Clusters,” introduces high-availability systems, how they work, and how best to implement the hardware and software. Chapter 6, “Load Balancing,” talks about the best ways that Linux can direct traffic to multiple machines. Chapter 7, “Distributed Computing,” introduces the distributed model as a means to solve large computational problems. Chapter 8, “Parallel Computing,” also expands on this model in a slightly different approach. This chapter is skewed to parallel and commodity computers.

Part III deals with the care and feeding of a cluster. Chapter 9, “Programming a Parallel Cluster,” references programming libraries and programs that illustrate these libraries. Chapter 10, “Cluster Management,” discusses best practices to keep your cluster in check and monitored for problems. The final chapter, Chapter 11, “Recovering When Disaster Strikes,” deals primarily with disaster recovery.

Part IV contains reference material for the cluster designer. Appendix A includes cluster resources on the web and where to find more information. Appendix B is a reference for Kickstart options for Red Hat Linux. Using these options, 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 one can maintain large clusters in a central location with ease. Finally, Appendix D details class attributes for Condor, which is a distributed environment cluster.

If you’re familiar with clusters in general, it might behoove you to peruse Part I and move right on to Part II where the cluster you’re interested in is discussed. You’ll want to hit Part III right after because of 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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.191.86