1.1 Introduction and Technology Overview

Novell SUSE Linux Enterprise Server and Xen hypervisor software combine to deliver Xen VM Server, a server platform that can host virtual machines. A virtual machine (VM) is an environment which appears to its “guest” operating system as actual computer hardware but is actually simulated by a “host” computer running Xen VM Server. Xen VM Server can host one or more VMs.

This section explains Xen VM Server, virtual machine technologies, and basic concepts.

1.1.1 Virtualization Terminology

The following clarifications can help you understand this document and virtual machine technology in Novell SUSE products.

  • Virtual machine (VM) refers to an instance of a virtual hardware environment and the operating system that runs on it. A virtual machine could be running any type of software, such as server, client, or desktop. It is also called a virtual computer, guest, domain U, domU, or unprivileged domain.
  • Virtual Machine Server (VM Server) refers to the physical computer and the software platform that combine to host VMs. It is also called a host, domain 0, or privileged domain. Much like the concept and usage of the term Web server, VM Server can be used to refer to the computer/software combination or just the software.
  • Xen VM Server refers to the virtual machine server platform based on Xen open source software components.
  • Fully virtual or full virtualization refers to a virtual machine mode that completely emulates all hardware devices.
  • Paravirtual or paravirtualized refers to a virtual machine mode that requires the VM’s operating system to be optimized to run in a Xen VM Server environment. Operating systems that can run in paravirtual mode do not require hardware simulation, but instead use an API to interact with the host virtualization platform. Paravirtual mode delivers better performance than fully virtual mode and does not require special virtualiation technology hardware.
  • Paravirtualized operating system refers to an operating system that is capable of running in paravirtual mode. It is also called a VM-aware, xen-enabled, modified, or optimized guest.
  • Native operating system refers to the typical operating system that is not optimized for the virtual machine environment and must run in full virtualization mode. It cannot run in paravirtual mode. This type of operating system is also called shrink-wrapped, out-of-the-box, unmodified, or fully virtualized guest.
  • Virtualization technology (VT) computer refers to a computer that supports virtualization technology, such as Intel* VT or AMD* Virtualization. VT computers work with Xen software to simulate the complete hardware environment, allowing an operating system to run without being optimized for the VM platform. A VT computer is required for an operating system to run in fully virtual mode.
  • Standard computer refers to a computer that does not include special support for virtualization technology and cannot run operating systems that require full virtualization mode.
  • Virtual machine monitor (VMM) and hypervisor refer to the software layer developed and maintained by the Xen open source community. This layer provides much of the Xen VM Server functionality.

1.1.2 About Xen Virtual Machine Server

The virtual machine monitor (VMM) runs between the server hardware and the SUSE Linux operating system kernel. When the computer boots, the VMM loads first and then starts Xen VM Server with the ability to create and control virtual machines. It runs in privileged mode, which means it has the ability to create and control other VMs and has direct access to the computer hardware.

Xen VM Server is configured with native SUSE Linux device drivers that match the actual devices in the computer. For example, if the computer has a physical e1000 network card, Xen VM Server is configured to load and run the SUSE Linux device driver for the e1000.

Figure 1-1 Virtual Machine Server and Device Drivers

Virtual machines are defined and stored on Xen VM Server. The definitions (called VM definitions) are stored in a configuration file located at /etc/xen/vm/vm_name. The configuration file defines the virtual resources, such as CPU, memory, network card, and block devices that the operating system sees when it is installed and booted on the VM.

Figure 1-2 Virtual Machine Definitions and the Virtual Machine Monitor

In both full virtualization and paravirtual modes, a VM’s operating system uses device drivers to interact with the VMM. In full virtualization mode, the operating system uses its native OS device drivers for a standard set of emulated devices, such as an AMD PCnet or NE2000* network card, an IDE disk drive, and a VGA graphics card. In paravirtual mode, the VM-aware operating systems include special device drivers (called Xen drivers) to communicate through the VMM and Xen VM Server to the physical devices in the computer.

Figure 1-3 VM Device Drivers

For example, if a VM’s operating system running in full-virtualization mode needs to save a file on its virtual 20-GB disk drive, the operating system passes its request through the device driver to the VMM. The VMM understands which portion of the 500-GB physical disk the VM has access to and passes instructions to Xen VM Server. Xen VM Server accesses the disk drive and writes the file to the predefined location on the 500-GB disk.

Depending on your computing needs and available computer resources, any number of VMs can be created and can simultaneously run on Xen VM Server. The operating system of each VM interacts independently with the VMM and Xen VM Server platform to consume virtual or emulated CPU, memory, block device, and network resources.

Figure 1-4 Xen VM Server and Virtual Machines

VMs can be viewed and managed from the VM Server desktop.

Figure 1-5 Xen VM Server Desktop and Three Virtual Machines

1.1.3 Comparing Fully Virtual Mode and Paravirtual Mode

VM Server hosts virtual machines running operating systems in one of two modes: fully virtual or paravirtual.

  • Fully virtual: Complete emulation of all hardware devices. Although it requires special computer hardware, most operating systems can run in fully virtual mode because the VMM emulates all computer devices so the operating system behaves as if it has exclusive access to an entire computer. This complete emulation of computer hardware demands more CPU resources from VM Server. As a result, an operating system running in full virtualization mode runs slower.

  • Paravirtual: Selective emulation of hardware devices. A paravirtualized operating system can run in paravirtual mode, which does not require complete emulation and therefore requires less management overhead. For example, VM-aware operating systems do not require an emulated graphics card, so Xen VM Server does not need to emulate video data. As a result, an operating system running in paravirtual mode demands fewer CPU resources and has better performance. It also requires no special computer hardware.