お世話になっております。
VCSA6.7U3にて統合管理されている4Nodeクラスタ(vSAN環境)において、
仮想マシンA,Bの2台に”仮想マシン/オーバライド設定”を入れて、仮想マシンA,BのみHAとDRSを無効にしております。※設定箇所は添付しているものになります。
疑似障害としてNode#1をシャットダウンしたところ、以下のような挙動になりました。
ーーーーーー
1、通常時
Node#1 仮想マシンA(起動)、仮想マシンZ(起動)
Node#2 仮想マシンB(起動)
Node#3 ーー
Node#4 ーー
※仮想マシンA,Bは、オーバライド設定により”HA”とDRS無効。
2、障害発生
Node#1が障害発生し、Nodeシャットダウン
3、障害発生後
Node#1 ×(切断状態)
Node#2 仮想マシンB(起動)
Node#3 仮想マシンA((#1以外のホスト上にて)パワーオフ状態)、仮想マシンZ(HAにより#3にて起動)
Node#4 ーー
ーーーーーーーー
質問①
本挙動にて正しいのでしょうか。
仮想マシンAの挙動として、HAは無効にしているため、下記のようになる認識でした。
3-2、障害発生後
Node#1 ×(切断状態)、仮想マシンA(切断状態)
Node#2 仮想マシンB(起動)
Node#3 仮想マシンZ(HAにより再起動)
Node#4 ーー
※仮想マシンAは他のホスト上にて実態を持たず、切断状態になる。
質問②
上記3-2のような挙動を取らせる場合、"仮想マシン/オーバライド設定”ではなく、”仮想マシン/ホストグループ”と”仮想マシン/ホストルール"により、
仮想マシンA=Node#1、仮想マシンB=Node#2のように強制的に指定する方法をとる認識ですが、いかがでしょうか。
質問③
”仮想マシン/オーバライド設定”のみで、上記3-2のような挙動を取らせることは可能でしょうか。
設定方法をご教示頂きたく存じます。
何卒宜しくお願い致します。
挙動としては検証して確認していただいた「仮想マシンA」が別ホストで「パワーオフ」の状態でインベントリが付け変わるもので正しい動きとなります。
vSphere 5.5 以前は、HA を個別で無効にした仮想マシンは切断状態となり、もし故障したホストが起動できない場合は仮想マシンのインベントリを手動で削除、再登録するなどが必要でした。
vSphere 6.0 以降でこの仕様に改善が入り、仮想マシンをパワーオンしない状態でインベントリが別ホストに自動で登録されるようになりました。
「仮想マシン再起動の優先順位 」の項目の下の方に
「ホストに障害が発生すると、vSphere HA は、パワーオンされていて再起動の優先順位設定が無効になっている仮想マシン、またはパワーオフされている、影響を受ける仮想マシンをアクティブなホストに登録しようとします。」
という記載が 6.0 以降では確認できます。
そのため、特定ホストに仮想マシンを紐づけるためには、
質問②に書いていただいたように、DRS アフィニティグループ・ルール と組み合わせて、「起動時のVM・ホストの固定」「HA時の再起動の制御」を行うことが一般的です。
ご参考まで
挙動としては検証して確認していただいた「仮想マシンA」が別ホストで「パワーオフ」の状態でインベントリが付け変わるもので正しい動きとなります。
vSphere 5.5 以前は、HA を個別で無効にした仮想マシンは切断状態となり、もし故障したホストが起動できない場合は仮想マシンのインベントリを手動で削除、再登録するなどが必要でした。
vSphere 6.0 以降でこの仕様に改善が入り、仮想マシンをパワーオンしない状態でインベントリが別ホストに自動で登録されるようになりました。
「仮想マシン再起動の優先順位 」の項目の下の方に
「ホストに障害が発生すると、vSphere HA は、パワーオンされていて再起動の優先順位設定が無効になっている仮想マシン、またはパワーオフされている、影響を受ける仮想マシンをアクティブなホストに登録しようとします。」
という記載が 6.0 以降では確認できます。
そのため、特定ホストに仮想マシンを紐づけるためには、
質問②に書いていただいたように、DRS アフィニティグループ・ルール と組み合わせて、「起動時のVM・ホストの固定」「HA時の再起動の制御」を行うことが一般的です。
ご参考まで
こんにちは。
すでに kawaman さんが回答されていますが・・・
同様の構成で試したところ同様の動作だったので、おそらく挙動は正しそうです。
クラスタのイベントでも、仮想マシンA(VM-A)への vSphere HA 保護を「無効」にしたオーバーライドの動作が確認できると思います。
※以前はHA保護を無効にすると、障害ホストに仮想マシンが「応答なし」で取り残されていたと思いますが、
どこからのリリース(vSphere 6.0 あたり?)からか、別のホストに移動して起動しないようになったと記憶しています。
(以前は、あとから障害中ホストに登録されたままの仮想マシンを手動起動するのが大変でした。)
一方、障害時にどうしても仮想マシンをホスト移動したくない場合は、
アフィニティ ルールでホストと仮想マシンを紐づけるとよいと思います。
特定のESXiのグループと、特定のVMのグループを作成して、
「グループ内のホスト上で実行する必要があります」という設定で、起動ホストを強制します。
※「must」ルールとよばれるものです。
手順は、下記が参考になると思います。
以上です。ご参考まで。
kawaman様
いつもお世話になっております。返答頂きまして誠にありがとうございます!
使用の確認ができ良かったです。大変助かりました。
>>vSphere 5.5 以前は、HA を個別で無効にした仮想マシンは切断状態となり、もし故障したホストが起動できない場合は仮想マシンのインベントリを手動で削除、再登録するなどが必要でした。
>>vSphere 6.0 以降でこの仕様に改善が入り、仮想マシンをパワーオンしない状態でインベントリが別ホストに自動で登録されるようになりました。
vSphereのバージョンにより、オーバライド設定内容が異なるなんて全く知りませんでした。
勉強になります!
今後とも何卒宜しくお願い致します。
gowatana様
返信頂きありがとうございます!
挙動の確認ができ、大変うれしく思います。
また、アフィニティールールの確認ありがとうございます!
GUIのキャプチャまで付けて頂き、感謝します。
これからも不躾な質問等、多々するかと存じますが、何卒宜しくお願い致します。