Xen

From Free net encyclopedia

Template:Infobox Software

Xen is an open-source virtual machine monitor, or hypervisor, developed by the University of Cambridge. It has a design goal of being able to run 100 full-featured operating system (OS) instances on a single typical computer. Xen provides secure isolation, resource control, quality-of-service guarantees, and live migration of virtual machines. Operating systems must be explicitly modified ("ported") to run on Xen (although compatibility is maintained for user applications). This enables Xen to achieve high-performance virtualization without special hardware support.

Contents

Use

Virtual machines are often used by IBM, HP, and others on mainframes and servers. The primary benefits to virtualisation include extracting the most work possible from a single machine, and securing software programs through the use of separate virtual operating systems (similar to using a chroot jail, but more secure.) Virtualisation can also be used to run different and incompatible operating systems on the same computer. Xen's support for virtual machine live migration allows workload balancing and the avoidance of downtime.

Comparison with other Virtual Machine Managers (VMMs)

  • Denali uses paravirtualisation to provide high-performance virtual machines on x86 computers. Denali's virtual machines support specialised minimal OSs for Internet services. The system can scale to thousands of virtual machines. Unlike Xen, Denali does not preserve the application binary interface (ABI), and so applications must be recompiled to run within a library operating system; in this sense it is similar to the Exokernel. Xen's motivation differs from that of Denali in that it is intended to run a moderate number of full-featured operating systems, rather than a large number of specialised, lightweight ones.
  • VMware provides virtual machines for x86 that can run unmodified PC operating systems. The technology involved in doing this is extremely complex and also incurs (sometimes significant) performance overheads. Xen trades full OS binary compatibility for comparative simplicity and improved performance.
  • Virtuozzo replaces the hardware abstraction layer with a modified version enabling it to run with better performance of the OS, but forces all the VMs on a hardware box to all run the same OS, with some flexibility to support various Linux distributions on the same server. Currently they have a version for Windows 2003 and for Linux.

Paravirtualization with Xen

Xen uses a technique called paravirtualization to achieve high performance (i.e., low performance penalties, typically around 2%, with worst-case scenarios at 8% performance penalty; this is in stark contrast to perfect emulation solutions which typically entail performance penalties of about 20%). Through paravirtualization, it can achieve high performance even on its host architecture (x86) which is notoriously uncooperative with traditional virtualization techniques. Unlike traditional virtual machine monitors, which provide a software-based execution environment exactly like the simulated hardware, Xen prior to version 3.0 and Intel VT-X support required the porting of guest operating systems to the Xen API. Thus far, this porting has happened for Plan 9 from Bell Labs, NetBSD, Linux, and FreeBSD. At Brainshare 2005, Novell showed a port of NetWare to Xen. A Windows XP port was carried out during the initial development of Xen, but Microsoft's licensing prevents its public release. Sun Microsystems is also actively working on a port of Solaris to Xen.

Full virtualization with Xen

Intel has contributed modifications to Xen to support their VT-X Vanderpool architecture extensions. This technology will enable unmodified guest operating systems to run within Xen virtual machines, if the host system supports the Vanderpool or the Pacifica extensions (Intel's, and AMD's, respectively, extensions to natively support virtualization). Practically, this will mean that there will be a performance boost, and that it will be possible to virtualise Windows without having to modify it in any way, which licensing restrictions prevent.

Virtual machine migration

Xen virtual machines can be "live migrated" between physical hosts without stopping them. During this procedure, the memory of the virtual machine is iteratively copied to the destination without stopping its execution. A very brief stoppage of around 60–300 ms is required to perform final synchronisation before the virtual machine begins executing at its final destination, providing an illusion of seamless migration. Similar technology is used to suspend running virtual machines to disk and switch to another virtual machine, and resume the first virtual machine at a later date.

Hardware architectures

Xen currently runs on x86, with P6 or newer processors, and x86_64 based systems. Ports are currently underway to IA64 and PPC. Ports for other platforms are also technically possible and may be available in the future.

Software platforms

Xen mainly runs with Linux as a host system and is the most supported platform. FreeBSD/NetBSD can also be used as FreeBSD 7-CURRENT (and 6-STABLE) supports the latest Xen version (version 3); NetBSD 3.0 can run Xen 2, an older version, although NetBSD-current also can run Xen 3. It's currently possible to run Windows as a guest operating system unmodified, using hardware virtualization provided by Intel's Vanderpool technology (only available in recent processors) or the upcoming AMD Pacifica. It is however impossible to use Xen on top of a Windows host. [1]

Xen in Unix-like systems

Novell's SUSE Linux Professional 9.3, released April 15, 2005, includes Xen version 2.0.5c. The newly released SUSE Linux 10 ships with Xen 3 integrated with YAST Control center. Red Hat's Fedora Core 4 included Xen 2; Fedora Core 5 includes Xen 3. Xenophilia is a Linux distribution that is based around Xen. The Xen demo CD is a live ISO CD running Debian GNU/Linux that enables you to try Xen on your system without installing it to the hard disk. Debian also includes Xen packages, in unstable and experimentals.

NetBSD 2.0 includes support for Xen 1.2, NetBSD 3.0 release includes support for Xen 2.0. Support for Xen 3.0 is available in NetBSD-current.

FreeBSD 6.1 will have full support for Xen 3 on x86.

See also


External links

es:Xen fr:Xen it:Xen he:Xen ja:Xen (仮想マシンモニタ) pl:Xen zh:Xen