在现有部署中进行负载均衡的配置
您可以在现有会话录制部署中使用 Citrix ADC 添加负载平衡节点。以下服务器用作示例。您还可以在 Azure 中部署和负载平衡会话录制。
-
会话录制功能
主机名 服务器角色 操作系统 IP 地址 SR服务器一号 会话录制服务器 视窗服务器 10.63.32.55 负载域控 域管理控制器 视窗服务器 10.63.32.82 特斯维达 会话录音代理 微软 Windows 服务器 10.63.32.215 SRSQL (会话记录数据库) 会话录音数据库和文件服务器 视窗服务器 10.63.32.91 所有会话录音组件和域控制器共享一个域,例如
lb.com。域管理员帐户(例如 lb\administrator)用于服务器登录。 -
思杰应用交付控制器
主机名 服务器角色 管理 IP 地址 (NSIP) 子网 IP 地址 (SNIP) 网思凯乐 思杰应用交付控制器 VPX 实例 10.63.32.40 10.63.32.109 有关详细信息,请参阅部署 Citrix ADC VPX 实例。
步骤 1:在文件服务器上创建共享文件夹
-
使用域管理员帐户登录文件服务器,例如
lb\administrator。 -
创建一个文件夹以存储录制件,并将该文件夹命名为
SessionRecording,例如C:\SessionRecording。与会话录制服务器共享该文件夹的读/写权限。以SRServer1为例,键入LB\SRSERVER1$。需要美元符号$。

-
在
SessionRecording文件夹中创建一个子文件夹,并将该子文件夹命名为share,例如C:\SessionRecording\share。
-
创建另一个文件夹以还原存档的录制件,并将该文件夹命名为
SessionRecordingsRestored,例如C:\ SessionRecordingsRestored。与会话录制服务器共享该文件夹的读/写权限。以SRServer1为例,键入LB\SRSERVER1$。需要美元符号$。 -
在
SessionRecordingsRestored文件夹中创建一个子文件夹,并将该子文件夹命名为share,例如 C:\SessionRecordingsRestored\share。
步骤 2:配置现有会话录制服务器以支持负载平衡
此步骤介绍如何配置现有会话录制服务器以支持负载平衡。步骤 7 详细介绍了向现有部署添加更多会话录制服务器的过程。
-
通过使用域管理员帐户,登录到一台会话录制服务器。
-
打开 会话录制服务器属性。

-
添加在 步骤 1 中创建的通用命名约定 (UNC) 路径,用于存储和恢复录制文件。在此示例中,这些路径是
\\SRSQL\SessionRecording\share和\\SRSQL\SessionRecordingRestored\share。SRSQL是文件服务器的主机名。注意:
会话录制播放器无法播放包含驱动器号或美元符号 (
$) 的路径下的文件。例外情况是您在同一台计算机上安装播放器和会话录制服务器。
-
在
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server处将会话录制服务器注册表项添加一个值。值名称: EnableLB 值数据: 1 (D_WORD,表示启用)

-
重新启动 Citrix 会话录制存储管理器服务。
步骤 3:在 Citrix ADC 中配置负载平衡
在 Citrix ADC 中配置负载平衡有两种方式:TCP 直通和 SSL 卸载。
通过 TCP 直通配置负载平衡
以下拓扑显示了如何通过 TCP 直通 配置负载平衡。
-
如果您使用的是基于 Python 的 WebSocket 服务器(版本 1.0):
配置通过 TCP 直通的负载平衡(/zh-cn/session-recording/current-release/media/load-balancing-through-tcp-passthrough.png)
-
如果您使用的是托管在 IIS 中的 WebSocket 服务器(版本 2.0):
配置通过 TCP 直通的负载平衡(/zh-cn/session-recording/current-release/media/load-balancing-through-tcp-passthrough-websockte2-0.png)
要配置通过 TCP 直通的负载平衡,请完成以下步骤:
-
请访问并登录您的 Citrix ADC VPX 实例。
-
导航到 配置 > 系统 > 设置 > 配置基本功能。
配置基本功能(/zh-cn/session-recording/current-release/media/configure-basic-features.png)
-
选择 负载平衡,然后单击 确定。
选择负载平衡(/zh-cn/session-recording/current-release/media/select-load-balancing.png)
-
添加负载平衡服务器。
导航到 流量管理 > 负载平衡 > 服务器,然后单击 添加。
添加负载平衡服务器(/zh-cn/session-recording/current-release/media/add-load-balancing-servers.png)
键入会话录制服务器的名称和 IP 地址,然后单击 Create。例如:
创建负载平衡服务器(/zh-cn/session-recording/current-release/media/create-a-load-balancing-server.png)
点击右上角的保存图标以保存您的更改。

