МЕТОДИКИ
Технология виртуализации, в основе которой лежит разделение ресурсов одного физического сервера на несколько виртуальных машин, позволяет улучшить управляемость серверного парка и в то же время обеспечить простой и быстрый доступ к ресурсам сервера. Виртуальные машины делят между собой аппаратные ресурсы одного физического сервера, но при этом работают со своими операционными системами и приложениями.
Разные варианты использования виртуализации
Использование платформы виртуальных машин дает неоспоримые преимущества по сравнению с классическим вариантом построения ИТ-инфраструктуры: приложения и сетевые службы размещаются на меньшем количестве серверов, улучшается масштабируемость и надежность всей системы; виртуальные машины изолированы друг от друга - отказ одной из них не влияет на работу остальных; кроме того, быстро и эффективно увеличивается число сетевых служб и приложений, упрощается их перенос с одного сервера на другой.
По результатам исследования компании International Network Services*1, на текущий момент 86% опрошенных ИТ-руководителей предприятий по всему миру рассматривают возможность применения технологий виртуализации в своих фирмах, и у 40% из них платформа виртуальных машин уже развернута в пилотной зоне.
_____
*1 Server Virtualization, by Rick Blum, Senior Manager, Strategic Marketing (www.ins.com/ WorkArea/linkit.aspx?LinkIdentifier=id&ItemID=1372).
Существует несколько вариантов использования платформы виртуальных машин. Концепция виртуализации предполагает организацию полнофункциональных изолированных логических разделов на одной аппаратной платформе. Возможность же эмуляции сетевых коммутаторов и построения локальных сетей, как замкнутых внутри платформы виртуальных машин, так и имеющих подключение к физической сети компании, в принципе позволяет создавать любые инфраструктуры с помощью виртуальных машин.
Виртуальная платформа - резервный или удаленный офис
Наиболее простой вариант использования платформы виртуальных машин - развертывание на одной физической машине нескольких приложений. При этом возможна консолидация как серверов приложений, так и данных, что приводит к сокращению количества оборудования и в результате уменьшает сложность инфраструктуры и улучшает ее управляемость.
Частный случай такого варианта - создание резервных или удаленных офисов. В этом случае применяется платформа виртуальных машин с установленным офисным ПО и заданными правилами доступа к нему. Данный подход похож на работу с терминальными технологиями, так как от сервера виртуальных машин на рабочее место передаются только сжатые картинки и требования к компьютеру пользователя минимальны. Но в случае с терминальным сервером все клиенты имеют дело с одной и той же копией приложения, тогда как отдельные независимые виртуальные машины позволяют организовать работу каждого клиента со своей копией, и, таким образом, сбой какого-либо прикладного ПО у одного клиента никак не повлияет на работу остальных. Эта схема применения может быть актуальна в случае аутсорсинга, когда необходимо предоставить удаленным сотрудникам стандартное рабочее место, имеющее специальное ПО, и доступ к внутренней инфраструктуре компании, при этом максимально выполняя требования к обеспечению информационной безопасности.
При построении резервного офиса платформа виртуальных машин используется для создания копии действующей инфраструктуры предприятия, построенной в классическом варианте, т. е. когда каждому приложению выделяется отдельный сервер. Постоянная актуализация платформы происходит благодаря утилитам переноса содержимого физического сервера в виртуальные машины (такой класс утилит называется P2V - physical to virtual). Эти утилиты могут, например, по расписанию создавать копии виртуальных машин на платформе, перезаписывая существующую машину, причем без остановки физических серверов. В результате даже в случае аварии на основной площадке виртуальная инфраструктура обеспечит непрерывное функционирование всех корпоративных систем.
Применение виртуальных машин для
построения резервного офиса
Кластеры как защита от программных сбоев
При программной виртуализации создается "идеальная" виртуальная машина, которая принципиально не может иметь аппаратных сбоев, однако все равно остается вероятность программных ошибок. Обеспечить защиту от сбоев ПО, установленного внутри виртуальной машины, позволяют отказоустойчивые кластеры. Возможны следующие варианты*1.
_____
*1 Рассматриваются двухузловые кластеры. Принцип построения кластеров с большим количеством узлов аналогичен.
1. Один узел кластера является аппаратным сервером, второй - виртуальной машиной. Оба узла присоединены к внешней дисковой системе хранения. При этом максимально используются преимущества обеих технологий - и виртуализации, и классической кластеризации. При выходе из строя аппаратного узла кластер продолжает функционировать на узле, расположенном на сервере виртуальных машин. Причем на указанном сервере виртуальных машин можно разместить несколько узлов разных кластеров, тем самым сэкономив на оборудовании, а при использовании кластеров по технологиям Microsoft - еще и на лицензиях*1.
_____
*1 Согласно лицензионной политике компании Microsoft на момент написания статьи, для использования четырех виртуальных машин под управлением ОС Microsoft Windows 2003 R2 EE необходима покупка только одной лицензии.
2. Оба узла находятся на сервере виртуальных машин, но присоединены к внешней дисковой системе хранения. При такой конфигурации достигается экономия не только на оборудовании, но и на лицензиях на ПО (аналогично предыдущему варианту). При этом мы используем общую внешнюю систему хранения. Недостаток такой конфигурации заключается в том, что в случае выхода из строя одного из серверов виртуальных машин резко повышается нагрузка на оставшийся сервер (или серверы), что может привести к заметному снижению времени отклика обращений к приложениям, функционирующим в кластере.
3. Третий вариант предполагает размещение общих дисков, а также узлов кластеров в виртуальных машинах. Это классический вариант построения кластера: он позволяет сэкономить на оборудовании и лицензиях, но сам сервер виртуальных машин становится единой точкой отказа (т. е. его отказ приведет к потере работоспособности всей системы).
Виртуальная машина - второй узел кластера
Тестирование приложений на виртуальных машинах
Если ПО, которое необходимо защитить от сбоя, не поддерживает технологии кластеризации, на помощь приходит функционал самой платформы виртуальных машин, позволяющий сократить время восстановления после сбоя до минимума. Поскольку виртуальная машина представляет собой файл, на его восстановление затрачивается время, требуемое для копирования этого файла из хранилища системы резервного копирования, т. е. не больше 1 минуты.
Виртуальная платформа - опытная лаборатория
Еще один вариант применения платформы виртуальных машин - создание стендов для тестирования. Такой стенд может быть использован как в компаниях - разработчиках ПО, так и для организации стендов в ИТ-лаборатории. Программисты получают идеальную среду, где возможны "откаты" к предыдущему состоянию виртуальной машины и построение дерева версий. Такой функционал позволяет ускорить цикл разработки и уменьшить затраты на оборудование стенда. Меньше времени также уходит на конфигурирование и установку программного обеспечения. Все это в итоге ведет к уменьшению затрат на создание ПО и позволяет повысить его качество за счет более тщательного тестирования.
Перед ИТ-департаментом компаний часто возникает вопрос, как повлияет то или иное вносимое в инфраструктуру изменение на функционирование критичных для бизнеса серверов приложений. Таким изменением могут быть пакеты обновлений от производителей ПО, внедрение или переход на новое программное обеспечение. Для минимизации рисков в случае таких изменений ИТ-департамент может сделать копию своей инфраструктуры на платформе виртуальных машин и на этой площадке отрабатывать все изменения. При этом нет необходимости держать дополнительное оборудование для создания тестового стенда.
Виртуальная платформа - решение для повышения отказоустойчивости ИТ-инфраструктуры
Одной из задач, стоящих перед ИТ-департаментом, является повышение отказоустойчивости функционирования инфраструктуры. Даже кратковременный простой информационных сервисов предприятия приводит к существенным убыткам, следовательно, необходимо применение средств, обеспечивающих их бесперебойное функционирование. Платформа виртуализации - один из таких инструментов: виртуальные машины можно настроить так, чтобы в случае неисправности одного из физических серверов ПО автоматически переносило виртуальные машины, которые обслуживали дефектный сервер, на оставшиеся узлы без перерыва в их работе. Когда требуется обеспечить защиту от выхода из строя всего центра обработки данных (ЦОД), возможно построение катастрофоустойчивых решений с автоматической репликацией виртуальных машин на резервную площадку центра. Тогда в случае отказа основного центра обработки данных загрузка его виртуальных машин на резервном ЦОД произойдет с минимальным затратами.
Виртуальная платформа - решение для пиковых нагрузок
И в завершение рассмотрим вариант использования платформы виртуальных машин в системах, для которых требуется быстрое наращивание производительности. Например, при создании годового отчета может потребоваться многократно увеличить ресурсы, выделенные для бухгалтерского ПО. Такая задача легко решается с помощью платформы виртуальных машин; например, при применении "фермы" блейд-серверов виртуальная машина, на которой функционирует финансовое ПО, задействует свободные ресурсы узла "фермы", а в случае нехватки ресурсов получает все ресурсы лезвий. Если же общая загрузка блейд-серверов не позволяет это сделать, то можно добавить еще один блейд-сервер в "ферму" в "горячем" режиме и перенести часть ресурсов на него. После окончания интенсивных вычислений виртуальная машина финансового ПО освободит занимаемые ресурсы, и они вновь станут доступными для других виртуальных машин.
С автором, менеджером проектов компании Крок, можно связаться по электронной почте: dsmirnov@croc.ru.