Wednesday, January 30, 2013

Writing with FUSE / NFS client in GlusterFS, distributed mode


Out of curiosity ;)
We know that GlusterFS server provides FUSE and NFS interface.
What's the difference?
A test is made with VM environment.
All VMs using CentOS 6.3, factory kernel 2.6.32, GlusterFS 3.3.1.

server: gluster volume "test"
c6:/brick1
c61:/brick2
client: c6c
iftop was installed from EPEL repository to see how the data flows.


Writing the data with NFS client:
All the data is transferred from c6c (client) to c6 (NFS server), and then some of them are transferred from c6 to c61.

FUSE client:
c6c (client) do the distrubution, and transfer data to c6 / c61 separately.

So we know that using FUSE is more bandwidth efficient. When using NFS mount, data meant to be on c61 will be transferred twice. (This *should* offload the hashing to the server too, I guess)
This also suggests that when multiple clients are used, they should not all mount the same server for that will make the network to the server congested.

I haven't try the read test, but I think the pattern should be similar.

No comments: