vSAN: Resolving Inaccessible VMs caused by Maintenance Mode state mismatch
search cancel

vSAN: Resolving Inaccessible VMs caused by Maintenance Mode state mismatch

book

Article ID: 440571

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

After a host reboot or planned maintenance, VMs in a vSAN cluster appear Inaccessible. Investigation reveals the following state mismatch on the affected host :

  1. vSAN Cluster View: Running 
    esxcli vsan cluster get
     shows:
    • Maintenance Mode State: ON
  2. Host System View: Running 
    esxcli system maintenanceMode get
     shows:
    • Disabled
  3. vSAN Health: Skyline Health reports a significant drop in object health (e.g., 55%) with numerous objects in an Inaccessible state.

Environment

vCenter (All versions)

VMware vSAN 8.0

 

Cause

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.

Resolution

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.

Additional Information

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:~]