VMware Horizon 7. Часть 1: Установка и развертывание View

Alexander Bazhenov
24 min readJan 9, 2017

VMware Horizon View — продукт для виртуализации персональных компьютеров, содержащий в себе ряд компонентов для организации рабочей среды, позволяя централизованно управлять размещенными на сервере рабочими станциями. Horizon View входит в состав бандла Horizon, который в свою очередь лицензируется в трех вариантах: Standard, Advanced и Enterprise Edition. И хотя лицензирование, как и набор поставляемых компонентов для каждой из редакций являются отдельной темой, из основных компонентов Horizon View можно выделить следующие:

  • Connection Server (или Standart Server) — основной компонент и основная роль, которая должна быть установлен в первую очередь. Содержит основную консоль управления, где определяются пулы десктопов (desktop pools), приложения, права доступа и тд.
  • Security Server — сервер безопасности, позволяющий получить пользователям безопасный доступ к внутренней сети из интернета.
  • Replica Server — реплицированная копия Connection Server’а. После того, как развернут первый Connection Server, другие считаются реплицированными. Их функционал состоит в том, чтобы обеспечить резервирование, сбалансировать нагрузку и, тем самым, повысить доступность.
  • Enrollment Server — используется для создания True SSO, который предоставляет возможность пройти проверку подлинности в Microsoft Windows, сохраняя при этом все привилегии домена, при этом не требуя от пользователей предоставлять учетные данные Active Directory. True SSO представляет собой технологию VMware Horizon, которая объединяет VMware Identity Manager 2.6 с Horizon 7. VMware Identity Manager Standard входит в редакции VMware Horizon 7 Advanced и Enterprise.
  • Composer Server — позволяет использовать linked-клоны и разбиение данных на слои.
  • View Agent — позволяет использовать рабочую станцию, или сервер как “источник”.

Подготовка инфраструктуры.

Для развертывания Horizon View 7 потребуется, как минимум, один физический сервер — хост с установленным ESXi версии 6.0, или выше (на момент тестирования от создания отказоустойчивого кластера VMware из двух и более хостов можно отказаться). Далее на хосте ESXi разворачиваются необходимые компоненты Horizon View, большинство из которых могут так же размещаться и на операционных системах, установленных напрямую на “железо” (без установки гипервизора). Управление средой Horizon View 7 возможно только в домене Active Directory и в то же время управляющие компоненты не могут быть установлены на контроллерах домена.

Ниже будет рассмотрен процесс установки компонентов Horizon View 7.0.1 с использованием гипервизора VMware ESXi 6.0U2.

В первую очередь необходимо установить Connection Server и Security Server (если доступ из интернет во внутреннюю сеть не требуется Security Server можно не устанавливать). Для этого потребуется две виртуальных машины с Windows Server 2008R2, или Windows Server 2012R2, введенных в домен Active Directory. Соответственно, потребуется, как минимум, еще одна виртуальная машина, выполняющая функцию контроллера домена Active Directory.

Первоначально я использовал три виртуальных машины Windows Server 2012R2 со статическими IP адресами, 2vCPU и 4Гб оперативной памяти на каждую:

  • vconnect.domain.local (192.168.3.230) — Horizon View Connection Server;
  • vsecurity.domain.local (192.168.3.231) — Horizon View Security Server;
  • dc-01.domain.local (192.168.3.241) — контроллер домена Active Directory.

Более конкретные системные требования для установки каждого из компонентов Horizon View vмогут варьироваться от объема масштабируемой системы (см. ниже для каждого компонента).

Для Horizon View так же потребуется vCenter Server, который аналогично не устанавливается на контроллере домена Active Directory. Можно использовать linux-версию — vCenter Server Appliance, установка которого была рассмотрена здесь:

  • vcsa-01.vdi.local (192.168.3.243) — vCenter Server Appliance.

Обратите внимание, что доменный контроллер Active Directory должен стартовать до того, как стартует vCenter Server.

Установка Connection Server.

Для установки Horizon View Connenction Server’а 7.0.1 потребуется:

  • процессор: не ниже Pentium IV 2.0GHz (желательно — 4 ядра, или 4 vCPU);
  • сетевой адаптер: 100Мб/с (желательно — 1 Гб/с) подключенный физически и доступный по сети для доменного контроллера Active Directory (контроллер AD устанавливается на отдельную операционную систему);
  • оперативная память: 4Гб (для нормальной работы 50 и более удаленных рабочих столов рекомендуется 10Гб и более);
  • операционная система: Windows Server 2008 R2 SP1 (Standart, Enterprise, или Datacenter), или Windows Server 2012 R2 (Standard, или Datacenter). Начиная c Horizon View версии 7.0.3. поддерживается Windows Server 2016.
Рис. 1. Создание группы ‘Horizon View Admins’ и пользователя ‘vewadmin’.
Рис. 2. Запуск установщика Horizon View Connection Server.

Прежде, чем приступить установке Connection Server’а, в домене Active Directory domain.com необходимо создать группу администраторов Horizon View включающую, как минимум, одного пользователя — например, viewadmin. Для предотвращения проблем с недостатком прав я сделал группу администраторов Horizon View (Horizon View Admins — см. рис. 1) членом группы администраторов домена. Таким образом, группа администраторов Horizon View является администраторами домена domain.local. На всякий случай, я буду производить установку всех компонентов Horizon View не через Remode Desktop, а непосредственно через консоль гипервизора (в vSphere Client на виртуальной машине вызвать меню по правой кнопке мыши и выбрать “Open Console”).

