On Tue, May 11, 2010 at 2:46 PM, Daniel Berteaud <daniel@firewall-services.com> wrote:
Le mardi 11 mai 2010 à 14:14 -0400, Chris Lalancette a écrit :

> Well, it does support merging, to a degree,

Merging a LVM snapshot back into the original LV is only available since
kernel 2.6.32 (or .33, don't remember), and with some recent version of
device-mapper and lvm2


> though it's an implicit
> feature in the way the other snapshot mechanisms work.  That is, if you
> do something like:
> Base Image -> snap1 -> snap2 -> snap3

That's not possible, LVM doesn't support snpshot of snapshot, but you
can have

Base image -> snap1
          -> snap2
          -> snap3

each snapshot can only be based on the original LV. The idea with LVM
would be to always run the guest on the original LV for this reason (so
we can take a snapshot when we want).

If we want to revert a guest to a snapshot, we have to merge it back
into the original LV. Merging a LVM snapshot back into the original LV
should be almost instantaneous, and preserve all the other snapshots.


This new feature sounds cool. I just had a try, found a problem, when  merging a LVM snapshot:
lvconvert says:
Can't merge over open origin volume
Merging of snapshot snap0 will start next activation.

The origin volume is open by QEMU, although the VM is already stoped(by Issuing 'stop' command in QEMU monitor)
LVM merging feature doesn't support merge when the origin volume is opened?
What's the mean of next activation? From the patch (http://people.redhat.com/msnitzer/patches/snapshot-merge/lvm2/LVM2-2.02.55/lvm-merge-onactivate.patch), looks like "lvchange --refresh orig_lvm" will active it? I did it, but no way...

>
> And now delete snap2, the changes from snap2 are automatically merged
> into snap3 to keep snap3 a viable snapshot.
>
> I think we'll have to explicitly do this for LVM (though I'm not sure;
> my experience with LVM snapshotting is 0).
>
> Besides this implicit merging action, do you want/need the ability to
> manually merge snapshots?  What's your use-case, so I can understand
> it better?
>

When I talk about merging a snapshot in LVM (or "rollback"), it's
equivalent to revert in libvirt snapshot terminology.

Regards


--
Daniel Berteaud
FIREWALL-SERVICES SARL.
Société de Services en Logiciels Libres
Technopôle Montesquieu
33650 MARTILLAC
Tel : 05 56 64 15 32
Fax : 05 56 64 15 32
Mail: daniel@firewall-services.com
Web : http://www.firewall-services.com

--