Usar la caché de host local para la actualización de versiones de bases de datos no disruptivas
La función Local Host Cache (LHC) permite que las operaciones de intermediación de conexiones en un sitio de Citrix Virtual Apps and Desktops continúen cuando se produce una interrupción del servicio. El siguiente procedimiento demuestra cómo se puede utilizar el LHC para realizar una actualización no disruptiva del sitio cuando no hay zonas secundarias.
Antes de continuar, se recomienda revisar la función Local Host Cache, sus requisitos y limitaciones: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/local-host-cache.html
También hay una guía de Tech Zone sobre el tamaño y la escala de la caché de host local que se puede encontrar aquí: https://docs.citrix.com/en-us/tech-zone/design/design-decisions/local-host-cache-sizing-scaling.html
Aviso: Realice estos pasos en un entorno de prueba antes de implementarlos en un entorno de producción en vivo para asegurarse de que está familiarizado con el proceso y preparado para cualquier problema o pregunta específica del entorno que pueda surgir. También se recomienda utilizar la última actualización acumulativa (CU) de LTSR disponible, ya que hay varias correcciones relacionadas con el LHC que pueden beneficiar a su entorno.
Información general
- Configure el entorno para este procedimiento.
- Determine el agente principal elegido.
- Forzar una interrupción para activar la función Caché de host local.
- Permita que los VDA se registren de nuevo en los intermediarios secundarios elegidos.
- Realice la actualización del producto en un agente secundario no seleccionado.
- Realice la actualización obligatoria del sitio, incluida la actualización de la base de
- Realice actualizaciones de productos en todos los intermediarios secundarios no elegidos que queden.
- Salga del modo de interrupción y caché de host local.
- Permitir que los VDA vuelvan a registrarse en los Delivery Controllers recién actualizados.
- Realizar la actualización del producto en el último Delivery Controller restante (agente secundario previamente elegido).
- Regrese el entorno a la configuración predeterminada.
Procedimiento
-
Compruebe si la caché de host local está habilitada mediante el siguiente cmdlet de PowerShell.
Get-BrokerSite
Buscar
LocalHostCacheEnabled : True
Si es false, habilite la caché de host local.
Set-BrokerSite -LocalHostCacheEnabled $true -ConnectionLeasingEnabled $false
Este cmdlet también inhabilita la funcionalidad Concesión de conexiones. No habilite la Caché de host local y la Concesión de conexiones a la vez.
-
De forma predeterminada, los escritorios VDA con la energía administrada que formaran parte de grupos de entrega agrupados que tuvieran habilitada la propiedad “ShutdownDesktopsAfterUse” se colocaban en el modo de mantenimiento cuando ocurría una interrupción. Para reemplazar el comportamiento predeterminado, debe habilitarlo en todo el sitio y para cada grupo de entrega afectado. Ejecute los siguientes cmdlets de PowerShell.
Set-BrokerSite -ReuseMachinesWithoutShutdownInOutageAllowed $true
Set-BrokerDesktopGroup -Name "<Delivery Group Name>"- ReuseMachinesWithoutShutdownInOutage $true
- Si el Broker Service se ha configurado para usar puertos TLS de StoreFront, StoreFront o StoreFront personalizados, lleve a cabo los siguientes pasos para asegurarse de que el servicio de alta disponibilidad (HA) también esté configurado con los puertos personalizados correctos.
-
Verifique la configuración actual del puerto de Broker Service en cada Broker emitiendo el siguiente comando:
%programfiles%\Citrix\Broker\Service\BrokerService.exe -show
-
Verifique la configuración actual del puerto de servicio de HA en cada agente mediante la emisión del siguiente comando:
%programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -show
-
Si los puertos TLS de VDA, StoreFront o StoreFront enumerados para el servicio de alta disponibilidad no coinciden con el servicio de agente, utilice los conmutadores de línea de comandos adecuados que se indican a continuación para establecer la configuración del puerto del servicio de alta disponibilidad para que coincidan en consecuencia.
%programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -VdaPort <port> %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -StoreFrontPort <port> %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -StoreFrontTlsPort <port> <!--NeedCopy-->
Nota:
Se espera que el puerto del SDK sea diferente entre el Broker Service y el HA Service.
Al cambiar el puerto de StoreFront del Broker Service, el puerto de StoreFront del servicio de alta disponibilidad se actualizará para que coincida automáticamente. Sin embargo, el servicio que recibe la actualización automática tendrá que reiniciarse manualmente para empezar a usar el nuevo puerto.
-
-
Durante una interrupción, el agente secundario elegido se encargará de todas las conexiones. Cuando empieza la interrupción, el broker secundario no dispone de datos actuales de registro de agentes VDA, pero, en cuanto un VDA se comunica con él, comienza un proceso de re-registro. Durante este proceso, el broker secundario también obtiene información de sesión actualizada acerca de ese VDA. Para acelerar el nuevo registro de los VDA del intervalo predeterminado de 5 minutos a un intervalo de 1 minuto, esta configuración debe aplicarse a todos los Controllers del sitio.
New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer -Name HeartbeatPeriodMs -PropertyType DWORD -Value 60000
-
Para supervisar las reinscripciones de VDA, inicie Citrix Studio y haga clic en el nodo Configuración > Controllers para ver la cantidad de VDA registrados en los intermediarios principales. Deje el Citrix Studio abierto para que los recuentos caigan a cero a medida que los VDA se vuelven a registrar con el agente secundario elegido durante la interrupción. Tenga en cuenta que no puede usar Citrix Studio para ver el recuento de VDA registrados en el agente secundario.
-
Para forzar la interrupción y entrar en modo LHC, modifique el Registro de cada Delivery Controller.
New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name OutageModeForced -PropertyType DWORD -Value 1
-
Para determinar si la interrupción se ha desencadenado y cada agente principal ha entrado en modo LHC, vaya al nodo Aplicación de los registros de eventos de cada Controller y busque el siguiente evento en Citrix High Availability Service.
3502: El servicio de alta disponibilidad de Citrix se ha activado y gestionará las solicitudes de sesiones de los usuarios hasta que se resuelva el problema descubierto con la actividad de intermediación normal.
-
Confirme que todos los VDA se han vuelto a registrar con el agente secundario elegido actualizando el nodo Controllers en Citrix Studio. Es probable que todos los VDA se hayan vuelto a registrar cuando los intermediarios principales no muestran ningún VDA registrado.
-
Los intermediarios secundarios utilizan la lista alfabética de los FQDN de las máquinas en las que funcionan para determinar (elegir) qué intermediario secundario se encargará de las operaciones de intermediación en la zona en caso de que se produzca una interrupción del servicio. Para confirmar qué agente secundario se ha elegido, busque el siguiente evento en Citrix High Availability Service en los registros de aplicaciones de eventos de Windows.
3504: El “FQDN del controlador elegido” de Citrix High Availability Service se ha convertido en la instancia elegida entre sus pares (lista de FQDN de controladores del mismonivel).
-
Elija uno de los controladores del mismo nivel no seleccionados y realice la actualización del producto en el controlador no seleccionado.
-
Desde el Controller recién actualizado, inicie Citrix Studio y realice la actualización obligatoria del sitio, incluida la actualización de la base de datos.
-
Realice actualizaciones de productos en los controladores del mismo nivel no seleccionados restantes. Asegúrese de no interrumpir el Controller elegido, que sigue administrando todas las conexiones nuevas y activas en el entorno.
-
Después de actualizar todos los Controllers no seleccionados, es hora de sacar el sitio de la interrupción y salir del modo LHC. Para quitar el desencadenante de la interrupción del servicio forzada, modifique el Registro de cada Controller. La clave también se puede eliminar si se prefiere.
Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name OutageModeForced -Value 0
-
Para confirmar si el sitio está fuera del modo de interrupción, busque en cada Controller los siguientes eventos de Citrix Broker Service en el registro de eventos de la aplicación.
3004: Citrix Broker Service se conectó correctamente a la base de datos de XenDesktop.
3500: Citrix Broker Service ha detectado que el problema de comunicación con la base de datos se ha resuelto y reanudará la actividad de intermediación normal mediante la configuración de la base de datos del sitio principal.
-
Actualice el nodo Controllers de Citrix Studio para ver cómo los VDA se vuelven a registrar con los Controllers actualizados. Confirme que todos los VDA se hayan registrado correctamente.
-
Realice la actualización del producto en el último Controller restante que actuó como agente secundario elegido durante la interrupción.
-
(Este paso es opcional). Vuelva a establecer el intervalo de registro de VDA en el valor predeterminado de 5 minutos modificando el registro de cada Controller (la clave también se puede eliminar si se prefiere).
Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer -Name HeartbeatPeriodMs -PropertyType DWORD -Value 300000
-
(Este paso es opcional). Utilice los siguientes cmdlets si desea volver al comportamiento predeterminado de los grupos de entrega con administración de energía.
Set-BrokerSite -ReuseMachinesWithoutShutdownInOutageAllowed $false Set-BrokerDesktopGroup -Name "<Delievery Group Name>" -ReuseMachinesWithoutShutdownInOutage $false <!--NeedCopy-->
La actualización no disruptiva que utiliza la caché de host local ahora debe estar completa.