• Save
Xen 10th anniversary Status Report (at SELF 2013)
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Xen 10th anniversary Status Report (at SELF 2013)

  • 1,192 views
Uploaded on

Status of the Xen Project, as delivered by Russell Pavlicek at Southeast Linuxfest 2013, in Charlotte, NC.

Status of the Xen Project, as delivered by Russell Pavlicek at Southeast Linuxfest 2013, in Charlotte, NC.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,192
On Slideshare
1,180
From Embeds
12
Number of Embeds
5

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 12

https://twitter.com 4
http://www.eventifier.co 3
http://eventifier.co 3
http://xenproject.org 1
http://eventifier.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Russell PavlicekXen Project EvangelistRussell.Pavlicek@XenProject.orgXen Project 10th Anniversary Status@RCPavlicekSkype: russpavlicek
  • 2. • Linux user since 1995; Linux desktop since 1997• Linux advocate before I ever saw the software• Early advocate in DEC, Compaq• Former columnist for Infoworld, Processor• Former panelist on The Linux Show• Wrote book, Embracing Insanity: Open Source Software Development• Speaker at 40+ conferences• Currently Xen Project Evangelist employed by CitrixAbout the Speaker...
  • 3. • Teams aka sub-projects– 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 leadershipNews: Xen.org becomes XenProject.org
  • 4. Why Should I Care about Xen?
  • 5. Xen is ready for business• Enterprise-worthy scalability• Solid track record (Amazon bets their AWSbusiness on us)• Linux Foundation Project Partners:–AMD, Amazon, Cisco, Citrix, Intel, Oracle,Samsung, Verizon, and more
  • 6. Xen contributor community is diversifying0%10%20%30%40%50%60%70%80%90%100%2010 2011 2012Citrix UPCSUSE AmazonUniversity AMDGridCentric IndividualNSA IntelFujitsu iWebMisc OracleSpectralogic University of British Columbia• The number of “significant”active vendors is increasing• New feature development drivingnew participation
  • 7. Xen has the technology• Top notch Hypervisor• Live Migration of VMs: XenMotion (in XCP)• Cloud-readiness: Xen Cloud Platform & XAPI• High Availability: Remus• Wide variety of Control Domains supported• Even wider variety of Guest Domains• Multiple virtualization modes improve performance
  • 8. Hypervisor Architecture
  • 9. Hypervisor ArchitecturesType 1: Bare metal HypervisorA pure Hypervisor that runs directly on thehardware and hosts Guest OS’s.Provides partition isolation + reliability,higher securityHost HWMemory CPUsI/OHypervisorSchedulerMMUDevice Drivers/ModelsVMnVM1VM0Guest OSand Apps
  • 10. Hypervisor ArchitecturesType 1: Bare metal HypervisorA pure Hypervisor that runs directly on thehardware and hosts Guest OS’s.Type 2: OS ‘Hosted’A Hypervisor that runs within a Host OS and hostsGuest OS’s inside of it, using the host OS servicesto provide the virtual environment.Provides partition isolation + reliability,higher securityLow cost, no additional driversEase of use & installationHost HWMemory CPUsI/OHost HWMemory CPUsI/OHypervisorSchedulerMMUDevice Drivers/ModelsVMnVM1VM0Guest OSand AppsHost OSDevice DriversRing-0 VM Monitor“Kernel “VMnVM1VM0Guest OSand AppsUserAppsUser-level VMMDevice Models
  • 11. Xen: Type 1 with a TwistType 1: Bare metal HypervisorHost HWMemory CPUsI/OHypervisorSchedulerMMUDevice Drivers/ModelsVMnVM1VM0Guest OSand Apps
  • 12. Xen: Type 1 with a TwistType 1: Bare metal HypervisorHost HWMemory CPUsI/OHypervisorSchedulerMMUDevice Drivers/ModelsVMnVM1VM0Guest OSand AppsHost HWMemory CPUsI/OHypervisorVMnVM1VM0Guest OSand AppsXen ArchitectureScheduler MMU
  • 13. Xen: Type 1 with a TwistType 1: Bare metal HypervisorHost HWMemory CPUsI/OHypervisorSchedulerMMUDevice Drivers/ModelsVMnVM1VM0Guest OSand AppsHost HWMemory CPUsI/OHypervisorVMnVM1VM0Guest OSand AppsXen ArchitectureScheduler MMUControl domain(dom0)DriversDevice ModelsLinux & BSD
  • 14. Xen Project 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 Control Domain (Dom0) Linux distribution– Install Xen package(s) or meta package– Reboot– Configure stuff: set up disks, peripherals, etc.More info: wiki.xenproject.org/wiki/Category:Host_Install
  • 15. Basic Xen Concepts15Control domain(dom0)Host HWVMnVM1VM0Guest OSand AppsMemory CPUsI/OConsole• Interface to the outside worldControl Domain aka Dom0• Dom0 kernel with drivers• Xen Management ToolstackGuest Domains• Your appsDriver/Stub/Service Domain(s)• A “driver, device model or controlservice in a box”• De-privileged and isolated• Lifetime: start, stop, killDom0 KernelHypervisorScheduler MMU XSMTrusted Computing Base
  • 16. Basic Xen Concepts16Control domain(dom0)Host HWVMnVM1VM0Guest OSand AppsConsoleMemory CPUsI/ODom0 KernelToolstackHypervisorScheduler MMU XSMConsole• Interface to the outside worldControl Domain aka Dom0• Dom0 kernel with drivers• Xen Management ToolstackGuest Domains• Your appsDriver/Stub/Service Domain(s)• A “driver, device model or controlservice in a box”• De-privileged and isolated• Lifetime: start, stop, killTrusted Computing Base
  • 17. Basic Xen Concepts17Control domain(dom0)Host HWVMnVM1VM0Guest OSand AppsConsoleMemory CPUsI/OOne or moredriver, stub orservice domainsDom0 KernelToolstackHypervisorScheduler MMU XSMConsole• Interface to the outside worldControl Domain aka Dom0• Dom0 kernel with drivers• Xen Management ToolstackGuest Domains• Your appsDriver/Stub/Service Domain(s)• A “driver, device model or controlservice in a box”• De-privileged and isolated• Lifetime: start, stop, killTrusted Computing Base
  • 18. 18Xen Variants for Server & CloudXen HypervisorHypervisor
  • 19. Single HostBasic FunctionsMultiple HostsAdditional Functionality19Xen Variants for Server & CloudIncreased level of functionality and integration with other componentsDefault / XL (XM)Toolstack / Console Libvirt / VIRSH XAPI / XEHypervisorSingle HostAdditional FunctionalityXen Hypervisor
  • 20. Single HostBasic FunctionsMultiple HostsAdditional FunctionalityXen Variants for Server & CloudIncreased level of functionality and integration with other componentsDefault / XL (XM)Toolstack / Console Libvirt / VIRSH XAPI / XEHypervisorSingle HostAdditional FunctionalityXen Hypervisor
  • 21. 21Xen Variants for Server & CloudIncreased level of functionality and integration with other componentsDefault / XL (XM)Toolstack / Console Libvirt / VIRSHProducts Oracle VM Huawei UVP Citrix XenServerProjectXAPI / XEXen Hypervisor
  • 22. 22Xen Variants for Server & CloudIncreased level of functionality and integration with other componentsDefault / XL (XM)Toolstack / Console Libvirt / VIRSHUsed by …ProjectXAPI / XEProducts Oracle VM Huawei UVP Citrix XenServerXen Hypervisor
  • 23. Xen : Types of Virtualization
  • 24. Xen 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)
  • 25. Xen 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 (coming in 4.4)– Almost fully PV– Uses HW extensions to eliminate PV MMU– Possibly best mode for CPUs with virtual H/W extensions
  • 26. 26Xen HypervisorControl domain(dom0)Host HWGuest VMnAppsMemory CPUsI/OTechnology:• ParavirtualizationLinux PV guests have limitations:• Limited to a subset of set of virtual H/WAdvantages• Fast• Works on any system(even without CPU virtual extensions)HW DriversPV Back Ends PV Front EndsGuest OSDom0 KernelParavirtualization (PV) Domains
  • 27. 27Xen HypervisorControl domain(dom0)Host HWGuest VMnAppsMemory CPUsI/OTechnology:• ParavirtualizationLinux PV guests have limitations:• Limited to a subset of virtual H/WAdvantages• Fast• Works on any system(even without CPU virtual extensions)Driver Domains (Disaggregation)• Security• Isolation• Reliability and RobustnessHW DriversPV Back Ends PV Front EndsDriver Domaine.g.• Disk• NetworkHW DriverPV Back EndDom0 Kernel**) Can be MiniOSGuest OSDom0 KernelPV Domains & Driver Domains
  • 28. 28Xen HypervisorDom0Host HWGuest VMnTechnology:• Shows emulation using QEMU/DeviceModel (SW Virtualization)• In other situation H/W can be usedDisadvantages• Emulation slower than PV(mainly I/O devices)Advantages• No kernel support neededDevice ModelIO EmulationIO EventVMEXITDom0 KernelH/W Virtual Machine (HVM) & Stub DomainsMemory CPUsI/O
  • 29. 29Xen HypervisorDom0Host HWGuest VMnTechnology:• Shows emulation using QEMU/DeviceModel (SW Virtualization)• In other situation H/W can be usedDisadvantages• Emulation slower than PV(mainly I/O devices)Advantages• No kernel support neededStub Domains• Security• Isolation• Reliability and RobustnessDevice ModelIO EmulationIO EventVMEXITStubdomnDevice ModelMini OSGuest VMnIO EmulationIO EventVMEXITDom0 KernelH/W Virtual Machine (HVM) & Stub DomainsMemory CPUsI/O
  • 30. The Virtualization SpectrumFully Virtualized (FV) VS VS VS VHFV with PV for disk & network P VS VS VHPVHVM P P VS VHPVH P P P VHFully Paravirtualized (PV) P P P PVH Virtualized (HW)P ParavirtualizedVS Virtualized (SW)HVM mode/domainPV mode/domainXen 4.4
  • 31. The Virtualization SpectrumFully Virtualized (FV) VS VS VS VHFV with PV for disk & network P VS VS VHPVHVM P P VS VHPVH P P P VHFully Paravirtualized (PV) P P P PScope for improvementPoor performanceOptimal performanceHVM mode/domainXen 4.4PV mode/domain
  • 32. The Virtualization SpectrumFully Virtualized (FV) VS VS VS VHFV with PV for disk & network P VS VS VHPVHVM P P VS VHPVH P P P VHFully Paravirtualized (PV) P P P PScope for improvementPoor performanceOptimal performanceHVM mode/domainXen 4.4PV mode/domainImportant: Xen automatically picks the bestoption based on HW & OS capabilities andavailable drivers.As a Xen user I chose a HVM or PV domain.
  • 33. XAPI, XCP and XCP-XAPI
  • 34. Single HostBasic FunctionsMultiple HostsAdditional FunctionalityXAPI, XCP and XCP-XAPI : What is it?Increased level of functionality and integration with other componentsDefault / XL (XM)Toolstack / Console Libvirt / VIRSH XAPI / XEHypervisorSingle HostAdditional FunctionalityXen Hypervisor
  • 35. XAPI : What do I get?Multiple HostsAdditional FunctionalityXAPI / XEXen Hypervisor• VM lifecycle: live snapshots, checkpoint, migration• Storage XenMotion: Migrate VMs between hosts or poolswithout 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.xenproject.org/wiki/XCP_Release_Features
  • 36. XAPI : two variants…Multiple HostsAdditional FunctionalityXAPI / XEXen HypervisorXCP ISO (at v1.6)Xen 4.1.3 + XAPICentOS 5.3Kernel (v2.6.32.43)OVS 1.4.2XCP-XAPI packagesDebian WheezyUbuntu 12.04 LTSOthers in progress …
  • 37. XAPI : Orchestration and UIsMultiple HostsAdditional FunctionalityXAPI / XEXen Hypervisor
  • 38. Challenges for FOSS hypervisors
  • 39. “Security and QoS/Reliability are amongstthe top 3 blockers for cloud adoption”www.colt.net/cio-research
  • 40. System characteristics cloud users care about:“Robustness, Performance, Scalability & Security”Results XCP User Survey 2012 – 90% of users quoted these as most important attributes
  • 41. 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 XTPrototypes for XAPIDisaggregationSee qubes-os.orgDifferent windows runin different VMs
  • 42. More SecurityIncreased serviceability and flexibilityBetter RobustnessBetter PerformanceBetter ScalabilityBenefits of DisaggregationAbility to safely restart parts of the system(e.g. just 275ms outage from failed Ethernet driver)
  • 43. Next: XAPI Architecture DiagramBefore and After Disaggregation
  • 44. CPUCPURAM RAMNIC(or SR-IOV VF)NIC(or SR-IOV VF)NIC(or SR-IOV VF)NIC(or SR-IOV VF)RAIDXenDom0NetworkdriversNFS/iSCSIdriversQemu xapi LocalstoragedriversNFS/iSCSIdriversNetworkdriversQemueth eth eth eth scsiUser VM User VMNB gntdev NBNF BF NF BFqemu qemuxapivswitchnetworkdtapdiskblktap3storagedsyslogdvswitchnetworkdtapdiskblktap3storagedtapdiskblktap3storagedgntdev gntdevDom0xenopsdlibxlhealthdDomainmanagerDom0....Xenxapi
  • 45. CPUCPURAM RAMNIC(or SR-IOV VF)NIC(or SR-IOV VF)NIC(or SR-IOV VF)NIC(or SR-IOV VF)RAIDDom0 NetworkdriverdomainNFS/iSCSIdriverdomainQemudomainxapidomainLoggingdomainLocalstoragedriverdomainNFS/iSCSIdriverdomainNetworkdriverdomainUser VM User VMNB gntdev NBNF BF NF BFdbus over v4vqemuxapixenopsdlibxlhealthdDomainmanagervswitchnetworkdtapdiskblktap3storagedsyslogd vswitchnetworkdtapdiskblktap3storagedtapdiskblktap3storagedgntdev gntdeveth eth eth eth scsiXen XenDom0dbus over v4v...
  • 46. 46Xen 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
  • 47. CPUCPURAM RAMNIC(or SR-IOV VF)NIC(or SR-IOV VF)NIC(or SR-IOV VF)NIC(or SR-IOV VF)RAIDXenDom0 NetworkdriverdomainNFS/iSCSIdriverdomainQemudomainxapidomainLoggingdomainLocalstoragedriverdomainNFS/iSCSIdriverdomainNetworkdriverdomaineth eth eth eth scsiUser VM User VMNB gntdev NBNF BF NF BFqemuxapixenopsdlibxlhealthdDomainmanagervswitchnetworkdtapdiskblktap3storagedsyslogd vswitchnetworkdtapdiskblktap3storagedtapdiskblktap3storagedgntdev gntdevFLASK policyrestricting accessDom0...dbus over v4v dbus over v4vXen
  • 48. ARM Hypervisor
  • 49. Fully functional for ARM v7 & v8ARM v7: Versatile Express, Arndale &Samsung ChromebookARM v8: Fast ModelXen 4.3 for ARM Servers
  • 50. ARM SOCXen + ARM = a perfect MatchARM Architecture Features for VirtualizationHypervisor mode : EL2Kernel mode : EL1User mode : EL0GICv2GT2 stageMMUI/ODevice Tree describes …Hypercall Interface HVC
  • 51. ARM SOC ARM Architecture Features for VirtualizationEL2EL1EL0GICv2GT2 stageMMUI/ODevice Tree describes …HVCXen + ARM = a perfect MatchXen Hypervisor
  • 52. ARM SOC ARM Architecture Features for VirtualizationEL2EL1EL0GICv2GT2 stageMMUI/ODevice Tree describes …HVCXen + ARM = a perfect MatchXen HypervisorAny Xen Guest VM (including Dom0)KernelUser SpaceHVC
  • 53. ARM SOC ARM Architecture Features for VirtualizationEL2EL1EL0GICv2GT2 stageMMUI/ODevice Tree describes …HVCXen + ARM = a perfect MatchXen HypervisorDom0onlyAny Xen Guest VM (including Dom0)KernelUser SpaceI/OPVbackPVfrontI/OHVC
  • 54. One mode to rule them allx86: PVHVM P P VS VHx86: PVH P P P VHARM v7 & v8 P VH VH VHScope for improvementOptimal performanceHVM mode/domainPV mode/domain
  • 55. Code Size of x86 and ARM HypervisorsX86 Hypervisor 100K -120K LOC Any x86 CPUARM Hypervisor formobile Devices60K LOC ARM v5 – v7(no virtual extensions)(extra code for RT)ARM Hypervisor forServers17K LOC ARM v7+(w/ virtual extensions)
  • 56. Mirage OS
  • 57. Application stacks only running on Xen APIsWorks on any Xen based cloud or hosting serviceExamples– ErlangOnXen.org : Erlang– HalVM : Haskell– Mirage OS : OcamlBenefits:– Small footprint– Low startup latency– Extremely fast migration of VMsLibrary Operating SystemsXenControl domain(dom0)Host HWGuest VMnAppsHW DriversPV Back EndsLibrary OSembeddedin Languagerun-timeDom0 Kernel
  • 58. • Recently added to Xen Project incubator• In beta stage: first release on its way• Clean-slate protocols implementations, e.g.– TCP/IP, DNS, SSH, Openflow (switch/controller), HTTP, XMPP, ...– New applications using next generation XAPI(disaggregated XAPI architecture)Mirage OSMore info: http://www.slideshare.net/xen_com_mgr/mirage-extreme-specialisation-of-virtual-appliances
  • 59. What’s Next?
  • 60. • Release Candidate 4 Test Day on 6/12• Xen ARM for Servers• 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 (June 2013)More info: http://wiki.xenproject.org/wiki/Xen_Roadmap/4.3
  • 61. • Establish a shared test infrastructure– Most major contributors are duplicating effort– Mirage OS provides interesting opportunities• Usability and better distribution integration– Example: Xen + XAPI in CentOS 6.4• More focus on downstreams– Examples: OpenStack and Xen Orchestra• Disaggregation in Xen toolstacks (e.g XAPI)• Better Libvirt and virt-manager integration– Embed Xen more into the Linux ecosystem and provide benefits for thewider Linux communityWhat’s next (and already happening)
  • 62. • Document Days (monthly)• Test Days (prior to release)• Mailing Lists and IRC• XenProject.org (sign up, it’s free!)Getting Started with Xen ProjectXen Hackathon & Developer Summit (annually;vote for next year’s location in the Q&A sectionof XenProject.org until June 14, 2013)
  • 63. Thank You!Slides available under CC-BY-SA 3.0From www.slideshare.net/xen_com_mgr@RCPavlicekSkype: russpavlicek• 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