Виртуализация серверов — это процесс модификации серверного оборудования, в ходе которого на одном физическом компьютере создают и изолируют друг от друга несколько виртуальных. Проще говоря, ресурсы «железа» разделяются на какое-то количество «контейнеров», каждый из которых функционирует на собственной операционной системе (ОС) независимо от остальных. При этом основной сервер, чьи ресурсы делятся, называют хост-машиной (хост-компьютером), а образы, эмулирующие работу полноценного сервера, — виртуальными машинами (ВМ). Для того чтобы реализовать такую ИТ-инфраструктуру, используют технологии виртуализации (virtualization technology), о которых и пойдет речь в нашей статье.

Зачем нужна виртуализация

Суть виртуализации заключается в абстрагировании программного обеспечения (ПО) от аппаратного (АО), т. е. отделении выполняемых приложений от физических устройств, производящих вычисления. Это нужно, чтобы на одном материальном сервере могли одновременно запуститься и изолированно работать несколько ОС. В таком случае ресурсы хост-машины (процессор, оперативная память, дисковое пространство, сетевые настройки и пр.) скрыты от запущенного ПО и работающих с ним пользователей. Вместо них каждая ВМ «видит» только ту часть вычислительной мощности, которая ей выделена, и воспринимает ее как настоящее АО. Такая абстракция делает IT-инфраструктуру более гибкой и адаптивной, минимизирует риски аварийных и технических простоев, оптимизирует потребление ресурсов — как вычислительных, так и для хранения.

Виртуализация среды дает следующие преимущества:

  1. Экономия. Зачем покупать и обслуживать несколько слабых компьютеров, если вместо этого можно установить один, но мощный? Расходы на его содержание будут меньше, а задач он будет решать столько же, если не больше.
  2. Безопасность. Виртуальная машина действует самостоятельно: выполняет ПО, расходует ресурсы, включается и отключается, не влияя на работу соседних ВМ. Это гарантирует защищенность данных в случае поломки или взлома одной из них.
  3. Мобильность. Поскольку ВМ — это только имитация физического сервера, ее легко скопировать и перенести на другое оборудование. Можно создать резервную копию сервера, и вам не придется разворачивать всю программную среду заново.
  4. Гибкость. Ресурсы достаточно просто масштабировать: увеличивать или уменьшать объем ОЗУ, количество процессоров, дисков. ВМ быстро создаются и удаляются.

Кроме того, часто VT применяются для объединения ресурсов множества реальных компьютеров в единый виртуальный пул — облако. Любая облачная технология подразумевает работу кластера серверов, которые действуют как одна большая машина. Это возможно благодаря виртуализации.

Что такое виртуализация серверов.

Какими бывают типы виртуализации

В основе технологий виртуализации всегда лежит гипервизор — программное решение, позволяющее одновременное выполнение нескольких операционных систем на одном устройстве. Без него виртуализация невозможна. Гипервизоры бывают двух типов:

  • аппаратный или bare-metal (буквально «голое железо»), который работает с физическими компонентами напрямую;
  • хостовый, т. е. взаимодействующий с железом через предустановленную ОС.

В первом случае гипервизор представляет собой самостоятельную систему, обладающую драйверами и планировщиком задач, а во втором — является только надстройкой в обычной ОС.

Несмотря на различия в производительности, оба типа выполняют одинаковую функцию: создают виртуальные машины, управляют ими, изолируют друг от друга, распределяют между ними вычислительные ресурсы хост-компьютера (иногда даже в реальном времени). При этом физический сервер функционирует благодаря хост-системе, а на каждой ВМ установлена собственная ОС, называемая гостевой.

В зависимости от используемого типа гипервизора, выделяют два уровня виртуализации.

Программная виртуализация

Технология программной виртуализации использует хостовый тип гипервизора. Это значит, что распределение хост-ресурсов ведется гипервизором через прослойку в виде ОС, поэтому все созданные «контейнеры» функционируют на общем программном ядре. Другими словами, гостевая система должна быть идентична хост-системе: если это CentOS, то все ВМ будут на CentOS, если Windows Server (WS) — на Windows Server. Другими словами, виртуализация происходит на базе общей платформы, от которой зависит выбор гостевой операционной системы.

Такое решение имеет два достоинства: высокую скорость и простоту настроек. Распределить ресурсы можно в пару кликов, машины быстро развертываются, потому что в данном случае нет необходимости эмулировать работу всего оборудования. Программная виртуализация особенно удобна, когда требуется задействовать мощности уже работающего сервера, но при этом не повлиять на запущенное ПО. Однако есть и недостаток: производительность ВМ снижается в связи с тем, что хостовая ОС потребляет часть ресурсов хост-машины.

Аппаратная виртуализация

Здесь виртуализация осуществляется поверх физических компонентов хоста благодаря тому, что гипервизор типа bare-metal сам является системой. Он дает возможность создать виртуальный сервер с любой гостевой ОС, которая вам приглянулась. Машина будет эксплуатировать самодостаточное ядро, не связанное с остальными «виртуалками». Система-гипервизор отличается более высокой производительностью ВМ, а также возможностью полноценного разделения ресурсов между ними. Что это значит?

Во-первых, работая на «голом железе», гипервизор обращается к нему без посредников, т. е. ему не надо ждать, пока запрос обработается хост-системой — он и есть хост-система. Во-вторых, этот статус позволяет гипервизору выделить каждой ВМ строгую часть ресурсов: плашку оперативной памяти, жесткий диск, отдельный процессор. Остальные серверы не будут иметь доступа к занятым мощностям, даже если те будут простаивать. Аппаратная виртуализация обеспечивает полную независимость ВМ друг от друга, но при этом работает медленнее программной, так как необходимо единовременно эмулировать работу нескольких физических серверов, включая их аппаратуру и ПО.

Типы виртуализации.

Виды виртуализации

На IT-рынке представлено множество решений для виртуализации серверов — как коммерческих от ведущих компаний, так и распространяющихся разработчиками на безвозмездной основе. Как правило, они отличаются типом гипервизора и, соответственно, вариантом виртуализации, также существует разница в специализации по ОС и другим критериям. К известным решениям относятся такие VT, как:

  1. Microsoft Hyper-V. Аппаратная виртуализация, используемая в основном для серверов на базе WS. Входит в лицензию на данную ОС, может быть получена бесплатно при условии некоммерческого использования.
  2. Xen (Citrix Hypervisor). Платный кроссплатформенный продукт, реализующий систему-гипервизор с поддержкой паравиртуализации.
  3. VMware (vSphere, Fusion, Workstation, Horizon 7). Компания-лидер в области виртуализации, предоставляет как программные, так и аппаратные технологии. Бесплатные версии обычно урезаны по функционалу.
  4. VirtualBox. Хостовый гипервизор с открытым исходным кодом для Windows, Linux, macOS, FreeBSD и др. ОС. Распространяется свободно для личного пользования.

Ниже мы подробнее рассмотрим еще три популярных решения.

OpenVZ

Свободно распространяемый программный гипервизор. Виртуализация производится на базе Linux-ядра, поэтому для установки в качестве гостевых ОС доступны исключительно дистрибутивы Linux: CentOS, Debian, Ubuntu и т. п. На всех виртуальных серверах используется файловая система ext4 и отсутствует возможность модифицировать системное ядро, поскольку ВМ используют копии хост-системы. Они хоть и изолированы, но не являются самодостаточным ПО. Чтобы реализовать нестандартные модули (OpenVPN, IPSEC и др.), необходимо вносить изменения в корневую систему физического сервера, что невозможно, например, при использовании хостинг-услуг. Кроме того, у администратора хоста есть доступ к данным из всех контейнеров, а ресурсы распределяется не строго, существует возможность оверселлинга.

Несмотря на ограничения, виртуализация с OpenVZ (OVZ) обладает всеми преимуществами хостовых решений:

  • конфигурацию контейнеров можно менять в считанные секунды, нажав всего пару кнопок;
  • динамическое распределение ресурсов обеспечивает увеличение/уменьшение мощности ВМ по запросу оператора, при этом не требуется перезагрузка;
  • серверы работают на высокой скорости, потому что вместо эмуляции всей аппаратуры используют некоторые функции гипервизора.

Virtuozzo

Коммерческий продукт от компании Parallels, более качественный и надежный аналог OpenVZ. Есть версия для работы в среде Windows, но чаще всего виртуализация происходит также на ядре Linux — более того, частично Linux-вариант Virtuozzo основан на исходном коде OVZ. Тем не менее все новые технические решения сначала появляются в этом гипервизоре, а уже потом — в бесплатном OpenVZ. Помимо перечисленных в предыдущем абзаце, гостевыми системами в данном случае могут стать Fedora, RHEL, OpenSUSE. Linux-дистрибутивы серии *BSD не поддерживаются из-за различий в архитектуре ядра.

У Virtuozzo есть функция живой миграции, позволяющая перенести контейнер на другой хост без длительного простоя, а также возможность перезапускать ВМ удаленно. Одним из ключевых компонентов платформы является распределенная система хранения данных.

KVM

Данный гипервизор относится к типу аппаратных, он полностью бесплатен, все компоненты его ПО открыты. Виртуализация посредством Kernel-based Virtual Machine (KVM) базируется на Linux/x86, но, поскольку технология аппаратная, в ее среде могут существовать разные гостевые ОС, включая индивидуальные образы и WS. Другими словами, ВМ обладают собственными ядрами, и их модификация не ограничена. Они также имеют выделенное виртуальное АО: сетевые и видеокарты, диски, центральные процессорные устройства, оперативную память и др. КВМ гарантирует, что набор ресурсов, предназначенный одному серверу, не будет доступен для использования другому. Немаловажен и фактор безопасности: информация внутри ВМ видна только ее администратору. Основной минус заключается в невозможности изменения мощности без перезагрузки гостевой машины. Кроме того, для работы KVM требуется ЦПУ с поддержкой виртуализации (AMD SVM или Intel VT).

Технология виртуализации.

Какую технологию виртуализации выбрать

Выбор виртуализации зависит в первую очередь от того, зачем она вам нужна. Если вы хотите арендовать VPS/VDS, мы рекомендуем выбирать аппаратные способы (KVM, XEN), поскольку они безопаснее и стабильнее. Хостовые гипервизоры, как правило, используют в средах тестирования и разработки, а также в конечных устройствах: например, на персональных компьютерах с macOS, когда требуется запустить приложение для Windows, и наоборот.

Если вас интересует виртуализация рабочих мест на предприятии, стоит основывать выбор на том наборе ПО, который используется сотрудниками. При условии, что он одинаков, проще и удобнее внедрить программную технологию.

В ситуации, когда вы сами создаете контейнеры на выделенном сервере, также лучше подойдут гипервизоры «на голом железе»: для Windows — Hyper-V, для Linux — KVM или XEN, зависит от того, с какой из систем лучше знакомы будущие администраторы. Если позволяет бюджет, стоит присмотреться к VMware-решениям.

Виртуализация серверов совершенствуется из года в год. Почему бы вам она ни понадобилась, всегда учитывайте собственные возможности и цели, чтобы подобрать действительно эффективное решение.