Complex migrations (UI)

Migrations can be performed from multiple sources to multiple targets simultaneously, within the same batch or across multiple concurrent batches.

In this example, instances from two VMware sources (esxi01 and vcenter01) will be migrated to two Incus targets (incus01 and incus02).

Register sources & targets

Refer to Register a source (ESXi) and Register a target (Incus) for a step by step guide.

The process of registering sources and targets is the same for vCenter and ESXi.

Overriding instances

Inspect the instance records that were imported from the sources:

Show instances

In the above instance list, it appears /vc01/vm/Incus migrations/Ubuntu 2404 did not get an assigned OS Version. We can inspect the warnings to learn more:

Show warnings

This suggests the VMware guest agent tools were not installed on the VM. We can re-install them on Ubuntu 2404 and resync the source, or we can manually override the VM’s properties:

Override instance

Overriding networks

Inspect the network records that were imported from the sources:

Show networks

In the above example, the Target Network for the ESXi network /ha-datacenter/network/VMWARE has been determined to be VMWARE however if no such network exists on the Incus target, we will need to override it:

Override networks

Override networks

Inspect the networks again to see the change:

Show networks

Creating complex batches

Refer to Batches for more details about batch configuration.

We can create some batches with more complex parameters. Here we will create two batches:

  • batch01:

    • Match all instances under folder Incus migrations on vcenter01

    • Migrate instances to target incus01 unless their OS version is CentOS, in which case migrate them to incus02

    • Top-up background imports every 1 hour

    • Add a constraint where systems without background import require windows at least 1 hour long

Show

  • batch02:

    • Match all instances with background import enabled

    • If they are from source esxi01, then migrate them one at a time

    • Migrate instances to target incus01 and place all volumes greater than 100G on storage pool pool02

    • Top-up background imports every 30 minutes, with 1 final sync 10 minutes before the final migration begins

Show

The resulting batches share some of the same instances. Whichever batch is started first will claim them.

 instances  instances

Migrating the batches

Starting batch01 first will make it claim Ubuntu 2404 and Cent OS 9 UEFI:

 queued

While we did override the OS version for Ubuntu 2404, without a guest agent it has no IP address reported. So we can edit the batch to allow unknown IPv4 addresses Additionally, from earlier, we know Debian Bookworm did not have background import enabled, so we can override that too:

Show

Then the queue will automatically update:

 queued

Debian Bookworm does not support background import, so it immediately waits for the migration window.

Now we can start batch02:

 queued

Finally, the migration has completed! The source VMs will have powered off, and the target instances should now be running:

batches are finished