1. Setup
Start guest on destination, connect, enable dirty page logging and more
2. Transfer Memory
Guest continues to run
Bandwidth limitation (controlled by the user)
First transfer the whole memory
Iteratively transfer all dirty pages (pages that were written to by the guest).
3. Stop the guest
And sync VM image(s) (guest’s hard drives).
4. Transfer State
As fast as possible (no bandwidth limitation)
All VM devices’ state and dirty pages yet to be transferred
5. Continue the guest
On destination upon success
Broadcast “I’m over here” Ethernet packet to announce new location of NIC(s).
On source upon failure (with one exception).