Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

Cloning and converting virtual machine disks with vmkfstools (1028042)

Purpose

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

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 of 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 into the VMware vSphere Management Assistant (vMA). Alternatively, open a command-line interface after deploying the VMware vSphere CLI (vCLI). If terminal access is required:

  3. Run the following vmkfstools command to clone the disk from one format to another:

From the ESX/ESXi terminal:

vmkfstools -i input output -d format -a adaptertype

From vMA/vCLI:               

vmkfstools --server <vCenter or ESX IP/Hostname> -i input output -d format -a adaptertype

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

From the ESX/ESXi terminal:

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

From vMA/vCLI:               

vmkfstools --server 10.21.49.14 -i '[Datastore] examplevm/examplevm.vmdk' '[Datastore 2] newexamplevm/newexamplevm.vmdk' -d thin -a buslogic

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 virtual machine disk with snapshot (otherwise known as a delta disk), examplevm-000001.vmdk and like above, from Datastore to Datastore 2 , with a thin-provisioned destination copy, run this command:

From the ESX/ESXi terminal:

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

From vMA/vCLI:               
 
vmkfstools --server 10.21.49.14 -i '[Datastore] examplevm/examplevm-000001.vmdk' '[Datastore 2] newexamplevm/newexamplevm.vmdk' -d thin -a buslogic

Note the selection of examplevm-000001.vmdk , as opposed to examplevm.vmdk for the input file. Snapshot delta disk files are appended a sequencing number, differentiating one snapshot delta disk iteration or level from another. Selecting the most recent delta disk ensures that the most recently stored 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 the same as the source.

For steps to identify a virtual machine's current snapshot, see Confirming a virtual machine's snapshot delta disk layout (1027887).

Additional Information

Commonly-used disk format options for vmkfstools:
  • zeroedthick

    This is the default option for virtual machine disks created and stored on a VMFS datastore.

  • thin

    This is the default option for virtual machine disks stored on an NFS datastore. It allocates and commits space on demand, growing as more virtual disk space is used.

    Note: The configured size of thin-provisioned disks is correctly displayed using the ls command. The disk space consumed by disk files on a datastore is determined using the du command.

  • eagerzeroedthick

    This is a specified format required for cross-host virtual machine clustering and VMware Fault Tolerance (FT) virtual machines. All blocks for the virtual machine disk are allocated and committed with written zeroes at the time of creation. Existing disks can be inflated to this format without destroying existing data. For more information, see Enabling clustering features for an existing virtual disk by converting in place (1035823) and Enabling clustering features for an existing virtual disk by converting while copying (1003491).

  • rdmp

    This is the default Raw Device Mapping format with Physical compatibility mode. Most SCSI commands are passed-through to the guest operating system to/from a mapped physical raw LUN. This is required for cross-host virtual machine clustering; both virtual machines share the same mapping file. This format does not support virtual machine snapshots. For more information, see Converting a virtual disk into a Raw Device Mapping (3443266).

  • rdm

    This is an additional available Raw Device Mapping format with virtual compatibility mode set. A subset of SCSI commands are passed-through to the guest operating system to/from a mapped physical raw LUN. An added benefit of this format is the support of virtual machine snapshots. For more information, see Converting a virtual disk into a Raw Device Mapping (3443266).

  • 2gbsparse

    This format is compatible with Hosted (desktop) products such as VMware Fusion, Player, Server, Workstation, etc. Virtual machine disks are spanned across several 2GB extents to eliminate potential cross-platform file system compatibility issues. For example, FAT32 supports a maximum file size of 4GB. This format is not supported for running virtual machines in VMware ESX/ESXi 4.x and ESXi 5.x.

    Note: For SDK purposes, this property is known as sparse2GB in ESXi 5.0 and later. For more information, see Scope of the sparse2GB property in the vSphere API (2044714) and the VirtualDiskType section of the vSphere Web Services SDK Documentation.
Additional information, types, and parameters are available in the vmkfstools manual pages and product documentation.
  • Review the manual pages on VMware ESX 3.x and 4.x by running: man vmkfstools
  • Review command information on ESXi 3.x and 4.x hosts or vMA and vCLI by running: vmkfstools --help
  • For much more information, review Appendix C: Using vmkfstools from the ESX Configuration Guide in the product documentation pages for your respective version of VMware ESX/ESXi.

See Also:

See Also

Update History

11/21/2013 - Added ESXi 5.5 to Products

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 79 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 79 Ratings
Actions
KB: