KVM vs OpenVZ / LXC
KVM vs OpenVZ: why the virtualisation type matters
KVM — это полная аппаратная виртуализация: ваш экземпляр работает на собственном ядре и не видит хост. OpenVZ и LXC — это контейнерные технологии, использующие общее ядро хоста, что означает отсутствие пользовательских модулей ядра, невозможность использовать WireGuard на старых хостах, ненадёжный Docker и учёт памяти, позволяющий провайдеру делать overselling. Если VPS подозрительно дёшев, обычно это OpenVZ.
| Параметр | KVM | OpenVZ / LXC |
|---|---|---|
| Ядро | Your own | Shared with the host |
| Custom kernel modules | Да | Нет |
| Docker | Fully supported | Unreliable or unsupported |
| Nested virtualisation | Да | Нет |
| Non-Linux systems | FreeBSD, OpenBSD, Windows | Linux only |
| Memory guarantee | Truly reserved | Frequently oversold |
| Overhead | 2–5% | Near zero |
| Swap | Настоящая | Эмулированная или отсутствует |
Что выбрать?
KVM
Для любых реальных задач выбирайте KVM. Каждый инстанс OnionVPS работает на KVM, без исключений.
OpenVZ / LXC
OpenVZ оправдан только для самых дешёвых однозадачных контейнеров, где вы ничего не контролируете в ядре.
Часто задаваемые вопросы
Можно ли запустить Docker на VPS с OpenVZ?
Как правило нет, а если и работает, то это зависит от небезопасной конфигурации хоста. Docker требует cgroups и namespaces, которые контейнерная виртуализация не предоставляет. Используйте KVM.
Как определить, KVM у VPS или OpenVZ?
Запустите systemd-detect-virt или проверьте, заменяемое ли ядро в uname -r. На OpenVZ поставить другое ядро вообще нельзя.