Equilibrio de carga
Session Recording admite el equilibrio de carga entre los servidores de Session Recording. Para usar esta función, configure el equilibrio de carga en Citrix ADC para que los servidores de Session Recording puedan lograr el equilibrio de carga y la conmutación por error automática.
Se ha logrado una mejora por la cual algunas configuraciones de equilibrio de carga se pueden sincronizar entre todos los servidores de Session Recording.
Nota:
Esta función requiere la versión 7.16 o posterior del servidor de Session Recording y del agente de Session Recording.
Cambios en Session Recording para admitir el equilibrio de carga:
- Todos los servidores de Session Recording comparten una carpeta para almacenar los archivos de grabación.
- Todos los servidores de Session Recording comparten una base de datos de Session Recording.
- (Recomendado) Instale solo una consola de directivas de Session Recording y todos los servidores de Session Recording compartirán esta consola.
Configurar el equilibrio de carga
Para usar esta función, realice los siguientes pasos en Citrix ADC y en los distintos componentes de Session Recording:
Configurar el equilibrio de carga (parte de Citrix ADC)
Configurar servidores de equilibrio de carga
Agregue los servidores de Session Recording a los servidores de equilibrio de carga en Citrix ADC.
Configurar servicios de equilibrio de carga
- Añada un servicio de equilibrio de carga para cada protocolo necesario en cada servidor de grabación de sesiones.
- (Recomendado) Seleccione el monitor de protocolo pertinente para vincular cada monitor de servicio.
Configurar servidores virtuales de equilibrio de carga
- Cree servidores virtuales con la misma dirección VIP de Citrix ADC según los protocolos necesarios y vincule los servidores virtuales a los servicios de equilibrio de carga pertinentes.
- Configure la persistencia en cada servidor virtual.
- (Recomendado) Elija LEASTBANDWITH o LEASTPACKETS como método de equilibrio de carga en lugar del método predeterminado (LEASTCONNECTION).
- Cree un certificado para que el servidor virtual HTTPS esté ACTIVO.
Configurar el equilibrio de carga (parte de la grabación de sesiones)
En cada servidor donde haya instalado el servidor de grabación de sesiones, haga lo siguiente
- (Recomendado) Escriba el mismo nombre de base de datos de grabación de sesiones durante la instalación del servidor de grabación de sesiones.
- Si elige la función de registro de administrador, Citrix recomienda que escriba el mismo nombre de base de datos de registro de administrador al instalar cada servidor de grabación de sesiones.
- Después de compartir el permiso de lectura/escritura de la carpeta de almacenamiento de archivos con todas las cuentas de máquina del servidor de grabación de sesiones, cambie para usar la carpeta de almacenamiento de archivos como carpeta compartida en las propiedades del servidor de grabación de sesiones. Para obtener más información, consulte Especificar dónde se restauran las grabaciones.
- Agregue un valor a la clave de registro del servidor de grabación de sesiones en HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server. Nombre del valor: EnableLB Datos del valor: 1 (DWORD, que significa habilitar)
-
Si elige el protocolo HTTP o HTTPS para la cola de mensajes del Administrador de almacenamiento de grabación de sesiones, cree un registro de host para la dirección VIP de Citrix ADC, agregue redirecciones en C:\Windows\System32\msmq\Mapping\sample_map y reinicie el servicio de cola de mensajes.
La redirección es similar a:
<redirections xmlns="msmq-queue-redirections.xml"> <redirection> <from>http://<ADCHost>*/msmq/private$/CitrixSmAudData</from> <to>http://<LocalFqdn>/msmq/private$/CitrixSmAudData</to> </redirection> <redirection> <from>https://<ADCHost>*/msmq/private$/CitrixSmAudData</from> <to>https://<LocalFqdn>/msmq/private$/CitrixSmAudData</to> </redirection> </redirections> <!--NeedCopy-->Donde <ADCHost> es el FQDN creado de la dirección VIP de Citrix ADC, y <LocalFqdn> es el FQDN del host local.
-
(Recomendado) Después de configurar un registro de servidor de grabación de sesiones, puede usar el siguiente script para exportar configuraciones de este registro de servidor e importar el registro a los demás registros de servidor de grabación de sesiones. También puede usar el script para agregar la asignación de redirección para la cola de mensajes.
# Copyright (c) Citrix Systems, Inc. All rights reserved. <# .SYNOPSIS This script is used to sync configurations between Session Recording Servers for load balancing deployment. .DESCRIPTION Will do below kinds of actions: 1. Export values from the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server to SrServerConfig.reg; 2. Import from SrServerConfig.reg and overwrite values in registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server; 3. Add redirection mapping sr_lb_map.xml in %windir%\System32\msmq\mapping\; 3.1 sr_lb_map.xml will consist redirection rule for both http and https, and not port specific. .PARAMETER Action Export - to export the registry configurations of Session Recording Server to a registry file Import - to import the registry configurations of Session Recording Server from a registry file AddRedirection - to add HTTP/HTTPS redirection for MSMQ .PARAMETER ADCHost The host name or FQDN of Citrix ADC. .OUTPUTS Exported configuration file (SrServerConfig.reg) or backup configuration file (SrServerConfig.reg.bk) .EXAMPLE SrServerConfigurationSync.ps1 -Action Export .EXAMPLE SrServerConfigurationSync.ps1 -Action Import .EXAMPLE SrServerConfigurationSync.ps1 -Action AddRedirection -ADCHost netscaler.xd.local .EXAMPLE SrServerConfigurationSync.ps1 -Action Import,AddRedirection -ADCHost netscaler.xd.local .EXAMPLE SrServerConfigurationSync.ps1 -Action Import,Export,AddRedirection -ADCHost netscaler.xd.local #> ###################### # Parameters section # ###################### Param( [Parameter(Mandatory = $true)] [ValidateSet("Export", "Import", "AddRedirection")] [string[]] $Action, [Parameter(Mandatory = $false)] [string] $ADCHost ) ############################# # Default variables section # ############################# $SR_SERVER_REG_PATH = "HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server" $REG_FILE_PATH = "SrServerConfig.reg" $REG_BACKUP_FILE_PATH = "SrServerConfig.reg.bk" $TEMP_REDIRECT_XML = "sr_lb_map.xml" $REDIRECT_XML_PATH = "$env:windir\System32\msmq\mapping" ############# MAIN ############### Try { If ($Action -Contains "export") { Write-Host "Exporting current Session Recording Server Configuration to registry file: $REG_FILE_PATH ..." -ForegroundColor Green & REG EXPORT $SR_SERVER_REG_PATH $REG_FILE_PATH /Y Write-Host "Finish exporting." -ForegroundColor Green } If ($Action -Contains "import") { If (!(Test-Path $REG_FILE_PATH)) { Write-Host "No $REG_FILE_PATH founded. Aborted." -ForegroundColor Yellow Exit 0 } # Back up previous registry key Write-Host "Backing up Session Recording Server Configuration to Registry file: $REG_BACKUP_FILE_PATH ..." -ForegroundColor Green & REG EXPORT $SR_SERVER_REG_PATH $REG_BACKUP_FILE_PATH /Y Write-Host "Importing Session Recording Server Configuration from Registry file: $REG_FILE_PATH ..." -ForegroundColor Green & REG IMPORT $REG_FILE_PATH 2>$null Write-Host "Finish importing." -ForegroundColor Green } If ($Action -Contains "addredirection") { # Check if Citrix ADC host is given; If not, exit normally with warning. If(([String]::IsNullOrEmpty($ADCHost))) { Write-Host "No Citrix ADC host name is specified. Finish adding redirection." -ForegroundColor Yellow Exit 0 } If (!(Test-Path $TEMP_REDIRECT_XML)) { New-Item $TEMP_REDIRECT_XML -Type file } $SysInfo = Get-WmiObject -Class Win32_ComputerSystem $LocalFqdn = "$($SysInfo.Name).$($SysInfo.Domain)" $RedirectXmlContent = @" <redirections xmlns="msmq-queue-redirections.xml"> <redirection> <from>http://$ADCHost*/msmq/private$/CitrixSmAudData</from> <to>http://$LocalFqdn/msmq/private$/CitrixSmAudData</to> </redirection> <redirection> <from>https://$ADCHost*/msmq/private$/CitrixSmAudData</from> <to>https://$LocalFqdn/msmq/private$/CitrixSmAudData</to> </redirection> </redirections> "@ # Don't take care of encoding $RedirectXmlContent | Out-File -FilePath $TEMP_REDIRECT_XML Write-Host "Copying $TEMP_REDIRECT_XML to $REDIRECT_XML_PATH ..." -ForegroundColor Green Copy-Item $TEMP_REDIRECT_XML -Destination $REDIRECT_XML_PATH Write-Host "Restarting MSMQ service ..." -ForegroundColor Green Restart-Service msmq -Force Write-Host "Finish adding HTTP/HTTPS Redirection for MSMQ." -ForegroundColor Green } Exit 0 } Catch { Write-Host "$_.Exception.Message" -ForegroundColor Red Exit 1 } Finally { # Nothing to do } <!--NeedCopy-->
6a. Guarde el código de ejemplo anterior como un script de PowerShell, por ejemplo, SrServerConfigurationSync.ps1.
6b. En un servidor de grabación de sesiones, después de configurar el valor del Registro EnableLB, inicie un símbolo del sistema como administrador y ejecute el comando powershell.exe -file SrServerConfigurationSync.ps1 –Action Export,AddRedirection –ADCHost <ADCHost>, donde <ADCHost> es el FQDN creado de la dirección VIP de Citrix ADC.
6c. Después de ejecutar el script, se genera un archivo de registro exportado llamado SrServerConfig.reg y se agrega un archivo sr_lb_map.xml a la ruta C:\Windows\System32\msmq\Mapping.
6d. En otros servidores de grabación de sesiones, copie SrServerConfig.reg generado en el paso anterior, inicie un símbolo del sistema como administrador y ejecute el comando powershell.exe -file SrServerConfigurationSync.ps1 –Action Import,AddRedirection –ADCHost <ADCHost>, donde <ADCHost> es el FQDN creado de la dirección VIP de Citrix ADC.
6e. Después de ejecutar el script, el valor EnableLB se agrega a las demás claves del Registro del servidor de grabación de sesiones y se agrega un archivo sr_lb_map.xml a la ruta C:\Windows\System32\msmq\Mapping.
En la máquina donde instaló el agente de grabación de sesiones, haga lo siguiente en las propiedades del agente de grabación de sesiones
- Si elige el protocolo HTTP o HTTPS para la cola de mensajes de Session Recording Storage Manager, escriba el FQDN de la dirección VIP de Citrix ADC en el cuadro de texto Session Recording Server.
- Si elige el protocolo TCP predeterminado para la cola de mensajes de Session Recording Storage Manager, escriba la dirección VIP de Citrix ADC en el cuadro de texto Session Recording Server.
En la máquina donde instaló el reproductor de grabación de sesiones, haga lo siguiente
Agregue la dirección VIP de Citrix ADC o su FQDN como el servidor de grabación de sesiones conectado.
En el servidor SQL donde instaló la base de datos de grabación de sesiones, haga lo siguiente
Agregue todas las cuentas de máquina del servidor de grabación de sesiones a la base de datos de grabación de sesiones compartida y asígneles el permiso db_owner.