On Mon, Jan 16, 2017 at 10:11 AM Jason Dillaman <jdillama@xxxxxxxxxx> wrote:
On Sun, Jan 15, 2017 at 2:56 PM, Shawn Edwards <lesser.evil@xxxxxxxxx> wrote:
> If I, say, have 10 rbd attached to the same box using librbd, all 10 of the
> rbd are clones of the same snapshot, and I have caching turned on, will each
> rbd be caching blocks from the parent snapshot individually, or will the 10
> rbd processes be building up their own cache, ignorant of the other
> process's caching?
Each process will utilize its own, independent cache for the parent
image. There is no interprocess coordination to share the cache bits.
That's what I figured. A shared, interprocess cache would be Hard, and not have many use cases.
> The use case I have is a lot of rbd-nbd mounted rbd used as VM boot disks
> all based on the same clone. It would be great if the parent clone could be
> cached once and then only blocks which were copy-on-write were in each
> individual process's cache.
If you are worried about the footprint, you could disable the use of
the cache within just the parent image by running "rbd metadata set
<image spec> conf_rbd_cache false" against the parent image. Since you
are using a VM on top of librbd, the librbd cache is effectively a L2
cache so you probably aren't gaining much by caching reads for the
parent image since the VM will most likely cache the reads as well.
Ah, interesting. I'll give that a shot and see if that helps. Thanks for the suggestion.
--
Jason
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com