NWCLUG 01/05/2010
Jared Moore

Xen

Open Source Virtualization

Types of Virtualization

OS Virtualization

Chroot

FreeBSD Jails / Solaris Containers

Full Virtualization

VMware

QEMU

VirtualBox

Paravirtualization

Xen

Definitions

Guest Operating System

The operating system that Xen hosts

Domain

The virtual machine under which a guest operating system executes

Hypervisor

Software interface for hardware requests, i.e. CPU, Memory, I/O

What is Xen?

Hypervisor

Layer of software that runs directly on hardware that acts as an interface between the hardware and domains

Named Xen

Domain 0 (Dom0)

Trusted guest OS that provides hardware drives, a kernel, and a userland

Controls the hypervisor and manages guests

Modified Linux kernel

Domain guests (DomU)

Guest Operating Systems

Launched by Dom0

Why use Xen?

Server Consolidation.

Hardware Independence

Multiple OS configurations

Kernel Development

Cluster Computing.

Hardware support for custom OSes

How does it work?

CPU

Virtualization of the CPU

CPU Scheduling

Time & Timers

Memory Management

Virtual Address Translation

Physical Memory

Device I/O

Network

Disk

Control Transfer

Domain management and Control

Xend

System Manager for the Xen environment

xm

Command line tool

Xenstored

registry of information including memory and event channel links between Domain 0 and all other Domain U Guests.

Libxenctrl

C library that provides Xend the ability to talk with the Xen hypervisor via Domain 0

Installing Xen

Pick a distro

Install the xen-specific packages

It should be that easy

Configuring the Dom0

Grub

Boot using the Xen hypervisor as the kernel

Load the Dom0 Kernel as a Module

Start xend on boot

VM Storage Space

Local vs SAN

Files or LVM (or other devices)‏

Setup VM Networking

Bridging or NAT

VM Networking: Bridging

Switch

eth0

xenbr0

Vif0.0

Vif1.0

Vif2.0

Network Bridge

Physical Adapter

Network

VMs

VM Networking: NAT

Switch

eth0

IPTables

Vif0.0

Vif1.0

Vif2.0

NAT/Firewall

Physical Adapter

Network

VMs

Getting to know Xen

/etc/xen

Xen and DomU configuration directory

/etc/init.d/xend

/boot/grub/menu.lst

/var/lib/xen/images for file-backed virtual disks

Creating VMs

Manual or automatic?

virt-install

Xen-tools

File-based vs Device-based

Create the harddrives

LVM create the logical volumes

Files, create the files

Format the disks

Install OS

Example VM Config

name = ”DomU-1"

maxmem = 512

memory = 512

vcpus = 1

bootloader = "/usr/bin/pygrub"

on_poweroff = "destroy"

on_reboot = "restart"

on_crash = "restart"

vfb = [ ]

disk = [ "tap:aio:/var/lib/xen/images/Centos5Image.img,xvda,w" ]

vif = [ "mac=00:16:3e:79:fd:8d,bridge=xenbr0" ]

Important things to know

Config file is executed as a standard Python script

Basic DomU configuration

Kernel = “/boot/vmlinux-2.6-xen.gz”

vif = ['']

disk = ['phy:/dev/targetvg/lv,sda,w']

Networking

vif = [vifname,bridge,ip,mac]

xm – Xem Manager

Command line tool on Dom0 for managing DomUs

Quick overview of options: xm <option>

console -- attach to a device’s console

create -- boot a DomU from a config file

destroy -- immediately stop a DomU

list -- List running DomUs

migrate -- Migrate a console to another Dom0

pause/unpause -- akin to suspend. TCP connections will timeout

shutdown -- Tell a DomU to shut down.

network-attach/network-detach

block-attach/block-detach

RedHat/CentOS virt-manager

Simple graphical interface

Basically does what xm does, plus:

Built in short-term performance graphing

Built in VNC client

Main window of virt-manager

Migration

Cowboy method

Cold migration

xm save, xm restore

Live migration

Xm migrate –live <domain id> <destation machine>

Important things to know about live migration

Set xend.conf to allow migration from other xen Dom0s

Machine must reside on shared storage

Must be on the same layer 2 network

Backups

Cowboy method for file-backed domains

Stop and tar

LVM

Snapshot DomU from Dom0

Mount snapshot and rsync or tar

The end

Questions?

Resources

Xen project website

http://www.xen.org/support/documentation.html

http://www.xen.org/support/tutorial.html

The Book of Xen

http://nostarch.com/xen.htm

Disk:

Jared Moore

2009-12-29T15:35:21