VMDK split files merging: The hard way

The previous versions of vSphere supported deploying virtual machines from an OVF template with split VMDK files. However, starting 6.5 VMware removed support for chunked VMDK files. As a result, vSphere 6.5 may not deploy old templates. VMware fixed this issue by releasing a tool that combines VMDK files automatically. Multiple blogs covered this tool like in this post. In this blog post, the same procedure will be covered without VMware tool on Windows and Linux.

Get your Hand Dirty on Linux

1- Combine the chunks

Linux

The process on Linux is simple and it consists of two basic steps. First, combine all VMDK chunks into a single file. To do so, keep all chunks in a single folder and run the following command.

cat vmName-Disk1.vmdk.* > vmName-Disk1.vmdk

Windows

In windows, the step is slightly different. Instead of using cat command like in Linux, copy command with /b argument is used to combine files. Moreover, in the command add all chunks. For example, if disk 1 consists of three chunks. the command will be as following:

copy /b vmName-Disk1.vmdk.000000 + vmName-Disk1.vmdk.000001 + vmName-Disk1.vmdk.000002 > vmName-Disk1.vmdk

2- Edit the OVF file

In your favorite editor (Notepad, Nano, Vim…) open the OVF file. In OVF file you will see something like:

<File ovf:chunkSize="7516192768" ovf:href="vmName-disk1.vmdk" ovf:id="file1" ovf:size=... />

Remove the following part:

ovf:chunkSize="7516192768" 

Then you will get something like:

<File ovf:href="vmName-disk1.vmdk" ovf:id="file1" ovf:size=... />

Finally save the file and you are done. Moreover, remember net to select the metadata checksum file (.mf) is exists as it is no more needed in Vsphere 6.5 and beyond.