[libvirt] [PATCH 2/2] rbd: optionally disable actual disk-usage during pool/volume refresh

Jason Dillaman jdillama at redhat.com
Mon Mar 11 16:11:53 UTC 2019


On Mon, Mar 11, 2019 at 11:50 AM Daniel P. Berrangé <berrange at redhat.com> wrote:
>
> On Mon, Mar 11, 2019 at 11:39:55AM -0400, jdillama at redhat.com wrote:
> > From: Jason Dillaman <dillaman at redhat.com>
> >
> > For pools with numerous volumes or very large volumes, the disk-usage
> > calculation can take a non-trivial amount of time even with the
> > fast-diff feature enabled (especially since the the usage is calculated
> > serially for each image in the pool).
> >
> > The "rbd:config_opts" node now supports a new libvirt-internal
> > "libvirt_calculate_disk_usage" option which can be set to false to
> > disable this calculation as needed.
>
> The RBD namespace is not something we want to encourage applications
> to use. It is supposed to be for hacks that are only used in testing
> or QA, never in production. Essentially any usage is considered
> unsupported for production.

Gotcha. Honestly, in that case, since starting w/ the Mimic release of
Ceph all configuration options can be stored in the Ceph monitors and
starting with the Nautilus release of Ceph all RBD configuration
options can be overridden in the pools and individual images, I
actually wonder the value of this XML section even for non-production
settings. Also, should the documentation be updated to indicate that
this is only for non-production environments (assuming support for
this isn't just yanked)?

> This scalability problem sounds like something most likely to hit in
> production envs, and as such we need a fully supportable solution.
> This probably suggests making it a core part of the storage pool
> schema, and extending its impl to other drivers too.

>From a quick scan, it only looked like RBD was using a costly
"stat"-like method to calculate actual volume usage which is why I
implemented it as an RBD-only feature. If a new
"volume_usage=[physical|allocated]"-like option is acceptable in the
root storage pool XML, I can add it and repost.

> Regards,
> Daniel
> --
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

Thanks,

-- 
Jason




More information about the libvir-list mailing list