Running Xen
David Martinjak writes "Running Xen: A Hands-On Guide to the Art of Virtualization was published by Prentice Hall, and authored by Jeanna N. Matthews, Eli M. Dow, Todd Deshane, Wenjin Hu, Jeremy Bongio, Patrick F. Wilbur, and Brendan Johnson. The book, which will be referred to as simply Running Xen, was a great resource on Xen and virtualization from the administration side. A wide range of topics was covered from installing Xen all the way up to managing virtual resources, including migrating guest environments. Overall, the explanations were concise and understandable; while the information was presented in a straightforward manner. Running Xen was definitely a useful resource for administering systems with Xen." Keep reading for the rest of David's review.
Running Xen: A Hands-On Guide to the Art of Virtualization
author
Jeanna N. Matthews, Eli M. Dow, Todd Deshane, Wenjin Hu, Jeremy Bongio, Patrick F. Wilbur, and Brendan Johnson
pages
586
publisher
Prentice Hall
rating
9
reviewer
David Martinjak
ISBN
0132349663
summary
A hands-on guide to virtualization with Xen
The flow of the book was intuitive, and reasonable; this was especially valuable for discussing a newer technology where the terms could be confusing. Fortunately, the authors kept the language clear so that the reader easily could understand the subject of discussion. This unambiguous presentation of content was a welcomed feature.
Running Xen started with a thorough-enough explanation of virtualization. Several different approaches to virtualization were compared and contrasted, which should help the reader to understand where Xen resides in the whole domain. This first chapter was a great introduction as it provided just the right amount of information. At no point did I consider the explanations to be short or lacking; nor did I feel overloaded with details. The authors seemed adequately aware that the title of the book was Running Xen, and they stuck to that scope.
After the introduction, the book moved right into actually running Xen. This helped to keep the my attention on the subject, and tied back in to the proper flow of the material. At first, the chapter began with baby steps. It introduced the Xen LiveCD, and information on working within the Xen environment. Subsequent chapters moved into a more intermediate level of usage: installing Xen in a third-party distrobution, and running pre-built guest images. Popular third-party distrobutions such as Ubuntu, Gentoo, CentOS, and OpenSUSE were covered; and this section also included instructions for using compiled Xen binaries and building your own from source.
One of the topics I was most interested in was building a custom, minimal guest environment from a particular distro. Chapter 7, "Populating Guest Images", provided all of the information I was looking for along with some other interesting facts. The popular distros were covered again (Ubuntu, Gentoo, etc.), but this time a twist was added to the mix. "Populating Guest Images" started off with installing Windows XP in Xen. This was a complete surprise to me. If you prefer GNU/Linux on the server, but Windows XP on the desktop, and have been looking to consolidate with virtualization; this chapter is a must-read. The chapter also helped solidify the understanding of concepts presented earlier in the book. For example, the first chapter discussed two different types of guests: paravirtual (PV) and Hardware Virtual Machine (HVM). In "Populating Guest Images", the authors led the reader through building guests of each type. The process was presented in a logical fashion which was easy to follow, making the book that much more enjoyable.
Running Xen then moved on to putting the guests on the network. Chapter 10, "Network Configuration", covered several options for networking guest environments in Xen. It would be an understatement to say that this chapter was thorough. Overall, the authors did a great job explaining the differences between the networking options, and how to implement each one. Unfortunately the needs of the reader are variable, so this chapter overflowed with information. The upside was that readers with complex virtualized network segments will not be disappointed. The downside was that I, personally, only really needed a small percentage of the chapter's content. Therefore, much of the chapter was technically irrelevant to me individually.
There was one other unfortunate issue, which occurred in the next chapter. Chapter 11, "Securing a Xen System", contained syntax errors for iptables rules. Mainly one dash was used instead of two when specifying the destination port in some rules. For example, LISTING 11.10 displayed the syntax -dport which caused an error. However, the syntax was correct at other places in the book (LISTING 10.24, for example). Additionally, there was a problem on output formatting where the command prompt and output lines ran together in the print (LISTING 11.11). This could cause confusion for some readers intently following the text.
My only complaint with the book was that the chapter on network configuration seemed to be rather long. For a person working with Xen at a business level, especially mid-size to enterprise, this chapter provided an excellent amount of insight and information. But for the person at home building his/her own test server for simple purposes, much of the content in this chapter was overkill. Additionally the few syntax errors were eye-sores, but any person with iptables experience could easily identify and fix the problems. It is just in my opinion, a published book should be syntactically correct so that the reader is not presented with contradicting results; nor should the reader have to conduct additional searches to rectify mistakes from the book's pages. However, these items are minor and pale in comparison to the outstanding wealth of knowledge in the text.
This book is highly recommended for anyone interested in virtualization with Xen. In addition to the regular paperback, Running Xen is also available on Safari. The paperback additionally includes a coupon code for a 45-day pass to access the book via Safari online.
David Martinjak is a programmer, GNU/Linux addict, and the director of 2600 in Cincinnati, Ohio. He can be reached at david.martinjak@gmail.com.
You can purchase Running Xen: A Hands-On Guide to the Art of Virtualization from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Running Xen started with a thorough-enough explanation of virtualization. Several different approaches to virtualization were compared and contrasted, which should help the reader to understand where Xen resides in the whole domain. This first chapter was a great introduction as it provided just the right amount of information. At no point did I consider the explanations to be short or lacking; nor did I feel overloaded with details. The authors seemed adequately aware that the title of the book was Running Xen, and they stuck to that scope.
After the introduction, the book moved right into actually running Xen. This helped to keep the my attention on the subject, and tied back in to the proper flow of the material. At first, the chapter began with baby steps. It introduced the Xen LiveCD, and information on working within the Xen environment. Subsequent chapters moved into a more intermediate level of usage: installing Xen in a third-party distrobution, and running pre-built guest images. Popular third-party distrobutions such as Ubuntu, Gentoo, CentOS, and OpenSUSE were covered; and this section also included instructions for using compiled Xen binaries and building your own from source.
One of the topics I was most interested in was building a custom, minimal guest environment from a particular distro. Chapter 7, "Populating Guest Images", provided all of the information I was looking for along with some other interesting facts. The popular distros were covered again (Ubuntu, Gentoo, etc.), but this time a twist was added to the mix. "Populating Guest Images" started off with installing Windows XP in Xen. This was a complete surprise to me. If you prefer GNU/Linux on the server, but Windows XP on the desktop, and have been looking to consolidate with virtualization; this chapter is a must-read. The chapter also helped solidify the understanding of concepts presented earlier in the book. For example, the first chapter discussed two different types of guests: paravirtual (PV) and Hardware Virtual Machine (HVM). In "Populating Guest Images", the authors led the reader through building guests of each type. The process was presented in a logical fashion which was easy to follow, making the book that much more enjoyable.
Running Xen then moved on to putting the guests on the network. Chapter 10, "Network Configuration", covered several options for networking guest environments in Xen. It would be an understatement to say that this chapter was thorough. Overall, the authors did a great job explaining the differences between the networking options, and how to implement each one. Unfortunately the needs of the reader are variable, so this chapter overflowed with information. The upside was that readers with complex virtualized network segments will not be disappointed. The downside was that I, personally, only really needed a small percentage of the chapter's content. Therefore, much of the chapter was technically irrelevant to me individually.
There was one other unfortunate issue, which occurred in the next chapter. Chapter 11, "Securing a Xen System", contained syntax errors for iptables rules. Mainly one dash was used instead of two when specifying the destination port in some rules. For example, LISTING 11.10 displayed the syntax -dport which caused an error. However, the syntax was correct at other places in the book (LISTING 10.24, for example). Additionally, there was a problem on output formatting where the command prompt and output lines ran together in the print (LISTING 11.11). This could cause confusion for some readers intently following the text.
My only complaint with the book was that the chapter on network configuration seemed to be rather long. For a person working with Xen at a business level, especially mid-size to enterprise, this chapter provided an excellent amount of insight and information. But for the person at home building his/her own test server for simple purposes, much of the content in this chapter was overkill. Additionally the few syntax errors were eye-sores, but any person with iptables experience could easily identify and fix the problems. It is just in my opinion, a published book should be syntactically correct so that the reader is not presented with contradicting results; nor should the reader have to conduct additional searches to rectify mistakes from the book's pages. However, these items are minor and pale in comparison to the outstanding wealth of knowledge in the text.
This book is highly recommended for anyone interested in virtualization with Xen. In addition to the regular paperback, Running Xen is also available on Safari. The paperback additionally includes a coupon code for a 45-day pass to access the book via Safari online.
David Martinjak is a programmer, GNU/Linux addict, and the director of 2600 in Cincinnati, Ohio. He can be reached at david.martinjak@gmail.com.
You can purchase Running Xen: A Hands-On Guide to the Art of Virtualization from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
... I don't think the results were favorable.
I don't know why I keeping reading /. book reviews; I never feel like I get much information in exchange for my two minutes. Who is the target audience of this book? What kind of Xen experience did the reviewer have prior to picking up this book? What did he actually learn when he was finished with it? There's too much verbiage attributed to how he "felt" about the book or the style it was written in and not enough hard information.
In my personal experience, Xen isn't that hard to get working. I think I read a single HOWTO and was up and running in an afternoon. I subscribe to the mailing list which is a great resource for the more arcane problems (passing a PCI telephony card to an Asterisk domU, for instance). The developers and veterans are very patient and quite helpful. I was hoping this review would tell me why I should or should not spend money on another Xen resource. Since I feel like I still don't know anything about the book, it has failed to do so.
Entrepreneur : (noun), French for "unemployed"
Was there any mention in the book of Xen hardware, pitfalls, recommendations, and so on? I am trying to evaluate a number of hardware appliances like this one from 360is (PDF) and ahead of projects like the SPEC benchmark there is a lack of information.
AG.
Haven't the kernel developers basically given xen the cold shoulder, preferring now to dedicate their efforts to kvm, the virtualization solution which is now part of the mainline kernel? The problem, from what I recall from reading some threads on the subject a while back was that xen needs to keep pace w/ kernel driver development work, which is an extra effort for the developers. It's easier for them with kvm since it's part of their dev tree. Right now I think Ubuntu is the only big distributer shipping kvm; Redhat et al are doing xen .. I think (corrections please). On that count, xen is doing well. But moving forward, it seems like they have to do a lot of extra work to track kernel development, which will be made harder by virtue of the fact that key kernel developers may not feel like devoting time to what they feel is a duplicate effort.
No doubt I could figure it out somehow, but a FM to R would sure be nice.
It turns out that you can't boot the BeOS 5 Pro CD under either Parallels or QEMU; the boot loader can't find the kernel, possibly because it accesses the CD drive in a different way than most other operating systems.
I figured out a painful yet effective way to install the BeOS under QEMU: install it on a real machine, then copy its partition into a disk image that's booted under QEMU. It involves a lot of tinkering with dd and sfdisk, a utility that allows one to specify partitions by exact sector numbers.
Request your free CD of my piano music.
If you'll excuse my off-topicness for a moment here, I can't be the only one who was thinking "Wait, someone actually wrote a serious book about Half-Life?" when clicking onto this...
"Let's face it, it's a good story. Accuracy would kill it."
Seeing how Fedora basically spearheaded development of Xen, including it since Fedora Core 4, I find it hard to believe that there's no mention of it.
Check out Unsealed: Whispers of Wisdom! http://unsealed.k3rnel.net It's an action-RPG about Open Sourcerers.
On the other hand, most of us have read Zen and the Art of Motorcycle Maintenance. Which still doesn't tell you how to fix your motorcycle, that's what's so Zen about it.
"What's the sound of one hand adjusting a timing belt?"
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
And where does virtualbox fit in with all this?
ZATAOMM made a huge difference to my life when I first read it, so I was very eager to read Pirsig's second book, Lila, but I just couldn't get into it.
I've been meaning to try again though because Pirsig says the discussion of philosophy is much deeper in Lila.
Request your free CD of my piano music.
In order to increase the relevance of this book review to the slashdot readership, it would be helpful to include in the summary a definition of what Xen (or the book's technological focus) is. I skimmed the book review and still couldn't find a definition of Xen- I wanted to know if it was a free, open source virtual machine emulator. It is. I am not dissing this review. Just trying to provide feedback to this reviewer so the next review can be written to draw more people into reading and learning about the subject of the book.
Seth
$5 / month hosted VPS on linux = awesome!
The two biggest issues that bit me:
1. I wanted to use external USB drives in a xen virtual machine. I can do PCI passthrough (exposing a whole PCI device) to a guest but only on linux. Solaris support doesn't exist yet and I think the FreeBSD support is still in the pipeline. Tough luck if you want to run, say, a kernel-based ZFS distro on a guest OS like I did. I ended up using a linux guest with para-virtualized PCI and zfs-fuse but I still have some memory leak issues that mean I have to restart the fuse daemon every so often - not ideal.
2. I wanted to virtualize an old windows PC used to run through web logfiles once a month. Xen can't virtualize DMA access so for hardware virtual machines like Windows XP, you end up with IO based disk access which uses MUCH more CPU than DMA access - especially for this sort of task.
The book HAS to be better than the documentation that RedHat provides for RHEL 5 Virtualization. It ranks among the worst-written, most useless documents I've read in a long time.
Hello little man. I will destroy you!
xm destroy ./
xm create ./
And hey presto, it's back!
http://www.qstation.org/BNSF_Triple_Crown/
http://www.deluxeinnovations.com/rolling/rollingwnc01.html
You're using her as bait, Master!
You know, I can't agree with you there, on account of my being an IT professional evaluating xen for a mid-sized to enterprise business. On one hand, your review told me this book will probably be quite helpful for setting up xen in complex network environments. On the other hand, you seem to be looking for a couple HOW-TO documents and a PHP forum aimed at amateur home installations.
Causation can cause correlation
Resonance Cascade - What happens when you run Windows inside of Windows.
An interesting counterpoint to what you're saying is coming from Ulrich Drepper the libc guy.
Stashed under the pilot's seat aboard the Liberator?
When I want to do XXX then Xen is better than Kvm because this aspect of XXX demands YYY which Xen not Kvm provides.
Currently I'm guessing XXX is "I am an Colocation / ISP and want run a bunch of OS instances so that it effectively appears to my customers that they are the only one using this server, but actually are sharing the cost of the hardware with several others."
What I'm missing is what the YYY is that Xen provides but Kvm does not, or Kvm does so too poorly.
As far as I understand Xen requires a priviledged Dom 0 OS, (which you can't on sell to your customers), with Kvm that priviledged OS is Linux.
Is the use case then, "I am colocation ISP and for some reason I must use something other than Linux as the priviledged Dom 0 OS, and I want to run a bunch...."?
Sorry for my obtuseness.
I get the blue tooth vs Wifi analogy. Blue tooth must be wearable and off the power grid hence sacrifices speed and range for lightness and battery life. Wifi is aimed at wired in base stations serving "luggable" laptop size clients that are probably going to be plugged into a power socket, serving "a business" size area at high speed.
What I'm grasping for is a similar clear statement of fit for Xen and Kvm and the reasons.