OS Virtualization Principles

Principles

Applications of OS Virtualization

Wide range of classic use cases:

Virtual Machines and Hardware

Ideally virtualization is transparent to guest OSes

Paravirtualization and Xen

Xen comes from the University of Cambridge

Do not hide the virtualization from the guest OSes

Xen's performances

Borrowed from their paper at SOSP in 2003

comparative performances of Xen on bencharks

Xen's performances II

Borrowed from this year presentation at OLS

comparative performances of Xen on bencharks

Xen's performances III

Borrowed from this year presentation at OLS

comparative performances of Xen on bencharks

Xen for Linux

Xen is being integrated in Linux upstream

Xen Architecture

multiple domain running in Xen

Xen in Fedora

This is a work in progress

Rik van Riel and Jeremy Katz

Booting Xen

From grub.conf:

title Fedora Core Xen (2.6.12-1.1454_FC4xen0)
        root (hd0,0)
	kernel /boot/xen.gz
	module /boot/vmlinuz-2.6.12-1.1454_FC4xen0 ro root=LABEL=/ rhgb quiet
	module /boot/initrd-2.6.12-1.1454_FC4xen0.img

Xen runs in ring 0 (approx 32MB)

Linux runs in ring 2/3

Creating guests

Per guest description file in /etc/xen/

kernel="/boot/vmlinuz-2.6.12-1.1454_FC4xenU"
memory=128
name="fc4"
nics = 1
disk = ['file:/u/fc4.img,sda1,w']
root = "/dev/sda1"
extra = "ro selinux=0 3"

Reduce the Xen0 memory, launch and check:

xm mem-set 0 512
xm create fc4
xm list

Current state (FC4)

It works with basic core tools

But we are still in stabilization mode for Xen-3.0

Future tools

Higher level tools

Xen limitations

This is a relatively new technology

Some limitations are being worked on

Xen Research

Work being done for Xen 3.0

Xen's migration data

Borrowed from this year presentation at OLS

bandwidth served by a web server being migrated

Useful Links

Fedora Xen Kickstart

Rik's page

Fedora Virtualization

Xen FAQ Wiki

Cambridge Lab. Xen page

XenSource