fling logo of Cross vCenter Workload Migration Utility

Cross vCenter Workload Migration Utility

version 3.1 — January 22, 2020

Contributors 6

View All

Comments 689

  • profile picture of GeorgeP
  • profile picture of Andrej
  • profile picture of Vikas Shitole
  • profile picture of joe aiello
  • profile picture of Vikas Shitole
  • profile picture of GeorgeP
  • profile picture of GeorgeP
  • profile picture of GeorgeP
View All
This Fling has been productized and is now part of the vSphere 7.0 Update 1c release. For vSphere 6.x-to-6.x Migration, this Fling can still be used but for newer migrations, it is recommended that you use the official Advanced Cross vCenter vMotion feature included in vSphere 7.0 Update 1c. Please see History of Cross vCenter Workload Migration Utility and its productization in vSphere 7.0 Update 1c (p02).


This utility allows users to easily migrate virtual machines in bulk from a graphical user interface between vCenter servers using the Cross-vCenter vMotion feature.

Key Features

  • Completely UI-driven workflow for VM migration through a vSphere Client plugin and a standalone UI
  • Provides REST API for automating migration tasks
  • Works with vCenter Servers in the same or in different SSO domains
  • Supports migration to/from VMware Cloud on AWS
  • Enables batch migration of multiple VMs in parallel
  • Integrates with the host/cluster/resource pool menu of the vSphere Client inventory tree
  • Auto-populates inventory for ease of management
  • Monitor workload migration progress through vCenter Server tasks
  • Register sites to store vCenter Server information

Supported Operations

  • Perform live/cold migration as well as relocate/clone operations
  • Works for migration tasks within and across vCenter servers
  • Select host/cluster/folder/resource pool as placement target
  • Supports both storage vMotion and shared datastore migration
  • Flexible configuration for VMs with multiple network interfaces

Download Hash

  • xvm-3.1.jar - SHA256: 3a490880f10c62bd3a6d0a82e3ed9ade5c55df802e2b4cb301aa52157038abde
  • xvm-3.0.jar - SHA256: a33ce87e848bc2cc51bd63ac316a35615d46eb14872984d7e66d779c92c6e586
  • xvm-2.6.jar - SHA256: b6020bbcd046b5fcc2b7d9c3e62beafb4d9f906658b710630687b7b06d575474


  • vCenter Server 6.0 Update 3 or above (ESXi hosts must also be 6.0u3+
  • Java Runtime Environment 1.8-10
  • Web Browser
  • Please review https://kb.vmware.com/kb/2106952 for Cross vCenter vMotion requirements


  1. Run the utility jar file from a shell window. To use the plugin UI add the details of the vCenter Server 6.7U1+ which will be used to access the vSphere Client.
    Java 8:
    $ java -jar xvm-3.0.jar --vcenter.fqdn=VCENTER-IP-OR-FQDN --vcenter.user=ADMIN-USER --vcenter.pass=ADMIN-PASSWORD
    Java 9/10:
    java --add-modules java.se.ee -jar xvm-3.0.jar
    Default app port is 8443 which can be changed (e.g., 31000) by providing an additional flag:
    $ java -jar -Dserver.port=31000 xvm-3.0.jar
    Note: If you wish to just use the standalone client, you can simply omit the vCenter Server registration and then access the standalone UI using http://localhost: (default port 8443)
    $ java -jar xvm-3.0.jar
  2. Access the UI of the utility
    1. To use the plugin go to https://VCENTER-IP-OR-FQDN/ui in the browser and login.
    2. To use the standalone UI (deprecated) connect to the app from the browser by using IP address/hostname of the machine ( for localhost) where the utility is running as 'host'
  3. Register vCenter servers for migration operations
    1. from 'vCenter Servers List' view of the plugin
    2. from 'Register' tab of the standalone UI. Provide required parameters:
      Sitename: a name to identify the vCenter server
      vCenter Hostname/IP address, username, password
      Trust server: select to skip SSL certificate verification during VC connection
      After a restart of the utility, enter password and re-establish connection for previously registered sites.

  4. Initiate VM migration operations
    1. from the vSphere Client plugin For experience integrated with the inventory tree use the 'Import VMs' action on a selected target Host or Cluster. For the general source-to-target scenario use the 'Migrate VMs' wizard from 'vCenter Servers List' view.
    2. from the 'Migrate' tab of the standalone UI. Progress of migration tasks can be monitored on the home page. Provide required parameters (select values from menu):
      Operation type: supported operations are relocate/clone
      Source and target sites: select sites from already registered sites
      Source VMs: select datacenter and VMs from the source site for migration
      Placement target: select target compute resource (host or cluster)
      Target datastore: select target datastore for placement
      Network mappings: select networks to map from source to target sites
      (Optional) Target pool and folder: select target VM folder/resource pool


REST APIs for automating migration tasks can be accessed/executed from the API reference link under the help menu which links to the Swagger UI. Here are examples of site registration and performing migration task through the API:
Site registration
curl -X POST  -H "Content-type: application/json" -d '{"sitename":"my-vc", "hostname":"vcenter.server.com","username":"administrator@vsphere.local","password":"mysecret","insecure":false}'

Migration task
curl -X POST  -H "Content-type: application/json" -d '{"operationType":"relocate","sourceSite":"site1","targetSite":"site2","sourceDatacenter":"Datacenter","vmList":["vm1", "vm2", "vm3"],"targetDatacenter":"Datacenter","targetCluster":"Cluster","targetHost":null,"targetDatastore":"Datastore","networkMap":{"Private Network":"Internal Network", "VM Network":"VM Network"}}'



Version 3.1, January 22, 2020

  • Support for disk format conversion between Thick (Lazy Zeroed), Thick (Eager Zeroed) and Thin provisioning
  • Support for VM rename pattern for Clone operation
  • Fixed duplicated network selection when performing bulk migration
  • Fixed startup failure when a new home vCenter is specified as a command line argument

Version 3.0, Novemember 5, 2019

  • New plugin UI integrated with the vSphere HTML5 Client and supported with both vSphere and VMware Cloud environments
    • Full feature parity with the standalone XVM UI
    • Supports migrations triggered by the host, cluster and resource pool actions from the vSphere Client inventory tree
  • Standalone UI is now deprecated but is still supported
  • Ability to migrate networks with the same name
  • Sorting and filtering of the list of VMs to migrate (plugin only)
  • Error reporting improvements

Version 2.6, April 15, 2019

  • Added support for NSX-T Opaque Network (enables migration to/from VMC and on-premises vSphere with NSX-T)

Version 2.5, November 5, 2018

  • Remember registered site information (without password) 
  • Easily retry a previously attempted task in case of failures 
  • Search box for keyword filtering of migration task history 
  • Option to clear task history by removing completed tasks 
  • Added documentation and other links under the help menu 
  • Partial fix for an issue related to duplicate network names

Version 2.3, October 18, 2018

  • Added support for migration within a single vCenter server

Version 2.2, July 16, 2018

  • Support for vSphere Resource Pool and VM folder for placement under advanced options
  • Support for VMware Cloud on AWS (VMC) by specifying resource pool and folder options

Version 2.1, June 21, 2018

  • Increased simultaneous migration limit to 100 from 10
  • Added check to ignore unknown fields for inventory info
  • Fixed source/target site names in task status view
  • Updated status API to include version number

Version 2.0, May 4, 2018

  • Added support to select individual host as the placement target
  • Added support for migrating VMs with shared datastore
  • Added clone functionality in addition to relocate
  • Added resource summary details for placement targets
  • Added a prompt to verify site thumbprint during SSL verification
  • Added a link to refresh vm list in the inventory view
  • Updated REST APIs to add operation type parameter

Version 1.1.0, March 30, 2018

  • Added a detailed task info view for migration tasks
  • Fixed an issue with site name containing “DOT” characters
  • Display VM resource (CPU, Mem, Disk) info
  • Add a button to clear selected inventory data

Similar Flings

Apr 06, 2023
fling logo of VMware Event Broker Appliance

VMware Event Broker Appliance

version 0.7.5

The VMware Event Broker Appliance (VEBA) Fling enables customers to unlock the hidden potential of events in their SDDC to easily event-driven automation based on vCenter Server Events

Jan 04, 2022
fling logo of VM News Collector

VM News Collector

version 1.0

VM News Collector is a real-time news aggregator dedicated to the collection of all kinds of real-time news updates and applicable information & resolutions on all technology products belonging to the VMWARE Group, a technology giant, leading the technology revolution in cloud computing & virtualization fields.
No need to scroll through hundreds of documents looking for informations. VM News Collector App has it all for you.

Aug 14, 2023
fling logo of SDDC Import/Export for VMware Cloud on AWS

SDDC Import/Export for VMware Cloud on AWS

version 1.9.1

The SDDC Import/Export for VMware Cloud on AWS tool enables you to save and restore their VMware Cloud on AWS (VMC) Software-Defined Data Center (SDDC) configuration.