Шестое рабочее совещаниесеминар "Информационные системы в фундаментальной науке" Применение различных технологий виртуализации в перспективных моделях компьютерных классов в телекоммуникационной сети Южного федерального университета Цимбаленко Алексей Владимирович, системный администратор ЮГИНФО Южного федерального университета Виртуализация Все говорят о виртуализации - она рассматривается в качестве заветной цели ИТ. Однако большинство людей — корпорации и поставщики технологий — приравнивают виртуализацию к виртуализации компьютера: запуску нескольких виртуальных операционных систем на сервере. Однако виртуализация компьютера не является ни универсальным решением, ни завершенным процессом. Виртуализация — это нечто более глобальное. Она оказывает на ИТ-инфраструктуру гораздо большее влияние. Виртуализация Виртуализация — технология, позволяющая сделать вычислительные ресурсы автономными и взаимно независимыми — должна быть применена ко всем уровням вычислительной структуры, от центра обработки данных до отдельного ПК. Виртуализация Виртуализация заменяет жесткую связь различных уровней, например операционной системы (ОС) с оборудованием, приложения с ОС и пользовательского интерфейса с локальным компьютером, относительно слабой зависимостью этих элементов друг от друга. При этом возникают как новые возможности, так и проблемы. Виртуализация Например, с помощью виртуализации аппаратного обеспечения (включая виртуализацию сервера и настольной системы) можно развязать ОС и физическое оборудование, на котором она запущена, а виртуализация приложений позволяет выполнить аналогичную развязку ОС и работающих в ней приложений. Подобным образом виртуализация представлений позволяет отделить пользовательский интерфейс приложения от физического компьютера, на котором это приложение выполняется. При этом работать с приложением можно на одном компьютере, а управлять им с другого. Виртуализация сервера У большинства ИТ-специалистов слово «виртуализация» вызывает мысли об использовании на одном физическом компьютере нескольких операционных систем. Это виртуализация оборудования, и, несмотря на то что это не единственный важный аспект данной технологии, на данный момент он, несомненно, является наиболее распространенным. Виртуализация сервера Основная идея виртуализации оборудования достаточно проста: использование программного обеспечения для создания виртуальной машины, имитирующей физический компьютер. При этом создается среда отдельной ОС, логически изолированной от главного сервера. Поскольку данный подход допускает создание сразу нескольких виртуальных машин, на одном компьютере можно запустить несколько операционных систем одновременно. Виртуализация сервера Вместо оплаты большого количества серверов с низким коэффициентом использования, каждый из которых предназначен для выполнения определенной рабочей нагрузки, виртуализация сервера позволяет объединить эти нагрузки на меньшем количестве эффективно работающих машин. Это означает уменьшение количества сотрудников, управляющих компьютерами, сокращение площадей для их размещения, экономию электроэнергии, что в совокупности дает экономию средств. Виртуализация сервера Кроме того, виртуализация сервера упрощает восстановление вышедших из строя систем. Виртуальные машины хранятся в виде файлов, поэтому восстановить поврежденную систему не сложнее, чем скопировать файл на другой компьютер. Поскольку конфигурации оборудования виртуальных машин не обязательно должны совпадать с конфигурацией физического компьютера, на котором они запущены, этот подход также позволяет выполнить восстановление поврежденной системы на любом доступном компьютере. Физически идентичную систему использовать не требуется. Виртуализация настольных систем Виртуализация настольных систем обеспечивает создание среды отдельной ОС на настольном ПК, что позволяет использовать на компьютере несовместимые устаревшие или специализированные приложения в более современной версии ОС. В обычной вычислительной среде на каждом физическом компьютере установлена одна операционная система, тесно связанная с этим оборудованием. Виртуализация оборудования снимает тесную зависимость между оборудованием и ОС. На одном физическом компьютере можно установить несколько гостевых ОС, изолированных и защищенных одна от другой. Используя тот же подход, что и при виртуализации сервера, виртуализация настольных систем позволяет создавать отдельные виртуальные машины на настольном ПК с ОС Windows, каждая из которых виртуализирует оборудование всего физического компьютера. Виртуализация настольных систем Виртуальные машины можно использовать для работы таких операционных систем, как MS-DOS, Windows и OS/2. Кроме того, на одном ПК можно одновременно запустить несколько ОС и переключаться между ними так же легко, как между приложениями — лишь одним щелчком мыши. Виртуализация настольных систем может быть полезна в различных ситуациях. Одной из наиболее распространенных является проблема несовместимости приложений и операционных систем. Предположим, что пользователю, работающему с ОС Windows Vista, требуется приложение, которое поддерживается только в Windows XP с пакетом обновления 2. Эта проблема решается путем создания виртуальной машины, где запускается более старая операционная система, после чего выполняется установка необходимого приложения. Виртуализация настольных систем Виртуализация настольных систем предназначена для ситуаций, когда необходима поддержка нескольких ОС, вне зависимости от того, используются ли они для технической поддержки, поддержки устаревших приложений, для обучения или объединения физических компьютеров. Эта виртуализация дает целый ряд преимуществ. Простота миграции: работа со старыми приложениями на виртуальной машине вместо отсрочки развертывания новой ОС изза несовместимости приложений. Тестирование планов миграции с помощью виртуальной машины, а не реальных физических компьютеров. Виртуализация настольных систем Выполнение большего объема работы за меньшее время: специалисты службы поддержки могут восстановить предыдущее состояние виртуальной машины почти мгновенно. Для обучения студентов не надо покупать и поддерживать дополнительные компьютеры, вместо этого можно использовать несколько ОС и виртуальные сети. Простота развертывания: поскольку отказ одного приложения или ОС не повлияет на работу других, значительно упрощаются тестирование и развертывание программного обеспечения в различных операционных системах. Ускорение разработки: повышение контроля качества за счет тестирования и регистрации программного обеспечения в нескольких операционных системах с помощью виртуальных машин. Время вывода нового продукта на рынок можно сократить, уменьшив период реконфигурации. Виртуализация приложений При виртуализации приложений происходит отделение уровня конфигурации приложения от ОС. Приложения могут работать на клиентских компьютерах, включая настольные ПК, серверы и переносные компьютеры. Эти приложения не требуется устанавливать, а управлять ими можно из единого центра. Эти особенности имеют огромное значение для выполнения самых разных задач, от управления установкой исправлений и обновлений до развертывания и удаления приложений. Виртуализация приложений Каждое приложение зависит от своей ОС по ряду причин, включая распределение памяти, драйверы устройства и много другое. Проблемы несовместимости приложений и операционных систем могут быть решены за счет виртуализации сервера или представлений. Однако для устранения проблем несовместимости двух приложений, установленных в одной копии ОС, потребуется выполнить виртуализацию приложений. Виртуализация приложений Приложения, установленные на одном устройстве, обычно используют общие элементы конфигурации, однако это совместное использование может привести к определенным проблемам. Например, для одного приложения может потребоваться определенная версия библиотеки DLL, тогда как для другого приложения в этой системе будет нужна другая версия той же библиотеки. При установке обоих приложений создается ситуация, в которой одно из них перезаписывает версию библиотеки, необходимую для другого, что приводит к ошибкам приложения или сбою системы. Чтобы этого избежать, организации обычно выполняют всестороннее тестирование нового приложения перед его установкой. Этот подход вполне работоспособен, но дорог и отнимает много времени. Виртуализация приложений Виртуализация приложений решает эту проблему за счет создания копий всех общих ресурсов, необходимых приложению. Общие элементы конфигурации (разделы реестра, отдельные библиотеки DLL и другие объекты), которые приложение обычно может использовать совместно с другими приложениями системы, «упаковываются» вместе с ним и обрабатываются в кэше компьютера, благодаря чему создается виртуальное приложение. Развернутое виртуальное приложение использует собственную копию этих общих ресурсов. Виртуализация приложений Виртуализация приложений значительно упрощает процесс развертывания. Поскольку приложения больше не конфликтуют с версиями библиотек DLL или других общих ресурсов среды, необходимость тестирования новых приложений на наличие конфликтов с существующими приложениями сводится к минимуму. Виртуальные приложения могут работать рядом с обычными установленными приложениями, поэтому нет необходимости выполнять общую виртуализацию. Однако виртуализация помогает избежать многих проблем и сокращает время на обращение пользователей в службу поддержки. Эффективное решение виртуализации приложений позволяет управлять виртуальными и установленными приложениями с помощью общего интерфейса. Виртуализация представлений Виртуализация представлений обеспечивает изоляцию процессорной обработки от графической подсистемы и средств вводавывода, что позволяет запускать приложение в одном месте, а работать с ним из другого места. При этом создаются виртуальные сеансы, удаленно предоставляющие пользовательский интерфейс приложений. Каждый сеанс может быть связан с выполнением только одного приложения, или пользователю может быть представлена вся настольная система с несколькими приложениями. В любом случае несколько виртуальных сеансов могут использовать одну и ту же установленную копию приложения. Виртуализация представлений Подобное выполнение приложений на общем сервере имеет следующие преимущества: При виртуализации представлений обработка происходит на сервере, оптимизированном по нагрузке и надежности, тогда как графические изображения, действия, выполняемые с помощью клавиатуры, мыши и других средств вводавывода, обслуживаются на терминале конечного пользователя. Данные могут быть централизованы и надежно сохранены на центральном сервере, а не на нескольких настольных компьютерах. За счет этого повышается безопасность, поскольку информация не распределяется между различными системами. Виртуализация представлений Кроме того, можно значительно сократить затраты на управление приложениями. Вместо обновления каждого приложения на каждом отдельно взятом компьютере необходимо изменить лишь одну общую копию на сервере. Виртуализация представлений также позволяет использовать более простые образы ОС и специализированные настольные компьютеры, называемые «тонкими» клиентами, что способствует снижению расходов на управление. Виртуализация представлений Компании больше не должны беспокоиться о несовместимости приложений и установленной на компьютере ОС. Эта проблема может быть решена и за счет виртуализации настольных систем, но виртуализация представлений позволяет просто запустить приложение на центральном сервере, а затем сделать его доступным для клиентских компьютеров с любой ОС. Виртуализация представлений В некоторых случаях виртуализация представлений может повысить производительность. Например, представьте себе клиент-серверное приложение, которое передает большое количество данных от центральной базы данных к клиентскому компьютеру. Низкая скорость соединения клиента и сервера или перегрузка канала связи приведет к медленной работе приложения. Одним из способов повышения производительности является запуск всего приложения (и клиентской, и серверной части) на компьютере с высокоскоростным подключением к базе данных, а затем с помощью виртуализации представлений это приложение можно сделать доступным для пользователей. Решение практических задач Разделение всех этих уровней способствует гораздо большей гибкости каждого аспекта ИТ-инфраструктуры. Аппаратное и программное обеспечение может использоваться более разнообразными способами, кроме того, и то и другое легче менять. За счет изоляции проблемных областей системы становятся гораздо более защищенными. Упрощаются многие задачи, выполняемые ИТ-персоналом. Устраняются неразрешимые ранее проблемы, ежедневно досаждавшие ИТ-персоналу. От ускорения развертывания приложений до обеспечения постоянной доступности систем, приложений и данных, до устранения трудностей, связанных с восстановлением и освобождением серверов и настольных компьютеров для тестирования и разработки, до сокращения расходов и повышения гибкости всей среды — виртуализация является мощным средством преобразования инфраструктуры, от центра обработки данных до настольных систем. Виртуализация хранилища Виртуализация хранилища, вообще говоря, означает создание логического, абстрактного представления физических устройств хранения. С ее помощью многие пользователи и приложения получают доступ к системам хранения вне зависимости от места расположения этой системы и способа управления ею. Она реализует физические системы хранения в среде, которая является общей для ряда серверов приложений. Представление физических устройств за уровнем виртуализации и управление ими осуществляется так, как если бы они были одним большим хранилищем без физических границ. Сетевая виртуализация Термин «сетевая виртуализация» используется для описания ряда различных моментов. Возможно, наиболее часто он используется в вопросах, связанных с виртуальной частной сетью (VPN). VPN обобщают понятие сетевого подключения, предоставляя удаленному пользователю доступ к внутренней сети организации так, как если бы он был физически подключен к этой сети. Сетевая виртуализация может помочь обеспечить защиту ИТ-среды от угроз, исходящих из Интернета, и одновременно предоставить удаленным пользователям быстрый и безопасный доступ к приложениям и данным. Виртуализация компьютерных классов (КК) В настоящее время доступен некоторый набор стандартизованных средств и методов, предназначенных для виртуализации различных аспектов работы КК. При выборе метода следует руководствоваться несколькими основными принципами: выбранный метод должен обеспечивать полную изоляцию программных сред друг от друга, должен быть эффективным и минимально снижать производительность компьютерного оборудования и телекоммуникационных каналов, а также должен быть удобным при настройке и администрировании. Виртуализация компьютерных классов (КК) Вполне естественно ожидать, что для различных программных сред в рамках одной модели КК целесообразно применять различные методы виртуализации. Рассмотрим программные среды, одним из ярких промеров которых является семейство офисных приложений компании Microsoft. Можно говорить, что для виртуализации данного класса программных сред стандартом де-факто является применение технологии терминального доступа к приложениям, но в данное время данную технологию специалисты компании Microsoft предлагают называть Presentation Virtualization. Виртуализация компьютерных классов (КК) Данная технология позволяет: создание универсальной среды для приложений; создание защищенной среды для приложений; провести замену толстого клиента тонким; использовать КК в маленьких филиалах и подразделениях; обеспечить доступ для мобильных пользователей; осуществлять контроль используемых лицензий; применять централизованные настройки среды для всех пользователей; решать проблем совместимости между приложениями Виртуализация компьютерных классов (КК) Что же касается виртуализации программных сред, использующих, например, технологии трехмерной графики, то решить эту задачу только указанными выше способами вообще невозможно, так как не существует методов и технологий, способных доставить инструкции по отображению трехмерных объектов на локальное устройство и выполнить их уже локально. Таким образом, для виртуализации таких сред необходимо, как минимум, применять полноценную виртуализацию отдельных программных сред, либо, как максимум, применять виртуализацию всей операционной системы на конечном устройстве в КК. Виртуализация компьютерных классов (КК) В последнем случае существует два подхода к виртуализации операционной системы. Первый основан на полной виртуализации, т е когда клиентская операционная система и все программные среды выполняются в ЦОД. В данном случае может применяться, а может и не применятся виртуализация программных сред внутри такой операционной системы. Второй подход основан на выполнении операционной системы на конечном клиентском устройстве в КК, но в виртуальной среде. Применение виртуализации компьютерных классов (КК) В данное время в ЮГИНФО ЮФУ в опытной эксплуатации находится КК в котором применяется решение на базе Vmware View. На клиентских компьютерах запускается хостовая система XP с ограниченными правами пользователя и далее автоматически запускается гостевая ОС из образа с централизованной системы хранения. При работе гостевой системы никакие изменения на системный диск не записываются, а для хранения пользовательских данных используется отдельный ресурс на системе хранения. Спасибо за внимание