高度な概念

データベースの無停止アップグレードのためのローカルホストキャッシュの使用

ローカルホストキャッシュ(LHC)機能を使用すると、停止状態が発生しても、XenAppまたはXenDesktopサイトの接続仲介操作を続行できます。以下の手順では、セカンダリゾーンがない場合に、LHCを使用してサイトの無停止アップグレードを実行する方法を示します。Citrix はこのガイドを拡張して、複数のゾーンを持つ環境のための手順を含めることを検討しているため、今後のアップデートを確認してください。

続行する前に、ローカルホストキャッシュ機能、その要件、および制限を確認することをお勧めします。https://docs.citrix.com/ja-jp/xenapp-and-xendesktop/7-15-ltsr/manage-deployment/local-host-cache.html

ローカルホストキャッシュのサイズ設定とスケーリングに関する高度なコンセプトガイドもここにあります。https://docs.citrix.com/ja-jp/advanced-concepts/implementation-guides/local-host-cache-sizing-scaling.html

免責事項: これらの手順は、実稼働環境に実装する前にテスト環境で実行し、そのプロセスに精通していることを確認し、発生する可能性のある環境固有の問題や疑問に備えます。また、LHC に関連するいくつかの修正があるので利用可能な最新の LTSR 累積的な更新 (CU) を使用することをお勧めします。

概要

  1. この手順の環境を設定します。
  2. 選出されたプライマリブローカーを決定します。
  3. 強制的に停止し、ローカルホストキャッシュ機能をトリガーします。
  4. VDAが選出されたセカンダリブローカーに再登録できるようにします。
  5. 選択されていないセカンダリブローカで製品のアップグレードを実行します。
  6. データベースのアップグレードを含む、必須のサイトアップグレードを実行します。
  7. 選択されていない残りのセカンダリブローカーで製品のアップグレードを実行します。
  8. 停止とローカルホストキャッシュモードを終了します。
  9. 新しくアップグレードしたDelivery ControllerへのVDAの再登録を許可します。
  10. 最後に残ったDelivery Controller(以前に選択されたセカンダリブローカー)で製品のアップグレードを実行します。
  11. 環境をデフォルト設定に戻します。

手順

  1. 次の PowerShell コマンドレットを使用して、ローカルホストキャッシュが有効になっているかどうかを確認します。

    Get-BrokerSite

    LocalHostCacheEnabled : Trueを探します

    「ブローカーサイトの取得」コマンド

    false の場合は、ローカルホストキャッシュを有効にします。

    Set-BrokerSite -LocalHostCacheEnabled $true -ConnectionLeasingEnabled $false

    このコマンドレットは、接続リース機能も無効化します。ローカルホストキャッシュと接続リースの両方を有効化しないでください。

  2. デフォルトでは、停止状態が発生した場合、「ShutdownDesktopsAfterUse」プロパティが有効になっているデリバリーグループにプールされた、電源管理されたデスクトップVDAは保守モードになります。デフォルトの動作を上書きするには、サイト全体で、影響を受けるデリバリーグループごとに、これを有効にする必要があります。次のPowerShellコマンドレットを実行します。

    Set-BrokerSite -ReuseMachinesWithoutShutdownInOutageAllowed $true

    Set-BrokerDesktopGroup -Name "<Delivery Group Name>"- ReuseMachinesWithoutShutdownInOutage $true

  3. ブローカサービスがカスタムVDA、StoreFrontまたはStoreFront TLSポートを使用するように構成されている場合は、次の手順を実行して、高可用性(HA)サービスが正しいカスタムポートで構成されていることを確認します。
    • 次のコマンドを実行して、各ブローカーの現在のブローカーサービスポート設定を確認します:%programfiles%\Citrix\Broker\Service\BrokerService.exe -show ブローカーサービスのイメージ

    • 次のコマンドを実行して、各ブローカーの現在のHAサービスポート設定を確認します:%programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -show HA サービスイメージ

    • HAサービス用にリストされているVDA、StoreFront、またはStoreFront TLSポートがブローカーサービスと一致しない場合は、以下に示す適切なコマンドラインスイッチを使用して、それに応じてHAサービスのポート設定を設定します。

    %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -VdaPort <port>
    %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -StoreFrontPort <port>
    %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -StoreFrontTlsPort <port>
    

    HAサービスVDAポート

    注: ブローカーサービスとHAサービスでは、SDKポートが異なることが予想されます。

    ブローカーサービスのStoreFront ポートを変更すると、HAサービスのStoreFrontポートが自動的に一致するように更新されます。ただし、新しいポートの使用を開始するには、自動更新を受信するサービスを手動で再起動する必要があります。

  4. 停止中は、選択されたセカンダリブローカーがすべての接続を処理します。停止状態の開始時に、セカンダリブローカーにはその時点のVDA登録データがありませんが、VDAとの通信が始まるとすぐに再登録処理がトリガーされます。その処理中、セカンダリブローカーは、そのVDAに関する現在のセッション情報も取得します。VDAの再登録をデフォルトの5分間隔から1分間隔に高速化するには、サイト内のすべてのControllerにこの設定を適用する必要があります。

    New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer -Name HeartbeatPeriodMs -PropertyType DWORD -Value 60000

  5. VDAの再登録を監視するには、Citrix Studioを起動し、 「構成」>「コントローラー」 ノードをクリックし、プライマリブローカに登録されているVDAの数を表示します。Citrix Studioを開いたままにして、停止中にVDAが選出されたセカンダリブローカーに再登録されると、カウントがゼロになるようにします。Citrix Studioを使用して、セカンダリブローカに登録されているVDAの数を表示することはできません。

  6. 強制的に停止してLHCモードにするには、各Delivery Controller のレジストリを編集します。

    New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name OutageModeForced -PropertyType DWORD -Value 1

  7. 停止がトリガーされ、各プライマリブローカがLHCモードになったかどうかを判断するには、各コントローラのイベントログの「アプリケーション」ノードに移動し、Citrix 高可用性サービスから次のイベントを探します。

    3502:Citrix 高可用性サービスはアクティブになり、通常の仲介活動で検出された問題が解決されるまで、ユーザーからのセッション要求を仲介します。

    イベント 3502 イメージ

  8. Citrix StudioのControllerノードを更新して、選択したセカンダリブローカにすべてのVDAが再登録されていることを確認します。プライマリブローカがゼロの登録済みVDAを示すと、すべてのVDAが再登録されている可能性があります。

  9. セカンダリブローカーは、停止が発生した場合にどのセカンダリブローカーがゾーン内で仲介操作を担当するかを決定(選択)するために、実行中のマシンのFQDNのアルファベット順のリストを使用します。どのセカンダリブローカが選出されたかを確認するには、WindowsイベントログでCitrix 高可用性サービスから次のイベントを探します。

    3504:Citrix 高可用性サービス「選択されたコントローラのFQDN」が、ピア間で選択されたインスタンスになりました(ピアコントローラFQDNのリスト)。

    イベント 3504 イメージ

  10. 選択されていないピアコントローラの 1 つを選択し、選択されていないコントローラで製品のアップグレードを実行します。

  11. 新しくアップグレードしたControllerからCitrix Studioを起動し、データベースのアップグレードを含む必須サイトアップグレードを実行します。

    サイトアップグレードイメージ

  12. 選択されていない残りのピアコントローラで製品のアップグレードを実行します。選択されたコントローラは、環境内の新規およびアクティブな接続をすべて管理している中断しないようにしてください。

  13. 選択されていないすべてのControllerをアップグレードしたら、サイトの停止を解除し、LHCモードから移行します。強制停止トリガーを削除するには、各コントローラのレジストリを編集します。必要に応じて、キーを削除することもできます。

    Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name OutageModeForced -Value 0

  14. サイトが停止モードから外れているかどうかを確認するには、各Controllerで、アプリケーションイベントログでCitrix Broker Serviceから次のイベントを探します。

    3004:Citrix ブローカサービスが、XenDesktop データベースに正常に接続しました。

    イベント3004画像

    3500:Citrix Broker Serviceは、データベースとの通信に関する問題が解決されたことを検出し、メインサイトデータベースの構成を使用して通常の仲介活動を再開します。

    イベント 3500 イメージ

  15. Citrix Studioからコントローラーノードを更新して、アップグレードされたコントローラーへのVDAの再登録を監視します。すべてのVDAが正常に再登録されたことを確認します。

  16. 停止中に選出されたセカンダリブローカーとして機能していた最後の残りのControllerで、製品のアップグレードを実行します。

  17. 各Controllerのレジストリを変更して、VDA登録間隔をデフォルト値5分に戻します(必要に応じてキーも削除できます)。

    Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer -Name HeartbeatPeriodMs -PropertyType DWORD -Value 300000

  18. 電源管理デリバリーグループのデフォルトの動作に戻す場合は、次のコマンドレットを使用します。

    Set-BrokerSite  -ReuseMachinesWithoutShutdownInOutageAllowed $false
    Set-BrokerDesktopGroup -Name "<Delievery Group Name>" -ReuseMachinesWithoutShutdownInOutage $false
    

これで、ローカルホストキャッシュを使用した無停止アップグレードが完了します。

ローマのシリク、シニアによって寄与製品開発マネージャおよびジョセフ・ウ・シニア品質エンジニア

データベースの無停止アップグレードのためのローカルホストキャッシュの使用