In certain situations a vSAN host may need to be removed from inventory temporarily, for troubleshooting purposes. This document outlines certain tasks that will need to be implemented to achieve this in a safe manner.
VMware vSAN 8.0.x
VMware vSAN 7.0.x
VMware vSAN 6.x
Before removing the host from inventory, the integrity of the objects needs to be checked. This can be achieved via Skyline Health on vCenter or with use of a command line on the ESXi host.
With Skyline Health, user should navigate to: Cluster Level > Monitor > Skyline Health > vSAN Object Health
to verify health of vSAN objects.
Alternatively, user may choose to use CLI (by logging via SSH to any host) and run the command: esxcli vsan debug object health summary get
If the objects are confirmed healthy, then next step would be to place the host into Maintenance Mode using data evacuation option of their choice. Note: different data evacuation options are outlined on Place a Member of vSAN Cluster in Maintenance Mode.
Before removing the host from inventory, IgnoreClusterMemberListUpdate
parameter needs to be set to 1
on all hosts (including the host that is being removed from inventory temporarily). This is done to prevent any potential changes to unicastagent list on the ESXi hosts by vCenter. Command to be executed on all nodes:
esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates
After the parameter is set, it is safe to disconnect the host from the cluster and then remove the host from the inventory.
Once all planned configuration changes (or troubleshooting steps that require host out of inventory temporarily) have been completed, a host in question needs to reconnected back into vCenter's inventory. Once competed, previous change of IgnoreClusterMemberListUpdates
should be reverted back to 0:
esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates
When this parameter is set on all nodes, host can be taken out of maintenance mode. This operation may introduce some resync operation in the environment: