From: Zdenek Kabelac <zkabelac@redhat.com>
To: LVM general discussion and development <linux-lvm@redhat.com>
Subject: Re: [linux-lvm] determining snapshot overhead
Date: Wed, 14 Jan 2015 15:26:06 +0100 [thread overview]
Message-ID: <54B67C7E.6020404@redhat.com> (raw)
In-Reply-To: <54B66352.4010902@shockmedia.nl>
Dne 14.1.2015 v 13:38 Bram Klein Gunnewiek napsal(a):
> On 01/14/2015 12:42 PM, Zdenek Kabelac wrote:
>> Dne 14.1.2015 v 11:18 Bram Klein Gunnewiek napsal(a):
>>> Thanks for your reply. I tested it out and it does not seem to work (lvm2
>>> version used is 2.02.98-6ubuntu2):
>>>
>>
>> yep - too old for this feature being supported.
> Ok, then we have to do it ourself since we don't want to go with backports /
> custom versions on our systems
>>
>>> lvcreate -n testvolume3 -L 1G vg
>>> lvcreate -n testvolume3_snapshot -s /dev/vg/testvolume3 -l100%ORIGIN
>>> dd if=/dev/zero of=/dev/vg/testvolume3 bs=1G count=1
>>>
>>> After this the snapshot is invalid:
>>>
>>> testvolume3_snapshot vg swi-I-s-- 1.00g testvolume3 100.00
>>>
>>> I checked out the lvm2 source code and found the methods cow_max_extents and
>>> _cow_max_size in snapshot_manip.c. Do these methods calculate the exact max
>>> size of the snapshot meta data?
>>
>> yes.
>>
>> It's probably worth to note there has been some related kernel fixes for old
>> snaps - otherwise there has been theoretical path to create much bigger
>> snapshots then the origin size was - though it's nearly impossible to reach
>> such state.
>
> Thanks again. I did some tests and calculations and it seems that the overhead
> is ~0.39% of the origin size when chunk sizes of 4KiB are used. Bigger chunk
> size means less overhead. If we use 0.5% of the origin space as meta data
> overhead we should be on the safe side I think?
It cannot be defined as some 'percentage' value - as there are even
combinations of LV sizes and extent size where the percentage might be over
50% (thought those are not really usable in real life).
lvm2 code is the only valid calculation how to estimate full max size of
snapshot for various combinations of those parameters.
Zdenek
>
>
>> Zdenek
>>
>>
>>>
>>> On 01/14/2015 09:34 AM, Zdenek Kabelac wrote:
>>>> Dne 14.1.2015 v 08:24 Bram Klein Gunnewiek napsal(a):
>>>>> Hello,
>>>>>
>>>>> I am trying to create snapshots of thick volumes that can't break because
>>>>> they
>>>>> overflow (thin volumes are not an option right now). I can't find
>>>>> information
>>>>> on how to calculate (in advance) the metadata overhead of a snapshot when
>>>>> all
>>>>> blocks in the origin volume are changed (e.g. the snapshot is 100% full). Is
>>>>> there a way to do this?
>>>>
>>>>
>>>> Recent versions of lvm2 (let's say >= 111) are able to determine this size
>>>> automatically - just use: 'lvcreate -s -l100%ORIGIN vg/origin'
>>>>
>>>> Regards
>>>>
>>>> Zdenek
>>>>
>>>> _______________________________________________
>>>> linux-lvm mailing list
>>>> linux-lvm@redhat.com
>>>> https://www.redhat.com/mailman/listinfo/linux-lvm
>>>> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
>>>
>>> _______________________________________________
>>> linux-lvm mailing list
>>> linux-lvm@redhat.com
>>> https://www.redhat.com/mailman/listinfo/linux-lvm
>>> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
>>>
>>
>> _______________________________________________
>> linux-lvm mailing list
>> linux-lvm@redhat.com
>> https://www.redhat.com/mailman/listinfo/linux-lvm
>> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm@redhat.com
> https://www.redhat.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
>
prev parent reply other threads:[~2015-01-14 14:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-14 7:24 [linux-lvm] determining snapshot overhead Bram Klein Gunnewiek
2015-01-14 8:34 ` Zdenek Kabelac
2015-01-14 10:18 ` Bram Klein Gunnewiek
2015-01-14 11:42 ` Zdenek Kabelac
2015-01-14 12:38 ` Bram Klein Gunnewiek
2015-01-14 14:26 ` Zdenek Kabelac [this message]
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=54B67C7E.6020404@redhat.com \
--to=zkabelac@redhat.com \
--cc=linux-lvm@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).