Bases de datos SQL Server y CVAD
Microsoft SQL Server es un componente importante de cualquier implementación de Citrix Virtual Apps and Desktops (CVAD). Planificar y comprender las interacciones de Citrix SQL es muy beneficioso para usted y su organización a la hora de mantener un entorno Citrix saludable y con buen rendimiento. La falta de alta disponibilidad de SQL Server y de amplios recursos informáticos tendrá un efecto negativo en la experiencia del usuario y en el tiempo de actividad de la infraestructura Citrix.
Resumen base de datos
Hay 3 bases de datos que se requieren o se crean durante la implementación de Citrix Virtual Apps and Desktops:
Sitio: (también conocido como configuración del sitio) Almacena la configuración del sitio en ejecución, además de los datos dinámicos relacionados con la intermediación, como el estado actual de la sesión, la conexión, la carga y la información de estado del Virtualy Delivery Agent (VDA).
Registro de configuración: También conocida como Registro, esta base de datos almacena información acerca de actividades de tipo administrativo y los cambios de configuración en el sitio. Esta base de datos se usa cuando la función Registro de configuración está habilitada (opción predeterminada).
Supervisión: Esta base de datos almacena los datos que utiliza Director, como la información de conexión y de sesión.
Cuando se instala Citrix Virtual Apps and Desktops, los administradores crean las bases de datos durante la configuración inicial del sitio (ya sea a través de Studio o mediante la ejecución de scripts en SQL Server) y se dividen en tres bases de datos independientes.
Para entornos con bases de datos de monitorización de gran tamaño, una configuración ideal es alojar la base de datos de supervisión en un servidor diferente al de las bases de datos de configuración del sitio y registro de configuración. Registra más datos, los cambios se producen con mayor frecuencia y los datos no se consideran tan críticos como las demás bases de datos. Para obtener más información, consulte el artículo Cómo cambiar las ubicaciones de las bases de datos de la base de datos de supervisión y registro de configuración.
Asegúrese de contar con un proceso para actualizar periódicamente su entorno a la última actualización Cumulative Update (CU) cuando ejecute las versiones de Long Term Service Release (LTSR). Las CU suelen contener correcciones relacionadas con SQL. Además, asegúrese de que existe una supervisión adecuada de SQL Server y bases de datos para detectar eventos de fallos y problemas, como la alta utilización de los recursos, el espacio libre en disco, etc.
Interacción de Citrix con SQL
Los intermediarios de Citrix Virtual Apps and Desktops (Delivery Controllers) utilizan la base de datos como bus de mensajes para comunicarse con los intermediarios y almacenar los datos de configuración, monitoreo y auditoría. Las bases de datos se utilizan constantemente y pueden consumir importantes recursos informáticos en el servidor SQL.
Por ejemplo, la enumeración de recursos (recursos identificados y presentados al usuario), el inicio de recursos y las etapas de inicio de la sesión requieren que Citrix Delivery Controller interactúe con el servidor SQL.
Enumeración: Tras una autenticación correcta a través de NetScaler y StoreFront, Delivery Controller se pone en contacto con la base de datos del sitio de Citrix para comprobar qué aplicaciones están disponibles para el usuario, en función de las credenciales de AD. Cuando se identifican los recursos, se extrae información adicional (como nombres de aplicaciones, escritorios, iconos, etc.) de la base de datos.
Iniciar: cuando el usuario selecciona la aplicación o el escritorio que se va a iniciar, StoreFront inicia una solicitud de inicio al Delivery Controller. A continuación, el Delivery Controller contacta con la base de datos del sitio del servidor SQL para seleccionar el VDA adecuado al que enviar al usuario.
Inicialización de la sesión: Tras el inicio de la sesión, el VDA se pone en contacto con el Delivery Controller para escribir la información de la sesión en la base de datos del sitio.
Recomendaciones para las bases
Para garantizar que una interrupción del servidor SQL tenga un impacto mínimo en la infraestructura de Citrix Virtual Apps and Desktops, los clientes pueden elegir entre las siguientes opciones de bases de datos de alta disponibilidad compatibles con Citrix:
- Instancias en clúster de conmutación por error de AlwaysOn de SQL Server
- Grupos de disponibilidad AlwaysOn de SQL Server (incluidos los grupos de disponibilidad básica)
- Crear reflejo de la base de datos de SQL Server
Citrix (y Epic para entornos sanitarios) recomiendan utilizar el mismo enfoque de alta disponibilidad para las tres bases de datos, aunque el registro de la configuración y la supervisión de la disponibilidad de las bases de datos no sean necesarios para establecer las sesiones de los usuarios finales. Por ejemplo, si tiene previsto utilizar los grupos de disponibilidad de SQL AlwaysOn como estrategia de HA, utilícelos para los tres objetos de la base de datos.
También le recomendamos que realice una copia de seguridad diaria completa de las propias bases de datos de Citrix, especialmente de la base de datos del sitio. Los períodos de retención varían según los requisitos de la organización, pero es típico mantener siete días de respaldos completos y al menos un mes de respaldos semanales. Los programas de respaldo del registro de transacciones deben basarse en una combinación de los estándares de su organización y la tasa de crecimiento del registro de transacciones en relación con la cantidad de almacenamiento disponible que tiene que asignar. Asegúrese de supervisar el almacenamiento disponible en el servidor SQL.
Alinee su modelo de recuperación para las bases de datos de Citrix con los requisitos del enfoque de alta disponibilidad que está adoptando.
Según la recomendación de Microsoft, los clientes deben configurar planes de mantenimiento para que se ejecuten cada noche y cada semana para mantener los índices de la base de datos. Los planes de mantenimiento pueden consistir simplemente en reorganizar los índices durante la noche durante la semana y reconstruir los índices los fines de semana.
Esta recomendación evita cualquier impacto en el rendimiento de la reconstrucción de índices grandes durante las operaciones diarias, especialmente en el caso de una base de datos de supervisión grande. Microsoft recomienda que los índices se reconstruyan si están fragmentados en más del 30% y que se reorganicen si están menos del 30%.
Caché de host local
Para tener en cuenta los casos en los que la base de datos deja de estar disponible, Citrix proporciona la función Local Host Cache (LHC) con Citrix Virtual Apps and Desktops. Al habilitar esta opción, los usuarios de aplicaciones y escritorios publicados pueden conectarse si se interrumpe la comunicación entre Delivery Controllers y la base de datos de configuración del sitio de Citrix. Si SQL está configurado en una arquitectura de alta disponibilidad, como AlwaysOn o Mirroring, esta función ofrece una tolerancia a errores adicional cuando se produce una interrupción total de SQL o se interrumpe la conectividad de la red.
Esto no debe considerarse una alternativa a la alta disponibilidad de SQL, ya que la funcionalidad de administración del sitio no está disponible durante una interrupción de SQL y el proceso de conmutación por error no es instantáneo. En caso de que se produzca una interrupción de SQL, la funcionalidad de intermediación se pierde hasta que se haga la transición al LHC y los VDA se registren de nuevo. Este caso también se produce al volver al modo de operación normal cuando se restablece la conectividad/disponibilidad de SQL.
La caché de host local conserva una copia de los datos del sitio estático en una base de datos local de SQL Express LocalDB en cada Delivery Controller y se basa en estos datos durante una interrupción de la base de datos para dar soporte continuo a los registros de VDA y a las solicitudes de intermediación de sesiones.
Para los sitios CVAD con varias zonas, existirá un LHC independiente para cada zona. Los Delivery Controllers de la zona conservan los datos dinámicos específicos de su zona en la base de datos local de SQL Express.
Consideraciones de diseño de caché de host
Debido a las numerosas variables que intervienen en las implementaciones empresariales, se recomienda que trabaje en estrecha colaboración con Citrix para determinar los recursos adicionales necesarios para utilizar el LHC.
- Consideraciones sobre la escalabilidad
- Los límites máximos documentados para el LHC a partir del CVAD 2203 LTSR son de 10 000 VDA en una sola zona y de 40 000 VDA en una implementación multizona. En un entorno CVAD, la escalabilidad del LHC y de la zona depende de la velocidad de inicio de sesión y del número de usuarios. Por lo tanto, la escalabilidad real que se observa en su entorno puede ser inferior a los máximos publicados. Para esta arquitectura, recomendamos considerar zonas adicionales si el recuento de sesiones esperado supera los 10 000 y/o la tasa de inicio de sesión es superior a 10 usuarios por segundo.
- Tamaño de Delivery Controller: Cuando el LHC está activo, el Delivery Controller (DC) principal elegido por zona gestiona todos los registros, enumeraciones, inicios y actualizaciones del VDA.
- RAM: Los servicios del LHC pueden consumir más de 2 GB de RAM en función de la duración de la interrupción del servicio y del número de inicios de sesión de los usuarios durante la interrupción.
- CPU: Debido a la carga de CPU adicional en el DC elegido, se deben considerar núcleos adicionales para compensar.
La configuración de la CPU de un Controller, en particular el número de núcleos disponibles para SQL Server Express LocalDB, afecta directamente al rendimiento de la caché de host local, incluso más que la asignación de memoria. Este consumo de recursos de CPU solo se ha observado durante el periodo de interrupción cuando la base de datos no está disponible y el servicio High Availability Service está activo.
Si bien LocalDB puede usar varios núcleos (hasta 4), está limitado a un solo socket. Agregar más sockets, por ejemplo, tener 4 sockets con 1 núcleo cada uno, no mejora el rendimiento. En vez de ello, Citrix recomienda usar varios sockets con varios núcleos. En las pruebas llevadas a cabo por Citrix, una configuración de 2x3 (2 sockets, 3 núcleos) proporciona un mejor rendimiento que las configuraciones 4x1 y 6x1.
- Almacenamiento: Durante el modo LHC, el uso del almacenamiento aumenta aproximadamente 1 MB cada 2-3 minutos, suponiendo un promedio de 10 inicios de sesión por segundo. El consumo de almacenamiento aumenta en relación con la velocidad de inicio de sesión
Para obtener más información, consulte el artículo Caché de host local.
Efectos de una interrupción de la base de datos
En caso de una interrupción total de la base de datos, casi todas las funciones críticas de Delivery Controller se ven afectadas, lo que resalta la importancia de diseñar e implementar una de las estrategias de HA de SQL recomendadas. En la siguiente tabla se indican estos efectos:
Componente | Impacto de la interrupción de la base de datos |
---|---|
Base de datos de configuración del sitio | Los usuarios no pueden conectarse ni volver a conectarse a una aplicación o escritorio virtual (sin el LHC). |
Base de datos de supervisión | Director no muestra ningún dato histórico y no se puede iniciar Studio. La intermediación de las solicitudes de los usuarios entrantes y las sesiones de usuario existentes no se ve afectada. |
Base de datos de registros de configuración | Si Permitir cambios cuando se desconecta la base de datos se ha habilitado en las preferencias de registro de Citrix Virtual Apps and Desktops, una interrupción de la base de datos de registro de configuración no tiene ningún impacto (excepto los cambios de configuración que no se están registrando). De lo contrario, los administradores no podrán realizar ningún cambio en el entorno CVAD. |
Nota: Consulte la sección Qué no está disponible durante una interrupción y otras diferencias para obtener más información sobre este tema.
Recomendación de tamaño de SQL
El servidor SQL debe tener el tamaño correcto para garantizar el rendimiento y la estabilidad de un entorno. Dado que cada producto Citrix usa SQL Server de una manera diferente y cada cliente tiene patrones de uso diferentes, no se pueden proporcionar recomendaciones genéricas de tamaño que abarquen todo. En cambio, a continuación se proporcionan recomendaciones de dimensionamiento de SQL Server por producto, y el rendimiento debe supervisarse cuidadosamente durante la implementación para validar las suposiciones de dimensionamiento.
Para un entorno SQL que solo aloja bases de datos relacionadas con Citrix, los servidores SQL deben aprovisionarse con un mínimo de 4 vCPU y 8 GB de RAM para un máximo de 10 000 usuarios. Para implementaciones más grandes o implementaciones con altas tasas de inicio de sesión, recomendamos un mínimo de 8 vCPU y 16 GB de RAM. Para obtener más información sobre los conceptos de dimensionamiento de bases de datos SQL para las implementaciones de Citrix Virtual Apps and Desktops, consulte Tamaño de bases de datos Citrix XenDesktop 7.x. Este artículo también incluye información sobre las funciones de la carga de trabajo, como la tasa estimada de crecimiento del registro de transacciones.
Tenga en cuenta que la base de datos de supervisión varía en tamaño según la configuración de retención de datos. Además, las versiones más recientes del producto tienen más opciones y puntos de datos que consumen más espacio (por ejemplo, LTSR 2203 frente a LTSR 1912). Para obtener más información sobre cómo configurar estos parámetros, consulte Supervisar la configuración de directivas y tenerlo en cuenta en los cálculos de tamaño de la base
Actualizaciones y correcciones de CU
Varias veces al año, Citrix publica actualizaciones acumulativas (CU) para los LTSR de Citrix Virtual Apps and Desktops. Estas CUs solo contienen actualizaciones de seguridad y correcciones de errores, sin nuevas funciones introducidas. Citrix recomienda ejecutar las CU más recientes, porque solucionan los problemas que se han identificado en el producto. Algunas de estas correcciones están relacionadas con SQL. Abordan los problemas que Citrix o nuestros clientes han identificado internamente (por ejemplo, bloqueos o procedimientos almacenados). Somos conscientes de que aplicar actualizaciones completas a los entornos CVAD requiere tiempo y una planificación adecuada (especialmente en situaciones críticas las 24 horas del día, los 7 días de la semana), pero Citrix recomienda encarecidamente mantenerse lo más actualizado posible con las CU para obtener un estado y un rendimiento generales óptimos.
La documentación más reciente
Este documento destaca la importancia de SQL con entornos CVAD, incluida la estrategia de HA y varias consideraciones. No pretende ser una bibliografía completa sobre las recomendaciones de Citrix y SQL. Para obtener detalles adicionales e información actualizada, consulte estos documentos: