Error 'spec. deviceChange.device An error occurred while taking a snapshot: One of the parameters supplied is invalid.' while taking snapshot on VM.
search cancel

Error 'spec. deviceChange.device An error occurred while taking a snapshot: One of the parameters supplied is invalid.' while taking snapshot on VM.

book

Article ID: 442641

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

  • When taking a snapshot on a virtual machine on vSAN ESA environment, it may fail with error as below.

"A specified parameter was not correct: spec. deviceChange.device An error occurred while taking a snapshot: One of the parameters supplied is invalid. An error occurred while saving the snapshot: One of the parameters supplied is invalid."

  • The VM configuration review would not show the VM or disk running on snapshot.

  • File browser for the VM may show snapshot files. However, VM is not attached with the snapshot files.

Environment

  • VMware vSAN 8.x
  • VMware vSAN 9.x
  • On vSAN ESA , VM is attached with a restored VMDKs.

Cause

  • The issue would occur when the VM is attached with existing or restored VMDKs by ignoring the snapshot file.

Example: 

If VM name Test has been attached with VMDKs from Test_Restored VM where the VM Test_Restored has snapshot files for VMDKs. When base disk attached to the VM ignoring the snapshot disk would result in retaining the snapshot attributes of the base disk and would not allow the snapshot operation.

  • vmware.log for the virtual machine show the events as below during the snapshot task.

2026-05-19T21:01:07.333Z In(05) vcpu-0 - DISKLIB-VMFS  : "vsan://52edbeb95813c360-####/d0299869-d6f6-7399-2d03-####" : open successful (13) size = 85899345920, hd = 0. Type 3
2026-05-19T21:01:07.340Z Er(02) vcpu-0 - DISKLIB-LINK  : DiskLinkNativeSnap: Attempting to take a snapshot of 'vsan://52edbeb95813c360-#####/d0299869-d6f6-7399-2d03-#####' which is already a snapshot of 'vsan://52edbeb95813c360-ea4a0cb827dd54ee/d0299869-d6f6-7399-2d03-####'.
2026-05-19T21:01:07.340Z Er(02) vcpu-0 - DISKLIB-LIB_CREATE   :DiskLibPrepareOrCreateChildNativeSnap: Failed to do native snapshot: One of the parameters supplied is invalid
2026-05-19T21:01:07.340Z Er(02) vcpu-0 - DISKLIB-LIB_CREATE   : DiskLib_CreateChild: Failed to create child disk: One of the parameters supplied is invalid
2026-05-19T21:01:07.340Z Er(02) vcpu-0 - SNAPSHOT: SnapshotBranchDisk: Failed to branch disk natively: '/vmfs/volumes/vsan:52edbeb95813c360-ea4a0cb827dd54ee/b4299869-0ca5-48f8-8dd8-####/restored.vmdk' -> '/vmfs/volumes/vsan:52edbeb95813c360-####/b4299869-0ca5-48f8-8dd8-####/restored-000002.vmdk' : One of the parameters supplied is invalid (1)

  • Upon checking for the object info by running getAttributes or vSAN object list, you may see the object path is referring to the snapshot disk. However, the VMDK attached to the VM would not show the snapshot.

Example: Object UUID: d0299869-d6f6-7399-2d03-#### Path: /vmfs/volumes/vsan:52edbeb95813c360-####/b4299869-0ca5-48f8-8dd8-####/restored-000001.vmdk (Exists)

Example validation of the base disk and snapshot disk relationship: 

    • For the specific VMDK disk there is snapshot and base disk as below.

restored-000001.vmdk
restored.vmdk

    • When you read snapshot disk 'restored-000001.vmdk', it says the parent disk is 'restored.vmdk'.  This relation between the disks never broke.

└─$ cat restored-000001.vmdk

# Disk DescriptorFile
version=4
encoding="UTF-8"
CID=91a92457
parentCID=ffffffff
createType="vmfs"

# Extent description
RW 167772160 VMFS "vsan://52edbeb95813c360-####/d0299869-d6f6-7399-2d03-####"

# The Disk Data Base
#DDB

ddb.adapterType = "lsilogic"
ddb.geometry.cylinders = "10443"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.longContentID = "6da70b93178c92f7d753add291a92457"
ddb.nativeDeltaBytesIsEstimate = "yes"
ddb.nativeParentCID = "91a92457"
ddb.nativeParentHint = "restored.vmdk"-----------------------------------------------------------------> The VMDK attached to the VM would be referred in the ignored snapshot.
ddb.thinProvisioned = "1"
ddb.virtualHWVersion = "14"


└─$ cat dest-dbp11_restored_3.vmdk

# Disk DescriptorFile
version=4
encoding="UTF-8"
CID=ede26ed8
parentCID=ffffffff
createType="vmfs"

# Extent description
RW 167772160 VMFS "vsan://52edbeb95813c360-####/d0299869-d6f6-7399-2d03-####"

# Change Tracking File
changeTrackPath="restored-ctk.vmdk"

# The Disk Data Base
#DDB

ddb.adapterType = "lsilogic"
ddb.geometry.cylinders = "10443"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.longContentID = "ddbcf5e64a61db2ce9288a57ede26ed8"
ddb.nativeDeltaBytes = "46905244928"
ddb.nativeDeltaBytesIsEstimate = "yes"
ddb.objectParentUri = "vsan://52edbeb95813c360-####/d0299869-d6f6-7399-2d03-####"
ddb.thinProvisioned = "1"
ddb.virtualHWVersion = "14"

    • In vSAN ESA, since it uses native snapshot mechanism and does not create another object for snapshot, both snapshot disk and base disk would show same UUID.

Resolution

  1. When the base disk was attached to the VM by ignoring the snapshot disk, the snapshot attributes are genuine and cannot be modified.

  2. As vSAN ESA would still be referring to the snapshot disk as path, it is not recommended to make any changes to the individual disks.

  3. As a workaround, perform a offline clone of the VM or VMDK which would allow the snapshot operations to work on new/cloned VM.

Additional Information

Error: "A specified parameter was not correct: spec.deviceChange.device" due to stale entry in ddb.objectParentUri