Говоря про космические корабли, бороздящие просторы Большого Театра цифровую трансформацию компаний, никто не даёт пояснений, какие конкретные шаги нужно сделать, чтобы прийти в эту самую цифровую эпоху. В этом цикле статей мы не станем говорить про все и сразу, а расскажем про одно из направлений — цифровизацию рабочего пространства (digital workspace). Опишем, как его понимает каждый из ведущих производителей области, и что со всем этим делать ИТ-специалистам.



Погружение в Citrix


Мир ИТ не стоит на месте: каждый вендор развивает свои продукты и вносит что-то новое в линейки оборудования и ПО. Вот и Citrix как лидер в сфере виртуализации, балансировки сетевой нагрузки и решений для совместной работы пользователей, недавно представил новинки. Основные направления, активно развиваемые вендором, — терминальные сервисы и виртуализация рабочих мест (VDI).

При проектировании ИТ-проектов мы решаем множество задач. Часто первой становится выбор между терминальным решением и VDI. Технология виртуализации получается дороже при расчете бюджетной оценки, но позволяет создать изолированную среду с гостевой операционной системой. Использование каждым клиентом изолированной операционной системы повышает безопасность окружения и позволяет избежать конфликта приложений. В терминальной среде возникают ситуации, когда одно приложение не может работать в мультипользовательском режиме. Ответить на вопрос «что же выбрать?» можно, развернув решения от Citrix в тестовом режиме и проверив совместимость с приложениями, используемыми в той или иной компании.

Предположим, что мы остановились на VDI. Помимо основных вводных (количество пользователей, интегрируемые приложения, технические параметры одного виртуального места и т.д.), нужно ответить на вопрос — на сколько необходимо сохранять изменения, сделанные в виртуальном рабочем месте? Виртуальные рабочие места без возможности сохранения данных называются «non-persistent», а с возможностью сохранения — «persistent». Данные, которые сохраняются в виртуальном рабочем месте, делятся на две составляющие: appdata (установленные приложения) и user profiles (пользовательские профили с данными). Если для управления пользовательскими профилями активно используются решения Citrix User Profile Management либо Microsoft Roaming Profiles, то с пользовательскими приложениями дело обстоит сложнее. Реализовать такой функционал без Personal vDisk или использования полных клонов раньше было просто невозможно.

Определиться с решением можно только после анализа инфраструктуры. Например, в одном из наших проектов заказчик использовал самописный портал с доставкой приложений. Другими словами, пользователь мог зайти через веб-браузер, выбрать необходимые приложения и в соответствии с группами безопасности, назначенными ему в Active Directory, установить их на свое рабочее место. Подобный механизм доставки приложений не позволял использовать non-persistent VDI и требовал сохранение данных.

Есть другой сценарии, когда у заказчика используется терминальная ферма для доставки всех приложений. В таком случае persistent VDI не требуется. Это позволяет экономить вычислительные ресурсы на виртуальных рабочих местах и отдавать их под нужды терминальных сервисов, оставляя в виртуальном рабочем месте только те приложения, которые требуют изолированной среды. С точки зрения пользователя все выглядит как обычное рабочее место.

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

Ребрендинг


В первую очередь хочется отметить невероятную любовь вендора к изменению названий своих продуктов. Взять хотя бы основной, за который многие так полюбили Citrix. Как только его не называли: и Metaframe, и Presentation Server, и XenApp. Сейчас остановились на Virtual Apps. Функционал при этом везде остается одинаковый — предоставлять доступ к серверным приложениям.

Те, кто наблюдают за новостями вендора, наверняка уже знают, что произошел очередной ребрендинг продуктов и называются они теперь по-новому. Это касается не только решений по организации терминального доступа, но и остальных продуктовых линеек. На рисунке ниже приведены старые и новые названия. Не запутайтесь :)



Изменились не только названия привычных нам продуктов, но и уровни редакции каждого из решений. Обратите внимание, чтобы избежать путаницы в редакциях продуктов XenApp: теперь уровень Advanced — это не стартовая лицензия, а лицензия, равная уровню Enterprise. В таблице ниже приведены все изменения:

Устаревшее наименование
Устаревшая редакция
Новое наименование
Новая редакция
XenApp
Advanced
Virtual Apps
Standard
XenApp
Enterprise
Virtual Apps
Advanced
XenApp
Platinum
Virtual Apps
Premium
XenDesktop
VDI
Virtual Desktops
Standard
XenDesktop
Enterprise
Virtual Apps and Desktops
Advanced
XenDesktop
Platinum
Virtual Apps and Desktops
Premium
XenServer
Standard
Hypervisor
Standard
XenServer
Enterprise
Hypervisor
Premium
NetScaler ADC VPX
Standard
ADC VPX
Standard
NetScaler ADC VPX
Enterprise
ADC VPX
Advanced
NetScaler ADC VPX
Platinum
ADC VPX
Premium

Citrix App Layering


Помимо изменений в названиях хочу отметить и обновленное видение VDI-решений основных производителей. Речь идет о построение дизайна с использованием ПО, которое позволяет разделить образ на несколько слоёв. У VMware оно называется App Volume, у Citrix — App Layering. Примечательно, что оба решения могут работать не только с VDI своих производителей, но и с решениями конкурентов, например, с VMware Horizon.



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

В решении Citrix App Layering используются следующее слои:

  • Платформы (Platform Layer)
  • Операционной системы (Operating System Layer)
  • Приложений (Application Layer)
  • Персональные (User Layer)

Каждый слой состоит из определённых приложений и отвечает за свои функции (см. ниже).



Из слоев собирается единый монолитный образ, который и доставляется пользователю. Предварительно каждый слой требуется подготовить. Сам процесс сборки образа не занимает много времени.

Помимо использования монолитных образов у App Layering есть возможность доставлять слои приложений в виртуальное рабочее место через Elastic Layering. Данная функция позволяет персонализировать пользовательское окружение по запросу. Управляется эта функция через группы безопасности в Active Directory, что позволяет добавлять наборы приложений в виртуальное рабочее место.

Правила лицензирования приведены в таблице ниже:



Важное примечание: App Layering доступен только при наличии активной поддержки от Citrix (Customer Success Services).

Дизайн VDI и как в нем использовать Citrix App Layering


Поговорим немного о дизайнах VDI-решений. После того как мы определились с количеством persistent и non-persistent виртуальных рабочих мест, необходимо определиться с механизмом их создания. Для этого может использоваться две технологии: machine creation services (MCS) и provisioning services (PVS). Основные различия приведены ниже.


Сравнение принципов работы механизмов развертывания рабочих столов

MCS работает путем обращения консоли управления Citrix Studio к API сервера управления средой виртуализации (vCenter, VMM, XenCenter). Через необходимые команды выполняются основные действия по созданию, удалению или изменению каталогов виртуальных машин. Сервис устанавливается совместно с брокером подключения при развертывании Citrix Virtual Apps and Desktops. С использованием MCS можно создать два типа виртуальных рабочих мест: fast clone (быстрые клоны) и full clone (полные клоны). Если с full clone все понятно, так как это полная копия мастер-образа, то fast clone генерируется по следующему принципу: с мастер-образа создаются виртуальные рабочие места с двумя дополнительными дисками diff disk и id disk. Надо сказать, что id disk присутствует также в полных клонах и хранит в себе информацию о принадлежности к домену. Размер такого диска 16 МБ. Diff disk хранит изменения мастер-образа. Размер этого диска устанавливается для всех виртуальных рабочих мест при создании каталога. При перезагрузке diff disk обнуляется, поэтому использовать его для построения persistent VDI-решений нельзя. Для реализации persistent VDI с использованием быстрых клонов используется дополнительная технология personal vDisk, но об этом ниже.

PVS работает как сервис потоковой загрузки. Устанавливается на отдельный сервер, имеет свою консоль управления. Обращение к API сервера управления средой виртуализации тоже происходит, но в значительно меньшей мере. Основные операции выполняются по сети при загрузке виртуальных рабочих мест. Некоторых пугает дополнительная консоль, т.к. это усложняет администрирование, но я призываю не бояться. PVS-сервис значительно упрощает обновление виртуальных рабочих мест. Загрузка их выполняется из хранилища образов (стандартное сетевое хранилище smb или каталог на локальном диске PVS-сервера). Образ представляет собой служебный файл и виртуальный жесткий диск (.vhd), используемый при загрузке. Процесс обновления благодаря этому сервису очень простой — необходимо просто подключить другой виртуальный жёсткий диск и перезагрузить рабочее место. Разумеется, с использованием подобного сервиса создаются non-persistent виртуальные рабочие места (примечание: у данного сервиса есть способ кэширования, позволяющий сохранять все изменения, но в практике я таких решений не встречал, поэтому не стал бы их рекомендовать). Для реализации persistent VDI с использованием PVS-сервиса использовался такой же принцип, как и для быстрых клонов.

Из-за различной специфики работы технологий нагрузка ложится на различные компоненты соответственно. Если в случае работы PVS-сервиса большая нагрузка ложится на сеть, то в случае с использованием MCS-сервиса нагрузка ложится на используемую систему хранения данных.

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

  1. Использование сервиса MCS для создания клонов с разностным диском (fast clone), либо сервиса PVS и хранение всех изменений (app data\user profile) на выделенном персональном диске (Personal vDisk).
  2. Использование сервиса MCS для создания полных клонов (full clone) с экономией затраченного дискового пространства за счет системы хранения данных с дедупликацией и компрессией.
  3. Использование сервиса MCS для создания клонов с разностным диском (fast clone) либо сервиса PVS и перемещение пользовательских профилей с помощью технологии Citrix User Profile Management. Это, разумеется, не полный persistent VDI, в подобных дизайнах у пользователя сохраняются только настройки приложений, которые хранятся в профиле пользователя и пользовательские данные. Установка приложений в такой конфигурации невозможна, т.к. после перезагрузки виртуального рабочего места изменения откатываются. Подобный дизайн часто используется в call-центрах.

Чаще всего я наблюдал реализацию 1-го дизайна или смешанное решение из 2 и 3 вариантов.

RIP, Personal vDisk


После того, как Citrix объявил, что технология personal vDisk больше развиваться не будет, реализация 1-го дизайна стала нереалистична. Заказчики начали отказываться от этой идеи, да и сама по себе технология personal vDisk имела ряд недостатков. В моей практике решение работало хорошо при статическом использовании виртуальных рабочих мест, то есть когда виртуальное рабочее место назначалось одному пользователю, соответственно ему подключался персональный диск, на котором хранились все изменения. При рандомном использовании виртуальных рабочих мест и персональных дисков зачастую возникали проблемы при получении пользователем нового виртуального рабочего места и подключением к нему персонального диска. Но все равно использование 1-го дизайна со статически выделенными виртуальными рабочими местами позволяло значительно экономить дисковое пространство, данные пользователей и установленные приложения в виртуальном рабочем месте можно было размещать на «медленных» дисках, а, чтобы не терять производительность ОС, все изменения, сделанные от мастер образа (diff disk), размещать на «быстрых» дисках. Такой дизайн позволял существенно экономить дисковое пространство и не терять производительность виртуальных рабочих мест.

В решении Citrix App Layering было объявлено, что один из слоев (User Layer) позволит реализовать функционал, подобный personal vDisk, но практически год данный слой находился в статусе лабораторных. В очередном обновлении 25 сентября в документе по App Layering наконец-то появилось обновление на эту тему и было объявлено, что User Layer доступен для использования в продуктивных средах.



Важное обновление, позволяющее реализовать дизайн 1-го типа с использованием решения Citrix App Layering и слоя User Layer для хранения пользовательских данных и установленных приложений пользователем.

Выводы и рекомендации


Очевидные проблемы классической организации виртуальных рабочих мест заставили Citrix пересмотреть свой подход в сторону гибридной многослойной структуры виртуальной машины, что позволило создавать persistent VDI в non-persistent окружении (забегая вперёд, это справедливо и для остальных вендоров).

В реалиях Citrix делается упор на развитие Citrix App Layering, поэтому я бы рекомендовал присмотреться к данному решению при разработке эскиза вашего VDI. Данный продукт значительно сократит трудозатраты на обслуживание мастер-образа, позволит быстрее компилировать необходимые образы для различных подразделений и, разумеется, увеличит гибкость решения за счет Elastic Layer. И не забывайте про User Layer, благодаря которому можно реализовать дизайн 1-го типа.

Роман Мирзаянов, Старший инженер-проектировщик вычислительных комплексов,
«Инфосистемы Джет»

Комментарии (0)