クラスタで vSphere DRS(仮想マシンの自動配置と負荷分散)と vSphere HA(ホスト障害時の仮想マシンの自動再起動)を有効にし、ホストを強制停止して仮想マシンがほかのホストで再起動されることを確認する手順です。
この記事の前提
参照した公式ドキュメント
要件(公式ドキュメントより)
| 項目 | 内容 |
|---|---|
| ライセンス | vSphere HA・DRS が使えるエディション(評価モードではすべて使えます) |
| 共有ストレージ | 仮想マシンのファイルは、すべてのホストから見える共有データストアに置きます(この連載では iscsi-ds01) |
| 管理ネットワーク | HA のハートビートは管理ネットワーク(vmk0)で行います。本番では管理ネットワークも冗長化(NIC 2 枚のチーミング)が推奨されています |
| vMotion | DRS が仮想マシンを移すには vMotion が使えることが必要です(ネットワーク設定手順で設定) |
検証環境の各ホストの [Warning] は、管理ネットワークが冗長化されていない(vmnic0 だけ)ことなどの警告です。
vSphere DRS の有効化
(1) クラスタ(Cluster-doc)を選び、[Configure] → [Services] → [vSphere DRS] を開きます。「vSphere DRS is Turned OFF」と表示されています。[EDIT] をクリックします。

(2) [vSphere DRS] をオンにし、[Automation] タブを設定して [OK] をクリックします。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Automation Level | Manual(推奨を表示するだけ)、Partially Automated(電源オン時の配置だけ自動)、Fully Automated(配置と移動を自動) | Fully Automated(既定) |
| Migration Threshold | 負荷の偏りをどの程度で移動するかです。左ほど移動が少なく、右ほど積極的に移動します | 3(既定) |
| Predictive DRS | vRealize Operations の予測に基づいて先回りして移動します | オフ |
| Virtual Machine Automation | 仮想マシンごとに自動化レベルを上書きできるようにします | オン(既定) |
vSphere HA の有効化
(1) [Configure] → [Services] → [vSphere Availability] を開きます。「vSphere HA is Turned OFF」と表示され、障害時の動作がすべて [Disabled] です。[vSphere HA is Turned OFF] の右の [EDIT] をクリックします。

(2) [vSphere HA] をオンにします。[Failures and responses] タブで、障害時の動作を確認します。ここでは既定のままにしました。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Enable Host Monitoring | ホストの監視です。オフにすると、ホストのメンテナンス中に誤って HA が動くのを防げます | オン |
| Host Failure Response | ホストが故障したときの動作です | Restart VMs(ほかのホストで再起動) |
| Response for Host Isolation | ホストが管理ネットワークから孤立したときの動作です | Disabled(何もしない) |
| Datastore with PDL | ストレージが恒久的に失われた(Permanent Device Loss)ときの動作です | Power off and restart VMs |
| Datastore with APD | すべての経路が失われた(All Paths Down)ときの動作です | Power off and restart VMs – Conservative restart policy |
| VM Monitoring | VMware Tools のハートビートが止まった仮想マシンを再起動します | Disabled |
(3) [Admission Control] タブで、障害に備えて残しておくリソースを確認します。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Host failures cluster tolerates | 何台のホストの故障に耐えられるようにするかです。最大はホスト数 − 1 です | 1(既定) |
| Define host failover capacity by | 予備のリソースの決め方です。Cluster resource Percentage は、上の台数から割合を自動で計算します | Cluster resource Percentage(既定) |
(4) [Heartbeat Datastores] タブで、ハートビートに使うデータストアの選び方を確認して [OK] をクリックします。管理ネットワークが切れたときに、ホストが生きているかをデータストアで判断します。

(5) HA の構成が始まります(約 1〜2 分)。[Hosts] タブの [HA State] で、1 台が [Running (Primary)]、ほかが [Connected (Secondary)] になったことを確認します。

動作の確認(ホストの障害)
検証のための手順です。本番環境では行わないでください。
(1) rocky01 が動いているホスト(192.168.1.116)の電源を強制的に切ります(検証環境では、入れ子の ESXi の仮想マシンを強制停止しました)。
(2) [Hosts] タブで、停止したホストの [HA State] が [Network Partitioned](応答なし)になります。

(3) vSphere HA が rocky01 をほかのホスト(192.168.1.115)で再起動します。rocky01 の [Monitor] → [Events] に「vSphere HA restarted this virtual machine」が記録されます。

【検証結果】ホストの停止から、rocky01 が別のホストで起動して ping に応答するまで約 71 秒でした。
(4) 停止したホストの電源を入れると、数分で [HA State] が [Connected (Secondary)] に戻ります。
