Session Recording 2503

セッション録画のデータ損失

イベントの説明

セッション録画 – イベントビューアーのイベント2005

管理者は、セッション録画サーバーのイベントビューアーで、Citrix Session Recording Storage Managerからのイベント2005に気づくことがあります。イベントメッセージは通常、次のように表示されます。

「録画ファイル中にデータが失われました: VDA = XXX, CtxSessionId = YYY, path = ZZZ, NNN バイトが不足しています。」

管理者がイベントで指定されたパスにある録画ファイルを再生しようとすると、再生時に録画が不完全であることが示されます。

なぜ発生したのか

この問題にはいくつかの原因が考えられます。

  1. 2つ以上の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. QMIDを検証するために、VDA上のレジストリを確認します。
      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の場合、Windowsの起動時にMSMQのQMIDを設定する必要があります。
    3. VDAでQMIDを変更する方法
      1. QMIDを手動で変更する: インストール、アップグレード、およびアンインストール
      2. 最新のCitrix Provisioning Servicesは、CVAD 2511以降、各VDA起動時にMSMQのQMIDを自動的に更新します。マシンカタログの作成
      3. イメージ最適化ツールまたはカスタム定義スクリプトを使用して、Windowsの起動時にMSMQの新しいQMIDを生成できます。
    4. さらに、非永続VDAの場合、Windowsサービス構成で、セッションレコーディングエージェントサービスCitrix セッションレコーディングモニターサービスの両方のスタートアップの種類を自動 (遅延開始) に設定します。 dataloss
  2. Session Recording Serverが過負荷状態です。 Session Recording Serverでサポートされるセッション容量は、ハードウェア構成によって大きく異なります。デフォルトでは、最大2,000の同時セッションを処理できます。ただし、サーバーに16 GBを超えるRAMとSSDストレージが搭載されている場合、容量はさらに高くなる可能性があります。 過負荷の問題を解決するには:

    1. マシンのメインメモリクォータを増やし、MSMQストレージ制限を引き上げます。

      利用可能なメインメモリの合計が、構成されたMSMQストレージ制限の少なくとも1.5倍であることを確認してください。

      注:

      MSMQストレージの合計制限は、常に物理メモリの合計よりも少なくする必要があります。

      変更後、Session Recording Server上のMSMQを再起動する必要があります。その結果、Session Recording Serviceは自動的に再起動します。

      このプロセスによってセッションデータが失われることはありません。

    2. Session Recording Agentのプロパティでメッセージの有効期間を調整します。現在の値を2倍にすることを検討し、メッセージ処理により多くの時間を確保してデータ損失のリスクを軽減します。

      データ損失

      VDAで以下のレジストリキーを介してこの設定を構成できます。

      HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Agent\MsmqMessageLifeInSeconds

      環境のニーズに基づいて、値を(秒単位で)設定します。

      注:

      変更後、Session Recording Agentを再起動する必要があります。

      この操作により、ライブセッションのセッションデータが失われます。

      この操作はメンテナンス期間中にスケジュールされていることを確認してください。

    3. すべてのSession Recording Serverマシンで、MSMQのMessageフォルダーを、ディスク(SSD)IOPS容量が3000を超える別のドライブに変更します。

      これにより処理が高速化され、パフォーマンスが最大50%向上する可能性があります。

      データ損失

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

    4. 上記の手順で問題が解決しない場合は、負荷を分散するためにSession Recording Serverを追加することをお勧めします。

      ガイダンスについては、既存の展開で負荷分散を構成するための公式ドキュメントを参照してください。 Citrixドキュメント – 負荷分散の構成

セッション録画のデータ損失