What is Xen ?
The Xen hypervisor, the most powerful open source industry standard for virtualization, it supports a wide range of guest operating systems including Windows, Linux, Solaris, and various versions of the BSD operating systems.It offers powerful, efficient, and secure feature set for virtualization of x86, x86_64, IA64, ARM, and other CPU architectures.
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.
Features:
- Consolidation
- Rapid provisioning
- Dynamic fault tolerance against software failures (through rapid bootstrapping or rebooting)
- Increased utilization
- Ability to support legacy software as well as new OS instances on the same computer.
- Ability to securely separate virtual operating systems
- Hardware fault tolerance (through migration of a virtual machine to different hardware)
Types of Virtualization:
Xen supports two types of virtualization.
Para Virtualization:
In the para virtualization 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.
Fully Virtualization:
This one is known as 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.
Supporting Hosts:
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).
The 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.
- 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.
- NetBSD 3.x. includes host support for Xen 2, with host support for Xen 3.0 available from NetBSD 4.0.
Supporting Guests:
Guest systems can run fully virtualized (which requires hardware support) or para virtualized (which requires a modified guest operating system). The following systems have patches allowing them to operate as para virtualized Xen guests:
- Linux, paravirtualization integrated in 2.6.23, patches for other versions exist
- Minix & 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 [1])
- OpenSolaris (See The Xen Community On OpenSolaris)
- NetWare (at Brainshare 2005, Novell showed a port that can run as a Xen guest)
- GNU/Hurd/Mach
- 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 code named Vander pool) or AMD-V.
Hope this posts helps your need, please share your valuable feedback to improve us.
To know How to check memory usage on CentOS Server : Click here