вторник, 4 мая 2010 г.

Работаем с App-V (часть I)

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

Сегодня и в последующих статьях я постараюсь затронуть данную тему, а начну, пожалуй, с достаточно известного продукта компании Microsoft, который носит название App-V.

Как и в случае с Med-V, App-V доступен лишь в составе MDOP (Microsoft Desktop Optimization Pack), приобрести который могут лишь подписавшись на Software Assurance, либо купив лицензию VDI Suite.

Так чем же так хороша виртуализация приложений и в частности App-V?


App-V
Для работы рядового пользователя на современном компьютере могут понадобиться десятки, если не сотни различных приложений. Установить их на компьютеры - это еще пол-беды, требуется также их своевременно обновлять, обеспечивать работу нескольких версий (например, MS Office 2003/2007/2010 или Internet Explorer 6,7,8) и совместимость с другими приложениями, наконец, удалять программы, когда они перестают быть нужны (не всегда удается удалить приложение полностью, часто оно оставляет лишние папки/файлы, ключи реестра). Решить эти проблемы позволяет виртуализация приложений.

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

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

Пакеты виртуальных приложений App-V можно распространять, используя существующие средства доставки приложений на рабочие станции (например, SCCM 2007). App-V прекрасно работает с решениями терминального доступа и виртуализации представления (на базе MS RDS или Citrix XenApp), а также с VDI (VMware View, MS RDS, Citrix XenDesktop). В последнем случае вы можете существенно сэкономить на дисковом пространстве виртуальных рабочих станций, настроив на клиентах read only кэш для виртуальных приложений и разместив его в общей папке, доступной для всех клиентов по сети. Учитывая, что установленные на рабочих станциях приложения могут занимать и 10 и 20 Гб свободного пространства, экономия получается весьма весомой.

Наконец, с помощью App-V вы можете контролировать лицензионную чистоту, ограничивая количество одновременно запущенных экземпляров приложений.

Инфраструктура App-V включает в себя следующие компоненты:

  • Application Virtualization Client – компонент,устанавливающийся на клиентскую рабочую станцию или терминальный сервер, и позволяющий получать, обновлять и запускать виртуализованные приложения.
  • Microsoft Application Virtualization Sequencer - компонент, устанавливающийся на эталонный компьютер, на котором выполняется установка, настройка и упаковка приложения.
  • Application Virtualization Management Server – централизованный сервер, который позволяет опубликовывать виртуализованные приложения, настраивать к ним доступ, управлять лицензиями и многое другое.
  • Application Virtualization Management Console - оснастка, позволяющая подключаться и управлять одним или несколькими App-V Management Server'ами.
  • IIS Server – позволяют подключаться к управляющим серверами App-V Management Server с помощью консоли App-V Management Console.
  • SQL сервер – используется для размещения баз данных управляющих серверов.
  • Streaming сервер, позволяющий распространять пакеты приложений на клиентские компьютеры.

Упакованное виртуальное приложение (пакет) включает в себя следующие файлы:
.sft – контейнер, в котором находится упакованное приложение и зависимые файлы.
.osd – файл с описанием параметров приложения, таких как: версия пакета и приложения, путь к .sft контейнеру, путь к ярлыкам приложения, зависимые расширения файлов.
.sprj - файл с описанием проекта, использующийся для повторного создания пакета приложения (например, при обновлении).
.xml – файл-манифест, использующийся для публикации приложения (например по протоколу HTTP(s)).
.ico - один или несколько файлов, содержащих изображение для ярлыков приложений
.msi – файл для установки пакета приложения на клиенте вручную (используется в Standalone конфигурации) или с помощью систем доставки приложений (например, MS SCCM 2007).

App-V обычно развертывают в одной из трех конфигураций:
Standalone конфигурация. Включает в себя только клиентов App-V и Sequencer’а. Доставка приложений на рабочие станции осуществляется вручную или сторонними средствами: через общие папки, внешние накопители, системы ESD (electronic software deployment, например: MS SCCM 2007 R2). Перед тем, как клиент сможет начать работать с приложением его потребуется установить с помощью .msi. Соответственно, .msi файл должен быть создан на этапе пакетирования приложения.

Streaming конфигурация – включает в себя клиентов App-V, Sequencer и один или несколько Streaming серверов. Как правило такая конфигурация используется в филиалах, где нет возможности развернуть полноценный управляющий сервер App-V. Подготовленные пакеты приложений копируются на Streaming сервер. Streaming сервер обеспечивает публикацию (информирование клиентов о доступных приложениях) и streaming (загрузку пакетов) приложений по протоколам RTSP (работает по порту TCP 544), RTSPS (обеспечивает безопасную передачу данных, TCP 322). Поскольку Streaming сервером нельзя управлять с помощью консоли, то все настройки осуществляются через реестр и через правку прав ACL на файлы и папки опубликованных приложений.

Management конфигурация включает в себя один или несколько Management серверов и позволяет централизованно управлять публикацией, обновлением, доступом к приложениям с помощью консоли App-V Management Console. Публикация и streaming приложений осуществляется по протоколам RTSP, RTSPS. Требует наличия SQL сервера.

Кроме того, для каждой из трех конфигураций вы всегда можете развернуть и использовать дополнительные компоненты: IIS сервер или SCCM 2007 R2 для публикации и streaming'а приложений, файловые серверы для хранения и распространения пакетов приложений.

В сегодняшней статье я рассмотрю самый просто вариант установки App-V - Standalone. Для этого я буду использовать два компьютера с клиентскими ОС Windows 7 Ultimate x86. Для установки я загрузил последнюю на сегодняшний день версию App-V 4.6 в составе пакета MDOP 2010 Refresh.

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

Все виртуальные приложения должны ставиться на отдельный раздел или диск (по-умолчанию, принято давать этому разделу букву "Q:") в отдельный каталог, который должен удовлетворять стандарту наименования 8.3 (например, MYOFFICE.2K7).

Поэтому перед установкой Sequencer добавьте еще один виртуальный диск, отформатируйте его в файловой систему NTFS и присвойте букву "Q:".

Запустите установщик Setup.exe из папки X:\App-V\Installers\4.6\Sequencer\x86\, где X - буква диска.

Если у вас отсутствует пакет Microsoft Visual C++ 2005 SP1 Redistributable Package, система предложит установить его. Нажмите Install.
На стартовой странице нажмите Next.
На странице License Agreement примите лицензионное соглашение (I accept the terms in the license agreement) и нажмите Next.
На странице Destination Folder выберите папку для установки и нажмите Next.
На странице Ready to Install the Program нажмите Install.
Дождитесь окончания установки и нажмите Finish.

Подготовка пакета приложения
В качестве примера я создам пакет приложения Adobe Reader 9.

Перед тем, как приступать к установке приложения, создайте на диске Q: отдельную папку, например ADOBERDR.PDF.

Запустите Microsoft Application Virtualization Sequencer из Start -> All Programs -> Microsoft Application Virtualization.

В главном окне программы выберите Create a Package.
Запустится мастер Sequencing Wizard. На первой странице Package Information введите название пакета (Package Name) и комментарии (Comments). Нажмите Next.
На странице Monitor Installation нажмите Begin Monitoring. В окне Browse For Folder укажите путь к папке созданной ранее и нажмите OK.
Дождитесь, пока Sequencer соберет необходимые сведения о системе, затем откройте папку, где располагается дистрибутив Adobe Reader и запустите установщик (например, AdbeRdr910_en_US.exe)

Выполните стандартную установку Adobe Reader, изменив стандартную папку для установки приложения с C:\Program Files\Adobe\Reader 9.0\ на Q:\ADOBERDR.PDF. После завершения установки запустите Adobe Reader и выполните необходимые установки (примите лицензионное соглашение, отключите автоматическое обновление и п.р.).
Вернитесь в Sequencing Wizard и нажмите Stop Monitoring. Дождитесь окончания процесса сбора данных и нажмите Next.
На странице Configure Applications убедитесь, что Adobe Reader 9 доступен в разделе Applications. При необходимости вы можете добавить или удалить дополнительные файлы, настроить ассоциации с расширением файлов. Нажмите Next.
На странице Launch Applications нажмите Launch All, дождитесь успешного запуска Adobe Reader и затем закройте его. Нажмите Next.
На странице Sequence Package дождитесь окончания работы Sequencer и нажмите Finish.

В окне Microsoft Application Virtualization Sequencer перейдите на вкладку Deployment и установите Generate Microsoft Windows Installer (MSI) Package и Compress Package.
Щелкните по Package -> Save as и укажите путь, где будет сохранен пакет приложения. Откройте указанную папку и убедитесь, что приложение успешно сохранено.

Установка App-V Client с помощью Мастера
При установке Standalone App-V Client вам потребуется изменить некоторые параметры, принятые по-умолчанию.

Для установки App-V через графический интерфейс сделайте следующее.

Запустите установщик Setup.exe из папки X:\App-V\Installers\4.6\Client\x86\, где X - буква диска.

На стартовой странице нажмите Next.
На странице License Agreement примите лицензионное соглашение (I accept the terms in teh license agreement) и нажмите Next.
На странице Microsoft Update Opt In выберите настройки обновления и нажмите Next.
На странице Setup Type выберите тип установки Custom и нажмите Next.
На странице Destination Folder выберите директорию для установки App-V и нажмите Next.
На странице Application Virtualization Data Location оставьте по-умолчанию, либо измените параметры установки. Обратите внимание на предпочитаемую букву виртуального диска, которая должна совпадать с настройками диска на Sequencer. Нажмите Next.
На странице Cache Size Settings задайте размер кэша, который будет отводиться под хранение пакетов виртуальных приложений. Нажмите Next.
На странице Runtime Package Policy Configuration отключите Require User authorization even when cached и включите Allow streaming from file. Также отключите On Launch и On Login в области Auto Load и выберите Do not automatically load applications. Нажмите Next.
На странице Publishing Server оставьте настройки по-умолчанию и нажмите Next.
На странице Ready to Install the Program нажмите Install. Дождитесь окончания установки и нажмите Finish.

Установка App-V Client через консоль
Если вам требуется установить клиент на несколько рабочих станций, то гораздо проще сделать это с помощью скрипта. Tim Mangan подготовил отличный документ, описывающий процесс установки клиента с использованием дополнительных ключей.

Просто запустите установщик Setup.exe со следующими параметрами:
Setup.exe /s /v"/qn SWICACHESIZE=\"10000\" REQUIREAUTHORIZATIONIFCACHED=\"0\" ALLOWINDEPENDENTSTREAMING=\"1\" AUTOLOADONLAUNCH=\"0\" AUTOLOADONLOGIN=\"0\" "
, где SWICACHESIZE - максимальный размер места на диске в МБ, которое отводится под кэш виртуальных приложений;
REQUIREAUTHORIZATIONIFCACHED - параметр отвечающий за требование авторизации на сервере при запуске приложения из кэша;
ALLOWINDEPENDENTSTREAMING - разрешает запуск приложений установленных вручную;
AUTOLOADONLAUNCH - отвечает за фоновую загрузку приложения при запуске;
AUTOLOADONLOGIN - отвечает за фоновую загрузку приложения при входе пользователя в систему.
С другими параметрами Setup.exe вы можете ознакомиться здесь.

Копирование и запуск виртуального приложения на клиенте
Последнее, что осталось сделать – скопировать полученный на Sequencer’е пакет (папку со всеми файлами, кроме .sprj) на клиентский компьютер и установить его, запустив .msi файл.

На первой странице нажмите Next. Дождитесь окончания установки и нажмите Close.

Обратите внимание, что ярлык установленного приложения появился на рабочем столе (если вы выбрали соответствующую настройку на этапе упаковки приложения).

Щелкните по ярлыку и запустите приложение. В трее появится значок App-V.

Вот, собственно, и все. В следующий раз я расскажу о том, как автоматизировать процесс публикации и доставки приложений, добавив в нашу инфраструктуру App-V Streaming сервер.

Материалы
При подготовке данной статьи использовались следующие материалы:
  1. Microsoft App-V 4.5 Client in Stand-Alone Mode
  2. App-V Standalone Client Overview

6 комментариев: