Session Recording

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

イベントの説明

セッション録画 – イベントビューアーのイベント 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の場合、MSMQのQMIDはWindowsの起動時に設定する必要があります
    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は自動的に再起動します。

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

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

      データ損失

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

      HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Agent\MsmqMessageLifeInSeconds

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

      注:

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

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

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

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

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

      データ損失

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

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

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

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