KVM или OpenVZ: какую виртуализацию выбрать для VPS
При выборе VPS в описании тарифа встречается загадочное слово - KVM или OpenVZ. На него часто не обращают внимания, а зря: тип виртуализации влияет на всё, от возможности запустить Docker до того, получите ли вы обещанные ресурсы под нагрузкой. Это важнее, чем буквы VPS или VDS в названии тарифа.
Разберём, чем KVM отличается от OpenVZ простыми словами, на что это влияет на практике и почему для большинства задач берут именно KVM.
В чём принципиальная разница
Разница между KVM и OpenVZ - в том, насколько глубоко ваш сервер отделён от других на той же машине.
KVM (полная виртуализация) создаёт полноценную виртуальную машину со своим собственным ядром операционной системы. Для вас она неотличима от отдельного физического компьютера: своё ядро, свои настройки, полная независимость от соседей.
OpenVZ (контейнерная виртуализация) - это контейнеры, которые работают на общем ядре хост-системы. Все серверы на одной машине делят одно ядро. Это дешевле для провайдера и позволяет плотнее упаковать клиентов, но накладывает ограничения.
Ключевое слово - ядро. У KVM оно своё у каждого сервера, у OpenVZ - общее на всех.
На что это влияет на практике
Разница в архитектуре превращается в конкретные отличия:
| KVM (полная) | OpenVZ (контейнерная) | |
|---|---|---|
| Ядро системы | Своё у каждого | Общее на всех |
| Docker и контейнеры | Работает штатно | С ограничениями или никак |
| Своя ОС из образа, Windows | Можно | Только Linux из набора провайдера |
| Смена ядра, свои модули | Можно | Нельзя |
| Изоляция ресурсов | Жёсткая, гарантированная | Слабее, возможен оверселлинг |
| Настройка swap и памяти | Полный контроль | Ограниченно |
| Цена | Выше | Ниже |
Три отличия, которые решают
Docker. Одно из главных. На OpenVZ Docker либо не запускается, либо работает нестабильно - потому что это попытка запустить контейнеры внутри контейнеров. KVM даёт полноценную машину, где Docker работает штатно. Если планируете Docker, выбор однозначно KVM.
Гарантированность ресурсов. На OpenVZ из-за общего ядра проще устроить оверселлинг: заявленные ядра и память вы получите, только если соседи их не заняли. Под нагрузкой такой сервер ведёт себя непредсказуемо. KVM жёстче изолирует ресурсы, и заявленное вы получаете стабильнее.
Свобода настройки. На KVM можно поставить свою операционную систему, включая Windows, сменить ядро, загрузить свои модули. На OpenVZ вы ограничены Linux из набора провайдера и не можете трогать ядро - оно общее.
Когда OpenVZ всё же подходит
OpenVZ - не всегда плохо. Он имеет смысл, когда:
- задача простая: небольшой сайт, лёгкий сервис на Linux;
- не нужен Docker и своя ОС;
- цена критична, а предсказуемость под нагрузкой не так важна.
Для таких случаев OpenVZ дешевле и своих задач хватает. Но как только появляется Docker, требование к стабильности ресурсов или нестандартная ОС - нужен KVM.
Почему для большинства берут KVM
Практический вывод простой: для большинства задач KVM - правильный выбор. Он даёт то, чего ждут от нормального VPS: настоящую изоляцию, гарантированные ресурсы, поддержку Docker и любой ОС. Разница в цене окупается предсказуемостью.
Общий контекст того, что такое VPS и чем отличаются виртуализации, - в статье что такое VPS. А почему на дешёвых тарифах экономят именно на виртуализации и ресурсах - в разборе дешёвый VPS.
Частые ошибки
Не смотрят на виртуализацию при выборе. Берут по цене, а получают OpenVZ там, где нужен KVM. Тип виртуализации проверяют до заказа.
Берут OpenVZ под Docker. Docker не запускается или работает через раз. Для контейнеров нужен KVM.
Ведутся на дешевизну OpenVZ с оверселлингом. Заявленные ресурсы под нагрузкой оказываются общими. Смотрят на гарантированность, а не только на цену.
Путают тип виртуализации с названием VPS или VDS. Буквы в названии тарифа ничего не говорят о виртуализации. Важно именно KVM или OpenVZ, а не VPS против VDS.
Частые вопросы
KVM или OpenVZ - что лучше? Для большинства задач - KVM: своё ядро, жёсткая изоляция, поддержка Docker и любой ОС. OpenVZ дешевле и подходит для простых задач на Linux без Docker, но ограниченнее и с риском оверселлинга.
Почему Docker не работает на OpenVZ? Потому что OpenVZ - это уже контейнеры на общем ядре, а Docker тоже контейнеры. Получаются контейнеры внутри контейнеров, что либо не работает, либо нестабильно. KVM даёт полноценную машину, где Docker запускается штатно.
Можно ли поставить Windows на OpenVZ? Нет. OpenVZ работает только с Linux из набора провайдера, потому что ядро общее. Для Windows нужен KVM с полной виртуализацией и своим ядром.
Что такое оверселлинг и при чём тут виртуализация? Оверселлинг - когда провайдер продаёт больше ресурсов, чем есть физически, рассчитывая, что все сразу их не займут. На OpenVZ с общим ядром это проще устроить. KVM жёстче изолирует ресурсы, поэтому заявленное отдаётся стабильнее.
Как узнать, какая виртуализация у тарифа? Обычно указано в описании тарифа - KVM или OpenVZ. Если не указано, стоит уточнить у провайдера до заказа: это важнее, чем название VPS или VDS.
Стоит ли переплачивать за KVM? Если нужны Docker, своя ОС, стабильные ресурсы под нагрузкой - да, разница в цене окупается предсказуемостью. Для простого сайта на Linux без особых требований можно обойтись и OpenVZ.
Нужен VPS на KVM? Серверы на KVM-виртуализации и NVMe - своё ядро, гарантированные ресурсы, поддержка Docker и любой ОС, без оверселлинга. Активация за 3 минуты, ресурсы меняются за минуты. Первые 7 дней - тестовый период с возвратом средств.
Что дальше
- Тарифы VPS и VDS в Москве и Казани: NVMe, защита от DDoS, активация за 3 минуты
- Аренда VPS в Европе с оплатой в рублях: серверы в Амстердаме, карты МИР, счета для юрлиц РФ