Логинимся под пользователем viewadmin на vconnect.domain.local и запускаем установщик (рис. 2). В интерактивном режиме выбираем IPv4, указываем пароль для восстановления бэкапа (Data Recovery Password), автоматическую конфигурацию брандмауэра Windows (рис.4) и доменную группу администраторов Horizon View:

domain.local\HorizonViewAdmins
Рис. 3. Установка Connection Server’а.
Рис. 4. Установка Connection Server’а.
Рис. 5. Установка Connection Server’а.

Установка Security Server.

Перед установкой Security Server’а необходимо задать pairing password для подключения к Connection Server’у. Кликаем на рабочем столе Connection Server’а на ярлык “Horizon 7 Administrator Console”, или в адресной строке браузера вводим:

https://<FQDN_или_IP_Connection_Server'а>/admin
Рис. 6. Вход в веб-интерфейс Horizon 7.

открываем:

Inventory > View Configuration > Servers > Connection Servers > More Commands > Specify Security Pairing Password...
Рис. 7. Создание Securuty Pairing Password.
Рис. 8. Запуск установщика Security Server’а.

в появившемся окне дважды вводим пароль и устанавливаем срок его действия (например, 30 минут). Теперь можно перейти к установке Security Server’а, системные требования для которого будут идентичны Connection Server’у. Открываем тот же установщик, что и для Connection Server’а (рис. 8), выбираем “Security Server”, указываем hostname или IP-адрес уже установленного Connection Server’а (рис. 9), вводим пароль и переходим к настройке внешних URL (рис. 10).

Рис. 9. Установка Securuty Server’а.

Как правило, значения подставляются автоматически, но на всякий случай (рис. 10):

External URL: https://vsecurity.domain.local:443
PCoIP External URL: 192.168.3.231:4772
Blast External URL: https://vsecurity.domain.local:8443
Рис. 10. Установка Security Server’а.

По завершению установки, открываем в веб-консоль и переходим:

Inventory > View Configuration > Servers > Security Servers

Где видим, что появился Securuty Server (рис. 11).

Рис. 11. Веб-консоль Horizon View: Вкладка “Servers”.

Добавление vCenter Server.

Следующим этапом необходимо добавить vCenter Server. Открываем веб консоль и переходим:

Servers > vCenter Servers > Add

и в появившемся окне указываем IP-адрес, имя пользователя и пароль для доступа к vCenter Server (рис. 12).

Рис. 12. Добавление vCenter Server.
  • Max concured vCenter provosioning operations — определяет максимальное количество создаваемых и удаляемых клонов виртуальных машин (о создании полных клонов виртуальных машин читайте ниже) для подключаемого vCenter Server’а.
  • Max concured power on operations — определяет максимальное количество операций power-on, power-of- и reset для полных клонов (Full clones) и связанных клонов (Linked Clones), работа с которым будет рассмотрена чуть далее.
  • View Composer Maintance Operations — максимальное количество операций recompose, refresh и rebalance для Composer Server’а, который подключать пока что не будем.
  • Max concurent Instant Clone Engine Operations — определяет максимальное количество операций для подключаемого vCenter Server’а по созданию и удалению связанных клонов (Linked Clones).

Пока что все параметры можно оставить в их дефолтном значении. Игнорируем сообщение о некорректном сертификате (сообщение, скорей всего, появилось, потому как настройка сертификатов для тестовых сред необязательна и будет рассмотрена чуть ниже) и переходим к настройкам View Composer Server’а, который пока что не установлен. Выбираем “Do not use View Composer” (рис. 13).

Рис. 13. Добавление vCenter Server: Вкладка “View Composer”.

Хосты ESXi, управляемые vCenter Server’ом, можно сконфигурировать для кэширования дисков виртуальных машин. Идея заключается в том, чтобы уменьшить количество операций ввода-вывода за-счет кэширования хостами наиболее используемых участков данных. Начиная с vSphere 5.x виртуальные машины могут быть настроены для освобождения неиспользуемых участков дисков (например, область удаленных файлов). На этапе тестирования, или при малых нагрузках оставляем View Storage Accelerator включенным, а другие настройки оставляем в по умолчанию (рис. 14).

Рис. 14. Добавление vCenter Server: Вкладка “Storage”.
Рис. 15. Добавление vCenter Server.

По завершению открываем веб-консоль Horizon и переходим в:

View Configuration > Servers > вкладка vCenter Servers

где видимо, что появилась информация о подключенном vCenter Server’е (рис. 16).

Рис. 16. Веб-консоль Horizon View: вкладка “Servers”

Активация лицензии Horizon View.

Для активации лицензии Horizon View необходимо открыть веб-консоль Horizon, перейти в:

View Configuration > Product Licensing and Usage > Edit License

и ввести серийный ключ (рис. 17).

Рис. 17. Активация лицензии Horizon.

Создание и подключение Events Database.

Horizon View может использовать подключенную СУБД для журналирования событий, таких как, например, пользовательские подключения. Можно использовать, как Oracle, так и Microsoft SQL Server. Со списком поддерживаемых версий СУБД можно ознакомиться здесь.

Ниже будет рассмотрен пример использования Microsoft SQL Server 2016 Developers Edition, но можно воспользоваться и бесплатной редакцией Microsoft SQL Server 2012 Express с максимальным размером реляционной базы данных до 10 Гб и поддержкой до одного процессора, или четырех ядер. Если вы устанавливаете редакцию Express, то при добавлении инстанции базы данных во вклакде “Instance Configuration” следует принудительно выбрать “Default instance” (или MSSQLSERVER). В противном случае Horizon View не сможет подключиться к созданной инстанции MS SQL. Перед установкой СУБД желательно так же создать снимок (shanpshot) виртуальной машины, чтобы в случае ошибок в конфигурации (например, недефолтное Instance name) можно было откатиться в состояние системы до установки СУБД, не выполняя долгую процедуру удаления MS SQL.

Установка СУБД MS SQL будет производиться на виртуальной машине, где расположен Security Server (vsecurity.domain.local), но с целью экономии лицензий ОС Windows все компоненты СУБД можно так же устанавливать вместе с Connection Server’ом. Виртуальной машины с 4Гб оперативной памяти, двумя ядрами процессора и 15Гб дополнительного места на жестком диске будет вполне достаточно. За более подробной информацей обращайтесь к системным требованиям для конкретных версий Microsoft SQL Server.

Рис. 18. Создание новой БД в Microsoft Management Sutio.

После установки всех необходимых компонентов Microsoft SQL Server необходимо запустить Microsoft SQL Management Studio и выбрать (рис. 18):

База данных > Создать базу данных…

В открывшемся окне указываем имя создаваемой БД (ViewEvents, как показано на рис. 19) и во вкладке “параметры” задаем модель восстановления (Recovery Model): “простая” (рис. 20).

Рис. 19. Общие параметры создаваемой БД
Рис. 20. Параметры создаваемой БД.

Теперь необходимо создать новую учетную запись для доступа к этой БД. Открываем:

Безопасность > Имена входа > Создать имя для входа...

или для англоязычной версии MS SQL:

Security > Logins > New Login

и создаем новую учетную запись “ViewEvents” с проверкой подлинности SQL Server (SQL Server authentication) и обязательным отключением “требования использования политики паролей” (Enforce Password policy). Так же назначаем пользователю базу данных по умолчанию — ViewEvents (рис. 21).

Рис. 21. Создание новой учетной записи в MS SQL Express.

Переходим во вкладку “Роли сервера” (Server roles) и назначаем учетной записи права доступа “sysadmin” (рис. 22).

Рис. 22. Создание новой учетной записи в MS SQL Express.

Во вкладке “сопоставление пользователей” (User Mapping) сопоставляем БД “ViewEvents” и назначаем роль “db_owner” (рис. 23).

Рис. 23. Создание новой учетной записи в MS SQL Express.

Необходимо так же убедиться, созданы ли исключающие правила брандмауэра (порт 1433), а так же включить протокол TCP/IP для используемой инстанции MS SQL Server’а. Для этого открываем SQL Server Configuration Manager и переходим (рис. 24):

Сетевая конфигурация SQL Server > Протколы для {имя_инстанции_MS_SQL} > TCP/IP > Включить
Рис. 24. SQL Server Configuration Manager: включение протокола TCP/IP.
Рис. 25. Подключение Events DB к Horizon View.

Для того, чтобы измененные настройки вступили в силу необходимо перезапустить службу SQL Server (имя_инстанции_MS_SQL). Возвращаемся в веб-консоль Horizon, открываем:

View Configuration > Event Configuration > Event Database > Edit

и в появившемся окне вводим параметры подключения к БД (рис. 25). Event Settings можно оставить по умолчанию (рис. 26).

Рис. 26. Horizon Event Settings.
Рис. 27. Horizon Dashboard

Теперь статус Events Database отображается в веб-консоли на Dashboard (рис. 27), а журнал доступен по переходу:

Monitoring > Events

как показано на рис. 28.

Рис. 28. Horizon Events.

Добавление фермы Microsoft RDS.

Подключение фермы Microsoft RDS к Horizon View позволяет опубликовать как приложения, так и рабочие столы в единой среде Horizon и организует доступ к ресурсам RDS через протокол PCoIP, или VMware Blast. Подключение фермы Microsoft RDS доступно для Horizon в редакциях Advanced и Enterprise.

Требования к создаваемой виртуальной машине будут следующими:

  • Операционная система. Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, или Windows Server 2016 установленная на физический сервер, или виртуальную машину. Для использования протоколов PCoIP, или VMware Blast необходимо так же установить Horizon Agent.
  • Процессор. Минимум 8 vCPU для Windows Server 2012 R2 и 4 vCPU для 2008 R2.
  • Оперативная память. Для хоста сессий RDS на 8 vCPU рекомендуется в среднем 24–48Гб.
  • Жесткий диск. Использование Thin provision позволит сэкономить место в datastore, поскольку профили пользователей (C:\Users) будут постепенно увеличивать объем хранящейся информации.
  • Съемные накопители. Floppy drive можно сразу же удалить, а вот, что касаемо CD/DVD-привода, то его следует размонтировать после установки ОС и VMware Tools и переключить в положение Client Device, который не подключен.
  • Сеть. Для уменьшения network latency в качестве ethernet-адаптера рекомендуется выбрать VMXNET 3 (для этого необходимо так же установить VMware Tools со включенной опцией поддержки VMXNET 3).

