Open Source Virtualization

36
Open Source Virtualization An overview Kris Buytaert [email protected]

Transcript of Open Source Virtualization

Page 1: Open Source Virtualization

Open Source Virtualization An overview

Kris [email protected]

Page 2: Open Source Virtualization

2

Kris Buytaert

Senior Linux and Open Source Consultant @inuits.be

„Infrastructure Architect“

Linux since 0.98

OpenMosix, openQRM, ...

Early Adopter (Xen, MySQL Cluster) 

Automating Large Scale Deployment , High Availability

Surviving the 10th floor testCoAuthor of Virtualization with Xenhttp://www.krisbuytaert.be/blog/http://www.virtualization.com/

Page 3: Open Source Virtualization

3

Why Virtualization Matters

Virtualization vs Virtualization

Where we come from

Now and Xen

Managing Virtual Machines

Where are we heading ?

Agenda

Page 4: Open Source Virtualization

4

Running different operating systems together on 1 machine

separate an operating system from the underlying platform resources

What is Virtualization ?

Page 5: Open Source Virtualization

   

Consolidation

Saving Idle Cycles

Security

Separating Development/Staging/Production platforms

Hardware Independence

A Greener Environment 

Having a budget that needs to be emptied.

All the cool kids are doing it 

Why Virtualization Matters

Page 6: Open Source Virtualization

   

High Availability

Live Migration is not a HA solution !

Vendor Lock In

Heavy IO

Don't virtualize your Databases 

Don't virtualize your heavy loaded mailservers

Hardware Dependencies

Live Migration ?

Why Virtualization is Dangerous

Page 7: Open Source Virtualization

   

Single OS image: Ensim, Vserver, Solaris Zones, openVZGroup user processes into resource containersHard to get strong isolationTypically used for Hosting/Virtual Hosting/ISPRun a lot of almost identical Virtual Machines1 single kernel

Chroot’s on steroids

Virtualization vs Virtualization

Page 8: Open Source Virtualization

   

Full virtualization: VMware, VirtualPC, Qemu, VirtualBoxRun multiple unmodified guest OSesHard to efficiently virtualize x86No Access to the hardwareNo Realtime guaranteesProblematic for certain privileged instructions

Virtualization vs Virtualization

Page 9: Open Source Virtualization

   

Para-virtualization: UML, Xen, Run multiple guest OSes ported to special archArch Xen/x86 is very close to normal x86Some Access to underlying hardware Better PerformanceNeeds modification to the OS

Virtualization vs Virtualization

Page 10: Open Source Virtualization

   

Hardware Supported VirtualizationXen 

KVM

Others adopted slowly

No more changes to the software ,

Hardware solves the problem

Virtualization vs Virtualization

Page 11: Open Source Virtualization

   

IBM Mainfraimes 

First Virtualization Aquisition Ever ? 

Looking back at a decade of Virtualization

Page 12: Open Source Virtualization

   

IBM Mainframes

First Virtualization Aquisition Ever ? 

1994 Kevin Lawton starts  Bochs developmentFull x86 emulator

1999 Work on Plex86 starts (aka FreeMWare)Lightweight Linux Virtualization

1999  Mandrake Software buys Bochs 

Looking back at a decade of Virtualization

Page 13: Open Source Virtualization

   

For those unfamiliar with my background, I authored a full x86 PC emulation project in the 1990's, called bochs. It was used in one form or another, by a number of virtualization players, including an R&D project at Stanford which became Vmware.

Kevin Lawton on his blog march 2009

Looking back at a decade of Virtualization

Page 14: Open Source Virtualization

   

DOSEmu

Win4Lin

Wine

Oldskool Emulation

Page 15: Open Source Virtualization

   

VNC

FreeNX

NoMachines,  lightweigth, proxies

This is  Decades old :X11 !!! 

VmWare View: Open Source Client

Is this Virtualization ?

Page 16: Open Source Virtualization

   

UML vs UMLinux

Jeff Dike : User Mode Linux

Run Linux on Linux As a “process”

UMLinux 

Run Linux on Linux :)

Mainly to run test scenarios

Rebranded later to Faumachine

The land of Confusion:

Page 17: Open Source Virtualization

   

LVS vs Linux Vserver

Linux Virtual Server

Act as 1 virtual server

Pass TCP/IP Connections to others

Linux Vserver 

Kernel Isolation 

Chroot on steroids 

More Land of Confusion

Page 18: Open Source Virtualization

   

Chroots on SteroidsBased on  BSD Jails

Look really really similar

According to the developers no  shared codebase

OpenVZ , LinuxVServer

Page 19: Open Source Virtualization

   

OpenVZ =~  opensource Virtuozzo

Swsoft 1997

Virtuozzo  2001

2003 Swsoft buys Plesk

SWSoft buys Parallels but “forgets” to tell

Eventually rebrands to Parallels late 2007

Kernel Inclusion ? 

OpenVZ , Virtuozzo

Page 20: Open Source Virtualization

   

CoLinux

Running Linux on Windows

Looking back at a decade of Virtualization

Page 21: Open Source Virtualization

   

Paul “Rusty” RussellLhype

WonkyVisor

RustyVisor

Lhype

Linux on Linux, but fast, no vt req , same kernel

Lguest,Lhype, RustyVisor

Page 22: Open Source Virtualization

   

QemuFabrice Bellard.

Not just x86qemu­arm qemu­mips qemu­i386 qemu­ppc qemu­sparc qemu­m68k 

“Slow”

Patch , first non free, later free

Components Used in  A LOT of projects !

Do I really need VMWare ?

Page 23: Open Source Virtualization

   

Innotek (Stuttgart) Open Source VMWare alternativeGreat Desktop Support Bought by Sun (just before Fosdem 2008)

Now part of the xVM suite

Virtualbox

Page 24: Open Source Virtualization

   

Let‘s talk about XenPioneered ParaVirtualisation 

Pioneered VT support

Went Mainstream real fast ! 

Stable and performant platform

ScriptableTargeted at Server Platforms

98% CPU Speed

Open Source 

Known Developers 

Page 25: Open Source Virtualization

   

Event Channel Virtual MMUVirtual CPU Control IF

Hardware (SMP, MMU, physical memory, Ethernet, SCSI/IDE)

NativeDeviceDriver

GuestOS(XenLinux)

Device Manager & Control s/w

NativeDeviceDriver

GuestOS(XenLinux)

UnmodifiedUser

Software

Front-EndDevice Drivers

GuestOS(XenLinux)

UnmodifiedUser

Software

Front-EndDevice Drivers

UnmodifiedGuestOS(WinXP))

UnmodifiedUser

Software

Safe HW IF

Xen Virtual Machine Monitor

Back-End Back-End

VT­x

AGPACPIPCI SMP

Page 26: Open Source Virtualization

   

Major Distro'sRedHat

Suse

Who was first ? 

Fighting over “stability”

Hardware Vendors 

IBM, Intel, .... 

Xen adoption

Page 27: Open Source Virtualization

   

Amazon EC2Oracle VMOwn Code ?

Hosting next Xen summit

Sun xVMPart of the suite

Virtual Iron

Xen adoption cont.d

Page 28: Open Source Virtualization

   

Kernel Based Virtual MachineVT Required“just a module”/usr/local/kvm/bin/qemu­*Came out of nowhere+/­ 6 weeks before kernel inclusionSince 2.6.20 Lean and MeanDesktop Oriented

KVM

Page 29: Open Source Virtualization

   

Main Funding of KVM development

A Remote Virtual Desktop SolutionProprietary Own protocolCommercial Solid ICE

Now @ RedHat

Qumranet & KVM

Page 30: Open Source Virtualization

   

Enomaly

Libvirt

Ovirt

OpenQRM

Managing Your Virtualization Platform

Page 31: Open Source Virtualization

   

Enomaly

OpenNebula

OpenQRM

Nimbus 

SnowFlock 

Eucalyptus

Building your own cloud

Page 32: Open Source Virtualization

   

What is openQRM ?

open-source project at sourceforge.net (GPL)data-center management platformNot just your virtual platformsprovides generic virtualization layerDeploy on demandSupport for physical , Xen, VMWare, Vserver, KVM OpenQRM 4 is a full rewrite

Page 33: Open Source Virtualization

   

OpenQRM : build your Virtual data-center

logical layer for servers/services called virtual environments (VE)virtual environments consist of :a boot-image (e.g. a linux kernel)a root-file system (local, NFS, ISCSI)provisioning meta-datadeployed according provisioning meta-data on idle resources

Page 34: Open Source Virtualization

   

Choice is personalXen for Servers

VirtualBox for  Desktops

Keeping an eye on KVM

LinuxVServer  for chroot on steriods

Which Virtual Platform to choose

Page 35: Open Source Virtualization

   

Xen @ CitrixOracle to hosted Xen Summit

VMWare going real open ? 

KVM @ RedHat

OpenVZ in the Kernel ? 

Xen in the Kernel ? 

Oracle buying Virtual Iron ?

The Future

Page 36: Open Source Virtualization

   

`

Kris Buytaert <[email protected]>Further Readinghttp://www.krisbuytaert.be/blog/http://www.inuits.be/http://www.virtualization.com/http://www.oreillygmt.com/

? !