[linux-lvm] how to copy a snapshot, or restore snapshot without deleting it

Tomas Dalebjörk tomas.dalebjork at gmail.com
Thu Jan 10 14:34:39 UTC 2019


Checkout this
https://github.com/mpalmer/lvmsync

This can probably do what you are asking for.

Regards Tomas

Den tors 10 jan. 2019 kl 10:12 skrev Davis, Matthew <
Matthew.Davis.2 at team.telstra.com>:

> Hi Marian,
>
> I'm trying to do it with thin snapshots now. It's all very confusing, and
> I can't get it to work.
> I've read a lot of the documentation about thin stuff, and it isn't clear
> what's happening.
>
> I took a snapshot with
>
>     sudo lvcreate -s --name mySnap1 centos/root
>
> Then I copied that snapshot with
>
>     sudo lvcreate -s --name mySnap2 centos/mySnap1
>
> When I try to restore mySnap1 it says:
>
>     $sudo lvconvert --merge centos/mySnap1
>     centos/mySnap1 is not a mergeable logical volume
>
> The same happens if I use `--mergethin`.
> When I try to restore mySnap2 it just "merges" it into mySnap1. I'm trying
> to merge it into root. I've looked through the man pages and can't find any
> destination argument.
>
>     $ sudo lvconvert --merge centos/fresh2
>     Volume centos/fresh2 replaced origin centos/fresh.
>
> When I merged mySnap2 into mySnap1 and then merged that into root, and
> rebooted, it didn't actually merge. The files are not as they were when I
> made mySnap1, and `lvs` shows mySnap1 still exists. And if I try to run the
> merge command again it says
>
>     $ sudo lvconvert --merge centos/mySnap1
>     Command on LV centos/mySnap1 is invalid on LV with properties:
> lv_is_merging_origin .
>     Command not permitted on LV centos/mySnap1.
>
> What is `lv_is_merging_origin` ? It doesn't appear when I run `lvs`,
> `lvdisplay`, `pvdisplay`, `man lvmthin` or `man lvm`.
> The snapshot should have taken about 20 bytes of differences, so I don't
> expect it would take very long to restore.
> How can I check on the status of the merge? For thick volumes too, I
> couldn't find a way to check, other than just polling the command to create
> a new snapshot.
>
> What is a "thin snapshot"? I thought the whole point of LVM snapshots was
> that they only store the changes in the data.
> e.g. If I snapshot a 100GB volume and then add a 1GB file, my snapshot is
> only 1GB big, not 100GB. So aren't snapshots already thin?
>
> Also, when I take any snapshot on my thinly provisioned system, I get some
> warning about thresholds and auto-extending.
> What is "auto-extending"? I thought the whole point of thin volumes/pools
> is that the volume only takes up as much space as it needs. If more data is
> added, it takes up more space automatically.
> I think I've already allocated all my physical disks to this thin pool, so
> what could "auto-extend" mean?
>
> Thanks,
> Matt
>
> -----Original Message-----
> From: Marian Csontos [mailto:mcsontos at redhat.com]
> Sent: Friday, 4 January 2019 1:09 AM
> To: LVM general discussion and development <linux-lvm at redhat.com>; Davis,
> Matthew <Matthew.Davis.2 at team.telstra.com>
> Subject: Re: [linux-lvm] how to copy a snapshot, or restore snapshot
> without deleting it
>
> On 1/3/19 5:46 AM, Davis, Matthew wrote:
> > Hi,
> >
> > I want to restore a snapshot without deleting the snapshot.
>
> Hi, I think this should be possible using thin snapshots - snapshot the
> snapshot you want to restore, and merge the snapshot - may be not perfect,
> but it is at least possible. This is fast, as there is no need to write
> huge amounts of data, it is just a switching tree's root away (or very
> close to it.)
>
> Perhaps more convenient alternative is to use boom boot manager (boom-boot
> package available on rhel8+ and fedora27+). Not sure it is available in
> ubuntu/debian.
>
> NOTE:
>
> *Thin pools*
>
> When using thin pools make sure you have enough space and you do not run
> out of space in data and metadata devices, or you risk serious trouble.
>
> 1. you must enable monitoring and threshold for extending thin pool.
> 2. using recent lvm2 2.02.* releases is recommended.
>
> *Boom*
>
> Boom also requires a minor change in initramfs to pass `-K` option to
> lvchange to allow activation of volumes with skip activation flag.
>
> -- Martian
>
>
> >
> > My use case is that I'm experimenting with a lot of different drivers,
> kernel modules, and file modifications all over my machine.
> > I want to
> > 1. take a snapshot of the working system 2. make changes 3. restore
> > the snapshot (` sudo lvconvert --merge /dev/ubuntu-vg/$SNAPSHOT` then
> > reboot) 4. make new changes 5. restore to the snapshot again
> >
> > The problem is that step 3 deletes the snapshot, so step 5 fails.
> >
> > My current workaround is:
> > 1. take a snapshot of the working system 2. make changes 3. restore
> > the snapshot (` sudo lvconvert --merge /dev/ubuntu-vg/$SNAPSHOT` then
> > reboot) 4. Wait 1.5 hours, without making any changes to the machine
> > 5. Take a new snapshot, with the same name as the original 6. make new
> > changes 7. restore to the snapshot
> >
> > This is not great because:
> > * I sometimes forget to do step 5
> > * I can't take a snapshot of the volume while it is still merging.
> > This takes 1.5 hours. I want to be able to restore my snapshots
> > multiple times per day
> >
> >
> > Is there a flag I can add to `lvconvert` to make it not delete the
> snapshot?
> > Alternatively, is there a way I can make a copy of the snapshot before I
> restore it?
> >
> > It looks like someone else asked this question 10 years ago.
> > https://www.redhat.com/archives/linux-lvm/2008-November/msg00000.html
> > Has this problem been solved since then?
> >
> > Thanks,
> > Matt Davis
> >
> > Technical Specialist
> > Telstra | Product Strategy & Innovation - Telstra Labs | Programmable
> > Infrastructure E  Matthew.Davis.2 at team.telstra.com
> >
> >
> >
> > _______________________________________________
> > linux-lvm mailing list
> > linux-lvm at redhat.com
> > https://www.redhat.com/mailman/listinfo/linux-lvm
> > read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
> >
>
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm at redhat.com
> https://www.redhat.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/linux-lvm/attachments/20190110/97b19c1e/attachment.htm>


More information about the linux-lvm mailing list