[Gluster-devel] GlusterFS cache architecture

Oleksandr Natalenko oleksandr at natalenko.name
Mon Aug 31 14:07:51 UTC 2015


Hello.

I'm trying to investigate how GlusterFS manages cache on both server and
client side, but unfortunately cannot find any exhaustive, appropriate 
and up
to date information.

The disposition is that we have, saying, 2 GlusterFS nodes (server_a and
server_b) with replicated volume some_volume. Also we have several 
clients
(saying client_1 and client_2) that mount some_volume and do some 
manipulation
with files on it (lets assume some_volume contains web-related assets, 
and
client_1/client_2 are web-servers). Also there is client_3 that does 
web-
related deploying on some_volume (lets assume that client_3 is 
web-developer).

We would like to use multilayered cache scheme that involves filesystem 
cache
(on both client/server sides) as well as web server cache.

So, my questions are:

1) does caching-related items (performance.cache-size, 
performance.cache-min-
file-size, performance.cache-max-file-size etc.) affect server side 
only?
2) are there any tunables that affect client side caching?
3) how client-side caching (we are talking about read cache only, write 
cache
is not interesting to us) is performed (if it is at all)?
4) how and in what cases client cache is discarded (and how that relates 
to
upcall framework)?

Ideally, there should be some documentation that covers general 
GlusterFS
cache workflow.

Any info would be appreciated. Thanks.

-- 
Oleksandr post-factum Natalenko, MSc
pf-kernel community
https://natalenko.name/


More information about the Gluster-devel mailing list