Memorise

Unable to create snapshot: VMname/VMname.vmx already exists

Error: Unable to create snapshot: Operation failed because file already exists or Cannot complete the operation because the file or folder [DatastoreName] VMname/VMname.vmx already exists
OR
when trying to VMotion you get Error: Migrate virtual machine MY-DC A general system error occurred: Source detected that destination failed to resume.

  • ESX/ESXi/vCenter Server 4.0 vSphere Client, shows an error similar to:

    Cannot complete the operation because the file or folder [DatastoreName] VMname/VMname.vmx already exists

  • ESX/ESXi/vCenter Server 4.1 vSphere Client, shows an error similar to:

    Cannot complete the operation because the file or folder <unspecified filename> already exists

Resolution

This issue occurs when VMware ESX or ESXi tried to create a new vDiskname-delta.vmdk redolog file, but the generated filename already exists. This can occur if the -delta.vmdk redolog file does not have an associated descriptor file.

Every virtual disk is composed of two files, a flat or delta file containing the actual data and a descriptor file containing geometry and topology information. For example, vDiskname.vmdk and vDiskname-flat.vmdk or vDiskname-delta.vmdk. For more information, see Understanding virtual machine snapshots in VMware ESX (1015180).

When creating a snapshot, the host uses the lowest file number that is not in use by the chain of snapshots and does not exist on the directory. The host calculates this by checking through the descriptor files.

When the host tries to create the snapshot, it first creates the new descriptor file, then creates the associated -delta.vmdk file. If the host detects that a -delta.vmdk file with that name already exists the snapshot operation fails and the virtual machine reverts to its previous state.

To resolve this issue, locate and manually rename or move the -delta.vmdk file that does not have an associated descriptor file.
To locate and manually rename or move the -delta.vmdk file that does not have an associated descriptor file:
  1. Connect to the ESX or ESXi host using the vSphere Client.
  2. Locate the affected virtual machine in the Inventory.
  3. Determine which datastore(s) the virtual machine is stored on.
  4. Open the Datastore Browser.
  5. Navigate to the working directory containing the virtual machine configuration files. For more information, see Creating snapshots in a different location than default virtual machine directory (1002929).
  6. Confirm that remnant redolog delta.vmdk files from previous snapshots exist. For example:
    • The virtual machine is currently pointed to vmname-000001.vmdk.
    • vmname-000001.vmdk’s parent is the virtual machine base disk, vmname.vmdk.
    • A file named vmname-000002-delta.vmdk exists in the virtual machine directory.
    • A file named vmname-000002-delta.vmdk~ exists in the virtual machine directory.
    • The .vmx file does not reference the file named vmname-000002-delta.vmdk.
    • The .vmsd file does not reference the file named vmname-000002-delta.vmdk.
  7. Rename or move the remnant file aside. For example, move the file vmname-000002-delta.vmdk into a backup directory.
  8. Retry the Create Snapshot operation, it should complete successfully.
Notes:
  • If the memory state is captured for a snapshot, a .vmsn file is created before the new .vmdk files. If the snapshot operation fails unexpectedly, the process halts and the .vmsn file is left behind. The .vmsn files can be safely removed if the virtual machine has no snapshots. If there are any snapshots, look in the .vmsd file to identify which .vmsn files are referenced by the virtual machine and remove the rest.
  • You may encounter such issue when you delete the descriptor file by browsing the datastore (assuming those are snapshot disk files and delta files are not visible) of a Virtual machine whose Snapshot/s  is/are not visible through Snapshot Manager.

Categorised as: Networking, Virtual Infrastructure, VMWare/ESX


Leave a Reply