What is Xen®?
The Xen® hypervisor, the most powerful open source industry standard for virtualization, it offers powerful, efficient, and secure feature set for virtualization of x86, x86_64, IA64, ARM, and other CPU architectures. It supports a wide range of guest operating systems including Windows®, Linux®, Solaris®, and various versions of the BSD operating systems.
In Xen systems the Xen hypervisor is the lowest and most privileged software layer. This layer supports one or more guest operating systems, scheduled on the physical CPUs. The first guest operating system, called in Xen terminology domain 0 (dom0) is executed automatically when the hypervisor boots and receives special management privileges and direct access to all physical hardware by default. The system administrator can log into dom0 in order to manage any additional guest operating systems, called user domains (domU) in Xen terminology.
The dom0 domain is typically a modified version of Linux, NetBSD or Solaris. User domains may either be unmodified copies of open-source or proprietary operating systems, such as Microsoft Windows, if the host processor supports x86 virtualization, e.g., Intel VT-x and AMD-V), or modified, para-virtualized operating system with special drivers that support enhanced Xen features.
- 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
Types of Virtualization:
It supports following two types of virtualization.
In the paravirtualization the kernel of the guest operating system modified to run on the hypervisor, hypervisor is a program that runs on the host system at ring 0. The task of the hypervisor is to handle resource and memory allocation for the virtual machines in addition to providing interfaces for higher level administration and monitoring tool. (From Here)
This is called hardware assisted virtualization, provides support for unmodified guest operating systems. The term unmodified refers to operating system kernels which have not been altered to run on a hypervisor and therefore still execute privileged operations as though running in ring 0 of the CPU. In this scenario, the hypervisor provides CPU emulation to handle and modify privileged and protected CPU operations made by unmodified guest operating system kernels (From Here)
Xen under Linux runs on x86, with Pentium II or newer processors, x86-64 based systems, as well as on IA-64 and PowerPC. Xen supports up to 64-way symmetric multiprocessing. Xen boots from a bootloader such as GNU GRUB, and then usually loads a modified host operating system into the host domain (dom0). As of 2009, most Linux distributions had included Xen packages to interact with the Xen hypervisor and start additional domains, but because Xen was not accepted into the mainline Linux kernel and installation required several kernel patches, some distros such as Red Hat Enterprise Linux 6 and Ubuntu 8.10 dropped out-of-the-box support for dom0 in subsequent releases. With the inclusion of the most significant parts of Xen in the Linux 2.6.37 mainline kernel in early 2011, several distributions are again considering dom0 support. Version 3.0 of the Linux kernel supports dom0 and domU in the mainline kernel.
- Novell’s SUSE Linux Enterprise Server release 10 pioneered the first commercial implementation of Xen in this form.
- Red Hat Enterprise Linux 5 also offers support for Xen, but in RHEL 6 there is no support for dom0.
- Fedora has host support for Xen from the FC4 to Fedora 8 releases, but as of September 2010 Fedora doesn’t support dom0.
- Ubuntu included Xen packages from Ubuntu 8.04 (Hardy Heron), supporting Xen versions 3.2 and 3.1. Note however that Ubuntu doesn’t include or support a dom0-capable kernel from Intrepid Ibex (Ubuntu 8.10) onward.
- Debian includes Xen 4.0.1 in its stable release 6.0 (codename “Squeeze”), and Xen 3.2.1 in its oldstable release 5.0 (codename “Lenny”).
- Gentoo and Arch Linux both have packages available to support Xen.
- openSUSE 10.x and 11.x includes Xen 3.1 support. YaST and virt-man offer graphical VM management.
- OpenSolaris-based distributions can function as dom0 and domU from Nevada build 75 onwards.
- As of 2009 support for OpenBSD self-hosting required the correction of a lock-up bug before its release.
- NetBSD 3.x. includes host support for Xen 2, with host support for Xen 3.0 available from NetBSD 4.0.
Guest systems can run fully virtualized (which requires hardware support) or paravirtualized (which requires a modified guest operating system). The following systems have patches allowing them to operate as paravirtualized Xen guests:
- Linux, paravirtualization integrated in 2.6.23, patches for other versions exist
- Plan 9 from Bell Labs
- 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)
- OpenBSD, announced in a, now dead, blog entry Archived August 28, 2006 at the Wayback Machine The support has since been discontinued.
- FreeBSD (Limited, experimental support for Xen 3 in 8-CURRENT )
- OpenSolaris (See The Xen Community On OpenSolaris)
- NetWare (at Brainshare 2005, Novell showed a port that can run as a Xen guest)
- 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).