One of the biggest challenges that I have had using VMWare’s ESXi server in my home lab is efficiently backup up a VM Image. At times I want to take a snapshot of a machine to back it up or take it to another machine that I might be working with.
The most obvious way to move a machine is to use the the Datastore Browser through the web interface into the ESXi host. Select your files and then download them.
If you have ever tried this approach, you will know that this takes a VERY long time. Especially if you are using thin provision VMDKs, it will transfer all of the bytes, even if they are empty. It does not matter how fast your ESXi host is or how fast your network is, you will be waiting a long time to move the files. To move a 30 Gig image file it can easily take several hours.
There are 3rd party utilities that allow you to do this, but they are very expensive. But there is an easy way to do this very easily that performs much better: The VMware Open Virtualization Format Tool
This is a command line tool that allows you to copy the entire virtual machine to the machine that is running the OVF tool into an .ova file.
"C:\Program Files\VMware\VMware OVF Tool\ovftool" -dm=thin "vi://192.168.1.1/linuxmachine" linuxmachine.ova
In the above example, “linuxmachine” is the name of the machine running on your VMware ESXi host and 192.168.1.1 is the IP address of the VMware ESXi host.
The -dm=thin flag will create a thin provisioning ova. This means that the .ova file will only be as large as the data in the disk image and not the size of the actual partition itself.
I create a batch file that has multiple ovftool commands so that I can quickly backup all of my VMs by running a single batch file.
Leave a Reply