Features/Virt Storage Migration

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Page creation)
 
(Update 'last updated')
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- All fields on this form are required to be accepted by FESCo.
+
= Virt Storage Migration =
We also request that you maintain the same order of sections so that all of the feature pages are uniform.  -->
+
 
+
= Virt Storage Motion =
+
  
 
== Summary ==
 
== Summary ==
 
+
Migrate a running virtual machine from one host to another, including in use storage, with no downtime. No need for a shared storage location between the two.
Storage motion is a streaming feature that allows the guest to start execution while the parent image reside remotely (with or without shared storage).
+
  
 
== Owner ==
 
== Owner ==
 
* Name: [[User:crobinso| Cole Robinson]]
 
* Name: [[User:crobinso| Cole Robinson]]
 
* Email: crobinso@redhat.com
 
* Email: crobinso@redhat.com
* Name: [[User:mtosatti| Marcelo Tosatti]]
+
* Name: [[User:bonzini| Paolo Bonzini]]
* Email: mtosatti@redhat.com
+
* Email: pbonzini@redhat.com
  
 
== Current status ==
 
== Current status ==
* Targeted release: [[Releases/18 | Fedora 18]]
+
* Targeted release: [[Releases/19 | Fedora 19]]
* Last updated: June 6 2012
+
* Last updated: 2013-05-15
* Percentage of completion: 0%
+
* Percentage of completion: 100%
  
 
== Detailed Description ==
 
== Detailed Description ==
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
+
Live migration of a VM has been around for a while, but usage historically required that VM storage disk images were shared between the source and destination host, and mounted in the same location.
 +
 
 +
Since qemu 0.12 (December 2009), there has been a storage migration feature in qemu, but it was inflexible, and inefficient to the point that any workload in the guest would often prevent the guest from ever being full migrated. While supported in libvirt/virsh, it was still difficult to use, requiring stub disk images to be present on the destination host.
 +
 
 +
New developments in QEMU allow migrating a VM with no shared storage between the source and destination, and does it in a performant manner.
  
 
== Benefit to Fedora ==
 
== Benefit to Fedora ==
This feature is equivalent to VMWare's "storage vmotion" feature, so brings Fedora virt closer in functionality to the proprietary alternative. Plus, it's a cool feature.
+
This feature is equivalent to VMWare's "storage vmotion" feature, so brings Fedora virt closer in functionality to the proprietary alternative. Plus, it's a cool feature that makes migration much simpler to try out.
  
 
== Scope ==
 
== Scope ==
* Qemu supports block streaming (unknown)
+
* Qemu block streaming and internal nbd sharing (DONE, in 1.3)
* Libvirt supports block streaming (unknown)
+
* Libvirt/virsh support (DONE, in libvirt 1.0.3)
* Apps
+
* virt-manager support (optional, not done)
** ovirt support (unknown)
+
** virt-manager support (might be out of scope, sounds pretty enterprisey)
+
  
 
== How To Test ==
 
== How To Test ==
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.
+
XXX: I believe this replaces the old libvirt interface, so basically 'virsh migrate --copy-storage-all ...' Verify and fill in the details
 
+
Remember that you are writing this how to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.
+
 
+
A good "how to test" should answer these four questions:
+
 
+
0. What special hardware / data / etc. is needed (if any)?
+
1. How do I prepare my system to test this feature? What packages
+
need to be installed, config files edited, etc.?
+
2. What specific actions do I perform to check that the feature is
+
working like it's supposed to?
+
3. What are the expected results of those actions?
+
-->
+
TBD
+
  
 
== User Experience ==
 
== User Experience ==
Virt users who are already migrating guests will no longer require shared storage for one. Will also enable several other use cases, like transparently changing between disk image formats for a running guest.
+
Virt users who are already migrating guests will no longer require shared storage. Anyone interested in trying migration does not need to setup shared storage.
  
 
== Dependencies ==
 
== Dependencies ==
Line 55: Line 40:
  
 
== Contingency Plan ==
 
== Contingency Plan ==
Since this is brand new functionality, if it doesn't make it in time for F18, nothing has changed. We just drop this feature page.
+
Since this is brand new functionality, if it doesn't make it in time for F19, nothing has changed. We just drop this feature page.
  
 
== Documentation ==
 
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
 
 
* http://wiki.qemu.org/Features/LiveBlockMigration
 
* http://wiki.qemu.org/Features/LiveBlockMigration
 
* http://wiki.qemu.org/Features/LiveBlockMigration/ImageStreamingAPI
 
* http://wiki.qemu.org/Features/LiveBlockMigration/ImageStreamingAPI
 +
* [https://www.redhat.com/archives/libvir-list/2013-February/msg00277.html Libvirt V3 patch posting]
  
 
== Release Notes ==
 
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
+
KVM and Libvirt now support a performant way to live migrate virtual machines with no shared storage between the hosts. A running VM and it's disk images are relocated to a new machine with no downtime.
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
+
*
+
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
* See [[Talk:Features/Virt_Storage_Motion]]
+
None yet.
  
  
[[Category:FeaturePageIncomplete]]
+
[[Category:FeatureAcceptedF19]]
<!-- When your feature page is completed and ready for review -->
+
[[Category:Virtualization]]
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
+
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
+
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
+

Revision as of 14:06, 15 May 2013

Contents

Virt Storage Migration

Summary

Migrate a running virtual machine from one host to another, including in use storage, with no downtime. No need for a shared storage location between the two.

Owner

Current status

  • Targeted release: Fedora 19
  • Last updated: 2013-05-15
  • Percentage of completion: 100%

Detailed Description

Live migration of a VM has been around for a while, but usage historically required that VM storage disk images were shared between the source and destination host, and mounted in the same location.

Since qemu 0.12 (December 2009), there has been a storage migration feature in qemu, but it was inflexible, and inefficient to the point that any workload in the guest would often prevent the guest from ever being full migrated. While supported in libvirt/virsh, it was still difficult to use, requiring stub disk images to be present on the destination host.

New developments in QEMU allow migrating a VM with no shared storage between the source and destination, and does it in a performant manner.

Benefit to Fedora

This feature is equivalent to VMWare's "storage vmotion" feature, so brings Fedora virt closer in functionality to the proprietary alternative. Plus, it's a cool feature that makes migration much simpler to try out.

Scope

  • Qemu block streaming and internal nbd sharing (DONE, in 1.3)
  • Libvirt/virsh support (DONE, in libvirt 1.0.3)
  • virt-manager support (optional, not done)

How To Test

XXX: I believe this replaces the old libvirt interface, so basically 'virsh migrate --copy-storage-all ...' Verify and fill in the details

User Experience

Virt users who are already migrating guests will no longer require shared storage. Anyone interested in trying migration does not need to setup shared storage.

Dependencies

None.

Contingency Plan

Since this is brand new functionality, if it doesn't make it in time for F19, nothing has changed. We just drop this feature page.

Documentation

Release Notes

KVM and Libvirt now support a performant way to live migrate virtual machines with no shared storage between the hosts. A running VM and it's disk images are relocated to a new machine with no downtime.

Comments and Discussion

None yet.