Cover V09, I09


Books: A User’s Report

Elizabeth Zinkann

Searching for information is a primary concern in computer technology. Most professionals have favorite references of one type or another. Computer professionals often seem to either be reading a book, or writing something via computer keyboard and terminal. My recent searching yielded a book on high availability, a problem solver, a command reference, and a Web server book. Their respective titles, authors, and publishers are: Blueprints for High Availability: Designing Resilient Distributed Systems by Evan Marcus and Hal Stern (John Wiley & Sons, Inc.), The Linux Problem Solver: Simple Solutions for System Administrators by Brian Ward (No Starch Press), Linux Desk Reference by Scott Hawkins (Prentice Hall, Open Source Technology Series), and Apache Server Unleashed by Rich Bowen, Ken Coar, et al. (SAMS Publishing). (Note: I reviewed The Linux Problem Solver: Simple Solutions for System Administrators in a proof format. Therefore, the page count may differ from the final publication.)

Blueprints for High Availability:
Designing Resilient Distributed Systems
Evan Marcus and Hal Stern
John Wiley & Sons, Inc.
ISBN 0-471-35601-8
344 Pages

The inevitable disaster, whether flood, fire, power failure, or mechanical malfunction, emphasizes the need for both backup/recovery plans and contingency plans. Although the concepts are closely related, the latter keeps a system up and running; the former restores the system to its state prior to any interruption. The success or failure of these plans significantly affects the success or failure of its business. One Internet startup was recently down a total of 24 hours within a three day period. The real impact came after the system was back up. Although the site was operating at full capacity, it had lost (at least temporarily) a sizeable amount of its following. A fault-tolerant or high-availability implementation could have prevented most of the site’s downtime.

In Blueprints for High Availability: Designing Resilient Distributed Systems, authors Marcus and Stern discuss the features of a high-availability system, disaster recovery, failover (the transfer of service from one system to another) procedures, plus backup and recovery implementations. In the introduction, the authors discuss the reasons for a book on high availability, their approach to the topic, and a brief overview of the book’s contents. In the following chapter, What Is Resiliency?, Marcus and Stern define resiliency, high availability, downtime, and failover. They examine various types of failures, cost and risk tradeoffs, and different levels of availability. Chapter Three, Twenty Key Design Principles, presents some essential and basic guidelines for effective server design.

The succeeding chapters comprise the heart of the book: Highly Available Data Management, Redundant Server Design, Failover Management, Failover Configurations and Issues, Redundant Network Services, Data Service Reliability, Replication Techniques, Application Recovery, Backup and Restores, System Operations, and Disaster Recovery. Marcus and Stern illustrate the possible options of high availability, failover concerns and procedures, backup and recovery processes, and disaster recovery routines. The concluding chapter, Parting Shot, includes a glimpse of past and future development (the rest of the book covers the present) followed by the Appendices, which contain A) Glossary and B) A List of URLs.

The concept of high availability is a challenge to explain. Most novices readily identify it as fault-tolerance. This usually leads to a second explanation of the term, including a sentence or two on what it isn’t. In Blueprints for High Availability: Designing Resilient Distributed Systems, Marcus and Stern admirably demonstrate what HA is and what it is not. They thoroughly define both high availability and its related concepts, i.e., fault tolerance, resiliency, etc. The authors discuss the current options a systems administrator has, and the utilities he or she may employ. Throughout the book, the authors merge humor and reality, epitomized in their Tales from the Front examples. Most of the chapters conclude with a Key Points summary, highlighting the essential principles of that chapter. This is an outstanding book that I recommend to anyone responsible for a system’s reliability. The combined experience and invaluable expertise of Evan Marcus and Hal Stern integrated with examples encountered in the real world presents an excellent introduction and reference to high-availability concepts and practices.

The Linux Problem Solver:
Simple Solutions for System Administrators
Brian Ward
No Starch Press
ISBN 1-886411-35-2
239 Pages
CD-ROM Included

