[linux-lvm] The feasibility of implementing an alternative snapshot approach
yezhiyong at bytedance.com
Mon Jan 9 06:21:48 UTC 2023
Thank you for your detailed answer.
For the thin snapshot I will use the latest version of kernel and lvm
for further testing. I want to use both snapshot methods (thin and
thick) in the production environment. But if the thick snapshot is only
still in the maintenance phase, then for thick lv I have to see if there
is any other way to accomplish the snapshot function.
I use lvm mainly for virtualized environments. Each lv acts as a block
device of the virtual machine. So I also consider using qemu's own
snapshot feature. When qemu creates a snapshot, the original image used
by the virtual machine becomes read-only, and all write changes are
stored in the new snapshot. But currently qemu's snapshots only support
files, not block devices.
On 1/6/23 9:42 PM, Zdenek Kabelac wrote:
> Dne 04. 01. 23 v 17:12 Zhiyong Ye napsal(a):
>> Hi Zdenek,
>> Thank you for your reply.
>> Snapshots of thinlv are indeed more efficient compared to standard lv,
>> this is because data blocks can be shared between snapshot and
>> original thinlv. But there is also a performance loss after thinlv
>> creates a snapshot. This is because the first write to the snapshotted
>> thinlv requires not only allocating a new chunk but also copying the
>> old data.
>> Here are some performance data and a discussion of the thinlv snapshot:
> Well that's our current 'state-of-the-art' solution.
> Make sure you are using latest kernels for your performance testing -
> there have been several improvements around the locking (6+ kernels) -
> but if this still not good enough for your case you might need to seek
> for some other solutions (although would be nice to know who handles
> this task better).
> Definitely the old 'thick-snapshot' is mostly in maintenance phase and
> it's usability (and its design) is limited for some short living
> temporary snapshoting (i.e. you are making backup and after completing
> your backup of the filesystem you remove your temporary snapshot - it's
> been never designed to be used for multi-level multi-GiB snapshots -
> this will not fly...
> When you use thin snapshots - make sure your metadata LV is located on
> your fast device and you use best fitting chunksize.
More information about the linux-lvm