I do not think that enough people are aware of this Fling, and that is really unfortunate.
First I want to take a step back and provide some history as to how this came about. As most of you know, there is no easy way to live migrate a VM between different vCenter Servers that are not in Enhanced linked mode, which connects multiple vCenter Server systems together by using one or more Platform Services Controllers.
Some methods I have used in the past:
- Host migration to target vCenter Server:
- Remove the managed ESXi host from the source vCenter and add it to the target vCenter and then perform a regular vMotion. This method, however, comes with a lot of caveats for instance in order to remove the ESXi hosts all the ports groups needs to be on Standard Switches so this requires a migration from VDS to VSS. Additional information available here
- Enhanced linked mode
- Setup enhanced linked mode between vCenter servers and perform a vMotion or Storage vMotion between the vCenter Servers, but this solution is not ideal when the source vCenter Server will get decommissioned. There is a way using supported workflows to remove ELM but is not supported by VMware so there is that! Good article by William about splitting vCenter Servers in ELM here.
- Hybrid Cloud Extention (HCX)
- HCX is another option that I am very excited about trying in near future which provides vMotion, Bulk Migration, WAN optimization and automated VPN with Strong Encryption. I have tested the tool for migration between on-prem and VMC on AWS and all I can say it is a game changer. Some more on that later in the year…
So getting back to why we are here! With not having the ability to vMotion between 2 non-ELM vCenter Servers, William Lam took it upon himself to write a script using the vSphere API with PowerCLI that finally provides the sorely missed capability to vMotion a VM between 2 vCenter Servers that are in different domains! So naturally, the evolution of making the script easier to consume is to provide a nice looking GUI with a fling!
Here you can find the Fling written by Vishal Gupta and William Lam. Props to both for all the time and effort to provide such a value-added feature.
Version 2.0 has been released which brings some great new enhancements, especially the top 3 listed below.
- 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
To run the fling you need => vCenter Server 6.0 and => Java Runtime 1.8.
To start the fling open a command prompt and type the following:
- # java -jar xvm-2.0.jar
- this will start the fling on port 8080 on the localhost.
- If you want to change the port because it is in use, add the following flag:
- Connect to your localhost with port specified
- Select the Register tab and register to your source and target vCenters servers.
- Select the Migration tab, provide information start the migration.
- Watch the magic happen…