A Hands-on Guide to the Art of Virtualization


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]



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.

JumpBox 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


iSCSI Enterprise Target

Coraid :: The Linux Storage People

Linux Support for EtherDrive (R) Storage


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


OpenSolaris Xen xen-discuss Info Page


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