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

Zdenek Kabelac zdenek.kabelac at gmail.com
Tue Dec 21 15:30:48 UTC 2021

Dne 21. 12. 21 v 15:44 Tomas Dalebjörk napsal(a):
> hi
> I think I didn’t explain this clear enough
> Allthe lvm data is present in the snapshot that I provision from our backup system
> I can guarantee that!
> If I just mount that snapshot from our backup system, it works perfectly well
> so we don’t need the origin volumes in other way than copying back to it
> we just need to reanimate it as a cow volume
> mentioning that all data has been changed
> the cow is just referencing to the origin location, so no problem there
> All our data is in the cow volume, not just the changes
> just to compare
> if you change just 1 byte on every chunksize in the origin volume, than the snapshot will contain all data, plus some meta data etc.
> That is what I talk about here.
> So how do I retach this volume to a new server?
> as the only argument acceptable argument by the lvconvert is vg/s1 ?
> That assumes that vg/s1 is present
> so how to make it present?


As said in my previous post - the 'format' of data stored on COW storage 
(which is the 'real' meaning of snapshot LV) does NOT in any way resembles the 
'normal' LV.

So the COW LV could be really ONLY use together with 'snapshot' target.

The easiest way how to 'copy' this snapshot to normal LV is like this:

lvcreate -L size  -n newLV  vg

dd if=/dev/vg/snapshotLV  of=/dev/vg/newLV  bs=512K

(so with 'DD' you copy data in 'correct' format)

You cannot convert snapshot LV to 'normal' LV in any other way then to merge 
this snapshot LV into your origin LV  (so origin is gone)
(lvconvert --merge....)

You can also  'split' snapshot COW LV and 'reattach' such snapshot to other LV 
- but this requires rather good knowledge about whole functioning of this 
snapshotting - so you know what can you do and what can you expect. But I'd 
likely recommend  'dd'.
You cannot use 'splitted' COW LV for i.e. filesystem - as it contains 'mixed' 
snapshot metadata and snapshot blocks.

Old snapshot meaning was - to take 'time consistent' snapshot of LV which then 
you can use for i.e. taking backup....



More information about the linux-lvm mailing list