Scale11x : Virtualization with Xen and XCP
Upcoming SlideShare
Loading in...5
×
 

Scale11x : Virtualization with Xen and XCP

on

  • 184,907 views

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 ...

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.

Statistics

Views

Total Views
184,907
Views on SlideShare
5,227
Embed Views
179,680

Actions

Likes
2
Downloads
73
Comments
0

39 Embeds 179,680

http://www.xen.org 127656
http://xen.org 42060
http://www.xenproject.org 5082
http://www-archive.xenproject.org 1412
http://xen.xensource.com 1391
http://xenproject.org 629
http://translate.googleusercontent.com 411
http://l.lj-toys.com 350
http://staging.xen.org 281
http://xenorg.cloudaccess.net 201
http://50.57.168.107 63
http://abtasty.com 23
http://www.xenproject.org. 22
http://www.xen.org. 20
http://xen 11
https://twitter.com 10
http://webcache.googleusercontent.com 9
https://www.google.com.au 8
http://master.ns.xen.org 6
http://131.253.14.66 5
http://xen.org. 4
http://master.ns.getxen.org 3
http://mail.xen.org 3
http://honyaku.yahoofs.jp 3
https://translate.googleusercontent.com 2
http://www.xen 2
https://www.google.es 1
http://prlog.ru 1
https://cwiki.apache.org 1
http://www.gizoogle.net 1
http://www.google.com&_=1368480598862 HTTP 1
http://www.google.com&_=1368457271904 HTTP 1
http://www.xen.org.sixxs.org 1
http://privacyiskey.none&_=1363228714575 HTTP 1
http://www.xen.org&_=1364389989932 HTTP 1
http://www.xen.org&_=1367372442191 HTTP 1
http://kirill.org 1
http://xen.org&_=1366570388593 HTTP 1
http://downloads.xenproject.org 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • The release ofLinux 3.0 was a key milestone for Xen. Linux 3.0 was the first Linux Kernel release that had …Full support for Xen as Guest as well as Domain 0 operation system (out-of-the-box) This was subsequently followed by distro support for Xen as Guest and Dom 0
  • The release ofLinux 3.0 was a key milestone for Xen. Linux 3.0 was the first Linux Kernel release that had …Full support for Xen as Guest as well as Domain 0 operation system (out-of-the-box) This was subsequently followed by distro support for Xen as Guest and Dom 0
  • The release ofLinux 3.0 was a key milestone for Xen. Linux 3.0 was the first Linux Kernel release that had …Full support for Xen as Guest as well as Domain 0 operation system (out-of-the-box) This was subsequently followed by distro support for Xen as Guest and Dom 0
  • The release ofLinux 3.0 was a key milestone for Xen. Linux 3.0 was the first Linux Kernel release that had …Full support for Xen as Guest as well as Domain 0 operation system (out-of-the-box) This was subsequently followed by distro support for Xen as Guest and Dom 0
  • The release ofLinux 3.0 was a key milestone for Xen. Linux 3.0 was the first Linux Kernel release that had …Full support for Xen as Guest as well as Domain 0 operation system (out-of-the-box) This was subsequently followed by distro support for Xen as Guest and Dom 0
  • The release ofLinux 3.0 was a key milestone for Xen. Linux 3.0 was the first Linux Kernel release that had …Full support for Xen as Guest as well as Domain 0 operation system (out-of-the-box) This was subsequently followed by distro support for Xen as Guest and Dom 0
  • The key point about the history run-down however is thatXen was designed from the outset with cloud computing in mindAnd the continued adoption and use of Xen by the largest cloud providers just underlines that point
  • Key points not on the slides:Governance: same roles, same license, DCO, …Vendors: the link shows a breakdown of contributions to Xen 4.2
  • Color code: green + bright green = trusted computing baseType 1 hypervisor: example ESXSimple architecture; Hypervisor replaces the kernel entirelyNo need to provide rich “process” semantics, like “user”, filesystems, etc.BUT: Device drivers and Device Models need to be rewritten for each hardware platformThis meansisolation and higher security by designis traded off against maintainability and re-use of driversType 2 is hosted: example KVM- The hypervisor is just a driver that works with user-level monitor and the host OS kernelHW access is intercepted by the ring 0- VM monitor passed to the User level Virtual Monitor, which passes requests to the kernelThis meansRe-use of device drivers and host OS kernel infrastructureis traded off against security and a large trusted computing base
  • Color code: green + bright green = trusted computing baseType 1 hypervisor: example ESXSimple architecture; Hypervisor replaces the kernel entirelyNo need to provide rich “process” semantics, like “user”, filesystems, etc.BUT: Device drivers and Device Models need to be rewritten for each hardware platformThis meansisolation and higher security by designis traded off against maintainability and re-use of driversType 2 is hosted: example KVM- The hypervisor is just a driver that works with user-level monitor and the host OS kernelHW access is intercepted by the ring 0- VM monitor passed to the User level Virtual Monitor, which passes requests to the kernelThis meansRe-use of device drivers and host OS kernel infrastructureis traded off against security and a large trusted computing base
  • Thinner hypervisorOnly Contains: Scheduler and Memory Management
  • Thinner hypervisorOnly Contains: Scheduler and Memory Management
  • Domain 0:Special Virtual Machine that co-operates with the HypervisorContains a Xen enabled Kernel: Linux 3.x or NetBSDUses Device Drivers and Device Models (QEMU)For Linux: Using Linux PV OPSExposes support for various virtualization modes: PV, PV on HVM and PVH modesSharing components with KVM (e.g. QEMU based Device Drivers)
  • As we talked a little bit about Xen and Linux already it is worth point out a few things to Xen and LinuxSome people argue that KVM is better than Xen, because KVM is in the kernelThis argument is bogusSoftware should be compared on the basis of features and system characteristicsNOT on where the source code livesSo, although Xen is NOT in the Linux KernelBUT from linux 3.0 onwards EVERYTHING that Xen and Xen Guests need to run isAnd all modern Linux distros (with the exception of RHEL6) contain Xen packagesTHIS MEANS:The user experience for Linux users for Xen and KVM is VERY similarYou choose your favourite distro and install (that is true for Xen and KVM)You download and install the Xen packages (KVM-QEMU package) via your package managerTHE only difference is that for Xen you reboot, after which Xen runs underneath your Dom 0Then you configure your systemThe point is: from a users perspective it doesn’t matter whether Xen is in Linux or not, as long as distros contain Xen packages
  • This is the architecture that we have explained beforeLet’s add a few more things!
  • Added theToolstackExposes an RPC type interface such that the system can be controlled from the outside worldXen has a few options for toolstacks (see later)Added the ConsoleA CLIA UIOr an interface to a cloud orchestration stack Controls the system (for operations such as starting, stopping VMs, etc.)
  • A unique feature of Xen is called disaggregationThis means:I can take a Device DriverA Device ModelA service (e.g. the toolstack)That normally runs in Domain 0 and run it in a separate VM.That VM is de-priviliged (it is not part of the trusted computing base)It can be restarted (if needed) without affecting the rest of the systemThis is something unique to Xen’s architecture. More later.
  • On Xen.org, you will come by two main projects:The Xen HypervisorThe Xen Cloud PlatformAt a very high level, we will you show you the various options to build a system.
  • Let’s first look at choices of Xen Management Toolstacks:The Default with XL as CLI console Single Host, with basic functionalityLibvirt with VIRSH as CLI console (can also use virt-manager)Multiple Hosts, more functionalityXAPI (or Xen API) and XE as CLI (a number of UI options available)Multiple Hosts, even more functionality than LibvirtTypically when a Xen system contains XAPI, we call it Xen Cloud Platform
  • Let’s first look at choices of Xen Management Toolstacks:The Default with XL as CLI console Single Host, with basic functionalityLibvirt with VIRSH as CLI console (can also use virt-manager)Multiple Hosts, more functionalityXAPI (or Xen API) and XE as CLI (a number of UI options available)Multiple Hosts, even more functionality than LibvirtTypically when a Xen system contains XAPI, we call it Xen Cloud Platform
  • Now lets look at where you get beinaries these from :1) Xen (with default toolstack) you get from distros2) Xen, libvirt drivers, libvirt and VIRSH you get from distros3) XAPI, you can get from Debian and Ubuntu (other distros to follow) OR, you can download an ISO from Xen.org
  • A number of different commercial products use these combinations:Oracle VM based on Xen, the default stack with additionsHuawei UVP, which uses Xen + LibvirtCitrix XenServer which uses Xen + XAPI
  • Lots of services use various of these combinationsWe picked out a few for these different configurationsAWS uses Xen with DefaultSuse Cloud uses Xen with LIBVIRTRackspace Cloud Servers uses XAPIThere are loads more large users: check out en.org/community/ecosystem.html If you want to know more about AWS and Rackspace, check out xen.org/community/presentations.html We also have some user case studies
  • Remember the concept of disaggregation I mentioned earlier?With Driver Domains, I can take an individual driver (e.g. disk or network) and run it in its own domain (aka VM)In terms of how PV works: it is exactly the same as with drivers running in Dom0, only that Xen knows that the driver runs in its own driver domain
  • Device Model emulated in QEMUModels for newer devices are much fasterBut for IO operations PV is even faster
  • Remember the concept of disaggregation I mentioned earlier and Driver Domains?Stub Domains: Run an individual device model (QEMU instance) in its own domain Again, these work identical to Device Models within a Dom0.For scalability there is one stub domain per VM
  • APIC = Advanced Programmable Interrupt ControllerIDT = Interrupt Descriptor Table
  • VM lifecycle (start, stop, resume) Automation is the key pointLive snapshots: Takes a snapshot of a live VM (e.g. for disaster recovery or migration)Resource pools (multiple physical machines): live migration: VM is backed up while running, onto shared storage (e.g. NFS). disaster recovery: the key point is that I can back up the metadata for the entire VMFlexible storage: XAPI does hide details for storage and networkingApply generic commands for different backends (NFS, NETAPP, iSCSI ... once its created they all appear the same) Only need to know the storage type when I create storage and network objects (OOL)Upgrading a host to a later version of XCP (all my configs and VMs stay the same)Apply security patches and upgrade on running systems
  • Just one example of a survey, many morehttp://www.colt.net/cio-research/z2-cloud-2.htmlAccording to many surveys, security is actually the main reason which makes or breaks cloud adoptionBetter security means more adoptionConcerns about security means slowed adoption
  • This is information from our own XCP survey (Q4 2012).Basically users were asked to rate system attributes according to importance on a scale of 1-5 90% of all users that use XCP for the cloud ratedRobustness, Performance, Scalability and Security at a 5Many other system attributes ranged from 3-4
  • We introduced disaggregation earlier under architectural concepts. To remind you, in a nutshell it means distributing system components running in Dom0 into separate VM’s.If you want to know more about the concept: There are the two papers listed above.The first takes disaggregation to the extreme!Disaggregation is in use by OSS and commercial products for Desktop Was originally developed for NSA:Every person with a specific security clearance has to have one terminal (desktop computer) per clearance levelTypically every employee had several TerminalsProducts using disaggregation are deemed secure enough by the NSA (and similar orgs) to Prototypes for server and cloud products
  • Good for SecurityReduces Trusted Computing BaseBetter defined interfaces (better for security audits)Can kill-start domains on a timer to wipe security risksIt is also good for robustness:You can basically restart parts of the system without affecting the rest of the system Latency for this is low (see the graph – in the order of 100 of ms)Incidentally this is also good for serviceability: in other words I can upgrade parts of my system while leaving others untouched and runningGood for performance and scalability:Removes Dom 0 as a bottleneck when many VM’s are runningPlaces more emphasis on the Xen scheduler vs. the Dom0 scheduler, which tends to lead to better performanceYou can chose better performing OS+driver combinations (e.g. BSD)
  • This shows a diagram of the type of services running in a normal XCP instance.The picture shows:1) Two Hosts2) User VMs per Host (on top instead of on the side due as in due to space constraints on the slide) 3) Dom0 with Xen per host (green boxes – also Trusted Computing base)4) Services and processes running within each Dom0Note: that inter-host communication is handled by the XAPI component Also note: this is an approximation as there is not enough space to cram everything in! There is stuff missing!NOW LETS LOOK WHAT DISAGGREGATION DOES!
  • This shows a diagram of the type of services running in the XCP disaggregation prototype.What is different:Key services are running in their own domainsEach host has a fast inter-domain communication mechanism called DBUS that allows direct VM to VM communicationThe Trusted Computing base has become a lot smaller (look at the green)
  • Now looked at disaggregation:It is worth to remind ourselves of existing Xen Security advantages: more modular, smaller TCBThere are also additional features, the most noteworthy is XSMDeveloped and maintained by the NSA (who contribute 3-4% of code per year to Xen)Follows the same architecture as SELinux (including compatibility with policy checking and dev tools for SELinux)Can be used together with SELinuxThe main difference is that XSM exposes objects that map to Xen featuresAlthough XSM alone is useful, it becomes REALLY INTERESTING when used with disaggregation!See WHY IN THE NEXT SLIDE!
  • The RED BOX, shows how we can use XSM and SELinux to secure our system.Per domain, I can restrict what can be started in a domainI can restrict what hypervisor interfaces (PV or hypercalls) a class of domain can access. In this example, I can ensure that only Linux and Xen functionality that is necessary to operate the Network Driver Domain can be accessed or launched
  • A unique feature of Xen is called disaggregationThis means:I can take a Device DriverA Device ModelA service (e.g. the toolstack)That normally runs in Domain 0 and run it in a separate VM.That VM is de-priviliged (it is not part of the trusted computing base)It can be restarted (if needed) without affecting the rest of the systemThis is something unique to Xen’s architecture. More later.
  • A unique feature of Xen is called disaggregationThis means:I can take a Device DriverA Device ModelA service (e.g. the toolstack)That normally runs in Domain 0 and run it in a separate VM.That VM is de-priviliged (it is not part of the trusted computing base)It can be restarted (if needed) without affecting the rest of the systemThis is something unique to Xen’s architecture. More later.
  • Performance : similar to other hypervisorsMaturity: Tried & Tested, Most Problems that are Problems are well knownOpen source: Good body of Knowledge, Tools

