データベースの無停止アップグレードのためのローカルホストキャッシュの使用
ローカルホストキャッシュ(LHC)機能を使用すると、障害が発生してもCitrix Virtual Apps and Desktops サイトでの接続仲介操作を続行できます。次の手順は、セカンダリゾーンがない場合に LHC を使用してサイトの無停止アップグレードを実行する方法を示しています。
先に進む前に、ローカルホストキャッシュ機能とその要件と制限を確認することをお勧めします。 https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/local-host-cache.html
ローカルホストキャッシュのサイズ設定とスケーリングに関するTech Zoneガイドもこちらにあります。 https://docs.citrix.com/en-us/tech-zone/design/design-decisions/local-host-cache-sizing-scaling.html
免責事項: これらの手順は、実際の運用環境に実装する前にテスト環境で実行して、プロセスに精通し、発生する可能性のある環境固有の問題や質問に備えていることを確認してください。また、LHCに関連する修正がいくつかあり、お客様の環境に役立つ可能性があるため、入手可能な最新のLTSR累積更新(CU)を使用することをお勧めします。
概要
- この手順の環境を設定します。
- 選ばれたプライマリーブローカーを決定してください。
- 強制的に停止すると、ローカルホストキャッシュ機能がトリガーされます。
- 選択したセカンダリブローカーへのVDAの再登録を許可します。
- 選択されていないセカンダリブローカーで製品のアップグレードを実行します。
- データベースのアップグレードを含む必須のサイトアップグレードを実行します。
- 選出されていない残りのセカンダリーブローカーの製品アップグレードを行います。
- 停止状態とローカルホストキャッシュモードを終了します。
- VDAが新しくアップグレードされたDelivery Controllerに再登録できるようにします。
- 最後に残ったDelivery Controller(以前に選択したセカンダリブローカー)で製品のアップグレードを実行します。
- 環境をデフォルト設定に戻します。
手順
-
次の PowerShell コマンドレットを使用して、ローカルホストキャッシュが有効になっているかどうかを確認します。
Get-BrokerSite
LocalHostCacheEnabled : True
を探しますfalse の場合、ローカルホストキャッシュを有効にします。
Set-BrokerSite -LocalHostCacheEnabled $true -ConnectionLeasingEnabled $false
このコマンドレットは、接続リース機能も無効化します。ローカルホストキャッシュと接続リースの両方を有効化しないでください。
-
デフォルトでは、停止状態が発生した場合、「ShutdownDesktopsAfterUse」プロパティが有効になっているデリバリーグループにプールされた、電源管理されたデスクトップVDAは保守モードになります。デフォルトの動作を上書きするには、サイト全体で、影響を受けるデリバリーグループごとに、これを有効にする必要があります。次のPowerShellコマンドレットを実行します。
Set-BrokerSite -ReuseMachinesWithoutShutdownInOutageAllowed $true
Set-BrokerDesktopGroup -Name "<Delivery Group Name>"- ReuseMachinesWithoutShutdownInOutage $true
- ブローカサービスがカスタムVDA、StoreFrontまたはStoreFront TLSポートを使用するように構成されている場合は、次の手順を実行して、高可用性(HA)サービスが正しいカスタムポートで構成されていることを確認します。
-
次のコマンドを発行して、各ブローカーの現在のブローカーサービスポート設定を確認します。
%programfiles%\Citrix\Broker\Service\BrokerService.exe -show
-
次のコマンドを発行して、各ブローカーの現在の HA サービスポート設定を確認します。
%programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -show
-
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> <!--NeedCopy-->
注:
SDKポートはブローカーサービスとHAサービスで異なることが予想されます。
ブローカーサービスのStoreFront ポートを変更すると、HAサービスのStoreFront ポートが自動的に一致するように更新されます。ただし、新しいポートの使用を開始するには、自動更新を受信するサービスを手動で再起動する必要があります。
-
-
停止中は、選択したセカンダリブローカーがすべての接続を処理します。停止状態の開始時に、セカンダリブローカーにはその時点のVDA登録データがありませんが、VDAとの通信が始まるとすぐに再登録処理がトリガーされます。その処理中、セカンダリブローカーは、そのVDAに関する現在のセッション情報も取得します。VDAの再登録をデフォルトの5分間隔から1分間隔に短縮するには、この設定をサイト内のすべてのControllerに適用する必要があります。
New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer -Name HeartbeatPeriodMs -PropertyType DWORD -Value 60000
-
VDAの再登録を監視するには、Citrix Studioを起動し、[ 構成]>[コントローラー ]ノードをクリックして、プライマリブローカーに登録されているVDAの数を表示します。Citrix Studioを開いたままにしておくと、停止中に選択したセカンダリブローカーにVDAが再登録されるため、カウントがゼロになるのを確認できます。Citrix Studioでは、セカンダリブローカーに登録されているVDAの数を表示することはできませんのでご注意ください。
-
強制的に停止してLHCモードに入るには、各Delivery Controller ラーのレジストリを編集します。
New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name OutageModeForced -PropertyType DWORD -Value 1
-
障害がトリガーされ、各プライマリブローカーがLHCモードに入ったかどうかを確認するには、各コントローラーのイベントログのアプリケーションノードに移動し、Citrix High Availability Serviceから次のイベントを探します。
3502: Citrix High Availability Serviceがアクティブになり、通常の仲介アクティビティで発見された問題が解決されるまで、ユーザーからのセッションリクエストを仲介します。
-
Citrix StudioのControllerノードを更新して、選択したセカンダリブローカーにすべてのVDAが再登録されたことを確認します。プライマリーブローカーに登録されたVDAがゼロの場合、すべてのVDAが再登録された可能性があります。
-
セカンダリブローカーは、稼働しているマシンのアルファベット順のFQDNリストを使用して、停止が発生した場合にゾーン内の仲介業務を担当するセカンダリブローカーを決定します(選出)。どのセカンダリブローカーが選出されたかを確認するには、WindowsイベントアプリケーションログでCitrix高可用性サービスから次のイベントを探してください。
3504: Citrix 高可用性サービス「選出されたコントローラのFQDN」が、そのピア(ピアコントローラのFQDNのリスト)の中で選出されたインスタンスになりました。
-
選択されていないピアコントローラの 1 つを選択し、選択されていないコントローラで製品のアップグレードを実行します。
-
新しくアップグレードしたControllerからCitrix Studioを起動し、データベースのアップグレードを含む必須のサイトアップグレードを実行します。
-
選択されていない残りのピアControllerで製品のアップグレードを実行します。選択したコントローラが環境内の新規接続やアクティブな接続をすべて管理しているときに、そのコントローラを中断させないようにしてください。
-
選択されていないControllerをすべてアップグレードしたら、サイトを停止状態から復帰させ、LHCモードから移行します。強制停止のトリガーを削除するには、各Controllerのレジストリを編集します。キーは必要に応じて削除することもできます。
Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name OutageModeForced -Value 0
-
サイトが停止モードから外れているかどうかを確認するには、各ControllerのアプリケーションイベントログでCitrix Broker Serviceからの次のイベントを探します。
3004: Citrix ブローカーサービスは XenDesktop データベースに正常に接続されました。
3500: Citrix Broker Serviceは、データベースとの通信の問題が解決されたことを検出し、メインサイトのデータベース内の構成を使用して通常の仲介活動を再開します。
-
Citrix Studioの[コントローラー]ノードを更新して、アップグレードしたコントローラーにVDAが再登録されるのを確認します。すべてのVDAが正常に再登録されたことを確認します。
-
停止中に選出されたセカンダリブローカーとして機能していた最後の残りのControllerで、製品のアップグレードを実行します。
-
(このステップはオプションです。)各Controllerのレジストリを変更して、VDA登録間隔をデフォルト値の5分に戻します(必要に応じてキーを削除することもできます)。
Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer -Name HeartbeatPeriodMs -PropertyType DWORD -Value 300000
-
(このステップはオプションです。)電源管理されたデリバリーグループのデフォルトの動作に戻すには、次のコマンドレットを使用します。
Set-BrokerSite -ReuseMachinesWithoutShutdownInOutageAllowed $false Set-BrokerDesktopGroup -Name "<Delievery Group Name>" -ReuseMachinesWithoutShutdownInOutage $false <!--NeedCopy-->
これで、ローカルホストキャッシュを使用した無停止アップグレードが完了します。