Upgrade vCenter and ESXi to 7.0U3d or higher
Workaround:
Workaround for scenario 1
- Clear the config.
- In /etc/vmware-vsan-health/config.conf file, remove line in section [PowerSystem]:
- e.g. state_for_domain-c47 = vcVMPoweredOff
- Restart vSAN health
- $ ssh root@<vc-ip>
- $ vmon-cli -r vsan-health
- The vSAN cluster will be back to normal.
Workaround for scenario 2
- Clear the config. (refer to scenario 1 step 1)
- Manually set the cluster power status to 'clusterPoweredOff'.
- Go to vsan mob link like https://vcenterIp/vsan/mob/?moid=vsan-cluster-power-system&method=updateClusterPowerStatus
- If the mob link is inaccessible, try to enable it first:
- login to vCenter appliance via SSH.
- <domain name>
- 'vsan.debug.mob --start 1'
- 'quit'
- Login with <domain name>
- Input your cluster id and power status.
- To get the cluster ID select the affected vSAN cluster. Copy the cluster domain id from the URL of the browser. It should be similar to 'domain-c<number>', not the entire string, as outlined in red in the example below:
- i.e. <cluster type="ComputeResource">domain-c8</cluster>, status should be 'clusterPoweredOff' and then press "Invoke Method"
- The vSAN cluster will be back to the status for powering on and "Restart cluster" will be available.
Workaround for scenario 3
- Manually set the cluster power status to 'clusterPoweredOff'. (refer to scenario 2 step 2)
- The vSAN cluster will be back to the status for powering on and "Restart cluster" will be available.
If the vCenter is unavailable, the configuration changes made by the Shutdown Cluster Wizard can be reverted by applying the following on all ESXi nodes in the cluster via SSH:
# esxcfg-advcfg -s 0 /VSAN/DOMPauseAllCCPs
# esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates