VM Live migrationLive migration refers to the process of moving a running virtual machine or application between different physical machines without disconnecting the client or application. Memory, storage, and network connectivity of the virtual machine are transferred from the original guest machine to the destination.6.3.1 Types of VM migrationAs mentioned, virtualization is the main element in today’s cloud computing. It separates the physical hardware from the guest operating system (OS). This separation allows the guest operating system to migrate from one physical server to another. There are two types of VM migrations based on when the migration takes place. They are :Non-live migration : Here all applications running on the VM will be stopped during the VM migrationLive migration : Here all applications continue running without any interruption when VM migration takes placeMoreover, there are several objectives of VM migration, such as power management, load balancing, and system maintenance.Power management will power off VMs in underutilized servers in order to ensure power saving. Moreover, load balancing will help to avoid overlap by migrating VMs from a host with a heavy load to another host with a lesser load. Additionally, system maintenance will improve the reliability and availability of the system. There are two types of migrations based on how the migrations take place.They are:VM migration : A VM migration exists when migration occurs within a cluster from one virtual machine to another in case of overloading.Cluster migration : A cluster migration exists when migration occurs between clusters in case of overloading.In the Figure 6.7 the VM coloured red indicates the overloaded VM while the VM that is coloured as white indicates an inactive VM.Thus to balance the load of the overloaded VM, migration of resources is done from the overloaded VM to the inactive VM. In case of a overloaded cluster as a whole, then a cluster migration occurs from one cluster to another.6.3.2 Approaches to VM live migrationThere are two popular approaches used for memory migration in VM live migration: (1) Post-Copy approach (2) Pre-Copy approachPost-Copy ApproachThe Post-Copy approach has two phases: a pull-phase and a stop-and-copy phase. In this approach, the migrating VM will be postponed at the source. Then it will start copying processor states to the receiver host. Finally, it restarts the VM and starts transferring memory pages through the network from the source host. The main advantage of this approach is that all memory pages are transferred merely one at a time. On the other hand, its downtime is higher compared to the Pre-Copy approach. Post-Copy ApproachThe Pre-Copy approach also has two phases:a push phase and a stop-and-copy phase. In this approach, all memory pages are transferred from the source host to the target host all at once without suspending the VM. 6.3.3 Measuring performance of live migrationDuring the process of migration there are various issues that are to be considered. The following metrics are used to measure the performance of live migration:1. Preparation -In this,resources are reserved on the destination which performs various operations.2. Downtime-Time during which the VM on the source host is suspended.3. Resume-It does the instantiation of VM on the destination but with the same state as suspended source.4. Total time-The total time taken in completion of all these phases is called total migration time.