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.
The following clarifications can help you understand this document and virtual machine technology in Novell SUSE products.
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
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.