Conceptos avanzados

Usar la caché de host local para la actualización de versiones de bases de datos no disruptivas

La función Caché de host local (LHC) permite que las operaciones de intermediación (broker) de las conexiones en un sitio de XenApp o XenDesktop continúen cuando se produce una interrupción. El procedimiento siguiente muestra cómo se puede utilizar LHC para realizar una actualización no disruptiva del sitio cuando no hay zonas secundarias. Vuelva a comprobar si hay actualizaciones futuras, ya que Citrix está buscando ampliar esta guía para incluir un procedimiento para entornos con varias zonas.

Antes de continuar, se recomienda revisar la función Caché de Host Local, sus requisitos y limitaciones: https://docs.citrix.com/es-es/xenapp-and-xendesktop/7-15-ltsr/manage-deployment/local-host-cache.html

También hay una guía de concepto avanzado sobre el tamaño y el escalado de la caché de host local que se puede encontrar aquí: https://docs.citrix.com/es-es/advanced-concepts/implementation-guides/local-host-cache-sizing-scaling.html

Descargo de responsabilidad: Siga 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 de LTSR disponible, ya que hay varias correcciones relacionadas con LHC que pueden beneficiar a su entorno.

Información general

  1. Configure el entorno para este procedimiento.
  2. Determine el broker principal elegido.
  3. Forzar una interrupción para activar la función Caché de host local.
  4. Permitir que los VDA se vuelvan a registrar con los intermediarios secundarios elegidos.
  5. Realice la actualización del producto en un broker secundario no elegido.
  6. Realice la actualización obligatoria del sitio, incluida la actualización de la base de datos.
  7. Realice actualizaciones de productos en cualquier intermediario secundario no elegido que quede.
  8. Salga de la interrupción y el modo Caché de host local.
  9. Permitir que los agentes VDA vuelvan a registrarse con Delivery Controllers recién actualizados.
  10. Realice la actualización del producto en el último Delivery Controller restante (broker secundario elegido previamente).
  11. Devolver el entorno a la configuración predeterminada.

Procedimiento

  1. Compruebe si la caché de host local está habilitada mediante el siguiente cmdlet de PowerShell.

    Get-BrokerSite

    Busque LocalHostCacheEnabled : True

    Comando Get BrokerSite

    Si es falso, habilite la caché de host local.

    Set-BrokerSite -LocalHostCacheEnabled $true -ConnectionLeasingEnabled $false

    Este cmdlet también inhabilita la función de arrendamiento de conexiones. No habilite la Caché de host local y la Concesión de conexiones a la vez.

  2. De forma predeterminada, los VDA de escritorio administrados por energía en grupos de entrega agrupados que tienen habilitada la propiedad “ShutdownDesktopsAfterUse” se colocan en modo de mantenimiento cuando se produce 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

  3. Si el Broker Service se ha configurado para utilizar puertos TLS personalizados de VDA, StoreFront o StoreFront, lleve a cabo los siguientes pasos para garantizar que el servicio de alta disponibilidad (HA) también esté configurado con los puertos personalizados correctos.
    • Compruebe la configuración actual del puerto de Broker Service en cada Broker ejecutando el siguiente comando: %programfiles%\Citrix\Broker\Service\BrokerService.exe -show Imagen del servicio de Broker

    • Verifique la configuración actual del puerto del Servicio de HA en cada Broker ejecutando el siguiente comando: %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -show Imagen de servicio de alta disponibilidad

    • Si los puertos TLS de VDA, StoreFront o StoreFront enumerados para el Servicio de HA no coinciden con el Servicio de Broker, utilice los modificadores de línea de comandos correspondientes que se enumeran a continuación para establecer la configuración del puerto del Servicio de HA para que coincida 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-->
    

    Puerto VDA de servicio de alta disponibilidad

    Nota: Se espera que el puerto SDK sea diferente entre Broker Service y HA Service.

    Al cambiar el puerto StoreFront del servicio Broker, el puerto StoreFront del servicio HA se actualizará para que coincida automáticamente. Sin embargo, el servicio que recibe la actualización automática todavía tendrá que reiniciarse manualmente para comenzar a utilizar el nuevo puerto.

  4. Durante una interrupción, el broker 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 desde el 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

  5. Para supervisar los nuevos registros de VDA, inicie Citrix Studio y haga clic en el nodo Configuración > Controllers y vea el número de VDA registrados con los agentes principales. Deje Citrix Studio abierto para ver que los recuentos caen a cero a medida que los VDA se vuelven a registrar con el broker secundario elegido durante la interrupción. Tenga en cuenta que no puede utilizar Citrix Studio para ver el recuento de VDA registrados en el broker secundario.

  6. 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

  7. Para determinar si la interrupción se ha desencadenado y cada broker principal ha entrado en el modo LHC, vaya al nodo Application de los registros de eventos de cada Controller y busque el siguiente evento desde Citrix High Availability Service.

    3502: Citrix High Availability Service se ha activado y se encargará del intermediario de las solicitudes de sesiones del usuario hasta que se resuelva el problema detectado con la actividad normal de intermediación.

    Imagen de Event 3502

  8. Confirme que todos los VDA se han vuelto a registrar con el broker secundario elegido actualizando el nodo Controllers en Citrix Studio. Es probable que todos los agentes VDA se vuelvan a registrar cuando los agentes principales muestran cero agentes VDA registrados.

  9. Los intermediarios secundarios utilizan la lista alfabética de FQDN de las máquinas en las que están ejecutando para determinar (elegir) qué intermediario secundario se encargará de las operaciones de intermediación en la zona si se produce una interrupción. Para confirmar qué broker secundario se ha elegido, busque el siguiente evento en Citrix High Availability Service en los Registros de aplicaciones de eventos de Windows.

    3504: El servicio de alta disponibilidad de Citrix ‘FQDN of elected Controller’ se ha convertido en la instancia elegida entre sus pares (lista de FQDN del controlador del mismonivel).

    Imagen de Event 3504

  10. Elija uno de los controladores del mismo nivel no elegidos y realice la actualización del producto en el controlador no elegido.

  11. Desde el controlador recientemente actualizado, inicie Citrix Studio y realice la actualización obligatoria del sitio, incluida la actualización de la base de datos.

    Imagen de actualización del sitio

  12. Realice actualizaciones de productos en los controladores del mismo nivel no elegidos restantes. Asegúrese de no interrumpir el controlador elegido que sigue administrando todas las conexiones nuevas y activas en el entorno.

  13. Después de que se hayan actualizado todos los Controladores no elegidos, es hora de sacar el sitio de la interrupción y la transición fuera del modo LHC. Para quitar el desencadenador de interrupción 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

  14. Para confirmar si el sitio está fuera del modo de interrupción, busque en cada Controller los siguientes eventos desde Citrix Broker Service en el registro de sucesos de la aplicación.

    3004: Citrix Broker Service se ha conectado correctamente a la base de datos de XenDesktop.

    Imagen de Event 3004

    3500: Citrix Broker Service ha detectado que el problema con la comunicación con la base de datos se ha resuelto y reanudará la actividad normal de intermediación mediante la configuración en la base de datos del sitio principal.

    Imagen de Event 3500

  15. Actualice el nodo Controllers desde Citrix Studio para ver cómo los VDA se vuelven a registrar con los Controllers actualizados. Confirme que todos los agentes VDA se han registrado correctamente.

  16. Realice la actualización del producto en el último controlador restante que sirvió como agente secundario elegido durante la interrupción.

  17. Vuelva a establecer el intervalo de registro de VDA al valor predeterminado de 5 minutos modificando el registro en 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

  18. Utilice los cmdlets siguientes si quiere volver al comportamiento predeterminado de los grupos de entrega administrados por 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 debería estar completa.

Redactado por Roman Siryk, Sr. Product Dev Manager y Joseph Wu, Sr. Quality Engineer

Usar la caché de host local para la actualización de versiones de bases de datos no disruptivas