Выбирая сервер, клиенты обращают внимание на ресурсы и стоимость. Но есть еще один важный параметр, который не всегда остается в фокусе — это тип виртуализации. От него зависит, какие операционные системы можно будет установить на сервер, насколько сложно изменить ресурсы и есть ли ограничения на запуск высоконагруженных проектов.
В статье мы сравним две системы виртуализации — OpenVZ и KVM. Это два самых популярных решения, которые провайдеры предлагают клиентам.
Но сначала — немного теории. Быстро вспомним, что такое виртуализация, какие бывают виды виртуализации и зачем вообще обращать на это внимание. Если хорошо знакомы с этими понятиями, то переходите сразу к сравнительной таблице.
Это создание виртуальной имитации вместо физического оборудования. Проще всего понять суть на примере.
У нас есть физический сервер с мощным процессором, большим объемом памяти, несколькими подключенными дисками для хранения информации. Мы можем использовать его как один компьютер. Установить операционную систему, программное обеспечение. Но в таком случае велик риск, что ресурсы этого очень мощного компьютера не будут использованы на 100%.
Виртуализация помогает устранить эти проблемы. Благодаря ей мы можем разделить ресурсы нашей машины на несколько частей. Эти части не только разделены, но и изолированы. Мы можем устанавливать на них разные ОС и программное обеспечение. Они будут работать независимо и не мешать друг другу. При этом в основе всех этих виртуальных машин будут ресурсы одного физического сервера.
Виртуализацию используют провайдеры, которым важно, чтобы ресурсы оборудования были загружены на 100%.
Компании, у которых есть собственные физические серверы, тоже предпочитают создавать их виртуальные представления для решения отдельных задач. Например, если нужно развернуть тестовую среду перед запуском приложения в продакшн или необходимо избежать конфликтов между разными версиями ПО.
Виртуализация помогает эмулировать работу физических устройств, например, в процессе разработки. Гибкость технологии позволяет устанавливать любые операционные системы и наборы ПО.
Распределением ресурсов занимается гипервизор. Выделяют два типа.
Гипервизоры первого типа ставятся на «железо». Им не нужна операционная система, чтобы работать. Они создают среду, в которой можно запускать виртуальные машины. Пример — KVM.
Гипервизорам второго типа для работы нужна операционная система. Без нее они не могут получить доступ к ресурсам «железа». Пример — OpenVZ.
Мы разобрались, что такое аппаратная виртуализация и чем она отличается от программной. Теперь давайте посмотрим, какие еще есть классификации.
Например, выделяют несколько типов виртуализации в зависимости от того, на каком уровне она происходит:
Появляются и новые направления. Например, в пандемию стала еще более популярной концепция виртуализации рабочих мест. Она позволяет отказаться от привязки рабочих мест к физическим компьютерам. Все процессы выполняются на сервере или облаке, а пользователи подключаются к нему удаленно. Заказать такую услугу можно и на timeweb.cloud.
OpenVZ — виртуализация на уровне операционной системы. На физический сервер устанавливается система, которая базируется на ядре Linux. И уже она помогает создавать изолированные среды с копиями Debian, CentOS, Ubuntu.
KVM — виртуализация аппаратного уровня. Гипервизор создает полную копию физического сервера. Получается то же «железо», только переформатированное в виртуальную реальность. Как и у физического оборудования, здесь нет жестких ограничений на настройку. Можно установить на KVM Windows, Linux и любую другую ОС из дистрибутива.
Наглядно увидеть разницу нам поможет сравнительная таблица — OpenVZ vs KVM.
Свойство |
OpenVZ |
KVM |
Поддерживаемые ОС |
Можно установить только ОС семейства Linux: Debian, CentOS, Ubuntu. Это связано с ограничениями ядра |
Нет ограничений на установку ОС. Linux, FreeBSD, Windows и любые другие системы из дистрибутивов. Для этого используется виртуализация процессора |
Масштабирование |
Можно менять объем выделенных ресурсов без перезагрузки сервера. Просто добавить память или дополнительные ядра |
Для изменения процессора и объема памяти требуется перезагрузка сервера |
Лимиты |
Объем выделенных ресурсов может изменяться в большую или меньшую сторону в зависимости от общей нагрузки на физический сервер, на котором настроена виртуализация |
Сервер получает оговоренные ресурсы, их объем не меняется без прямого обращения клиента |
Настройка сети |
Автоматическая настройка сети |
Добавлять IP-адреса и поднимать сеть нужно вручную |
Способы подключения |
Можно подключаться через SSH. Не поддерживается подключение к графическому интерфейсу по протоколу VNC |
Для подключения к virtualization servers можно использовать SSH и VNC |
Особенности OpenVZ и KVM заставляют провайдеров продумывать правила для каждого типа виртуализации. Например, на OpenVZ могут запретить создавать сервисы, которые создают высокую нагрузку и могут помешать стабильной работе соседних виртуальных машин. Например, игровые серверы, потоковое вещание, элементы систем распределенного вычисления, организация проксирования.
В случае с KVM ограничений заметно меньше. Клиент получает в распоряжение полную копию физического оборудования и никак не может повлиять на работоспособность виртуальных машин, которые ему не принадлежат.
OpenVZ работает на уровне операционной системы. Это дает гибкость при масштабировании, но ограничивает в выборе доступных для установки дистрибутивов.
KVM — аппаратная виртуализация. Здесь нет ограничений на установку ОС, но сложнее масштабироваться по ресурсам.
Рассматривая эти типы виртуализации, следует держать в голове, какие задачи вы будете решать. Например, если подразумевается постоянное масштабирование, увеличение и уменьшение ресурсов, то OpenVZ доставит меньше проблем. А если требуется максимальная гибкость в настройке конфигурации, то KVM — оптимальный выбор.
Еще несколько типичных сценариев:
На выбор влияет и размер проекта. Если делаете что-то большое и ресурсоемкое, то KVM даст больше производительности.
Еще один важный момент — выбор есть не всегда. Крупные провайдеры используют KVM. И это все больше похоже на новый стандарт на рынке, к которому все приспосабливаются.