Open Source Virtualization

Post on 24-May-2015

1.073 views 2 download

Tags:

Transcript of Open Source Virtualization

Open Source Virtualization An overview

Kris Buytaertkris.buytaert@inuits.be

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/

3

Why Virtualization Matters

Virtualization vs Virtualization

Where we come from

Now and Xen

Managing Virtual Machines

Where are we heading ?

Agenda

4

Running different operating systems together on 1 machine

separate an operating system from the underlying platform resources

What is 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

   

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

   

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

   

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

   

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

   

Hardware Supported VirtualizationXen 

KVM

Others adopted slowly

No more changes to the software ,

Hardware solves the problem

Virtualization vs Virtualization

   

IBM Mainfraimes 

First Virtualization Aquisition Ever ? 

Looking back at a decade of 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

   

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

   

DOSEmu

Win4Lin

Wine

Oldskool Emulation

   

VNC

FreeNX

NoMachines,  lightweigth, proxies

This is  Decades old :X11 !!! 

VmWare View: Open Source Client

Is this 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:

   

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

   

Chroots on SteroidsBased on  BSD Jails

Look really really similar

According to the developers no  shared codebase

OpenVZ , LinuxVServer

   

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

   

CoLinux

Running Linux on Windows

Looking back at a decade of Virtualization

   

Paul “Rusty” RussellLhype

WonkyVisor

RustyVisor

Lhype

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

Lguest,Lhype, RustyVisor

   

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 ?

   

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

Now part of the xVM suite

Virtualbox

   

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 

   

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

   

Major Distro'sRedHat

Suse

Who was first ? 

Fighting over “stability”

Hardware Vendors 

IBM, Intel, .... 

Xen adoption

   

Amazon EC2Oracle VMOwn Code ?

Hosting next Xen summit

Sun xVMPart of the suite

Virtual Iron

Xen adoption cont.d

   

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

   

Main Funding of KVM development

A Remote Virtual Desktop SolutionProprietary Own protocolCommercial Solid ICE

Now @ RedHat

Qumranet & KVM

   

Enomaly

Libvirt

Ovirt

OpenQRM

Managing Your Virtualization Platform

   

Enomaly

OpenNebula

OpenQRM

Nimbus 

SnowFlock 

Eucalyptus

Building your own cloud

   

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

   

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

   

Choice is personalXen for Servers

VirtualBox for  Desktops

Keeping an eye on KVM

LinuxVServer  for chroot on steriods

Which Virtual Platform to choose

   

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

   

`

Kris Buytaert <Kris.Buytaert@inuits.be>Further Readinghttp://www.krisbuytaert.be/blog/http://www.inuits.be/http://www.virtualization.com/http://www.oreillygmt.com/

? !