Задачи и технологии виртуализации
Согласно статистике средний уровень загрузки процессорных мощностей у серверов под управлением Windows не превышает 10%, у Unix-систем этот показатель вдвое лучше, но тем не менее в среднем не превышает 20%. Низкая эффективность использования серверов объясняется широко применяемым с начала 90-х годов подходом “одно приложение — один сервер”, т. е. каждый раз для развертывания нового приложения компания приобретает новый сервер. Очевидно, что на практике это означает быстрое увеличение серверного парка и как следствие — возрастание затрат на его администрирование, энергопотребление и охлаждение, а также потребность в дополнительных помещениях для установки всё новых серверов и приобретении лицензий на серверную ОС.
Виртуализация ресурсов физического сервера позволяет гибко распределять их между приложениями, каждое из которых при этом “видит” только предназначенные ему ресурсы и “считает”, что ему выделен отдельный сервер, т. е. в данном случае реализуется подход “один сервер — несколько приложений”, но без снижения производительности, доступности и безопасности серверных приложений. Кроме того, решения виртуализации дают возможность запускать в разделах разные ОС с помощью эмуляции их системных вызовов к аппаратным ресурсам сервера.
Разумеется, применение технологий виртуализации не ограничивается лишь серверами: виртуализация, позволяющая изолировать друг от друга различные компоненты ИТ-систем, давно используется и в системах хранения данных, а “тонкие” терминалы, с помощью которых пользователь может запустить сеанс работы с сервером с любого компьютера, вполне можно рассматривать как пример виртуализации клиентского места.
Виртуализация серверных ресурсов
В 1997 г. на рынок вышел сервер Sun Enterprise 10000, в котором впервые для открытых систем была реализована концепция аппаратных разделов (в терминологии Sun они называются динамическими доменами Dynamic System Domains), до того применявшаяся только в мэйнфреймах. Этот сервер состоял из 16 системных плат, из которых и строились динамические домены. У каждого динамического домена есть своя копия Solaris, процессоры, ОЗУ, устройства ввода-вывода, сетевые карты и загрузочный диск, то есть фактически он работает как независимый физический компьютер, и даже аппаратный сбой одного домена не влияет на работу приложений других доменов.
Электрическая изоляция между доменами позволяет в онлайновом режиме проводить модернизацию и обслуживание сервера — например, для расширения оперативной памяти можно по одному отключать домены, извлекать их системные платы и ставить дополнительные модули памяти. Кроме того, оправдывая свое название, домены позволяют динамически менять распределение ресурсов сервера: при возрастании нагрузки на одно из приложений его домену без перезагрузки сервера передаются от других доменов одна или несколько системных плат.
Впоследствии Sun реализовала поддержку динамических доменов в своих Unix-серверах среднего класса и продолжает постоянно совершенствовать эту технологию, однако очевидно, что в серверах начального уровня, у которых есть только одна системная плата, ее применить нельзя. Для этих машин самым популярным вариантом виртуализации остается использование виртуальных машин (ВМ), которые запускаются на сервере под его основной (хостовой) операционной системой, но сами используют “гостевые” ОС. Гипервизор перехватывает вызовы этих “гостевых” операционных систем к аппаратным ресурсам и эмулирует их выполнение, поэтому приложения виртуальных машин “считают”, что работают в своей “родной” ОС на выделенном сервере.
Хотя виртуализация на базе виртуальных машин дает в распределении физических ресурсов больше гибкости, чем динамические домены (ВМ может состоять всего лишь из одного физического процессора), и позволяет запускать на одном сервере разные ОС, она не обеспечивает электрическую изоляцию между ВМ, а при сбое хостовой ОС нужно перезагрузить все ВМ и их приложения.
Развитием технологии ВМ является предложенная Sun “паравиртуализация” на основе разработанного в рамках движения Open Source гипервизора Xen. При паравиртуализации используются специальные модификации “гостевых” ОС, для которых не нужно эмулировать обращение к аппаратным ресурсам сервера, благодаря чему уменьшается нагрузка на сервер. Sun реализовала поддержку Xen для Solaris 10 в серии продуктов xVM, которые позволяют запускать ВМ с Solaris, Windows и Linux. Семейство Sun xVM включает в себя разработанный на базе Xen сервер xVM Server и консоль управления xVM Ops Center.
Еще один вариант паравиртуализации — логические домены LDom, применяемые в серверах Sun Fire серии T на базе многоядерных процессоров UltraSPARC T2 (Niagara), которые работают под управлением зашитого в микрокод гипервизора. Логические домены можно независимо друг от друга запускать, останавливать, перегружать и в онлайновом режиме перераспределять между ними виртуальные процессоры.
Следующий тип виртуализации серверов — это виртуализация на уровне ОС с помощью механизма изолированных контейнеров, который Sun реализовала в Solaris 10. При такой виртуализации каждому приложению выделяется отдельный контейнер и на сервере работает только одна копия ОС, поэтому она позволяет обойтись без эмуляции оборудования и практически не создает дополнительную нагрузку на ресурсы сервера. Хотя сбой одного из приложений не приводит к нарушению работы остальных, однако при сбое ОС сервера будет нарушена работа всех контейнеров и их приложений. Контейнеры имеют доступ ко всем ресурсам системы и если нагрузка на какое-то приложение возрастет, то его контейнер сразу же получает дополнительную процессорную мощность.
Наконец, вариант серверной виртуализации на основе управления физическими ресурсами применяется в тех случаях, когда при консолидации приложений на одном сервере надо предотвратить конфликты между ними из-за доступа к процессорам, ОЗУ и т. п. Пакет Solaris Resource Manager не только распределяет ресурсы между приложениями сервера, но и планирует их перераспределение в зависимости от времени суток. Этот тип виртуализации не предусматривает изоляцию приложений, но в то же время обеспечивает стабильную производительность консолидированных приложений.
Сегодня Sun Microsystems предлагает портфель виртуализационных решений, охватывающий все основные компоненты ИТ-инфраструктуры современного предприятия — начиная от рабочих мест пользователей и до серверов стандартной архитектуры и SPARC-серверов, вплоть до виртуализации в масштабе всего корпоративного центра обработки данных. Применение этих решений помогает добиться комплексной виртуализации ИТ-ресурсов.
Виртуализация клиентских мест
Как пример виртуализации можно рассматривать и технологию тонких терминалов, которые фактически виртуализируют рабочие места пользователей настольных систем: пользователь не привязан к какому-то конкретному ПК, а может получить доступ к своим файлам и приложениям, которые располагаются на сервере, с любого удаленного терминала после выполнения процедуры авторизации. Все команды пользователя и изображение сеанса на мониторе эмулируются с помощью ПО управления тонкими клиентами. Применение этой технологии позволяет централизовать обслуживание клиентских рабочих мест и резко сократить расходы на их поддержку — например, для перехода на следующую версию клиентского приложения новое ПО нужно инсталлировать только один раз на сервере.
Одним из наиболее известных тонких клиентов является терминал Sun Ray, для организации работы которого используется программное обеспечение Sun Ray Server Software. Для начала сеанса Sun Ray достаточно лишь вставить в это устройство идентификационную смарт-карту. Применение смарт-карты существенно повышает мобильность пользователя — он может переходить с одного Sun Ray на другой, переставляя между ними свою карточку и сразу продолжать работу со своими приложениями с того места, где он остановился на предыдущем терминале. А отказ от жесткого диска не только обеспечивает мобильность пользователей и повышает безопасность данных, но и существенно снижает энергопотребление по сравнению с обычными ПК, поэтому терминал Sun не имеет вентилятора и работает практически бесшумно. Кроме того, сокращение числа компонентов тонкого терминала уменьшает и риск выхода его из строя, а следовательно, экономит расходы на его обслуживание. Еще одно преимущество Sun Ray — это существенно расширенный по сравнению с обычными ПК жизненный цикл продукта, поскольку в нём нет компонентов, которые могут морально устареть.
Хотелось бы отметить еще одну интересную возможность виртуализации рабочих мест. Это совместное использование технологии Sun Ray, решений по виртуализации ОС и ПО Sun Secure Global Desktop, позволяющее реализовать концепцию Virtual Desktop Infrastructure (VDI). Фактически, в Sun VDI предоставляет пользователю доступ к своей виртуализированной копии ОС с любого устройства: с тонкого клиента Sun Ray, обычного офисного ПК, ноутбука. При этом он может работать как во внутрикорпоративной, так и во внешней сети.
С применением технологий Sun можно не только виртуализировать рабочие места пользователей, но и применять виртуализацию на конкретном клиентском устройстве. Одной из областей применения таких решений может быть использование виртуальных машин для разработки и тестирования ПО. Данную возможность предоставляет ПО с открытым исходным кодом Sun VirtualBox, бесплатно доступное для персонального использования. VirtualBox является удобным инструментом для разработчиков, позволяющим создавать множество виртуальных машин, объединять их в сеть и развертывать в средах любых операционных систем.
Виртуализация хранения данных
Виртуализация хранения дает также возможность объединить разнородные системы в один пул большой емкости. Построение такого пула, особенно если в него объединены разнородные дисковые массивы, значительно упрощает управление хранением и реализует гибкое выделение из пула необходимой для приложений емкости.
Виртуализация с помощью массива старшего класса Sun StorageTek 9985V/9900V позволяет построить пул, в котором можно объединять установленные в ЦОДе системы хранения разных производителей, что не только уменьшает объем незадействованной емкости, но и существенно упрощает работу системного администратора, который с помощью одной консоли управляет ресурсами разных дисковых массивов. Кроме того, объединяя в пул более дешевые массивы начального класса с накопителями SATA, можно построить иерархическую систему хранения, в которой наиболее часто запрашиваемые данные располагаются на высокоскоростных дисках Fibre Channel основного массива, а остальные данные — на дисках SATA подключенных к нему систем.
BlackBox — виртуализированный ЦОД
Sun в своем проекте BlackBox применила подход, который меняет саму концепцию организации ЦОДов. До появления BlackBox перемещение ЦОДа (например, при переезде компании в новое здание) означало существенные дополнительные затраты на подготовку нового помещения и монтаж в нем оборудования, а также длительный перерыв в работе бизнес-приложений.
Лежащая в основе BlackBox концепция ЦОДа “под ключ”, все оборудование которого собрано в одном транспортном контейнере, изящно решает эту проблему. Такой ЦОД не привязан к конкретному зданию, и компания может при необходимости переместить его на новую площадку и даже, если в офисном здании не хватает свободных площадей, установить BlackBox прямо под открытым небом. Для развертывания BlackBox требуется только обеспечить подвод к контейнеру электричества, воды и канала связи с Интернетом. Кроме того, с помощью BlackBox можно быстро построить ЦОД с нуля либо быстро расширить его вычислительные мощности — все оборудование, установленное в контейнере, уже полностью сконфигурировано и готово к работе.