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.
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.
18.104.22.168. 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|
Up to 4 IDE devices:
Up to 15 SCSI devices:
|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:
||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.|
||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.|
||Memory dump file for the suspended virtual machine. For a running virtual machine, it is a temporary virtual memory file.|
||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.|
||CD/DVD disc image. Virtual machines treat ISO images as real CD/DVD discs.|
||Output files for serial ports. The output
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.
22.214.171.124. Supported Types of Hard Disks¶
Virtuozzo virtual machines can only use virtual hard disk image files as hard disks.
126.96.36.199. 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.
188.8.131.52. CD/DVD Disc Images¶
Virtuozzo can use only CD/DVD disc images that are supported by the guest OS.