Personal tools
You are here: Home Old Events Past Events 2005 October Xen Presentation
Document Actions

Xen Presentation

by Tracy R Reed last modified 2005-10-13 18:07

Xen

Tracy Reed Copilot Consulting October 13, 2005

Main Xen Project Page

Xen is a virtual machine monitor/hypervisor (VMM) for x86-compatible computers. Xen can securely execute multiple virtual machines, each running its own OS, on a single physical system with close-to-native performance.

Xen is a hypervisor. Not an emulator. It is open source's answer to IBM's VM

Supported by: Novell, Sun, RedHat, Veritas, HP, IBM, Cisco, Intel, AMD

Originally received funding in a grant from MS

Licensed under GPL

Currently only supports x86 as the technology is intimately tied to the hardware.

Any free OS will run under it, Windows very soon with new chips from Intel/AMD

Virtualization overview

Single OS image: Virtuozo, Vservers, Zones

  • Group user processes into resource containers
  • Hard to get strong isolation

Full virtualization: VMware, VirtualPC, QEMU

  • Run multiple unmodified guest operating systems
  • Hard to efficiently virtualize x86
  • Slow due to emulating the hardware

Para-virtualization: UML, Xen

  • Run multiple guest operating systems ported to special architecture
  • Xen/x86 is very close to normal x86 architecture

What is it good for? - Consolidate under-utilized servers. - 99% of CPU time is wasted. - CPU's and RAM are cheap, can fit a lot in one box now - Avoid downtime with VM relocation - Dynamically re-balance workload - Enforce security policy - Ease of management: reduce dependencies on overloaded boxes - Whole network in one box

Xen 2.0

  • Secure isolation between VM's
  • Resource control and QoS
  • Guest kernel currently needs to be ported to Xen architecture (minor changes)
    • Linux, NetBSD, FreeBSD, Plan 9
  • Execution performance is close to native
  • Live relocation of VM's between Xen nodes

Para-virtualization in Xen

xen_x86 architecture is like x86 but uses Xen hypercalls for privileged operations

  • No changes to system binaries
  • Minimize number of privilege transitions into Xen
  • Wall-clock time vs virtual process time, Xen provides both
  • Expose real resource availability so OS can optimize behavior
  • Xen runs in ring 0
  • Ring 1/2 are for guest OS
  • 3 is for user-space
  • segfault if guest attempts to use privileged instruction
  • Xen lives in top 64MV of address space
  • segmentation used to protect Xen
  • Hypercalls jump to Xen in ring 0
  • Physical hardware devices are virtualized and exported to the VM's

Xen 3.0

  • AGP/DRM graphics support
  • Improved ACPI platform support
  • Support for SMP guests
  • x86_64 support
  • Intel VT-x support for unmodified guests
  • Enhanced control and management tools

VT-X/Pacifica

  • Will enable OS's (Windows) to be run without modifications
  • Install paravirtualized drivers after booting for high-performance IO

VM relocation:

  • pre-migration, setup space on remote machine
  • Copy contents of RAM
  • Trickle updates
  • Stop, copy, commit, done
  • Downtime typically 10's of milliseconds
  • They cut over a Quake server and none of the players noticed anything
  • Networked storage
    • SAN, iSCSI, drdb, AoE
  • Requires common layer 2 network

Architecture whitepapers

Cheap RAM and SMP machines make this very effective.

Xen has a demo CD

  • Demo CD is a fast and easy way to play with Xen
  • Boots FreeBSD, Debian, and various others simultaneously off the CD

Features:

Multiple OS domains

Create/destroy domains on the fly

Grow and shrink memory on the fly

Can use LVM for disk

Save and restore domains to disk

Process migration

  • With a SAN backend and a gigabit Network Xen can be used to build a powerful and reliable computing infrastructure for hosting

Future of Xen

  • Software fault tolerance, exploit deterministic replay
  • Debugging, lightweight checkpoint and replay
  • Secure virtualization, multi-level secure Xen
« August 2008 »
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: