If you want to build a new Linux workstation, there is a fair chance that you would install an Ubuntu distribution or one of its variants such as Xubuntu. But to build a server, you would use a Red Hat distribution or a derivative like CentOS, wouldn’t you? The Kickstart mechanism available with these products makes them especially easy to install in server farm and cluster facilities.
In the introduction to this book, the authors suggest that the Ubuntu Server distribution is an alternative worth considering, because it installs a minimal set of daemons by default and can therefore offer a reduced footprint with a higher level of security. Commercial support is also available.
The book comes with installation CDs for 64-bit 12.04.02 LTS and 13.04. Depending on your needs, you might want to download more recent distributions, or perhaps the 32-bit versions. Chapter 1 walks readers through the installation with screenshots and includes some useful suggestions on partitioning arrangements and server-role selection.
Chapter 2 covers the boot process. There are a couple of paragraphs on configuring a boot loader (GRUB2), and a few more on the differences between the System V and Upstart mechanisms. The authors provide sample Upstart scripts and a brief overview of the xinetd service. The chapter ends with a summary of network configuration.
Package management is dealt with in some depth in chapter 3, while the following chapter discusses automated installation. The authors recommend the Ubuntu version of Kickstart, with some additional preseed directives.
In chapter 5, “Guide to Common Ubuntu Servers,” readers learn how to configure support services such as domain name system (DNS) servers, mail servers, and WordPress environments. I found the coverage of Edubuntu and the Linux Terminal Server Project (LTSP) really interesting.
Chapters 6 through 8 deal with security (sudo, AppArmor, firewalls, Tripwire), backups (database, BackupPC), and monitoring (smartmontools, Ganglia, Nagios). There are no surprises here, and the coverage is comprehensive.
The chapter on virtualization and cloud computing delivers just what it promises, with detailed descriptions of how to install kernel-based virtual machine (KVM), configure the host network card(s) for bridging, and use the command line to create a new virtual machine. A graphical console tool is also discussed. The remainder of this chapter uses screenshots and comprehensive details to illustrate how to set up an Amazon EC2 account, and then select an Amazon Machine Image and instantiate it. Commands for starting, stopping, and destroying the resultant machine are included. The Juju mechanism for deploying a service (such as WordPress backed by a MySQL database executing on a different server) is also illustrated.
The chapter on fault tolerance shows how to create software RAID 1 and RAID 5 devices, either during installation or from existing non-RAID partitions. Readers who have ever contemplated adding a disk to convert a RAID 1 device to a RAID 5 device can find out how to do that here. Some suggestions are also given regarding logical volume management.
Later sections of the chapter demonstrate the deployment of ethernet bonding, and show how clusters can use the heartbeat tool to take action in response to an ailing host. In most instances, the takeover host will need to access the same data, and this can be accomplished by replication using the distributed replicated block device (DRBD) mechanism. Sample DRBD configuration files are provided, and the authors discuss recovery from a “split-brain” incident.
I would have liked to have the chapters on troubleshooting, rescue, and recovery on my bookshelf years ago. The authors suggest a logical sequence of steps to progressively isolate and diagnose problem instances, using simple load-measurement and network-test tools. The explanation of top is among the best I’ve seen. Recovery is dealt with in a similar way, beginning with minimally invasive techniques such as disabling suspect start-up scripts, and progressing through to deleted file recovery and partition table restoration.
The book ends with short chapters on support resources and basic Linux commands. There is also an appendix (“Cool Tips and Tricks”) with a number of command-line suggestions for housekeeping tasks such as testing email functionality using a telnet command.
If you manage an Ubuntu server facility, you must have this book! If you manage a large high-performance cluster, you might need some additional books for help with configuring RAID 60 or performing kernel rebuilds for interconnect drivers.
More reviews about this item: Amazon