[linux-lvm] how to convert a disk containing a snapshot to a snapshot lv?
zdenek.kabelac at gmail.com
Tue Dec 21 13:46:37 UTC 2021
Dne 19. 12. 21 v 17:43 Tomas Dalebjörk napsal(a):
> I am trying to understand how to convert a disk containing snapshot data.
> This is how I tested this:
> 1. locate the snapshot testlv.211218.232255
> root at debian10:/dev/mapper# lvs
> LV VG Attr LSize Pool Origin Data%
> Meta% Move Log Cpy%Sync Convert
> home debian10-vg -wi-ao---- 1.00g
> root debian10-vg -wi-ao---- <3.81g
> swap_1 debian10-vg -wi-ao---- 976.00m
> testlv debian10-vg owi-aos--- 100.00m
> testlv.211218.232255 debian10-vg swi-a-s--- 104.00m testlv 1.44
> root at debian10:/dev/mapper#
It looks like there is some sort of misunderstanding HOW these snapshots with
lvm2 do work.
The snapshot LV does NOT contain whole copy of the origin LV (the one you've
take its snapshot)
So while 'lvs' is presenting you the size of snapshot - it's not a 'regular'
volume behind the scene. Instead it's a set of differentiating blocks from
your origin stored in a way the came in use.
So while your snapshot looks it has size 104Mib and origin 100MiB - it means
there is just allocated max possible size of snapshot to store all different
chunk + some extra metadata. But ATM only 1.44% of this space is actually
used to hold all these block (AKA ~1.5MiB or real storage was used so far)
There is basically NO WAY to use this 'COW' storage area without its original
If you want to use such 'snapshot' elsewhere you simply need to *dd* such LV -
which is presented (via magic world of DM targets) to user-space to appear
like your original LV in the moment of snapshot.
But the actual 'raw' content stored in disk is in 'internal' form - not really
usable outside (although the format is not really a complicated one)
Note - these so called 'thick' snapshot or 'old' snapshot are now better
handled via thin-provisioning - giving much better performance - especially if
you plan to keep snapshot for long term or have it in bigger size.
Hopefully it now makes it way more clear.
More information about the linux-lvm