Для более подробной информации можно ознакомиться с Horizon RDSH Performance & Best Practices.

Создадим ферму RDS rds-01.domain.local и добавим её для доступа через Horizon View. Сам процесс развертывания фермы RDS на базе Windows 2012R2 тривиален и осуществляется через диспетчер серверов (Server Manager) (см. рис. 29–30).

Рис. 29. Развертывание фермы Microsoft RDS.
Рис. 30. Развертывание фермы Microsoft RDS.
Рис. 31. Установка View Agent.

Далее устанавливаем необходимый для работы софт (опубликовывать его средствами Microsoft RDS не нужно, поскольку у Horizon View своя консоль управления приложениями) и переходим к установке View Agent’а на Session Host (рис. 31): читаем лицензионное соглашение, подтверждаем, выбираем протокол IPv4 (рис. 32) и переходим в меню выбора устанавливаемых компонентов (рис. 33).

Рис. 32. Установка View Agent.
Рис. 33. Установка View Agent.

На этапе тестирования можно выбрать почти все компоненты за исключением VMware Horizon View Composer Agent — для ферм Microsoft RDS он не нужен. Если работа в ваших приложениях подразумевает использование графической акселерации, то выбираем 3D RDSH (рис. 33). Указываем имя хоста connection server’а (vconnect.domain.local), вводим логин и пароль администратора Horizon View (DOMAIN\viewadmin) и завершаем настройку агента по нажатию кнопки “Install” (рис. 34).

Рис. 34. Установка View Agent.

По завершении установки открываем в браузере консоль администрирования Horizon и переходим:

Resources > Farms > Add...
Рис. 35. Добавление RDS Farm.

Выбираем неавтоматизированную ферму (Manual Farm), задаем её ID и переходим к настройкам подключения фермы (рис. 35):

  • Default Display Protocol — используемый по умолчанию протокол: Microsoft RDP, PCoIP, или появившийся в седьмой версии Horizon View — VMware Blast.

Если коротко о различии между PCoIP и VMware Blast, то: PCoIP дает немного большую нагрузку на клиентское устройство, но использует меньшую ширину канала, чем VMware Blast. В то же время VMware Blast использует большую ширину канала, но при этом обеспечивает более комфортную работу пользователя (как минимум, за-счет поддержки ClearType шрифтов, 32-битным изображением и т. д.)

  • Allow users to choose protocol — параметр позволяющий пользователям на стороне клиента выбирать протокол.

Остальные параметры влияют на подключение и пользовательскую сессию:

  • Empty session timeout — определяет количество времени в которое пустая сессия приложений (без открытых приложений) считается открытой. Открытая сессия позволяет пользователям быстрей запустить приложение, в то время как автоматическое их закрытие позволяет сэкономить потребляемые системные ресурсы.
  • When timeout occurs — определяет отсоединить пустой сеанс приложений, или же осуществить выход, по достижению тайм-аута сессии приложений. Значение “Log off” освобождает ресурсы, но повторный запуск приложений займет больше времени.
  • Log off disconnected sessions — соответственно определяет через сколько производить выход из системы (Log Off) при разъединении сессии. Будьте внимательны при настройке параметра во избежание потери данных, особенно при выборе значения “Немедленно” (Immediate) — разъединенная сессия будет немедленно завершена (Log off).

И последний пункт, разрешающий доступ к десктопам и приложениям в создаваемой ферме — Allow HTML Access to desktops and applications on this farm. Для удобства можно использовать.

Далее выбираем подключаемый RDS-хост и финализируем создание фермы RDS (рис. 36A). По завершении в веб-консоли Horizon во вкладке “Farms” появится добавленная ферма Microsoft RDS (рис. 36Б).

Рис. 36A. Добавление RDS Farm.
Рис. 36Б. Результат подключения Manual Farm.

Добавление пула десктопов Microsoft RDS.

Теперь для того, чтобы опубликовать в Horizon View подключенную ферму Microsoft RDS необходимо открыть в веб-консоли Horizon:

Catalogue -> Desktop Pools -> Add

В открывшемcя мастере выбираем “RDS Desktop Pool”, вводим ID и отображаемое имя (Display Name) и переходим к настройкам пула (риc. 37).

Рис. 37A. Добавление Microsoft RDS Desktop Pool.

Ограничения для Connection Server’ов (Connection Server Restrictions) выбираем пустыми (None), таким образом подключаться к создаваемому пулу можно будет через любой Connection Server (пока что он один). Настройки Adobe Flash оставляем по умолчанию (подробней будет рассмотрено чуть ниже).

Рис. 37Б. Добавление Microsoft RDS Desktop Pool.

Выбираем ферму RDS из списка (рис. 37Б) и на финальном окне мастера оставляем чек-бокс на опции “Entitle users after the wizard finishes”, после чего в раскрывшемся окне жмем кнопку “Add..” и добавляем пользователей, которые должны получить доступ к создаваемому RDS Desktop Pool.

Создание Application Pool.

Создание пула приложений позволяет опубликовать через Horizon View приложения, установленные на ферме Microsoft RDS. На каждую ферму RDS возможно создать только один пул приложений. Приложения, опубликованные в пуле, должны быть установлены идентично на всех серверах фермы RDS. Создание пула приложений доступно в редакциях Advanced и Enterprise.

Обратите внимание, что в Horizon View есть свои инструменты для публикации приложений, поэтому публиковать установленные на ферме RDS приложения штатными средствами Microsoft RDS необходимости нет.

Для создания пула приложений переходим:

Catalog > Application Pools > Add...
Рис. 38. Создание Application Pool.

Выбираем ферму RDS, выбираем приложения для публикации, отмечаем чек-бокс на пункте “Entitle users after this wizard finishes” (рис. 38) и по окончанию создания пула переходим в Add Entitlement, где разрешаем необходимым пользователям Active Directory доступ к пулу приложений (DOMAIN\User1, User2, User3...)

Использование Horizon View Client для запуска приложений.

Теперь все готово для того, чтобы подключиться и запустить опубликованные приложения, или подключиться к созданному пулу десктопов Microsoft RDS. Подключимся к Connection Server’у, используя Connection View Client. Для этого открываем в браузере:

https://{FQDN или IP Connection Server'а}
Рис. 39. Доступ к Connection Server’у через браузер.

Нажимаем на ссылку и переходим к полному списку клиентов Horizon View для разных операционных систем.

Установка Horizon View Client на Windows.

Скачиваем установщик для Windows в соответствии с разрядностью вашей операционной системы, запускаем и указываем IP-адрес Connection Server’а (рис. 40).

Рис. 40. Установка Connection Server’а для Microsoft Windows.

Если подключение будет осуществляться с компьютера вне домена domain.com (или ПК настроен на другой DNS-сервер), то в файл C:\Windows\system32\drivers\etc\hosts необходимо добавить:

192.168.3.230     vconnect.domain.local

Запускаем установленный клиент, игнорируем предупреждение о сертификате по нажатию “Continue” (на данном этапе они еще не сгенерированы — вернемся к ним позже), указываем логин и пароль пользователя (рис. 41A), выбираем и запускаем приложение (рис. 42A).

Рис. 41A. Horizon View Client — Логин.
Рис. 42A. Horizon View Client — Выбор приложения.

Установка Horizon View Client на Linux.

Horizon View Client может быть так же установлен на linux-дистрибутивы. Проверить совместимость с каким-либо дистрибутивом и ознакомиться с подробными требованиями к системе можно здесь. Обратите внимание, что для функционирования каждого компонента Horizon View Client требуется наличие в дистрибутиве определенных библиотек и создание к ним линков. Проверить наличие библиотек можно в процессе установки Horizon View Client, ответив утвердительно на вопрос:

"Do you want to check your system compatibilities for Horizon Client,
this Scan will NOT collect any of your data?[yes/no]:"

Ниже будет рассмотрен процесс установки 64-разрядного VMware Horizon Client 4.3.0 на Elementary OS 0.3.2 Stable. Для данного дистрибутива необходимо дополнительное создание линков на libudev.so.0 (для RTAV и перенаправления USB) и libffi.so.5 (для работы протокола PCoIP). Но вначале проверим наличие ссылок на эти библиотеки:

# ls -l /lib/x86_64-linux-gnu | grep libudev.so.0
# ls -l /lib/x86_64-linux-gnu | grep libffi.so.5

Если вывод обеих команд пуст, то смотрим, на какую версию пакета предстоит создать ссылку:

# ls -l /lib/x86_64-linux-gnu | grep libudev.so
lrwxrwxrwx 1 root root 16 Feb 25 2016 libudev.so.1 -> libudev.so.1.3.5
-rw-r--r-- 1 root root 67600 Feb 25 2016 libudev.so.1.3.5

Значит создаем ссылку на libudev версии 1.3.5, повысив права до суперпользователя:

# sudo su
# ln -sf /lib/x86_64-linux-gnu/libudev.so.1.3.5 /usr/lib/libudev.so.0

Аналогично проверяем ссылки для libffi:

# ls -l /lib/x86_64-linux-gnu | grep libffi

Не исключено, что пакеты не установлены. Ставим:

# apt-get install libffi6 libffi-dev

и создаем софт-линк:

# ln -sf /usr/lib/x86_64-linux-gnu/libffi.so.6 /usr/lib/libffi.so.5

Для работы Horizon View Client версии 4.0 и выше потребуется так же OpenSSL 1.0.2f, или выше. Смотрим установленную версию:

# openssl version -v
OpenSSL 1.0.1f 6 Jan 2014

Следовательно, пакет необходимо обновить, но далеко не факт, что в репозиториях окажется нужная версия. Можно собрать из исходников. Для начала переключаемся на суперпользователя (если еще не переключились) и создаем папку, куда далее будем скачивать исходники и устанавливаемые пакеты:

# sudo su
# mkdir /root/temp && cd /root/temp

Способ 1 (через cURL).

# apt-get install php5-curl
# apt-get install make
# curl https://www.openssl.org/source/openssl-1.0.2g.tar.gz | tar xz # && cd openssl-1.0.2g && ./config && make depend && make && make install
# ln -sf /usr/local/ssl/bin/openssl `which openssl`
# openssl version -v

