Cross vCenter Workload Migration Utility Documentation
By William Lam posted Dec 09, 2023 11:14 PM
By William Lam posted Dec 09, 2023 11:14 PM
0 Recommend
- Summary
- Contributors
- Changelog
- Requirements
- Instructions
Summary
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.
Note: 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.
Contributors
- Denis Chorbadjiyski
- Plamen Semerdzhiev
- William Lam
- Rajmani Patel
- Vikas sh*tole
- Vladimir Velikov
Changelog
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
Requirements
- 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
Instructions
- 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.1.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.1.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.1.jar
- Access the UI of the utility 2.1. To use the plugin go to https://VCENTER-IP-OR-FQDN/ui in the browser and login. 2.2. To use the standalone UI (deprecated) connect to the app from the browser by using IP address/hostname of the machine (127.0.0.1 for localhost) where the utility is running as 'host'
http://<host>:<port>
- Register vCenter servers for migration operations 3.1. from 'vCenter Servers List' view of the plugin 3.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. - Initiate VM migration operations 4.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. 4.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
APIs
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 http://127.0.0.1:8080/api/sites -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 http://127.0.0.1:8080/api/tasks -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"}}'
Notes
- Application logs are stored in xvm.log file.
- Site connection details (excluding password) are stored in xvm.dat file on disk.
- SSL keys for vCenter servers are stored in xvm.ks keystore file.
- The app stores migration task state in memory, implying a restart of the app loses information about migration tasks.
- Please refer to this KB article for supported configurations for Cross vCenter vMotion https://kb.vmware.com/kb/2106952
- A detailed blog by William Lam on the utility https://www.virtuallyghetto.com/2017/12/bulk-vm-migration-using-new-cross-vcenter-vmotion-utility-fling.html
- A demo of an earlier version of the utility can be found at https://www.youtube.com/watch?v=r_kG8ny-qss
0 comments
1 view