Session Recording

Équilibrage de charge

L’enregistrement de session prend en charge l’équilibrage de charge entre les serveurs d’enregistrement de session. Pour utiliser cette fonctionnalité, configurez l’équilibrage de charge dans Citrix ADC afin que les serveurs d’enregistrement de session puissent réaliser l’équilibrage de charge et le basculement automatique de charge.

Une amélioration a été apportée de manière à ce que certaines configurations d’équilibrage de charge puissent être synchronisées entre tous les serveurs d’enregistrement de session.

Remarque :

Cette fonctionnalité nécessite la version 7.16 ou ultérieure du serveur d’enregistrement de session et de l’agent d’enregistrement de session.

Modifications apportées à l’enregistrement de session pour prendre en charge l’équilibrage de charge :

  • Tous les serveurs d’enregistrement de session partagent un dossier pour stocker les fichiers d’enregistrement.
  • Tous les serveurs d’enregistrement de session partagent une base de données d’enregistrement de session.
  • (Recommandé) Installez une seule console de stratégie d’enregistrement de session et tous les serveurs d’enregistrement de session partagent cette console.

Configurer l’équilibrage de charge

Pour utiliser cette fonctionnalité, effectuez les étapes suivantes sur Citrix ADC et sur les différents composants de l’enregistrement de session :

Configurer l’équilibrage de charge (dans Citrix ADC)

Configurer les serveurs d’équilibrage de charge

Ajoutez les serveurs d’enregistrement de session aux serveurs d’équilibrage de charge dans Citrix ADC.

Configurer les services d’équilibrage de charge

  1. Ajoutez un service d’équilibrage de charge pour chaque protocole nécessaire sur chaque serveur d’enregistrement de session.
  2. (Recommandé) Sélectionnez le protocole de surveillance approprié pour lier chaque service de surveillance.

Configurer les serveurs virtuels d’équilibrage de charge

  1. Créez des serveurs virtuels avec la même adresse VIP Citrix ADC selon les protocoles nécessaires et liez les serveurs virtuels avec les services d’équilibrage de charge appropriés.
  2. Configurez la persistance sur chaque serveur virtuel.
  3. (Recommandé) Choisissez LEASTBANDWITH ou LEASTPACKETS en tant que méthode d’équilibrage de charge plutôt que la méthode par défaut (LEASTCONNECTION).
  4. Créez un certificat pour activer le serveur virtuel HTTPS.

Configurer l’équilibrage de charge (dans l’enregistrement de session)

Sur chaque serveur sur lequel vous avez installé le serveur d’enregistrement de session, procédez comme suit

  1. (Recommandé) Entrez le même nom de base de données d’enregistrement de session que pendant l’installation du serveur d’enregistrement de session.
  2. Si vous choisissez la fonctionnalité de journalisation de l’administrateur, Citrix vous recommande d’entrer le même nom de base de données de journalisation de l’administrateur lorsque vous installez chaque serveur d’enregistrement de session.
  3. Après avoir partagé l’autorisation Lecture/Écriture du dossier de stockage de fichiers avec tous les comptes de machines de serveur d’enregistrement de session, définissez le dossier de stockage de fichiers en tant que dossier partagé dans Propriétés du serveur d’enregistrement de session. Pour plus d’informations, consultez la section Spécifier l’endroit où les enregistrements sont restaurés.
  4. Ajoutez une valeur à la clé de registre du serveur d’enregistrement de session : HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server.
    Nom de la valeur : EnableLB
    Données de la valeur : 1 (DWORD, signifie activer)
  5. Si vous choisissez le protocole HTTP ou HTTPS pour la file d’attente des messages du gestionnaire de stockage d’enregistrement de session, créez un enregistrement d’hôte pour l’adresse VIP Citrix ADC, ajoutez les redirections dans C:\Windows\System32\msmq\Mapping\sample_map et redémarrez le service Message Queuing.

    La redirection est similaire à ceci :

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

    <ADCHost> est le nom de domaine complet créé depuis l’adresse VIP Citrix ADC, et <LocalFqdn> le nom de domaine complet de l’hôte local.

  6. (Recommandé) Après avoir configuré un registre de serveur d’enregistrement de session, vous pouvez utiliser le script suivant pour exporter les configurations de ce registre de serveur et importer le registre dans les autres registres du serveur d’enregistrement de session. Vous pouvez également utiliser le script pour ajouter un mappage de redirection pour la mise en file d’attente des messages.

    # 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. Enregistrez l’exemple de code précédent en tant que script PowerShell, par exemple SrServerConfigurationSync.ps1.

6b. Sur un serveur d’enregistrement de session, après avoir configuré la valeur de registre EnableLB, démarrez une invite de commande en tant qu’administrateur et exécutez la commande powershell.exe -file SrServerConfigurationSync.ps1 –Action Export,AddRedirection –ADCHost <ADCHost>, où <ADCHost> est le nom de domaine complet créé de l’adresse VIP Citrix ADC.

6c. Après l’exécution du script, un fichier de registre exporté nommé SrServerConfig.reg est généré et un fichier sr_lb_map.xml est ajouté au chemin C:\Windows\System32\msmq\Mapping.

6d. Sur d’autres serveurs d’enregistrement de session, copiez le fichier généré SrServerConfig.reg dans l’étape qui précède, démarrez une invite de commande en tant qu’administrateur et exécutez la commande powershell.exe -file SrServerConfigurationSync.ps1 –Action Import,AddRedirection –ADCHost <ADCHost>, où <ADCHost> est le nom de domaine complet créé de l’adresse VIP Citrix ADC.

6e. Une fois le script exécuté, la valeur EnableLB est ajoutée aux autres clés de registre du serveur d’enregistrement de session et un fichier sr_lb_map.xml est ajouté au chemin C:\Windows\System32\msmq\Mapping.

Sur la machine sur laquelle vous avez installé l’agent d’enregistrement de session, effectuez ce qui suit dans les propriétés de l’agent d’enregistrement de session

  • Si vous choisissez le protocole HTTP ou HTTPS pour la file d’attente de messages du gestionnaire de stockage d’enregistrement de session, entrez le nom de domaine complet de l’adresse VIP Citrix ADC dans la zone de texte Serveur d’enregistrement de session.
  • Si vous choisissez le protocole TCP par défaut pour la file d’attente de messages du gestionnaire de stockage d’enregistrement de session, entrez l’adresse VIP Citrix ADC dans la zone de texte Serveur d’enregistrement de session.

Sur la machine sur laquelle vous avez installé le lecteur d’enregistrement de session, effectuez ce qui suit

Ajoutez l’adresse VIP Citrix ADC ou son nom de domaine complet comme serveur d’enregistrement de session connecté.

Sur le serveur SQL Server sur lequel vous avez installé la base de données d’enregistrement de session, effectuez ce qui suit

Ajoutez tous les comptes de machines de serveur d’enregistrement de session à la base de données d’enregistrement de session partagée et attribuez-leur l’autorisation db_owner.

Équilibrage de charge