The installation and configuration of any operating system is seldom question free. The basic initialization of the system, its components, and its peripherals may give the illusion of automatic configuration, until you examine its network, printing, or display configuration. The Linux operating system allows the new user (disguised as superuser) to change many configuration files that the user may not really want changed. The Linux Problem Solver addresses system configuration problems and demonstrates how to fix them. Ward assumes that the reader has a basic knowledge of UNIX/Linux commands and some familiarity with a Linux text editor. With those fundamentals, access to a Linux system, and this book, even a new user can implement solutions to common Linux queries. The first chapter, About This Book, describes Fighting Fires, Conventions, and Linux System Basics. The initial section alludes to the UNIX firefighting term, which is synonymous with troubleshooting. In this brief introduction to the book, Ward advises:

Even if you’re not having the problem, try not to skip over it as you’re reading the book — at the very least, look at the symptom description. You’ll probably run into it sooner or later. [ Page 1 ]

Hopefully, you will remember where you read the solution when you encounter the problem. The Conventions section presents an overview of the book’s layout and format, while the Linux System Basics section provides a review of the Linux system essentials. Ward has essentially written two books, for the price of one! Each chapter concentrates on a topic, such as Network Installation, and its properties and configuration. In the Network Installation chapter, this includes an Introduction, Basic Commands and Files, PPP Configuration, Routing, IP Filters, Firewalls, and IP Masquerading, Network Security, and Diagnostics. Simultaneously, the author also addresses specific problems displayed in a separate format, consisting of a Symptom, Problem, and Fix. Additional warnings, notes, and references are utilized when applicable. Ward presents the chapters in the following order: Network Installation; NFS, NIS, and rdist; MS-Windows and AppleTalk Networks, Web Proxy Server; Printing; Installing Software from Source Code; Kernel Upgrades; Backups and Crash Recovery; and User Environments. Other information provided in the book includes Appendix A: List of Problem Boxes, About the CD-ROM, an Updates Page, Index, and Glossary. The accompanying CD-ROM contains the packages mentioned in the book, the complete Linux HOW-TOs and Mini-HOW-Tos, plus an Emergency CD-ROM Boot Support utility.

The Linux Problem Solver: Simple Solutions for System Administrators by Brian Ward demonstrates a clearly written and informative approach to Linux concepts and procedures. The problems utilize their own format of symptom, problem, and fix. The problems are also set apart from the central discussion so that they can be read without interrupting the reader’s train of thought or independently, since the problems are indexed separately. Ward’s definitions, explanations, examples, and answers illustrate an extensive knowledge of the UNIX and Linux operating systems, coupled with an ability to impart this understanding to others. This fortunate combination makes The Linux Problem Solver: Simple Solutions for System Administrators an excellent book and reference and an ideal choice for both beginning and experienced administrators.

Linux Desk Reference
Scott Hawkins
Prentice Hall
Open Source Technology Series
ISBN 0-13-016391-0
545 Pages

The cover of the Linux Desk Reference by Scott Hawkins depicts the legendary Minotaur. It is an appropriate figure for administrators who (like Theseus) are endeavoring to discover their way through a labyrinth of commands, syntax, and options. This is an excellent thread that conveniently demonstrates the way (or ways, since there is frequently an alternative command to achieve the same result) to accomplish any given task. This reference is divided into four main sections: System Structures, Manipulating Data & Text files, Common Tasks, and Networking.

The first section, System Structures, examines commands relating to Files, Process, Standard Input, Output, and Error, Directories, Users, Paths, The Bash Shell, Terminal & Keyboard, Disks, Filesystems, Printers & Print Queues, Daemons, Machine Information, and the Kernel. The second part, Manipulating Data & Text Files, details Displaying Files, Comparing & Merging Files, Data Files, Document Formatting, The vi Editor, and Archiving & Compression. Common Tasks are discussed in Part 3, including Startup & Shutdown, the X Window System, Scheduling, Finding Stuff, Diagnostics & System Performance, Security, and Miscellaneous. The final section, Networking, defines TCP/IP, Networking Applications, NIS & NFS, DOS & Windows Connectivity, and Mail & Other Communication. Information that is not within the sections includes a Glossary, Index, the Introduction, a Command List, and Chapter 1, which describes Documentation commands.

The Linux Desk Reference is a valuable source and guidebook to Linux commands. Each chapter begins with a brief introduction to the topic; each entry contains the basic command and its syntax, followed by its description and at least one example. If the command’s usage is restricted, the root indication appears in the margin, followed by the command’s options and their respective descriptions. The chapter headings are shaded on the side of the page, creating a tabbed appearance, not unlike a dictionary. This feature makes it easy to locate any chapter. The Table of Contents also lists the commands discussed within each chapter. The Command List, which is in alphabetical order and precedes the first chapter, is one of the easiest ways to locate a specific command and the Index also provides an efficient search utility. This is a superb book that I use regularly. Its organization and plentiful examples also make it an excellent choice for any Linux novice. I included a copy of this reference with a dual boot system that I recently assembled for a client who wants to learn Linux. It’s also distributed with one version of the Caldera Linux distribution.

Hawkins provides a superior combination of explanations, descriptions, and examples. Every Linux user, whether novice or experienced administrator, will value the organization and contents of the Linux Desk Reference.

Apache Server Unleashed
Rich Bowen, Ken Coar, et al.
SAMS Publishing
ISBN 0-672-31808-3
628 Pages
CD-ROM Included

The Apache server’s capabilities and possible configurations probably elicit more questions than any other single technical topic within computing. Most of the inquiries are restricted to its basic configuration, although some queries relate to its security and authentication concepts. In Apache Server Unleashed, the authors approach the topic in six sections: Introducing Apache, Configuring Apache, Dynamic Content, Setting Up Security and Auditing, Development, and the Appendixes. Following the introduction, the first section, Introducing Apache, addresses Apache’s History and Lore; HTTP; Compiling and Installing Apache; and Starting, Stopping, and Restarting the Server. Part II, Configuring Apache, discusses Server Configuration Files, Configuring Apache with Comanche, MIME Types, .htaccess Files, Virtual Hosting, and Using Apache as a Proxy and Cache Server. In the third section, the authors describe CGI Programming; SSI: Server-Side Includes; Using Cookies; and Handlers. Setting Up Security and Auditing explores Security, Authentication, Spiders, Robots, and Web Crawlers, and Logging. The concluding section, Development, features an Introduction to Apache Modules, Using Standard Apache Modules; Using the Perl Module; Using the PHP Module; Other Well-Known Modules; Working with the Apache API; and Contributing to Apache. Part VI, Appendixes, includes A) The Apache License, B) Apache Version History, C) Configuration File Listings, and D) Where to Get More Information. The accompanying CD-ROM contains the Apache 1.3.9 source code and Windows binary, plus an assortment of utilities possessing Comanche, CGIWrap, MOMspider, and more.

Apache Server Unleashed provides a superior reference and resource. In a straightforward format, the authors present the standard directives, describing their default values, what actions they either permit or allow, and how changing them will impact the server. The authors also discuss the standard modules and their implementations and default values. Additionally, they review starting and restarting the server, what the mod_perl and mod_php modules can do, and CGI and SSI considerations. The final chapter in the book informs the reader how to contribute to the Apache project through donations, projects, testing, documentation, and source code. Apache Server Unleashed allows the user to quickly access the information he or she requires, identify problems documented in log files, and personally customize the server. This is a valuable and practical guide to Apache server configuration, features, and implementation for both the user and the systems administrator. n

About the Author

Elizabeth Zinkann has been involved in the UNIX and C environment for the past 13 years. She is currently a UNIX and C consultant, and one of her specialties is UNIX education. In addition to her computer science background, she also has a degree in English. Her writing has also appeared in Linux Magazine, Performance Computing, and Network Administrator. Elizabeth can be reached at: