Virtual Machine snapshot running on vVOL storage fails with a generic error message " One of the parameters supplied is invalid"
search cancel

Virtual Machine snapshot running on vVOL storage fails with a generic error message " One of the parameters supplied is invalid"

book

Article ID: 390108

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

The error message as mentioned in the title of this article is generic. As such, this article provides a specific case that can lead to snapshot creation failure due to invalid parameters. The resolution section of this article guides you through the steps to identify the invalid parameter and make necessary changes to resolve the issue.

When attempting to take a virtual machine snapshot, the following error message is displayed:

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

/vmfs/volume/vvolds/vmware.log

####-##-##T##:##:##.###Z In(05) vcpu-0 - DISKLIB-LINK  :DiskLinkNativeSnap: Attempting to take a snapshot of 'vvol://6bb7#######7b97/naa.600########4c73' which is already a snapshot of 'vvol://6bb7########7b97/naa.6006#########4058'  
####-##-##T##:##:##.###Z In(05) vcpu-0 - DISKLIB-LINK  : DiskLinkNativeSnap: Failed to create native snapshot of 'vmfs/volumes/vvol:6bb#####7b97/naa.600#######4e00/######01.vmdk' (1).  
####-##-##T##:##:##.###Z In(05) vcpu-0 - DISKLIB-LIB_CREATE   : DiskLibPrepareOrCreateChildNativeSnap: Failed to create native snapshot child disk '/vmfs/volumes/vvol:6bb#####7b97/naa.6006######4e00/xxxxxxx-000001.vmdk' : One of the parameters supplied is invalid (1).  
####-##-##T##:##:##.###Z Er(02) vcpu-0 - DISKLIB-LIB_CREATE   : DiskLib_CreateChild: failed to create child disk: One of the parameters supplied is invalid (1).  

Environment

VMware vSphere ESXi

Cause

The ddb.objectParentUri has reference to naa.id that differs with naa.id mentioned in the Extent description. This posed as a cause for snapshot creation failure.

Furthermore, the ddb.objectParentUri entry in the base disk VMDK is typically expected when there is an existing snapshot. If no snapshot exists, the entry should be removed.

Resolution

We proceeded to remove the ddb.objectParentUri entries from the VMDK files. The following steps were taken to resolve the issue:

  1. Power off the virtual machine.
  2. Create a backup directory (vmdkbak) to store copies of the VMDK files via CLI. 
    mkdir vmdkbak
  3. Copy the vmdk to the backup directory that reported in the logs using CLI.
    cp ######01.vmdk vmdkbak
  4. Edit the VMDK files to remove the ddb.objectParentUri entries.

Please read the example notes mentioned under the 'Additional Information' section of this article.

Additional Information

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

# Extent description
RW 209715200 VMFS "vvol://6bb7###b97/naa.600#####4c73"

# The Disk Data Base
#DDB

ddb.objectParentUri = "vvol://6bb7#######b97/naa.600#########4058"     >>>> need to be removed
ddb.thinProvisioned = "1"