ホストに障害が発生してホストの仮想マシンを再起動する必要がある場合、仮想マシン再起動の優先順位設定で、仮想マシンが起動する順序を制御できます。また、ホスト隔離時の対応設定を使用して、ホストがほかのホストとの管理ネットワークの接続が失われた場合の vSphere HA の対応を構成することもできます。障害発生後に vSphere HA が仮想マシンを再起動するとき、その他の要素も考慮されます。
ホストの障害または隔離時に、次の設定がクラスタ内のすべての仮想マシンに適用されます。特定の仮想マシンに対して例外を設定することも可能です。個々の仮想マシンのカスタマイズを参照してください。
ホストの隔離時の対応
ホスト隔離時の対応で、vSphere HA クラスタ内のホストが管理ネットワークに接続できなくなったものの、実行が継続されている場合の対応を決定します。隔離時の対応を使用して、隔離状態にあるホストで実行されている仮想マシンを vSphere HA でパワーオフし、隔離状態にないホストで再起動することができます。ホスト隔離時の対応では、ホスト監視ステータスを有効にする必要があります。ホスト監視ステータスが無効になっていると、ホスト隔離時の対応もサスペンドされます。ホストは、他のホストで実行中のエージェントと通信できず、隔離アドレスに ping できないときに、自身が隔離されていると判断します。その後、ホストは隔離時の対応を実行します。仮想マシンをパワーオフして再起動、または仮想マシンをシャットダウンして再起動するという対応です。個々の仮想マシンのこのプロパティはカスタマイズできます。
仮想マシンをシャットダウンして再起動する設定を使用するには、仮想マシンのゲスト OS に VMware Tools をインストールする必要があります。仮想マシンをシャットダウンすることには、仮想マシンの状態を保存できるというメリットがあります。ディスクへの最新の変更がフラッシュされず、トランザクションがコミットされないため、仮想マシンのシャットダウンはパワーオフよりも優れています。シャットダウン途中の仮想マシンは、シャットダウンが完了するまでフェイルオーバーに時間がかかります。300 秒以内または詳細オプション das.isolationshutdowntimeoutで指定した時間以内にシャットダウンしない仮想マシンは、パワーオフされます。
vSphere HA クラスタを作成したあとで、特定の仮想マシンの再起動優先順位および隔離時の対応についてデフォルトのクラスタ設定をオーバーライドできます。このようなオーバーライドは、特別なタスクで使用される仮想マシンでは非常に便利です。たとえば、DNS や DHCP などのインフラストラクチャ サービスを提供する仮想マシンは、クラスタ内のほかの仮想マシンより前にパワーオンする必要があることがあります。
プライマリ ホストからホストが隔離されるかパーティション化され、プライマリ ホストがハートビート データストアを使用してホストと通信できなくなると、仮想マシンが「スプリット ブレイン」状態になることがあります。この場合、プライマリ ホストはホストが活動中かどうかを判断できないため、ホストが非活動であると宣言します。その後プライマリ ホストは、隔離されているホストまたはパーティション化されているホストで実行されている仮想マシンの再起動を試みます。仮想マシンが隔離/パーティション化されているホスト上で実行されていて、そのホストが隔離されたかパーティション化されたときにそのホストが仮想マシンのデータストアにアクセスできなくなった場合、この再起動の試行は成功します。この後、仮想マシンのインスタンスが 2 つ存在するため、スプリット ブレイン状態が発生します。ただし、1 つのインスタンスのみが仮想マシンの仮想ディスクを読み書きできます。仮想マシンのコンポーネント保護を使用することにより、このスプリット ブレイン状態を防ぐことができます。積極的設定で VMCP を有効にすると、VMCP は、パワーオンされた仮想マシンがデータストアにアクセスできるかどうかを監視し、データストアにアクセスできない仮想マシンをシャットダウンします。
この状況から回復するため、ESXi は、ディスク ロックを失った仮想マシンについて、ホストがいつ隔離状態から離脱してディスク ロックを再取得できなくなったかという問い合わせを生成します。vSphere HA は自動的にこの問い合わせに応答し、ディスク ロックを失った仮想マシンのインスタンスをパワーオフし、ディスク ロックを保持するインスタンスをそのままにします。
仮想マシンの依存関係
仮想マシンのグループ間で依存関係を作成できます。これを行うには、まず、vSphere Client でクラスタの [設定] タブに移動し、[仮想マシン/ホスト グループ] を選択して、仮想マシン グループを作成する必要があります。グループを作成したら、[仮想マシン/ホスト ルール] を表示し、[タイプ] ドロップダウン メニューで [仮想マシンから仮想マシン] を選択して、グループ間の再起動依存関係ルールを作成できます。これらのルールでは、指定した他の仮想マシン グループが先に準備完了の状態になるまで、特定の仮想マシン グループを再起動できないように指定できます。
仮想マシンの再起動に関して考慮される要素
障害発生後、クラスタのプライマリ ホストは障害の影響を受けた仮想マシンをパワーオンできるホストを特定して、障害の影響を受けた仮想マシンの再起動を試みます。このようなホストを選択する場合、プライマリ ホストはいくつもの要素を考慮します。
- ファイルへのアクセス
- 仮想マシンが起動可能になるには、プライマリがネットワーク経由で通信できるアクティブなクラスタ ホストのいずれかから、仮想マシンのファイルにアクセスできる必要があります。
- 仮想マシンとホストとの互換性
- アクセス可能なホストが複数存在する場合、仮想マシンは、そのうちの少なくとも 1 台と互換性を持っている必要があります。一連の仮想マシンの互換性には、必要となるすべての仮想マシンとホスト間のアフィニティ ルールの影響が反映されます。たとえばルールにより、2 台のホスト上でのみ仮想マシンの実行を許可している場合、それら 2 台のホストに仮想マシンを配置することが考慮されます。
- リソースの予約
- 仮想マシンを実行可能なホストのうちの少なくとも 1 台には、仮想マシンのメモリ オーバーヘッドおよび任意のリソース予約に十分な、予約されていない容量が必要です。CPU、メモリ、vNIC、および仮想フラッシュの 4 種類の予約が考慮されます。また、仮想マシンをパワーオンするのに十分なネットワーク ポートも使用可能にする必要があります。
- ホスト制限
- リソース予約に加えて、許可される仮想マシン数または使用中の vCPU 数の最大数を超えない場合にのみ、仮想マシンをホストに配置できます。
- 機能の制約
- vSphere HA の詳細オプションが、仮想マシンと仮想マシン間の非アフィニティ ルールを強制するように設定されている場合、vSphere HA はこのルールに違反しません。また vSphere HA は、Fault Tolerance 機能を持つ仮想マシンのホストごとに構成された制限のいずれにも違反しません。
上述の考慮事項を満たすホストが存在しない場合、プライマリ ホストは、vSphere HA が仮想マシンを起動するのに必要なリソースがないことを表すイベントを発行し、クラスタの状態が変更されたときに再試行します。たとえば、仮想マシンにアクセスできない場合、プライマリ ホストは、ファイルがアクセス可能になった後に再試行します。