Consolidating snapshots on a VM fails with "A specified parameter was not correct: spec.deviceChange.device An error occurred while consolidating disks: One of the parameters supplied is invalid."
search cancel

Consolidating snapshots on a VM fails with "A specified parameter was not correct: spec.deviceChange.device An error occurred while consolidating disks: One of the parameters supplied is invalid."

book

Article ID: 385161

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

  • When attempting to consolidate a snapshot chain for a virtual machine it fails with the following error message:

"A specified parameter was not correct: spec.deviceChange.device An error occurred while consolidating disks: One of the parameters supplied is invalid."

  • The vmware.log for the virtual machine shows the following error message:

[YYYY-MM-DDTHH:MM:SS] In(05) vcpu-0 - DISKLIB-LIB_CHAINMODIFY   : DiskLib_Attach: digest disks absent on one of the chain.
[YYYY-MM-DDTHH:MM:SS] In(05) vcpu-0 - DISK: Failed to open disk for consolidate '/vmfs/volumes/DATASTORE_NAME/VM_NAME/VM_NAME-000002.vmdk' : One of the parameters supplied is invalid (1)
[YYYY-MM-DDTHH:MM:SS] In(05) vcpu-0 - ConsolidateEnd: Snapshot consolidate complete: One of the parameters supplied is invalid (5).

Environment

VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x

Cause

This issue occurs due to snapshots for the virtual machine containing a mix of digest and non-digest files.

The consolidation of the snapshot fails because the digest disk of one or more snapshot levels does not exist. When a snapshot is deleted, or for example base-000001.vmdk needs to be consolidated into base.vmdk; the process cannot complete as the digest counterpart for base-digest.vmdk does not exist.

Resolution

To resolve this issue perform one of the options below:

  • Clone the Virtual Machine to a new VM which will consolidate all snapshots.

OR

  • Remove the digest file references from the VMDK descriptor files which have digest files associated to them.
  1. Ensure a proper backup is taken prior to modifying the VM
  2. Remove the following two lines from the VMDK descriptor file(s)

    Example:
    ddb.digestFilename = "VM_NAME-000005-digest.vmdk"
    ddb.digestType = "file"

  3. Ensure the scsix:x.Digest entry value in the vmx file is set to "FALSE" or does not exist
  4. Perform snapshot consolidation on the virtual machine

Additional Information