itself.
In an ideal world, with each iteration of memory copy, the amount of data to copy will
shrink as the time to copy decreases. We reach a point where all of the memory has
been copied and we can perform a switch. However, this may not always be the case,
which is why there is a limit to the number of memory copy passes that are
performed; otherwise, the memory copy may just repeat forever.
Once the memory pages have all been copied or we have reached our maximum
number of copy passes (five with Windows Server 2012 R 2 and above), it comes time
to switch the virtual machine to execute on the target node. To make this switch, the
virtual machine is suspended on the source node, and any final memory pages that
could not be copied as part of the memory transfer phase are transferred along with
the state of the VM to the target; this state of the VM that is transferred includes
items such as device and processor state. The virtual machine is then resumed on the
target node and an unsolicited ARP reply is sent, notifying that the IP address used by
the VM has moved to a new location, which enables routing devices to update their
tables. It is at this moment that clients connect to the target node. Yes, there is a slight
suspend of the VM, which is required to copy the state information, but this suspend
is milliseconds and below the TCP connection time-out threshold, which is the goal
because clients will not disconnect during the Live Migration process and users are
unlikely to notice anything. Once the migration to the new target is complete, a
message is sent to the previous host, notifying it that it can clean up the VM
environment. This whole process is shown in Figure 7. 33 to help clarify the sequence
of steps.
Figure 7. 33 The complete Live Migration process
A Live Migration operation uses a large amount of network bandwidth, which in the
Windows Server 2008 R 2 time frame meant a dedicated 1 Gbps network was advised
for Live Migration. That then changed in the Windows Server 2012 time frame to
leverage converged networking and to use QoS to ensure that Live Migration received
sufficient bandwidth.