Problem
The live migration of a VM does not end.
Environment
The VM in question is a large VM with 16Gib of RAM and 8 vCPUs.
On the shell you can see the following values for the domain (VM) $DOM:
~# virsh domjobinfo $DOM
Job type: Unbounded
Time elapsed: 5499859 ms
Data processed: 530,696 GiB
Data remaining: 170,289 MiB
Data total: 12,009 GiB
Memory processed: 530,696 GiB
Memory remaining: 170,289 MiB
Memory total: 12,009 GiB
Dirty rate: 30740 pages/s
Iteration: 1695
Constant pages: 5252035
Normal pages: 138835932
Normal data: 529,617 GiB
Expected downtime: 1245 ms
Setup time: 167 ms
By starting the above command several times you will notice the Dirty rate
value does not go down.
Solution
Option 1
Transfer the VM in a powered-off status.
Option 2
Take some risk and start the VM on the target host before it has been fully transferred by the “postcopy” parameter.
Through UVMM:
SInce UCS-4.3-3 Erratum 382 Post-Copy migration can be triggered directly from UVMM.
Through command line:
# virsh migrate --domain $DOM --live --persistent --undefinesource --postcopy --postcopy-after-precopy --verbose qemu://$DEST/system
Note: If your network goes down while the “postcopy” migration is not finished your VM will be in an inconsistent state!
Option 3
Pause the VM to stop the VM getting CPU time for dirtying it’s RAM. This no longer is a real “live” migration as the VM will be paused and unresponsive during that time.