When attempting to create a snapshot of a virtual machine in vSphere, the operation fails and the task reports the following error message:
Status: An error occurred while saving the snapshot: One of the parameters supplied is invalid.This issue persists even after migrating the virtual machine between ESXi hosts, and no active snapshots are visible in the Snapshot Manager.
VMware vSphere / ESXi 7.x, 8.x
This issue is caused by stale snapshot metadata left behind in the virtual machine's configuration (.vmx) file following an interrupted backup or a failed snapshot consolidation task.
Specifically, the .vmx file retains empty redo log references for the attached disks, formatted as scsiX:Y.redo = "".
When there are no active snapshots, these lines should not exist. When a user or backup solution attempts to trigger a new snapshot, vSphere parses the .vmx file, encounters the blank "" value for the redo parameter, and fails the operation because it cannot process the invalid parameter.
To resolve this issue, the stale .redo entries must be removed from the virtual machine's configuration file.
root.cd /vmfs/volumes/<Datastore_Name>/<VM_Name>.vmx file before making any changes:cp <VM_Name>.vmx <VM_Name>.vmx.backupgrep "\.redo = \"\"" <VM_Name>.vmxvi to manually delete the affected lines, or run the following sed command to automatically remove any line containing .redo = "" from the file:sed -i '/\.redo = ""/d' <VM_Name>.vmxvim-cmd vmsvc/getallvms | grep -i <VM_Name>.vmx file:vim-cmd vmsvc/reload <VMID>Performing a Storage vMotion (migrating the virtual machine to a different datastore) can also resolve this issue. During a datastore migration, vSphere creates a fresh configuration file at the destination and naturally strips out invalid or orphaned parameters. However, for virtual machines with a high number of virtual disks, manually cleaning the .vmx file via SSH is a significantly faster resolution.