A Hands-on Guide to the Art of Virtualization

Reviews & Media

Slashdot Review

David Martinjak, “Running Xen”:

“The book […] 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.”

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.”

Read Full Review


Blog Posts

N. Anderson, “Review: Running Xen”:

“A few days ago I finally got my copy of Running Xen. I was anxious to see how the information would be presented. I can tell you I was not disappointed. I am by no means a Xen master. I have tinkered with it a few times over the past several years but as I am getting ready to use it full time in production I need as much information as I can get. The books authors include Eli Dow, and Todd Deshane who worked on Xen and the Art of Repeated Research, as well as Quantifying the Performance Isolation Properties of Virtualization Systems.”

Running Xen is an easy read. Easy in that it can actually be read cover to cover without becoming tired of mundane drivel. However it is not a glossy overview of Xen. Its 500 plus pages cover everything from using prebuilt images that can be downloaded from jailtime.org, rpath, virtualappliances.net as well as other resources…”

“65 pages are dedicated to networking, covering bridging, routing, and Nat modes of operation… Storage backends including LVM, file, partition, nfs, and iscsi are also covered in detail. I was particularly impressed with the coverage of LVM being that many authors would consider it beyond the scope of the book. It is a great resource for any new Xen administrator, and I can wager that it will be valuable for mid-level Xen administrators as well… For those of you wanting to virtualize Windows, you have not been forgotten…”

“What is the verdict? If you are a new Xen administrator, or thinking about heading down the Xen path this book will be well worth your dime.”

Read Full Review

Edmon Begoli, “Finally A Really Good Book on Xen”:

“If you ever worked with Xen - Open Source Virtualization Software for Linux you probably realized that despite being powerful and performing well Xen is a complex solution that requires ‘reading the manual’. I think that ‘Running Xen’ book (’A Hands-On Guide to the Art of Virtualization’) will be a great help. It is written by the team of people who not only know [Xen] inside out, but who are also major contributors to the source…”

“Significant attention is given to managing of the custom installed or pre-built Guest images, management of unprivileged (guest) domains, storage, device virtualization, security, network configuration, management of guest resources, saving/restoration and live migrations…”

“What gives confidence […] is the authors’ familiarity with the subject. They are people who know Xen inside out and many tips and notes you encounter will save you hours of browsing of mailing lists or trials and errors.”

Read Full Review

Dimitry Vostokov, “Yet Another Great Xen Book”:

“This is a new Xen book that I got in the post a few days ago and it seems to be so good that I took it home from work to start reading it during this weekend…”

Read Full Review

And more:

Anthony Lawrence, “Complete Guide to Xen”

Stephen Spector, Xen.org Community Blog, “Xen Books: Running Xen”

Boris Quiroz, Xen.org Community Blog, “Running Xen Book Hits the Streets!”

Barry Flanagan, Citrix Community Blogs, “‘Running Xen’ - New Xen Book”

Stephen Spector, Xen.org Community Blog, “Running Xen Book Slashdotted!”

Clarkson University Press Release, “Clarkson University Team Writes Guidebook to Xen Software”

Stephen Spector, Xen.org Community Blog, “Running Xen Book Press Release”


Amazon.com Reviews

Joseph L. Casale:

Running Xen takes a unique approach to introducing Xen to both the novice and expert virtualization user. The authors start off introducing just enough of the core concepts to give the reader an adequate basis on which the book later builds on to provide the required skills to effectively run a virtual environment. A brief explanation of Xen architecture follows with an overview of the management tools with real world examples showing actual output. I found this attention to often overlooked detail refreshing…”

“The walk through with guest disk images and creating them correctly was well appreciated instead of leaving that to the reader to hopefully figure out. All popular methods for populating guests were covered which allowed distro specific tools to be utilized instead of requiring non native methods or leaving the reader unprepared… Networking was covered in detail which is an often misunderstood part of Xen and a working example of a purely virtual segment using a dummy interface was shown which I found fairly useful…”

“This was my second book on Xen and completely replaces the first as a much more competent reference. I highly recommend this book for anyone using Xen for its concrete basis and good reference it provides.”

Read Full Review

W. Hazard:

“I’m new to virtualization, but very technical. ‘Running Xen’ was just right for me. Great background information and rationalization mixed with solid detail…”

Read Full Review

G. Weiner:

“If you are new to Xen, lost in the maze of Open Source email distribution ‘lists’, ‘Wikis’ and ‘blogs’ that just haven’t quiet tied it all together for you then buy this book. It was a relief to find a book written by people who not only know what they were talking about but also who know how to communicate it, by building knowledge one chapter at a time. It’s the kind of book you have to read cover to cover but you won’t mind, or be able to put it down, because you will learn so much along the way… You will gain enough knowledge from this book to get caught up and be able to join the community with a solid fundamental understanding. I started my investigation into Xen by reading this book and within a couple of weeks I started contributing to the Xen project as a beta tester. I even used a paragraph from the book to help one of the developers identify a bug in some new code. I highly recommend this book to any IT professional who is interested in evaluating Xen for use in their environment…”

Read Full Review

And more:

Anthony Lawrence, “Encyclopedic coverage”

Edmon Begoli, “Finally A Really Good Book on Xen”

Resources

Chapter References, and Further Information

Resources Since First Edition

We are tracking a number of interesting topics since publishing the first edition. Here our some of the best ones.

Some of the many HOWTOs available for Xen

We included many HOWTOs in the book, but more are being written all the time. Here is a list of some of them.

Chapter Descriptions

Chapter 1, “Xen-Background and Virtualization Basics” is a quick introduction to virtualization in general and to Xen in particular. Chapter 2, “A Quick Tour with the Xen LiveCD”, provides an overview of Xen’s functionalities by exploring the Xen LiveCD.

Chapter 3, “The Xen Hypervisor” focuses on the hypervisor that is the core of any Xen system and some other trusted components such as Domain0 and xend. We build on that common understanding of the Xen hypervisor by concretely showing you how to install and configure your own hard-disk-based Xen installation in Chapter 4, “Hardware Requirements and Installation of Xen Domain0″. After you have your own hypervisor installation up and running, this book eases you into using guest images by first showing you how download and use images available from the Internet in Chapter 5, “Using Prebuilt Guest Images”.

Chapter 6, “Managing Unprivileged Domains”, covers the basics of administering the running DomUs or unprivileged guest domains. You are then guided through the various methods of creating your own custom guest images, in Chapter 7 ” Populating Guest Images”. Now that you have all these guests, Chapter 8, ” Storing Guest Images”, covers a variety of choices for storing guest images for online use as well as backup and sharing.

The second half of this book delves into more advanced system management topics including device management (Chapter 9, “Device Virtualization and Management”), networking (Chapter 10, “Network Configuration”), security ( Chapter 11, “Securing a Xen System”), resource distribution (Chapter 12, “Managing Guest Resources”) and migration (Chapter 13, “Guest Save, Restore and Live Migration”). We conclude with a survey of some of the popular administrative tools available for your Xen systems in Chapter 14, “An Overview of Xen Enterprise Management Tools”.

Chapter 1

Resources and References within the Chapter

Xen Performance from the Original SOSP Xen Paper

XenoServers Project Page

Xen Downloads

VMware Virtual Appliance Marketplace

lguest Project Homepage

Open Source Licenses

References and Further Reading

x86 Virtualization. Wikipedia.

Comparison of Virtual Machines. Wikipedia.

Emulation. Wikipedia.

Full Virtualization. Wikipedia.

Popek and Goldberg Virtualization Requirements. Wikipedia.

Xen. Wikipedia

Xen. Xen.org.

The Xen Virtual Machine Monitor. University of Cambridge.

Xen Project Status and Roadmap from Xen Summit - Barry Flanagan

Xen Summit

Relationship between Xen Paravitualization and Microsoft Enligntenment

virtualization.info: News digest and insights about virtual machines and virtualization technologies, products, market trends. Since 2003.

Chapter 2

Resources and References within the Chapter

Xen 3.0.3 LiveCD [cached copy]

Xen Downloads

References and Further Reading

Kumar, Ravi. Testing out the Xen LiveCD. LWN.net.

Xen 3.0.3 LiveCD [cached copy]

Xenoppix

VMKNOPPIX

Chapter 3

Resources and References with the Text

XenStore on the Xen Wiki

References and Further Reading
Credit-Based CPU Scheduler. Xen Wiki Xen.org.

Dom0. Xen Wiki. Xen.org

DriverDomains. Xen Wiki. Xen.org.

DomU. Xen Wiki. Xen.org.

x86 Virtualization. Wikipedia

xend-config.sxp (5) – Linux Man page. die.net.

Xen Disk I/O Benchmarking: NetBSD Dom0 vs Linux Dom0.

XenStoreReference. Xen Wiki. Xen.org.

Xen Users’ Manual Xen v3.0.

Xend/XML-RPC. Xen Wiki. Xen.org.

Chapter 4

Resources and References within the Text

Intel Processor Numbers

HVM Compatible Processors

Xen Hardware Compatibility List

Citrix XenServer

Virtual Iron Software

Linux Server: SUSE Linux Enterprise Server by Novell

redhat.com | Enterprise Linux

Repositories - Community Ubuntu Documentation

Ubuntu Packages

Xen Downloads

Citrix XenServer Express Edition

XenSource: Xen Distribution Mercurial (hg) Repositories Browser

References and Further Reading

Xen Hardware Compatibility List

Tools/Xen - Fedora Project Wiki

Installing Xen On CentOS 5.0 (i386) | HowtoForge - Linux Howtos and Tutorials

Installing Xen3 - openSUSE

The Perfect Setup - Ubuntu 6.10 Server (Edgy Eft) - Page 3 | HowtoForge - Linux Howtos and Tutorials

Xen - Community Ubuntu Documentation

Timme, Falko. Installing Xen On An Ubuntu 7.10 (Gutsy Gibbon) Server From The Ubuntu Repositories. Howtoforge.

HOWTO Xen and Gentoo - Gentoo Linux Wiki

The Perfect Xen 3.1.0 Setup For Debian Etch (i386) - Page 5 | HowtoForge - Linux Howtos and Tutorials

Study of Virtual Machine Performance over Network File Systems

VirtualPower: coordinated power management in virtualized enterprise systems

Chapter 5

Resources and References within the Text

Linux Partition HOWTO - The Linux Documentation Project

Bug #69389 in xen-source-2.6.17 (Ubuntu): Xen: tap:aio (for file-backed vbds) does not work

compFUSEd: transparent compression filesystem for Linux

rBuilder Online - Front Page

Virtual Appliances Home

JumpBox | Server Software Made Simple | JumpBox Inc.

pypxeboot: a PXE bootloader for Xen guests

rBuilder Online - Published Releases: Openfiler NAS/SAN Appliance

Debian 3.1 [Jailtime.org - Downloadable Images for Xen] [cached copy]

Openfiler NAS/SAN Appliance Compressed Tar File [cached copy]

GParted — Welcome

Partitioning with fdisk

References and Further Reading

Amazon Elastic Compute Cloud (Amazon EC2). Amazon Web Services.

Creating a sSwap sSpace. The Linux Documentation Project: Linux System Administrators Guide.

Jailtime.org – Downloadable Images for Xen. Jailtime.org.

Enterprise Virtual Appliances. Virtual Appliances Home.

Examples Using the VMware Virtual Disk Manager.

Formatting an ext2/3 Partition. The Linux Documentation Project: Linux Partition HOWTO.

GParted: Gnome Partition Editor.

GParted — LiveCD

HOWTO Xen and Gentoo. Gentoo Wiki.

JumpbBox Home Page.

Kernel Custom Build. Ubuntu Wiki.

Labels. The Linux Documentation Project: Linux Partition HOWTO.

Partitioning with fdisk. The Linux Documentation Project: Linux Partition HOWTO.

pypxeboot: A PXE bootloader for Xen guests.

rBuilder Online.

VHD support in open source Xen (initial announcement)

Xen source browser: lomount. Xen.org.

Xen source browser: pygrub. Xen.org.

XenSource Downloads: Virtual Disk Migration Utility

Jailtime.org – Downloadable Images for Xen.

rBuilder Online

Virtual Appliances Home

UPDATE, found a new link: VMfind - Virtual Appliance Search: Home

Chapter 6

Resources and References within the Text

FreeNX - the free NX

References and Further Reading

Official Freenx site.

Official Rrdesktop site.

Official VNC site.

X Forwarding over SSH Tutorial.

Xen 2.0 and 3.0 User’s Manual. University of Cambridge.

Chapter 7

Resources and References within the Text

SUSE Linux Enterprise Virtual Machine Driver Pack

[Xen-devel] First release of GPL PV drivers for Windows - Xen Source [UPDATE: Newer version available here]

Installation - openSUSE

Fedora 6 Install URL

[NEW: Fedora 8 Install URL]

Fedora Public Active Mirrors

CentOS Public Mirrors

Red Hat Enterprise Linux Documentation

Citrix XenServer Express Edition

References and Further Reading

Burdulis, Šarūnas. Xen 3.04 HVM and Debian Etch. Dartmouth College.

CentOS-4 on Xen.

Citrix XenServer Express Edition Download. Citrix.

Configuring Gentoo with Xen. Gentoo Linux.

Creating and Installing a CentOS DomU Instanace. CentOS Wiki.

Debian Sarge on Xen.

Fedora Xen Quickstart Guide.[UPDATE: Better Fedora Xen starting point here]

Gentoo Linux — Gentoo Documentation Resources

Gentoo Linux Documentation — Gentoo Handbook

Official Gentoo Documentation

HOWTO: Virtual Xen Servers and Gentoo. Gentoo Wiki.

HOWTO Xen and Gentoo. Gentoo Wiki.

Installing and Using a Fully-Virtualized Xen Guest. CentOS Wiki.

Installing Xen3 – openSUSE includes yast dirinstall

Installing Xen on Ubuntu Feisty Fawn – The Complete Newbies Guide. Redemption in a Blog.

Rosen, Rami. Virtualization in Xen 3.0. Linux Journal.

rpmstrap – Bootstrap a Basic RPM-Based System.

Timme, Falko. The Perfect Xen 3.1.0 Setup for Debian Etch (i386). HowtoForge.

Xen. openSUSE.

Xen. Ubuntu Wiki.

Xen 3.1 Binary Installation CentOS 5.0 [with HVM support]. Oracle DBA Blog.

Xen Tools. Xen guest creation tools for Debian.

Chapter 8

Resources and References within the Text

Setup to Do Online Resize of VM Using LVM. XenSource Support Forums.

COWHowTo - Xen Wiki

Open-iSCSI project

SourceForge.net: ATA over Ethernet Tools

udev

iSCSI Enterprise Target

Coraid :: The Linux Storage People

Linux Support for EtherDrive (R) Storage

Linux NFS-HOWTO

Setting up an NFS Client
Gentoo Linux Documentation — Diskless Nodes with Gentoo

Booting Xen 3.0 guests using NFS

Partitioning with fdisk

References and Further Reading

Accessing Data on a Guest Disk Image (lomount and kpartx). Fedora Wiki.

Booting Xen 3.0 Guests Using NFS. Debian Administration.

Converting a VMWare Image to Xen HVM. Ian Blenke Computer Engineer Blog.

Creating a Customized Master Image for a Xen Virtual Server Manually. IBM Systems Software Information Center.

Diskless Nodes with Gentoo. Gentoo Linux Documentation.

Extending Xen* with Intel[rm]w] Virtualization Technology. Intel Technology Journal.

Geambasu, Roxana and John P. John. Study of Virtual Machine Performance over Network File Systems.

Gnome Partition Editor. (GParted) Gnome Welcome.

The iSCSI Enterprise Target.

iscsi-target. Virtual Appliance Marketplace.

Linux Partition HOWTO: Partitioning with fdisk. The Linux Documentation Project.

Logical Volume Management. Wikipedia.

Logical Volume Manager (Linux). Wikipedia.

LVM HOWTO. The Linux Documentation Project.

Open-iSCSI: RFC 3270 architecture and implementation. Open-iSCSI project.

A Simple Introduction to Working with LVM. Debian Administration.

Using LVM-Backed VBDs. Xen Manual.

Using the LVM utility system-config-lvm. Red Hat Documentation.

Using Parted.

QtParted Homepage.

Setup to Do Online Resize of VM Using LVM. XenSource Support Forums.

Virtual Machine Deployment Specification. VMCasting.

VMDKImage: Migrate a VmWare Disk Image to XEN. Xen Wiki.

Xen 3.0.x Limitations. Ian Blenke Computer Engineer Blog.

Chapter 9

Reference and Further Reading

Fraser, Keir, et al. Safe Hardware Access with the Xen Virtual Machine Monitor. Proceedings of the 1st Workshop on Operating System and Architectural Support for the on Demand IT InfraStructure (OASIS). October 2004. Boston, MA.

Virtual Frame Buffer for PV Xen. Markus Armruster, 2006 Red Hat GmbH

VirtualFramebuffer - Xen Wiki

VMGL, H. Andrés Lagar Cavilla

VMGL: VMM-Independent Graphics Acceleration. H. Andres Lagar-Cavilla, U of Toronto

Blink: Advanced Display Multiplexing for Virtualized Applications. Jacob Gorm Hansen

[Xen-devel] Virtual Framebuffer Screenshots - Xen Source

FibreChannel, VSANS: Virtual Storage Ports. James Smart. Emulux Corporation

Virtualizing InfiniBand in Xen. IBM Research

Xen scsifront/back drivers FUJITA Tomonori NTT Cyber Solutions Laboratories

Chapter 10

References and Further Reading

An Attempt to Explain Xen Networking. Xen Users Mailing List.

Dynamic Host Configuration Protocol. Wikipedia.

IEEE Standard 802-2001.

IP Address. Wikipedia.

Linux Command: brctl.

Linux Command: iptables.

Linux Command: route.

MAC Address. Wikipedia.

MAC Address Vendor Search.