Scale11x : Virtualization with Xen and XCP Scale11x : Virtualization with Xen and XCP Presentation Transcript

  • Virtualization in the Cloud:Featuring Xen and XCP Lars Kurth Xen Community Manager lars.kurth@xen.org FREENODE: lars_kurth @lars_kurth
  • A Brief History of Xen in the CloudLate 90sXenoServerProject
  • A Brief History of Xen in the CloudLate 90s ‘03XenoServerProject Xen 1.0
  • A Brief History of Xen in the CloudLate 90s ‘03 ‘06 ‘08XenoServer Amazon EC2Project and Slicehost launched Xen 1.0 Rackspace Cloud
  • A Brief History of Xen in the CloudLate 90s ‘03 ‘06 ‘08 ‘11 ‘12XenoServer Amazon EC2 XCP 1.xProject and Slicehost Cloud Mgmt launched Xen 1.0 Rackspace Cloud XCP packages in Linux
  • A Brief History of Xen in the CloudLate 90s ‘03 ‘06 ‘08 ‘11 ‘12XenoServer Amazon EC2 XCP 1.xProject and Slicehost Cloud Mgmt launched Xen 1.0 Rackspace Linux 3.0 Cloud XCP packages in Linux
  • A Brief History of Xen in the CloudLate 90s ‘03 ‘06 ‘08 ‘11 ‘12 ‘13XenoServer Amazon EC2 XCP 1.xProject and Slicehost Cloud Mgmt launched Xen 1.0 Rackspace Linux 3.0 Xen for Cloud ARM servers XCP packages in Linux 10th birthday
  • The Xen Hypervisor was designed forthe Cloud straight from the outset!
  • Xen.org• 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 contributor community is diversifying100%90% • The number of “significant”80% active vendors is increasing70%60%50% • New feature development driving40%30% new participation20%10% 0% 2010 2011 2012 Citrix UPC SUSE Amazon University AMD GridCentric Individual NSA Intel Fujitsu iWeb Misc Oracle Spectralogic University of British Columbia
  • Xen Overview
  • Hypervisor ArchitecturesType 1: Bare metal HypervisorA pure Hypervisor that runs directly on thehardware and hosts Guest OS’s. VMn VM1 VM0 Guest OS and Apps Scheduler Hypervisor Device Drivers/Models MMU Host HWI/O Memory CPUs Provides partition isolation + reliability, higher security
  • Hypervisor ArchitecturesType 1: Bare metal Hypervisor Type 2: OS ‘Hosted’A pure Hypervisor that runs directly on the A Hypervisor that runs within a Host OS and hostshardware and hosts Guest OS’s. Guest OS’s inside of it, using the host OS services to provide the virtual environment. VMn User-level VMM VMn VM1 User VM1 Apps VM0 Device Models VM0 Guest OS Guest OS and Apps and Apps Host OS Scheduler Hypervisor Ring-0 VM Monitor Device Drivers/Models Device Drivers “Kernel “ MMU Host HW Host HWI/O Memory CPUs I/O Memory CPUs Provides partition isolation + reliability, Low cost, no additional drivers higher security Ease of use & installation
  • Xen: Type 1 with a TwistType 1: Bare metal Hypervisor VMn VM1 VM0 Guest OS and Apps Scheduler Hypervisor Device Drivers/Models MMU Host HWI/O Memory CPUs
  • Xen: Type 1 with a TwistType 1: Bare metal Hypervisor Xen Architecture VMn VM1 VMn VM0 VM1 Guest OS VM0 and Apps Guest OS and Apps Scheduler Hypervisor Device Drivers/Models MMU Scheduler MMU Hypervisor Host HW Host HWI/O Memory CPUs I/O Memory CPUs
  • Xen: Type 1 with a TwistType 1: Bare metal Hypervisor Xen Architecture Control domain (dom0) VMn VM1 Device Models VMn VM0 VM1 Guest OS VM0 and Apps Drivers Guest OS Linux & BSD and Apps Scheduler Hypervisor Device Drivers/Models MMU Scheduler MMU Hypervisor Host HW Host HWI/O Memory CPUs I/O Memory CPUs
  • 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
  • Basic Xen Concepts Console • Interface to the outside world Control Domain aka Dom0 VMn • Dom0 kernel with driversControl domain VM1(dom0) • Xen Management Toolstack VM0 Guest OS Guest Domains Dom0 Kernel and Apps • Your apps Scheduler MMU XSM Hypervisor Driver/Stub/Service Domain(s) • A “driver, device model or control Host HW service in a box”I/O Memory CPUs • De-privileged and isolated • Lifetime: start, stop, killTrusted Computing Base 18
  • Basic Xen Concepts Console Console • Interface to the outside world Control Domain aka Dom0 VMn • Dom0 kernel with driversControl domain VM1(dom0) • Xen Management Toolstack VM0 Toolstack Guest OS Guest Domains Dom0 Kernel and Apps • Your apps Scheduler MMU XSM Hypervisor Driver/Stub/Service Domain(s) • A “driver, device model or control Host HW service in a box”I/O Memory CPUs • De-privileged and isolated • Lifetime: start, stop, killTrusted Computing Base 19
  • Basic Xen Concepts Console Console • Interface to the outside world Control Domain aka Dom0 VMn • Dom0 kernel with driversControl domain VM1(dom0) • Xen Management Toolstack One or more VM0 Toolstack driver, stub or service domains Guest OS Guest Domains Dom0 Kernel and Apps • Your apps Scheduler MMU XSM Hypervisor Driver/Stub/Service Domain(s) • A “driver, device model or control Host HW service in a box”I/O Memory CPUs • De-privileged and isolated • Lifetime: start, stop, killTrusted Computing Base 20
  • Xen Variants for Server & CloudHypervisor Xen 21
  • Xen Variants for Server & CloudHypervisor XenToolstack / Console Default / XL (XM) Libvirt / VIRSH XAPI / XE Increased level of functionality and integration with other components Single Host Single Host Basic Functions Additional Functionality Multiple Hosts Additional Functionality 22
  • Xen Variants for Server & CloudHypervisor Xen XCPToolstack / Console Default / XL (XM) Libvirt / VIRSH XAPI / XE Increased level of functionality and integration with other components Single Host Single Host Basic Functions Additional Functionality Multiple Hosts Additional Functionality 23
  • Xen Variants for Server & CloudProject Xen XCPToolstack / Console Default / XL (XM) Libvirt / VIRSH XAPI / XE Increased level of functionality and integration with other componentsGet Binaries from … Linux Distros Linux Distros Debian & Ubuntu ISO from Xen.org 24
  • Xen Variants for Server & CloudProject Xen Hypervisor XCPToolstack / Console Default / XL (XM) Libvirt / VIRSH XAPI / XE Increased level of functionality and integration with other componentsGet Binaries from … Linux Distros Linux Distros Debian & Ubuntu ISO from Xen.orgProducts Oracle VM Huawei UVP Citrix XenServer 25
  • Xen Variants for Server & CloudProject Xen Hypervisor XCPToolstack / Console Default / XL (XM) Libvirt / VIRSH XAPI / XE Increased level of functionality and integration with other componentsGet Binaries from … Linux Distros Linux Distros Debian & Ubuntu ISO from Xen.orgUsed by … More info: xen.org/community/ecosystem.html xen.org/community/presentations.html 26 xen.org/products/case_studies.html
  • Xen : Types of Virtualization
  • PV Domains Technology:Control domain Guest VMn(dom0) • Paravirtualization Apps Linux PV guests have limitations: • limited set of virtual hardware PV Back Ends PV Front Ends Advantages HW Drivers • Fast Dom0 Kernel Guest OS • Works on any system (even without virt extensions) Xen Hypervisor Host HWI/O Memory CPUs 28
  • PV Domains & Driver Domains Technology:Control domain Guest VMn Driver Domain(dom0) e.g. • Paravirtualization • Disk Apps • Network Linux PV guests have limitations: • limited set of virtual hardware PV Back Ends PV Front Ends PV Back End Advantages HW Drivers HW Driver • Fast Dom0 Kernel Guest OS Dom0 Kernel* • Works on any system (even without virt extensions) Xen Hypervisor Driver Domains • Security Host HW • IsolationI/O Memory CPUs • Reliability and Robustness *) Can be MiniOS 29
  • HVM & Stub Domains Technology:Dom0 Guest VMn • Shows emulation using QEMU/Device Model IO Emulation (SW Virtualization)Device Model • In other situation HW can be used Disadvantages IO Event • Emulation slower than PV Dom0 Kernel VMEXIT (mainly I/O devices) Xen Hypervisor Advantages • No kernel support needed Host HWI/O Memory CPUs 30
  • HVM & Stub Domains Technology:Dom0 Guest VMn Stubdomn Guest VMn • Shows emulation using QEMU/Device Model IO Emulation IO Emulation (SW Virtualization)Device Model Device Model • In other situation HW can be used Disadvantages IO Event IO Event • Emulation slower than PV Dom0 Kernel VMEXIT Mini OS VMEXIT (mainly I/O devices) Xen Hypervisor Advantages • No kernel support needed Host HW Stub DomainsI/O Memory CPUs • Security • Isolation • Reliability and Robustness 31
  • The Virtualization Spectrum VS Virtualized (SW) VH Virtualized (HW) P ParavirtualizedFully Virtualized (FV) VS VS VS VHFV with PV for disk & network P VS VS VH HVM mode/domainPVHVM P P VS VHPVH Xen 4.3 P P P VH PV mode/domainFully Paravirtualized (PV) P P P P
  • The Virtualization Spectrum Optimal performance Scope for improvement Poor performanceFully Virtualized (FV) VS VS VS VHFV with PV for disk & network P VS VS VH HVM mode/domainPVHVM P P VS VHPVH Xen 4.3 P P P VH PV mode/domainFully Paravirtualized (PV) P P P P
  • The Virtualization Spectrum Important: Xen automatically picks the best option based on HW & OS capabilities and Optimal performance available drivers. As a Xen user I chose a HVM or PV domain. Scope for improvement Poor performanceFully Virtualized (FV) VS VS VS VHFV with PV for disk & network P VS VS VH HVM mode/domainPVHVM P P VS VHPVH Xen 4.3 P P P VH PV mode/domainFully Paravirtualized (PV) P P P P
  • XCP Project
  • 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)
  • 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
  • XCP 1.6• 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.More info: xen.org/download/xcp/releasenotes_1.6.0.html &More info: xen.org/download/xcp/index_1.6.0.html
  • XCP and Cloud Orchestration Stacks
  • Challenges for FOSS hypervisors
  • “Security and QoS/Reliability are amongst the top 3 blockers for cloud adoption” www.colt.net/cio-research
  • System characteristics cloud users care about:“Robustness, Performance, Scalability & Security”Results XCP User Survey 2012 – 90% of users quoted these as most important attributes
  • DisaggregationSplit 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 XTPrototypes for XCP See qubes-os.org Different windows run in different VMs
  • Benefits of DisaggregationMore SecurityIncreased serviceability and flexibilityBetter RobustnessBetter Performance Ability to safely restart parts of the system (e.g. just 275ms outage from failed Ethernet driver)Better Scalability
  • Next: XCP Architecture Diagram Before and After Disaggregation
  • User VM User VM NF BF NF BF NB gntdev NB gntdev gntdevDom0 Network NFS/ Dom0 Qemu xapi Qemu Network NFS/ Local drivers iSCSI drivers iSCSI storageDomainmanager drivers . drivers drivers qemu . qemuhealthd storaged storaged storaged networkd . networkdxenopsd tapdisk syslogd . tapdisk tapdisk libxl vswitch blktap3 vswitch blktap3 blktap3 xapi xapi eth eth Dom0 eth eth scsi Xen Xen CPU CPU NIC NIC RAM RAM NIC NIC (or SR- (or SR- (or SR- (or SR- RAID IOV VF) IOV VF) IOV VF) IOV VF)
  • User VM User VM NF BF NF BF NB gntdev NB gntdev gntdevDom0 Network NFS/ Qemu xapi D Logging Network NFS/ Local driver iSCSI domain domain domain driver iSCSI storageDomain omanager domain driver m . domain driver driver domain domain domainhealthd storaged qemu 0 . storaged storaged networkd networkdxenopsd tapdisk . tapdisk tapdisk libxl vswitch blktap3 xapi syslogd vswitch blktap3 blktap3 dbus over v4v dbus over v4v eth eth eth eth scsi Xen Xen CPU CPU NIC NIC RAM RAM NIC NIC (or SR- (or SR- (or SR- (or SR- RAID IOV VF) IOV VF) IOV VF) IOV VF)
  • 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 featuresMore info: http://www.slideshare.net/xen_com_mgr/ a-brief-tutorial-on-xens-advanced-security-features 50
  • User VM User VM NF BF NF BF NB gntdev NB gntdev gntdevDom0 Network NFS/ Qemu xapi D Logging Network NFS/ Local driver iSCSI domain domain domain driver iSCSI storageDomain omanager domain driver m . domain driver driver domain domain domain healthd storaged qemu 0 . storaged storaged networkd networkdxenopsd tapdisk . tapdisk tapdisk libxl vswitch blktap3 xapi syslogd vswitch blktap3 blktap3 dbus over v4v dbus over v4v eth eth eth eth scsiFLASK policyrestricting access Xen Xen CPU CPU NIC NIC RAM RAM NIC NIC (or SR- (or SR- (or SR- (or SR- RAID IOV VF) IOV VF) IOV VF) IOV VF)
  • News from the Xen Community
  • Coming in Xen 4.3 (Q2 2013)• 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, …More info: blog.xen.org/index.php/2013/02/11/xen-4-3-mid-release-roadmap-update
  • Xen 4.3 for ARM ServersFully functional for ARM v7 & v8ARM v7: Versatile Express, Arndale &Samsung ChromebookARM v8: Fast Model
  • Xen and ARM : a perfect MatchARM SOC ARM Architecture Features for Virtualization User mode : EL0Device Tree describes … Kernel mode : EL1 I/O Hypercall interface :HVC GIC 2 stage GT v2 MMU Hypervisor mode : EL2
  • Xen and ARM : a perfect MatchARM SOC ARM Architecture Features for Virtualization Dom0 Any Xen Guest VM (including Dom0) only EL0Device Tree describes … User Space Kernel EL1 I/O HVC GIC 2 stage GT v2 MMU EL2 Xen Hypervisor
  • One mode to rule them all Optimal performance Scope for improvementx86: PVHVM P P VS VH HVM mode/domainx86: PVH P P P VH PV mode/domainARM v7 & v8 P VH VH VH
  • Xen in CentOS 6.4+Xen is coming back to CentOSIn semi-private betaPlanned release in CentOS 6.4Include XAPI packages – aka XCP in CentOS
  • Xen Library Operating SystemsApplication stacks only running on Xen APIs Control domain Guest VMnWorks on any Xen based cloud or hosting service (dom0) AppsExamples PV Back Ends – ErlangOnXen.org : Erlang Library OS embedded – HalVM : Haskell HW Drivers in Language run-time – OpenMirage : Ocaml Dom0 KernelBenefits: Xen – Small footprint Host HW – Low startup latency – Extremely fast migration of VMs
  • Summary: Why Xen?
  • • 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
  • • 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.htmlThank You! @lars_kurth FREENODE: lars_kurth Slides available under CC-BY-SA 3.0 From www.slideshare.net/xen_com_mgr