ТЕХНОЛОГИИ ВИРТУАЛИЗАЦИИ

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

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

Чаще всего с помощью серверной виртуализации корпоративные клиенты хотят снизить энергопотребление, упростить администрирование серверов и исключить простои серверного оборудования. Таким образом, использование виртуализации позволяет существенно сократить расходы на построение центров обработки данных (ЦОДов), закупку серверного и сетевого оборудования, аппаратных и программных решений. К слову, на долю корпоративного сегмента приходится больше 80% всего рынка виртуализации.

Возможность упаковать приложение вместе с зависимыми библиотеками в виртуальный образ, легко развернуть его (и при необходимости эластично масштабировать) в облачной виртуальной среде привлекает внимание многих компаний. Нередко в платформы серверной виртуализации встраиваются средства виртуализации хранения данных и сетевых функций, что позволяет реализовать так называемый программно определяемый ЦОД. Мир подошел к виртуализации «всего» — Software-Defined Everything.

КАК РАБОТАЮТ СОВРЕМЕННЫЕ КОНТЕЙНЕРЫ И ВИРТУАЛЬНЫЕ МАШИНЫ

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

Гипервизоры — это виртуализация на уровне оборудования. Между хостовой и гостевыми системами есть прослойка, эмулирующая аппаратное обеспечение (см. рис. 1). У каждой гостевой среды имеются собственное ядро и заранее определенный набор ресурсов. Загрузка множественных копий ядра снижает плотность размещения виртуальных машин на сервере. Время загрузки виртуальной машины составляет несколько десятков секунд, что затрудняет оперативное выполнение клиентских запросов, когда нужно быстро выделить дополнительные ресурсы.

Рис. 1. Изолированные виртуальные машины
Рис. 1. Изолированные виртуальные машины

 

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

Рис. 2. Высокоплотные контейнеры
Рис. 2. Высокоплотные контейнеры

 

Раньше гипервизорные и контейнерные системы были реализованы в решениях разных производителей. Однако за последние несколько лет появились комбинированные платформы на основе гипервизоров и контейнеров, благодаря чему пользователи могут гибко менять соотношение между ними в своем ЦОДе и осуществлять управление с помощью единого инструмента.

ЭВОЛЮЦИЯ ВИРТУАЛИЗАЦИИ: КАК МЕНЯЛСЯ ПОДХОД И ПОЧЕМУ

Сначала решения виртуализации применялись для того, чтобы упорядочить и консолидировать физические серверы, сэкономить на капитальных и операционных затратах (оборудовании и электричестве), объединить и облегчить администрирование. Компании внедряли VDI-инфраструктуру (развертывали пользовательские десктопы внутри виртуальных машин), запускали базовые сервисы по обеспечению отказоустойчивости и хранилища, пользовались разнородными сторонними и самодельными сценариями для решения специфических задач.

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

Конвергентные системы (объединение дискового пространства, вычислительных и сетевых ресурсов в пул, заранее сконфигурированный для работы в ЦОДе) — следующий шаг вперед по сравнению с традиционной инфраструктурой. Однако самыми современными и перспективными решениями являются гиперконвергентные системы, в которых компоненты виртуализации и программно определяемого хранилища работают совместно на одних и тех же серверах, позволяя эффективно использовать как вычислительные ресурсы, так и распределенные по разным машинам диски. В отличие от монолитных (выделенных) систем хранения данных, гиперконвергентные системы масштабировать гораздо проще: достаточно добавить диски в обычные серверы. Что же касается затрат, то и здесь выгода очевидна: при начальном внедрении финансовых средств требуется значительно меньше.

КАК ДЕЛА НА РОССИЙСКОМ РЫНКЕ?

Многие годы лидерами виртуализации на российском рынке были закрытые решения западных производителей. Кроме того, широко использовались открытые (open-source) технологии. Хотя в последнем случае мнимая бесплатность при эксплуатации в «боевых» условиях крупных предприятий оборачивалась большими вложениями и усилиями для адаптации этих открытых решений к промышленным требованиям.

После введения санкций со стороны зарубежных производителей ситуация стала меняться. Стали появляться российские игроки. Некоторые просто заново «собирали» тот же открытый код, делая из него «удобоваримый» продукт и избавляя заказчика от необходимости содержать дорогих специалистов. Однако на момент написания данной статьи только «Росплатформа» предлагала собственное решение по виртуализации, позволяющее строить гиперконвергентные системы. Наша компания поддерживает в одном продукте оба вида серверной виртуализации (виртуальные машины и контейнеры) и виртуальное хранилище (см. рис. 3).

Рис. 3. Платформа виртуализации с поддержкой распределенного хранилища
Рис. 3. Платформа виртуализации с поддержкой распределенного хранилища 

 

Продукт «Росплатформы» устанавливается на голое «железо» и не требует затрат на отдельную операционную систему, позволяя использовать обычные серверы в трех режимах:

Гиперконвергенция. Установлены компоненты и виртуализации, и хранилища. Сервер предоставляет свои локальные диски общему хранилищу. Такие серверы объединяются в локальные кластеры с возможностью доступа к облаку. Специальный клиент обращается к хранилищу по внутренним протоколам, исключая необходимость создавать и классические iSCSI-таргеты.

Только виртуализация. Бездисковый сервер предоставляет свои вычислительные мощности, используя облако как среду обитания виртуальных машин. Такая схема может пригодиться, когда объем хранилища еще достаточен, но требуется добавить вычислительные мощности.

Только хранилище. Локальные жесткие диски используются для увеличения общего объема облачного хранилища. Эта схема востребована, когда необходимо увеличить объем хранилища за счет дешевых маломощных серверов, заполненных физическими дисками.

Владимир Рубанов, управляющий директор компании «Росплатформа»