[linux-lvm] RFE: Convert standard LV to Thin and vice versa
linux at johannes-niess.de
Sun Jan 24 19:43:42 UTC 2021
Currently we can convert a standard LV to a thin LV with an external,
read only origin as per man lvmthin. Unwritten portions of the thin LV
are read from the external LV. I assume that new portions are written to
a thin snapshot, but the man page is silent about this.
lvconvert --type thin --thinpool VG/ThinPoolLV --originname
This means the external LV is needed forever, even if all of its extents
are outdated and replaced by thin extents. I'd like to get a full
conversion to a ThinLV by modifying only meta data.
0) Use external thin LV as above as the starting point
1) Create new ThinLV stub
2) Assign extents of external LV to thin pool in a 'used', read only state.
3) Assign extents of external LV to new ThinLV .
4) Switch link of the thin snapshot to the new ThinLV
5) Make ThinLV read only
6) Remove external LV stub
To release the outdated ThinLV extents, we just need to merge the
initial thin snapshot with it.
One great use case is instant bare metal recovery: Create an empty
ThinPool on proper HW and just activate the external volumes (on USB
Disks). Redundancy is then restored in the background by converting to a
Thin LV as above and 'pvmove'ing.
Creating these backups would also need a way to 'unthin' an LV snapshot
to a 'thick' LV with an independent copy of all extents. Can we already
to this by e. g. creating and splitting a mirror? Or by merging with an
empty 'thick' LV? Or do we need the above steps in the opposite direction?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the linux-lvm