Troubleshooting Stalled vSAN Object Resynchronization During Mixed-Version Upgrades - vSAN
search cancel

Troubleshooting Stalled vSAN Object Resynchronization During Mixed-Version Upgrades - vSAN

book

Article ID: 453949

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

This article addresses symptoms where vSAN object resynchronization becomes stalled or hung for an extended period during a cluster upgrade. This issue is typically observed in mixed-version vSAN clusters (e.g., during the transition from ESXi 7.0.3 to ESXi 8.0.x).

Symptoms include:

  • esxcli vsan debug resync summary get reports a high number of objects remaining to resync.
  • The "ETA" for resynchronization is stuck on "Calculating" or is not progressing over several days.
  • Object health summaries indicate objects are stuck in a "reduced-availability-with-active-rebuild" state.
  • The cluster shows no major hardware failures, but the vSAN Skyline Health score may be impacted.

Environment

vSAN 7.x 

vSAN 8.x

Cause

The stalled resynchronization is caused by an API version conflict between legacy hosts (e.g., ESXi 7.0.3) and upgraded hosts (e.g., ESXi 8.0.x). During the mixed-version state, discrepancies in connectivity checks prevent legacy hosts from processing active rebuilds correctly.

As a result, object ownership for these stalled rebuilds becomes "pinned" to the legacy hosts. Because these older hosts cannot finalize the rebuild due to the version mismatch, the objects remain in a stalled state. The resynchronization process will not resume until the object ownership is manually relinquished from the legacy hosts.

Resolution

  1. Verify stuck resync objects using esxcli vsan debug resync summary get.
  2. Identify ownership of stalled objects using localcli vsan debug object list --health="reduced-availability-with-active-rebuild" | grep -iE "Owner".
  3. Abdicate ownership on the legacy hosts using vsish -e set /vmkModules/vsan/dom/ownerAbdicate <Object_UUID>.
  4. Confirm process completion using esxcli vsan debug resync summary get.