Страницы

вторник, 4 февраля 2020 г.

Citrix App Layering и контейнеры профилей Microsoft FSLogix


Rob Zylowski (Citrix Consulting Enterprise Architect), будучи экспертом Citrix App Layering, подeлился своим видением относительно оптимизации Windows и приложений Windows в решениях Citrix Virtual Apps and Desktops. Я же, в свою очередь, адаптирую его видение выработки правильных решений на стыке технологий Microsoft и Citrix.

Ключом к построению наилучшего решения, является хорошее понимание всех доступных инструментов, что позволяет подбирать наилучший вариант в каждой конкретной ситуации. Так же важно понимать, что Microsoft FSLogix часто используется совместно с Citrix App Layering, так как эти инструменты решают разные задачи. Далее будут рассмотрены различия между App Layering и FSLogix, чтобы разобрать ситуации, когда один инструмент предпочтительнее другого, а в каких случаях их необходимо использовать совместно.

Различия FSLogix и App Layering.


Многие полагают, что Microsoft FSLogix и Citrix App Layering полностью идентичные технологии. Из-за того, что в App Layering есть уровень или технология на базе контейнера, которая позволяет пользователям хранить изменения машин VDI без сохранения состояния (Non-persistent VDI) при помощи доступного для записи файла VHD, сохраненного на общем сетевом ресурсе. А FSLogix предоставляет похожую технологию, с собственным решением на базе контейнера для хранения профиля пользователя Windows или файлов, связанных с Office (подобно тем, которые используют Outlook и OneDrive), также при помощи файлов VHD/VHDX в общем сетевом расположении.

Однако, пользовательские уровни (User Layer) App Layering на самом деле предназначены для предоставления практически полного сохранения состояния для платформы VDI без сохранения состояния (Non-persistent). Пользовательский уровень (User Layer) может быть использован для параметров приложений, сохраненных в профиле пользователя, а также для установленных пользователем приложений и сохраненных пользователем файлов где-либо на системе. FSLogix имеет две технологии на базе контейнеров – одна из которых охватывает весь профиль пользователя (Profile Container) и вторая, содержащая часть профиля пользователя имеющую отношение к Microsoft Office и поддерживающим его технологиям, таким как OneDrive (Office Container). Таким образом области применения продуктов существенно отличаются: FSLogix нацелен на профиль или часть профиля пользователя, а пользовательские уровни (User Layer) App Layering охватывают все операции записи на рабочей станции.

Это архитектурное отличие обозначает, что FSLogix и пользовательские уровни (User Layer) соответствуют двум различным наборам клиентских потребностей. Если необходимо решить проблемы, связанные с профилем или запуском Office в окружении VDI без сохранения состояния (Non-persistent) или в окружении служб удаленного рабочего стола (RDS) в таком случае лучше всего подойдут FSLogix или управление профилем Citrix (Citrix Profile Management, начиная с версии 7.18), которые имеют подобные возможности. Если необходимо предоставить пользователю возможности сохранения состояния (Persistent) поверх окружения VDI без сохранения состояния (Non-persistence), что может включать Outlook, OneDrive, индексирование поиска (Search Indexing) и так далее, то в таком случае пользовательские уровни (User Layer) App Layering могут стать правильным решением.

Разумеется, возможности App Layering гораздо шире, чем просто предоставление пользовательского уровня (User Layer). App Layering предоставляет платформу для управления комплексными наборами приложений и образов в окружениях с разными гипервизорами и облаках, в том числе управление облаками и динамическую доставку приложений.

В результате FSLogix прекрасно подходит для управления профилями пользователей и Outlook, а Citrix App Layering – для управления образами и приложениями.

Интеграция Citrix App Layering и Microsoft FSLogix.


На самом деле установка и использование FSLogix довольно проста. Установка состоит из загрузки и развертывания маленького установщика драйверов фильтрации, которые использует FSLogix. Затем используется набор объектов групповой политики (Group Policy), которые разворачиваются за счет вложенного файла ADMX. Для совместного использования с Citrix App Layering, FSLogix может быть установлен в уровень платформы (Platform Layer) или приложения (Application Layer). Если необходимо использовать образы настольной системы (Desktop Image), как с FSLogix, так и без, то рекомендуется использовать уровень приложений (Application Layer).

После запуска машины упаковки (Packaging Machine) уровня приложений (Application Layer), первый шаг установки – это скопировать FSLogixAppSetup.exe и запустить его от имени администратора (Run As Administrator). Следующий шаг очень важен: драйвер фильтрации (Filter Driver) использует концепцию высоты (Altitude), которая определяет порядок, в котором драйвер фильтрации одного типа будет предоставлять доступ к вызовам файловой системы от операционной системы. Производители драйверов фильтрации файловой системы запрашивают назначение высоты у Microsoft, которая управляет этим и назначает высоты. По умолчанию, высоты Citrix App Layering и Microsoft FSLogix не позволяют продуктам корректно работать совместно. Чтобы использовать FSLogix с Citrix App Layering, высота драйвера FSLogix (frxdrvvt) должна быть изменена при помощи следующей правки в реестре:

