What is VM Migration in Cloud computing?


By: Sarthak Goyal and Vishal Gupta

What is Virtual Machine migration?
Virtual Machine migration is a technique of shifting a working virtual machine between different other physical machines while having a connection with the client and application. It means that we should not disconnect the client. Memory, storage, Network connectivity of a virtual machine is transferred from the original guest machine to destination.
           


Why is it needed?
a)     Load balancing:
      Move VMs to a less busy host.
      Make use of newly added capacity.
b)     Recovery from host failure










Types of VM Migration: 
a)    Cold Migration                                   b) Live Migration



a) Cold Migration:

Cold Migration is the migration of powered off virtual machines between hosts across clusters and data centers. With Cold migrations, the use of data stores is more flexible. Cold Migration for virtual machines may allow more effective transfer with less complexity.

                                          Figure 1. Cold Migration


A Cold Migration consists of the following operations:
1)     If we are shifting it to another datastore, then the configured files, like files which are suspended or the log files are shifted from the source host to the storage area of the destination host. The virtual machine disks can also be shifted.
2)     The virtual machine is attached to the new host.
3)    When the process of migration is done, the existing model of a virtual machine is removed from the source host. It will also be deleted from datastore if you will choose that option.
            
b) Live Migration:
           
Live migration is a technique of shifting a working virtual machine between different other physical machines without disconnecting the client or application. While doing so the Memory, storage and network connectivity of the virtual machine are transferred from the original guest machine to the destination.
                                        
   
                                             Figure 2. Live Migration

Live Migration is a technology used for load balancing and optimization of VM deployment in data centers. By using the process of live migration, a virtual machine can be transferred to another node without switching off the machine. Live migration is classified into two steps:
·       Control is switched to the destination
·       Data transferring to the disk


Two techniques for moving the VM’s memory state from source to destination are Pre-copy memory migration and post-copy migration.

Pre-copy memory migration:

Warm-up phase- In this phase all the pages are copied from source to destination host while virtual the machine is still running on the host. If some memory pages change during memory copy process (dirty pages), they will be re-copied again until the rate of recopied pages are not less than the dirty pages rate.

Stop and copy phase- At this phase, the virtual machine will be stopped from working on the source host so that the dirty pages which are left will be copied to the destination and then the virtual machine will be resumed on the destination.

Post-copy memory migration:

It defers from pre-copy memory migration in the sense that it transfers the VM’s memory contents until after its processor state has been sent to the target host while in traditional pre-copy approach firstly memory state is copied over multiple iterations and then processor state is transferred finally.

 
                                            Figure 3. Pre-Copy Algorithm

                        
    
                                 
  
                              Figure 4. Timeline for Post-copy and Pre-copy

       
        
Future scope:

VM Migration SLA based- There is a limitation of VM Migrating technology, when it is used for SLA (Service Level Agreement) the optimized data access might still, go beyond the time requirement.

High Dirty Rate Memory Page- The problem like more page fault and higher total migration time occurs when there is a high dirty rate of memory pages and in this case, even the memory threshold technique is applied. 


References:

      


Comments