The VMware OVF Tool is a free command-line utility that helps users to import and export OVF packages to and from a wide variety of VMware products. We can make use the OVF Tool to copy VMs directly between standalone ESXi hosts without the need for shared storage and the vCenter server.
Latest posts by Mohammed Raffic (see all)

Since VMware vSphere 5.1, VMware has added a lot of features to simplify VM migrations. We can now migrate virtual machines between ESXi hosts, even if they don't have the shared datastores in between. Cross vCenter vMotion, released with vSphere 6.0, makes the VM migrations even simpler when migrating the workloads across vCenter servers.

This migration is possible when you have a vCenter server and both source and target ESXi hosts are managed by the vCenter Server. Similarly, copying a VM or a VM template between ESXi hosts is very simple when you have the vCenter server—you can simply clone the VM to the target ESXi host or even deploy a VM from VM templates wherever you want in the vCenter server. But what if you don't have a vCenter server but only standalone ESXi hosts? How can you move or copy VMs between ESXi hosts when you have standalone ESXi hosts that are not managed by vCenter servers?

In the case of standalone ESXi hosts, you could copy VMs between ESXi hosts by leveraging some of the tools, like VMware Converter, or you could even export the virtual machine to the jump host Windows system and then import the same into the destination host, but all this would take a while and you are dependent on a middle-man system for the VMware Converter installation or during import and export.

Another option is the OVF Tool. Open Virtualization Format (OVF) is an industry standard for describing metadata about virtual machine images in XML format. The VMware OVF Tool is available for many platforms, including Windows, Linux, and MAC OSX. The OVF Tool provides a lot of features, such as importing and exporting OVFs, converting between any VMware-supported format (VMX, OVF, OVA, vCloud Director, etc.), signing OVF packages, and validating OVF package signatures—and many more. In this article, we will look at how to copy VMware VMs directly between ESXi hosts using the OVF Tool.

Install the OVF Tool in Windows

As already discussed, the OVF Tool can be installed on various operating system platforms, such as Windows, Linux, and MAC OSX. For this demo, I will explain how to install the OVF Tool on a Windows platform. Installation is as simple as installing an app on a mobile phone; like all .msi package installations in Windows, just follow the installation wizard by clicking on Next.

Download the OVF Tool for Windows based on your operating system platform—whether it is a 32-bit or 64-bit platform—from the VMware website. In my case, the Windows operating system is 64-bit, and I have downloaded the OVF Tool .msi file.

Double-click on the downloaded .msi file to start the installation. In the Welcome to VMware OVF Tool setup wizard, click Next to start the installation and accept the license agreement.

Install VMware OVF Tool on Windows

Install VMware OVF Tool on Windows

The default installation location will be "c:\program files\VMWare\VMware OVF Tool". Click Next to continue the installation with the default location. If you want to specify a different installation location than the default, click on Change to modify it. Click Next to start the installation.

Copy VMs between ESXi hosts with the OVF Tool

To use the OVF Tool in Windows, open the Windows command line. The default installation location will be "c:\program files\VMWare\VMware OVF Tool". Change the directory in the Windows command line to the OVF Tool installation directory.

Switch to the OVF Tool installation directory

Switch to the OVF Tool installation directory

In this example, I have two ESXi hosts, called "md-esxi-i02" and "md-esxi-i07". Of the two hosts, "md-esxi-02" is the standalone host and the other, "md-esxi-i07", is part of one of my vSAN clusters. In this case, I want to copy the VM from my standalone host to the host managed by the vCenter Server. This will be the same as copying the VMs between two standalone ESXi hosts. Before copying the VMs between the ESXi hosts, let's query the list of virtual machines running on the source ESXi host, using the OVF Tool.

ovftool.exe vi://<source-host-name>
Query VMs in the ESXi hosts using the OVF Tool

Query VMs in the ESXi hosts using the OVF Tool

We have two virtual machines, "md-lab-vc01" and "Demo-VM", running on the source ESXi host "md-esxi-i02".

Of the two virtual machines in the source ESXi host, I want to copy the VM "Demo-VM" between the source host "md-esxi-i02" and the target ESXi host "md-esxi-i07" using the OVF Tool.

ovftool.exe -ds=<dest-datastorename> vi://<source-esxi-host-name/vm-name> vi://<destination-esxi-hostname>

It will prompt for the username and password to connect to the source and target ESXi hosts. Specify the username "root", and the password is your ESXi host root password. Once the password has been entered, it will start copying the VM from the source ESXi host to the target ESXi host. Once the copying is completed, the OVF Tool will report the status as "Transfer Completed".

Copy VMs between ESXi hosts using the OVF Tool

Copy VMs between ESXi hosts using the OVF Tool

Copying of the VM "Demo-VM" from the source to the target ESXi host is complete. Let's query the target host to validate that the VM "Demo-VM" is listed under the available virtual machines in the target ESXi host "md-esxi-i07". I can see the VM "Demo-VM" listed in the virtual machine list in the target ESXi host.

Subscribe to 4sysops newsletter!

Query target ESXi host for VMs

Query target ESXi host for VMs

That's it. We have copied the virtual machine directly between the ESXi hosts using the OVF Tool. The Windows system that is running the OVF Tool will act only as a proxy between the source and destination ESXi hosts. Since no data will be stored in the Windows system with the OVF Tool installed, we don't need to worry about the storage capacity on the Windows system. We only need to have enough storage capacity on the destination ESXi datastore. The OVF Tool simplifies copying of a VM between ESXi hosts without the need for any additional software.

avataravatar
2 Comments
  1. Alexander 2 years ago

    My code:
    ovftool.exe -ds=RAID 6 vi://10.36.17.201/S80802004TMSSQL vi://10.36.17.181

    comes back with “an unexpected error occured”
    vi://10.36.17.181

  2. Nick El-Nemr 2 years ago

    hello, checking if you know a way how to write a script in ovftool that copy multiple vms to another host rather then 1 by 1. or to copy multiple vms from a host to a local drive…any help is appreciated! thank you

Leave a reply

Your email address will not be published. Required fields are marked *

*

© 4sysops 2006 - 2023

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account