Status: Invalid virtual machine configuration
Unable to create snapshot, Unable create non-quiesced snapshot after a retry attempt: Invalid virtual machine configuration
A general system error occurred: Fault cause: vim.fault.GenericVmConfigFault
YYYY-MM-DDThh:mm:ss vmx| I125: SNAPSHOT: SnapshotConfigInfoReadEx: Unable to load dict from '/vmfs/volumes/vsan/##
/Test-VM.vmx'.
YYYY-MM-DDThh:mm:ss
vmx| I125: SNAPSHOT: SnapshotConfigInfoReadEx failed for file '/vmfs/volumes/vsan/##/Test-VM.vmx': Dictionary problem (6)
YYYY-MM-DDThh:mm:ss
[vmfsCorrelator] ###: [vob.vmfs.heartbeat.timedout]
YYYY-MM-DDThh:mm:ss
[vmfsCorrelator] ###: [esx.problem.vmfs.heartbeat.timedout]
YYYY-MM-DDThh:mm:ss
[vmfsCorrelator] ###: [vob.vmfs.heartbeat.recovered] Reclaimed heartbeat for volume ###
The snapshot dictionary file "<vm_name>.vmsd"
gets updated for every snapshot and the data is stored in two places.
The in-memory file gets over-written when the host or VM restarts.
The dictionary file data could get corrupt on either of these places , with possible cause being any storage connectivity triggering this corruption as the in-memory and on-disk file metadata goes out-of-sync, thus causing the snapshot failures.
To address the issue, follow the below steps to recreate the virtual machine snapshot dictionary file:
cd /vmfs/volumes/<DATASTORE>/<vm_name>/
ls -l
<vm_name>.vmsd
file to <vm_name>.vmsd.old
mv VM_Name.vmsd VM_Name.vmsd.old
In case the issue still persists, reload the virtual machine config (vmx)
file .For further information, please refer to below articles:
Reloading a vmx file without removing the virtual machine from inventory
An error occurred while taking a snapshot: Dictionary problem.