I recently received a review copy of the book "Xen Virtualization" by Prabhakar Chaganti (Packt Publishing) and finished reading it a few days ago.
The subtitle "A fast and practical guide" is a matching description - I managed to read the ~130 pages over the course of a week. The book is by no means an exhaustive reference manual, but it gives the reader a good overview about Xen and assists with performing the first steps and getting started.
After a short introduction into the subject of virtualization and Xen in particular, Chaganti first describes the initial installation and configuration of Xen on a Linux host, both using pre-built binary packages as well as compiling from source. Having worked for a Linux distributor for some time, I cringed over the fact that Prabhakar explains how to compile Xen and the kernel from source. While there certainly are cases in which this may be necessary (and he does give a few reasons for when it's advisable), I would have preferred that he would have stuck to using the Xen packages that are shipped with most distributions by default. For a majority of users this provides ample of opportunity for testing and getting started with Xen, without having to go through the hoops of compiling and risking inconsistencies. Instead, I personally would have preferred some coverage of how to use Xen on openSUSE in particular - the book mostly refers to Debian/Ubuntu or Fedora/CentOS in the examples. From an administrator's point of view, covering the support of Xen in the two most popular Enterprise Linux Distributions (RHEL and SLES) would probably have been a good addition, too.
The following chapter explains various techniques on how to install and configure different guest domains like Ubuntu Linux or NetBSD. I found some of the installation methods rather intriguing, for example the idea of using Qemu for performing the initial installation of CentOS into a disk image. Next, some of the available management tools are briefly mentioned, I personally would have liked to read some more about "Xen manager (xm)", the core commandline utility that ships with Xen. But the missing information could quickly be gathered by reading the xm(1) man page afterwards. The next chapters go over some of the available network configuration options, different storage solutions and how to secure domains by using disk encryption. The author also explains how to perform a live migration of domains from one machine to another as well as how to save and restore the state of a running domain. All these chapters provide good starting points for delving deeper into these subjects, often with pointers to recommended followup readings.
As the back cover notes, the book is written for Linux system administrators - most chapters use very explicit command sequences performed on the shell. The author makes a lot of assumptions and sometimes skips some steps, so you need to have a good level of experience with the commandline in order to follow and adapt his examples to your local setup. I liked the way how each of the command sequences are followed by a "What Just Happened" paragraph, that summarized and explained the key actions that he performed. Also, each major chapter has a closing "Summary" paragraph that recaps the important points. This really helps to let the new information sink in and to memorize the takeaways.
I found Chapter 5 "Networking" a tad bit confusing after the first read. While the author included some graphics to visualize the differences between the different networking modes he described (bridged, routed and VLAN), I somehow failed to get the key differences and when it makes sense to use which technique. Reading this chapter a second time helped to clear some of the confusion. All of the examples given use static IP addresses, I somehow missed a section that explains how to setup DHCP for the network configuration of the guest domains.
One thing in the chapter about storage solutions could have been explained in more detail: in the section about LVM I would have loved to see an example of how using LVM snapshots could come in handy for quickly cloning Xen guest domains without requiring large amounts of disk space. Just explaining how LVM could be used instead of plain hard disk partitions did not really explore its full potential.
While reading the book, I stumbled over a few small errors in some of the commands (missing/extraneous spaces or slashes, probably caused by the typesetting), but they are all easy to overcome by an experienced commandline user and have quickly been added to the errata sheet on the website. Also, I sometimes got the feeling that "dom0" and "domU" were confused an a few places, but it was usually clear from the context which domain the author was referring to.
All in all I found the book a good read. It's a compact and practical introduction to Xen for Linux admins or seasoned users, just enough to get you started without too much intimidating/confusing detail. I personally learned a lot about Xen - this was the first time I really took a closer look at this technology. The book inspired me to explore the possibilities of it some more and find out how it compares to VirtualBox (which has become my favourite tool for evaluating other operating systems).