Features/Virt Live Snapshots

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Page creation)
 
(Add 'how to test' section, brief release notes, and mark it 'ready')
Line 17: Line 17:
 
* Targeted release: [[Releases/18 | Fedora 18]]
 
* Targeted release: [[Releases/18 | Fedora 18]]
 
* Last updated: June 6 2012
 
* Last updated: June 6 2012
* Percentage of completion: 60%
+
* Percentage of completion: 90%
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 27: Line 27:
  
 
== Scope ==
 
== Scope ==
* Live snapshot support in qemu (DONE, still need to package 1.1 for fedora)
+
* Live snapshot support in qemu (DONE, 1.1 is in rawhide/f18)
 
* Live snapshot support in qemu-ga (DONE)
 
* Live snapshot support in qemu-ga (DONE)
 
* Live snapshot support in libvirt (DONE)
 
* Live snapshot support in libvirt (DONE)
* Apps
+
* Apps (all optional but would be nice if they are done)
 
** Snapshot support in ovirt? (unknown)
 
** Snapshot support in ovirt? (unknown)
 
** Snapshot support in virt-manager? (not done)
 
** Snapshot support in virt-manager? (not done)
Line 49: Line 49:
 
3. What are the expected results of those actions?
 
3. What are the expected results of those actions?
 
-->
 
-->
TBD
+
Any guest KVM guest can be snapshotted using external snapshot files. Simplest way:
 +
 
 +
  virsh snapshot-create-as myvm snapshot1 "snapshot1 description" --disk-only --atomic
 +
  virsh snapshot-create-as myvm snapshot2 "snapshot2 description" --disk-only --atomic
 +
 
 +
(however --atomic claims to only work for a guest with 1 disk. isn't that what jtc's patches were meant to fix? maybe just a libvirt validation issue)
 +
 
 +
You make some changes and want to switch back to an older snapshot state, you do:
 +
 
 +
  virsh snapshot-revert myvm snapshot1
 +
 
 +
(however this doesn't work right now?: revert to external disk snapshot not supported yet)
 +
 
 +
If you want to delete a snapshot, use:
 +
 
 +
  virsh snapshot-delete myvm snapshot2
 +
 
 +
(that also doesn't work: deletion of 1 external disk snapshots not supported yet)?
 +
 
 +
If the guest has qemu-ga installed and configured, passing --quiesce to snapshot-create-as will make sure the guest's filesystems are frozen for extra safety.
 +
 
 +
--atomic should ensure all disks are snapshotted atomically
 +
 
  
 
== User Experience ==
 
== User Experience ==
Line 62: Line 84:
 
== 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. -->
 
<!-- 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/Snapshots
 +
* http://wiki.qemu.org/Features/SnapshotsMultipleDevices
 +
* http://wiki.libvirt.org/page/Snapshots
  
 
== 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/ -->
 
<!-- 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/ -->
 
<!-- 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. -->
 
<!-- 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. -->
* http://wiki.qemu.org/Features/Snapshots
+
* KVM and libvirt now support storage snapshotting of live guests with no downtime.
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
Line 73: Line 97:
  
  
[[Category:FeaturePageIncomplete]]
+
[[Category:FeatureReadyForWrangler]]
 
<!-- When your feature page is completed and ready for review -->
 
<!-- When your feature page is completed and ready for review -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- 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-->
 
<!-- 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 -->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Revision as of 20:03, 15 July 2012


Contents

Virt Live Snapshots

Summary

Live snapshots allow a user to take a snapshot of a virtual machine while the guest is running, thus preserving the state and data of a VM at a specific point in time.

Owner

  • Name: Cole Robinson
  • Email: crobinso@redhat.com
  • Name: Jeff Cody
  • Email: jtc@redhat.com

Current status

  • Targeted release: Fedora 18
  • Last updated: June 6 2012
  • Percentage of completion: 90%

Detailed Description

XXX: Point out that while qemu has had 'snapshot' capabilities for a long time, it was not 'live' and required pausing guest operation for the duration of the snapshot process. This is more a true snapshot.

Benefit to Fedora

Scope

  • Live snapshot support in qemu (DONE, 1.1 is in rawhide/f18)
  • Live snapshot support in qemu-ga (DONE)
  • Live snapshot support in libvirt (DONE)
  • Apps (all optional but would be nice if they are done)
    • Snapshot support in ovirt? (unknown)
    • Snapshot support in virt-manager? (not done)
    • Snapshot support in boxes? (probably out of scope)

How To Test

Any guest KVM guest can be snapshotted using external snapshot files. Simplest way:

 virsh snapshot-create-as myvm snapshot1 "snapshot1 description" --disk-only --atomic
 virsh snapshot-create-as myvm snapshot2 "snapshot2 description" --disk-only --atomic

(however --atomic claims to only work for a guest with 1 disk. isn't that what jtc's patches were meant to fix? maybe just a libvirt validation issue)

You make some changes and want to switch back to an older snapshot state, you do:

 virsh snapshot-revert myvm snapshot1

(however this doesn't work right now?: revert to external disk snapshot not supported yet)

If you want to delete a snapshot, use:

 virsh snapshot-delete myvm snapshot2

(that also doesn't work: deletion of 1 external disk snapshots not supported yet)?

If the guest has qemu-ga installed and configured, passing --quiesce to snapshot-create-as will make sure the guest's filesystems are frozen for extra safety.

--atomic should ensure all disks are snapshotted atomically


User Experience

Virtualization users will have a more production ready mechanism for snapshotting than QEMU previously supported (no loss of uptime). Exposing snapshotting in tools like ovirt and/or virt-manager will essentially be a new and compelling feature for those users.

Dependencies

None

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.

Documentation

Release Notes

  • KVM and libvirt now support storage snapshotting of live guests with no downtime.

Comments and Discussion