Live migration
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
No issues specified. Please specify issues, or remove this template. |
Live migration allows a server administrator to move a running virtual machine or application between different physical machines without disconnecting the client or application. For a successful live migration, the memory, storage, and network connectivity of the virtual machine needs to be migrated to the destination.
VM memory migration
Pre-copy memory migration
Warm-up phase
In memory migration of a VM, usually the Virtual Machine Manager copies all the memory pages from source to destination while the VM is still running on the source. If some memory pages change during memory copy process—dirty pages, they will be re-copied until the rate of re-copied pages is not less than page dirtying rate.[1]
Stop-and-copy phase
After warm-up phase, the VM will be stopped in source and the remaining dirty pages will be copied to the destination and VM will be resumed in destination.[2] The time between stopping VM on source and resuming it on destination is called "down-time". Down-time of a VM during a live migration could be a few millisecond to seconds according to the size of memory and applications running on the VM. There are some techniques to reduce live migration down-time such as using probability density function of memory change.[3]
Post-copy memory migration
Post-copy[4] VM migration is initiated by suspending the VM at the source. With the VM suspended, a minimal execution state of the VM (CPU, registers, and non-pageable memory) is transferred to the target. The VM is then resumed at the target, even though the entire memory state of the VM has not yet been transferred, and still resides at the source. At the target, when the VM tries to access pages that have not yet been transferred, it generates page-faults, which are trapped at the target and redirected towards the source over the network. Such faults are referred to as network faults. Source host responds to the network-fault by sending the the faulted page. Since each page fault of the running VM is redirected towards the source, it can degrade the applications running inside the VM. However, when pure demand-paging accompanied with the techniques such as pre-paging can reduce this impact by a great extent.
Seamless live migration
When down-time of a VM during a live migration is zero or a few millisecond which is not noticeable by end user, it is called a seamless live migration. Otherwise, the end user will feel a small or relatively long glitch in the service.
VM managers with live migration support
- Virtuozzo
- Xen
- OpenVZ
- Workload Partitions
- Integrity Virtual Machines
- KVM
- Oracle VM
- POWER Hypervisor (PHYP)
- VMware ESX
- IBM VPAR with special migrator
- Hyper-V Server 2008 R2
- VirtualBox
Systems providing software live migration
See also
External links
- HOWTO Article about Xen migration
- OpenVZ checkpointing and live migration
- Live migration in KVM
- VMware VMotion
- Microsoft: Step by Step Guide for live migration
- Microsoft Whitepaper: Live Migration Overview & Architecture
References
- ^ Hacking, Stuart, et al., Improving the live migration process of large enterprise applications, VTDC'09.
- ^ Clark, Christopher, et al., Live migration of virtual machines, NSDI'05.
- ^ Farrahi Moghaddam, Fereydoun, et al., Decreasing live virtual machine migration down-time using a memory page selection based on memory change PDF, ICNSC'10.
- ^ Hines, et al, Post-copy live migration of virtual machines