KVM, OpenVZ или LXC: что даёт VPS на KVM
В таблице выше почти все тарифы работают на KVM: за последние годы хостеры в основном перешли на неё с контейнерной виртуализации. Отметка «KVM» стала нормой, но понимать разницу всё равно полезно — она объясняет, почему одни программы на дешёвом сервере запускаются, а другие нет.
Чем KVM отличается от OpenVZ и LXC
KVM — аппаратная виртуализация. Каждая виртуальная машина получает эмулированное «железо» и загружает собственное ядро операционной системы, как обычный компьютер. Для системы внутри это отдельный сервер.
OpenVZ и LXC — контейнеры. Все клиенты на физическом сервере работают на одном общем ядре хоста, а изоляцию обеспечивает само ядро. Накладные расходы меньше, поэтому контейнеры дешевле, но версию ядра и его настройки выбирает хостер, а не вы. Об этих вариантах подробнее — на страницах VPS на OpenVZ и VPS на LXC.
Что даёт собственное ядро
- Docker и контейнеры работают без оговорок, а в OpenVZ и LXC их поддержка зависит от настроек хостера. Для этой задачи есть подборка VPS для Docker.
- VPN на уровне ядра. WireGuard встроен в ядро Linux и на KVM ставится одной командой; в контейнере остаётся userspace-реализация, если хостер вообще открыл устройство TUN.
- Любая ОС. Windows, FreeBSD, свой образ через ISO в панели, шифрование диска.
- Настройка сети и памяти. Свой swap, параметры sysctl, алгоритм BBR, правила nftables без ограничений.
При этом для статичного сайта, небольшого бота или скрипта по расписанию разница почти незаметна. Если программа не требует своих модулей ядра и Docker, контейнер справится не хуже, а стоит иногда дешевле. Проблемы начинаются, когда проект растёт и в него добавляют то, что контейнер не умеет: переезжать на новый сервер посреди работы неудобнее, чем сразу взять KVM.
Гарантирует ли KVM выделенные ресурсы
Только отчасти. Память на KVM видна системе как обычная RAM заданного объёма, без «burst»-памяти сверх гарантированной, которую часто продавали на OpenVZ. А вот процессорные ядра почти всегда виртуальные и делятся с соседями, KVM этого не меняет. Если нужна стабильная производительность CPU, ищите в описании «выделенные ядра» или «dedicated vCPU» и проверяйте steal time в top после покупки. Диск тоже бывает перегружен соседями, поэтому тип накопителя и лимиты IOPS важнее слова KVM в названии.
Как проверить виртуализацию
Зайдите на сервер по SSH и выполните systemd-detect-virt: на KVM команда выведет kvm, в контейнере — openvz или lxc. Если заявлено одно, а система показывает другое, это повод для вопроса в поддержку или возврата денег. На accsly фильтр по KVM уже применён, а в карточке каждого тарифа видны цена в рублях и способы оплаты, взятые с сайта хостера.