Re: librbd cache and clone awareness

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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

[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux