scale11x : virtualization with xen and xcp

60
Lars Kurth Xen Community Manager [email protected] Virtualization in the Cloud: Featuring Xen and XCP @lars_kurth FREENODE: lars_kurth

Upload: lars-kurth

Post on 19-May-2015

1.467 views

Category:

Documents


0 download

DESCRIPTION

The Xen Hypervisor was built for the Cloud from the outset: when Xen was designed, we anticipated a world, which today is known as cloud computing. Today, Xen powers the largest clouds in production. This talk explores success criteria, architecture, trade-offs and challenges for cloudy hypervisors. It is intended for users and developers and starts with a brief introduction to Xen and XCP, their architecture and on common challenges for KVM and Xen. I will introduce the concept of domain disaggregation as an approach to increase security, robustness and scalability: all important factors for building clouds at scale and show how advanced security features suchas Xen Security Modules and SELinux can help secure your cloud further. The talk will conclude with exciting developments in the Xen community, such as Xen for ARM servers, a new virtualization mode for Xen, running applications without OS in a Xen guest and point out their implications for building open source clouds.

TRANSCRIPT

Page 1: Scale11x : Virtualization with Xen and XCP

Lars Kurth Xen Community Manager

[email protected]

Virtualization in the Cloud: Featuring Xen and XCP

@lars_kurth

FREENODE: lars_kurth

Page 2: Scale11x : Virtualization with Xen and XCP

A Brief History of Xen in the Cloud

Late 90s

XenoServer Project

Page 3: Scale11x : Virtualization with Xen and XCP

A Brief History of Xen in the Cloud

Late 90s

XenoServer Project

‘03

Xen 1.0

Page 4: Scale11x : Virtualization with Xen and XCP

A Brief History of Xen in the Cloud

Late 90s

XenoServer Project

‘03 ‘08 ‘06

Amazon EC2 and Slicehost launched

Rackspace Cloud

Xen 1.0

Page 5: Scale11x : Virtualization with Xen and XCP

A Brief History of Xen in the Cloud

Late 90s

XenoServer Project

‘03 ‘08 ‘06

Amazon EC2 and Slicehost launched

Rackspace Cloud

XCP 1.x Cloud Mgmt

‘11 ‘12

XCP packages in Linux

Xen 1.0

Page 6: Scale11x : Virtualization with Xen and XCP

A Brief History of Xen in the Cloud

Late 90s

XenoServer Project

‘03 ‘08 ‘06

Amazon EC2 and Slicehost launched

Rackspace Cloud

Linux 3.0

XCP 1.x Cloud Mgmt

‘11 ‘12

XCP packages in Linux

Xen 1.0

Page 7: Scale11x : Virtualization with Xen and XCP

A Brief History of Xen in the Cloud

Late 90s

XenoServer Project

‘03 ‘08 ‘06

Amazon EC2 and Slicehost launched

Rackspace Cloud

Linux 3.0

XCP 1.x Cloud Mgmt

‘11 ‘12

XCP packages in Linux

‘13

Xen for ARM servers

Xen 1.0

10th birthday

Page 8: Scale11x : Virtualization with Xen and XCP

The Xen Hypervisor was designed for the Cloud straight from the outset!

Page 9: Scale11x : Virtualization with Xen and XCP

• Guardian of Xen Hypervisor and related OSS Projects

• Xen Governance similar to Linux Kernel

– Plus project lifecycle and Project Management Committee (PMC)

• Projects

– Xen Hypervisor (led by 5 committers, 2 from Citrix, 1 from Suse, 2 Independent)

– Xen Cloud Platform aka XCP (led by Citrix)

– Xen ARM : Xen for mobile devices (led by Samsung)

Xen.org

Page 10: Scale11x : Virtualization with Xen and XCP

Xen contributor community is diversifying

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

2010 2011 2012

Citrix UPC

SUSE Amazon

University AMD

GridCentric Individual

NSA Intel

Fujitsu iWeb

Misc Oracle

Spectralogic University of British Columbia

• The number of “significant” active vendors is increasing

• New feature development driving new participation

Page 11: Scale11x : Virtualization with Xen and XCP

Xen Overview

Page 12: Scale11x : Virtualization with Xen and XCP

Hypervisor Architectures Type 1: Bare metal Hypervisor

A pure Hypervisor that runs directly on the hardware and hosts Guest OS’s.

Provides partition isolation + reliability, higher security

Host HW Memory CPUs I/O

Hypervisor Scheduler

MMU Device Drivers/Models

VMn

VM1

VM0

Guest OS and Apps

Page 13: Scale11x : Virtualization with Xen and XCP

Hypervisor Architectures Type 1: Bare metal Hypervisor

A pure Hypervisor that runs directly on the hardware and hosts Guest OS’s.

Type 2: OS ‘Hosted’

A Hypervisor that runs within a Host OS and hosts Guest OS’s inside of it, using the host OS services to provide the virtual environment.

Provides partition isolation + reliability, higher security

Low cost, no additional drivers Ease of use & installation

Host HW Memory CPUs I/O

Host HW Memory CPUs I/O

Hypervisor Scheduler

MMU Device Drivers/Models

VMn

VM1

VM0

Guest OS and Apps

Host OS

Device Drivers Ring-0 VM Monitor “Kernel “

VMn

VM1

VM0

Guest OS and Apps

User Apps

User-level VMM

Device Models

Page 14: Scale11x : Virtualization with Xen and XCP

Xen: Type 1 with a Twist Type 1: Bare metal Hypervisor

Host HW Memory CPUs I/O

Hypervisor Scheduler

MMU Device Drivers/Models

VMn

VM1

VM0

Guest OS and Apps

Page 15: Scale11x : Virtualization with Xen and XCP

Xen: Type 1 with a Twist Type 1: Bare metal Hypervisor

Host HW Memory CPUs I/O

Hypervisor Scheduler

MMU Device Drivers/Models

VMn

VM1

VM0

Guest OS and Apps

Host HW Memory CPUs I/O

Hypervisor

VMn

VM1

VM0

Guest OS and Apps

Xen Architecture

Scheduler MMU

Page 16: Scale11x : Virtualization with Xen and XCP

Xen: Type 1 with a Twist Type 1: Bare metal Hypervisor

Host HW Memory CPUs I/O

Hypervisor Scheduler

MMU Device Drivers/Models

VMn

VM1

VM0

Guest OS and Apps

Host HW Memory CPUs I/O

Hypervisor

VMn

VM1

VM0

Guest OS and Apps

Xen Architecture

Scheduler MMU

Control domain (dom0)

Drivers

Device Models

Linux & BSD

Page 17: Scale11x : Virtualization with Xen and XCP

Xen and Linux

• Xen Hypervisor is not in the Linux kernel

• BUT: everything Xen and Xen Guests need to run is!

• Xen packages are in all Linux distros (except RHEL6) – Install Dom0 Linux distro

– Install Xen package(s) or meta package

– Reboot

– Config stuff: set up disks, peripherals, etc.

More info: wiki.xen.org/wiki/Category:Host_Install

Page 18: Scale11x : Virtualization with Xen and XCP

Basic Xen Concepts

18

Control domain (dom0)

Host HW

VMn

VM1

VM0

Guest OS and Apps

Memory CPUs I/O

Console • Interface to the outside world

Control Domain aka Dom0 • Dom0 kernel with drivers • Xen Management Toolstack

Guest Domains • Your apps

Driver/Stub/Service Domain(s) • A “driver, device model or control

service in a box” • De-privileged and isolated • Lifetime: start, stop, kill

Dom0 Kernel

Hypervisor Scheduler MMU XSM

Trusted Computing Base

Page 19: Scale11x : Virtualization with Xen and XCP

Basic Xen Concepts

19

Control domain (dom0)

Host HW

VMn

VM1

VM0

Guest OS and Apps

Console

Memory CPUs I/O

Dom0 Kernel

Toolstack

Hypervisor Scheduler MMU XSM

Console • Interface to the outside world

Control Domain aka Dom0 • Dom0 kernel with drivers • Xen Management Toolstack

Guest Domains • Your apps

Driver/Stub/Service Domain(s) • A “driver, device model or control

service in a box” • De-privileged and isolated • Lifetime: start, stop, kill Trusted Computing Base

Page 20: Scale11x : Virtualization with Xen and XCP

Basic Xen Concepts

20

Control domain (dom0)

Host HW

VMn

VM1

VM0

Guest OS and Apps

Console

Memory CPUs I/O

One or more driver, stub or service domains

Dom0 Kernel

Toolstack

Hypervisor Scheduler MMU XSM

Console • Interface to the outside world

Control Domain aka Dom0 • Dom0 kernel with drivers • Xen Management Toolstack

Guest Domains • Your apps

Driver/Stub/Service Domain(s) • A “driver, device model or control

service in a box” • De-privileged and isolated • Lifetime: start, stop, kill Trusted Computing Base

Page 21: Scale11x : Virtualization with Xen and XCP

21

Xen Variants for Server & Cloud Xen Hypervisor

Page 22: Scale11x : Virtualization with Xen and XCP

Single Host Basic Functions

Multiple Hosts Additional Functionality

22

Xen Variants for Server & Cloud

Increased level of functionality and integration with other components

Default / XL (XM) Toolstack / Console Libvirt / VIRSH XAPI / XE

Hypervisor

Single Host Additional Functionality

Xen

Page 23: Scale11x : Virtualization with Xen and XCP

Single Host Basic Functions

Multiple Hosts Additional Functionality

23

Xen Variants for Server & Cloud

Increased level of functionality and integration with other components

Default / XL (XM) Toolstack / Console Libvirt / VIRSH XAPI / XE

Hypervisor

Single Host Additional Functionality

Xen XCP

Page 24: Scale11x : Virtualization with Xen and XCP

24

Xen Variants for Server & Cloud

Increased level of functionality and integration with other components

Default / XL (XM) Toolstack / Console Libvirt / VIRSH

Get Binaries from … Linux Distros Linux Distros Debian & Ubuntu

ISO from Xen.org

Project Xen XCP

XAPI / XE

Page 25: Scale11x : Virtualization with Xen and XCP

25

Xen Variants for Server & Cloud Xen Hypervisor

Increased level of functionality and integration with other components

Default / XL (XM) Toolstack / Console Libvirt / VIRSH

Products Oracle VM Huawei UVP Citrix XenServer

Get Binaries from … Linux Distros Linux Distros Debian & Ubuntu

ISO from Xen.org

Project XCP

XAPI / XE

Page 26: Scale11x : Virtualization with Xen and XCP

26

Xen Variants for Server & Cloud

Increased level of functionality and integration with other components

Default / XL (XM) Toolstack / Console Libvirt / VIRSH

Get Binaries from … Linux Distros Linux Distros Debian & Ubuntu

ISO from Xen.org

Used by …

More info: xen.org/community/ecosystem.html xen.org/community/presentations.html xen.org/products/case_studies.html

Project Xen Hypervisor XCP

XAPI / XE

Page 27: Scale11x : Virtualization with Xen and XCP

Xen : Types of Virtualization

Page 28: Scale11x : Virtualization with Xen and XCP

28

Xen Hypervisor

Control domain (dom0)

Host HW

Guest VMn

Apps

Memory CPUs I/O

Technology:

• Paravirtualization

Linux PV guests have limitations:

• limited set of virtual hardware

Advantages • Fast • Works on any system

(even without virt extensions)

HW Drivers

PV Back Ends PV Front Ends

Guest OS Dom0 Kernel

PV Domains

Page 29: Scale11x : Virtualization with Xen and XCP

29

Xen Hypervisor

Control domain (dom0)

Host HW

Guest VMn

Apps

Memory CPUs I/O

Technology:

• Paravirtualization

Linux PV guests have limitations:

• limited set of virtual hardware

Advantages • Fast • Works on any system

(even without virt extensions)

Driver Domains • Security • Isolation • Reliability and Robustness

HW Drivers

PV Back Ends PV Front Ends

Driver Domain e.g. • Disk • Network

HW Driver

PV Back End

Dom0 Kernel*

*) Can be MiniOS

Guest OS Dom0 Kernel

PV Domains & Driver Domains

