After a host reboot or planned maintenance, VMs in a vSAN cluster appear Inaccessible. Investigation reveals the following state mismatch on the affected host :
esxcli vsan cluster get shows:Maintenance Mode State: ONesxcli system maintenanceMode get shows:DisabledvCenter (All versions)
VMware vSAN 8.0
This issue occurs when a vSAN node has not completely exited the decommissioned state within the vSAN layer, even though the ESXi host layer has successfully exited maintenance mode.
The vSAN components associated with that node remain stale and do not participate in the cluster, leading to a loss of quorum for the affected objects.
To resolve this issue and restore object accessibility, you must synchronize the host and vSAN states by "toggling" maintenance mode. Please follow the steps below in order.
Before proceeding, verify that a decommission state mismatch is the actual cause of the inaccessible objects.
1. Connect to the affected host via SSH.
2. Review the following logs for the specific string "vSAN node decommission state mismatch":
/var/log/vmkernel.log
/var/log/vsansystem.log
Verify that the toggle command will successfully propagate to the vSAN layer.
1. Run the following command on the affected host:
esxcli vsan cluster get
2. Check the output to confirm that the Sub-cluster Master UUID is correctly identified. If it is, you can proceed with the maintenance mode toggle.
Toggle Maintenance Mode
You can perform the toggle using either the Command Line (CLI) or the vSphere/Host Client. You only need to use one of these methods.
Option A: Using the Command Line (CLI)
1. Log in to the affected host via SSH.
2. Force the host into maintenance mode with no data migration:
esxcli system maintenanceMode set -e true -m noAction
3. Immediately exit maintenance mode:
esxcli system maintenanceMode set -e false
Option B: Using the Host Client / vSphere Client
1. Right-click the affected host and navigate to Maintenance Mode > Enter Maintenance Mode.
2. When prompted for vSAN data migration options, select No Data Migration (or No Action).
3. Wait for the task to complete successfully.
4. Right-click the host again and select Maintenance Mode > Exit Maintenance Mode.
Synchronization Verification
Confirm that the synchronization was successful and that data is accessible.
1. Verify Maintenance Mode State: Run the following command on the host and ensure the Maintenance Mode State is now showing as OFF:
esxcli vsan cluster get
2. Check Object Health: Navigate to vSAN Skyline Health > Data Health.
3. Objects should transition from Inaccessible to Resyncing, and finally to Healthy.
4. Confirm that the vSAN datastore can be successfully browsed and that all affected Virtual Machines are now accessible and functioning normally.
Note: When the host exits maintenance mode and objects transition to "Resyncing," you may observe a transient increase in I/O latency. This is expected behavior.
Sample output from the affected host
[root@hostname04:~] esxcli vsan cluster get
Cluster Information
Enabled: true
Current Local Time: 2026-05-15T14:44:42Z
Local Node UUID: <host-UUID>
Local Node Type: NORMAL
Local Node State: BACKUP
Local Node Health State: HEALTHY
Sub-Cluster Master UUID: <host-UUID>
Sub-Cluster Backup UUID: <host-UUID>
Sub-Cluster UUID: <host-UUID>
Sub-Cluster Membership Entry Revision: 1
Sub-Cluster Member Count: 4
Sub-Cluster Member UUIDs: <host-UUID>, <host-UUID>, <host-UUID>, <host-UUID>
Sub-Cluster Member HostNames: hostname4.com, hostname3.com, hostname1.com, hostname2.com
Sub-Cluster Membership UUID: <host-UUID>
Unicast Mode Enabled: true
Maintenance Mode State: ON
Config Generation: d2dc584f-380f-4b77-80ae-############ 6 2026-05-15T03:50:57.888
Mode: REGULAR
vSAN ESA Enabled: false
[root@hostname04:~]