Session Recording 2503

会话录制数据丢失

Event Description

会话录制 – 事件查看器中的事件 2005

管理员可能会在会话录制服务器的事件查看器中注意到来自 Citrix Session Recording Storage Manager 的事件 2005。事件消息通常显示为:

“Data lost while recording file: VDA = XXX, CtxSessionId = YYY, path = ZZZ, NNN bytes missing.”

如果管理员尝试播放事件中指定路径处的录制文件,则播放结果将显示该录制文件不完整

为什么会发生这种情况

此问题可能有以下几个原因:

  1. 两个或更多 VDA 配置了相同的 MSMQ QMID,这可能发生在持久性 VDA 和非持久性 VDA 上。
  2. 非持久性 VDA 上的 QMID 在重启后保持不变,这可能导致冲突。
  3. 会话录制服务器承受着巨大的负载,导致其无法高效地处理大量的并发会话。

如何识别问题所在

  1. 验证 VDA 上的 QMID 配置。
    1. 对于持久性 VDA
      1. 检查每台计算机上的注册表以验证 QMID 配置。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\MachineCache\QMId
      2. 每个 VDA 都应具有唯一的 QMID 值,以避免冲突。
    2. 对于非持久性 VDA
      1. 检查 VDA 上的注册表以验证 QMID。
      2. 重新启动同一 VDA 后,再次检查注册表。
      3. 重新启动后,QMID 应该不同。
  2. 验证服务器是否处于高负载状态。
    1. 检查会话录制服务器上 MSMQ 属性中配置的存储限制。 dataloss
    2. 使用性能监视器监视 MSMQ 资源使用情况。
      1. 在性能监视器中添加 MSMQ 计数器以跟踪资源使用情况。 dataloss
      2. 验证 MSMQ 中的当前数据使用情况。 dataloss
      3. 检查 MSMQ 数据大小是否接近配置的配额限制。如果是,则服务器可能过载。

如何解决

以下各项概述了如何解决此问题。

  1. 所有使用会话录制代理的 VDA 都必须为 MSMQ 分配不同的 QMID。
    1. 对于持久性 VDA,MSMQ 的 QMID 只需设置一次。
    2. 对于非持久性 VDA,MSMQ 的 QMID 需要在 Windows 启动期间设置
    3. 如何在 VDA 上修改 QMID
      1. 手动修改 QMID:安装、升级和卸载
      2. 自 CVAD 2511 起,最新的 Citrix 预配服务会在每次 VDA 启动时自动更新 MSMQ 的 QMID。 创建计算机目录
      3. 可以使用映像优化工具或自定义脚本在 Windows 启动期间为 MSMQ 生成新的 QMID。
    4. 此外,对于非持久性 VDA,请在 Windows 服务配置中将 会话录制代理服务Citrix 会话录制监视器服务 的启动类型都设置为自动(延迟启动)dataloss
  2. 会话录制服务器过载。 会话录制服务器支持的会话容量可能因硬件配置而异。默认情况下,它可以处理多达 2,000 个并发会话。但是,如果服务器配备了超过 16 GB 的 RAM 和 SSD 存储,则容量可能会更高。 为帮助解决过载问题:

    1. 增加计算机上的主内存配额,然后提高 MSMQ 存储限制。

      确保总可用主内存至少是配置的 MSMQ 存储限制的 1.5 倍。

      注意:

      MSMQ 总存储限制应始终保持小于总物理内存。

      进行更改后,必须重新启动会话录制服务器上的 MSMQ。会话录制服务将因此自动重新启动。

      此过程不会导致任何会话数据丢失。

    2. 调整会话录制代理属性中的消息生存期。考虑将当前值加倍,以便为消息处理留出更多时间并降低数据丢失风险。

      数据丢失

      您可以通过 VDA 上的以下注册表项配置此设置:

      HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Agent\MsmqMessageLifeInSeconds

      根据您的环境需求设置值(以秒为单位)。

      注意:

      更改后,必须重新启动会话录制代理。

      此操作将导致任何实时会话的会话数据丢失。

      请务必确保此操作在维护窗口期间进行安排。

    3. 将所有会话录制服务器计算机上 MSMQ 的消息文件夹更改为具有超过 3000 IOPS 容量的磁盘(SSD)驱动器。

      这将有助于加快处理速度,并将性能提高多达 50%。

      数据丢失

      https://learn.microsoft.com/zh-cn/previous-versions/troubleshoot/msmq/optimize-message-queuing-performance

    4. 如果上述步骤无法解决问题,建议的解决方案是添加额外的会话录制服务器以分担负载。

      有关指导,请参阅有关在现有部署中配置负载平衡的官方文档: Citrix 文档 – 配置负载平衡

会话录制数据丢失