Matthews, Jeanna N. et al. Data Protection and Rapid Recovery from Attack with a Virtual Private File Server.

Network Address Translation. Wikipedia.

Network Configuration. Xen Users’ Manual Xen v3.0.

network-route and vif-route Setup Help. Xen Users Mailing List.

OSI and TCP/IP Layering Differences. TCP/IPISO mModel. Wikipedia.

RFC1918: Address Allocation for Private Internets.

Using Multitple Network Cards in XEN 3.0. Debian Administration.

Virtual Private Network. Wikipedia.

Xen Networking. Xen Wiki.

Chapter 11

Resources and References within the Text
netstat(8) - Linux man page

Port Numbers. IANA

netfilter/iptables project homepage - the netfilter.org project

Snort - the de facto standard for intrusion detection/prevention

TCPDUMP/LIBPCAP public repository

Security-Enhanced Linux

References and Further Reading

Garfinkel, Tal and Mendel Rosenblum. When Virtual Is Harder Than Real: Security Challenges in Virtual Machine Based Computing Environments. Stanford University Department of Computer Science.

iptables Project Home Page. Netfilter Web site.

Linux Firewalls Using iptables. Linux Home Networking.

Red Hat Virtualization. Red Hat Documentation.

Sailer, Reiner et al. Building a MAC-based Security Architecture for the Xen Opensource Hypervisor. Paper on mandatory access control in Xen.

Secure Hypervisor (sHype) Home Page.

Security Enhanced Linux. National Security Agency – Central Security Service Web site.

The su Command.

Xen Users’ Manual.

Deitel, Harvey M. [1982] (1984). An introduction to operating systems, revisited first edition, Addison-Wesley, 673. ISBN 0-201-14502-2.

Rash, Michael [2007]. “Linux Firewalls: Attack Detection and Response with iptables, psad, and fwsnort”, No Starch Press, ISBN: 978-1593271411

Chapter 12

Resources and References with the Text

Best Practices for Paravirtualization Enhancements from Intel® Virtualization Technology: EPT and VT-d

IOMMU Architectural Specification. AMD

Extending Xen with Intel Virtualization Technology

References and Further Reading

Archived Xen Developer’s Mailing List. UPDATE: More recent Xen Developer’s xen-devel archives

Chisnall, David. The Definitive Guide to the Xen Hypervisor. Amazon.com.

Credit-Based CPU Scheduler. Xen Wiki.

Extending Xen with Intel Virtualization Technology. Intel Technology Journal.

Love, Robert. Kernel Korner - I/O Schedulers. Linux Journal.

Matthews, Jeanna N. et al. Quantifying the Performance Isolation Properties of Virtualization Systems. Clarkson University.

Pratt, Stephen. Workload Dependent Performance Evaluation of the Linux 2.6 I/O Schedulers. Proceedings of the Ottowa Linux Symposium 2004, vol 2.

Schopp, J. H. et al. Resizing Memory with Balloons and Hotplug. Proceedings of the Ottowa Linux Symposium 2006 vol 2.

Shakshober, D. John. Choosing an I/O Scheduler for Red Hat® Enterprise Linux® 4 and the 2.6 Kernel. Red Hat Magazine.

Xen 2.0 and 3.0 User Manual. University of Cambridge.

XEN: Benchmarks

Chapter 13

References and Further Reading

Clark, Christopher et al. Live Migration of Virtual Machines.

Virijevich, Paul. Live Migration of Xen Domains. Linux.com.

Xen Users’ Manual, Xen v3.0.

Chapter 14

Resources and References within the Text

libvirt: the virtualization API

Citrix XenServer Demo

Citrix XenServer Enterprise Edition

Citrix XenServer Standard Edition

Citrix XenServer Express Edition

About IBM Director

IBM Director: Extensions: Virtualization Manager

Red Hat Network Satellite 5.0.0: Virtualization Step ­by­ Step By Máirín Duffy, Red Hat Network Engineering

Virtual Machine Manager: Screenshots

Virtual Machine Manager: Installation Wizard Sceenshots

XenMan - Open Source Virtualization Management

References and Further Reading

Citrix XenServer Demo.

Citrix XenServer Enterprise Edition.

Citrix XenServer Express Edition.

Citrix XenServer v4 Overview.

Citrix XenServer Standard Edition.

Enomalism XEN Virtualized Server Management Console.

IBM Director Extensions: Virtualization Manager. IBM Web Site.

Virtual Iron Home Page.

Virtual Machine Manager: Home.

Virtual Machine Manager: Installation Wizard Screenshots.

Virtual Machine Manager: Screenshots.

Welcome to ConVirt. Information about XenMan - Open Source Virtualization Management.

Xen API: The Xen API Project. Xen Wiki.

Appendix A

Resources and References with the Text

Welcome to xen.org, home of the Xen® hypervisor, the powerful open source industry standard for virtualization.

FrontPage - Xen Wiki

Xen: Mailing Lists

Xen Bugzilla Main Page

Xen Summit

XenSource: Xen Distribution mercurial (hg) Repositories Browser

Tutorial - Mercurial

Mercurial(hg) Cheatsheet for Xen

Source Browser Xen: [root]/

Computer Laboratory - Xen virtual machine monitor

Xen User Manual

Tools/Xen Fedora Project Wiki

Fedora-xen Info Page

Xen - openSUSE

Xen packages and kernels for SUSE Linux

Xen - Community Ubuntu Documentation

Xen Debian Wiki

HOWTO Xen and Gentoo - Gentoo Linux Wiki

Xen at OpenSolaris.org

NetBSD/xen

OpenSolaris Xen xen-discuss Info Page

FreeBSD/Xen

Appendix B

xm(1): Xen management user interface - Linux man page

Appendix C

xend-config.sxp(5): Xen daemon config file - Linux man page

Appendix D

xmdomain.cfg(5): xm domain config file format - Linux man page

Appendix E

Resources and References within the Text

Xen and the Art of Repeated Research, B. Clark, T. Deshane, E. Dow, S. Evanchik, M. Finlayson, J.Herne, J. N. Matthews, Proceedings of the USENIX 2004 Annual Technical Conference, June 2004

Quantifying the Performance Isolation Properties of Virtualization Systems, J. Matthews, W. Hu, M. Hapuarachchi, T. Deshane, D. Dimatos, G. Hamilton, M. McCabe, J. Owens, ExpCS 07, June 2007

Xen and the Art of Repeated Research

Isolation Benchmark Suite

Errata

Title Pages

Page iv:
Change “… [et al.]” to “Eli M. Dow, Todd Deshane, Wenjin Hu, Jeremy
Bongio, Patrick F. Wilbur, Brendan Johnson”

Contents

Page x:
Change “File Guest Images” to “File System Images”

Page xi:
Change “Label Option” to “label Option” (with label formatted as an option)

Page xix:
Change “Xend Configuration Parameter” to “Xend Configuration Parameters”
Change “Guest Configuration Parameter” to “Guest Configuration Parameters”

Foreword

Page xxiii:
Change “coauthors” to “co-authors”

Page xxxi:
Change “coauthored” to “co-authored”
Change “coauthoring” to “co-authoring”

Preface

No errata found yet.

Chapter 1

Page 5:
Change “coexist” to “co-exist”

Page 13:
Move “Requires the same OS…” from the Advantages column to the
Disadvantages column

Page 15:
Change “nonuniform” to “non-uniform”
Change “computer (NUMA)” to (NUMA) computer”

Page 24:
Change “VPSs” to “VPSes”

Page 25:
Change “, because the discussion here has made the case for selecting
Xen as a virtualization platform.” to “, the remainder of this book
focuses exclusively on Xen.”

Chapter 2

No errata found yet.

Chapter 3

Page 50:
Change “privilege level that” to “privilege level than”

Page 51:
Change “and nonroot” to “and non-root”
Change “in nonroot” to “in non-root”

Page 56:
Delete “boot option”" (last line in Table 3.2)

Page 57:
Delete “apic=es7000
apic=summit”
apic=es7000
apic=summit”
(in Table 3.2)

Page 58:
Change “the serial” to “the serial ports.”
Change “this is done” to “This is done”

Page 59:
Change “of options” to “of the options”

Page 62:
Change “#killall” to “# killall”
Change “#rm ” to “# rm”
Change “#xend” to “# xend”

Page 66:
Change “and network-nat” to “network-nat, <customscript>”

Page 68:
Unformat “directory”
Change “subareas” to “sub-areas”
Change “universal unique” to “universally unique”

Page 72:
Change “<mode” to “<mode>”

Chapter 4

Page 77:
Change “need a process with virtualization extensions” to “need a processor with virtualization extensions”
Change “DomainU” to “DomU”

Page 78:
Change “the /proc/cpunfo” to “/proc/cpuinfo”
Change “If the flag is present, you likely have an AMD-V processor.”
to “(To check for VT-x, look for the vmx flag).”

Page 79:
Change “DomainU” to “DomU”

Page 80:
Change “DomainU” to “DomU”
Change “/dev/ethX” to “ethX”
Change “DomainU” to “DomU”

Page 84:
Change “Recap” to “Summary”
Change “choice glibc” to “choice of glibc”

Page 86:
Change “will also offer Xen.” to “also offers Xen.”

Page 94:
Change “DomainU” to “DomU”

Page 101:
Change “Ubuntu guest a” to “Ubuntu system a”

Page 107:
Change “potential CFLAGs for /etc/make.conf” to “potential USE flags for /etc/make.conf”

Page 107:
Change “DomainU” to “DomU”

Page 108:
Format “xen-tools” as a package

Page 110:
Change “b oot” to “boot”

Page 111:
Remove extra newline at the beginning of Listing 4.21

Page 116:
Change “DomainU” to “DomU” (in Table 4.4)
Change “DomainU” to “DomU”
Change “DomainU” to “DomU”
Change “Domain0.” to “DomU.”

Page 118:
Change “DomainU” to “DomU”

Page 119:
Change “http://www.howtoforge.com/debian_etch_xen_3.1_p5_” to “http://www.howtoforge.com/debian_etch_xen_3.1_p5″

Chapter 5

Page 123:
Change “items) .” to items).”

Page 124:
Unformat “.” (after file:)
Delete “The xvd interface exploits this knowledge to achieve better
performance. ”

Page 126:
Remove extra newline at the end of Listing 5.3
Change “or directory” to “or a directory”
Change “/ev/xvda” to “/dev/xvda”

Page 130:
Change “20071″ to “2007.1″

Page 131:
Change “provide” with “choose”
Change “prebuilt images” to “prebuilt disk”
Change “a disk partition image” to “a partition image”

Page 138:
Format “loop” (after -o)

Page 139:
Change “copy command” to “cp command”
Change “‘uname -r’” to “`uname -r`” (not single quotes, should be backticks)

Page 141:
Change “Debian partition image” to “Debian partition images”
Change “guest partition image” to “guest partition images”
Change “Partition Image File” to “Partition Image Files” (in Listing 5.21)
Change “debian-3.1.img /xen/images/” to “debian-3.1.img debian.swap
/xen/images/” (in Listing 5.21)
Change “The changes” to “The listing includes the changes”
Change “boot are some” to “boot and some”

Page 144:
Change “partition starts.” to “partition ends.” (for the End bullet)

Page 160:
Delete “We use xvd disks for better performance.”

Chapter 6

Page 174:
Change “disk image for the guest,” to “guest image,”
Change “kernel image,” to “operating system kernel,”
Change “Disk images–A disk image for the guest” to “Guest images–A
guest image”
Change “Kernel” to “Operating system kernel”

Page 179:
Change “C, “Xend Configuration Parameter.”" to “D, “Guest
Configuration Parameters.”"

Page 180:
Change “devices is” to “devices are”
Change “./proc/cmdline” to “/proc/cmdline”

Page 181:
Change “–path=/xen/images/” to “–path=/xen”

Page 182:
Change “/xen/images/” to “/xen”

Page 191:
Change “/etc/xen/auto” to “/etc/xen/auto/”
Change “/etc/xen/auto” to “/etc/xen/auto/”