-
对于 WebSocket 服务器版本 1.0,为每个会话录制服务器添加端口 80、1801、22334 和 443 的负载平衡服务。对于 WebSocket 服务器版本 2.0,为每个会话录制服务器添加端口 80、1801 和 443 的负载平衡服务。
导航到流量管理 > 负载平衡 > 服务,然后点击添加。

为您添加的每个负载平衡服务键入一个名称。选择现有服务器,选择目标会话录制服务器的 IP 地址,选择 TCP 作为服务器协议,然后键入端口号。点击确定。

将 TCP 协议监视器绑定到每个负载平衡服务。

点击右上角的保存图标以保存您的更改。

提示:
端口 22334 的负载平衡服务仅适用于 WebSocket 服务器版本 1.0。
-
添加负载平衡虚拟服务器。
对于 WebSocket 服务器版本 1.0,完成以下步骤以添加端口 80、443、1801 和 22334 的负载平衡虚拟服务器。对于 WebSocket 服务器版本 2.0,添加端口 80、443 和 1801 的负载平衡虚拟服务器。例如:

导航到 流量管理 > 负载平衡 > 虚拟服务器,然后单击 添加。

根据 TCP 协议,使用 Citrix ADC VIP 地址添加每个虚拟服务器。

将每个虚拟服务器绑定到相同端口的 负载平衡服务。例如:


选择负载平衡方法。

在每个虚拟服务器上配置持久性。建议选择 SOURCEIP 作为持久性类型。有关详细信息,请参阅 持久性设置。

-
在域控制器上为 Citrix ADC VIP 地址创建主机记录。

-
要通过 HTTPS 访问 Web 播放器,请确保 Citrix ADC 和每个会话录制服务器上都提供了 SAN 证书。SAN 证书包含 Citrix ADC 和每个会话录制服务器的 FQDN。

通过 SSL 卸载配置负载平衡
以下拓扑显示了如何通过 SSL 卸载配置负载平衡。
-
如果您使用的是基于 Python 的 WebSocket 服务器(版本 1.0):

-
如果您使用的是托管在 IIS 中的 WebSocket 服务器(版本 2.0):

-
请登录到您的 Citrix ADC VPX 实例。
-
导航到 配置 > 系统 > 设置 > 配置基本功能。

-
选择 SSL 卸载 和 负载平衡,然后单击 确定。

-
添加负载平衡服务器。
导航到 流量管理 > 负载平衡 > 服务器,然后单击 添加。

输入会话录音服务器的名称和 IP 地址,然后单击“创建”。例如:

单击右上角的保存图标以保存您的更改。

-
为在上一步中添加的每个会话录音服务器添加负载平衡服务。
为每个会话录音服务器添加以下负载平衡服务:
- (仅在使用 WebSocket 服务器版本 1.0 时需要) 端口 22334 的 SSL 负载平衡服务,绑定到 TCP 监视器
- 端口 443 的 SSL 负载平衡服务,绑定到 HTTPS 监视器
- 端口 1801 的 TCP 负载平衡服务,绑定到 TCP 监视器
例如:

导航到“流量管理 > 负载平衡 > 服务”,然后单击“添加”。

(仅在使用 WebSocket 服务器版本 1.0 时需要) 为每个会话录音服务器添加端口 22334 的 SSL 负载平衡服务。键入负载平衡服务的名称,选择“现有服务器”,选择会话录音服务器的 IP 地址,选择“SSL”作为服务器协议,键入端口号“22334”,然后单击“确定”。
例如,请参阅以下屏幕截图。

将 TCP 监视器绑定到您刚刚添加的SSL 负载平衡服务。

为每个会话录制服务器添加端口 443 的 SSL 负载平衡服务。 键入负载平衡服务的名称,选择现有服务器,选择会话录制服务器的 IP 地址,选择 SSL 作为服务器协议,键入端口号 443,然后单击确定。

将 HTTPS 监视器绑定到您刚刚添加的SSL 负载平衡服务。

为每个会话录制服务器添加端口 1801 的 TCP 负载平衡服务。 键入负载平衡服务的名称,选择现有服务器,选择会话录制服务器的 IP 地址,选择 TCP 作为服务器协议,键入端口号 1801,然后单击确定。

将 TCP 监视器绑定到您刚刚添加的TCP 负载平衡服务。

-
(仅当您使用 WebSocket 服务器版本 1.0 时才需要)为端口 22334 的每个SSL 负载平衡服务添加 HTTP 配置文件。
导航到系统 > 配置文件 > HTTP 配置文件,然后单击添加。

选中启用 WebSocket 连接复选框,并接受其他默认设置。

键入 HTTP 配置文件的名称,例如
websocket_SSL。返回到端口 22334 的每个SSL 负载平衡服务,例如
srv-1-22334。单击+ 配置文件。
选择 HTTP 配置文件,例如
websocket_SSL,然后单击确定,再单击完成。选择要添加的配置文件(/zh-cn/session-recording/current-release/media/select-a-profile-to-add.png)
-
(仅当您使用 WebSocket 服务器版本 2.0 时才需要)为端口 443 的每个SSL 负载平衡服务添加 HTTP 配置文件。
-
在域控制器上为 Citrix ADC VIP 地址创建主机记录。
创建主机记录(/zh-cn/session-recording/current-release/media/create-a-host-record-ssl-offloading.png)
-
添加负载平衡虚拟服务器。
添加以下负载平衡虚拟服务器,使用 Citrix ADC VIP 地址。
- (仅当您使用 WebSocket 服务器版本 1.0 时才需要)基于 SSL 的端口 22334 的负载平衡虚拟服务器
- 基于 SSL 的端口 443 的负载平衡虚拟服务器
- 基于 TCP 的端口 1801 负载平衡虚拟服务器
例如,请参阅以下屏幕截图。

导航到 流量管理 > 负载均衡 > 虚拟服务器,然后单击 添加。

使用 Citrix ADC VIP 地址添加每个虚拟服务器。键入服务器名称,选择 TCP 或 SSL,然后选择前面描述的相关端口号。

将每个虚拟服务器绑定到相同端口的 负载均衡服务。例如:

提示:
仅当您使用 WebSocket 服务器版本 1.0 时,才需要端口 22334 的 负载均衡服务。
选择负载均衡方法。

在每个虚拟服务器上配置持久性。我们建议您选择 SOURCEIP 作为持久性类型。有关详细信息,请参阅 持久性设置。

(仅当您使用 WebSocket 服务器版本 1.0 时才需要)为端口 22334 的负载均衡虚拟服务器添加 HTTP 配置文件。

-
在 Citrix ADC 中安装主题备用名称 (SAN) 证书。
从受信任的证书颁发机构 (CA) 获取 PEM 格式的 SAN 证书。通过导航到 流量管理 > SSL > 服务器证书向导,在 Citrix ADC 中提取并上传证书和私钥文件。
有关详细信息,请参阅 SSL 证书。

-
将 SAN 证书绑定到每个 SSL 负载平衡虚拟服务器。
导航到 流量管理 > 负载平衡 > 虚拟服务器,选择一个 SSL 负载平衡虚拟服务器,然后单击 服务器证书。

添加前面提到的 SAN 证书,然后单击 绑定。
步骤 4:配置现有会话录制代理以支持负载平衡
-
通过使用域管理员帐户登录到会话录制代理。
-
打开 会话录制代理属性。
-
如果您通过 TCP 使用 Microsoft 消息队列 (MSMQ),请完成此步骤。
在 会话录制服务器 框中键入您的 Citrix ADC VIP 地址或 FQDN。

