Введение
KVM (Kernel-based Virtual Machine) – модуль ядра Linux, включённый в основную ветку с версии 2.6.20 (февраль 2007). KVM превращает Linux в гипервизор типа 1 с аппаратным ускорением: процессор должен поддерживать Intel VT-x или AMD-V. Это означает, что на любом современном Linux-сервере виртуализация доступна «из коробки».
KVM является фундаментом большинства крупных облачных платформ: AWS (использует кастомный KVM-форк), Google Compute Engine, OpenStack-based облака. В России – основа Yandex Cloud, VK Cloud, zVirt и большинства частных OpenStack-развёртываний.
История и контекст
KVM разработан Авивом Литваком (Qumranet) и влит в ядро Linux в 2007 году. В 2008 году Red Hat приобрела Qumranet и стала основным разработчиком. KVM обошёл Xen в популярности благодаря простоте (нет отдельного гипервизора – только модуль ядра) и поддержке всех Linux-инструментов.
В контексте российского импортозамещения KVM стал безальтернативным выбором: открытый исходный код без санкционных рисков, поддержка отечественными производителями (zVirt от Базис, ROSA Virtualization).
Как это работает
- Модуль ядра kvm.ko: загружается в ядро Linux и экспортирует интерфейс
/dev/kvmдля управления VM. - QEMU: KVM почти всегда работает в паре с QEMU (Quick Emulator) – QEMU эмулирует виртуальное железо (диски, сеть, USB), а KVM ускоряет выполнение кода гостевой ОС на реальном CPU через аппаратную виртуализацию.
- libvirt: стандартный API для управления KVM VM – используется virsh (CLI), virt-manager (GUI), OpenStack Nova.
- VirtIO: паравиртуальные драйверы для гостевых ОС, значительно ускоряющие ввод/вывод (диск, сеть) по сравнению с эмуляцией.
- CPU Pinning: привязка vCPU гостевой VM к конкретным физическим ядрам для детерминированной производительности.
Где применяется
- Публичные облака: Yandex Cloud, VK Cloud, SberCloud – все на KVM-основе.
- OpenStack: Nova (compute-компонент OpenStack) использует KVM через libvirt как основной драйвер гипервизора.
- Частные облака: oVirt/RHV (Red Hat Virtualization) и отечественные zVirt – enterprise-оболочки для KVM.
- CI/CD: изолированные VM для сборочных агентов Jenkins/GitLab CI – каждый джоб в чистой VM.
- Security Research: изолированные sandbox-окружения для анализа вредоносного ПО.
Преимущества и ограничения
Преимущества: бесплатный open-source (GPL); встроен в ядро Linux; аппаратное ускорение Intel VT-x/AMD-V; поддержка всего экосистемы Linux; нет санкционных рисков; основа российских облаков и платформ виртуализации.
Ограничения: отсутствует коммерческая поддержка «из коробки» (нужен Red Hat / Canonical / Базис); GUI-управление через сторонние инструменты; enterprise-функции (vMotion-аналог) менее polished, чем у VMware.
Связь с другими понятиями
KVM – конкурент ESXi (VMware) и Hyper-V (Microsoft) в сегменте гипервизоров. Является базой для OpenStack и большинства российских платформ частного облака. QEMU дополняет KVM функциями эмуляции железа. Podman и Docker контейнеры часто запускаются внутри KVM-виртуальных машин.