OffshoreVps
Руководства2 окт. 20266 мин чтенияАвтор: команда OffshoreVps

KVM или OpenVZ: какая виртуализация VPS лучше?

Полная виртуализация и контейнеры: изоляция, доступ к ядру, поддержка Docker, гарантии RAM и как проверить, на чём на самом деле работает ваш VPS.

Не каждый VPS построен одинаково. Технология виртуализации определяет, насколько изолирован ваш сервер, какое ПО вы можете запускать и как он работает. Чаще всего вы встретите названия KVM и OpenVZ, а также LXC.

Парные карточки сравнения KVM и OpenVZ, каждая с индикатором изоляции
Краткое наглядное сравнение KVM и OpenVZ.

Два способа построить виртуальный сервер

Полная виртуализация (KVM) даёт каждому клиенту полноценную виртуальную машину с собственным ядром. Гипервизор делит оборудование, и ваш сервер ведёт себя как настоящий компьютер.

Контейнерная виртуализация (OpenVZ, LXC) разделяет ядро хоста между всеми клиентами. Каждый контейнер видит собственные файлы и процессы, но работает на том же ядре, что и соседи.

Сравнение бок о бок

KVMOpenVZ / LXC
ЯдроСобственноеОбщее с хостом
ИзоляцияСильнаяСлабее
Запуск Docker, WireGuard, пользовательских модулей ядраДаЧасто ограничен или невозможен
Запуск WindowsДаНет
Гарантия RAMФиксированная и зарезервированнаяМожет быть перепродана («burstable»)
Накладные расходыНебольшиеНаименьшие
Шаги этого руководства по порядку: 1. Два способа построить виртуальный сервер; 2. Сравнение бок о бок; 3. Почему KVM — более безопасный выбор; 4. Когда контейнеры всё же уместны; 5. Как проверить, что у вас
Шаги этого руководства по порядку.

Почему KVM - более безопасный выбор

  • Вы выбираете ПО. Docker, VPN, брандмауэры вроде nftables и инструменты, загружающие модули ядра, работают без чьего-либо разрешения.
  • Настоящая память. Купленная вами RAM закрепляется за вашей машиной. Хосты с контейнерами иногда продают больше памяти, чем есть, надеясь, что клиенты не используют её всю.
  • Лучшая изоляция. Сбой или атака на виртуальную машину соседа гораздо менее вероятно затронут вашу.
  • Любая операционная система. Дистрибутивы Linux, BSD и Windows работают без изменений.

Когда контейнеры всё же уместны

Контейнеры быстро запускаются и мало расходуют, поэтому хостеры используют их для очень дешёвых тарифов, а вы - внутри собственного VPS через Docker. Они подходят для простых нагрузок, которым ничего особого от ядра не нужно.

Как узнать, что у вас

systemd-detect-virt
lscpu | grep -i hypervisor
cat /proc/user_beancounters   # exists only on OpenVZ

kvm в первой команде означает полную виртуализацию. Если последний файл существует, вы на OpenVZ.

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

KVM лучше, чем OpenVZ?

В большинстве случаев да. KVM даёт каждому VPS собственное ядро и более надёжную изоляцию, поэтому можно запускать любую ОС и Docker. OpenVZ использует общее ядро хоста и более ограничен.

Можно ли запустить Docker на OpenVZ?

Часто нет или только с ограничениями, потому что контейнеры используют общее ядро хоста. Для Docker надёжнее выбрать KVM.

KVM дороже?

Немного, потому что ресурсы выделяются строже, но изоляция и совместимость обычно того стоят.