...
  •    EN
  • KVM

    KVM (Kernel-based Virtual Machine) is an open-source virtualization technology built into the Linux kernel that allows a Linux system to function as a hypervisor. With KVM, multiple isolated virtual machines (VMs) can run on a single physical server, each with its own virtual CPUs, memory, disks, network interfaces, and operating system.

    KVM is used in server and cloud infrastructure, VPS/VDS hosting, private clouds, data centers, and development and testing environments. Guest systems can include various Linux distributions, Windows, and other operating systems supported by the corresponding hardware and software configuration.

    KVM virtualization should not be confused with a KVM switch (Keyboard, Video, Mouse) — a hardware device that allows multiple computers to be controlled using a single keyboard, monitor, and mouse. In the context of virtualization, KVM stands for Kernel-based Virtual Machine.

    How Does KVM Work?

    KVM is part of the Linux kernel. Once the required kernel modules are loaded, the operating system gains hypervisor capabilities and can create and run virtual machines.

    KVM uses hardware-assisted CPU virtualization, primarily Intel VT-x or AMD-V. This allows guest code to execute directly on the physical processor using hardware virtualization features instead of relying on full software CPU emulation.

    In a typical virtualization environment, KVM works together with several other components:

    • KVM provides the kernel-level virtualization mechanism;
    • QEMU provides emulation and virtualization of hardware devices required by the virtual machine;
    • libvirt provides management tools and APIs for virtual machines and hypervisors;
    • tools such as virsh and graphical interfaces allow administrators to create and configure VMs.

    For example, an administrator can use virsh to start a virtual machine, while libvirt passes the configuration to QEMU and KVM executes the guest code on the physical processor.

    This is why KVM and QEMU are often mentioned together. However, they are not the same technology: KVM provides hardware-accelerated execution of virtual machines, while QEMU provides virtual hardware and can also operate independently as an emulator.

    Virtual Private Servers (VPS)

     

    Virtual Machine Isolation in KVM

    Each KVM virtual machine runs as a separate Linux process. At the same time, the guest system receives its own virtual hardware resources and is isolated from other VMs.

    Linux mechanisms, including the process scheduler, cgroups, and memory management features, are used for resource management and isolation. Depending on the configuration, administrators can assign a specific number of virtual CPUs (vCPUs), an amount of RAM, disk space, and network resources to each virtual machine.

    Virtual machines can operate independently of one another. For example, several Linux systems and Windows Server can run simultaneously on the same physical server, and rebooting one guest operating system does not require the others to be restarted.

    Where Is KVM Used?

    KVM is suitable for infrastructure where multiple independent server environments need to be consolidated on the same physical hardware or where computing resources need to be allocated dynamically.

    Common use cases include:

    • providing VPS and VDS services by hosting providers;
    • building private and public clouds;
    • virtualizing enterprise servers;
    • running isolated development and testing environments;
    • creating virtual infrastructure in data centers;
    • running different operating systems on a single physical server.

    For example, a hosting provider can split one physical server into several virtual servers and hand each customer full root access to an isolated environment.

    KVM is used as the foundation or as a core component of many virtualization and cloud infrastructure management platforms, including OpenStack and Proxmox VE.

    KVM vs. Containers: What Is the Difference?

    KVM creates full virtual machines. Each VM has its own guest operating system and virtualized hardware environment.

    Containers use a different approach: they share the host operating system’s kernel while isolating applications and their environments at the OS level. As a result, containers generally require fewer resources and start faster, but they do not provide the same type of virtualization as full VMs.

    KVM is therefore useful when separate operating systems, strong environment isolation, or support for different types of guest operating systems is required. Containerization is more commonly used for lightweight and rapid application deployment.

    Advantages of KVM

    One reason KVM is widely used is its direct integration into Linux. Virtualization does not require a separate proprietary hypervisor platform, and the technology itself is developed as part of the Linux ecosystem.

    Key KVM features and advantages include:

    • hardware-accelerated virtualization;
    • support for multiple guest operating systems;
    • flexible allocation of CPU, RAM, storage, and network resources;
    • integration with Linux tools and virtualization management platforms;
    • support for features required in server and cloud environments, including live migration when appropriately configured;
    • open-source licensing and development.

    For example, vCPU and RAM limits for a virtual machine can be changed through the management platform without replacing the physical hardware.

    Actual performance and available functionality depend not only on KVM itself but also on the processor, storage system, network architecture, QEMU version and configuration, virtual machine settings, and the virtualization management platform being used.

    FAQ

    KVM is a virtualization technology built into Linux that allows a physical server to function as a hypervisor and run multiple independent virtual machines.
    KVM provides Linux with hypervisor capabilities. In practical virtualization environments, it is typically used together with QEMU and virtual machine management tools.
    KVM provides hardware-accelerated virtualization through the Linux kernel, while QEMU provides emulated or virtualized hardware devices for virtual machines and can also operate independently as an emulator.
    Yes. Windows can run as a guest operating system in a KVM virtual machine when the underlying hardware and software configuration is compatible.
    Kernel-based Virtual Machine (KVM) is a virtualization technology. A KVM switch is a physical device used to control multiple computers with a single keyboard, monitor, and mouse. They are unrelated technologies that share the same abbreviation.

    Fill out the application and wait for a call from our specialists