Citrix Virtual Apps and Desktops Service

Caché de host local

Caché de host local permite que la intermediación de las conexiones en una implementación de Citrix Virtual Apps and Desktops Service continúe cuando un Cloud Connector no se pueda comunicar con Citrix Cloud. La Caché de host local se activa después de que la conexión de red se haya perdido durante 60 segundos.

Con la Caché de host local, los usuarios que estén conectados cuando se produce una interrupción pueden seguir trabajando sin interrupciones. En las conexiones nuevas y las reconexiones se dan demoras mínimas de conexión.

Importante:

La caché de host local requiere un StoreFront local implementado por el cliente como parte de la implementación. Debe agregar todos los Cloud Connectors que tienen (o pueden tener) VDA registrados con ellos en StoreFront como Delivery Controllers. Un Cloud Connector que no se agrega a StoreFront no puede pasar al modo de interrupción del servicio, lo que podría provocar errores en el inicio del usuario.

Contenido de datos

La Caché de host local incluye la siguiente información, que es un subconjunto de la información contenida en la base de datos principal:

  • Identidades de los usuarios y los grupos que tienen derechos asignados a recursos publicados en el sitio.
  • Identidades de los usuarios que actualmente usan, o que han utilizado recientemente, recursos publicados en el sitio.
  • Identidades de las máquinas VDA (incluidas las máquinas de acceso con Remote PC) configuradas en el sitio.
  • Identidades (nombres y direcciones IP) de las máquinas cliente de la aplicación Citrix Workspace que se utilizan activamente para conectarse a los recursos publicados.

También contiene información para las conexiones actualmente activas que se establecieron mientras la base de datos principal no estaba disponible:

  • Resultados de todos los análisis de máquinas de punto final del cliente realizados por la aplicación Citrix Workspace.
  • Identidades de las máquinas de la infraestructura (tales como Citrix Gateway y servidores de StoreFront) que intervienen en las operaciones del sitio.
  • Fechas, horas y tipos de actividades recientes de los usuarios.

Funcionamiento

Durante el funcionamiento normal

Imagen de funcionamiento normal

  • El broker principal (conocido también como Citrix Remote Broker Provider Service) en un Cloud Connector acepta las solicitudes de conexión provenientes de StoreFront, y se comunica con Citrix Cloud para conectar usuarios a los agentes VDA que están registrados en el Cloud Connector.
  • El servicio Citrix Config Synchronizer Service (CSS) se comunica con el broker de Citrix Cloud aproximadamente cada minuto para comprobar si se han hecho cambios de configuración. Esos cambios pueden haberse iniciado por la acción de un administrador (si modifica una propiedad del grupo de entrega, por ejemplo) o por acciones del sistema (como las asignaciones de máquinas).
  • Si se ha producido un cambio de configuración desde la comprobación anterior, CSS sincroniza la información (la copia) en un broker secundario (conocido también como High Availability Service, o HA broker, como se muestra en la imagen anterior) presente en el Cloud Connector.

    Se copian todos los datos de la configuración, no solo los elementos que han cambiado desde la comprobación anterior. El servicio CSS importa los datos de configuración en una base de datos LocalDB de Microsoft SQL Server Express ubicada en el Cloud Connector. Esta base de datos se conoce como la base de datos de caché de host local. El servicio CSS comprueba que la información de la base de datos de caché de host local coincida con la información presente en la base de datos del sitio en Citrix Cloud. La base de datos de caché de host local se crea con cada sincronización.

Microsoft SQL Server Express LocalDB (que la base de datos de caché de host local utiliza) se instala automáticamente al instalar un Cloud Connector. La base de datos de caché de host local no se puede compartir entre los Cloud Connectors. No es necesario realizar una copia de seguridad de la base de datos de caché de host local. Se vuelve a crear cada vez que se detecta un cambio de configuración.

  • Si no se han producido cambios desde la última comprobación, no se copian los datos de configuración.

Durante una interrupción

Imagen de interrupción de servicio

Al principio de una interrupción:

  • El broker secundario comienza a escuchar y a procesar las solicitudes de conexión.
  • 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 registro. Durante este proceso, el broker secundario también obtiene información de sesión actualizada acerca de ese VDA.
  • Mientras el broker secundario gestiona las conexiones, el broker principal sigue supervisando la conexión a Citrix Cloud. Cuando se restaura la conexión, el broker principal indica al secundario que deje de escuchar para obtener la información de conexión. A continuación, el broker principal reanuda la intermediación. La próxima vez que el VDA se comunica con el broker principal, comienza un proceso de registro. El broker secundario elimina los registros de VDA restantes desde la interrupción anterior. El servicio CSS reanuda la sincronización de información cuando detecta que se han producido cambios de configuración en Citrix Cloud.

En el caso improbable de que se inicie una interrupción durante una sincronización, la importación de ese momento se descarta y se utiliza la última configuración conocida.

El registro de eventos indica cuándo tienen lugar las sincronizaciones y las interrupciones.

No hay límites de tiempo impuestos para el funcionamiento en modo de interrupción.

También puede desencadenar intencionadamente una interrupción. Consulte Forzar una interrupción del servicio para obtener información detallada sobre los motivos y la manera de hacerlo.

Ubicaciones de recursos con varios Cloud Connectors

Entre otras de sus tareas, CSS proporciona constantemente al broker secundario información sobre todos los Cloud Connectors de la ubicación de recursos. Con esta información, cada broker secundario sabe cuáles son todos los demás brokers secundarios que se ejecutan en otros Cloud Connectors de la ubicación de recursos.

Los brokers secundarios se comunican entre sí por un canal independiente. Estos brokers utilizan una lista alfabética de nombres de dominio completo (FQDN) de las máquinas que están ejecutando para determinar (elegir) qué broker secundario intermediará las operaciones de la zona si se produce una interrupción. Durante la interrupción, todos los VDA vuelven a registrarse en el broker secundario que se haya elegido. Los brokers secundarios de la zona que no hayan sido elegidos rechazan las solicitudes entrantes de conexión y de registro que les envíen los agentes VDA.

Si un broker secundario elegido falla durante una interrupción, se elegirá otro broker secundario para que le releve, y los VDA se registrarán en el broker secundario que acaba de elegirse.

Durante una interrupción, si se reinicia un Cloud Connector:

  • Si ese Cloud Connector no es el broker elegido, el reinicio no tiene repercusión.
  • Si ese Cloud Connector sí es el broker elegido, se elegirá otro Cloud Connector y los VDA deberán registrarse en él. Después de que el Cloud Connector reiniciado se encienda, se hace cargo automáticamente de la intermediación, por lo que los VDA deben volver a registrarse. En este caso, el rendimiento puede verse afectado durante los registros.

El registro de eventos proporciona información sobre las opciones elegidas.

Lo que no está disponible durante una interrupción y otras diferencias

No hay límites de tiempo impuestos para el funcionamiento en modo de interrupción. Sin embargo, si la interrupción se debe a la pérdida de la conectividad de Citrix Cloud con su ubicación de recursos, se recomienda restaurar la conectividad de la ubicación de recursos lo más rápido posible.

