An Introduction to Virtualization

Şuraya atla: kullan, ara

According to Novell SUSE Linux product documentation , SUSE Linux "includes virtual machine technology that allows a single computer to run as a virtual machine server (VM Server). A VM Server can host one or more virtual machines (VMs)." The product documentation clarifies terminology and technologies associated with running Xen on SUSE Linux operating systems.

Virtualization Terminology

  • Virtual machine refers to an instance of virtual hardware and the operating system that runs on that instance of virtual hardware. A virtual machine could be running any type of software, such as server, client, or desktop. It is often called a virtual computer, guest, domain U, domU, or unprivileged domain.
  • Virtual machine server or VM Server refers to a physical computer running software that hosts, creates, and controls virtual machines. It is sometimes referred to as a host, domain 0, or privileged domain. Much like the concept of Web server, the term VM Server may be used to refer to the computer/software combination or just the software.
  • Fully virtual refers to a virtual machine mode that completely emulates all hardware devices.
  • Paravirtual refers to a virtual machine mode that requires the VM’s operating system to be aware of the VMM.
  • VT computer refers to a computer that supports virtualization technology, such as Intel VT or AMD Virtualization. A VT computer is required to run VMs in fully virtual mode.
  • Standard computer refers to a computer that does not support virtualization technology and cannot run VMs in full virtualization mode.
  • Virtual machine monitor (VMM) and hypervisor refer to the software layer developed and maintained by the Xen open source community that provides VM Server functionality.
  • 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.

About Virtual Machine Modes

The 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 to fool the operating system into thinking it has exclusive access to an entire computer. This complete emulation of computer hardware demands more CPU resources from the 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 the 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.

About 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 the VM Server in privileged mode, which means that the VM Server has the ability to create and control virtual machines and has direct access to the computer hardware. The VM Server is configured with native device drivers that match the actual devices in the computer. For example, if the computer has a physcial e1000 network card, the VM Server is configured to load and run the SUSE Linux device driver for the e1000.

Xen arch 10 a.png


Defining a VM

Virtual machines are defined and the images stored on the VM Server. The 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, the operating system sees when it is installed and booted on the virtual machine.

Xen arch 04 a.png


VM Device Drivers

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 VM Server to the physical devices in the computer.

Xen arch 03 a.png

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 the VM Server. The VM Server accesses the disk drive and writes the file to the pre-defined 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 the VM Server. The operating system of each VM interacts independently with the VMM and VM Server platform to consume virtual or emulated CPU, memory, block device, and network resources.

Xen arch 11 a.png

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


This page is part of: