ESXi を vCenter Server から削除する際の正しい手順について

今回は ESXi を vCenter Server のインベントリから削除する際の正しい
手順について記載します。

ESXi を vCenter Server のインベントリから削除する手順

ESXi を vCenter Server のインベントリから削除する場合、
以下の手順で実施する必要があります。

1. ESXi をメンテナンスモードへ切り替える
2. ESXi を vCenter Server のインベントリから削除する

・vCenter Server からのホストの削除
https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-C88D843A-DB67-4888-9C36-8B72335EF3F8.html

正しい手順でやらなかった場合、どうなるのか

もし、以下のような手順で ESXi を vCenter Server のインベントリから削除
した場合、ESXi に vCenter Server の情報が残り続けてしまうことになります。

<正しくない手順の例>
1. ESXi をメンテナンスモードへ切り替える
2. ESXi をシャットダウンする
3. ESXi を vCenter Server のインベントリから削除する

※ 本来の手順とは 2 と 3 が逆

では、ESXi に vCenter Server の情報が残り続けてしまったらどうなるの
でしょう。

ESXi は vCenter Server に対し 10 秒間隔でハートビートを送信しており、
このハートビートを vCenter Server が 60 秒間受信できなかった場合に、
vCenter Server は当該 ESXi を応答なしの状態と判定します。

ESXi host disconnects intermittently from vCenter Server (1005757)
https://kb.vmware.com/s/article/1005757?lang=en_us
----------
This issue occurs when the UDP heartbeat message sent by ESX/ESXi host is not received by vCenter Server. if vCenter Server does not receive the UDP heartbeat message, it treats the host as not responding. ESX/ESXi host send heartbeats every 10 seconds and vCenter Server has a window of 60 seconds to receive the heartbeats. This behavior can be an indication of a congested network between the ESX/ESXi host and vCenter Server.

適切な手順で ESXi を vCenter Server から削除した場合には、ESXi から
vCenter Server の情報が削除されるため、10 秒毎のハートビートの送信
も停止されます。

しかし、誤った手順で ESXi を vCenter Server から削除した場合、
ESXi は vCenter Server の情報を保持し続け、既に管理から外れている
にも関わらず vCenter Server に対し 10 秒毎にハートビートを送信し
続けます。

実際に vCenter Server から誤った手順で削除した ESXi のパケットを
キャプチャしたところ、UDP 902 を使用して 10 秒毎に
vCenter Server に対し、ハートビートを送信し続けていることが確認
できます。

[root@esxi01:~] tcpdump-uw -n udp dst portrange 902
tcpdump-uw: verbose output suppressed, use -v or -vv for full protocol decode
listening on vmk0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:02:31.733419 IP 192.168.0.29.23857 > 192.168.0.139.902: UDP, length 334
16:02:41.738681 IP 192.168.0.29.23066 > 192.168.0.139.902: UDP, length 334
16:02:51.743822 IP 192.168.0.29.19603 > 192.168.0.139.902: UDP, length 334
16:03:01.748501 IP 192.168.0.29.60647 > 192.168.0.139.902: UDP, length 334
16:03:11.753747 IP 192.168.0.29.32062 > 192.168.0.139.902: UDP, length 334
16:03:21.758933 IP 192.168.0.29.26261 > 192.168.0.139.902: UDP, length 334
16:03:31.764242 IP 192.168.0.29.39180 > 192.168.0.139.902: UDP, length 334
16:03:41.771271 IP 192.168.0.29.31517 > 192.168.0.139.902: UDP, length 334
16:03:51.775342 IP 192.168.0.29.38619 > 192.168.0.139.902: UDP, length 334

10 秒毎にハートビートを送信し続けることで、目に見えて負荷が上昇
したりといった障害はないとは考えますが、本来の動作とは異なるため
削除後もスタンドアロン ESXi として使い続けるような場合は正しい
手順で削除することを推奨します。

ESXi 上でどの情報が残り続けてしまうのか

ESXi は vpxa.cfg に vCenter Server の情報を保持しています。

ESXi 7.0 U3 未満を使用している場合は、/etc/vmware/vpxa/vpxa.cfg
にファイルが存在し、ESXi 7.0 U3 以上を使用している場合は
configuration store database 内に設定が存在しています。

vSphere ESXi 7.0 U3 VPXA configuration properties (87438)
https://kb.vmware.com/s/article/87438

ESXi 7.0 U3 未満の場合は以下のように記述されています。

</etc/vmware/vpxa/vpxa.cfg>

  <vpxa>
    <datastorePrincipal>root</datastorePrincipal>
    <hostIp>192.168.0.29</hostIp>
    <hostKey>52c50c54-67cd-e461-4f62-1b7e96bd5ac6</hostKey>
    <hostPort>443</hostPort>
    <licenseExpiryNotificationThreshold>15</licenseExpiryNotificationThreshold>
    <memoryCheckerTimeInSecs>30</memoryCheckerTimeInSecs>
    <serverIp>192.168.0.139</serverIp>
    <serverPort>902</serverPort>
  </vpxa>

ESXi 7.0 U3 以上の場合は以下のように記述されています。

<configuration store database>

[root@localhost:~] configstorecli config current get -c esx -g services -k vpxa_solution_user_config
{
   "dvs": {
      "port_sync_batch_limit": 100
   },
   "host_ip": "192.168.0.21",
   "host_key": "52ee2078-163b-83d6-c3d8-e27a3dc75569",
   "host_port": 443,
   "server_ip": "192.168.0.139",
   "server_port": 902
}
タイトルとURLをコピーしました