Citrix虚拟应用程序和桌面サービスのローカルホストキャッシュ/高可用性モード
概要
ローカルホストキャッシュ(LHC)は,Citrix虚拟应用程序和桌面(CVAD)サービスのコンテキストで,保険契約と考えることができます。この保険契約は,何らかの理由(停止,接続の問題,インターネットの停電など)により,Citrix云连接器がCitrix仲介サービス(CVADサービスの一部であり,それ以降,クラウドブローカー)と通信できない場合に適用されます。リソースの場所とクラウドブローカー間の通信が故障すると,エンドユーザーへの影響につながる可能性があります。ローカルホストキャッシュは,このようなエンドユーザーへの影響を軽減するように設計されています。
ローカルホストキャッシュは,クラウドブローカーへの接続を再確立できるようになるまで,仲介業務を引き継ぐ複数のサービスとコンポーネントの組み合わせです。
図1:高可用性モードに関連するコンポーネントを示すCVADサービスの概念図
云连接器コンポーネント
Citrix云连接器には,ローカルホストキャッシュ操作に必要なコンポーネントがいくつかあります。
- 構成シンクロナイザサービス:構成シンクロナイザサービス(CSS)はクラウドブローカーと(60秒ごと)定期的にチェックし,構成が変更されたかどうかを確認します。変更は,管理者が開始(デリバリーグループのプロパティの変更など)またはシステムアクション(マシンの割り当てなど)にすることができます。変更が検出されると,CSSはクラウドブローカーからコネクタマシンに変更を同期します。
- localDB:CSSは,Microsoft SQL Server ExpressのLocalDBデータベースに構成データをインポートします。同期操作ごとに,データベースの新しいインスタンスが作成されます。同期が正常に完了すると,最新のDBインスタンスが以前のDBインスタンスと置き換えられます。
- 高可用性サービス:高可用性サービス(HAサービス)は,停止中にランタイム仲介機能を提供する特殊なブローカーサービスです。HAサービスは,セカンダリブローカーとも呼ばれます。
- リモートブローカープロバイダー:リモートブローカープロバイダーは,いくつかの重要な機能を実行します。
- これはCitrix虚拟投递代理(VDA)とクラウドブローカー間の通信を中継するプロキシとして機能します
- オンプレミスの店面またはオンプレミスのADCとさまざまなCitrix云サービス間の通信をプロキシリレーとして機能します
- リソースの場所をHAモードと通常動作の間で切り替えるタイミングを決定します
図2:HAモードで機能するコネクタコンポーネントとサービス
云连接器マシンの適切なサイジングは,高可用性モード時にサービスに対して適切なリソースを使用できるようにするための重要なステップです。詳細については,スケールとサイズに関する考慮事項記事を参照してください。
高可用性モード
Citrix云连接器は管理者の介入なしに,高可用性モードを自動的に開始または終了できます。HAモードは,次のいずれかによってトリガーできます。
- 店面列挙または起動要求の失敗
- VDAとクラウドブローカー間の通信の中継に失敗しました
- 起動時に,オンプレミスのADCに代わって安全票权威(STA)要求をCVADサービスに提示できない場合
HAモードでは,HAサービスはいくつかの重要な仲介機能を引き継ぎ,リソースを列挙し,ブローカーセッションを起動し,VDA登録を受け入れます。さらに,HAサービスはSTAプロバイダーとして機能します。複数の云连接器があるリソースの場所では,HAサービスは選挙プロセスの一部として相互に通信します。この選択プロセスは,HAモードがトリガーされた場合にHAサービスのどのインスタンスを引き継ぐかを決定します。
図3:HAモードで動作しているリソースの場所
高可用性モードを開始/終了する
HAモードへの移行の決定は,特定の云连接器インスタンスを通過する列挙トラフィックと起動トラフィックによって異なります。店面で交付控制器として構成されているコネクタマシンのみが,高可用性モードの検出と移行をサポートします。この最適化は,不要なVDA登録を防ぐために必要です。
HAモードを開始および終了するサイクル全体では,いくつかの状態があります。正常動作状態では,すべてのコンポーネントが正常であり,すべての仲介トランザクションはクラウドブローカーによって処理されます。CSSはクラウドブローカーからコネクタマシンに構成をアクティブに複製しています。
一部のコンポーネントが正常なレポートに失敗した場合,コネクタは[保留中哈]状態に移行します。この状態になると,包括的なヘルスチェックが開始され,次のアクションのコースが決定されます。コネクタは,リソースの場所にある他のコネクタと対話して,正常性のステータスを判断します。保留中のHAから[初期HA)への移行の決定は,特定のリソースの場所にあるすべてのコネクタの健全性ステータスに基づきます。ヘルスチェックが成功すると,コネクタは正常動作状態に戻ります。または,ヘルスチェックが失敗し続ける場合,コネクタは[初期HA)状態に移行します。
図4:既存の高可用性モードを開始する場合のコネクタの状態
初期哈状態では,コネクタの高可用性サービスが仲介業務を引き継ぎます。クラウドブローカーに登録されたすべてのVDAは,コネクタのHAサービス/セカンダリブローカーに登録されます。初期HAの終了時に,ヘルスチェックが開始されます。すべてのヘルスチェックが成功すると,状態は[保留中のリカバリ]に移行し,それ以外の場合は[拡張HA)に移行します。
拡張された高可用性期間中はヘルスチェックが継続され,すべてのヘルスチェックが成功すると,状態は[リカバリを保留中]に移行します。コネクタが拡張HA状態のままになるまでの最大時間はありません。
保留中の復旧は,ブローカーをクラウドブローカーに返送する前に,すべてのコンポーネントが正常な待機期間として機能します。保留中のリカバリ中にいずれかのヘルスチェックが失敗すると,状態は拡張高可用性に戻ります。保留中の回復期間中にすべてのヘルスチェックが成功すると,状態は正常に動作している状態に移行します。この移行により,高可用性モードが終了し,セカンダリブローカーに登録されていたリソースの場所にあるすべてのVDAがクラウドブローカーに再登録されます。
複数のリソースロケーションを持つCVADサービスインスタンス
クラウドブローカーは,複数のリソースロケーションにまたがる展開全体のビューを持つように設計されています。ただし,高可用性モードでは,各リソースの場所は独自の独立したポッドになり,各リソースの場所で選択されたセカンダリブローカーは,そのリソースの場所内のVDAの仲介トランザクションのみを管理します。この設計は,VDAワークロードを含むすべてのリソースの場所からのすべての云连接器を含むように店面を構成するための重要な理由です。StStoreFrontは,起動要求を分散し,複数のリソースの場所間で効果的にユーザーの負荷分散を行うことができます。
VDA登録
停止が開始されると,選択されたセカンダリブローカー(選択プロセスの詳細については,リソースの場所に複数のコネクタの項を参照)には最新のVDA登録データはありませんが,VDAが通信すると,登録プロセスがトリガーされます。このプロセスの間,選択されたセカンダリブローカーは,そのVDAの現在のセッション情報も取得します。VDAは,少なくとも5分ごとにブローカーと通信します。最後のハートビートが完了した時期によっては,クラウドブローカーから選択されたセカンダリブローカーへの変更を実現し,選択したセカンダリブローカーへの登録がトリガーされるまでに最大5分かかることがあります。
選択されたセカンダリブローカーが接続を処理している間,リモートブローカープロバイダーはCitrix云への接続を監視します。接続が復元されると,リモートブローカープロバイダーは,選択されたセカンダリブローカーに接続情報のリッスンを停止するように指示し,クラウドブローカーへのブローカー操作の伝達を再開します。次回,VDAがリモートブローカープロバイダーと通信するときに,別の登録プロセスがトリガーされます。選択されたセカンダリブローカーは,以前の停止から残りのVDA登録をすべて削除します。CSSはCitrix云で構成が変更されたことを検出すると,情報の同期を再開します。
リソースロケーション内の複数のコネクタ
すべてのリソースの場所/ゾーンに少なくとも2つのコネクタを推奨します。各ゾーンでは,中断が発生した場合に仲介責任を引き継ぐコネクタマシンがHAサービスによって認識されるようにするために,選挙プロセスが絶えず実行されています。この選択は,通常の動作中とHAモードで実行しているときの両方で,常に実行されます。
CSSはリソースの場所にあるすべての云连接器に関する情報を,セカンダリブローカーに定期的に提供します。これらの情報があれば,各コネクタはリソースの場所で実行されているすべてのピアコネクタを認識します。セカンダリブローカーは独立したチャネルで相互に通信します。これらのサービスでは,停止が発生した場合に,稼働しているマシンのFQDN名のアルファベット順のリストを使用して,ゾーン内で選択されたセカンダリブローカーを特定します。高可用性モードでは,選択されたセカンダリブローカーが仲介業務を引き継ぐ一方,ゾーン内の他のセカンダリブローカーは着信接続要求とVDA登録要求をアクティブに拒否します。
停止状態中に,選出されたセカンダリブローカーに障害が発生した場合,別のセカンダリブローカーが選出されて処理を引き継ぎ,VDAは新しく選出されたセカンダリブローカーに登録されます。高可用性モード中に,コネクタが再起動された場合
- そのコネクタがセカンダリブローカーに選ばれていない場合,再起動しても影響はありません。
- そのコネクタがセカンダリブローカーとして選択された場合,別の云连接器が選択され,VDAは新しい選択されたセカンダリブローカーに登録されます。再起動した云连接器の電源がオンになると,この云连接器が自動的に仲介処理を引き継ぐため,VDAはこちらの连接器にもう一度登録されます。このシナリオでは,登録中にパフォーマンスに影響が生じることがあります。
イベントログには,選出に関する情報が含まれます。関連するイベントの詳細については,製品ドキュメントのイベントログ記事を参照してください。
複数のリソースの場所を持つローカルホストキャッシュ
リソースの場所にあるコネクタ間の負荷分散
オンプレミスの店面は,デフォルトで60秒ごとにストアで構成されているすべての云连接器にハートビートメッセージを送信します。負荷分散アプリの列挙と起動要求では,正常な云连接器(ハートビートに正常に応答する)のみが考慮されます。云连接器への同じハートビート要求によって,コネクタもアクティブになり,前のセクションで説明したHAモードアルゴリズムに参加します。すべてのリソースの場所の高可用性モードで実行できるようにするには,店面oreFront構成で交付控制器として識別されたすべての云连接器がオンプレミスの店面にあることを確認することが重要です。適切な店面構成を使用しないと,サイトがHAモードになったときに容量が失われることがあります。
図5:構成が不足しているため,1つのRLがHA対応になっていない複数のリソースロケーションでの展開
同じアプリケーション/デスクトップを公開するリソースの場所のHAモード
CVADサービス展開モデルの1つには,複数のリソースの場所が含まれます。すべてのリソースの場所で同一のアプリケーションとデスクトップを公開します。たとえば,単一のマルチセッションイメージまたはプールされたVDIデスクトップのアプリケーションを含む展開を,すべてのリソースロケーションに均一に展開できます。
このような展開がHAモードで動作している場合,ユーザーは,構成されたさまざまなリソースの場所にある任意のVDAに転送されます。このシナリオでは,店面は,さまざまなリソースの場所で,構成されたすべての云连接器への要求の負荷分散を行います。
さまざまなアプリケーション/デスクトップを公開するリソースの場所のHAモード
また,CVADサービス展開では,特定のアプリケーションを,リソースの場所の特定のサブセットでのみ使用できます。たとえば,日本のOSデスクトップは,日本で実行されているVDAでのみ使用できます。別の例としては,静的/割り当て済みデスクトップがユーザー固有で,割り当て後に特定のリソースの場所に関連付けられます。
このような展開がHAモードで動作する場合,アプリケーションまたはデスクトップ起動要求は,アプリケーションおよびデスクトップが存在する特定のリソースの場所の適切な云连接器にルーティングする必要があります。これは,クロスゾーン仲介がHAモードでは使用できないためです。店面1912LTSR累積的な更新1またはそれ以降の機能によって提供されるAdvancedHealthCheck機能は,次の段落で説明する展開などです。
StStoreFrontは,任意の地域の云连接器からアプリケーションとデスクトップを列挙します。列挙情報には,リソース(アプリケーションまたはデスクトップ)と,アプリケーション/デスクトップが存在するリソースの場所の間のマッピングが含まれます。このマッピングは,ユーザーの起動要求を特定のリソースの場所に送信するために使用されます。店面がこの機能を利用できるようにするには,製品ドキュメントに記載されている構成手順を確認します。
Citrix ADCが関与するアーキテクチャ
監視
Citrix ADCアプライアンスには,Citrix虚拟应用程序和桌面交付控制器サーバーを監視する組み込みのモニターであるCITRIX-XD-DDCモニターが用意されています。Citrix虚拟应用程序和桌面サービスのコンテキストでは,云连接器は交付控制器サーバーと同等です。モニタは,設定済みのコントローラ/コネクタサーバにプローブをXMLメッセージの形式で送信します。サーバーがファームのIDを使用してプローブに応答する場合,プローブは成功したとみなされ,サーバーのステータスは了としてマークされます。応答に成功コードがない場合,またはサーバーファームのIDが応答に存在しない場合,プローブは失敗と見なされ,サーバーのステータスは下来としてマークされます。
CITRIX-XD-DDCモニタの詳細については,Citrix ADCに関するドキュメントを参照してください。
異なるアプリケーション/デスクトップを公開するリソースロケーション用のCitrix ADC
異なるアプリやデスクトップを公開するリソースの場所を持つCitrix ADCを含むアーキテクチャでは,次の構成を実行する必要があります。
- 各リソースの場所にある云连接器を,ADCロードバランサの一意のVIPに集約します。
- 手順に従って,店面アドバンスヘルスチェック機能を有効にしますここ。
- 各ゾーン/リソースの場所をADC仮想IP (VIP)にマッピング
- すべてのADC VIPをデリバリーコントローラとして店面に追加します。
- CITRIX-XD-DDCモニタを介して各リソースの場所の云连接器を監視するようにADCロードバランサーを設定します。
図6:複数のリソースロケーションとCitrix ADCを使用した展開
プールされたデスクトップVDAワークロードに関する考慮事項
ユーザーがプールされたデスクトップVDAからログオフすると,VDAのイメージがリセットされ,VDA上のユーザー固有のデータが削除されます。サイトがHAモードで実行されている場合,リセット操作は使用できません。したがって,ユーザーがプールされたデスクトップVDAからログオフすると,マシンはメンテナンスモードになります。このリセットにより,汚染されたイメージを別のユーザーが利用できるようになります。
実装のセキュリティニーズに応じて,サイト全体および配信グループごとの更新プログラムを適用することにより,この動作を変更できます。デフォルトの動作を上書きする方法の詳細については,製品ドキュメントを参照してください。
VMware vSphereおよびCitrix Hypervisorで実行されているプールされたデスクトップVDAワークロードでは,高可用性モード時の電源操作のサポートを導入する新機能が早期にプレビューできます。この機能により,サイトがHAモードで機能している場合でも,イメージをリセットする機能が追加されます。プレビューオファリングの詳細については,こちらをご覧ください。ここ。
ローカルホストキャッシュのテスト
ローカルホストキャッシュは,ユーザーの介入なしに動作するように設計されています——それは完全に自律です。ただし,すべての云连接器が正しく同期され,引き継ぐ準備ができていることを確認できます。次の手順を推奨します。
- 前のセクションで説明したように,すべてのコネクタはサイト構成の同期を個別に実行します。同期の結果は,イベントビューアに表示されます。イベントの詳細については,製品マニュアルの”[イベントログ]セクション“を参照してください。
- 停止をシミュレートして,環境内のローカルホストキャッシュソリューションをテストできます。停止状態の強制の方法に関するガイダンスは,製品マニュアルに記載されています。強制的に停止する場合は,リソースの場所にあるすべてのコネクタを強制停止モードに設定するように特に注意してください。