Page 30: Scale11x : Virtualization with Xen and XCP

30

Xen Hypervisor

Dom0

Host HW

Guest VMn

Technology:

• Shows emulation using QEMU/Device Model (SW Virtualization)

• In other situation HW can be used

Disadvantages

• Emulation slower than PV (mainly I/O devices)

Advantages • No kernel support needed

Device Model IO Emulation

IO Event

VMEXIT Dom0 Kernel

HVM & Stub Domains

Memory CPUs I/O

Page 31: Scale11x : Virtualization with Xen and XCP

31

Xen Hypervisor

Dom0

Host HW

Guest VMn

Technology:

• Shows emulation using QEMU/Device Model (SW Virtualization)

• In other situation HW can be used

Disadvantages

• Emulation slower than PV (mainly I/O devices)

Advantages • No kernel support needed

Stub Domains • Security • Isolation • Reliability and Robustness

Device Model IO Emulation

IO Event

VMEXIT

Stubdomn

Device Model

Mini OS

Guest VMn

IO Emulation

IO Event

VMEXIT Dom0 Kernel

HVM & Stub Domains

Memory CPUs I/O

Page 32: Scale11x : Virtualization with Xen and XCP

The Virtualization Spectrum

Fully Virtualized (FV) VS VS VS VH

FV with PV for disk & network P VS VS VH

PVHVM P P VS VH

PVH P P P VH

Fully Paravirtualized (PV) P P P P

VH Virtualized (HW)

P Paravirtualized

VS Virtualized (SW)

HVM mode/domain

PV mode/domain Xen 4.3

Page 33: Scale11x : Virtualization with Xen and XCP

The Virtualization Spectrum

Fully Virtualized (FV) VS VS VS VH

FV with PV for disk & network P VS VS VH

PVHVM P P VS VH

PVH P P P VH

Fully Paravirtualized (PV) P P P P

Scope for improvement

Poor performance

Optimal performance

HVM mode/domain

Xen 4.3 PV mode/domain

Page 34: Scale11x : Virtualization with Xen and XCP

The Virtualization Spectrum

Fully Virtualized (FV) VS VS VS VH

FV with PV for disk & network P VS VS VH

PVHVM P P VS VH

PVH P P P VH

Fully Paravirtualized (PV) P P P P

Scope for improvement

Poor performance

Optimal performance

HVM mode/domain

Xen 4.3 PV mode/domain

Important: Xen automatically picks the best option based on HW & OS capabilities and available drivers.

As a Xen user I chose a HVM or PV domain.

Page 35: Scale11x : Virtualization with Xen and XCP

XCP Project

Page 36: Scale11x : Virtualization with Xen and XCP

XCP – Xen Cloud Platform

Complete stack for server virtualization • Extends Xen to cover multiple hosts • Adds further functionality and integrations for cloud, storage and networking to Xen HV • GPLv2 • XenServer is a commercial XCP distro

Two Flavours • Appliance (ISO using CentOS Dom0) • Packages in Debian & Ubuntu (more distros to come)

Page 37: Scale11x : Virtualization with Xen and XCP

Major XCP Features

• VM lifecycle: live snapshots, checkpoint, migration

• Resource pools: flexible storage and networking

• Event tracking: progress, notification

• Upgrade and patching capabilities

• Real-time performance monitoring and alerting

• Built-in support and templates for Windows and Linux guests

• Open vSwitch support built-in (default)

More info: wiki.xen.org/wiki/XCP_Release_Features

Page 38: Scale11x : Virtualization with Xen and XCP

• New format Windows drivers: installable by Windows Update Service

• Networking: Better VLAN scalability, LACP bonding, IPv6

• Storage XenMotion:

– Migrate VMs between hosts or pools without shared storage

– Move a VM’s disks between storage repositories while the VM is running

• Other: more templates, latest Xen, OVS, etc.

XCP 1.6

More info: xen.org/download/xcp/releasenotes_1.6.0.html & More info: xen.org/download/xcp/index_1.6.0.html

Page 39: Scale11x : Virtualization with Xen and XCP

XCP and Cloud Orchestration Stacks

Page 40: Scale11x : Virtualization with Xen and XCP

