Определение простыми словами
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.