A Virtual Machine in a vSphere 8.x residing in vVol datastore appears to have snapshots in the datastore browser, but no snapshots are visible in the vCenter Snapshot Manager.
The virtual machine is actively running on a disk with a snapshot suffix (e.g., VMNAME-000001.vmdk).
The original base disk (e.g., VMNAME.vmdk) exists on the datastore but is not actively used by the VM.
Inspection of the affected VM's VMNAME.vmsd descriptor file confirms the active disk pointer references the snapshot suffix instead of the base disk: snapshot0.disk0.fileName = "VMNAME-000001.vmdk".
Reviewing VMNAME-000001.vmdk confirms the absence of the ddb.ObjectParentUri parameter, which remains present on the stale VMNAME.vmdk file.
Attempting to create and remove snapshots for the concerned VM from the vCenter Server UI or via 3rd party snapshot-based backups completes successfully, despite the stale VMNAME.vmdk file persisting in the datastore.
vSphere 8.x
This issue occurs during the post-consolidation workflow when vCenter Server issues a request to the vVol array to delete a snapshot, but the storage array experiences an error and fails to execute the deletion.
Normally, when a virtual machine resides on a vVol datastore and a snapshot is created, the snapshot descriptor (e.g., VMNAME-000001.vmdk) points to the base vVol object, and the base descriptor (VMNAME.vmdk) points to the snapshot vVol object. Upon successful consolidation, VMNAME.vmdk is deleted, and VMNAME-000001.vmdk is renamed back to VMNAME.vmdk.
Because the array error prevents the deletion process from completing, this renaming sequence never occurs. Consequently, the .vmdk file is left behind as an untracked, stale snapshot object that unnecessarily consumes orphaned capacity on the storage array.
Follow the below steps to remove the stale VMDK objects and correct the VMDK name for the current base disk:
Caution: It is recommended to have the VM in powered on state while performing below steps to ensure the correct active disk is locked and prevent accidental deletion of the same
Browse the datastore where the virtual machine resides and locate the abandoned file utilizing the base disk name (the file NOT listed as the active disk in the VM settings).
Verify there are no active snapshots detected on the Snapshot Manager tab in vCenter for the affected virtual machine.
Verify that the VM is actively running on the VMNAME-000001.vmdk disk and does not contain any ddb.objectParentUri parameter pointing to a parent disk.
Manually delete the stale, untracked .vmdk object directly from the vSphere UI datastore browser to reclaim storage capacity.
(Optional) Perform a Storage vMotion of the affected virtual machine disks to an alternate vVol datastore to safely rename the base disk and remove the -000001 suffix.