On 07/29/2012 06:08 PM, Kashyap Chamarthy wrote: > On 07/16/2012 01:33 AM, Cole Robinson wrote: >> Forgive my ignorance, but I'm trying to fill in some details for a Fedora >> feature page: >> >> https://fedoraproject.org/w/index.php?title=Features/Virt_Live_Snapshots >> >> Yet things aren't working quite as expected in my tests. I'm trying to think >> of this from an end user use case perspective. For example >> >> - I want to test some changes to my vm, and either throw them away, or commit >> them to my base disk image. >> - I want to have a base disk image, but have multiple snapshots with various >> mutually exclusive VM changes in each, like one snapshot with libvirt 0.7.0 >> installed, another with 0.8.0 installed. I want to switch between them >> >> (maybe those assumptions are off base to begin with) >> >> So for a running guest, I do: >> >> virsh snapshot-create-as myvm snapshot1 "snapshot1 description" --disk-only >> virsh snapshot-create-as myvm snapshot2 "snapshot2 description" --disk-only > > > Another possible way is to specify the device name explicitly using --diskspec > > ===================================================================== > root@~$ virsh domblklist f17test --details > Type Device Target Source > ------------------------------------------------ > file disk vda /var/lib/libvirt/images/f17test.qcow2 > ===================================================================== > root@~$ virsh snapshot-create-as f17test cleanf17 "cleanf17-box" --diskspec > vda,file=/var/lib/libvirt/images/snap-f17test.qcow2 --disk-only > Domain snapshot cleanf17 created > root@~$ > ===================================================================== > >> >> I make some changes that I want to discard, so I try and switch back to the >> older vm and want to switch back to an older snapshot state, odo: >> >> virsh snapshot-revert myvm snapshot1 >> >> But I get: 'revert to external disk snapshot not supported yet'. Hmm, that >> kind of invalidates all my use cases then. Additionally I don't see any API >> option for merging snapshots, to fold my changes in snapshot2 into parent >> snapshot1 or similar. I tried using snapshot-delete, but that also fails with >> external disk snapshots: 'deletion of 1 external disk snapshots not supported yet' >> >> Additionally, there's the --atomic option to snapshot-create-as, but it fails >> for guests with more than 1 snapshotable disks: 'atomic live snapshot of >> multiple disks is unsupported'. But isn't that what some of the recent qemu >> additions explicitly supposed to support (that's the impression I got from jtc)? >> >> So am I missing anything? If not, are things just not fully wired up or are >> there missing chunks of functionality? And what's the use case for the current >> impl of disk snapshoting (while I've read around and found lot's of info about >> the implementation side of things, not too much about intended uses)? > >>From a previous discussion with Eric, with external snapshots the ‘original qcow2 file’ > will be in a ‘read-only’ saved state, and the new qcow2 file(which will be generated once > snapshot is created) will be the *delta* for the changes. So, all the changes will now be > written to this delta file. External Snapshots appear to be useful for performing > backups(though I'm yet to try those). Also, external snapshot creates a qcow2 file with > the original file as its backing image, and the backing file can be /read/ in parallel > with the running qemu. > > (side note: though, if we're not using --disk-only, then offline snapshots appear to be > faster.) > > I'm also currently trying out different possibilities of external snapshots and trying to > explore and understand proper use-cases. I'd be curious to hear more on this. I missed to read Eric's informative reply. Disregard me. > I'll will > post my notes and participate in the above test day. > > Here's a slightly old blog post I made w/ snapshots - > kashyapc.wordpress.com/2011/10/04/snapshotting-with-libvirt-for-qcow2-images/ > >> >> Thanks, >> Cole >> >> -- >> libvir-list mailing list >> libvir-list@xxxxxxxxxx >> https://www.redhat.com/mailman/listinfo/libvir-list >> > > -- /kashyap -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list