Challenges for FOSS hypervisors

Page 41: Scale11x : Virtualization with Xen and XCP

“Security and QoS/Reliability are amongst the top 3 blockers for cloud adoption”

www.colt.net/cio-research

Page 42: Scale11x : Virtualization with Xen and XCP

System characteristics cloud users care about: “Robustness, Performance, Scalability & Security” Results XCP User Survey 2012 – 90% of users quoted these as most important attributes

Page 43: Scale11x : Virtualization with Xen and XCP

Split Control Domain into Driver, Stub and Service Domains

– See: ”Breaking up is hard to do” @ Xen Papers

– See: “Domain 0 Disaggregation for XCP and XenServer”

Used today by Qubes OS and Citrix XenClient XT

Prototypes for XCP

Disaggregation

See qubes-os.org

Different windows run in different VMs

Page 44: Scale11x : Virtualization with Xen and XCP

More Security

Increased serviceability and flexibility

Better Robustness

Better Performance

Better Scalability

Benefits of Disaggregation

Ability to safely restart parts of the system (e.g. just 275ms outage from failed Ethernet driver)

Page 45: Scale11x : Virtualization with Xen and XCP

Next: XCP Architecture Diagram Before and After Disaggregation

Page 46: Scale11x : Virtualization with Xen and XCP

CPU CPU RAM RAM NIC

(or SR-

IOV VF)

NIC (or SR-

IOV VF)

NIC (or SR-

IOV VF)

NIC (or SR-

IOV VF)

RAID

Xen

Dom0 Network

drivers

NFS/

iSCSI drivers

Qemu

xapi Local

storage drivers

NFS/

iSCSI drivers

Network

drivers

Qemu

eth eth eth eth scsi

User VM User VM

NB gntdev NB

NF BF NF BF

qemu qemu

xapi

vswitch

networkd

tapdisk

blktap3

storaged

syslogd vswitch

networkd

tapdisk

blktap3

storaged

tapdisk

blktap3

storaged

gntdev gntdev

Dom0

xenopsd

libxl

healthd

Domain

manager

Dom0

.

.

.

.

Xen

xapi

Page 47: Scale11x : Virtualization with Xen and XCP

CPU CPU RAM RAM NIC

(or SR-

IOV VF)

NIC (or SR-

IOV VF)

NIC (or SR-

IOV VF)

NIC (or SR-

IOV VF)

RAID

Dom0 Network

driver

domain

NFS/

iSCSI driver

domain

Qemu

domain

xapi

domain

Logging

domain Local

storage driver

domain

NFS/

iSCSI driver

domain

Network

driver

domain

User VM User VM

NB gntdev NB

NF BF NF BF

dbus over v4v

qemu

xapi xenopsd

libxl

healthd

Domain

manager

vswitch

networkd

tapdisk

blktap3

storaged

syslogd vswitch

networkd

tapdisk

blktap3

storaged

tapdisk

blktap3

storaged

gntdev gntdev

eth eth eth eth scsi

Xen Xen

D

o

m

0

dbus over v4v

.

.

.

Page 48: Scale11x : Virtualization with Xen and XCP

50

Xen Security Advantages

• Even without Advanced Security Features – Well-defined trusted computing base (much smaller than on type-2 HV)

– Minimal services in hypervisor layer

• Xen Security Modules (or XSM) and FLASK – XSM is Xen equivalent of LSM

– FLASK is Xen equivalent of SELinux

– Developed, maintained and contributed to Xen by NSA

– Compatible with SELinux (tools, architecture)

– XSM object classes maps onto Xen features

More info: http://www.slideshare.net/xen_com_mgr/ a-brief-tutorial-on-xens-advanced-security-features

Page 49: Scale11x : Virtualization with Xen and XCP

CPU CPU RAM RAM NIC

(or SR-

IOV VF)

NIC (or SR-

IOV VF)

NIC (or SR-

IOV VF)

NIC (or SR-

IOV VF)

RAID

Xen

Dom0 Network

driver

domain

NFS/

iSCSI driver

domain

Qemu

domain

xapi

domain

Logging

domain Local

storage driver

