ESXi 8.0 upgrade from VMFS3 to VMFS5 fails
search cancel

ESXi 8.0 upgrade from VMFS3 to VMFS5 fails

book

Article ID: 414851

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

ESXi 8.0 upgrade from VMFS3 to VMFS5 fails with error: Filesystem upgrade failed during mount: Error -1 encountered prior to upgrade: failed to create .sdd.sf directory : No space left on device

Environment

Esxi 7.x and above.

Cause

Multi-extent VMFS3 volumes have multiple physical LUNs stitched together.

When upgrading to VMFS5, the filesystem metadata must expand—but that operation only works reliably if all metadata resides within the first extent. On multi-extent datastores, the metadata may be distributed or too small to accommodate the upgrade, triggering the “No space left on device” or similar failures.


 1. Multi-extent datastore (multiple LUNs):
 
  VMFS3 supports up to 32 extents, but VMFS5 upgrades are limited and sometimes fail when metadata must be expanded across extents.
 
  VMware’s upgrade logic can only safely handle the first extent during upgrade. When secondary extents are present, the metadata region can’t be expanded properly.
 
 

2. Metadata region out of space:
 
  VMFS3 volumes created on older ESXi versions had very small metadata areas.
 
  VMFS5 requires additional metadata space for features like 1MB block size, large file support (>2TB), and ATS (Atomic Test & Set).
 
  Even if there’s user data space available, the metadata partition might be full, causing No space left on device.

 
 3. In-place upgrade limitations:
 
 The in-place upgrade process from VMFS3 to VMFS5 only works reliably for:
 
 Single-extent datastores
 
 Datastores with sufficient free metadata space
 
 Datastores created originally on ESXi 5.x or later

Resolution

Create a new VMFS5 datastore 
 
 1. Create a new VMFS5 (or VMFS6 if all hosts are ESXi 6.5+) datastore on your target storage.
 
 2. Migrate VMs from the old VMFS3 datastore using:
 
    Storage vMotion, or Cold migration (power off VMs, copy via datastore browser)
 
 3. Remove or repurpose the old datastore afterward.