ここでは、専用の VDI デスクトップ割り当てに対する Horizon Cloud のエージェントのアップデート機能の仕組みを高いレベルで説明します。

システムは VMware CDS(コンポーネント ダウンロード サービス)ソフトウェア配布ネットワークと定期的に通信して、Horizon Agents Installer の新しいバージョンが使用可能かどうかを確認します。使用可能の場合、システムは自動的にそのバージョンを Horizon Cloud ポッドにダウンロードします。

新しいバージョンがダウンロードされると、その割り当てが表示される管理コンソールのページに、更新が利用可能であることが反映されます。新しいバージョンより前のレベルでのエージェントに関連するソフトウェアがあるそれらの専用 VDI デスクトップ割り当てに対してビジュアル インジケータが表示されます。


[割り当て] ページで、専用 VDI デスクトップ割り当てについて、エージェントの更新が利用可能なことを示す青いドットが表示されているスクリーンショット。

専用 VDI デスクトップ割り当て用のエージェント ソフトウェアを更新するの手順に従って専用 VDI 割り当てを選択し、エージェントのアップデート ウィザードを開始すると、更新が開始されます。更新に使用するバージョンを選択するだけでなく、次のオプションを指定できます。

オプション 説明
[ユーザーが利用可能な仮想マシン] このフィールドを使用して、更新中にユーザーが利用可能な割り当ての仮想マシンの比率を指定します。このオプションは、デスクトップが 30 台または 30 台の 2 ~ 3 倍(60 台または 90 台)未満である小規模デスクトップ割り当てに有用です。

システムはデフォルトで 30 台単位でデスクトップをバッチ更新するので、割り当てに 30 台以下のデスクトップがある場合、すべてのデスクトップが同時に更新プロセスを開始します。すべてのデスクトップが更新プロセスを実行していると、その更新プロセスが完了するまで、資格付与されたユーザーがデスクトップに新たに接続することができません。エージェントの更新プロセスは、更新されたデスクトップがエンドユーザー接続の準備が整えるまで、約 30 分かかります。同様に、デスクトップ割り当てのデスクトップ数が約 60 の場合、デフォルト バッチの 30 台だと約 50% のデスクトップが使用不能になります。

そのため、このフィールドを使うことで、システムがデスクトップを更新する際に、小規模プールでより多くの割合を確実に利用可能にすることができます。利用可能割合をより高く設定することで、仮想マシン更新の各バッチにおけるデスクトップの数が調整されることになります。

多数のデスクトップがある割り当てでは、割り当てにおけるデスクトップの総数に対してシステムの最大デフォルトである 1 バッチ 30 台の仮想マシンは小さな割合にしかならないので、このオプションはほとんど有用ではありません。

[ログイン ユーザーがいる仮想マシンをスキップ] ログインしているユーザー(アクティブまたは切断されたセッション)が存在する仮想マシン、または競合するタスクを実行している仮想マシンの更新がシステムによってスキップされるように設定します。この設定は、更新プロセスがデスクトップ上で起動した際に、エンド ユーザーを強制的にログオフにしてしまうシステムのデフォルト挙動を回避できます。
[ロールバックを有効にする] (オプション)ロールバックが有効になっている場合、システムはエージェントの更新が実行される前にロールバック コピーを作成し、そのコピーを 7 日間保持します。この 7 日間においては、仮想マシンでエージェントの更新に失敗した場合、その仮想マシンの以前のエージェント バージョンにロールバックすることができます。
注: ロールバックの時間枠はデフォルトで 7 日間に設定されていますが、この設定の変更を VMware に要求することもできます。
[障害のしきい値] 更新プロセスが停止となるまでに許容される、エージェントの更新が失敗する仮想マシンの数。このしきい値により、大量の障害が発生するのを防ぎます。

デフォルト値は、[設定] > [全般設定] で構成したものです。