Отредактировать ключ HKLM\System\CurrentControlSet\Services\frxdrvvt\Instances\frxdrvvt\Altitude установив значение 138010.

Micah Adamson рекомендует использовать это значение высоты (138010) в его посте в msdn. После внесения изменения в реестр, необходимо перезагрузить машину упаковки (Packaging Machine), затем финализировать уровень.

FSLogix создает 4 локальные группы, которые используются для управления тем, какие пользователи FSLogix будут применяться в процессе установки:
  • FSLogix Profile Include List.
  • FSLogix Profile Exclude List.
  • FSLogix ODFC Include List.
  • FSLogix ODFC Exclude List.

Если используется Citrix App Layering, то единственный уровень, на котором можно добавить локальные группы – это уровень операционной системы (OS Layer). Это связано с тем, что база данных SAM зашифрована в Windows, и нет возможности собрать ее из разных уровней. Это значит, что даже добавленные при установке FSLogix группы в машину упаковки (Packaging Machine) при создании уровня приложений (Application Layer) останутся только в машине упаковки. Лучший способ решить данную задачу – это создать эти группы и настроить их членство при помощи предпочтений групповой политики (Group Policy Preferences) в доменных службах Active Directory (AD DS). Аналогичный способ используется для обработки членства в группах во время установки VDA в уровень платформы.

В соответствующем объекте групповой политики (GPO) добавьте предпочтение групповой политики в Конфигурация компьютера (Computer Configuration) → Предпочтения (Preferences) → Параметры панели управления (Control Panel Settings) → Локальные пользователи и группы (Local Users and Groups) и добавить группу с именем «FSLogix Profile Include List». Затем добавить в список ее членов необходимую доменную группу.


В группу исключения (FSLogix Profile Include List) необходимо добавить административные учетные записи и локального администратора. Это гарантирует, что при входе под административной учётной записью FSLogix не будет создавать контейнер для профиля, что в последствии может вызвать проблемы при управлении образом.

После публикации образа, который включает уровень FSLogx и развертывания файлов ADMX с корректной конфигурацией, VDA автоматически подключается к контейнеру профиля FSLogix, что позволяет настроить Outlook OST.

Чтобы увидеть список перенаправленного можно воспользоваться командной FSLogix: frx.exe list-redirects.

Последний вопрос – как много времени данные технологии добавляют к процессу входа в систему. Rob Zylowski провел эксперимент с одним и тем же образом опубликованным в трех конфигурациях:
  • Совсем без управления профилями.
  • С FSLogix и без пользовательских (User Layer) и эластичных уровней (Elastic Layer).
  • С пользовательским уровнем (User Layer), без эластичных уровней (Elastic Layer) и без FSLogix.

Пять входов с расчетом среднего времени входа от нажатия иконки в интерфейсе StoreFront до отрисовки иконки файлового менеджера в панели задач показали незначительное преимущество FSLogix над пользовательским уровнем (User Layer). С небольшим отставанием от них показал себя полный вход в систему Windows без управления профилем.

Заключительные рекомендации.


  1. Используйте FSLogix для решения проблем, связанных с перемещающимся профилем на VDI без сохранения состояния (Non-persistent).
  2. Используйте пользовательские уровни (User Layers), если необходимо предоставить возможности сохраненного состояния (Persistent Experience) пользователю на VDI без сохранения состояния (Non-persistent).
  3. При совместном использовании FSLogix и App Layering, необходимо устанавливать FSLogix в уровень приложений (Application Layer).
  4. При совместном использовании FSLogix и App Layering, необходимо изменить высоту (Altitude) у драйвера фильтрации FSLogix.
  5. При совместном использовании FSLogix и App Layering, необходимо использовать предпочтения групповой политики (GPP) для создания локальных групп FSLogix.

Хотелось бы выразить благодарность Rob Zylowski за предоставленный передовой опыт (Best Practices), надеюсь, он окажется полезным для вас. Возможно, в последствии, мы вернемся к теме совместного использования App Layering и FSLogix в части интеграции маскировки приложений (App Masking).

P.S. Если вы не знакомы с Microsoft FSLogix, то начать свое знакомство можно с моей статьи «Решения Microsoft FSLogix», также я уже ранее писал об интеграции FSLogix и App Layering: «Применение возможностей платформы FSLogix в виртуальном окружении Citrix».

Комментариев нет:

Отправить комментарий