Page 196:
Change “Domain” to “Domain0″ (in Listing 6.53)

Page 199:
Change “shutting it down with xm destroy and restarting it at a later time” to “shutting it down with xm shutdown and restarting it at a later time”

Page 212:
Change “reenabled” to “re-enabled”

Chapter 7

Page 226:
Change “typing vnc” to “typing vncviewer”

Page 237:
Change “format erase” to “erase”

Page 244:
Change “Unbuntu” to “Ubuntu”

Page 245:
Move “http://archive.ubuntu to next line (concatenate with the
existing text com/ubuntu)

Page 248:
Change “wget \” to “wget”

Page 249:
Change “Debootstrap” to “emerge” (in Listing 7.23)

Page 250:
Change “reemerges” to “re-emerges”

Page 252:
Change “when masking software,” to “when unmasking software,”

Page 273:
Delete “An example configuration file was shown previously in Listing 7.45.”

Chapter 8

Page 289:
Change “zxvf” to “zxf” (in Listing 8.16)

Page 291:
Change “zxvf” to “zxf” (in Listing 8.19)
Delete the line “[tar output omitted]” (in Listing 8.19)

Page 294:
Change “root@dom0″ to “root@aoe-server” (in Listing 8.23)
Change “root@dom0″ to “root@aoe-server” (in Listing 8.23)
Change “root@dom0″ to “root@aoe-server” (in Listing 8.23)
Change “root@dom0″ to “root@aoe-server” (in Listing 8.23)
Change “, and eth0.” to “, eth0, and dev/sda.”
Change “root@dom0″ to “root@aoe-server” (in Listing 8.24)

Page 298:
Change “cache copies” to “cached copies”

Page 300:
Change “preexisting” to “pre-existing”

Page 312:
Change “seek=4096k” to “seek=4096k \” (in Listing 8.51)

Page 314:
Change “ext2″ to “ext3″
Change “ext2″ to “ext3″
Change “ext2″ to “ext3″ (in Listing 8.55)

Page 315:
Delete ” / Solaris” (in Listing 8.56)
Change “83 \Linux” to “83    Linux” (vertically line up Linux with Linux swap)
Delete “\ ” (in Listing 8.58)

Chapter 9

Page 332:
Change “pieces to the” to “pieces in the”

Chapter 10

Page 341:
Delete “(NIC)”

Page 347:
Change “requires the Xen virtual network driver supports.” to
“requires Xen virtual network driver support.”
Change “in the xen-devel mail list.” to “on the xen-devel mailing list.”
Change “vif by shared” to “vif with a shared”

Page 348:
Change “puts the packets to the” to “puts the packets in the”
Change “is to send” to “sends”
Change “into bridge” to “into the bridge”

Page 349:
Change “to Domain0 path.” to “to the Domain0 path.”

Page 350:
Change “sure the bridge or router are properly” to “sure that the
bridge or router is properly”

Page 351:
Change “Simplified XML persistent(SXP)” to “S-expression (SXP)”
Change “started with a # are the comment.” to “starting with a # are comments.”
Change “predefined” to “pre-defined”

Page 352:
Change “in the later sections” to “in later sections”

Page 353:
Change “the configure file” to “the configuration file”

Page 355:
Change “Xen network script” to “Xen’s network bridge script”

Page 361:
Change “nonvirtualized” to “non-virtualized”

Page 372:
Change “packets send to the host 128.153.144.96 will send” to “packets
sent to the host 128.153.144.96 will be sent”
Change “packets that send to any other” to “packets sent to any other”

Page 389:
Change “00:16E prefix” to “00:16:3E prefix”

Page 391:
Change “Data Link layer lower than IP” to “Data Link layer, lower than the IP”
Change “IP from the DHCP server” to “IP from a DHCP server”

Page 392:
Change “recommendation and reference” to “References and Further Reading”

Page 394:
Change “driver domain lays” to “driver domain lies”

Page 396:
Change “assigned a static IP address and a” to “assigned a”

Page 398:
Change “xm network-list releases” to “xm network-list displays”
Change “xm network-detach subcommand is broken,” to “xm network-attach
subcommand has a bug,”

Page 399:
Change “Now Xen also tries to provide” to “Xen also provides”

Page 402:
Change “Vnetid is a” to “vnetid is a” (in Table 10.5)
Change “v                                       net” to “vnet”(in Table 10.5)
Change “None:” to “None -”
Change “Auth:” to “Auth -”
Change “Conf:” to “Conf -”

Chapter 11

Page 408:
Change “control of DomU,” to “control of a DomU,”

Page 413:
Change “Iptables project uses” to “The iptables project uses”

Page 414:
Change “modules installed at bootup.” to  ”modules loaded at bootup.”

Page 415:
Change -dport to –dport(in Listing 11.5)

Page 417:
Change -dport to –dport(in Listing 11.7)

Page 418:
Change -dport to –dport(in Listing 11.11)
Change -dport to –dport(in Listing 11.11)

Page 419:
Delete the line “[output ommitted]” (in Listing 11.11)
Move “[root@dom0]# cd libpcap-0.9.5″ to its own line (in Listing 11.11)
Move “[root@dom0]# ./configure” to its own line (in Listing 11.11)
Delete the line “[output ommitted]” (in Listing 11.11)
Delete the line “[output ommitted]” (in Listing 11.11)

Page 430:
Move continuation character from before “ACM” to after “System-” (in
Listing 11.22)
Change “dmesg flag” to “dmesg subcommand”

Chapter 12

No errata found yet.

Chapter 13

Page 474:
Delete extra newline at the end of Listing 13.1

Page 476:
Delete extra newline at the end of Listing 13.7

Page 486:
Delete extra newline at the end of Listing 13.17

Page 487:
Delete stray continuation character in the left page margin

Page 492:
Delete extra newline at the end of Listing 13.23

Chapter 14

Page 504:
Change “Vmware” to “VMware”
Change “VMWare’s” to “VMware’s”

Page 514:
Change “detected to hosting” to “dedicated to hosting”

Appendix A

No errata found yet.

Appendix B

Page 531:
Change “xm main page” to “xm man page”

Appendix C

Page 537:
Change “Xend Configuration Parameter” to “Xend Configuration Parameters”

Page 538:
Change “optional values” to “options for values”

Page 539:
Line up second row of table C.3

Appendix D

Page 541:
Change “Guest Configuration Parameter” to “Guest Configuration Parameters”

a name=”appendixe” href=”#appendixe”>Appendix E
Page 545:
Change “validate the Xen’s” to “validate Xen’s”

Home

The book is targeted at individuals and organizations that are deploying Xen systems. It walks the reader through the basics, from installing Xen to using prebuilt guest images. It even tells readers how to experiment with Xen using only a Xen LiveCD. It covers the basics of virtualizations and important elements of all Xen systems like the hypervisor and Domain0. It explains the details of the xm commands for managing guest domains. It helps users deploy custom guest images based on operating systems from Linux to Windows. It covers more advanced topics like device virtualization, network configuration, security and live migration. We hope you will find it a good mix of introductory and advanced topics that will prove useful from your first Xen deployment experiment to running production Xen systems.

Chapter Descriptions

Chapter 1, “Xen-Background and Virtualization Basics” is a quick introduction to virtualization in general and to Xen in particular. Chapter 2, “A Quick Tour with the Xen LiveCD”, provides an overview of Xen’s functionalities by exploring the Xen LiveCD.

Chapter 3, “The Xen Hypervisor” focuses on the hypervisor that is the core of any Xen system and some other trusted components such as Domain0 and xend. We build on that common understanding of the Xen hypervisor by concretely showing you how to install and configure your own hard-disk-based Xen installation in Chapter 4, “Hardware Requirements and Installation of Xen Domain0″. After you have your own hypervisor installation up and running, this book eases you into using guest images by first showing you how download and use images available from the Internet in Chapter 5, “Using Prebuilt Guest Images”.

Chapter 6, “Managing Unprivileged Domains”, covers the basics of administering the running DomUs or unprivileged guest domains. You are then guided through the various methods of creating your own custom guest images, in Chapter 7 ” Populating Guest Images”. Now that you have all these guests, Chapter 8, ” Storing Guest Images”, covers a variety of choices for storing guest images for online use as well as backup and sharing.

The second half of this book delves into more advanced system management topics including device management (Chapter 9, “Device Virtualization and Management”), networking (Chapter 10, “Network Configuration”), security ( Chapter 11, “Securing a Xen System”), resource distribution (Chapter 12, “Managing Guest Resources”) and migration (Chapter 13, “Guest Save, Restore and Live Migration”). We conclude with a survey of some of the popular administrative tools available for your Xen systems in Chapter 14, “An Overview of Xen Enterprise Management Tools”.

About

Contact Us

Thank you for your interest in our book! Questions and feedback are greatly appreciated.

For general questions and feedback, or to submit an inaccuracy, please direct e-mails to:

contact (nojunkplease) @runningxen.com.

Also, individual authors may be contacted by sending an e-mail to the author’s:

first_name@runningxen.com.

History

We began using Xen in Fall 2003 soon after reading the paper “Xen and the Art of Virtualization” published in the Symposium on Operating Systems Principles (SOSP). After attending SOSP and talking to some of the authors, Jeanna Matthews returned excited about Xen. She and her graduate operating systems course at Clarkson University decided to repeat and extend the results reported in that paper. That class included two of the co-authors for this book, Eli Dow (currently at IBM) and Todd Deshane (currently completing his Ph.D.), who were both studying for their Master’s degrees at the time. In the process of repeating the results from the 2003 Xen paper, we learned a lot about running Xen – much of it the hard way! Our goal for this book was to write exactly the material we wished was available when we first started using Xen.

In July 2004, we published the paper “Xen and the Art of Repeated Research” describing our experience with Xen and presenting the results we obtained repeating and extending the results. All the authors, in addition to being a part of the Fall 2003 graduate operating systems course, were also members of the Applied Computing Laboratories at Clarkson University specifically the Clarkson Open Source Institute (COSI) and the Clarkson Internet Teaching Laboratory (ITL). These labs were founded to provide students with hands-on experience with cutting-edge computing technologies and to form a community in which everyone both learns and teaches. Other students in the labs – both graduate and undergraduate – began to use Xen as the basis for both production systems and for research projects. Through the years, we have used Xen as the basis for a number of academic papers as well as the basis of award winning team projects. In the process, we have learned a lot about running Xen. It is our goal in this book to share this knowledge with you and to make your experience running Xen as smooth and simple as possible.

About The Authors

Picture of the several authors

Jeanna Neefe Matthews is an associate professor of Computer Science at Clarkson University (Potsdam, New York) where she leads several hands-on computing laboratories including the Clarkson Open Source Institute and Clarkson Internet Teaching Laboratory. Students in these labs and in her classes have been winners in a number of prestigious computing contests including the 2001, 2002 and 2004 IBM Linux Challenge, the 2005 IBM North American Grid Scholar’s Challenge, the 2005 Unisys Tuxmaster competition and the 2006 VMware Ultimate Virtual Appliance Challenge. Her research interests include virtualization, operating systems, computer networks and computer security. She is actively involved in the Association for Computing Machinery as treasurer of the Special Interest Group on Operating Systems, editor of Operating Systems Review and as a member of the Executive Committee ACM’s U.S. Public Policy Committee, US-ACM. She is also the author of a computer networking textbook, “Computer Networking: Internet Protocols in Action”, that has been translated into several languages. Jeanna received her Ph.D. in Computer Science from the University of California at Berkeley in 1999.

Eli M. Dow is a software engineer in IBM’s Test and Integration Center for Linux in Poughkeepsie, NY. He holds a B.S. degree in computer science and psychology as well as a M.S. in computer science from Clarkson University. He is passionate about open source software and is an alumnus and founding member of the Clarkson Open Source Institute. His interests include Virtualization, Linux systems programming, the GNOME desktop, and human-computer interaction. He is the author of numerous IBM developerworks articles focused on Linux and open source software. Additionally he has coauthored two books on the mainframe hypervisor z/VM, entitled “Introduction to the New Mainframe: z/VM Basics” and “Linux for IBM System z9 and IBM zSeries”. His first published experience with Xen was coauthoring an early academic paper entitled “Xen and the art of repeated research”. Recently he has focused on developing highly available, enterprise customer solutions deployed on virtualized Linux using the z/VM hypervisor.