注: 仮想マシンの更新に失敗したことが原因で更新プロセスが停止した場合、設定したしきい値よりも多くの障害が発生した仮想マシンが表示されることがあります。これは、さまざまな理由で発生します。マルチポッドの割り当ての場合、システムは割り当てごとではなく、ポッドごとにしきい値設定を適用するため、この問題が発生する可能性があります。
[スキップされた仮想マシンを再試行][ジョブのタイムアウト] ログインしているユーザーのいる仮想マシン、または競合するタスクを実行している仮想マシンの更新をスキップするように指定した場合、オプションでスキップされた仮想マシンの更新をシステムにより自動的に再試行するかどうかを指定することができます。この場合、割り当て内のデスクトップ仮想マシンをスキャンし、ログイン ユーザーのいない仮想マシンを更新してから、システムは次を実行します。
  1. 当初スキップした仮想マシンにログイン ユーザーがいるか確認します。
  2. スキップされた仮想マシンでログイン ユーザーがいないものについてはすべて更新します。
  3. 手順 1 および 2 を、[ジョブのタイムアウト] フィールドで指定した時間が経過するまで定期的に繰り返します。
システムによるスキップされた仮想マシンの自動再試行を設定しない場合は、後でそれらの仮想マシンを手動で処理することができます。
注: 更新プロセス中にエラーが発生した仮想マシンについては再試行は行われません。仮想マシンの更新に失敗した場合は、ロールバック オプションを有効にしておくと、仮想マシンを以前のバージョンにロールバックできます。
  • ウィザードの最後のステップで更新タスクを送信した後、システムはデスクトップの更新を開始します。
    • 各デスクトップ仮想マシンで更新プロセスが開始されたら、仮想マシンの状態が健全であることを確認するプリフライト チェックが開始されます。これには、十分なディスク容量があること(300 MB 以上の空き容量)と、2 回の再起動によってクリアされていない Windows 更新プログラムによる再起動が行われていないこと、または 2 回の再起動によってクリアされない VMware 固有のアプリケーションのインストールによる再起動が行われていないことの確認が含まれます。
    • 割り当てを更新する場合、システムは仮想マシンのバッチを並行して更新します。デフォルトでは、更新する仮想マシンの残りの数が 30 未満になるまで、システムはバッチごとに 30 台の仮想マシンを使用します。30 未満になった時点で、最終セットは、それらの残りの仮想マシンを更新するためのものです。仮想マシンを完全に更新するには約 30 分から 45 分かかります。必要な時間は負荷によって、また、ロールバック オプションが有効になっているかどうかによっても異なります。バッチのサイズを、30 よりも大きくすることはできません。割り当てに含まれるデスクトップが 30 台以下である場合、割り当てのすべてのデスクトップが同時にアップデートされます。ご要望に応じて、VMware の担当者がバッチのサイズを調整できます。
      処理中の仮想マシンの数は、更新中に利用可能に保つ仮想マシンの割合を指定したかどうかによって変わります。利用可能割合を設定すると、システムは、利用可能割合を満たすために更新中の仮想マシンのセットを調整します。次の表にいくつかの例を示します。
      注: [監視] > [アクティビティ] ページで更新の進行状況を表示すると、実行中の仮想マシンの数がバッチ サイズに基づいて予測される数よりも大きくなることがあります。これは、システムがプリフライト チェックおよびロールバックのコピー作成プロセスで現在実行されている仮想マシンもカウントしているために発生します。
      説明
      [ユーザーが利用可能な仮想マシン] が設定されていない (= 0%) 利用可能割合を設定しない場合、利用可能割合は 0 であり、ランタイム バッチ サイズはデフォルトの 30 になります。割り当てのデスクトップ数が 30 台以下の場合、その割り当て内のすべてのデスクトップが 1 つのバッチでまとめて更新されます。
      割り当てのデスクトップ数が 20 台で [ユーザーが利用可能な仮想マシン] = 80% 20 台のデスクトップがある割り当てで、その 80% を利用可能に保ちたい場合、システムは常時 16 台を利用可能にしておく必要があります。この場合、システムは次のように実行します。
      1. 最初に 4 台の仮想マシンから成るバッチを更新します(20 - 16)。
      2. 4 台の更新済み仮想マシンと 12 台の未更新仮想マシンで 16 台が利用可能に保たれるので、2 回目のバッチで 4 台の仮想マシンを更新します。
      3. この時点では、8 台の仮想マシンが更新済みで 12 台が未更新です。システムは、未更新の仮想マシンに対して 4 台のバッチで更新を続けます。それぞれの後続のバッチで、利用可能に保たれるのは更新された仮想マシンと未更新の仮想マシンを組み合わせたものです。
      割り当てのデスクトップ数が 100 台で [ユーザーが利用可能な仮想マシン] = 80% 100 台のデスクトップがある割り当てで、その 80% を利用可能に保ちたい場合、システムは常時 80 台を利用可能にしておく必要があります。この場合、システムは次のように実行します。
      1. 最初に 20 台の仮想マシンのバッチを更新します(100 - 80)。
      2. 20 台の更新済み仮想マシンと 60 台の未更新仮想マシンで 80 台が利用可能に保たれるので、2 回目のバッチで 20 台の仮想マシンを更新します。
      3. この時点では、40 台の仮想マシンが更新済みで 60 台が未更新です。システムは、未更新の仮想マシンに対して 20 台のバッチで更新を続けます。
      割り当てのデスクトップ数が 100 台で [ユーザーが利用可能な仮想マシン] = 25% 割り当てのデスクトップ数が 100 台で、その 25% を利用可能に保ちたいのであれば、75 台の仮想マシンを最初に更新することができます。この場合、システムは次のように実行します。
      1. 最初に更新するのは、デフォルトのバッチ サイズである 30 台の仮想マシンで、70 台が未更新になります。
      2. 70 台の未更新分から 2 回目のバッチで 30 台の仮想マシンが更新されるので、総数 100 台のデスクトップのうち 60 台が更新され、40 台が未更新になります。
      3. ここで 60 台が更新されているので、更新済み仮想マシン 25 台で 25% の利用可能割合設定を満たすことができます。そのため、システムはデフォルトのバッチ サイズを使用して、残り 40 台の未更新仮想マシンのうちの 30 台を更新します。
      4. システムは、最終バッチで残りの仮想マシン 10 台を更新します。

エージェントの更新プロセスの最後で、割り当ての [サマリ] ページに、有効になっている Horizon Agents Installer のバージョンが示されます。

システムがデスクトップを更新している間、デスクトップのエンド ユーザーは次の挙動に遭遇します。

  • デスクトップにアクティブなセッションがあってアクティブなユーザーがいる仮想マシンのスキップを指定しなかった場合、更新が発生するまでの 5 分間ユーザーに警告が表示されます。この 5 分間の警告は、ユーザーに処理中の作業を保存する時間を与えるためのものです。
  • 更新中のデスクトップにユーザーがログインしようとした場合、ログインは失敗して、デスクトップを利用できないというメッセージが表示されます。

[監視] > [アクティビティ] の順に選択すると、アップデート タスクの進捗を表示できます。タスクの説明欄には、実行されている更新と、更新が実行されている割り当てが表示されます。タスクが 24 時間以内に問題なく完了せず、再試行およびジョブ タイムアウトのオプションが有効になっていない場合、その更新タスクは失敗状態で表示されます。

更新タスクにおいて、いずれかの仮想マシンがスキップされた場合、その更新タスクは [アクティビティ] ページで「部分的に成功しました」状態になります。[アクティビティ] ページでは、その更新タスクでスキップされた仮想マシンの数を確認することができます。

  • 再試行オプションが有効化されても、更新タスクの完了後に [アクティビティ] ページにスキップされた仮想マシンの数が表示される場合は、[ジョブのタイムアウト] の値が、システムがすべてのスキップされた仮想マシンを更新するために十分な時間ではない、またはエンド ユーザーがこれらの仮想マシンからログアウトしていません。
  • 仮想マシンは、「Windows 更新プログラムの進行中」、「低ディスク容量」、「マシン上での再起動の保留中」などのプリフライト チェック エラーでスキップすることもできます。

何らかの理由でスキップされた仮想マシンの場合、管理者は後でエージェントの更新を再試行できます。