Session Recording

Lastenausgleich

Session Recording unterstützt den Lastenausgleich über Session Recording-Server hinweg. Um diese Funktion zu nutzen, konfigurieren Sie den Lastenausgleich auf Citrix ADC, damit die Session Recording-Server Lastenausgleich und automatisches Failover erreichen können.

Es wurde eine Verbesserung erzielt, dass einige Lastenausgleichskonfigurationen zwischen allen Session Recording-Servern synchronisiert werden können.

Hinweis:

Diese Funktion erfordert Version 7.16 oder höher des Session Recording-Servers und des Session Recording-Agenten.

Änderungen an Session Recording zur Unterstützung des Lastenausgleichs:

  • Alle Session Recording-Server teilen sich einen Ordner zum Speichern von Aufzeichnungsdateien.
  • Alle Session Recording-Server teilen sich eine Session Recording-Datenbank.
  • (Empfohlen) Installieren Sie nur eine Session Recording-Richtlinienkonsole, und alle Session Recording-Server teilen sich diese Konsole.

Lastenausgleich konfigurieren

Um diese Funktion zu nutzen, führen Sie die folgenden Schritte auf Citrix ADC und den verschiedenen Session Recording-Komponenten aus:

Lastenausgleich konfigurieren (Citrix ADC-Teil)

Lastenausgleichsserver konfigurieren

Fügen Sie die Session Recording-Server den Lastenausgleichsservern in Citrix ADC hinzu.

Lastenausgleichsdienste konfigurieren

  1. Fügen Sie für jedes benötigte Protokoll auf jedem Session Recording Server einen Lastausgleichsdienst hinzu.
  2. (Empfohlen) Wählen Sie den relevanten Protokollmonitor aus, um jeden Dienstmonitor zu binden.

Lastausgleichs-virtuelle Server konfigurieren

  1. Erstellen Sie virtuelle Server mit derselben Citrix ADC VIP-Adresse basierend auf den benötigten Protokollen und binden Sie die virtuellen Server an die relevanten Lastausgleichsdienste.
  2. Konfigurieren Sie die Persistenz auf jedem virtuellen Server.
  3. (Empfohlen) Wählen Sie LEASTBANDWITH oder LEASTPACKETS als Lastausgleichsmethode anstelle der Standardmethode (LEASTCONNECTION).
  4. Erstellen Sie ein Zertifikat, um den virtuellen HTTPS-Server auf den Status „UP“ zu setzen.

Lastausgleich konfigurieren (Teil Session Recording)

Führen Sie auf jedem Server, auf dem Sie den Session Recording Server installiert haben, die folgenden Schritte aus

  1. (Empfohlen) Geben Sie während der Installation des Session Recording Servers denselben Namen für die Session Recording-Datenbank ein.
  2. Wenn Sie die Administratorprotokollierungsfunktion auswählen, empfiehlt Citrix, denselben Namen für die Administratorprotokollierungsdatenbank einzugeben, wenn Sie jeden Session Recording Server installieren.
  3. Nachdem Sie die Lese-/Schreibberechtigung des Dateispeicherordners für alle Computerkonten des Session Recording Servers freigegeben haben, ändern Sie die Verwendung des Dateispeicherordners als freigegebenen Ordner in den Session Recording Server-Eigenschaften. Weitere Informationen finden Sie unter Angeben, wo Aufzeichnungen wiederhergestellt werden.
  4. Fügen Sie dem Registrierungsschlüssel des Session Recording Servers unter HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server einen Wert hinzu. Wertname: EnableLB Wertdaten: 1 (DWORD, bedeutet aktivieren)
  5. Wenn Sie das HTTP- oder HTTPS-Protokoll für die Nachrichtenwarteschlange des Session Recording Storage Managers wählen, erstellen Sie einen Hosteintrag für die Citrix ADC VIP-Adresse, fügen Sie Umleitungen in C:\Windows\System32\msmq\Mapping\sample_map hinzu und starten Sie den Message Queuing-Dienst neu.

    Die Umleitung ähnelt der folgenden:

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

    Dabei ist <ADCHost> der erstellte FQDN der Citrix ADC VIP-Adresse und <LocalFqdn> der FQDN des lokalen Hosts.

  6. (Empfohlen) Nachdem Sie eine Registrierung des Session Recording Servers konfiguriert haben, können Sie das folgende Skript verwenden, um Konfigurationen aus dieser Serverregistrierung zu exportieren und die Registrierung in die anderen Session Recording Server-Registrierungen zu importieren. Sie können das Skript auch verwenden, um Umleitungszuordnungen für die Nachrichtenwarteschlange hinzuzufügen.

    # 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. Speichern Sie den vorangehenden Beispielcode als PowerShell-Skript, z. B. SrServerConfigurationSync.ps1.

6b. Konfigurieren Sie auf einem Session Recording Server den Registrierungswert EnableLB, starten Sie eine Eingabeaufforderung als Administrator und führen Sie den Befehl powershell.exe -file SrServerConfigurationSync.ps1 –Action Export,AddRedirection –ADCHost <ADCHost> aus, wobei <ADCHost> der erstellte FQDN der Citrix ADC VIP-Adresse ist.

6c. Nach Ausführung des Skripts wird eine exportierte Registrierungsdatei namens SrServerConfig.reg generiert und eine Datei sr_lb_map.xml zum Pfad C:\Windows\System32\msmq\Mapping hinzugefügt.

6d. Kopieren Sie auf anderen Session Recording Servern die im vorherigen Schritt generierte Datei SrServerConfig.reg, starten Sie eine Eingabeaufforderung als Administrator und führen Sie den Befehl powershell.exe -file SrServerConfigurationSync.ps1 –Action Import,AddRedirection –ADCHost <ADCHost> aus, wobei <ADCHost> der erstellte FQDN der Citrix ADC VIP-Adresse ist.

6e. Nach Ausführung des Skripts wird der Wert EnableLB zu den anderen Registrierungsschlüsseln des Session Recording Servers hinzugefügt und eine Datei sr_lb_map.xml zum Pfad C:\Windows\System32\msmq\Mapping hinzugefügt.

Führen Sie auf dem Computer, auf dem Sie den Session Recording Agent installiert haben, in den Session Recording Agent-Eigenschaften Folgendes aus

  • Wenn Sie das HTTP- oder HTTPS-Protokoll für die Nachrichtenwarteschlange des Session Recording Storage Manager wählen, geben Sie den FQDN der Citrix ADC VIP-Adresse in das Textfeld Session Recording Server ein.
  • Wenn Sie das Standard-TCP-Protokoll für die Nachrichtenwarteschlange des Session Recording Storage Manager wählen, geben Sie die Citrix ADC VIP-Adresse in das Textfeld Session Recording Server ein.

Führen Sie auf dem Computer, auf dem Sie den Session Recording Player installiert haben, Folgendes aus

Fügen Sie die Citrix ADC VIP-Adresse oder deren FQDN als verbundenen Session Recording Server hinzu.

Führen Sie auf dem SQL Server, auf dem Sie die Session Recording-Datenbank installiert haben, Folgendes aus

Fügen Sie alle Computerkonten des Session Recording Servers zur freigegebenen Session Recording-Datenbank hinzu und weisen Sie ihnen die Berechtigung db_owner zu.

Lastenausgleich