KVM: что это, отличия от OpenVZ и Xen — глоссарий | Глоссарий FREEHOSTING

KVM

Kernel-based Virtual Machine
KVM — KVM (Kernel-based Virtual Machine) — модуль ядра Linux, превращающий хост в гипервизор первого типа. Использует аппаратные расширения Intel VT-x или AMD-V, выделяет каждой виртуальной машине изолированный CPU, RAM и устройства. Стандарт для VPS-индустрии и облачных платформ.

Определение простыми словами

KVM — это технология аппаратной виртуализации, встроенная в ядро Linux. Хост-сервер с KVM ведёт себя как гипервизор первого типа: каждая виртуальная машина получает «свой» процессор, память и диск, изолированно работает под собственным ядром и не зависит от соседей. Для пользователя VPS на KVM ощущается как полноценный физический сервер.

В связке с QEMU и libvirt KVM умеет запускать Linux, Windows, BSD, macOS и даже специфические гостевые ОС. Производители VPS любят KVM за честное распределение ресурсов и за то, что клиент может ставить любое ядро, тюнинговать sysctl и грузить кастомные модули.

Сравнение

Технология Тип Изоляция Оверхед Гости
KVM Аппаратная (гипервизор 1) Полная 3–8 % Любая ОС
OpenVZ Контейнерная Слабее 1–3 % Только Linux
Xen Гипервизор 1 Полная 3–7 % Любая ОС
Hyper-V Гипервизор 1 Полная 3–8 % Любая ОС

Кейсы использования

  • Аренда KVM-VPS под Windows Server, нестандартные ядра Linux, разработку и тестирование.
  • Облачные провайдеры (OpenStack, Proxmox VE) собирают платформы поверх KVM.
  • Разработчики запускают KVM локально на ноутбуке через virt-manager или GNOME Boxes для тестов виртуальных лаб.
  • Запуск собственного гипервизора на выделенном сервере для нескольких изолированных проектов.

Когда KVM не подходит: если нужен максимально дешёвый VPS под одно Linux-приложение — выгоднее OpenVZ или LXC. На совсем старых серверах без VT-x/AMD-V KVM не запустится.

Технические детали

Проверка поддержки аппаратной виртуализации и установка KVM на Ubuntu/Debian:

egrep -c '(vmx|svm)' /proc/cpuinfo

sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

sudo systemctl enable --now libvirtd
sudo usermod -aG libvirt,kvm $USER

virsh list --all

Создание виртуальной машины через virt-install:

sudo virt-install 
  --name ubuntu-vm 
  --vcpus 2 --memory 4096 
  --disk size=20 
  --os-variant ubuntu22.04 
  --network bridge=br0 
  --location 'http://archive.ubuntu.com/ubuntu/dists/jammy/main/installer-amd64/'

В продакшене KVM почти всегда работает в паре с libvirt и веб-панелью (Proxmox VE, oVirt, OpenStack). Для VPS-провайдеров KVM — стандартная база современной аренды.

Частые вопросы

KVM лучше OpenVZ?

Для большинства задач — да. KVM даёт полноценную изоляцию, поддержку любых ОС и собственного ядра. OpenVZ дешевле и быстрее, но ограничен Linux и зависит от ядра хоста.

Нужна ли поддержка VT-x для KVM?

Да. KVM требует Intel VT-x или AMD-V. Без аппаратной виртуализации модуль ядра не загрузится. Проверить можно командой egrep -c '(vmx|svm)' /proc/cpuinfo.

Можно ли запускать KVM внутри VPS?

Только если провайдер включил вложенную виртуализацию (nested virtualization) и ваш VPS сам построен на KVM или Hyper-V с такой опцией.

Какая панель управления удобнее для KVM?

Для одиночного сервера — virt-manager и Cockpit. Для кластеров — Proxmox VE или OpenStack. Хостеры обычно дают свою панель на базе libvirt.