Durante una interrupción:

  • No puede utilizar Studio.
  • Tiene acceso limitado al SDK de PowerShell remoto.

    • Primero debe:
      • Agregar una clave del Registro EnableCssTestMode con un valor de 1: New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTestMode -PropertyType DWORD -Value 1
      • Establecer la autenticación del SDK en OnPrem para que el proxy del SDK no intente redirigir las llamadas de cmdlet: $XDSDKAuth="OnPrem"
      • Utilizar el puerto 89: Get-BrokerMachine -AdminAddress localhost:89 | Select MachineName, ContollerDNSName, DesktopGroupName, RegistrationState
    • Después de ejecutar esos comandos, puede acceder a:
      • Todos los cmdlets Get-Broker*.
      • Los cmdlets de administración de energía New-BrokerHostingPowerAction, Set-BrokerHostingPowerAction y Remove-BrokerHostingPowerAction.
  • Los datos de supervisión no se envían a Citrix Cloud durante una interrupción. Por lo tanto, las funciones de Supervisar (Director) no mostrarán actividad de un intervalo de interrupción.
  • Host Service no puede proporcionar credenciales de hipervisor. Todas las máquinas están en el estado de energía desconocido (unknown) y no se pueden emitir operaciones de administración de energía. No obstante, las máquinas virtuales del host que estén encendidas se pueden utilizar para las solicitudes de conexión.

    (Tech Preview; para obtener instrucciones, consulte esta entrada de blog). Excepciones solo para los hipervisores de Citrix Hypervisor y VMware compatibles:

    • Las credenciales de hipervisor se sincronizan antes de la interrupción del servicio y se almacenan de forma segura en Cloud Connector.
    • Las máquinas virtuales de hipervisores locales tienen el estado de energía más reciente en la base de datos de la caché de host local.
    • Las acciones de energía que ofrece el hipervisor están disponibles durante el modo de interrupción del servicio. Las máquinas virtuales que están encendidas se pueden utilizar para las solicitudes de conexión.
    • Las máquinas virtuales del hipervisor se pueden encender automáticamente a demanda durante el inicio de la sesión.
  • Una máquina asignada solo se puede usar si la asignación se dio durante el funcionamiento normal. No se pueden realizar asignaciones nuevas durante una interrupción del servicio.
  • No se puede configurar ni inscribir automáticamente las máquinas de acceso con Remote PC. En cambio, las máquinas que se inscribieron y configuraron durante el funcionamiento normal se pueden usar.
  • Si los recursos están en zonas diferentes, es posible que los usuarios de aplicaciones y escritorios alojados en servidores superen la cantidad de sesiones indicadas en el límite configurado de sesiones.
  • Los usuarios solo pueden iniciar aplicaciones y escritorios desde los VDA registrados en la zona que contiene el broker actualmente activo o elegido. Durante una interrupción del servicio, no se admiten inicios entre zonas (desde un broker de una zona en un VDA de otra zona).
  • Si se produce una interrupción de la base de datos del sitio antes de que comience un reinicio programado para los agentes VDA de un grupo de entrega, los reinicios comienzan cuando finaliza la interrupción del servicio. Esto puede provocar resultados imprevistos. Para obtener más información, consulte Reinicios programados que se retrasan por una interrupción de la base de datos.

Requisito de StoreFront

La caché de host local requiere un StoreFront local implementado por el cliente como parte de la implementación. Debe agregar todos los Cloud Connectors que tienen (o pueden tener) VDA registrados con ellos en StoreFront como Delivery Controllers. Un Cloud Connector que no se agrega a StoreFront no puede pasar al modo de interrupción del servicio, lo que podría provocar errores en el inicio del usuario.

Disponibilidad de recursos

Puede garantizar la disponibilidad de recursos (aplicaciones y escritorios) durante una interrupción de servicio de dos maneras:

  • Publique los recursos en todas las ubicaciones de recursos de la implementación.
  • Publique los recursos en al menos una ubicación de recursos. A continuación, utilice el procedimiento siguiente para habilitar la función de comprobación avanzada de estado en cada almacén de StoreFront.

    1. Actualice la instalación de StoreFront en cada ubicación de recursos a la versión mínima 1912 CU1. Para obtener orientación, consulte la documentación de StoreFront.
    2. Para cada almacén StoreFront, habilite la opción de comprobación avanzada de estado. En el archivo web.config del almacén, en farmsets, agregue advancedHealthCheck="on".

      Por ejemplo:

      Comprobación avanzada de estado de StoreFront

    3. Después de actualizar el archivo, reinicie IIS manualmente. Repita la actualización del archivo web.config y reinicie IIS para otros almacenes.

Compatibilidad con aplicaciones y escritorios

