xen project hypervisor for the cloud
DESCRIPTION
Xen Project Overview, 2014 Update. As delivered at the Open Source Cloud Meetup in Columbia, MD, August 13, by Russell PavlicekTRANSCRIPT
![Page 1: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/1.jpg)
Russell Pavlicek Xen Project Evangelist
Xen Project: Hypervisor for Clouds
@RCPavlicek
![Page 2: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/2.jpg)
So Who’s the Fat Geek up Front?
![Page 3: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/3.jpg)
• Linux user since 1995; Linux desktop since 1997
• Linux advocate before I ever saw the software
• Early Linux advocate at Digital Equipment Corporation, Compaq
• Former FOSS columnist for Infoworld, Processor magazines
• Former panelist on The Linux Show webcast
• Wrote book, Embracing Insanity: Open Source Software Development (2000)
• Speaker at 50+ Open Source conferences
• Became Xen Project Evangelist employed by Citrix in January 2013
• Formerly with Cassatt Corporation in San Jose, cloud startup (2004-2009)
About the Speaker...
![Page 4: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/4.jpg)
About the Xen Project Stack
• The main components: – Xen Project Hypervisor, the central FOSS project
– Xen Project API, the Cloud enabled subproject
• Better known as “XAPI”
– Xen Project is a Linux Foundation Collaborative Project
– These are the subjects of this talk
• And then there’s:
– XenServer, a popular Xen Project-based product
• Was partially closed source; open-sourced by Citrix in 2013
![Page 5: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/5.jpg)
The Cloud “Problem”
![Page 6: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/6.jpg)
IT Before the Cloud
• Stability is Paramount – The value of IT to the corporation is consistent service availability
– Service capacity specified a year or more in advance
– What’s up, stays up
• Change is Bad – Change to status quo is disruptive and dangerous
– Changes are beaten into submission until they become part of the new status quo – and then they are no longer changes
![Page 7: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/7.jpg)
IT Reinvented in the Cloud
• Availability of Services is Paramount – The value of IT to the corporation is consistent service availability
at levels matching dynamic business demand
– Service capacity must move with business needs
– What’s up when depends on what’s needed when
• Change is Good – Services must change to cover the needs of the moment
– Lack of change = lack of value
![Page 8: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/8.jpg)
Cloud 101: Layers of the Cloud
App
Operating System Layer
Virtualization Layer
Cloud Orchestration Layer
![Page 9: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/9.jpg)
Virtualization in the Cloud
• It must be stable
• It must be secure
• It must be configurable on a large scale
– The “user at machine” paradigm does not work
– If it requires a mouse, you’re in trouble
• It must take orchestration (APIs, command line)
• It must be multi-tenant
• It must not lock you into one concept or provider of Cloud
![Page 10: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/10.jpg)
Xen Project: Highly Stable
• Solid track record
– Amazon’s AWS cloud business uses Xen Project
– Verizon launched a new Xen Project-based cloud
• Linux Foundation Project Partners:
– Amazon, AMD, ARM, CA, Cisco, Citrix, Google, Intel, NetApp, Oracle, Rackspace, Verizon, and more
![Page 11: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/11.jpg)
Xen Project: Highly Secure
• SELINUX
• FLASK – SELINUX capabilities at the VM level by the same team
• Disaggregation
– Segment device drivers into discrete VMs
• Architectural advantages of a Type-1 Hypervisor
– See the slides of my Advanced Security talk on XenProject.org or join us on September 15 in New York City for User Summit
![Page 12: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/12.jpg)
Xen Project: Configurable at Scale
• Toolstacks give rich API and command line capabilities
• Not GUI-centric
• Empowers orchestration via scripting, power tools (Puppet, Chef, etc.), GUIs (XenServer’s XenCenter, Xen Orchestra, etc.), and Cloud layers (OpenStack, CloudStack, Open Nebula, etc.)
![Page 13: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/13.jpg)
Single Host Basic Functions
Multiple Hosts Additional Functionality
Xen Project: Rich Toolstacks
Increased level of functionality and integration with other components
Default / XL (XM) Toolstack / Console Libvirt / VIRSH XAPI / XE
Hypervisor
Single Host Additional Functionality
Xen Project Hypervisor
![Page 14: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/14.jpg)
14
Xen Project: Tools for Different Solutions
Increased level of functionality and integration with other components
Default / XL (XM) Toolstack / Console Libvirt / VIRSH
Products Oracle VM Huawei UVP XenServer
Project
XAPI / XE
Xen Project Hypervisor
![Page 15: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/15.jpg)
15
Xen Project: Tools for Different Clouds
Increased level of functionality and integration with other components
Default / XL (XM) Toolstack / Console Libvirt / VIRSH
Used by …
Project
XAPI / XE
Products Oracle VM Huawei UVP XenServer
Xen Project Hypervisor
![Page 16: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/16.jpg)
Xen Project: A Multi-tenant Solution
• Multiple groups share common resources securely
– Clouds require sharing common resources
– Organizations often need their VMs to be visible to each other, but entirely invisible to all other VMs
– XAPI makes this happen
– Critical ability for hosting providers
![Page 17: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/17.jpg)
Xen Project: Doesn’t lock you in
• Xen Project does not force its view of the Cloud on you
• Xen Project does not force you to use a “favored” Cloud solution
• This is one of the reasons why Cloud innovation happens in the world of FOSS: It gives power to the Cloud, but allows Cloud orchestration solutions to innovate
• There is no attempt to bend your efforts to the will of some corporate business plan
![Page 18: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/18.jpg)
XAPI : Orchestration Choices
Multiple Hosts Additional Functionality
XAPI / XE
The Hypervisor
![Page 19: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/19.jpg)
Xen Project Healthcheck
![Page 20: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/20.jpg)
• See the following teams on the new XenProject.org site:
– Hypervisor
– XAPI
– ARM Hypervisor (for Servers as well as Mobile Devices)
– Mirage OS
• Governance : mixture between Linux Kernel and Apache
– Consensus decision making
– Sub-project life-cycle (aka incubator)
– PMC style structure for team leadership
2013: Xen Project Joins Linux Foundation
![Page 21: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/21.jpg)
Xen Project 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 22: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/22.jpg)
More Xen Project Features…
• Unikernel development and support (Mirage OS, etc.)
• ARM hardware support
• Live Migration of VMs: XenMotion (via XAPI)
• High Availability: Remus (& COLO for non-stop)
• Wide variety of Control Domains supported
• Even wider variety of Guest Domains
• Multiple virtualization modes improve performance
![Page 23: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/23.jpg)
Hypervisor Architecture
![Page 24: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/24.jpg)
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 25: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/25.jpg)
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 26: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/26.jpg)
Xen Project: 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 27: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/27.jpg)
Xen Project: 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 Project Architecture
Scheduler MMU
![Page 28: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/28.jpg)
Xen Project: 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 Project Architecture
Scheduler MMU
Control domain (dom0)
Drivers
Device Models
Linux & BSD
![Page 29: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/29.jpg)
Xen Project and Linux
• Xen Project Hypervisor is not in the Linux kernel
• BUT: everything needed to run the hypervisor is
• Xen Project packages in all distributions (not in RHEL6, but CentOS 6 via Xen4CentOS) – Install Control Domain (Dom0) Linux distribution
– Install Xen Project package(s) or meta package
– Reboot
– Configure stuff: set up disks, peripherals, etc.
More info: wiki.xenproject.org/wiki/Category:Host_Install
![Page 30: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/30.jpg)
Basic Xen Project Concepts
30
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 31: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/31.jpg)
Basic Xen Project Concepts: Toolstack+
31
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 Project 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 32: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/32.jpg)
Basic Xen Project Concepts: Disaggregation
32
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 Project 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 33: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/33.jpg)
Xen Project: Types of Virtualization
![Page 34: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/34.jpg)
Xen Project Virtualization Vocabulary
• PV – Paravirtualization – Hypervisor provides API used by the OS of the Guest VM
– Guest OS needs to be modified to provide the API
• HVM – Hardware-assisted Virtual Machine – Uses CPU VM extensions to handle Guest requests
– No modification to Guest OS
– But CPU must provide VM extensions
• FV – Full Virtualization (another name for HVM)
![Page 35: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/35.jpg)
Xen Project Virtualization Vocabulary
• PVHVM – PV on HVM drivers – Allows H/W virtualized guests to use PV disk and I/O drivers
– No modifications to guest OS
– Better performance than straight HVM
• PVH – PV in HVM Container (new in 4.4) – Almost fully PV
– Uses HW extensions to eliminate PV MMU
– Eventually best mode for CPUs with virtual H/W extensions
![Page 36: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/36.jpg)
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 Project 4.4
![Page 37: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/37.jpg)
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 Project 4.4 PV mode/domain
![Page 38: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/38.jpg)
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 XAPI
Disaggregation
See qubes-os.org
Different windows run in different VMs
![Page 39: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/39.jpg)
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 40: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/40.jpg)
Next: XAPI Architecture Diagram Before and After Disaggregation
![Page 41: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/41.jpg)
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 Project Hypervisor
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 Project Hypervisor
xapi
![Page 42: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/42.jpg)
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 Project Hypervisor Xen Project Hypervisor
D
o
m
0
dbus over v4v
.
.
.
![Page 43: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/43.jpg)
43
Xen Project 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 Project Security Modules (or XSM) and FLASK – XSM is Xen Project equivalent of LSM (Linux Security Modules)
– FLASK is Xen Project equivalent of SELinux
– Developed, maintained and contributed to Xen Project by NSA
– Compatible with SELinux (tools, architecture)
– XSM object classes maps onto Xen Project features
More info: http://www.xenproject.org/component/allvideoshare/video/latest/ lfnw2014-advanced-security-features-of-xen-project-hypervisor.html
![Page 44: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/44.jpg)
44
Xen Project Security Modules: FLASK
• What does FLASK provide? – Granular security
• Can a guest domain talk with other guest domains?
• Can a guest domain only communicate with the Control Domain?
• Can a Guest domain have memory which cannot be read by the Control Domain?
• What type of device model is used in this domain?
• The ability to define multiple security roles on the domain level
• User types can be defined and assign roles
• Policy constraint logic
More info: http://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK
![Page 45: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/45.jpg)
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 Project Hypervisor
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 Project Hypervisor
![Page 46: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/46.jpg)
ARM Hypervisor
![Page 47: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/47.jpg)
• Fully functional for ARM v7 & v8
• ARM v7:
– Versatile Express, Arndale, Samsung Chromebook, Cortex A15, Allwinner A20/A31
• ARM v8: Fast Model, APM X-Gene “Mustang”
Xen Project for ARM Servers
http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions
![Page 48: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/48.jpg)
ARM SOC
Xen Project + ARM = A Perfect Match
ARM Architecture Features for Virtualization
Hypervisor mode : EL2
Kernel mode : EL1
User mode : EL0
GIC
v2 GT
2 stage
MMU
I/O
Device Tree describes …
Hypercall Interface HVC
![Page 49: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/49.jpg)
ARM SOC ARM Architecture Features for Virtualization
EL2
EL1
EL0
GIC
v2 GT
2 stage
MMU
I/O
Device Tree describes …
HVC
Xen Project + ARM = A Perfect Match
Xen Project Hypervisor
![Page 50: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/50.jpg)
ARM SOC ARM Architecture Features for Virtualization
EL2
EL1
EL0
GIC
v2 GT
2 stage
MMU
I/O
Device Tree describes …
HVC
Xen Project + ARM = A Perfect Match
Xen Project Hypervisor
Any Xen Project Guest VM (including Dom0)
Kernel
User Space
HVC
![Page 51: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/51.jpg)
ARM SOC ARM Architecture Features for Virtualization
EL2
EL1
EL0
GIC
v2 GT
2 stage
MMU
I/O
Device Tree describes …
HVC
Xen Project + ARM = A Perfect Match
Xen Project Hypervisor
Dom0
only
Any Xen Project Guest VM (including Dom0)
Kernel
User Space
I/O
PV back
PV front I/O
HVC
![Page 52: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/52.jpg)
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 53: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/53.jpg)
Code Size of x86 and ARM Hypervisors
X86 Hypervisor 100K -120K LOC Any x86 CPU
ARM Hypervisor for mobile Devices
60K LOC ARM v5 – v7 (no virtual extensions) (extra code for RT)
ARM Hypervisor for Servers
17K LOC ARM v7+ (w/ virtual extensions)
![Page 54: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/54.jpg)
Mirage OS
![Page 55: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/55.jpg)
Application stacks only running on Xen Project APIs
Works on any Xen Project cloud or hosting service
Examples – ErlangOnXen.org : Erlang
– HalVM : Haskell
– Mirage OS : Ocaml
– Osv: Java, C
Benefits: – Small footprint
– Low startup latency
– Extremely fast migration of VMs
Library Operating Systems
Xen Project Hypervisor
Control domain (dom0)
Host HW
Guest VMn
Apps
HW Drivers
PV Back Ends Library OS embedded
in Language run-time
Dom0 Kernel
![Page 56: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/56.jpg)
• Part of the Xen Project incubator
• V2.0 Released July 2014
• Light and small like Docker, but with the full security of the Xen Project Hypervisor
• Clean-slate protocols implementations, e.g.
– TCP/IP, DNS, SSH, Openflow (switch/controller), HTTP, XMPP
Mirage OS
More info: http://www.xenproject.org/developers/teams/mirage-os.html
![Page 57: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/57.jpg)
What’s Next?
![Page 58: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/58.jpg)
• PVH mode is here!
• Updated and improved libvirt support
• Xen4CentOS: Xen Project for CentOS 6
• Experimental EFI support & nested virtualization
• Improved ARM, SPICE, GlusterFS support
New in Xen Project 4.4 (April 2014)
See slides: http://www.xenproject.org/component/allvideoshare/video/latest/ lf-collaboration-summit-xen-project-4-4-features-and-futures.html
![Page 59: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/59.jpg)
• PVH mode performance improvements
• More Mirage OS and unikernel support
• Even more ARM, libvirt improvements
• REMUS reworked (COLO still in development)
• And much, much more…
Coming in Xen Project 4.5 (Dec 2014)
See status: http://wiki.xenproject.org/wiki/Xen_Project_Hypervisor_Roadmap/4.5
![Page 60: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/60.jpg)
• Establish a shared test infrastructure – Most major contributors are duplicating effort
• Usability and better distribution integration
• More focus on downstreams – Examples: CloudStack and Xen Orchestra
• Xen Automotive
• XenGT (GPU Passthrough)
• Better Libvirt and virt-manager integration – Embed Xen Project more into the Linux ecosystem and provide benefits for the
wider Linux community
What’s next (and already happening)
![Page 61: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/61.jpg)
• Document Days (monthly)
• Test Days (prior to release)
• Mailing Lists , IRC, Newsletter
• XenProject.org (sign up, it’s free!)
Getting Started with Xen Project
Hackathon: Next one expected Spring 2015 Developer Summit: Aug 18-19 @ LinuxCon User Summit: Sept 15 in New York City
![Page 62: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/62.jpg)
• We’ve got a great lineup of sessions!
• Topics include:
– Security, Cloud Integration, Unikernels, Orchestration, …
– SUSE Cloud, OpenStack, XenServer, CentOS, Xen Orchestra, OSv, HaLVM, COLO and more
• Regular price $79; use code below to register for half price!
CODE: XenMDMeetup
Xen Project User Summit, Sept 15 in NYC
![Page 63: Xen Project Hypervisor for the Cloud](https://reader034.vdocuments.net/reader034/viewer/2022052315/555a3f7dd8b42ae1398b4db5/html5/thumbnails/63.jpg)
Thank You!
Slides available under CC-BY-SA 3.0 From www.slideshare.net/xen_com_mgr
@RCPavlicek
• News: blog.XenProject.org
• Web: XenProject.org – Help for IRC, Mailing Lists, …
– Stackoverflow-like Q&A
• Wiki: wiki.XenProject.org
• Presentations & Videos: see XenProject.org