World Library  
Flag as Inappropriate
Email this Article
 

Xen

Xen
Xen Project running NetBSD and three Linux distributions
Original author(s) Keir Fraser, Steven Hand, Ian Pratt, University of Cambridge Computer Laboratory
Developer(s) Linux Foundation
Initial release 2003 (2003)
Stable release 4.6[1] / October 13, 2015 (2015-10-13)
Type Hypervisor
License GNU GPL version 2
Website .org.xenprojectwww

Xen Project (pronounced as ) is a hypervisor using a microkernel design, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently.

The University of Cambridge Computer Laboratory developed the first versions of Xen. The Xen Project community develops and maintains Xen Project as free and open-source software, subject to the requirements of the GNU General Public License (GPL), version 2. Xen Project is currently available for the IA-32, x86-64 and ARM instruction sets.

Contents

  • Software architecture 1
  • History 2
    • Release history for Xen Project (upstream project) 2.1
    • Xen in Linux distributions and Linux upstream 2.2
    • Uses 2.3
  • Technology 3
    • Types of virtualization 3.1
      • Paravirtualization - modified guests 3.1.1
      • Hardware-assisted virtualization, allowing for unmodified guests 3.1.2
    • Virtual machine migration 3.2
    • Target processors 3.3
    • Scalability 3.4
  • Hosts 4
  • Guests 5
    • Unix-like systems as guests 5.1
    • Microsoft Windows systems as guests 5.2
  • Xen Management Consoles 6
  • Commercial versions 7
  • See also 8
  • References 9
  • Further reading 10
  • External links 11

Software architecture

Xen Project runs in a more privileged CPU state than any other software on the machine.

Responsibilities of the hypervisor include memory management and CPU scheduling of all virtual machines ("domains"), and for launching the most privileged domain ("dom0") - the only virtual machine which by default has direct access to hardware. From the dom0 the hypervisor can be managed and unprivileged domains ("domU") can be launched.[2]

The dom0 domain is typically a version of Linux, or BSD. User domains may either be traditional operating systems, such as Microsoft Windows under which privileged instructions are provided by hardware virtualization instructions (if the host processor supports x86 virtualization, e.g., Intel VT-x and AMD-V),[3] or para-virtualized operating system whereby the operating system is aware that it is running inside a virtual machine, and so makes hypercalls directly, rather than issuing privileged instructions.

Xen Project boots from a bootloader such as GNU GRUB, and then usually loads a paravirtualized host operating system into the host domain (dom0).

History

Xen Project originated as a research project at the University of Cambridge, led by Ian Pratt, senior lecturer at Cambridge who co-founded XenSource, Inc. with Simon Crosby also of Cambridge University. The first public release of Xen was made in 2003.

Xen Project has been supported originally by XenSource Inc., and since the acquisition of XenSource by Citrix in October 2007. This organisation supports the development of the free software project and also sells enterprise versions of the software.

On 22 October 2007, Citrix, IBM, Intel, Hewlett-Packard, Novell, Red Hat, Sun Microsystems and Oracle. The Xen Advisory Board advises the Xen Project leader and is responsible for the Xen trademark,[5] which Citrix has freely licensed to all vendors and projects that implement the Xen hypervisor.[6]

Citrix has also used the Xen brand itself for some proprietary products unrelated to Xen, including at least "XenApp" and "XenDesktop".

On 15 April 2013, it was announced that the Xen Project was moved under the auspices of the

  • Official website
  • Archived xen.org page
  • Official Citrix product site
  • Step-by-step installation instructions for Xen, with a domU capable of running Windows XP SP3 and ReactOS
  • University of Cambridge research page for Xen
  • University of Cambridge, Technical Report Number 553, January 2003. Early report outlining the architecture of Xen.
  • Xen Guide by Tapas Mishra
  • UnifiedSessionsManager - An Unofficial Xen configuration file creator
  • Trusted Boot: Verifying the Xen Launch
  • XAPI: Open source software to build private and public clouds

External links

  • Paul Venezia (April 13, 2011) Virtualization shoot-out: Citrix, Microsoft, Red Hat, and VMware. The leading server virtualization contenders tackle InfoWorld's ultimate virtualization challenge, InfoWorld

Further reading

  1. ^ a b c d
  2. ^
  3. ^
  4. ^
  5. ^
  6. ^
  7. ^
  8. ^
  9. ^
  10. ^
  11. ^
  12. ^
  13. ^
  14. ^
  15. ^
  16. ^
  17. ^
  18. ^
  19. ^
  20. ^
  21. ^
  22. ^
  23. ^
  24. ^
  25. ^
  26. ^
  27. ^
  28. ^
  29. ^
  30. ^
  31. ^ a b
  32. ^
  33. ^
  34. ^
  35. ^
  36. ^
  37. ^
  38. ^ Robin and Irvine, "Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor", 9th Usenix Security Symposium, 2000
  39. ^ Gil Neiger, Amy Santoni, Felix Leung, Dion Rodgers, Rich Uhlig. Intel Virtualization Technology: Software-only virtualization with the IA-32 and Itanium architectures, Intel Technology Journal, Volume 10 Issue 03, August 2006.
  40. ^ Extending Xen with Intel Virtualization Technology, intel.com
  41. ^
  42. ^
  43. ^
  44. ^
  45. ^
  46. ^
  47. ^
  48. ^
  49. ^
  50. ^
  51. ^
  52. ^
  53. ^
  54. ^ The information on the XenSource wiki seems to be outdated, but newer information is here:
  55. ^ Huawei FusionSphere: Optimize Business with Data Center Virtualization
  56. ^ Huawei to virtual world: Give us your desktops and no-one gets hurt

References

See also

The Xen hypervisor is covered by the GNU General Public Licence, so all of these versions contain a core of free software with source code. However, many of them contain proprietary additions.

Commercial versions

Novell's PlateSpin Orchestrate also manages Xen virtual machines for Xen shipping in SUSE Linux Enterprise Server.

  • the web-based HyperVM
  • Web-based ConVirt
  • the OpenNebula cloud management toolkit
  • On openSUSE YaST and virt-man offer graphical VM management
  • Web-based Xen Orchestra

Third-party developers have built a number of tools (known as Xen Management Consoles) to facilitate the common tasks of administering a Xen host, such as configuring, starting, monitoring and stopping of Xen guests. Examples include:

Xen Management Consoles

James Harper and the Xen open-source community have started developing GPL'd Paravirtualisation drivers for Windows. These provide front-end drivers for the Xen block and network devices, and allow much higher disk and network performance for Windows systems running in HVM mode. Without these drivers all disk and network traffic has to be processed through QEMU-DM.[54]

During the development of Xen 1.x, Microsoft Research, along with the University of Cambridge Operating System group, developed a port of Windows XP to Xen — made possible by Microsoft's Academic Licensing Program. The terms of this license do not allow the publication of this port, although documentation of the experience appears in the original Xen SOSP paper.[53]

Xen version 3.0 introduced the capability to run Microsoft Windows as a guest operating system unmodified if the host machine's processor supports hardware virtualization provided by Intel VT-x (formerly codenamed Vanderpool) or AMD-V (formerly codenamed Pacifica).

Microsoft Windows systems as guests

  • FreeBSD[52]
  • GNU/Hurd/Mach (gnumach-1-branch-Xen-branch)
  • Linux, paravirtualization integrated in 2.6.23, patches for other versions exist
  • MINIX
  • NetBSD (NetBSD 2.0 has support for Xen 1.2, NetBSD 3.0 has support for Xen 2.0, NetBSD 3.1 supports Xen 3.0, NetBSD 5.0 features Xen 3.3)
  • NetWare (at Brainshare 2005, Novell showed a port that can run as a Xen guest)
  • OpenSolaris (See The Xen Community On OpenSolaris)
  • OZONE (has support for Xen v1.2)
  • Plan 9 from Bell Labs

Additionally the following systems have patches allowing them to operate as paravirtualized Xen guests:

Most operating systems which can run on PC can run as a Xen HVM guest.

Guest systems can run fully virtualized (which requires hardware support) or paravirtualized (which requires a modified guest operating system).

Unix-like systems as guests

Guests

  • Alpine Linux offers a minimal dom0 system (Busybox, UClibc) that can be run from removable media, like USB sticks.
  • Debian GNU/Linux (since version 4.0 "etch") and many of its derivatives
  • FreeBSD 11 includes experimental host support.[46]
  • Gentoo and Arch Linux both have packages available to support Xen.[47]
  • Mageia (since version 4)
  • NetBSD 3.x. includes host support for Xen 2, with host support for Xen 3.0 available from NetBSD 4.0.[48]
  • OpenSolaris-based distributions can function as dom0 and domU from Nevada build 75 onwards.
  • openSUSE 10.x to 12.x;[49] only 64-bit hosts are supported since 12.1
  • Qubes OS for desktop usage
  • SUSE Linux Enterprise Server (since version 10)
  • Sun Microsystems' Solaris
  • Ubuntu 12.04 "Precise Pangolin" and later releases; also 8.04 Hardy Heron, but no dom0-capable kernel in 8.10 Intrepid Ibex until 12.04[50][51]

Alternatively, Xen is distributed as an optional configuration of many standard operating systems. Xen is available for and distributed with:

Xen can be shipped in a dedicated virtualization platform, such as Citrix XenServer Enterprise Edition (formerly XenSource's XenEnterprise).

Hosts

Xen can scale to 4095 physical CPUs, 256 VCPUs per HVM guest, 512 VCPUs per PV guest, 16 TB of RAM per host, and up to 1 TB of RAM per HVM guest or 512 GB of RAM per PV guest.[45]

Scalability

  • Intel: IA-32, IA-64 (before version 4.2[42]), x86-64
  • PowerPC: previously supported under the XenPPC project, no longer active after Xen 3.2[43]
  • ARM: previously supported under the XenARM project for older versions of ARM without virtualization extensions, such as the Cortex-A9. Currently supported since Xen 4.3 for newer versions of the ARM with virtualization extensions, such as the Cortex-A15.
  • MIPS: XLP832 experimental port[44]

The Xen hypervisor has been ported to a number of processor families.

Target processors

Administrators can "live migrate" Xen virtual machines between physical hosts across a LAN without loss of availability. During this procedure, the LAN iteratively copies the memory of the virtual machine to the destination without stopping its execution. The process requires a stoppage of around 60–300 ms to perform final synchronization before the virtual machine begins executing at its final destination, providing an illusion of seamless migration. Similar technology can serve to suspend running virtual machines to disk, "freezing" their running state for resumption at a later date.

Virtual machine migration

Xen HVM has device emulation based on the QEMU project to provide I/O virtualization to the virtual machines. The system emulates hardware via a patched QEMU "device manager" (qemu-dm) daemon running as a backend in dom0. This means that the virtualized machines see an emulated version of a fairly basic PC. In a performance-critical environment, PV-on-HVM disk and network drivers are used during normal guest operation, so that the emulated PC hardware is mostly used for booting.

In current versions of Xen (up to 4.2) only fully virtualised HVM guests can make use of hardware support for multiple independent levels of memory protection and paging. As a result, for some workloads, HVM guests with PV drivers (also known as PV-on-HVM, or PVH) provide better performance than pure PV guests.

HVM extensions also often offer new instructions to support direct calls by a paravirtualized guest/driver into the hypervisor, typically used for I/O or other operations needing high performance. These allow HVM guests with suitable minor modifications to gain many of the performance benefits of paravirtualised I/O.

Both Intel and AMD have contributed modifications to Xen to support their respective Intel VT-x and AMD-V architecture extensions.[40] Support for ARM v7A and v8A virtualization extensions came with Xen 4.3.[41]

HVM extensions provide additional execution modes, with an explicit distinction between the most-privileged modes used by the hypervisor with access to the real hardware (called "root mode" in x86) and the less-privileged modes used by guest kernels and applications with "hardware" accesses under complete control of the hypervisor (in x86, known as "non-root mode"; both root and non-root mode have Rings 0–3).

CPUs that support virtualization make it possible to support unmodified guests, including proprietary operating systems (such as Microsoft Windows). This is known as hardware-assisted virtualization, however in Xen this is known as hardware virtual machine (HVM).

Hardware-assisted virtualization, allowing for unmodified guests

On 32-bit x86, the Xen host kernel code runs in Ring 0, while the hosted domains run in Ring 1 (kernel) and Ring 3 (applications).

Paravirtualization avoids the need to emulate a full set of hardware and firmware services, which makes a PV system simpler to manage and reduces the attack surface exposed to potentially malicious guests.

Xen can run paravirtualized guests ("PV guests" in Xen terminology) even on CPUs without any explicit support for virtualization.

Through paravirtualization, Xen can achieve high performance even on its host architecture (x86) which has a reputation for non-cooperation with traditional virtualization techniques.[38][39]

Xen supports a form of virtualization known as paravirtualization, in which guests run a modified operating system. The guests are modified to use a special hypercall ABI, instead of certain architectural features.

Paravirtualization - modified guests

Xen supports five different approaches to running the guest operating system: HVM (hardware virtual machine), HVM with PV drivers, PVHVM (HVM with PVHVM drivers), PVH (PV in an HVM container) and PV (paravirtualization).[37]

Types of virtualization

Technology

Finally, hardware appliance vendors may decide to ship their appliance running several guest systems, so as to be able to execute various pieces of software that require different operating systems.

Virtualization also has benefits when working on development (including the development of operating systems): running the new system as a guest avoids the need to reboot the physical computer whenever a bug occurs. Sandboxed guest systems can also help in computer-security research, allowing study of the effects of some virus or worm without the possibility of compromising the host system.

Xen's support for virtual machine live migration from one host to another allows workload balancing and the avoidance of downtime.

  • consolidation leading to increased utilization
  • rapid provisioning
  • dynamic fault tolerance against software failures (through rapid bootstrapping or rebooting)
  • hardware fault tolerance (through migration of a virtual machine to different hardware)
  • the ability to securely separate virtual operating systems
  • the ability to support legacy software as well as new OS instances on the same computer

Virtual machine monitors (also known as hypervisors) also often operate on mainframes and large servers running IBM, HP, and other systems. Server virtualization can provide benefits such as:

Internet hosting service companies use hypervisors to provide virtual private servers. Amazon EC2, IBM SoftLayer,[33] Liquid Web, Fujitsu Global Cloud Platform,[34] Linode, OrionVM[35] and Rackspace Cloud use Xen as the primary VM hypervisor for their product offerings.[36]

Uses

Since version 3.0 of the Linux kernel, Xen support for dom0 and domU exists in the mainline kernel.[32]

Xen in Linux distributions and Linux upstream

Version Release date Notes
1.0 October 2, 2003[11][12]
2.0 November 5, 2004[13]
3.0 December 5, 2005[14][15]

The releases up to 3.0.4 also added:

  • Support for the AMD SVM virtualization extensions.[16]
  • Support for the PowerPC architecture.[17]
  • Graphical framebuffer support for paravirtualised guests.[18]
3.1 May 18, 2007[19] Live migration for HVM guests, XenAPI
3.2 January 17, 2008[20] PCI passthrough and ACPI S3 standby mode for the host system.
3.3 August 24, 2008[21] Improvements for the PCI passthrough and the power management.
3.4 May 18, 2009[22] Contains a first version of the "Xen Client Initiative", shortly XCI.
4.0 April 7, 2010[23] Makes it possible to use a dom0 Linux kernel, which has been implemented by using PVOps. A Linux kernel of version 2.6.31 has been modified for this purpose, because the official Linux kernel actually does not support the usage as dom0 kernel (date July 2010).[24]
4.1 March 25, 2011[25] Some of the improvements: Support for more than 255 processors, better stability. Linux kernel v2.6.37 and onward support usage as dom0 kernel.[26]
4.2 September 8, 2012[1] XL became the default toolstack. Support for up to 4095 host processors and up to 512 guest processors.
4.3 July 9, 2013[27] Experimental ARM support. NUMA-aware scheduling. Support for Open vSwitch.
4.4 March 10, 2014[28] Solid libvirt support for libxl, new scalable event channel interface, hypervisor ABI for ARM declared stable, Nested Virtualization on Intel hardware.[29][30]
4.5 January 17, 2015[31] With 43 major new features, 4.5 includes the most updates in the project’s history.[31]
4.6 October 13, 2015[1] Focused on improving code quality, security hardening, enablement of security appliances, and release cycle predictability.[1]

Release history for Xen Project (upstream project)

[10] The Xen project itself is self-governing.[9] as part of the transfer. Project members at the time of the announcement included: Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung, and Verizon.[8]

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.