All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josh Durgin <josh.durgin@inktank.com>
To: Andrey Korolyov <andrey@xdel.ru>,
	Haomai Wang <haomaiwang@gmail.com>,
	"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>
Subject: Re: [librbd] Add interface of get the snapshot size?
Date: Mon, 24 Mar 2014 20:22:23 -0700	[thread overview]
Message-ID: <5330F66F.30008@inktank.com> (raw)
In-Reply-To: <53303822.20800@xdel.ru>

On 03/24/2014 06:50 AM, Andrey Korolyov wrote:
> On 03/24/2014 05:30 PM, Haomai Wang wrote:
>> Hi all,
>>
>> As we know, snapshot is a lightweight resource in librbd and we
>> doesn't have any statistic informations about it. But it causes some
>> problems to the cloud management.
>>
>> We can't measure the size of snapshot, different snapshot will occur
>> different space. So we don't have way to estimate the resource usage
>> of user.
>>
>> Maybe we can have a counter to record space usage when volumn created.
>> When creating snapshot, the counter is freeze and store as the size of
>> snapshot. New counter will assign to zero for the volume.
>>
>> Any feedback is appreciate!
>>
>
> I believe that there is a rough estimation over 'rados df'. Per-image
> statistics would be awesome, though precise stats will be neither rough
> too(# of rbd object clones per volume) or introduce new counter
> mechanism. Dealing with discard for the filestore, it looks even more
> difficult to calculate right estimation, as with XFS preallocation feature.

diff_iterate() will let you see what extents exist in the image at a
given snapshot or between snapshots. It's not perfect, but it'll be more
accurate than other methods.

A better long term solution might be to leverage something like a
bitmap of object existence. This could be marked dirty (i.e.
unreliable) when opening an image, maintained in memory, and saved with
a snapshot and when closing an image as clean.

With xfs preallocation hints, the usage will be pretty close to object
size * num objects.

Josh

      reply	other threads:[~2014-03-25  3:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-24 13:30 [librbd] Add interface of get the snapshot size? Haomai Wang
2014-03-24 13:40 ` Wido den Hollander
2014-03-24 13:50 ` Andrey Korolyov
2014-03-25  3:22   ` Josh Durgin [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=5330F66F.30008@inktank.com \
    --to=josh.durgin@inktank.com \
    --cc=andrey@xdel.ru \
    --cc=ceph-devel@vger.kernel.org \
    --cc=haomaiwang@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.