Страницы

среда, 25 августа 2021 г.

Рекомендации по обновлению Citrix XenApp and XenDesktop 7.15 до Citrix Virtual Apps and Desktop 1912

В прошлый раз я рассказывал о способах обновления Citrix Virtual Apps and Desktops. На этот раз мы рассмотрим сценарий обновления контроллеров доставки (Delivery Controllers) с Citrix XenApp and XenDesktop 7.15 до Citrix Virtual Apps and Desktops 1912 Cumulative Update 1 (CU1) на примере одного из открытых кейсов, в котором клиент Citrix, как и многие другие, поддерживает и доставляет пользователям критические для бизнеса приложения в географически распределенном окружении. Отдельное внимание стоит уделим трудностям, с которыми столкнулся отдел информационных технологий, чтобы вы могли избежать подобных проблем в собственном окружении, как на стадии принятия решений, так и на стадии устранения проблем.

Состав окружения клиента:

  • Один сайт Citrix Virtual Apps and Desktops 7.15 CU5 с 4 зонами, распределенными по миру (2 в Азии, 1 в Европе и 1 в северной Америке (она является основной (Primary))).
  • Четыре контроллера доставки в каждом географическом расположении с общим количеством 12. Обратите внимание, что в Азии находится две зоны – по два котроллера доставки в каждой из них.
  • Наибольшая задержка между зонами Азии и северной Америкой – примерно 300 – 350 мс. Задержка между Европой и остальными зонами – 200 – 250 мс.
  • Серверы SQL сконфигурированы в группу доступности Always On и размещены в зоне северной Америки.

Цель: выполнить обновление на месте (In-Place Upgrade) с Citrix Virtual Apps and Desktops 7.15 CU5 до релиза с длительной поддержкой (LTSR) Citrix Virtual Apps and Desktops 1912. 

За основу процесса обновления взята официальная процедура из документации, ранее о ней я писал в статье «Способы обновления Citrix Virtual Apps and Desktops (XenApp and XenDesktop)».

В основе процесса лежит установка программного обеспечения на половину контроллеров доставки (Delivery Controllers). При последующем запуске Citrix Studio на одном из обновленных контроллеров доставки, она предложит начать процесс обновления схемы базы данных.

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

  • Автоматическое обновления сайта (Start the automatic Site upgrade) – если текущая учетная запись пользователя обладает требуемыми правами на базе данных.
  • Ручное обновление сайта (“Manually upgrade this site”) – генерирует скрипт SQL для администратора баз данных, который необходимо выполнить на сервере SQL.

Обратите внимание, при выборе метода автоматического обновления сайта, необходимо обладать правами администратора безопасности (Security Admin) на базе данных, а также полными правами администратора Citrix. На данный момент Citrix Studio обладает ограничением, из-за которого в смешанном режиме (Mixed Mode) безопасности SQL Server – требуются права SA для запуска скрипта. Чтобы избежать этого предлагается опция генерации скрипта с последующим ручным запуском на SQL Server. В таком случае прав DBO будет достаточно для обновления схемы базы данных. Дополнительную информацию можно получить в документации.

Так как клиент не хотел оказывать влияния на основную зону, расположенную в США, было принято решение обновлять базу данных с одного из контроллеров доставки в Азии, который имел задержку примерно в 300 мс до центра обработки данных в США, где и располагался SQL Server. При попытке это сделать возникла следующая ошибка:

Error Id: XDDS:45CB0492

Exception:

    DesktopStudio_PowerShellHistory : GetCapabilitiesScript


    Error Source : Citrix Studio

StackTrace: Citrix.Console.Common.CitrixAggregateException One or more parallel operations failed at  Citrix.Console.Common.CitrixParallel.InternalForEach[TIn](IEnumerable`1 items, Action`1 oper……..……………

Здесь нужно сделать небольшое уточнение, между релизами 7.15 и 1912 произошло множество изменений, в том числе добавление новых экземпляров служб. В процессе автоматического обновления сайта Citrix Studio использует службу делегированного администрирования (Delegated Admin) для проверки возможности обновления схемы в базе данных. После завершения обновления схемы, Studio должна выполнить несколько задач после обновления (Post-Upgrade Tasks).

Данные задачи включают в себя повторную регистрацию всех экземпляров служб на всех контроллерах доставки в сайте, в том числе 4-ех новых экземпляров служб. Это не простая задача, так как Studio должна координировать регистрацию служб между собой и SQL Server, а также между всеми контроллерами доставки и SQL Server. И, помимо прочего, 4 новые строки должны быть добавлены в базу данных для новых экземпляров служб.

Комбинация всех этих задач выполняется параллельно, а высокая задержка с SQL Server вызвала ошибку тайминга, что привело к взаимной блокировке (Deadlock) службы Citrix Central Configuration Store (CCS) и службы делегированного администрирования (DA), без возможности отката в начальное состояние (Fall Back). Ключевыми причинами случившегося стали новые экземпляры служб и высокая задержка до SQL Server.

После обнаружения этого, было выпущено исправление для Citrix Virtual Apps and Desktops 1912 CU3, которое более надёжно управляет подобным сценарием. Дополнительную информацию можно получить по ссылке CVADHELP-16236. Тем не менее рекомендуется выполнять обновление из основной зоны, которая имеет минимальную задержку до базы данных SQL. 


Заключение.

На базе внутреннего тестирования, команда разработки представила следующие рекомендации к обновлению на месте (In-Place Upgrade):

  • Всегда выполняйте обновление схемы базы данных с контроллера доставки, расположенного рядом с активной базой данных SQL. Это обозначает – по возможности избегать обновления схемы базы данных из удаленных зон и стараться делать это в основной зоне.
  • При планировании автоматического обновления сайта (Automatic Site Upgrade из Citrix Studio) убедитесь, что учетная запись обладает правами роли Security Admin на SQL Server.
  • При планировании использования скрипта SQL для обновления схемы базы данных, если необходимо минимизировать права на уровне базы данных, обратитесь к статье «Database Access and Permission Model for XenDesktop».
  • В случае, когда необходимо обновляться из вторичной зоны с высокой задержкой до SQL Server, рекомендуется выполнить резервное копирование контроллера доставки (Delivery Controller) до начала процедуры обновления. В случае возникновения ошибок рекомендуется использовать трассировку CDF на всех контроллерах доставки.
  • Клиенты с опцией приоритетной поддержки (Priority Support) обладают возможностью назначения технического аккаунт-менеджера (Technical Account Manager), который разберётся в окружении и поможет спланировать и реализовать поставленные задачи. Подробнее о поддержке можно узнать по ссылке Citrix Customer Success Services.
  • В случае, когда жестокие рамки соглашения об уровне доступности сервиса (SLA) или какие-либо другие ограничения не позволяют выполнить обновление на месте (In-Place Upgrade), всегда можно рассмотреть другие опции, например параллельное обновление (Parallel Upgrade). Подробнее о параллельном обновлении и других опциях обновления окружений Citrix Virtual Apps and Desktops, я писал в статье «Способы обновления Citrix Virtual Apps and Desktops (XenApp and XenDesktop)».

P.S. Тема обновления окружений Citrix Virtual Apps and Desktops на этом не заканчивается и я планирую вернуться к ней в дальнейшем.

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

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