понедельник, 26 апреля 2010 г.

Охота на MED-V'едя (часть I)

Не так давно я рассказывал о весьма полезном режиме работы VMware Workstation/Player - Unity.
Эта технология, как, например, и Seamless Mode в VirtualBox от SUN/Oracle позволяла обеспечить возможность 'прозрачной' работы с унаследованными приложениями для рядовых пользователей, компьютеры которых не поддерживали технологию аппаратной виртуализации (Intel VT-x/AMD-V). И лишь совсем недавно Microsoft выпустила обновление для Windows Virtual PC, позволяющее обойти это ограничение.

Что касается корпоративных пользователей, то для них Microsoft предлагает отдельное решение по виртуализации унаследованных ОС и приложений на рабочих станциях - Microsoft Enterprise Desktop Virtualization или по-простому - MED-V.

MED-V включает в себя ряд компонентов по централизованному созданию, доставке и управлению виртуальных рабочих столов в организациях. Отличительной особенностью MED-V от существующих VDI решений (VMware View, Citrix XenDesktop, Microsoft RDS и т.п.) является то, что виртуальные рабочие станции запускаются не на выделенном сервере, а непосредственно на рабочем компьютере пользователей. Отсюда проистекают основные достоинства решения, например: возможность работать в автономном режиме, без подключения к сети организации, монопольный доступ к ресурсам компьютера.

Однако, у MED-V есть и свои недостатки. Поскольку основное назначение MED-V - обеспечение совместимости с устаревшими приложениями, то и список гостевых ОС на текущий момент крайне ограничен: Windows 2000 Professional SP4 или Windows XP Professional SP2/SP3. Вдобавок, поскольку в качестве средства виртуализации на клиентских компьютерах используется Microsoft Virtual PC 2007 SP1, отсутствует возможность проброса USB устройств в гостевую ОС.

Еще одной особенностью является то, что MED-V не поставляется в виде отдельного продукта, а входит в состав MDOP (Microsoft Desktop Optimization Pack), пакета доступного для приобретения обладателям подписки Software Assurance, либо входящего в лицензию VDI Suite.

MED-V поддерживает различные методы доставки виртуальных машин и клиентов MED-V на пользовательские компьютеры. Внутри локальной сети компании доставка может осуществляться через существующие системы доставки ПО (ESD - Electronic Software Distribution), например, Microsoft SMS 2003/SCCM 2007, либо, что более вероятно, с помощью дистрибутивного Web сервера - одного из компонентов инфраструктуры MED-V.

Для филиалов или удаленных локаций удобнее использовать возможность консоли управления MED-V по созданию пакетов (набора файлов, которые могут в себя включать образ гостевой ОС, дистрибутив клиента MED-V и других компонентов) с последующим переносом пакета на конечный компьютер с помощью flash-накопителя или CD-диска.

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

Поскольку MED-V штука только на словах простая, я разделю рассказ о ней на две части. В первой я опишу процесс установки серверных и клиентских компонентов MED-V, во второй - процесс подготовки гостевой ОС для создания на ее основе образа для наших нужд.

Я буду использовать следующую инфраструктуру для развертывания MED-V:

  • Контроллер домена
  • Сервер MED-V
  • Дистрибутивный Web сервер
  • Клиент с консолью управления MED-V

Установка и настройка дистрибутивного Web сервера
Дистрибутивный Web сервер используется для хранения и распространения образов гостевых ОС и представляет из себя рядовой сервер с установленными компонентами IIS и BITS.

В качестве ОС я использовал Windows Server 2008 SP2

Для установки Дистрибутивного Web сервера запустите оснастку Server Manager. Выберите Roles -> Add Roles.

На странице Before You Begin нажмите Next.

На странице Server Roles выберите Web Server (IIS) и нажмите Next.

На странице Web Server (IIS) нажмите Next.

На странице Role Services выберите дополнительные компоненты IIS:
  • Basic Authentication
  • Windows Authentication
  • Client Certificate Mapping Authentication
На странице Confirmation нажмите Install.

После завершения установки нажмите Finish.

Запустите оснастку Server Manager. Выберите Features -> Add Feature.

На странице Features выберите BITS Server Extensions и нажмите Next. Следуйте инструкциям на экране. После завершения установки нажмите Finish.

Создайте на дистрибутивном сервере папку (в ней будут храниться образы гостевых ОС) и настройте к ней общий доступ в режиме чтения для группы Everyone и записи для администраторов MED-V.
Откройте консоль управления сервером IIS: Start -> Administrative Tools -> Internet Information Services (IIS) Manager.

Раскройте узел Sites, щелкните правой кнопкой мыши по Default Web Site и выберите Add Virtual Directory...

В поле Alias задайте имя, а в поле Physical path путь к созданной папке. Нажмите OK.
Выберите созданную папку, в области Features View откройте BITS Uploads.
Установите Allow clients to upload files и в области действия нажмите Apply.
Вновь выберите папку, в области Feature View откройте MIME Types.

С помощью кнопки Add... в области действий добавьте два новых типа:
  • .ckm (application/octet-stream)
  • .index (application/octet-stream)

  • При необходимости для усиления безопасности вы можете выдать сертификаты от доверенного Центра Сертификатов и назначить их текущему сайту на сервере IIS.

    Закройте консоль управления IIS и перезапустите службу из командной строки CMD:
    iisreset /noforce

    На этом настройка дистрибутивного web сервера завершена.

    Установка и настройка сервера MED-V
    Установка серверных компонентов MED-V достаточно проста, однако в зависимости от ваших требований к функционалу, вам дополнительно может потребоваться развернуть Центр Сертификации и/или SQL Server (в данном примере, я использовал Центр Сертификации на базе Windows Server 2008, установленный на контроллер домена и SQL Server 2008 Express Edition, установленный на сервер MED-V).

    Запустите установщик сервера MED-V (MED-V_Server_x86.msi или MED-V_Server_x64.msi) и следуйте инструкциям на экране.
    Примите лицензионное соглашение и при необходимости изменить путь, куда будет установлена программа. После завершения установки убедитесь, что выбран Launch MED-V Server Configuration Manager и нажмите Finish. Кроме того, вы можете запустить мастер из Start -> All Programs -> MED-V -> MED-V Server Configuration Manager.

    На вкладке Connections вы можете изменить стандартные порты для подключения к серверу, а также повысить безопасность, разрешив подключения к серверу MED-V по протоколу HTTPS.
    Для этого установите Enable encrypted connections (https), using port и при необходимости измените порт по-умолчанию (443). После выдачи сертификата вам потребуется его назначить через консоль CMD, используя команду:
    netsh http add sslcert ipport=<IP_АДРЕС:НОМЕР_ПОРТА> certhash=<ОТПЕЧАТОК СЕРТИФИКАТА> appid=<GUID_ПРИЛОЖЕНИЯ>
    , где <IP_АДРЕС:НОМЕР_ПОРТА> - соответственно, IP адрес сервера и номер порта, который используется для подключения (по-умолчанию, 443);
    <ОТПЕЧАТОК СЕРТИФИКАТА> - Thumbprint отпечаток, который можно посмотреть на вкладке Details в свойствах выданного сертификата (требуется указывать без пробелов);
    <GUID_ПРИЛОЖЕНИЯ> - GUID установленного приложения.
    GUID приложения проще всего посмотреть через regedit, открыв ветку HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID_ПРИЛОЖЕНИЯ} и найдя нужный GUID по отображаемому имени (DisplayName).
    На вкладке Images укажите UNC путь к ранее созданной общей папке, где будут размещаться образы, а также ссылку на web папку дистрибутивного WEb сервера.
    На вкладке Permissions с помощью кнопки Remove удалите группу Everyone, а затем с помощью кнопки Add... добавьте группы Domain Admins и Domain Users. Напротив группы Domain Admins установите Changes Allowed. Пользователи у которых отсутствуют права на изменения настроек сервера (Changes Allowed) не смогут создавать, удалять и изменять политики, а также загружать упакованные образы гостевых ОС на сервер.
    Если вам требуется настроить отчеты MED-V и у вас установлен сервер SQL, то на вкладке Reports установите Enable reports, после чего создайте новую базу, нажав Create Database, и проверьте соединение, нажав Test Connection.
    Сохраните все изменения, нажав Apply. Перезапустите службу MED-V, нажав OK.

    Установка клиента и консоли управления
    Управление политиками и шаблонами гостевых ОС осуществляется через консоль управления MED-V Management, устанавливающуюся на клиентскую ОС (Windows XP, Windows Vista, Windows 7).

    Для установки клиента запустите установщик (MED-V.msi) и следуйте инструкциям на экране.

    На странице MED-V Settings выберите Install the MED-V management application а также укажите имя сервера MED-V (Server address) и порт для подключения. Если вы настроили подключение через HTTPS, выберите Server requires encrypted connections (https). При необходимости также измените путь к локальной папке для размещения образов гостевых ОС. Нажмите Next.
    После завершения установки нажмите Finish.

    Запустите консоль управления Start -> All Programs -> MED-V -> MED-V Management. Введите учетные данные пользователя для подключения.
    Поздравляю с успешной настройкой сервера MED-V.
    Продолжение настройки MED-V во второй части.

    понедельник, 12 апреля 2010 г.

    Установка и настройка Citrix XenDesktop 4.0 FP1

    Признаться, я всегда обходил стороной продукты компании Citrix, считая их сложными в установке и настройке (чего только стоит процедура получения trial лицензий для XenApp), и поэтому постоянно откладывал знакомство с ними на будущее. Конечно, в ознакомительных целях я пару раз устанавливал XenServer, создавал виртуальные машины, настраивал кластер, но, в общем-то, на этом мои познания в Citrix'е заканчивались.

    Но недавно я натолкнулся на статью о развертывании Citrix XenDesktop на одном из зарубежных сайтов vmguru.nl.

    Не знаю, что сподвигло меня самостоятельно попробовать установить XenDesktop, но (hint!), свое знакомство с продуктом я начал с прочтения руководства по развертыванию и просмотра видео по установке XenDesktop4 Express Tutorial.wmv, идущее в комплекте с дистрибутивом XenDesktop 4 Feature Pack 1 - Express Edition (загружается с сайта Citrix после прохождения регистрации).

    Статья, представленная ниже, по большей части повторяет оригинальное руководство по установке за исключением одного - на момент развертывания у меня не было свободной машины, на которой можно было поставить XenServer, поэтому в качестве среды виртуализации была выбрана VMware vSphere 4 (ESX 4 и vCenter 4.0).

    Итак, что же такое XenDesktop? Инфраструктура XenDesktop включает в себя следующие серверы, службы и компоненты:

    • Служба каталога Active Directory - предоставляет централизованное управление учетными записями пользователей и компьютеров, информация о ферме XenDesktop хранится внутри службы каталога.
    • Сервер(ы) виртуализации - Citrix XenDesktop позволяет развертывать виртуальные рабочие станции на Citrix XenServer, VMware vSphere (при наличии vCenter) и Microsoft Hyper-V (при наличии MS SCVMM 2008).
    • Desktop Delivery Controller - служба, устанавливающаяся на сервер или группу (ферму) серверов, которая выполняет роль менеджера соединений, производит аутентификацию пользователей при подключении, контролирует виртуальные рабочие станции, а также непосредственно взаимодействует с другими компонентами инфраструктуры.
    • License Server - сервер лицензирования, отвечающий за выдачу пользователям лицензий на подключение и использование дополнительных функций Citrix XenDesktop.
    • Virtual Desktop Agent - агент, который устанавливается внутри виртуальной рабочей станции и позволяет Desktop Delivery Controller управлять этой машиной, а также подключаться к ней удаленно по протоколу ICA, использовать локальные принтеры и usb-устройства.
    • Citrix Online Plugin Full/Citrix Receiver и Citrix Online Plugin Web - клиентский компонент, устанавливающийся на компьютер с которого пользователь подключается к виртуальной рабочей станции.
    Я намеренно не буду рассматривать некоторые компоненты Citrix XenDesktop, например, Citrix Presentation Server Console - для управления политиками доступа к виртуальным машинам или Web Interface Manager - для обеспечения возможности подключения к виртуальным машинам через Web сайт. Кроме того, XenDesktop самостоятельно не предоставляет средств по автоматизированному созданию виртуальных рабочих станций, эту роль он на пару делит с другим продуктом Citrix - Provisioning Services - вещи достаточно большой и сложной, которой следовало бы посвятить отдельную статью, а то и две.

    Установка сервера Citrix
    Перед тем, как приступать к установке вам потребуется подготовить вашу инфраструктуру - развернуть сервер виртуализации, контроллер домена и, как минимум, еще один сервер для Desktop Delivery Controller. В качестве ОС поддерживаются Windows Server 2003 (R2) (x86/x64) с Service Pack 2.

    Перед установкой создайте структуру организационных подразделений (OU), которые бы отражали иерархию вашей организации, включающую пользователей, виртуальные рабочие станции, стационарные компьютеры, тонкие клиенты и т.д.

    Скопируйте установочные файлы с CD диска, файла-образа DDC_VDA.iso (находится в архиве XenDesktop_ExpressFP1.zip) или сетевой папки на локальный диск сервера.

    Установку лучше всего запускать из-под доменной учетной записи, чтобы в дальнейшем вам не пришлось вручную назначать дополнительных администраторо системы и не было проблем с Active Directory Configuration Wizard.

    Запустите установщик. Выберите Install Server Components.

    Примите лицензионное соглашение (I accept the license agreement) и нажмите Next.

    На странице Select Components оставьте все выбранные компоненты по-умолчанию. При установке первого сервера Citrix Desktop Delivery Controller вам потребуется сервер лицензирования, который может быть размещен на этом же или отдельном сервере. Несколько серверов Citrix Desktop Delivery Controller могут обращаться к одному и тому же серверу лицензирования. Нажмите Next.
    На странице Create or Join a Farm укажите имя фермы (Type a name for the farm). При установке дополнительных серверов Citrix Desktop Delivery Controller вы можете объединять несколько серверов в один балансируемый/отказоустойчивый пул, указывая одинаковое имя фермы. Нажмите Next.
    На странице Specify Farm Edition укажите подходящую редакцию Citrix XenDesktop. В тестовых целях вы можете установить Citrix XenDesktop Express Edition, которая отличается от Citrix XenDesktop VDI Edition количеством поддерживаемых пользователей (до 10). Различия между редакциями можно посмотреть здесь. Нажмите Next.

    На странице Optional Server Configuration нажмите Next.

    На странице Start Installation нажмите Next.

    Если компонент IIS не был установлен, то система попросит вас вставить диск с дистрибутивом Windows Server для копирования необходимых файлов.

    Также при установке потребуется перезагрузить систему и подтверждать установку драйверов для принтеров. Поэтому не уходите надолго пить кофе.

    На странице завершения установки (Setup Complete) оставьте Configure an Active Directory OU выбранным и нажмите Finish.

    Запустится мастер Active Directory Configuration Wizard. На первой странице нажмите Next.

    На странице Configure Farm OU in Active Directory с помощью кнопки Browse укажите путь к OU, где будет размещаться информация о ферме и нажмите Next.
    На странице Select Controllers с помощью кнопок Add Local Machine или Add добавьте установленный сервер Citrix Desktop Delivery Controller.
    На странице Completing the Active Directory Configuration Wizard нажмите Finish. Система выполнит необходимые настройки. Закройте окно результатов (Close).

    Добавление лицензии
    Перед подключением к виртуальным рабочим станциям вам потребуется добавить необходимые лицензии. В тестовой среде вы можете воспользоваться файлом лицензий XenDesktop_Express_Edition_License.lic, предоставляющим подключение для 10 пользователей.

    Для добавления лицензий запустите консоль управления лицензиями Start -> All Programs -> Citrix -> Management Consoles -> License Management Console.

    На странице License Management Console выберите Configure License Server.
    Выберите Step 2: Copy License file to this license server.
    С помощью кнопки Browse укажите путь к файлу лицензий, а затем нажмите Upload.

    Подготовка виртуальной рабочей станции
    Теперь настала очередь настроить виртуальную рабочую станцию. Citrix XenDekstop 4.0 FP 1 поддерживает следующие 32-х и 64-х разрядные ОС: Windows XP Professional SP3 (Windows XP Professional x64 SP2), Windows Vista SP2, Windows 7.

    Перед установкой агента вам потребуется создать и настроить виртуальную машину на сервере ESX, установить ОС, необходимые программы и обновления, а также добавить виртуальную машину в домен. Обратите внимание, что на название виртуальной машины и ее Netbios имя должны совпадать, в противном случае у вас будут небольшие проблемы на этапе презентации виртуальной машины в Desktop Delivery Controller.

    После завершения всех необходимых предварительных шагов запустите установщик с диска DDC_VDA.iso и выберите Install Virtual Desktop Components.
    На странице Welcome to the Citrix Desktop Agent Setup Wizard нажмите Next.

    На странице End-User License Agreement примите лицензионное соглашение (I accept the terms in the License Agreement). Нажмите Next.

    На странице Port Number оставьте порт по-умолчанию (TCP: 8080) и нажмите Next.

    На странице Windows Firewall Configuration оставьте Automatically configure Windows Firewall и нажмите Next.

    На странице Farm Selection выберите имя фермы, которое было сконфигурировано при установке сервера, и нажмите Next.
    На странице Ready to Install нажмите Intall для установки агента.

    После завершения установки нажмите Finish. Система предложит перезагрузиться. Нажмите Yes.

    Разрешение подключений к VMware vCenter
    Если в качестве сервера виртуализации вы используете VMware vSphere, то перед следующим шагом вам потребуется выполнить следующие действия.

    Citrix Desktop Delivery Controller для управления vCenter использует протокол HTTP или HTTPS, подключаясь к Web-директории /sdk. По умолчанию, доступ к этой директории разрешен лишь по протоколу HTTPS. Проблема заключается в том, что Citrix Desktop Delivery Controller не поддерживает самоподписанных сертификатов vCenter и не может подключиться к серверу.

    Для решения проблемы вы можете поступить следующим образом.

    Если вы планируете подключаться по протоколу HTTPS, выдайте серверу vCenter сертификат от доверенного Центра Сертификации. Подробное об этом в статье.

    Если вы планируете подключаться по протоколу HTTP, настройте сервер vCenter. Для этого зайдите на сервер, откройте в текстовом редакторе файл proxy.xml из директории "C:\Documents and Settings\all users\Application Data\vmware\VMware VirtualCenter". Найдите там строчки:
    <e id="5">
    <_type>vim.ProxyService.LocalServiceSpec</_type>
    <accessMode>httpsWithRedirect</accessMode>
    <port>8085</port>
    <serverNamespace>/sdk</serverNamespace>
    </e>

    и замените httpsWithRedirect на httpAndHttps как показано на рисунке. После этого перезапустите службу VMware VirtualCenter Server.

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

    На сервере Citrix запустите консоль управления виртуальными рабочими станциями Start -> All Programs -> Citrix -> Management Consoles -> Delivery Services Console.
    В мастере Configure and run discovery на вкладке Welcome нажмите Next.

    На вкладке Select Products or Components нажмите Next.

    На вкладке Select Controllers с помощью кнопок Add Local Computer или Add добавьте установленный сервер и нажмите Next.
    На вкладке Preview Discovery нажмите Next.

    После завершения операции нажмите Finish.

    Для добавления виртуальной рабочей станции требуется создать группу рабочих станций.

    Для этого раскройте Citrix Delivery Services Console -> Citrix Resources -> Desktop Delivery Controller -> <ИМЯ_ФЕРМЫ> щелкните правой кнопкой мыши по Desktop Groups и выберите Create desktop group.
    Запустится мастер создания группы.

    На вкладке Welcome нажмите Next.

    На вкладке Assignment Type выберите один из типов назначения рабочих столов пользователям.
    • Pooled - При подключении к данной группе, пользователь будет перенаправлен на первую свободную машину в пуле. После отключения, машина будет ожидать подключения к ней этого или любого другого пользователей.
    • Assigned:


      • Assign on first use - при первом подключении к любой машине из данной группы, машина закрепляется за данным пользователем и используется при всех последующих подключениях.
      • Pre-assigned - администратор вручную указывает закрепленные за конкретными пользователями машины.
    Нажмите Next.
    На вкладке Hosting Infrastructure выберите виртуальную инфраструктуру на которой работают виртуальные рабочие станции. Например, VMware vSphere (VMware virtualization). Нажмите Next.

    На вкладке Logon Information укажите адрес сервера и учетные данные для подключения. Для VMware vCenter требуется указать адрес в формате http://<ИМЯ_СЕРВЕРА>/sdk или https://<ИМЯ_СЕРВЕРА>/sdk. Нажмите Next.
    На вкладке Virtual Desktops с помощью кнопки Add добавьте виртуальные рабочие станции в группу. Обратите внимание, если имя рабочей станции в домене и в виртуальной машины различаются, то система не сможет сопоставить эти имена и это придется сделать вручную с помощью кнопки Edit. Чтобы упростить процесс вы можете заранее создать файл в формате .csv и добавить данные из него с помощью кнопки Import from File.
    Нажмите Next.
    На вкладке Users добавьте пользователей или группы из AD, которые могут подключаться к виртуальным рабочим станциям в этой группе. Нажмите Next.
    На вкладке Desktop Group Name задайте имя (Display name) и описание (Description), которые будут видеть пользователи при подключении к серверу Citrix. Нажмите Next.
    На вкладке Icon можете поменять стандартный ярлык. Нажмите Next.

    на странице Publishing Options оставьте все параметры по-умолчанию. Нажмите Finish.

    Под Desktop Groups появится созданная группа, в которой будут отображаться виртуальные рабочие станции. Системе потребуется некоторое время, чтобы зарегистрировать виртуальные машины.
    Машины готовые к подключению будут иметь статус Idle.
    Подключение к виртуальным рабочим станциям
    Последний шаг - установка Citrix Online Plugin на клиентской рабочей станции для подключения к серверу Desktop Delivery Conroller и виртуальным рабочим станциям.

    На выбор предоставляются два клиента CitrixOnlinePluginFull - для установки полной версии клиента и CitrixOnlinePluginWeb - для установки клиента с подключением через Web, расположенных в папке дистрибутива DDC_VDA.iso:
    X:\w2k3\en\Citrix Receiver and Plug-ins\Windows\Online Plug-in
    , где X - буква диска.

    Дождитесь завершения процесса установки.

    При необходимости смените имя сервера, щелкнув правой кнопкой мыши по значку в трее и выбрав Change Server.
    Введите логин и пароль для входа на сервер.
    Щелкните по ярлыку Citrix Receiver левой кнопкой мыши и выберите виртуальную группу к которой хотите подключиться.
    Кроме того, вы пожете подключиться к виртуальным рабочим станциям через Web сайт, набрав в строке Web браузера на клиенте адрес в фомате: HTTP://<ИМЯ_СЕРВЕРА>/Citrix/DesktopWeb/
    Остальное - на ваше усмотрение.

    Заключение
    Как вы могли убедиться - процесс установки и первоначальной настройки компонентов XenDesktop достаточно прост. Главное - соблюдать инструкции от Citrix и помнить о возможных подводных камнях.