在每个会话录制服务器上,在
HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\MSMQ\Parameters下添加并将IgnoreOSNameValidationDWORD 值设置为1。 -
如果您通过 HTTP 或 HTTPS 使用 MSMQ,请完成此步骤。
(如果已完成此步骤,请跳过)在域控制器上为 Citrix ADC VIP 地址创建主机记录。

在每台 Session Recording 服务器上,运行
powershell.exe -file SrServerConfigurationSync.ps1 –Action AddRedirection – ADCHost <ADCHost>命令以添加从 Citrix ADC 到本地主机的重定向。<ADCHost>是 Citrix ADC VIP 地址的 FQDN。重定向文件(例如sr_lb_map.xml)在C:\Windows\System32\msmq\Mapping下生成。
注意: 运行 PowerShell.exe 时,请切换到
SrServerConfigurationSync.ps1所在的文件夹。在 会话录制服务器 框中键入您的 Citrix ADC VIP 地址的 FQDN。例如:

步骤 5:配置现有 Session Recording 播放器以支持负载平衡
在安装了会话录制播放器组件的每台计算机上,添加 Citrix ADC VIP 地址或其 FQDN 作为连接的会话录制服务器。
步骤 6:检查负载平衡是否适用于已配置的现有 Session Recording 服务器
- 启动 Citrix 虚拟会话。
- 检查会话是否可以录制。
- 检查 Web 播放器和 Session Recording 播放器是否可以播放录制文件。
步骤 7:添加更多会话录制服务器
-
在同一域中准备一台计算机,并在该计算机上安装会话录制服务器、数据库和管理员日志记录模块。
注意:
会话录制管理员日志记录是会话录制服务器的一个可选子功能。必须先选择会话录制服务器,然后才能选择会话录制管理员日志记录。会话录制数据库是会话录制服务器的一个强制子功能。选择安装会话录制服务器时,会话录制数据库也会自动选中,并且无法取消选择。

-
使用与现有会话录制服务器相同的数据库名称。例如:

-
禁用计算机上的网络防火墙。
-
在安装了会话录制数据库的 SQL Server 上,将会话录制服务器的所有计算机帐户添加到共享会话录制数据库,并为其分配
db_owner权限。例如:

-
与新会话录制服务器的计算机帐户(例如
LB\SRServer2$)共享录制存储和还原文件夹(例如SessionRecording和SessionRecordingsRestored)的读/写权限。需要使用美元符号$。 -
重复 步骤 3 以添加新会话录制服务器的负载平衡服务,并编辑现有虚拟服务器以添加与负载平衡服务的绑定。无需添加更多虚拟服务器。例如:




-
将会话录音授权控制台配置文件
SessionRecordingAzManStore.xml从现有会话录音服务器复制到新会话录音服务器。该文件位于<Session Recording server installation path>\App_Data。 -
要在新会话录音服务器上通过 HTTP 或 HTTPS 使用 MSMQ,请完成以下步骤以导入当前正在运行的会话录音服务器的注册表设置。
在现有会话录音服务器(例如
SRServer1)上,运行powershell.exe -file SrServerConfigurationSync.ps1 –Action Export – ADCHost <ADCHost >命令,其中<ADCHost>是 Citrix ADC VIP 地址的 FQDN。将生成一个导出的注册表文件SrServerConfig.reg。将
SrServerConfig.reg文件复制到新会话录音服务器并运行powershell.exe -file SrServerConfigurationSync.ps1 –Action Import,AddRedirection – ADCHost <ADCHost>命令。EnableLB 值将添加到新会话录音服务器在HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server处的注册表项中,并且一个sr_lb_map.xml文件将添加到C:\Windows\System32\msmq\Mapping下。 -
重复此过程以添加另一个会话录音服务器。
故障排除
-
当您为会话录音服务器使用 CNAME 记录或 ALIAS 记录时,会话不会被录制。要解决此问题,请参阅 Microsoft 文档。
-
录音文件可以存储在本地,但不能存储在通用命名约定 (UNC) 路径中。要解决此问题,请将会话录音存储管理器服务的启动模式更改为 Automatic (Delayed Start)。