- トラブルシューティング
Citrix Receiver Diagnostics Toolの使用手順の一例
Citrix Receiver Diagnostics Toolを使用した資料採取手順の一例をご紹介します。
|
こんにちは。Citrix製品のサポートを担当している川東(かわひがし)です。
Citrix XenApp(※現在の製品名はCitrix Virtual Apps)は、複数のコンポーネントが連動して動作するため、公開アプリケーション起動で問題が発生した際に、起動処理の流れが把握できていると問題切り分けをスムーズに行える場合があります。
今回は、前回の続きで、「公開アプリケーションのアイコンをクリック後、起動用のICAファイルがダウンロードされるまで」の処理の流れについてご説明します。
当記事内に記載されている内容は、Citrix XenDesktopも同様の処理になります。
XenApp
と一部異なる処理があります。本記事内で説明を記載しています。
開放する必要のあるポート番号を検証環境で動作確認する場合、以下の記事をご参考にしてください。
Citrix サポートブログ
Windows ファイアウォール使用してXenApp(Citrix Virtual Apps)のポートをブロックする動作テスト
以下のCitrix社の技術情報もご参考にしてください。
CTX236889
Application and Desktop Launch Process for internal network users
https://support.citrix.com/article/CTX236889
CTX128909
XenDesktop Connection Process and Communication Flow
https://support.citrix.com/article/CTX128909
CTX101810
Communication Ports Used by Citrix Technologies
https://support.citrix.com/article/CTX101810
本記事では以下の構成を用いて説明します。説明の都合上、デリバリーコントローラサーバとXenAppのサイトデータベースを別サーバにしています。また、Citrix Gateway(旧NetScaler Gateway) は含めていません。また、Citrix製品側の設定は標準設定を前提とします。
※以下の表に記載のポート番号は筆者の検証環境で確認出来た番号です。
流れ | 内容 | 行きの通信ポート |
① | クライアント端末にて公開アプリケーションのアイコンをクリックして起動します。 | TCP/80(HTTP) |
② | StoreFrontサーバからデリバリーコントローラサーバへユーザの資格情報を送信します。 | TCP/80(HTTP) |
③ | デリバリーコントローラサーバからドメインコントローラへ資格情報を問い合わせます | TCP/88 (Kerberos) |
④ | デリバリーコントローラサーバからXenAppサイトデータベースへ、公開アプリケーションを起動するための最適なVDAサーバを問い合わせます。XenDesktopの場合、動作が異なります。補足説明3をご参照ください。 | TCP/1433(SQL Server) |
【補足説明1:XenAppの負荷分散】
XenApp側でVDAサーバの負荷分散をする際は、LoadIndexの値が使用されます。
・各VDAサーバの LoadIndexの確認手順
1.デリバリーコントローラサーバにて、PowerShellを起動します。
2.次のコマンドを実行します。
※以下のコマンドは、指定したデリバリーグループ名に含まれるマシンの LoadIndexの値の他に、ホスト名、セッション数、電源状態、登録状態、メンテナンスモードの状態の値も表示します。
> asnp Citrix.*
> Get-BrokerMachine -SessionSupport MultiSession –Property –DesktopGroupName “デスクトップグループ名” "DnsName","SessionCount","LoadIndex","PowerState","RegistrationState","InMaintenanceMode"
※Appsと名前をつけたデリバリーグループに含まれるマシンの実行結果の例
【補足説明2:デフォルト設定の最大負荷】
・ デフォルト設定は、VDAサーバ上のユーザセッション数を基準に LoadIndex の値が算出されます。1セッション増えるごとに、値が40増分します。10000が負荷限界の値になるため、1台のVDAサーバ上の最大セッション数は250までとなります。こちらの値は、Citrix ポリシーの負荷管理の項目で変更できます。
・ CPUやメモリの使用率を基準に LoadIndex の値を算出させたい場合は、Citrix Studioのポリシーで負荷管理の各項目を設定します。
※参考情報
CTX235872
VDA Load Balancing in XenApp
https://support.citrix.com/article/CTX235872
【補足説明3:XenDesktopの場合のユーザ割り当て】
XenDesktopの場合は、ユーザ割り当てがランダムの場合は空いているデスクトップVDAが選ばれます。ユーザが事前割り当ての場合は、自身のアカウントが設定されているデスクトップVDAが選ばれます。
流れ | 内容 | 行きの通信ポート |
⑤ | ④で取得した最適なマシンを起動する必要がある場合は、ハイパーバイザーに起動要求を出します。 |
Citrix XenServer プール: TCP/80 VMWare vCenterサーバ: TCP/443 Microsoft SCVMM Server: TCP/8011 |
⑥ | 例えば、④でVDAサーバ2号機が最適なサーバとして選ばれた場合、デリバリーコントローラのCitrix Broker ServiceからVDAサーバの Citrix Desktop Serviceへ接続をして、VDAサーバからセッションキーを取得します。 |
TCP/80(HTTP) ※戻りも TCP/80(HTTP) |
⑥のイメージ図
流れ | 内容 | 行きの通信ポート |
⑦ | デリバリーコントローラからStoreFrontサーバへ公開アプリケーションを起動するためのデータを送信します。 | (戻り通信) |
⑧ | StoreFrontサーバにて⑦で取得したデータをもとに、クライアント端末のReceiverが参照するための起動用のファイル(ICAファイル)を作成して、クライアント端末へ送信します。 | (戻り通信) |
【補足説明4:起動用ファイルの内容を確認する方法】
クライアント端末にて公開アプリケーションを起動した際に使用された起動用のファイル(ICAファイル)は、
%Temp%に、拡張子が ica のファイルで保存されます。
こちらのICAファイル内の”Address=xxx.xxx.xxx.xxx”に指定されているIPアドレスのVDAサーバに接続します。
クライアント端末にて、以下のCTX115304のレジストリ設定をすることでICAファイルのデータを出力することもできます。
CTX115304
How to enable Launch.ica file logging to a Client Computer
https://support.citrix.com/article/CTX115304
いかがでしたでしょうか?公開アプリケーションの起動処理の流れを把握することで、問題切り分けの時間を短縮できる場合があります。次回は、「クライアント端末からVDAサーバに対して公開アプリケーションの起動要求を送信してから起動が完了するまで」の流れについて説明します。
クライアント仮想化の基礎知識から、仮想化製品「Citrix Virtual Apps and Desktops(XenAppおよびXenDesktop)」の製品概要、導入検討時に注意すべき点などをご紹介します。
今お持ちのお悩みを解決し、Citrix製品をより有効に活用する方法を具体的に学ぶことができる内容になっております。
アシストのCitrixサポートセンターに良くある設定・トラブル対処方法のFAQ10選の資料を無料プレゼント中です。また、Citrix XenApp/XenDesktopの問題発生時に原因を切り分ける方法も掲載しております。以下のバナーからお気軽にダウンロードください。
Citrix Receiver Diagnostics Toolを使用した資料採取手順の一例をご紹介します。
特定のクライアント端末で公開アプリケーションが起動できない問題について弊社のCitrixヘルプデスクがよく案内している切り分け方法をご紹介します。
クライアント端末にインストールしているWorkspace appにてReceiverCleanupUtility.exeがある場合は、こちらを使用してクリーンアンインストールができます。