linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Zhiyong Ye <yezhiyong@bytedance.com>
To: Zdenek Kabelac <zkabelac@redhat.com>,
	LVM general discussion and development <linux-lvm@redhat.com>
Subject: Re: [linux-lvm] The feasibility of implementing an alternative snapshot approach
Date: Thu, 5 Jan 2023 00:12:28 +0800	[thread overview]
Message-ID: <d2c5bef2-a418-049e-1ff8-160375881e90@bytedance.com> (raw)
In-Reply-To: <930cea69-8e7a-d0df-a48c-93e7a668be2f@redhat.com>

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:

https://listman.redhat.com/archives/linux-lvm/2022-June/026200.html

Regards,

Zhiyong

在 1/4/23 10:09 PM, Zdenek Kabelac 写道:
> Dne 04. 01. 23 v 9:00 Zhiyong Ye napsal(a):
>> Dear all,
>>
>> The current standard lv implementation of snapshots is COW 
>> (Copy-on-write), which creates snapshots very quickly. However, the 
>> first write performance of the original lv will be poor after creating 
>> a snapshot because of COW. Moreover, the more snapshots there are, the 
>> worse the performance of the original lv will be.
>>
>> I tested the random read/write performance when the original lv was 
>> created with different number of snapshots. The data is shown below:
>> Number of snapshots  Randread(iops)  Randwrite(iops)
>>          0                21989           22034
>>          1                10048           10041
>>          2                6770            6773
>>          3                5375            5378
>>
>> There are scenarios where the performance of the original lv is more 
>> demanding, and the speed of snapshot creation is not as strong a 
>> requirement. Because it is the original lv that will actually be used, 
>> and the snapshot is only a secondary function. Therefore snapshots 
>> using the COW approach will not meet the needs of this scenario.
>>
>> Therefore, is it feasible to implement another way of taking 
>> snapshots? Let's say the first snapshot is created as a full snapshot, 
>> and all subsequent snapshots are based on incremental data from the 
>> previous snapshot.
> 
> Hi
> 
> Have you played with thin provisioning - as that's the answer to the 
> slow snapshots.
> 
> Regards
> 
> Zdenek
> 

_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/

  reply	other threads:[~2023-01-05  7:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-04  8:00 [linux-lvm] The feasibility of implementing an alternative snapshot approach Zhiyong Ye
2023-01-04 14:09 ` Zdenek Kabelac
2023-01-04 16:12   ` Zhiyong Ye [this message]
2023-01-06 13:42     ` Zdenek Kabelac
2023-01-09  6:21       ` Zhiyong Ye
2023-01-09 22:18         ` Zdenek Kabelac
2023-01-10  3:48           ` [linux-lvm] [External] " Zhiyong Ye

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d2c5bef2-a418-049e-1ff8-160375881e90@bytedance.com \
    --to=yezhiyong@bytedance.com \
    --cc=linux-lvm@redhat.com \
    --cc=zkabelac@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).