In the world of Linux administration manuals, many trees are killed for the sake of regurgitating (sp?) things like 'what is Linux?' and 'the history of Linux', and 'how to install...' blah, blah, blah. Even in some of the more specialized or 'advanced' manuals, the first three chapters cover nothing but how to install . It's usually safe for an experienced admin to skip about the first 100 pages of these books, which makes us just that much more bitter that we spent our money for that. None of that here though! Read on about my review of 'NFS and Automounter Administration', written by Erez Zadok, longtime maintainer of the Amd automounter, and a code wizard with many rewrites and enhancements to the am-utils package to his credit.
I work in what I feel is a sufficiently challenging automounter environment. Amd is used alongside Autofs in a heterogenous environment that includes Linux, Solaris and IRIX boxen. The configuration of these tools is centralized through the use of mounted directories containing the config files, and also via NIS maps. Part of my job as an administrator happens to be building and maintaining Linux kickstart trees, one of the pleasures of which is keeping up with changes in each new version of Redhat as they come out, so the changes can be accounted for in the new kickstart trees. One of my biggest problems (being that I'm in a fairly new position, and thus, environment) is coming to grips with our automount implementation. From the moment I picked up this book, it has not left my side.
I will make two statements up front: One is that I'm positive that this book saved me from hours of sifting through mailing list archives and other similarly monotonous activities in my quest for information that was critical to my job. The other thing is that the book is not without its flaws. Luckily, Sybex keeps an errata page for the book, so be sure to visit the errata page if you come across any random weirdness :) Having read the book nearly cover to cover, I can say that the few token flaws I noticed will not hinder even a somewhat competent admin.
The books starts by immediately diving into the meat of NFS, covering things like RPC and XDR without the usual 'what is...?' stuff that would just serve as an annoyance to anyone who would buy this book. It's not gonna tell you what 'ls' and 'cd' are. In fact, it's not even gonna tell you what the '-l' flag to 'ls' does. It's assumed by the author (rightfully) that you bought this book because you are an admin using this book for work in an environment that either uses these tools, or one that may benefit by their implementation. This book is NOT for the home user (though I use it at home now for my 12GB /mp3 partition --rip once, run anywhere!
The first 217 pages is devoted to getting a very thorough understanding of NFS, including the differences between the different versions of the protocol, and the risks and rewards of using each version in your implementation (referencing both 2.2 and 2.4 Linux kernels throughout). Every conceivable scenario is played out in detail using examples that map directly to real-life (or very close to real life) situations. Toward the end of Part 1 of the book are the most thorough descriptions of both common and advanced NFS problems I've ever seen. Every problem I've ever had with NFS, and many that I haven't ever seen were covered expertly, and in plain English (about 25 pages worth!). Throughout my reading, I couldn't help but feel as though I was reading friendly replies to questions submitted to a BBS or a mailing list - only this time written by the guy who wrote most of the stuff!
The only downside to Part 1 of the book (which covers NFS exclusively) is really only a temporary one: I initially felt that too much time was spent covering the NFSv4 spec. However, this thought soon faded as I realized that it's something I have to eventually know as well, and that this book just saved me from having to buy yet another NFS book when v4 gains wide acceptance. It also clued me in to why one might (or might not) choose to go with v4. It certainly was *not* a waste, I just happened to be looking for more information I could use 'here and now'. Lucky for me, the book is laid out such that I was able to easily skip to the parts I needed, and HERE'S A REFRESHING CHANGE: None of the examples I read referred to or depended on examples that were in some earlier chapter that I didn't read! In addition, there were many references to 'Listing x' or 'Figure y', almost all of which were located on the same page I was reading, which is great for admins with an attention deficit problem (which is me after a few pots of only the finest Starbucks coffee).
Part II of the book covers in great detail the Amd and Autofs automounter daemons. They are covered separately, but the text also discusses using the two together. I felt that the coverage of the actual inner workings of both daemons was absolutely fantastic. It is a very 'no-nonsense' approach to writing that, if used by other authors, would save (on average) about 200 pages per book, and would save Barnes&Noble about two whole bookcases worth of space in their computer section. This book delivers the facts in short order, and instead of covering disgustingly miniscule details of memory registers used by the program, covers things I'll actually be able to use in my work, like a thorough discussion on when to set or unset 'browseable_dirs' on a system, or what conditions are likely to hang my Amd daemon that I never thought about ( mount storms are COOL ). This book covered implementation and configuration options that many admins probably didn't even know EXISTED! For a quick teaser: Did you know that if you're centrally managing your config files, you DO NOT need a different file for each os and version? I'm currently in the process of consolidating about 8 config files down to one, and moving the file to a non platform-specific config tree! Thanks Erez!
After gaining a thorough grounding in how to be a sick Amd admin, you move on to Autofs, it's basic configuration, when to use it, why to use it, how to use it with Amd, etc. He covers using these tools, separately and together, with various technologies common in today's larger environments such as LDAP, NIS, Hesiod, etc. This is the part where the 'warning' sections really kicked in for me. Erez maintains one of the amd mailing lists, as well as the am-utils code. Being this close to the community that uses his tools, he's very in tune to what the common misunderstandings are surrounding the implementation of automounters. He's very willing to share his wisdom with the reader, and often puts the most common problems into a warning box, explaining things like 'Don't confuse Amd, Autofs and automount' - going on to explain the differences between them in about a paragraphs worth of space. Very nice.
I don't imagine that this review could possibly cover everything I liked about the book and still keep a readers interest. I'll simply say that if you're an admin in an environment that uses NFS, Amd and/or Autofs, you need this book. If you're a consulting admin who just walked into an environment that uses this technology, you will thank your lucky stars you own this book. As for me, while I still have some questions about Amd, Autofs and NFS, my questions now revolve more around the choices that were made in my environment (before I got there), not the technologies themselves. What more can you ask for?
Added: January 23rd 2002
Reviewer: Brian (Duh)
Score: * * * * *