セッション録画のデータ損失
イベントの説明
セッション録画 – イベントビューアーのイベント2005
管理者は、セッション録画サーバーのイベントビューアーで、Citrix Session Recording Storage Managerからのイベント2005に気づくことがあります。イベントメッセージは通常、次のように表示されます。
「ファイルの録画中にデータが失われました: VDA = XXX, CtxSessionId = YYY, path = ZZZ, NNN バイトが不足しています。」
管理者がイベントで指定されたパスにある録画ファイルを再生しようとすると、再生は録画が不完全であることを示します。
なぜこれが起こったのですか
この問題にはいくつかの原因が考えられます。
- 2つ以上のVDAがMSMQに対して同じQMIDで構成されており、これは永続VDAと非永続VDAの両方で発生する可能性があります。
- 非永続VDAのQMIDが再起動後も変更されなかったため、競合が発生する可能性があります。
- セッション録画サーバーに高い負荷がかかっており、多数の同時セッションを効率的に処理できません。
問題を特定する方法
- VDA上のQMID構成を確認します。
- 永続VDAの場合
- 各マシンのレジストリをチェックして、QMID構成を確認します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\MachineCache\QMId - 各VDAは、競合を避けるために一意のQMID値を持つ必要があります。
- 各マシンのレジストリをチェックして、QMID構成を確認します。
- 非永続VDAの場合
- QMIDを確認するために、VDA上のレジストリをチェックします。
- 同じVDAを再起動した後、再度レジストリをチェックします。
- 再起動後、QMIDは異なるはずです。
- 永続VDAの場合
- サーバーが過負荷状態にあるかどうかを確認します。
- セッションレコーディングサーバーのMSMQプロパティで構成されているストレージ制限を確認します。
- パフォーマンスモニターを使用してMSMQのリソース使用状況を監視します。
- リソース使用状況を追跡するために、パフォーマンスモニターにMSMQカウンターを追加します。
- MSMQ内の現在のデータ使用状況を確認します。
- MSMQのデータサイズが構成されたクォータ制限に近づいているかどうかを確認します。もしそうであれば、サーバーは過負荷状態になっている可能性があります。
- リソース使用状況を追跡するために、パフォーマンスモニターにMSMQカウンターを追加します。
- セッションレコーディングサーバーのMSMQプロパティで構成されているストレージ制限を確認します。
解決方法
次の項目は、この問題を解決する方法を概説しています。
- セッションレコーディングエージェントを使用するすべてのVDAには、MSMQ用に個別のQMIDを割り当てる必要があります。
- 永続VDAの場合、MSMQのQMIDは一度設定するだけで済みます。
- 非永続VDAの場合、MSMQのQMIDはWindowsの起動時に設定する必要があります。
- VDAでQMIDを変更する方法
- QMIDを手動で変更する: インストール、アップグレード、およびアンインストール
- 最新のCitrix Provisioning Servicesは、CVAD 2511以降、VDAが起動するたびにMSMQのQMIDを自動的に更新します。マシンカタログの作成
- イメージ最適化ツールまたはカスタム定義スクリプトを使用して、Windowsの起動時にMSMQ用の新しいQMIDを生成できます。
- Additionally, for non-persistent VDAs, set the startup type of both the Session Recording Agent Service and the Citrix Session Recording Monitor Service to Automatic (Delayed Start) in the Windows Services configuration.
-
セッション録画サーバーが過負荷状態です。 セッション録画サーバーがサポートするセッション容量は、ハードウェア構成によって大きく異なります。デフォルトでは、最大2,000の同時セッションを処理できます。ただし、サーバーに16 GBを超えるRAMとSSDストレージが搭載されている場合、容量はさらに高くなる可能性があります。 過負荷の問題を解決するには:
-
マシンのメインメモリクォータを増やし、MSMQストレージ制限を引き上げます。
利用可能なメインメモリの合計が、構成されているMSMQストレージ制限の少なくとも1.5倍であることを確認します。
注:
MSMQストレージの合計制限は、常に物理メモリの合計よりも少なくする必要があります。
変更後、セッション録画サーバー上のMSMQを再起動する必要があります。その結果、セッション録画サービスは自動的に再起動します。
このプロセスによってセッションデータが失われることはありません。
-
セッション録画エージェントのプロパティでメッセージの有効期間を調整します。現在の値を2倍にすることを検討し、メッセージ処理により多くの時間を確保してデータ損失のリスクを軽減します。

この設定は、VDA上の以下のレジストリキーで構成できます。
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Agent\MsmqMessageLifeInSeconds環境のニーズに基づいて、値を(秒単位で)設定します。
注:
変更を行った後、セッションレコーディングエージェントを再起動する必要があります。
この操作により、ライブセッションのセッションデータが失われます。
この操作は、メンテナンス期間中にスケジュールされていることを確認してください。
-
すべてのセッションレコーディングサーバーマシンで、MSMQのメッセージフォルダーを、ディスク(SSD)IOPS容量が3000を超える別のドライブに変更します。
これにより、処理が高速化され、パフォーマンスが最大50%向上する可能性があります。

https://learn.microsoft.com/ja-jp/previous-versions/troubleshoot/msmq/optimize-message-queuing-performance
-
上記の手順で問題が解決しない場合は、負荷を分散するために追加のセッションレコーディングサーバーを追加することをお勧めします。
ガイダンスについては、既存の展開における負荷分散の構成に関する公式ドキュメントを参照してください。 Citrix Documentation – Configure Load Balancing
-