Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
The Book of Xen
FOREWORD
ACKNOWLEDGMENTS
INTRODUCTION
Virtualization: A Brief History
So What's Xen Again? (And Why Should I Use It?)
Xen's Limitations
So, Why Should I Use Xen?
Overview of the Book
But I Am Impatient!
1. XEN: A HIGH-LEVEL OVERVIEW
Virtualization Principles
Virtualization Techniques: Full Virtualization
Virtualization Techniques: OS Virtualization
Paravirtualization: Xen's Approach
How Paravirtualization Works
Xen's Underpinnings: The Gory Details
Scheduling
Interrupts
Memory
I/O Devices
Networking
Block Devices
Putting It Together
2. GETTING STARTED
Hardware Compatibility
Installing CentOS
Getting Familiar with Your Xen System
Management with xm
Making a DomU
Anatomy of a Domain Configuration File
Configuring the DomU
You're Finished. Have a Cookie.
3. PROVISIONING DOMUS
A Basic DomU Configuration
Selecting a Kernel
Quick-and-Dirty Install via tar
Why This Is Not the Best Idea
Stuff to Watch Out For
Using the Package Management System with an Alternate Root
Red Hat, CentOS, and Other RPM-Based Distros
Debootstrap with Debian and Ubuntu
Renaming Network Devices
QEMU Install
virt-install—Red Hat's One-Step DomU Installer
Converting VMware Disk Images
Mass Deployment
Manual Deployment
QEMU and Your Existing Infrastructure
Setting Up SystemImager
Installing pypxeboot
Automated Installs the Red Hat Way
And Then…
4. STORAGE WITH XEN
Storage: The Basics
Varying Types of Storage
Basic Setup: Files
LVM: Device-Independent Physical Devices
Basic Setup: LVM
Enlarge Your Disk
File-Backed Images
LVM
Copy-on-Write and Snapshots
LVM and Snapshots
Storage and Migration
Network Storage
NFS
Closing Suggestions
5. NETWORKING
Xen's Network Setup Process
Defining Virtual Interfaces
Naming Virtual Interfaces
Autoconfiguration
Specifying a MAC Address
Manipulating vifs with xm
Securing Xen's Virtual Network
Specifying an IP Address
Firewalling the Dom0
Networking with network-route
Networking with network-bridge
Networking with network-nat
Configuration Variables
Custom Network Scripts
Multiple-Bridge Setups
Bridged and Routing
Further Thoughts
6. DOMU MANAGEMENT: TOOLS AND FRONTENDS
Tools for the VM Provider
Xen-tools
Installing Xen-tools
Configuring Xen-tools
Xen-tools and RPM-based DomU Images
Xen-tools Postinstall
Extending the Config File Template
xen-list-images
xen-delete-image
libvirt, virsh, and virt-manager
virt-manager
Getting Started with virt-manager
Administering the Virtualized Data Center
Administration for the VM Customer
Xen-shell
7. HOSTING UNTRUSTED USERS UNDER XEN: LESSONS FROM THE TRENCHES
Advantages for the Users
Shared Resources and Protecting Them from the Users
Tuning CPU Usage
Scheduler Basics
VCPUs and Physical CPUs
Credit Scheduler
Scheduling for Providers
Controlling Network Resources
Monitoring Network Usage
Network Shaping Principles
Shaping Incoming Traffic
Shaping Outgoing Traffic
Storage in a Shared Hosting Environment
Regulating Disk Access with ionice
Backing Up DomUs
Remote Access to the DomU
An Emulated Serial Console
A Menu for the Users
PyGRUB, a Bootloader for DomUs
Making PyGRUB Work
Self-Support with PyGRUB
Setting Up the DomU for PyGRUB
Wrap-Up
8. BEYOND LINUX: USING XEN WITH OTHER UNIX-LIKE OSS
Solaris
Getting Started with Solaris
Solaris Dom0
Setting Up Xen
Solaris SMF
Creating a Solaris DomU
ZFS Backing Devices
Installing a DomU via PyGRUB
Creating a Solaris DomU Under Linux
OpenSolaris DomU Postinstall Configuration
NetBSD
NetBSD's Historical Xen Support
Installing NetBSD as a Dom0
Installing NetBSD as a DomU
Beyond Paravirtualization: HVM
9. XEN MIGRATION
Migration for Troglodytes
Migration with xm save and xm restore
Cold Migration
Live Migration
How It Works
Making Xen Migration Work
Migrating Storage
ATA over Ethernet
iSCSI
Setting Up the iSCSI Server
iSCSI Client Setup
Quo Peregrinatur Grex
10. PROFILING AND BENCHMARKING UNDER XEN
A Benchmarking Overview
UnixBench
Analyzing Network Performance
Measuring Disk Performance with Bonnie++
Application Benchmarks
httperf: A Load Generator for HTTP Servers
Another Application Benchmark: POV-Ray
Tuning Xen for Optimum Benchmarking
Profiling with Xen
Xenoprof
Getting OProfile
Building OProfile
OProfile Quickstart
Profiling Multiple Domains in Concert
Active vs. Passive Profiling
Active Profiling
An OProfile Example
Conclusion
11. CITRIX XENSERVER: XEN FOR THE ENTERPRISE
Citrix's Xen Products
The Benefits of Using Citrix XenServer
Ten Minutes to Xen
The Disadvantages of Using Citrix XenServer
Getting Started
Prerequisites
Installing Citrix XenServer
Citrix's Xen GUI: XenCenter
Administering VMs with the XenCenter
Installing DomU Images
Installing from the Debian Templates
Templated Linux VM
Windows Install
Creating DomU Images with P2V
Converting Pre-existing Virtual or Physical Machines with XenConvert
XenServer Tools in the DomU
xe: Citrix XenServer's Command-Line Tool
XenServer's Disk Management
Xen Storage Repositories
Emulated CD-ROM Access
XenServer VM Templates
XenServer Resource Pools
Citrix XenServer: A Brief Review
12. HVM: BEYOND PARAVIRTUALIZATION
Principles of HVM
Device Access with HVM
HVM Device Performance
HVM and SMP
HVM and Migration
Xen HVM vs. KVM
Working with HVM
Creating an HVM Domain
Interacting with an HVM Domain
Getting the Standard Xen Console to Work
HVM Devices
Paravirtualized Drivers
Compiling PV Drivers for HVM Linux
And, for Our Next Trick…
13. XEN AND WINDOWS
Why Run Windows Under Xen?
Windows on Xen: Prerequisites
Windows on Xen: Installation
Installing Windows Manually
A Discussion of HALs
Installing Windows the Red Hat Way
Windows with the Virtual Framebuffer
Et Voilà!
Windows Activation
Graphics Cards
Paravirtualized Drivers for Windows
Proprietary Windows PVM Drivers
GPL Windows Paravirtualized Drivers
Ongoing Development
14. TIPS
Compiling Xen
Compile-Time Tuning
Alternate Kernels (Dom0 and DomU)
paravirt_ops Dom0
paravirt_ops DomU
The Xen API: The Way of the Future
Managing Memory with the Balloon Driver
PCI Forwarding
GRUB Configuration
The Serial Console
Enabling Serial Output
The Xen Hypervisor Console
Xen and LILO
The Virtual Framebuffer
Use of the XenStore for Fun and Profit
Automatically Connecting to the VNC Console on Domain Boot
15. TROUBLESHOOTING
Troubleshooting Phase 1: Error Messages
Errors at Dom0 Boot
DomU Preboot Errors
Creating Domains in Low-Memory Conditions
Configuring Devices in the DomU
Troubleshooting Disks
VM Restarting Too Fast
Troubleshooting Xen's Networking
The DomU Interface Number Increments with Every Reboot
iptables
Memory Issues
Other Messages
A Constant Stream of 4GiB seg fixup Messages
The Importance of Disk Drivers (initrd Problems)
XenStore
Xen's Logs
dmesg and xm dmesg
Logs and What Xen Writes to Them
Applying the Debugger
Xen's Backend Architecture: Making Sense of the Debug Information
Domain Stays in Blocked State
Debugging Hotplug
strace
Python Path Issues
Mysterious Lockups
Kernel Parameters: A Safe Mode
Getting Help
Mailing Lists
The Xen Wiki
The Xen IRC Channel
Bugzilla
Your Distro Vendor
xen-bugtool
Some Last Words of Encouragement
A. XM REFERENCE
xm's Syntax
xm Subcommands
B. THE STRUCTURE OF THE XEN CONFIG FILE
List of Directives
HVM Directives
Device Model Options
COLOPHON
← Prev
Back
Next →
← Prev
Back
Next →