10 Years of Xen and beyond …
description
Transcript of 10 Years of Xen and beyond …
Lars KurthXen Project Community Manager
10 Years of Xen and beyond …
@lars_kurthFREENODE: lars_kurth
Xen.org becomes XenProject.org
Xen.org(single vendor Open Source)
XenProject.org(truly vendor neutral Open Source)
Xen contributor community is diversifying
2010 2011 20120%
10%20%30%40%50%60%70%80%90%
100%
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
• Linux Foundation Collaborative Project was next logical step
Xen : The Gears of the Cloud• Large user base more than 10 million individuals users
• Powers the largest clouds in production
• Not just for Servers
• Teams aka sub-projects– Hypervisor – XAPI – ARM Hypervisor (for Servers as well as Mobile Devices)– Mirage OS (a Xen Library OS)
• Governance : mixture between Linux Kernel and Apache
XenProject.org Overview
Hypervisor Architecture
Hypervisor ArchitecturesType 1: Bare metal HypervisorA pure Hypervisor that runs directly on the hardware and hosts Guest OS’s.
Provides partition isolation + reliability, higher security
Host HWMemory CPUsI/O
HypervisorScheduler
MMUDevice Drivers/Models
VMn
VM1
VM0
Guest OSand Apps
Hypervisor ArchitecturesType 1: Bare metal HypervisorA 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 HWMemory CPUsI/O
Host HWMemory CPUsI/O
HypervisorScheduler
MMUDevice Drivers/Models
VMn
VM1
VM0
Guest OSand Apps
Host OS
Device DriversRing-0 VM Monitor “Kernel “
VMn
VM1
VM0
Guest OSand Apps
UserApps
User-level VMM
Device Models
Xen: Type 1 with a TwistType 1: Bare metal Hypervisor
Host HWMemory CPUsI/O
HypervisorScheduler
MMUDevice Drivers/Models
VMn
VM1
VM0
Guest OSand Apps
Xen: Type 1 with a TwistType 1: Bare metal Hypervisor
Host HWMemory CPUsI/O
HypervisorScheduler
MMUDevice Drivers/Models
VMn
VM1
VM0
Guest OSand Apps
Host HWMemory CPUsI/O
Hypervisor
VMn
VM1
VM0
Guest OSand Apps
Xen Architecture
Scheduler MMU
Xen: Type 1 with a TwistType 1: Bare metal Hypervisor
Host HWMemory CPUsI/O
HypervisorScheduler
MMUDevice Drivers/Models
VMn
VM1
VM0
Guest OSand Apps
Host HWMemory CPUsI/O
Hypervisor
VMn
VM1
VM0
Guest OSand Apps
Xen Architecture
Scheduler MMU
Control domain (dom0)
Drivers
Device Models
Linux & BSD
Xen Project and Linux• Xen Hypervisor is not in the Linux kernel• BUT: everything Xen and Xen Guests need to run is!
– Linux Kernel 3.0+ is Xen-enabled• 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
Basic Xen Concepts
13
Control domain (dom0)
Host HW
VMn
VM1
VM0
Guest OSand Apps
Memory CPUsI/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
HypervisorScheduler MMU XSM
Trusted Computing Base
Basic Xen Concepts
14
Control domain (dom0)
Host HW
VMn
VM1
VM0
Guest OSand Apps
Console
Memory CPUsI/O
Dom0 Kernel
Toolstack
HypervisorScheduler 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
Basic Xen Concepts
15
Control domain (dom0)
Host HW
VMn
VM1
VM0
Guest OSand Apps
Console
Memory CPUsI/O
One or moredriver, stub or service domains
Dom0 Kernel
Toolstack
HypervisorScheduler 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
Xen : Types of Virtualization
17
Xen Hypervisor
Control domain (dom0)
Host HW
Guest VMn
Apps
Memory CPUsI/O
Technology:• ParavirtualizationLinux PV guests have limitations:• limited to a subset of set of virtual HW
Advantages• Fast• Works on any system
(even without virt extensions)
HW Drivers
PV Back Ends PV Front Ends
Guest OSDom0 Kernel
PV Domains
18
Xen Hypervisor
Control domain (dom0)
Host HW
Guest VMn
Apps
Memory CPUsI/O
Technology:• ParavirtualizationLinux PV guests have limitations:• limited to a subset of virtual HW
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 Domaine.g. • Disk• Network
HW Driver
PV Back End
Dom0 Kernel*
*) Can be MiniOS
Guest OSDom0 Kernel
PV Domains & Driver Domains
19
Xen Hypervisor
Dom0
Host HW
Guest VMn
Technology:• Shows emulation using QEMU/Device
Model (SW Virtualization)• In other situation HW can be usedDisadvantages• Emulation slower than PV
(mainly I/O devices)
Advantages• No kernel support needed
Device ModelIO Emulation
IO Event
VMEXITDom0 Kernel
HVM
Memory CPUsI/O
20
Xen Hypervisor
Dom0
Host HW
Guest VMn
Technology:• Shows emulation using QEMU/Device
Model (SW Virtualization)• In other situation HW can be usedDisadvantages• Emulation slower than PV
(mainly I/O devices)
Advantages• No kernel support needed
Stub Domains• Security• Isolation• Reliability and Robustness
Device ModelIO Emulation
IO Event
VMEXIT
Stubdomn
Device Model
Mini OS
Guest VMn
IO Emulation
IO Event
VMEXITDom0 Kernel
HVM & Stub Domains
Memory CPUsI/O
The Virtualization Spectrum
Fully Virtualized (FV) VS VS VS VHFV with PV for disk & network P VS VS VHPVHVM P P VS VHPVH P P P VH
Fully Paravirtualized (PV) P P P P
VH Virtualized (HW)
P Paravirtualized
VS Virtualized (SW)
HVM mode/domain
PV mode/domainDisk
and N
etwork
Interru
pts, Ti
mersEm
ulated
Moth
erboard
,
Le
gacy
bootPriv
ilege
d Instr
uctions
an
d page t
ables
Xen 4.4
The Virtualization Spectrum
Fully Virtualized (FV) VS VS VS VHFV with PV for disk & network P VS VS VHPVHVM P P VS VHPVH P P P VH
Fully Paravirtualized (PV) P P P P
Scope for improvement
Poor performance
Optimal performance
HVM mode/domain
Disk an
d Netw
orkInter
rupts,
Timers
Emulat
ed M
otherb
oard,
Le
gacy
bootPriv
ilege
d Instr
uctions
an
d page t
ables
Xen 4.4PV mode/domain
The Virtualization Spectrum
Fully Virtualized (FV) VS VS VS VHFV with PV for disk & network P VS VS VHPVHVM P P VS VHPVH P P P VH
Fully Paravirtualized (PV) P P P P
Scope for improvement
Poor performance
Optimal performance
HVM mode/domain
Disk an
d Netw
orkInter
rupts,
Timers
Emulat
ed M
otherb
oard,
Le
gacy
bootPriv
ilege
d Instr
uctions
an
d page t
ables
Xen 4.4PV 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.
Xen Variants
25
Xen Variants for Server & CloudXen HypervisorHypervisor
Single HostBasic Functions
Multiple HostsAdditional Functionality
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 HostAdditional Functionality
Xen Hypervisor
27
Xen Variants for Server & Cloud
Default / XL (XM)Toolstack / Console Libvirt / VIRSH
Project
XAPI / XE
Xen Hypervisor
Cloud Orchestration
28
Xen Variants for Server & Cloud
Default / XL (XM)Toolstack / Console Libvirt / VIRSH
Products Oracle VM Huawei UVP Citrix XenServer
Project
XAPI / XE
Xen Hypervisor
29
Xen Variants for Server & Cloud
Default / XL (XM)Toolstack / Console Libvirt / VIRSH
Used by …
Project
XAPI / XE
Xen Hypervisor
XAPI, XCP and XCP-XAPI
XAPI : What do I get?
Multiple HostsAdditional Functionality
XAPI / XE
Xen Hypervisor• VM lifecycle: live snapshots, checkpoint, migration • Storage XenMotion: Migrate VMs between hosts or pools
without shared storage (while the VM is running)• Resource pools: flexible storage and networking• Event tracking: progress, notification • Upgrade and patching capabilities • Real-time performance monitoring and alerting
• Templates for Windows and Linux guests• Open vSwitch support built-in (default)
More info: wiki.xen.org/wiki/XCP_Release_Features
XAPI : two variants!
Multiple HostsAdditional Functionality
XAPI / XE
Xen Hypervisor
XCP ISO (at v1.6)
Xen 4.1.3 + XAPICentOS 5.3Kernel (v2.6.32.43)OVS 1.4.2
XCP-XAPI packages
Debian WheezyUbuntu 12.04 LTS
CentOS 6.4 soon
Challenges for FOSS hypervisors
System characteristics cloud users care about: “Robustness, Performance & Security”Results XCP User Survey 2013 – users quoted these as most important attributes
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 runin different VMs
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)
Next: XAPI Architecture Diagram Before and After Disaggregation
CPUCPURAM RAMNIC
(or SR-IOV VF)
NIC(or SR-IOV VF)
NIC(or SR-IOV VF)
NIC(or SR-IOV VF)
RAID
Xen
Dom0Network 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
tapdiskblktap3
storaged
syslogdvswitch
networkd
tapdiskblktap3
storaged
tapdiskblktap3
storaged
gntdev gntdev
Dom0
xenopsdlibxl
healthd
Domain manager
Dom0
.
.
.
.
Xen
xapi
CPUCPURAM RAMNIC
(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
Qemudomain
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
xapixenopsd
libxl
healthd
Domain manager
vswitch
networkd
tapdiskblktap3
storaged
syslogd vswitch
networkd
tapdiskblktap3
storaged
tapdiskblktap3
storaged
gntdev gntdev
eth eth eth eth scsi
Xen Xen
Dom0
dbus over v4v
.
.
.
40
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
Xen Security Modules (XSM) & FLASK
CPUCPURAM RAMNIC
(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
Qemudomain
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
xapixenopsd
libxl
healthd
Domain manager
vswitch
networkd
tapdiskblktap3
storaged
syslogd vswitch
networkd
tapdiskblktap3
storaged
tapdiskblktap3
storaged
gntdev gntdev
FLASK policyrestricting access
Dom0
.
.
.
dbus over v4v dbus over v4v
Xen
42
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
• Advanced Security Features– Xen has many Advanced Security Features– Most are not switched on by default– Although most are simple to use, some seen complicated
More info: http://www.slideshare.net/xen_com_mgr/ a-brief-tutorial-on-xens-advanced-security-features
ARM Hypervisor
ARM Servers Coming to Market4GB RAM, 4 cores per node3 x 6 x 4 x 4 = 288 cores per 4 RU
Xen for ARM Servers : Why ?
Single node virtualization capabilityManageability
Fully functional for ARM v7 & v8
ARM v7: Versatile Express, Arndale &Samsung Chromebook
ARM v8: Fast Model
Xen 4.3 for ARM Servers
ARM SOC
Xen + ARM = a perfect MatchARM Architecture Features for Virtualization
Hypervisor mode : EL2
Kernel mode : EL1
User mode : EL0
GICv2GT 2 stage
MMU
I/O
Device Tree describes …
Hypercall Interface HVC
ARM SOC ARM Architecture Features for Virtualization
EL2
EL1
EL0
GICv2GT 2 stage
MMU
I/O
Device Tree describes …
HVC
Xen + ARM = a perfect Match
Xen Hypervisor
Dom0only
Any Xen Guest VM (including Dom0)
Kernel
User Space
I/O
PVback
PV frontI/O
HVC
One mode to rule them all
x86: PVHVM P P VS VHx86: PV P P P P
ARM v7 & v8 P VH VH VH
Scope for improvement
Optimal performance
HVM mode/domainPV mode/domain
Disk an
d Netw
orkInter
rupts,
Timers
Emulat
ed M
otherb
oard,
Le
gacy
bootPriv
ilege
d Instr
uctions
an
d page t
ables
What’s Next?
• Release candidates & Xen Test Days (June 5th)
• Xen ARM for Servers• Extend scope of Xen Security Modules• Default to QEMU upstream• Updated and improved libvirt drivers for Xen• Lots of other stuff:
– scalability, performance, better NUMA support, …
Xen 4.3 Release (June 2013)
More info: http://lists.xen.org/archives/html/xen-devel/2013-05/msg01134.html
“For about a year members of the Xen Project, the CentOS community and large Xen Users have worked on bringing Xen and XAPI to CentOS 6”
Driven by demand from the community : • Can run Xen on CentOS 6 today, but non-trivial• We wanted “YUM INSTALL XEN”• Mostly a packaging problem• Teams from CentOS, Citrix, Go Daddy & Rackspace• QA and usability sanity checks
Xen 4 + XAPI in CentOS 6 (June 2013)
“Growth is leading to more structure & more collaboration & more openness!”
• Establishing a shared and open test infrastructure– Goal: Increase development velocity and quality
• Improved usability and better distro-integration– Xen + XAPI in CentOS 6.4
• More focus on downstreams – OpenStack and Xen Orchestra– Better libvirt and virt-manager integration
• Changing the XAPI / XCP release model• Xen on ARM and collaboration with Linaro
The Xen Community is Changing
Online : xenproject.org > User & Help menus• Mailing Lists and IRC• Q&A System• Find me and I can get you hooked up!
Events : xenproject.org/about/events.html• Test Days (IRC at #xentest) … next one June 5th• Document Days (IRC at #xendocs) … the next one is June 24th
• User (Sept 18, New Orleans) and Developer Summits (Oct 24-25, Edinburgh)• Hackathons – see http://blog.xen.org/index.php/2013/05/28/
event-report-xen-hackathon-2013/
Getting Started with Xen Projects
Thank You!Slides available under CC-BY-SA 3.0From www.slideshare.net/xen_com_mgr
@lars_kurth
FREENODE: lars_kurth
• News: blog.xenproject.org• Web: xenproject.org
– Help for IRC, Lists, …– Stackoverflow like Q&A
• Wiki: wiki.xenproject.org• Presentations: slideshare.net/xen_com_mgr• Videos: vimeo.com/channels/xen