Skip to content

Virtualization Overview

Vapor leverages standard enterprise Linux virtualization technologies to host and manage isolated Virtual Machines (VMs) on a single physical host.


Virtualization Architecture: KVM, QEMU, and libvirt

Vapor integrates three core open-source technologies to deliver hardware-assisted virtualization:

  1. KVM (Kernel-based Virtual Machine): KVM is a Linux kernel module that transforms the operating system into a Type-1 hypervisor. It enables virtual machines to execute instructions directly on the physical host CPUs and access physical memory at near-native performance using hardware-assisted virtualization extensions (Intel VT-x and AMD-V).
  2. QEMU (Quick Emulator): While KVM manages CPU and memory access, it does not emulate peripheral hardware. QEMU operates in user space to simulate key hardware components, including PCI controllers, virtual disks, network interface cards (NICs), USB devices, and serial consoles, exposing them to the virtual machine.
  3. libvirt: libvirt is an API, daemon (libvirtd), and management toolset that provides a stable abstraction layer for interacting with KVM and QEMU. It uses XML schema definitions to represent virtual machine configurations and provides standard interfaces for lifecycle control, network attachment, and storage volume mappings.

Vapor exposes these virtualization capabilities via an intuitive web console and a secure, programmatic REST API, eliminating the need to manually configure low-level hypervisor files.


Core Virtualization Components

The Vapor virtualization subsystem encompasses the following management areas:

  1. Virtual Machines (Computes): Lifecycle operations, resource allocations (vCPUs, RAM), and guest operating system configurations.
  2. CPU & Memory Hot-Plug: Scaling vCPUs and RAM on running VMs without a reboot.
  3. Hardware & PCI Passthrough: Direct physical device mapping (such as GPU or SR-IOV interfaces) into virtual machines for high-performance workloads.
  4. Storage Pools: Definition and allocation of logical storage targets (directories, ZFS pools, LVM volume groups, or network-attached systems) hosting VM disk files (.qcow2) and installation media (.iso).
  5. Virtual Networks: Host-only, NAT, and bridged network bridges connecting virtual machines to external networks.
  6. Snapshots & Templates: Capturing VM point-in-time states and creating reusable master templates for rapid compute scaling.
  7. Backups: Protecting virtual machine storage using full, differential, or Changed Block Tracking (CBT) incremental backup processes.
  8. Replication & Disaster Recovery: Configuring asynchronous replication of virtual machine data to secondary hosts to ensure business continuity.