System Design - Architecture
The initialization stage starts things off by prepping the migration.
The bulk transfer stage pre-copies the disk image of the VM to the destination while the VM continues to run.
Xen transfer is then initiated, which performs incremental migration, again without stopping the VM.
While the transfers are occurring, all disk writes are intercepted as deltas that will be forwarded to the destination.
Deltas include the data written, the location written and the size of the data.
The deltas are recorded into a queue that will be transferred later.
If write activity is too high and too many deltas are being generated, write-throttling is engaged to slow down the VM.
In parallel with Xen transfer, the deltas are applied to the destination VM.
At some point, the source VM is paused, the destination is started and a temporary network redirect is created to handle the potential IP changes.