Способ 2 (через wget).

Скорей всего, пакет make уже установлен в Elementary OS, поэтому во втором варианте без его установки:

# wget https://www.openssl.org/source/openssl-1.0.2g.tar.gz --no-check-certificate
# tar -xzvf openssl-1.0.2g.tar.gz
# cd openssl-1.0.2g
# ./config
# make depend
# make install
# ln -sf /usr/local/ssl/bin/openssl `which openssl`
# openssl version -v

Создаем софт-линки для libssl и libcrypto:

# sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /lib/x86_64-linux-gnu/libssl.so.1.0.2
# sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/libcrypto.so.1.0.2

Теперь приступаем непосредственно к процессу установки Horizon View Client. Открываем эту ссылку в браузере, копируем ссылку для скачивания на кнопке “Download” и имя скачиваемого пакета. Нужно выполнить что-то наподобие:

# cd ..
# wget https://download3.vmware.com/software/view/viewclients/CART16Q4/VMware-Horizon-Client-4.3.0-4710754.x64.bundle
# chmod +x VMware-Horizon-Client-4.3.0-4710754.x64.bundle
# ./VMware-Horizon-Client-4.3.0-4710754.x64.bundle

Если зеркало для скачивания окажется недоступным в течении продолжительного времени, то можно скачать пакет вручную в браузере, или залить его с помощью WinSCP.

Внимательно читаем лицензионное соглашение (после пункта 12.11 нужно согласиться — ввести “y”), оставляем включенными все опции (жмем “Enter”), регистрируем сервис после установки (отвечаем “y”) и аналогично запускаем тест совместимости, вывод которого будет такой:

Do you want to check your system compatibilities for Horizon Client,
this Scan will NOT collect any of your data?[yes/no]: y
Scanning libxml2.so.2
Please wait
[#############################################################] 100%
VMware Horizon Smart Card
Success
VMware Horizon Real-Time Audio-Video
Success
VMware Horizon Client Drive Redirection
Success
VMware Horizon Multimedia Redirection (MMR)
Success
VMware Horizon PCoIP
Success
VMware Horizon USB Redirection
Success
VMware Horizon Virtual Printing
Success
VMware Horizon Client
Success

Тест во время установки должен быть пройден, в противном случае — можно просмотреть вывод команды:

# ldd /usr/lib/vmware/view/bin/vmware-view

на предмет строк, содержащих “not found”. Если, например, видите:

libssl.so.1.0.2 => not found
libcrypto.so.1.0.2 => not found

то это значит, что процесс обновления OpenSSL, описанный выше, не был произведен корректно, или не созданы софт-линки. Удовлетворите все необходимые зависимости методом установки, обновления, или создания линков (для дистрибутивов отличных от Elementary может потребоваться дополнительное создание ссылок).

Теперь остался “финальный штрих”: скорей всего, вы планируете подключение с машины, не введенной в domain.local. Тогда перед запуском Horizon View Client в файл hosts нужно внести строку, содержащую IP-адрес и имя хоста Horizon Connection Server’а:

# nano /etc/hosts192.168.3.230      vconnect.domain.local
Рис. 41Б. Horizon View Client под Linux — Connect.

Открываем в левом верхнем углу “Applications”, запускаем Horizon View Client, игнорируем предупреждение, связанное с неправильным сертификатом (рис. 41Б), добавляем сервер (192.168.3.230) и проверяем работоспособность клиента с протоколами PCoIP и VMware Blast. Оба протокола оказались вполне работоспособными даже при использовании Software Rendering (со включенной опцией “Enable 3D graphics support” и количеством видео памяти равным 128 Мб) под тестовой виртуальной машиной, расположенной на хосте VMware ESXi (рис. 42Б).

Рис. 42Б. Horizon View Client под Linux.

Создание Master Desktop Template.

Перед тем, как развернуть автоматический пул десктопов (Automated Desktop Pool) необходимо создать шаблон виртуальной машины — Master Desktop Template. В качестве гостевой операционной системы будет использоваться Windows 7 x64 Pro, но можно использовать и Windows 10 Pro. Windows 8/8.1 не поддерживается при создании Instant Clone’ов, поэтому использовать эти версии Windows не будем (ограничимся одним и тем же шаблонов Windows 7 для создания различных пулов десктопов).

Подготовка виртуальной машины.

Создаем виртуальную машину (например, WIN7x64) и заходим в её свойства:

Рис. 43. Создание Master Desktop Template.

Для увеличения пропускной способности сетевых адаптеров выбираем в свойствах виртуальной машины тип “VMXNET 3” (рис. 43), паравиртуализированный сетевой адаптер, спроектированный с расчетом на максимальную производительность. Этот адаптер имеет пропускную способность 10Gb/s, драйвера поддержки которого идут в составе VMware Tools.

Рис. 44. Создание Master Dekstop Template.

Следующим этапом в качестве контроллера виртуальных жестких дисков необходимо выбрать “VMware Paravirtual SCSI” (или PVSCSI) (рис. 44). PVSCSI дает большую производительность, чем обычный LSI-контроллер, но здесь есть одна тонкость: некоторые операционные системы, такие как, например, Windows 7 не устанавливаются на жесткий диск, подключенный к PVSCSI-контроллеру. Для того, чтобы работа PVSCSI в Windows 7 была возможной необходимо:

Рис. 45А. Создание Master Desktop Template.
Рис. 45Б. Создание Master Desktop Template.
Рис. 46. Создание Master Desktop Template.
Рис. 47. Создание Master Desktop Template.
Рис. 48. Создание Master Desktop Template.
  1. Установить Windows используя дефолтный контроллер (LSI Logic SAS).
  2. Установить VMware Tools.
  3. Добавить дополнительный жесткий диск на другую SCSI-шину: например, если основной жесткий диск обозначен, как “SCSI (0:0), то дополнительный будет SCSI (1:0)” (см. рис. 45А). При добавлении устройства на отдельную SCSI-шину будет так же добавлен дополнительный контроллер, тип которого нужно сменить на VMware Paravirtual (рис. 45Б).
  4. Загружаем виртуальную машину, открываем диспетчер устройств, где должен появиться “VMware Virtual disk SCSI Disk Device” (рис. 46).
  5. Выключаем виртуальную машину, удаляем дополнительный жесткий диск и меняем тип основного SCSI-контроллера на “VMware Paravirtual”. Теперь система должна загрузиться.

Далее необходимо включить Memory и CPU Hot Add (рис. 47) и удалить Floppy drive в конфигурации виртуальной машины. Удаление Floppy drive позволит сэкономить значительное количество ресурсов, особенно если вы собираетесь создавать несколько десятков клонов. Едва ли кому из пользователей понадобится виртуальный Floppy drive. Открываем в свойствах виртуальной машины вкладку “Options” и выставляем:

Boot Options: Boot to BIOS

Заходим в BIOS и отключаем Floppy drive (рис. 48).

Оптимизация операционной системы и создание шаблона.

Все действия по настройке гостевой операционной системы необходимо выполнять из консоли ESXi (не через Remote Desktop). Перед оптимизацией системы необходимо установить VMware Horizon Agent и обязательно выбрать компонент “VMware Horizon Instant Clone Agent” (рис. 49).

Рис. 49. VMware OS Optimization Tool.

Теперь можно приступить к оптимизации операционной системы, но прежде, чем скачать утилиту VMware OS Optimization Tool убедитесь, что установлен NET Framework 3.5. Примените все необходимые настройки и по завершению нажмите кнопку “Optimize” (рис. 50). Теперь можно установить все необходимое программное обеспечение: FoxIt Reader, LibreOffice и тд.

Рис. 50. VMware OS Optimization Tool

Теперь, когда, все приложения установлены переходим в vSphere Client, подключаемся к vCenter Server (в нашем случае — 192.168.3.243) и правой кнопкой на только что настроенной виртуальной машине (WIN7x64) выбираем:

Template -> Clone to template

где в режиме диалога задаем имя создаваемого template’а виртуальной машины, выбираем кластер, хост и datastore, принудительно задав “Thin Provision” для экономии дискового пространства (рис. 51).

Рис. 51. Создание template’а ВМ.

Не закрывая все тот же vSphere Client переходим:

Home -> Customization Specifications Manager -> New

и создаем новый “шаблон” кастомизации гостевых систем. Далее в режиме диалога нужно будет задать параметры гостевой системы (рис. 42–54). Для создания уникального NetBIOS для каждой виртуальной машины ставим чек-бокс на опции “Append a numeric value to ensure uniqueness” (рис. 53), а в качестве настроек сети выбираем “Typical settings” (получение IP-адреса по DHCP).

Рис. 52. Guest Customization
Рис. 53. Guest Customization
Рис. 54. Guest Customization

Создание Automated Desktop Pool.

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

Inventory -> Catalog -> Desktop Pools

и, нажав кнопку “Add”, перейти к диалогу создания пула десктопов (рис. 55).

Рис. 55. Создание Automated Desktop Pool.

При создании автоматического пула необходимо выбрать “выделенную” виртуальную машину (Dedicated Assignment) и установить чек-бокс на “автоматическом” назначении (Enable automatic assignment).

Включение опции “Automatic assignment” позволяет автоматически назначать пользователю виртуальную машину из заданного пула. Если пользователь подключается к пулу, к которому имеет право, но виртуальной машины не имеет, то Horizon View присвоит свободную виртуальную машину. Если в автоматизированном пуле не существует свободных виртуальных машин, то будет создана новая.

Если опция “Automatic assignment” не выбрана, виртуальные машины для подключения должны быть назначены через консоль администрирования Horizon View вручную. Принудительное назначение виртуальных машин пользователям так же возможно, если включена опция “Automatic assignment”.

Рис. 56. Создание Automated Desktop Pool.

Создадим полные клоны виртуальных машин (пока что без использования Composer Server) выбираем “Full Virtual Machines”. Обратите внимание, что каждая следующая клонированная виртуальная машина будет занимать столько же места, сколько и Master Desktop Template.

Далее нужно задать имя пула (ID), отображаемое пользователю в View Client имя пула (Display Name) и группу, которой разрешается доступ к данному пулу (рис. 56).

Рис. 57. Создание Automated Desktop Pool.

Далее собраны все настройки пула (рис. 57): запрещающие правила для подключения (Connection Server restrictions), отключение пользователя по истечении времени (Automatically logoff after disconnect), разрешать ли пользователям сбрасывать виртуальные машины (Allow users to reset their machines).

Чуть ниже расположены настройки протокола и акселерации: протокол по умолчанию (Default display protocol), возможность выбора протокола пользователями (Allow users to choose protocol), 3D-рендеринг (и регулировка количества используемой видеопамяти), максимальное количество мониторов, максимальное разрешение на один монитор и доступ через HTML, который лучше всего включить.

Опции Adobe Flash можно оставить по умолчанию: не контролировать качество Adobe Flash и Adobe Flash throttling, позволяющий регулировать количество кадров в секунду на основе агрессивности выбранного параметра. Оставляем в положении “disabled”. Аналогично снимаем чек-бокс в настройках Mirage Server’а, который пока что не установлен.

На следующем экране (Provisioning settings) оставляем оба чек-бокса на “Enable Provisioning” и остановить размещение виртуальной машины при ошибке (Stop provisioning on error). В качестве паттерна для присвоения имен виртуальным машинам задаем выражение:

VDI_A-{n:fixed=2}

Таким образом, созданные виртуальные машины будут именованы, как VDI-A-01 , VDI-A-02 и тд.

В поле Desktop Pool Sizing задаем максимальное и количество включенных машин, а в поле Provisioning Timing устанавливаем чек-бокс на “Provisioning all machines up-front”, что предусматривает создание клонов на этапе разворачивания пула, а не по требованию (on demand).

Рис. 58. Создание Automated Desktop Pool.

В настройках Storage Policy Management (рис. 58) можно пока не использовать VMware Virtual SAN (если Virtual SAN еще не установлен, то настройки будут неактивными) и переходим к выбору уже созданного чуть выше темплейта виртуальной машины (Virtual Machine Template), а так же к определению местоположения виртуальной машины (папка, хост или кластер, пул ресурсов и datastore).

Рис. 59. Создание Automated Desktop Pool.

Переходим к Advanced Storage Options (рис. 59). Начиная с vSphere 5.x можно использовать View Storage Accelerator, позволяющий увеличить производительность за-счет кэширования данных пула десктопов. По желанию можно так же настроить Blackout Times — расписание (дни недели и временные интервалы), в течение которого обновление кэша производиться не будет.

Оставляем значение по-умолчанию для “Regenerate storage accelerator after (7 дней) и переходим к финальным настройкам пула — Guest Customization, где выбираем созданный ранее шаблон кастомизации операционной системы: Windows 7 Desktop Pool Customization For Horizon View. Сверяем все введенные значения на экране “Ready to complite”, ставим чек-бокс на опции “Entitle users after wizards finishes” и жмем кнопку “Finish”. В открывшемся окне назначаем пользователей для доступа к создаваемому пулу десктопов.

Теперь зайдя в vSphere Client видим, что начался процесс клонирования виртуальных машин (рис. 60).

Рис. 60. Процесс клонирования ВМ для Automated Desktop Pool.
Рис. 61. Процесс клонирования ВМ для Automated Desktop Pool.

Так же, в веб-консоли администрирования Horizon по двойному клику на создаваемый пул (меню “Catalog -> Desktop Pools”) во вкладке “Inventory” можно увидеть статус “Provisioning” (рис. 61), а через некоторое время— “Customizing” для каждой создаваемой виртуальной машины пула. Здесь же при создании пула можно увидеть сообщения об ошибках: например, при недостатке свободного места на datastore:

Error during provisioning: No suitable datastores.

Или ошибку вида:

No users or groups are entitled to this pool. Click Entitlements to add users to this pool.

которая означает, что не были добавлены пользователи для доступа к создаваемому пулу, процесс добавления которых будет рассмотрен чуть ниже. Здесь же, выбрав “Entitlements”, или перейдя в:

Catalog -> Desktop Pools -> Entitlements… -> Add entitlment…

можно переназначить пользователей для доступа к создаваемому пулу десктопов (рис. 62).

Рис. 62. Назначение пользоваетелй для доступа к Desktop Pool.

Во вкладке “Policies” можно включить перенаправление мультимедиа-контента на сторону клиента, однако следует убедиться, что используемых ресурсов будет достаточно для декодирования. Можно так же использовать USB-устройства, подключенные к клиентам, выставив значение “Allow” в “USB acess”, а при включении аппаратной акселерации протокола PCoIP (PCoIP hardware acceleration) разрешается так же выбрать приоритет.

Рис. 63. Завершение процесса клонирования ВМ для Automated Desktop Pool.

По завершению процесса клонирования (рис. 63) можно подключиться к пулу десктопов через View Client (рис. 64), а статус подключения можно проверить в консоли администратора Horizon, выбрав пул десктопов и перейдя во вкладку “Sessions”.

Рис. 64. Подключение к Automated Desktop Pool.

Таким образом, при использовании Automated Desktop Pool, в отличие от фермы RDS, каждый пользователь подключается к выделенной (dedicated) виртуальной машине. Automated Desktop Pool и полное клонирование виртуальных машин относительно просты в развертывании, потому как не требует развертывания отдельных компонентов, но очевидным минусом полного клонирования виртуальных машин является потребляемое дисковое пространство и серьезные требования к пропускной способности дисковых накопителей.

--

--