Introduction to Load Balancing for Session Recording

Introduction to Load Balancing for Session Recording

book

Article ID: CTX230013

calendar_today

Updated On:

Description

This article introduces the Load Balancing for Session Recording feature: what it is, how it works and what the limitations are.


Instructions

Load Balancing for Session Recording was previously a Tech Preview feature in Session Recording 7.14, it is now part of Session Recording 7.16 with production quality. With this feature, Citrix administrators can configure load balancing on Citrix NetScaler so that the Session Recording Servers can achieve load balancing and automatic failover.
An enhancement has been achieved that some load balancing configurations can be synchronized across all Session Recording Servers.


How Load Balancing Works
The following diagram illustrates an example of Session Recording Load Balancing deployment with NetScaler.

It contains the following components:
  • NetScaler
We leverage NetScaler as load balancer to distribute the traffic across a cluster of Session Recording Servers. In this way, the maximum number of recording sessions can be greatly increased. We can also configure TCP/HTTP monitors on NetScaler to check if Session Recording servers are healthy or down.  
  • Session Recording Servers
In a Load Balancing deployment, more than one Session Recording servers can be added into NetScaler Load Balancing server pool. NetScaler will pick up an available Session Recording server from the managed server pool to serve the client based on TCP/HTTP service status, server work load and load balance algorithm.
  • Session Recording Agents
In a Load Balancing deployment, the Session Recording Agents will connect to the virtual IP address of NetScaler instead of the IP address of Session Recording servers. And all back-end load balancing operations will be transparent to Session Recording Agents.
  • Session Recording Player
In a Load Balancing deployment, the Session Recording Player will connect to the virtual IP address of NetScaler instead of the IP address of Session Recording servers. And all back-end load balancing operations will be transparent to Session Recording Player.
  • Session Recording Database
In a Load Balancing deployment, all Session Recording Servers share the same Session Recording Database as well as logging Database. Session Recording Database stores some server configuration data (For example, recording policies) as well as textual metadata of each recording file to support policy query, file searching and playback. By sharing the same Session Recording database, it ensures all policy settings are centralized and synced across Session Recording servers.
  • Shared File Storage
Citrix Administrators can configure the storage path for the recording files, by default, the storage path is on the server local disk (C: drive). However, in a Load Balancing deployment, all Session Recording servers should share the same file storage to make sure all the recording files could be retrieved by all Session Recording servers in a load balancing group.
Note:
  1. There is no specific version requirement for NetScaler, customers can choose whatever version they want to use.
  2. If you install the Session Recording Database on a standalone server running SQL Server 2017 Express Edition, SQL Server 2016 Express Edition, SQL Server 2014  Express  Edition,  SQL  Server 2012  Express  Edition,  or SQL  Server 2008  R2  Express  Edition,  the  server must  have TCP/IP protocol enabled and SQL Server Browser service  running. These settings are disabled by default, but they must be enabled for the Session Recording Server to communicate with the database. For information about enabling these settings, see the Microsoft articles Enable T CP/IP Network Protocol f or SQL Server and SQL Server Browser Service.
  3. Citrix Administrators are recommended to install only one Session Recording Policy Console and configure policies only through this Console for all Session Recording Servers to avoid mixed configuration and possible configuration overwriting.
  4. Citrix Administrators are recommended to setup a standalone shared storage server instead of using Session Recording server local disk for performance and whole system availability considerations.
Limitations
  • When adding a new Session Recording server to the existing load balancing server group, Citrix Administrators may need to manually sync part of the existing Session Recording servers’ configurations to the newly added Session Recording server. This is because some of the server configurations are stored in the local storage (for example, registry) instead of centralized Database. To save the configuration effort, we provide a sample PowerShell script (SrServerConfigurationSync.ps1) to help synchronizing local configurations between Session Recording servers. Please refer to production documentation for detailed instructions.  
  • To avoid resource competitions for the same recording file, we recommend Citrix Administrators to configure persistence method to SOURCEIP in NetScaler. In this way, NetScaler will not distribute the traffic from same session across multiple Session Recording servers but send all data from the same session to same Session Recording server. But correspondingly, if the amount of sessions from a single VDA is huge, then all these data will be distributed to one specific Session Recording server – it therefore may has the risk of low service performance or even service down due to heavy load.
  • Once the connected Session Recording server becomes unhealthy, the traffics targeting to it will be load balanced to another healthy Session Recording server by NetScaler. If there any session data was queued in the Microsoft Message Queuing (MSMQ) of the unhealthy server before writing to the shared file system storage, then these data may be lost. If the unhealthy server become healthy again, it can still write the cached data back to the recording file since multiple Session Recording servers can concurrently operate the same recording file.

 

Issue/Introduction

This article introduces the Load Balancing for Session Recording with NetScaler feature: what it is, how it works and what the limitations are. It is available with Session Recording 7.16 and above.

Additional Information

How to configure Load Balancing for Session Recording with NetScaler