domain

NFS/

iSCSI driver

domain

Network

driver

domain

eth eth eth eth scsi

User VM User VM

NB gntdev NB

NF BF NF BF

qemu

xapi xenopsd

libxl

healthd

Domain

manager

vswitch

networkd

tapdisk

blktap3

storaged

syslogd vswitch

networkd

tapdisk

blktap3

storaged

tapdisk

blktap3

storaged

gntdev gntdev

FLASK policy

restricting access

D

o

m

0

.

.

.

dbus over v4v dbus over v4v

Xen

Page 50: Scale11x : Virtualization with Xen and XCP

News from the Xen Community

Page 51: Scale11x : Virtualization with Xen and XCP

• PVH virtualization mode

• Extend scope of Xen Security Modules

• qxl Spice support for 3d acceleration

• Updated and improved libvirt drivers for Xen

• Lots of other stuff: – scalability, performance, better NUMA support, …

Coming in Xen 4.3 (Q2 2013)

More info: blog.xen.org/index.php/2013/02/11/xen-4-3-mid-release-roadmap-update

Page 52: Scale11x : Virtualization with Xen and XCP

Fully functional for ARM v7 & v8

ARM v7: Versatile Express, Arndale & Samsung Chromebook

ARM v8: Fast Model

Xen 4.3 for ARM Servers

Page 53: Scale11x : Virtualization with Xen and XCP

ARM SOC

Xen and ARM : a perfect Match

ARM Architecture Features for Virtualization

Hypervisor mode : EL2

Kernel mode : EL1

User mode : EL0

Hypercall interface :HVC

GIC

v2 GT

2 stage

MMU

I/O

Device Tree describes …

Page 54: Scale11x : Virtualization with Xen and XCP

ARM SOC ARM Architecture Features for Virtualization

EL2

EL1

EL0

HVC

GIC

v2 GT

2 stage

MMU

I/O

Device Tree describes …

Xen Hypervisor

Dom0

only

Any Xen Guest VM (including Dom0)

Kernel

User Space

Xen and ARM : a perfect Match

Page 55: Scale11x : Virtualization with Xen and XCP

One mode to rule them all

x86: PVHVM P P VS VH

x86: PVH P P P VH

ARM v7 & v8 P VH VH VH

Scope for improvement

Optimal performance

HVM mode/domain

PV mode/domain

Page 56: Scale11x : Virtualization with Xen and XCP

Xen is coming back to CentOS

In semi-private beta

Planned release in CentOS 6.4

Include XAPI packages – aka XCP in CentOS

Xen in CentOS 6.4+

Page 57: Scale11x : Virtualization with Xen and XCP

Application stacks only running on Xen APIs

Works on any Xen based cloud or hosting service

Examples – ErlangOnXen.org : Erlang

– HalVM : Haskell

– OpenMirage : Ocaml

Benefits: – Small footprint

– Low startup latency

– Extremely fast migration of VMs

Xen Library Operating Systems

Xen

Control domain (dom0)

Host HW

Guest VMn

Apps

HW Drivers

PV Back Ends Library OS embedded

in Language run-time

Dom0 Kernel

Page 58: Scale11x : Virtualization with Xen and XCP

Summary: Why Xen?

Page 59: Scale11x : Virtualization with Xen and XCP

• Designed for the Cloud : many advantages for cloud use!

– Resilience, Robustness & Scalability

– Security: Small surface of attack, Isolation & Advanced Security Features

• Widely used by Cloud Providers and Vendors

• XCP

– Ready for use with cloud orchestration stacks

• Open Source with a large community and eco-system

– Xen is still on top of the game

– Exciting new developments and features in the pipeline

Page 60: Scale11x : Virtualization with Xen and XCP

Thank You!

Slides available under CC-BY-SA 3.0 From www.slideshare.net/xen_com_mgr

@lars_kurth FREENODE: lars_kurth

• IRC: ##xen @ FREENODE

• Mailing List: xen-users & xen-api (lists.xen.org)

• Wiki: wiki.xen.org

• Ecosystem pages: xen.org/community/ecosystem.html

• Presentations & Videos: xen.org/community/presentations.html