Todd Deshane expects to attain a Ph.D. in Engineering Science from Clarkson University in 2008. He also has a Master of Science in Computer Science and a Bachelor of Science in Software Engineering from Clarkson. While at Clarkson University, he has had a variety of research publications – many involving Xen. In 2005, a project that was based on Todd’s Masters thesis - an open source collaborative, large database explorer - won first place in the UNISYS TuxMasters Invitational. Todd’s primary academic and research interests are in the area of operating system technologies, such as virtual machine monitors, high availability, and file systems. His doctoral dissertation focuses on using these technologies to provide desktop users with an attack-resistant experience, with automatic and autonomic recovery from viruses, worms, and adverse system modifications. During his PhD years, Todd has been a Teaching Assistant and an IBM Ph.D. Fellowship recipient. At IBM, Todd has worked on internship projects involving Xen and IBM technologies. Todd enjoys teaching, tutoring, and helping people.

Wenjin Hu graduated from Clarkson University in 2007 with the master degree of Computer Science and is currently working on his Ph.D. His master thesis was “A Study of the Performance Isolation Properties of Virtualization Systems”. His research field is applying virtualization techniques to operating systems and security.

Jeremy Bongio is currently a Master’s student at Clarkson University. He won second place in the Unisys Tuxmaster Competition in 2005 with a project called Xenophilia, an early effort to make Xen more user friendly. He is a current member and former student director of the Clarkson Open Source Institute where he actively learns and experiments with different kinds of virtualization.

Patrick F. Wilbur is currently pursuing graduate studies in computer science at Clarkson University. His interests include operating systems, systems and application security, natural language processing, and home automation. In his spare time, Patrick enjoys composing music, experimenting with amateur radio, storm chasing, and working on various electronics, software, and carpentry projects around the house. He is currently a member of the Clarkson Open Source Institute, a volunteer at the Applied Computer Science Laboratories at Clarkson University, an emergency communications volunteer, and a member of the Association for Computing Machinery.

Brendan Johnson (not pictured above) graduated Clarkson University in 2002 with a bachelor’s degree in Computer Science and a minor in mathematics. Brendan continued his education at Clarkson University and obtained a Masters of Science in Computer Science with a thesis in quantum computing. Brendan is currently a senior software architect at Mobile Armor, a world leading “Data At Rest” encryption software company.

Where To Buy

Running Xen: A Hands-On Guide to the Art of Virtualization

General Information

Title: “Running Xen: A Hands-On Guide to the Art of Virtualization”
Authors: Jeanna N. Matthews, Eli M. Dow, Todd Deshane, Wenjin Hu, Jeremy Bongio, Patrick F. Wilbur, and Brendan Johnson
ISBN-10: 0132349663
ISBN-13: 978-0132349666
Publisher: Prentice Hall
Paperback: 586 pages
Language: English

Retailers

You may purchase this book from a number of major retailers, including:

This book is also available in PDF form:

Changes & Additions

With a technology like Xen, there are inevitable changes that will lead to changes in the text. Here we describe some of the changes that don’t fall under errata, but that you are likely to see in future editions of the book.

Changes

This patch gets rid of the xensec_xml2bin binary and replaces with xm setpolicy command
http://xen.markmail.org/search/?q=xensec_xml2bin%20#query:xensec_xml2bin%20from%3A%22Stefan%20Berger%22+page:1+mid:wk27vwniyctbdzfp+state:results

from xm manpage:

setpolicy ACM policy
Makes the given ACM policy available to xend as a xend-managed policy. The policy is compiled and a
mapping (.map) as well as a binary (.bin) version of the policy is created. The policy is loaded and
the system’s bootloader is prepared to boot the system with this policy the next time it is started.

policy is a dot-separated list of names. The last part is the file name pre-fix for the policy XML
file. The preceding name parts are translated into the local path pointing to the policy XML file
relative to the global policy root directory (/etc/xen/acm-security/policies). For example, exam‐
ple.chwall_ste.client_v1 denotes the policy file example/chwall_ste/client_v1-security_policy.xml
relative to the global policy root directory.

resetpolicy
Reset the system’s policy to the default state where the DEFAULT policy is loaded and enforced. This
operation may fail if for example guest VMs are running and and one of them uses a different label
than what Domain-0 does. It is best to make sure that no guests are running before issuing this com‐
mand.

getpolicy [–dumpxml]
Displays information about the current xend-managed policy, such as name and type of the policy, the
uuid xend has assigned to it on the local system, the version of the XML representation and the sta‐
tus of the policy, such as whether it is currently loaded into Xen or whether the policy is automat‐
ically loaded during system boot. With the –dumpxml option, the XML representation of the policy is
displayed.

dumppolicy
Prints the current security policy state information of Xen.

*Xen network as of Xen 3.2 bridges are ethX devices

On the resources page, we track “Resources Since First Edition”. In some cases we would like to give more of a description and preview into the additions that we anticipate for future editions of the book.

Additions

Solaris Xen Section

Oracle VM Section

DRDB Live Migration section

PV Drivers
*GPL PV
*Red Hat
*Citrix
*Sun
Halsign TurboGate Tools
http://www.halsign.com/

Chapter 5, pg 314, disk image section, add a note about lomount… not even built by default anymore***

Chapter 4, pg 77, add section on check for VT/AMD-V support. Note enable in bios for Intel.
“Make sure you’re using the latest bios. Even if the option is in your
current bios, it might not be fully implemented.” - xen mailing list

“The kernel has to be compiled with CONFIG_IP_PNP to enable the automatic network settings.

Then IP, Netmask, Gateway, … will set from config-file (as long, there is no extra setting in domU’s /etc/network/interfaces for eth0)

“grep IP_PNP /boot/config-2.6.-xen” shows you if it is set.”

- xen mailing list

**check resources since first edition for ideas