A lot of companies run multiple vCenter servers in their data centers for many reasons. Some of them implement vCenter Enhanced Linked mode to consolidate their management panes while others prefer to stay away from it due to the complexity it brings to the environment.
Either way, different vCenters usually mean different environment, but it is almost certain that you will always get the odd request to move workloads across them. Now, it is pretty easy to do if you are using Enhanced Linked mode, however, it quickly becomes annoying if the vCenters are completely separated and in different SSO domains. The options to do it include the vCenter Converter tool, exporting the VMs on your workstation and deploying it to the target, host to host SCP copy if you like command line, you name it… All these options work but they are time-consuming and they require the VM(s) to be powered off for the duration of the migration.
There is another way to go on about handling such migration which is usually a little more obscure; Cross-vCenter vMotion in same/different SSO domains. This can be done natively via PowerCLI but it is a bit cumbersome to use. Thanks to the great William Lam and Vishal Gupta, you can use their Cross vCenter Workload Migration Utility Fling. A web interface running on Java that allows you to easily configure a Cross-vCenter migration job.
Cross vCenter Migration Requirements
This piece of software runs on Java so the OS limitations are Java’s.
- vCenter Server 6.0 and above
- Java JRE 1.8-10
Like any vMotion, you need to ensure that the selected port group on the target host will be configured in such a way that the VM doesn’t lose access to its gateway. Otherwise, it will require a reconfiguration of the guest’s IP configuration.
How to use Cross vCenter Migration Utility to migrate VMs from one vCenter to another
The use of this tool is composed of 4 easy steps:
Run the Java utility.
- First of all, download the utility and copy it to your workstation. You must have access to both source and destination vCenter on port 443
- Open a shell window and change directory to the folder of the utility
- Run the utility:
Java 8: java -jar xvm-2.0.jar
Java 9/10: java –add-modules java.se.ee -jar xvm-2.0.jar
The default port is 8080 which can be changed by providing this additional flag: -Dserver.port=xxxx.
If it is not in the PATH variable, you may need to specify the path to java.exe in your command.
The output in the command windows should look like so:
- Now open a web browser on the IP/FQDN of the machine running the utility on port 8080 (if you didn’t change the port) click on Migrate and then Register
http://localhost:8080 if you are running it locally.
Register the source and target vCenter servers.
Now you need to register the vCenter servers that will be involved in the migration(s).
- For each vCenter, fill in the fields then click Submit. You can choose to skip cert verification to avoid the “trust certificate” popup, if you don’t it’s chain is not in your trusted root certs
- Click on Migrate when the servers are registered to start configuring the migration
Configure the settings of the cross vCenter vMotion.
Here we configure the migration. Meaning we choose the direction, which VMs, port groups, datastores…
- Fill in the various settings according to your needs. You can choose to Clone or to Relocate. The VM will be deleted from the source site if you choose to relocate. you can specify multiple VMs at once which can be very handy
Note that some fields you can leave blank like the VM folder or the resource pool.
Run the migration.
- When you are sure of your settings, click Submit to start the migration
You will see that the source vCenter will initiate a send operation and the destination vCenter will initiate a receive operation.
The speed of the migration will depend on the size of the workloads to migrate and the bandwidth on the link. The operation should happen completely online, though a ping or two can drop like in any vMotion task.Like what you read? Rate us