仮想マシンをハードストップすると HA Failover が発生して対象の仮想マシンが自動で再起動する

 

Hard Stopについて

 

下記のブログにある通り、vSphere 7 から GUI に Hard Stop (強制終了)のアクションが追加されている。

https://virtualhive2.wordpress.com/2021/01/25/vmware-%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%81%AE%E5%BC%B7%E5%88%B6%E7%B5%82%E4%BA%86%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/

 

vSphere HAとの関連と動作検証

vSphere HA が有効な状態で Hard Stop をすると自動で対象の仮想マシンが再起動される挙動になる

 

検証した環境

# vmware -vl

VMware ESXi 7.0.2 build-17867351

VMware ESXi 7.0 Update 2

 

検証内容

GUI上から仮想マシン(VM名: test vm for ha)を Hard Stop すると、実施直後に該当VMの電源状態の変化を検知している様子を確認できる(HA Master(GUIの表示だとPrimary)の fdm.log)

※余談だが、vSphere 6.7のGUIでは Master/Slave だったが、vSphere 7.0以降では Primary/Secondary 表記になっている模様。

 

2022-01-06T05:15:28.706Z verbose fdm[7783908] [Originator@6876 sub=Invt opID=SWI-4d13fd14] Marking protected Vm /vmfs/volumes/vsan:5238a57de3afea77-94b3102835c92c88/0d4cd661-263a-b225-1f2d-0c42a162cc10/test vm for ha.vmx as in unknown power state

 

その後、該当仮想マシンの起動リクエストが生成されている

2022-01-06T05:15:58.727Z info fdm[7783894] [Originator@6876 sub=Policy] Sending a list of 1 VMs to the placement manager for placement

2022-01-06T05:15:58.727Z info fdm[7783894] [Originator@6876 sub=Placement] 1 Vms added, 1 VmRecord created

2022-01-06T05:15:58.727Z verbose fdm[7783894] [Originator@6876 sub=Placement] Invoking the RPE + SPE Placement Engine

2022-01-06T05:15:58.727Z verbose fdm[7783894] [Originator@6876 sub=Placement] Reevaluate all to-be-placed Vms.

2022-01-06T05:15:58.727Z verbose fdm[7783894] [Originator@6876 sub=Placement] Issue failover start event for 1 Vms

2022-01-06T05:15:58.727Z verbose fdm[7783894] [Originator@6876 sub=Placement] Created a new placement request. Request ID 6

2022-01-06T05:15:58.727Z verbose fdm[7783894] [Originator@6876 sub=Placement] Added Request 6 to record repository

2022-01-06T05:15:58.727Z info fdm[7783894] [Originator@6876 sub=Placement] Request 6 was accepted by Placement Service.

 

 

仮想マシン起動の優先順位設定と、起動可能なESXiのコンパチがチェックされる

2022-01-06T05:15:58.733Z verbose fdm[7784389] [Originator@6876 sub=Placement opID=SWI-12004d77] 1 Vms have priority 3

2022-01-06T05:15:58.733Z verbose fdm[7784389] [Originator@6876 sub=Placement opID=SWI-12004d77] 1 Vms are to be powered on

2022-01-06T05:15:58.733Z verbose fdm[7784389] [Originator@6876 sub=Invt opID=SWI-12004d77] Compat list for /vmfs/volumes/vsan:5238a57de3afea77-94b3102835c92c88/0d4cd661-263a-b225-1f2d-0c42a162cc10/test vm for ha.vmx: host-20, host-10, __localhost__

 

 

起動が開始される

2022-01-06T05:15:58.739Z verbose fdm[7783892] [Originator@6876 sub=Execution opID=51ddc8dc-SWI-37ae0d81] Place /vmfs/volumes/vsan:5238a57de3afea77-94b3102835c92c88/0d4cd661-263a-b225-1f2d-0c42a162cc10/test vm for ha.vmx on host-10 (cmd ID host-18:6:3f8acb6)

 

 

冒頭に紹介したブログでは、Hard Stop は esxcli vm process kill --type=force --world-id=xxxxxxxx と等価だと説明しているとおり、 esxcli vm process kill --type=force --world-id=xxxxxxxx のコマンドで停止した場合でも、おなじように HA Failover が実施される。

 

 

この機能自体は、vSphere HA のHost Monitoring の Failure Reponse の設定と関連していて、Failure Response を無効にした場合は Failover で再起動されることはない。

またこの設定は VM Override で個別に設定も可能である。

 

 

 

 

vSphere 7.0以前の環境での挙動を確認

 

6.5 でも同じ挙動になるのかどうかを確認してみた。

6.5ではGUIからの Hard Stop はできないため、コマンド(esxcli vm process kill --type=force --world-id=xxxxxxxx)で実行した。

検証環境

# vmware -vl

VMware ESXi 6.5.0 build-15256549

VMware ESXi 6.5.0 Update 3

 

結果

vSphere 7と同じように 6.5でも強制停止したVMがFailover した。

6.7では試していないがおそらく同様の動作になると思われる。

コメント

このブログの人気の投稿

vSwitchにSTPが不要な理由

ESXi に DNS サーバを何個まで登録できるか

vSAN OSA更改時の考慮事項