El caché de host local solo funciona con StoreFront implementado por el cliente. No es compatible con Workspace.

La función “Caché de host local” admite aplicaciones y escritorios alojados en servidores y escritorios estáticos (asignados).

Caché de host local admite agentes VDA de escritorio en grupos de entrega agrupados, como se indica a continuación.

  • De forma predeterminada, los escritorios VDA con la energía administrada que formen parte de grupos de entrega agrupados (creados con MCS o Citrix Provisioning) que tengan habilitada la propiedad ShutdownDesktopsAfterUse se colocan en el modo de mantenimiento cuando ocurre una interrupción. Puede cambiar este comportamiento predeterminado y permitir que esos escritorios se utilicen durante una interrupción.

    Sin embargo, no podrá confiar en la administración de energía durante la interrupción del servicio (la administración de energía se reanuda una vez reanudadas las operaciones normales). Además, esos escritorios podrían contener datos del usuario anterior, porque no se han reiniciado.

  • Para reemplazar el comportamiento predeterminado, debe estar habilitado en todo el sitio y para cada grupo de entrega afectado. Realice una llamada de asistencia para habilitarlo en todo el sitio (este comando no se puede ejecutar con el SDK de PowerShell remoto).

    Set-BrokerSite -ReuseMachinesWithoutShutdownInOutageAllowed $true

    Para cada grupo de entrega afectado, ejecute el siguiente comando de PowerShell.

    Set-BrokerDesktopGroup -Name "name" -ReuseMachinesWithoutShutdownInOutage $true

    Habilitar esta función en el sitio y los grupos de entrega no afecta al funcionamiento de la propiedad configurada ShutdownDesktopsAfterUse durante las operaciones normales.

Diferencias con versiones de XenApp 6.x

Aunque esta implementación de Caché de host local comparte el nombre con la función Caché de host local de XenApp 6.x y versiones anteriores, se trata de una implementación totalmente diferente desde el punto de vista técnico. Esta implementación incluye importantes mejoras, es más robusta, es más resistente a errores y requiere menos mantenimiento.

Administrar la Caché de host local

La función Caché de host local está siempre habilitada en una implementación de Citrix Virtual Apps and Desktops Service. No es necesario hacer nada más para configurarla ni administrarla.

Como se ha mencionado anteriormente, la base de datos Microsoft SQL Server Express LocalDB se instala automáticamente cuando se instala un Cloud Connector en una ubicación de recursos. No intente inhabilitarla ni quitarla. Citrix actualiza periódicamente el Cloud Connector. Si inhabilita o quita el software de SQL Server Express LocalDB manualmente, la próxima actualización de Cloud Connector lo reemplazará.

Verificar que la Caché de host local está funcionando

Para verificar que la Caché de host local está configurada y funciona correctamente:

  • Verifique que la ubicación de recursos contiene un almacén local de StoreFront que apunta a todos los Cloud Connectors que se encuentran en esa ubicación de recursos.
  • Compruebe que las importaciones de sincronización se completan correctamente. Compruebe los registros de eventos.
  • Compruebe que la base de datos de caché de host local se haya creado en cada Cloud Connector. Eso confirma que el servicio de alta disponibilidad High Availability Service puede tomar el control, si fuera necesario.
    • En el servidor de Cloud Connector, vaya a c:\Windows\ServiceProfiles\NetworkService.
    • Compruebe que se hayan creado HaDatabaseName.mdf y HaDatabaseName_log.ldf.
  • Forzar una interrupción del servicio en todos los Cloud Connectors de la ubicación de recursos. Una vez que haya verificado que la Caché de host local funciona, recuerde volver a colocar todos los Cloud Connectors de nuevo en el modo normal. Esto puede tardar aproximadamente 15 minutos.

Registros de eventos

Los registros de eventos indican cuándo tienen lugar las sincronizaciones y las interrupciones. En los registros del visor de eventos, el modo de interrupción se conoce como modo de alta disponibilidad (HA).

Config Synchronizer Service (Servicio de sincronización de configuraciones)

Durante las operaciones normales, pueden producirse los siguientes eventos cuando el servicio CSS importa los datos de configuración en la base de datos de caché de host local a través del broker correspondiente.

  • 503: Citrix Config Sync Service recibió una configuración actualizada. Este evento ocurre cada vez que se recibe una configuración actualizada de Citrix Cloud. Indica el inicio del proceso de sincronización.
  • 504: Citrix Config Sync Service importó una configuración actualizada. La importación de la configuración se completó correctamente.
  • 505: Falló una importación de Citrix Config Sync Service. La importación de la configuración no se completó correctamente. Si hay una configuración previa disponible, se utiliza si ocurre una interrupción. Sin embargo, estará desactualizada frente a la configuración actual. Si no hay ninguna configuración previa disponible, el servicio no puede participar en la intermediación de sesiones durante una interrupción. En este caso, consulte la sección Solución de problemas y póngase en contacto con Citrix Support.
  • 507: Citrix Config Sync Service abandonó una importación porque el sistema está en modo de detención y el broker de caché de host local se está utilizando para la intermediación de broker. El servicio recibió una nueva configuración, pero la importación fue abandonada debido a una interrupción. Este es el comportamiento esperado.

High Availability Service (Servicio de alta disponibilidad)

Este servicio también se conoce como broker de caché de host local.

  • 3502: Se ha producido una interrupción y el broker de caché de host local está llevando a cabo operaciones de intermediación.
  • 3503: Se ha resuelto una interrupción y se ha reanudado el funcionamiento normal.
  • 3504: Indica el broker de caché de host local elegido, además de otros brokers de caché de host local que hayan participado en la elección.

Forzar una interrupción del servicio

Puede que quiera forzar deliberadamente una interrupción.

  • Si la red tiene altibajos repetidos. Forzar una interrupción hasta que se resuelvan los problemas de red impide una transición continua entre los modos normal y de interrupción (con las avalanchas de registros de VDA que ello conlleva).
  • Para probar un plan de recuperación ante desastres.
  • Para comprobar que la Caché de host local funciona correctamente.

Para forzar una interrupción, modifique el Registro de cada servidor de Cloud Connector. En HKLM\Software\Citrix\DesktopServer\LHC, cree y establezca OutageModeForced como REG_DWORD con el valor 1. Este parámetro indica al broker de caché de host local que se coloque en el modo de interrupción, independientemente del estado de la conexión a Citrix Cloud. Establecer este valor en 0 saca al broker de caché de host local del modo de interrupción.

Para comprobar los eventos, supervise el archivo de registros Current_HighAvailabilityService que hay en C:\ProgramData\Citrix\WorkspaceCloud\Logs\Plugins\HighAvailabilityService.

Solución de problemas

Existen varias herramientas de solución de problemas disponibles cuando falla una importación de sincronización a la base de datos de caché de host local y se publica un evento 505.

Rastreo CDF: Contiene opciones para los módulos ConfigSyncServer y BrokerLHC. Esas opciones, junto con otros módulos de broker, pueden identificar el problema.

Informe: Si falla una importación de sincronización, puede generar un informe. Este informe se detiene en el objeto que causa el error. Esta funcionalidad de informe afecta a la velocidad de sincronización, por lo que Citrix recomienda inhabilitarla cuando no se use.

Para habilitar y generar un informe de seguimiento de CSS, escriba el siguiente comando:

New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTraceMode -PropertyType DWORD -Value 1

El informe HTML se publica en: C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\CitrixBrokerConfigSyncReport.html.

Una vez generado el informe, introduzca el siguiente comando para inhabilitar la funcionalidad de informes:

Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTraceMode -Value 0

Más información

Consulte Consideraciones sobre la escala y el tamaño de la caché de host local para ver información sobre:

  • Metodologías de pruebas y resultados
  • Consideraciones sobre tamaño de RAM
  • Consideraciones sobre la configuración de sockets y núcleo de CPU
  • Consideraciones sobre almacenamiento