Когда в описании VPS указано KVM, вам сообщают, какая технология изоляции стоит между вашими задачами и всеми остальными. KVM — Kernel-based Virtual Machine, включённый в mainline Linux в 2007 году, — превращает само ядро в гипервизор первого типа. Каждый гость получает виртуальные CPU, планируемые аппаратными расширениями виртуализации (Intel VT-x / AMD-V), собственные блочные устройства, собственные сетевые интерфейсы и, что принципиально важно, собственное ядро. Альтернативная традиция — OpenVZ, Virtuozzo, LXC — это контейнеризация: множество арендаторов разделяют одно ядро хоста, разграниченное пространствами имён. Это различие определяет всё: от того, что вы можете запускать, до степени изоляции от недобросовестного соседа, — именно поэтому оно заслуживает отдельной статьи на понятном языке.
Как работает KVM — кратко
KVM открывает расширения виртуализации CPU через модуль ядра; модель устройств в пространстве пользователя (QEMU, как правило, в связке с паравиртуальными драйверами virtio для скорости диска и сети) собирает остальные компоненты виртуальной машины. Гость загружает собственный загрузчик и ядро точно так же, как это происходит на физическом железе. Задача хоста сводится к планированию vCPU и посредничеству в операциях ввода-вывода — он не интерпретирует системные вызовы гостя, поскольку для этого у гостя есть собственное ядро. Аппаратные функции тоже передаются полезным образом: KVM-гость может использовать собственные iptables/nftables, загружать модули ядра, монтировать файловые системы и запускать всё, что поддерживает виртуальное оборудование.
KVM против контейнеров (OpenVZ / LXC)
Контейнеры разделяют ядро хоста. Это делает их лёгкими — почти нулевые накладные расходы, быстрый запуск, плотная упаковка, — и именно в этом проблема в многоарендном окружении:
- Изоляция. Побег из контейнера — один баг ядра, и все арендаторы разделяют поверхность атаки этого единственного ядра. Побег из KVM должен пересечь аппаратно защищённую границу VM — значительно более редкий класс уязвимостей.
- Свобода. Контейнеры запускают только то, что разрешает ядро хоста: нет пользовательских ядер, нет модуля WireGuard, который хост не загрузил, нет FreeBSD, нет Windows, зачастую нет Docker-внутри-контейнера. KVM-гость запускает WireGuard, вложенный Docker, пользовательские sysctl, любую ОС из наших десяти шаблонов.
- Честные ресурсы. В истории OpenVZ полно переподписанной «burst RAM» и хитростей учёта с разделяемым ядром. Память и vCPU в KVM выделяются виртуальной машине; переподписка на уровне хоста по-прежнему возможна, но контракт на уровне гостя гораздо сложнее подделать.
Контейнеры — отличная технология, когда вы управляете хостом (именно для этого нужен Docker, поверх вашей собственной VM). Как продукт, продаваемый незнакомым людям, разделяемое ядро — компромисс, от которого пользователи, думающие о приватности, должны отказываться.
Почему задачи, требующие приватности, настаивают на KVM
Три причины делают KVM стандартом для приватного хостинга. Функции на уровне ядра: VPN (WireGuard/OpenVPN), Tor с hardened sysctl, собственные файрволы и шифрование диска — всё требует управления ядром, которого контейнер предоставить не может. Более сильная изоляция арендаторов: ваша память и процессы защищены аппаратной границей, а не пространством имён, что важно, когда вы не можете проверить соседей. Выбор ОС: полная виртуализация запускает Debian, Alpine, FreeBSD или всё остальное — полезно, когда ваша модель угроз диктует стек. Добавьте полнодисковое шифрование внутри гостя — и видимость хост-оператора сужается до шифротекста и паттернов трафика.
Что проверять в объявлении «KVM VPS»
KVM называет гипервизор, а не качество развёртывания. Всё равно стоит уточнить: тип хранилища (KVM на вращающихся дисках всё равно медленный — см. NVMe vs SSD); драйверы virtio (де-факто стандарт; их отсутствие сигнализирует об устаревшем стеке); политику выделенных vs общих vCPU; а также выделен ли IP и является ли он чистым. Каждый тариф здесь — KVM на NVMe RAID10 с virtio, полным root и выделенным чистым IPv4; информационный лист это подтверждает проверяемо.

