[Gluster-users] Gluster vs NFS export sync

Franco Broi franco.broi at iongeo.com
Wed Jul 16 03:11:15 UTC 2014


On Wed, 2014-07-16 at 08:32 +0530, Santosh Pradhan wrote: 
> On 07/15/2014 06:24 AM, Franco Broi wrote:
> > I think the option I need is noac.
> 
> noac is no-attribute-caching in NFS. By default, NFS client would cache 
> the meta-data/attributes of FILEs for 3 seconds and directory for 30 
> seconds (default value). NFS client revalidates the attr cache by 
> sending periodic GETATTR call. But if the client is mounted with noac, 
> then it wont cache attrs. I dont think it's available in FUSE mount. 
> This is not applicable to WRITE I/O which keeps changing the attrs. This 
> cant make I/Os synchronous. I/Os may get cached (VM subsystem cache) in 
> either side (NFS client and NFS server side).


The nfs man page says:

 In addition to preventing the client from  caching  file
 attributes, the noac option forces application writes to
 become synchronous so  that  local  changes  to  a  file
 become  visible  on  the  server immediately.  That way,
 other clients can quickly detect recent writes when they
 check the file's attributes.

I'm guessing that an NFS disk exported with sync, forces all clients to
be mounted as if they had used noac...


> 
> Thanks,
> Santosh
> 
> >
> > On Fri, 2014-07-11 at 16:10 +0530, Santosh Pradhan wrote:
> >> On 07/11/2014 02:37 PM, Franco Broi wrote:
> >>> On Fri, 2014-07-11 at 14:22 +0530, Santosh Pradhan wrote:
> >>>> On 07/11/2014 06:10 AM, Franco Broi wrote:
> >>>>> Hi
> >>>>>
> >>>>> Is there any way to make Gluster emulate the behaviour of a NFS
> >>>>> filesystem exported with the sync option? By that I mean is it possible
> >>>>> to write a file from one client and guarantee that the data will be
> >>>>> instantly available on close to all other clients?
> >>>> I think FUSE also supports the sync option with mount similar to NFS.
> >>> There's 2 types of NFS sync, server and client but they behave very
> >>> differently. With sync at the client end, NFS just calls fsync on close
> >>> (I think),
> >> No. If the NFS client is mounted with sync flag i.e. -o sync, then all
> >> the WRITEs will be synchronous i.e. they wont be cached in client side
> >> and they(WRITEs) will hit the server with FILE_SYNC (stable write) flag
> >> which is nothing but FILE I/O with O_SYNC flag.
> >>
> >>> with sync at the server end, all writes are synchronous.
> >>>
> >>> Opening the file with O_SYNC also doesn't give the desired effect
> >>> although you'd think it would.
> >> It should be same as above.
> >>
> >> Thanks,
> >> Santosh
> >>>    NFS must have some way of communicating
> >>> the file attribute changes to all the clients immediately the write
> >>> completes.
> >>>
> >>>> Man page snippet for fuse(8):
> >>>> OPTIONS
> >>>>           Most of the generic mount options described in mount are
> >>>> supported (ro, rw, suid, nosuid, dev,
> >>>>           nodev, exec, noexec, atime, noatime, sync, async, dirsync).
> >>>> Filesystems are mounted  with
> >>>>           nodev,nosuid by default, which can only be overridden by a
> >>>> privileged user.
> >>>>
> >>>> Thanks,
> >>>> Santosh
> >>>>
> >>>>> Cheers,
> >>>>>
> >>>>> _______________________________________________
> >>>>> Gluster-users mailing list
> >>>>> Gluster-users at gluster.org
> >>>>> http://supercolony.gluster.org/mailman/listinfo/gluster-users
> >
> 





More information about the Gluster-users mailing list