概要
今回直面したエラー内容は以下の通り。
「Insufficient resources to satisfy configured failover level for vSphere HA」
Veeam backup & replicationを使用して旧基盤から新基盤にVMを移行させていた。マイグレーション作業及び新基盤にてVMの設定が完了した後、VMを起動させようとしたとき上記のエラーが発生。
環境
- 1クラスタ, 3ESXi, 50VM程度
- ESXiバージョン:6.0.0
- VMバージョン:11
- VCSAバージョン:6.0.0
- ESXi CPU:24×2.30 GHz
- ESXiメモリ:262×3 GB
原因
3台のESXiが所属しているクラスタの設定にて、vSphere HAを有効にしており、加えてアドミッションコントロールの設定はデフォルトの「ホスト障害クラスタ許容台数:1台」のままであったため上記のアラームがトリガーされた。
※アドミッションコントロールとは
vSphere HAで保護されたVMが他のESXiで確実にフェイルオーバーできるように、クラスタ内のESXiホストに予備リソースを確保する機能。
詳しくはこちらを参照
vSphere Web Clientのバージョンが6.0の場合、スロットサイズポリシーが「全VMのパワーオン状態を保護する」にチェックが入っている。
この設定は、**「ESXiに障害が起きても確実に全VMをフェイルオーバーするためにリソースを確保する」**ので、有効にするとクラスタ内でリソース不足になりやすい。
絶対にESXi上にあるVMを1台たりとも落としたくない場合以外は、この設定を有効にするのは注意すること。
※vSphere Web Client6.5以降は、仕様が変更されたことで「全VMのパワーオン状態を保護する」にチェックがデフォルトで入らないようになったため、意図的に設定しない限り問題はない。
解決方法
今回対処した方法は2つ。
①フェイルオーバーホストを指定する。
構築した環境は、全部確実に全VMのパワーオン状態を保たなければならない訳ではなかったので、アドミッションコントロールの設定にて「フェイルオーバーホストを指定」を選択した。
ここでフェイルオーバーホストを指定すると、そのESXiはフェイルオーバーの時以外使用されなくなる。設定を有効にする以前にVMがフェイルオーバーホストに乗っていたとしても、異常なく設定変更することができる。
②クラスタにESXiを追加する。
今回は、旧基盤から新基盤へVMを移行する際に生じたリソース不足だったため、万が一のことも兼ねてクラスタにESXiを1台追加することを決めた。
ESXiを新たにデプロイしクラスタに追加するのは手間がかかる方法だが、暫くはリソース不足になることはないので、時間と予算に余裕があればこの対処を行なえば良いと思う。