1.4. Hardware Virtualization Layer

This section familiarizes you with the second component of Virtuozzo—the hardware virtualization layer. This layer provides the necessary environment for creating and managing virtual machines.

1.4.1. Hardware Virtualization Basics

Virtuozzo is based on the concept of hardware virtualization. Hardware virtualization has a base layer—a hypervisor. This layer is loaded directly on the bare server and acts as an intermediary between the server hardware and virtual machines. To allocate hardware and resources to virtual machines, Virtuozzo virtualizes all hardware on the server. Once virtualized, hardware and resources can be easily assigned to virtual machines. With its virtual hardware, a virtual machine runs its own complete copies of an operating system and applications.

The following diagram shows the basic architecture of hardware virtualization.

../_images/hardwarevirtualization.png

Specifically, Virtuozzo uses the KVM/QEMU hypervisor and manages virtual machines via the libvirt API.

Hardware virtualization enables you to:

  • Create multiple virtual machines with different operating systems on a single physical host.
  • Run multiple guest operating systems and their applications simultaneously on a single physical host without rebooting.
  • Consolidate and virtualize the computing environment, reduce hardware costs, lower operating expenses, and increase productivity.
  • Use open APIs and SDK for integration with in-house and third-party applications.

1.4.2. Virtuozzo Virtual Machines

From the standpoint of applications and virtual machine users, each virtual machine (VM) is an independent system with an independent set of virtual hardware. This independence is provided by the Virtuozzo hardware virtualization layer. The main features of the virtualization layer are the following:

  • A virtual machine resembles and works like a regular computer. It has its own virtual hardware. Software applications can run in virtual machines without any modifications or adjustment.
  • Virtual machine configuration can be changed easily (e.g., adding new virtual disks or increasing RAM).
  • Virtual machines are fully isolated from each other (file system, processes, sysctl variables) and the Virtuozzo host.
  • A virtual machine can run any supported guest operating system. The guest OS and its applications are isolated inside a virtual machine and share physical hardware resources with other virtual machines.

1.4.2.1. Intel Virtualization Technology Support

Virtuozzo provides support for Intel virtualization technologies comprising a set of processor enhancements and improving the work of virtualization solutions. Utilizing these technologies, Virtuozzo can offload some workload to the system hardware, which results in the “near native” performance of guest operating systems.

1.4.3. Virtual Machine Hardware

A Virtuozzo virtual machine works like a usual standalone computer.

By default, virtual machines are created with the following virtual hardware:

  • 1 VirtIO SCSI HDD, expanding,
  • 1 CD-ROM (IDE for Windows and Debian guests, VirtIO SCSI for Linux guests except Debian),
  • 1 VirtIO network adapter, bridged,
  • 32MB video card.

Other hardware added to a default VM may depend on the chosen distribution (see Creating Virtual Machines).

The complete range of virtual hardware a virtual machine can have is provided in the table below.

CPU Up to 64
RAM Up to 1 TB
Video Adapter VGA/SVGA video adapter with VBE 3.0
Video RAM Up to 256 MB of video memory
Floppy Disk Drive 1.44 MB floppy disk drive mapped to an image file
IDE Devices

Up to 4 IDE devices:

  • hard disk drives mapped to QCOW2 image files (up to 16 TB each)
  • DVD drives mapped to ISO image files
SCSI Devices

Up to 15 SCSI devices:

  • hard disk drives mapped to QCOW2 image files (up to 16 TB each)
  • DVD drives mapped to ISO image files
VirtIO Devices Up to 15 VirtIO hard disk drives mapped to QCOW2 image files (up to 16 TB each)
Network Interfaces Up to 15 VirtIO (default), Intel 82545EM, or Realtek RTL8029 virtual network adapters.
Serial (COM) Ports Up to 4 serial (COM) ports mapped to a socket, a real port, or an output file
Keyboard Generic USB or PS/2 keyboard
Mouse Generic USB or PS/2 wheel mouse

1.4.4. Virtual Machine Files

A virtual machine has at least two files: a configuration file (PVS file) and a hard disk image file (HDD file). It can also have additional files: a file for each additional virtual hard disk and output files for virtual ports. By default, the virtual machines files are stored in the /vz/vmprivate/<UUID> directory on the Virtuozzo server.

The list of files related to a virtual machine is given in the table below:

File Name Description
.pvs Virtual machine configuration file. It defines the hardware and resources configuration of the virtual machine. The configuration file is automatically generated during the virtual machine creation.
.sav Dump file created when you suspend the virtual machine. This file contains the state of the virtual machine and its applications at the moment the suspend was invoked.
.mem Memory dump file for the suspended virtual machine. For a running virtual machine, it is a temporary virtual memory file.
.hdd Hard disk image in QCOW2 format. When you create a virtual machine, you can create it with a new virtual hard disk or use an existing one. A virtual machine can have multiple hard disks.
.iso CD/DVD disc image. Virtual machines treat ISO images as real CD/DVD discs.
.txt Output files for serial ports. The output .txt files are generated when a serial port connected to an output file is added to the virtual machine configuration.

1.4.5. Support of Virtual and Real Media

This section lists the types of disks that can be used by Virtuozzo virtual machines and provides the information about basic operations you can perform on these disks.

1.4.5.1. Supported Types of Hard Disks

Virtuozzo virtual machines can use only virtual hard disks image files as their hard disks.

1.4.5.2. Virtual Hard Disks

The capacity of a virtual hard disk can be set from 100 MB to 16 TB.

Virtuozzo uses expanding virtual hard disks. The image file of such a disk is initially small in size (smaller than the set virtual disk size) and grows as data is added to the disk in the guest OS.

1.4.5.3. CD/DVD Disc Images

Virtuozzo can use only CD/DVD disc images that are supported by the guest OS.