Creating and removing snapshots fails with the errors: "Invalid arguments" and "File exists"
search cancel

Creating and removing snapshots fails with the errors: "Invalid arguments" and "File exists"

book

Article ID: 308030

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Symptoms:
  • Creating snapshots fails
  • Removing snapshots fails
  • If you try to create or remove a snapshot for a virtual machine:
  • You see this error in VirtualCenter or the hostd.log file during the creation event

    File already exists

  • You see this error when running the command vmware-cmd

    VMControl error -3: Invalid arguments


Environment

VMware ESX 4.0.x
VMware ESXi 3.5.x Embedded
VMware ESXi 4.0.x Embedded
VMware ESXi 3.5.x Installable
VMware vCenter Server 4.0.x
VMware VirtualCenter 2.0.x
VMware ESX Server 3.5.x
VMware ESXi 4.0.x Installable
VMware VirtualCenter 2.5.x
VMware ESX Server 3.0.x

Resolution

This issue can occur if:
  • You are missing one of the descriptor files ( virtual-machine-00000x.vmdk), yet still have the delta file ( virtual-machine-00000x-delta.vmdk).

    When creating a snapshot, checks are made to see if snapshot virtual-machine-000001.vmdk already exists. If it does exist, a check is made to see if virtual-machine-000002.vmdk exists. The check continues until a free filename is found. If the descriptor is missing, it looks like a filename is free even when it is not. The descriptor can be created, but the creation of the delta fails as it already exists.

    To resolve this issue, perform one of these options:
    • Recreate the missing descriptor file. For more information, see Recreating a missing virtual disk (VMDK) header/descriptor file (1002511).
    • If the stale -delta file is no longer needed, remove it.

      Warning: To determine if you require the -delta file, check the virtual machine configuration. Highlight a disk to see the filenames/snapshots used by the virtual disk. If you need the delta file disk, do not delete it.

  • The <vmname>.vmsd file is corrupt and has stale entries for the earlier snapshots.

    To resolve this issue, rename <vmname>.vmsd to <vmname>-old.vmsd, then try to create or remove the snapshot.


Additional Information

The directory layout of a virtual machine identifies the base and snapshot descriptor files, along with their associated -flat or -delta binary files.
For example:
Base disk:
virtual-machine-flat.vmdk
virtual-machine.vmdk
Snapshot for the disk:
virtual-machine-000001-delta.vmdk
virtual-machine-000001.vmdk
Another snapshot for the disk:
virtual-machine-000002-delta.vmdk
virtual-machine-000002.vmdk