[Gluster-devel] Storing pNFS related state on GlusterFS

Soumya Koduri skoduri at redhat.com
Wed Dec 9 08:55:02 UTC 2015


pNFS is a feature introduced as part of NFSv4.1 protocol to allow direct 
client access to storage devices containing file data (in short parallel 
I/O). Client request for the layouts of entire file or specific range. 
On receiving the layout information, they shall directly contact the 
server containing the data for the I/O.

In case of a cluster of (NFS)servers,
* Meta-data servers (MDS) are responsible to provide layouts of the
   file and recall them in case of any change in the layout.
* Data servers (DS) contain the actual data and process the I/O.

For more information, kindly refer to [1].

Currently with NFS-Ganesha+GlusterFS, we support FILE_LAYOUTs but with 
single MDS.

* to avoid single point of failure & be able to support multiple MDS and
* to recall the layout in case of cluster of (NFS)servers,
we need to store the layouts on the back-end filesystem(GlusterFS) and 
recall them in case of any conflicting access which may change the file 

Since it is on similar lines to storing and recalling lease state (with 
slightly different semantics), we are planning to store and process them 
as a special type of lease ('LAYOUT') in the lease xlator being worked 
upon as part of [2].

More details are captured in the below spec [3] :

Kindly review the same and provide your inputs/comments.


[1] https://tools.ietf.org/rfc/rfc5661.txt (Section 12. Parallel NFS (pNFS))

[2] http://review.gluster.org/#/c/11980/

[3] http://review.gluster.org/#/c/12367

More information about the Gluster-devel mailing list