There are many options when it comes to moving or copying Virtual Machine(s) across two ESXi hosts that are fully licensed and can be managed by a vCenter Server, but what about standalone ESXi hosts that only use the Free ESXi Hypervisor license?
Luckily, we have a couple of native solutions from VMware that not only work, but they are completely free to use, which some folks may not even realize!
The first solution is the versatile and popular vCenter Converter utility, which was recently re-released with version v6.3.0 being the latest release. In addition to to using it for Physical-to-Virtual (P2V) and Virtual-to-Virtual (V2V) conversions, you can also use it to transfer offline VMs across ESXi hosts without shared network or storage. For moving a handful of VMs, vCenter Converter is a great solution that provides a graphical interface and can work with hosts licensed with the Free ESXi Hypervisor license. Unlike a typical export or manually copying VM files that must go to an intermediate client, the data transfer is done efficiently between the ESXi hosts and no data is sent to the client running vCenter Converter. The only potential downside is that vCenter Converter does require a Windows system to initiate the conversion, so if you do not have one handy, that maybe the only requirement.
The second solution is also a very versatile tool but may be lesser known on its ability to also transfer VMs between ESXi hosts, which is the OVFTool utility. I actually wrote a blog post about this very topic back in 2012, but the testing that I had done was between two ESXi hosts that was not using Free ESXi Hypervisor license. I was actually not sure if OVFTool could be use for this use case and after a quick test, I can confirm that OVFTool can indeed work between two hosts using the Free ESXi Hypervisor license. While the consumption interface for OVFTool is only command-line, it does support multiple OS platforms (Windows, Linux and macOS) and can easily be scripted for automation purposes. One thing to be aware of is that while no data will be transferred to the client running OVFTool itself, it does function as a proxy between your source and destination ESXi hosts. The client running OVFTool IS in the data path during the transfer but its only for the data to stream from the source->client->destination. Nothing is stored on the client system and you do not need to have the storage capacity of the size of the VM which is a nifty little feature that many people may not be aware of with OVFTool. The syntax is pretty simple to use, with the source URI specifying the ESXi host and the desired VM to transfer and then destination URI of ESXi host as shown in the example below.
ovftool --network='VM Network' --datastore=datastore2 --diskMode=thin 'vi://root:[email protected]/Ubuntu' 'vi://root:[email protected]/'
As mentioned earlier, there are many options to moving and copying VMs across ESXi hosts including some popular 3rd party solutions but I wanted to highlight some potentially lesser known solutions from VMware that also work with Free ESXi Hypervisor license, which is a topic that continues to come up from time to time.
Note: It was asked if VMware Fusion/Workstation could be used to transfer VMs between two Free ESXi hosts and the answer is no. You can only transfer VM to/from Fusion/Workstation but not between two connected ESXi hosts within Fusion/Workstation.
Bob Morrison says
Great ideas. Another way to do it is to setup a simple NFS server or iSCSI VM on one or more of the hosts and share the local storage on each host.
To move a VM from one host to another, just shut the guest OS on the VM down, register it on the new host and bring it up. When you do this, you’ll be prompted by new ESX host to specify if you moved or copied that VM.
Just be sure to save or move all your VM’s on the NFS datastore so all the hosts can see them.
Greg Messemer says
Nice work as always!
FAE USER says
If I am using single ESXI host without VCSA, can I clone VM using this method (same host copy)?
William Lam says
Give it a try and see 🙂
FAE USER says
Tried was okay. But what is the different between clone using VCSA and the vm converter tool?
William Lam says
No real difference in terms of clone ... but with vCenter Server (assuming you've got the right connectivity and licensing in place), you can perform a live vMotion of the workload. With Converter, you're going to end up with a powered off VM at the destination
Kurt says
Will-i-be - you're awesome... for the case of 2x vCSA's that are not licensed to support the cross-vCSA method, is there a simple method to add or change the license to the eval license so we can simply use the cross-vCSA method?
William Lam says
If you've never used the eval license, then it is simply going to Administration->Licensing and just switching it to eval (by default). If you have used it before, then you obviously won't have any more time left since original deployment
Dan says
Unless I am doing something wrong, I see traffic being sent through the vcenter converter host, so it is therefore all also acting as a proxy as well
Ken Quick says
The traffic through the converter host is just control/update data, not actual VM data (i.e. low volume traffic), but yes it does have to remain online.