[linux-lvm] how to convert a disk containing a snapshot to a snapshot lv?

Zdenek Kabelac 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):
> Hi,
> 
> 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#
> 

Hi

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 
volume.

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.

Regards

Zdenek




More information about the linux-lvm mailing list