Cloning and converting virtual machine disks with vmkfstools
search cancel

Cloning and converting virtual machine disks with vmkfstools

book

Article ID: 343140

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

This article provides information and instructions on the use of the vmkfstools command to convert virtual machine disks from one type to another.

Environment

VMware vSphere ESXi (All Versions)

Resolution

The vmkfstools command offers the ability to clone virtual machine content and also convert from one virtual machine disk (.vmdk) format into another.

Note: The host operating system chosen to perform the conversion may not necessarily support running virtual machines via the output format defined. vmkfstools maintains the possibility of exporting virtual disks for use in other VMware products which support alternative disk formats.

To convert a virtual machine disk from one type to another:

  1. Shut down the virtual machine. Virtual machine disk files are locked while in use by a running virtual machine.
  2. Log in to the ESXi shell. For more information, please check Using ESXi Shell in ESXi.
  3. Run the following vmkfstools command to clone the disk from one format to another:
    vmkfstools -i input output -d format -a adaptertype

    For example, to clone examplevm.vmdk from Datastore to Datastore 2 and thin-provision the destination copy:

    vmkfstools -i "/vmfs/volumes/Datastore/examplevm/examplevm.vmdk" "/vmfs/volumes/Datastore 2/newexamplevm/newexamplevm.vmdk" -d thin

    Note: For VMs that reside on vSAN, make sure to add -W vsan.

    Note: Ensure the new destination directory is created prior to cloning the disks.

    Note: Make sure to use the full paths; otherwise, you will see a similar error:

    OBJLIB-VSANOBJ: VsanGetContainerIDByPath: Prefix /vmfs/volumes not found in path

    Warning: If virtual machine snapshots or delta disks are present, ensure that the source chosen is the current snapshot delta disk. Failing to do so results in an outdated destination copy. However, when using the command, the corresponding descriptor file for the latest delta disk needs to be used when cloning the disk.

    For example, to clone and/or convert a virtual machine disk with a snapshot (known as a delta disk), examplevm-000001.vmdk, as above, from Datastore to Datastore 2, with a thin-provisioned destination copy, run this command:

    vmkfstools -i "/vmfs/volumes/Datastore/examplevm/examplevm-000001.vmdk" "/vmfs/volumes/Datastore 2/newexamplevm/newexamplevm.vmdk" -d thin

    Notice that examplevm-000001.vmdk is selected as the input file instead of examplevm.vmdk. Snapshot delta disks include a sequence number to indicate their creation order. Selecting the latest delta disk ensures that all current data is cloned to the destination.   

Note:

  • Running the vmkfstools -i command creates a cloned drive with an LSI controller, even if the source disk is using VMware Paravirtual. This results in the virtual machine failing to boot. To resolve this issue, change the controller type to match the source.
  • This process only clones the disk that was specified in the command. To register the newly cloned disk / VM into inventory, a .vmx file is required. Manually copy the .vmx file from the source VM and adjust the .vmx file to provide the path to the newly cloned disks or create a new VM from the UI and select the cloned disks in the Hard Disk section. 

Additional Information