Chapter 1. Introduction to Xen Virtualization

Contents

1.1. Basic Components
1.2. Understanding Virtualization Modes
1.3. Xen Virtualization Architecture
1.4. The Virtual Machine Host
1.5. Supported Virtualization Limits

Virtualization of operating systems is used in many different computing areas. It finds its applications in server consolidation, energy saving efforts, or the ability to run older software on new hardware, for example. This chapter introduces and explains the components and technologies you need to understand to set up and manage a Xen-based virtualization environment.

1.1. Basic Components

The basic components of a Xen-based virtualization environment are the Xen hypervisor, the Domain0, any number of other VM Guests, and the tools, commands, and configuration files that let you manage virtualization. Collectively, the physical computer running all these components is referred to as a virtual machine host because together these components form a platform for hosting virtual machines.

The Xen Hypervisor

The Xen hypervisor, sometimes referred to generically as a virtual machine monitor, is an open-source software program that coordinates the low-level interaction between virtual machines and physical hardware.

The Domain0

The virtual machine host environment, also referred to as domain0 or controlling domain, is comprised of several components, such as:

  • The SUSE Linux operating system, which gives the administrator a graphical and command line environment to manage the virtual machine host components and its virtual machines.

    [Note]

    The term Domain0 refers to a special domain that provides the management environment. This may be run either in graphical or in command line mode.

  • The xend daemon (xend), which stores configuration information about each virtual machine and controls how virtual machines are created and managed.

  • A modified version of QEMU, which is an open-source software program that emulates a full computer system, including a processor and various peripherals. It provides the ability to host operating systems in full virtualization mode.

Xen-Based Virtual Machines

A Xen-based virtual machine, also referred to as a domain, consists of the following components:

  • At least one virtual disk that contains a bootable operating system. The virtual disk can be based on a file, partition, volume, or other type of block device.

  • Virtual machine configuration information, which can be modified by exporting a text-based configuration file from xend or through Virtual Machine Manager.

Management Tools, Commands, and Configuration Files

There is a combination of GUI tools, commands, and configuration files to help you manage and customize your virtualization environment.

1.2. Understanding Virtualization Modes

Guest operating systems are hosted on virtual machines in either full virtualization mode or paravirtual mode. Each virtualization mode has advantages and disadvantages.

  • Full virtualization mode lets virtual machines run unmodified operating systems, such as Windows* Server 2003 and Windows XP, but requires the computer running as the virtual machine host to support hardware-assisted virtualization technology, such as AMD* Virtualization or Intel* Virtualization Technology.

    Some guest operating systems hosted in full virtualization mode, can be configured to run SUSE Linux Enterprise Virtual Machine Drivers instead of operating-system-specific drivers. Running virtual machine drivers improves performance dramatically on guest operating systems, such as Windows XP and Windows Server 2003. For more information, see Chapter 7, Virtual Machine Drivers.

  • Paravirtual mode does not require the host computer to support hardware-assisted virtualization technology, but does require the guest operating system to be modified for the virtualization environment. Typically, operating systems running in paravirtual mode enjoy better performance than those requiring full virtualization mode.

    Operating systems currently modified to run in paravirtual mode are referred to as paravirtualized operating systems and include SUSE Linux Enterprise Server 10 and NetWare® 6.5 SP7.

1.3. Xen Virtualization Architecture

The following graphic depicts a virtual machine host with four virtual machines. The Xen hypervisor is shown as running directly on the physical hardware platform. Note, that the controlling domain is also just a virtual machine, although it has several additional management tasks compared to all other virtual machines.

Figure 1.1. Virtualization Architecture

Virtualization Architecture

On the left, the virtual machine host’s Domain0 is shown running the SUSE Linux operating system. The two virtual machines shown in the middle are running paravirtualized operating systems. The virtual machine on the right shows a fully virtual machine running an unmodified operating system, such as Windows Server 2003 or Windows XP.

1.4. The Virtual Machine Host

After you install the virtualization components and reboot the computer, the GRUB boot loader menu should display a Xen menu option. Selecting the Xen menu option loads the Xen hypervisor and starts the Domain0 running the SUSE Linux operating system.

Running on domain 0, the SUSE Linux operating system displays the installed text console or desktop environment, such as GNOME or KDE. When opened, each virtual machine is displayed in its own window inside the controlling domain 0.

Figure 1.2. Desktop Showing Virtual Machine Manager and Virtual Machines

Desktop Showing Virtual Machine Manager and Virtual Machines

1.5. Supported Virtualization Limits

The following virtualization limits are supported by SUSE Linux Enterprise Server. These limits have been tested to ensure the host system and and the virtual machines install and work successfully, even when reaching the limits. It has also been ensured that there are are no major performance regressions (cpu, memory, disk, network) since the last service pack release.For more details on the support status refer to http://www.novell.com/partners/xen_yes.html.

Supported Limits for Virtual Machine (VM)

  • Max. virtual CPUs per VM: 32 Paravirtualized, 8 fully virtualized

  • Max. memory per VM: 16GB for 32bit, 64GB for 64bit guests

  • Max. virtual block devices per VM: 16 paravirtualized, 16 fully virtualized with paravirtualized drivers, 4 fully virtualized

  • Max. virtual network devices per VM: 8

Supported Limits for Virtual Hosts Systems (VHS)

  • Max. physical CPUs: 32 for 32bit, 64 for 64bit

  • Max. domain 0 virtual CPUs: 32

  • Max. physical memory: 16GB for 32bit, 1TB for 64bit

  • Max. domain 0 physical memory: 16GB for 32bit, 480GB for 64bit

  • Max. block devices: up to 12,000 SCSI logical units

  • Max. iSCSI devices: 128

  • Max. network cards: 8

  • Max. VMs per host: 64

  • Max. VMs per CPU core: 8

  • Max. virtual network cards: 64 across all VMs in the system