[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: FSFS performance on NAS/NFS

From: Rahul Bhargava <me_at_rahulbhargava.org>
Date: 2007-03-08 01:59:44 CET

Well NFS locking can be tricky. NFSv3 protocol does not have built-in
locking, it
relies on another protocol NLM. Given the stateless nature of NFS
protocol, NLM needs
to store state on the server on who is locking what file range .
Unfortunately there is no 'journal'
on server-side to track that state during recovery. If the NFS server
reboots it has to depend on
a grace period for clients to come back and 'reclaim' their locks. If
the NFS client fails to
reach the server in the grace period (slow network etc), the server will
wipe its state clean
and essentially forget the locks that were held by the NFS client!

In other words the recovery is not guaranteed to be 'safe' when clients
and servers restart/fail.
You may never encounter these issues but that does not mean you are safe
under wacky
failure scenarios.

A single Apache server does not mean that there aren't multiple
concurrent processes potentially accessing the
NFS server.

If you are using NFSv3 you may want to read this
http://www.connectathon.org/talks06/talpey-cthon06-nsm.pdf on
correctness issues with NLM. Not sure if NFSv4 bypasses all the issues.

Les Mikesell wrote:
> Rahul Bhargava wrote:
>> Using NFS for any file system app like Subversion or CVS is
>> dangerous. NFS clients typically cache file changes locally, that can
>> cause weird errors (file size mismatches), the rename system call may
>> not
>> be atomic with NFS. If you are going to use a NAS array you are
>> better off setting up iSCSI access rather than NFS.
> Note that client caching should only be a problem if you access
> directly through the filesystem from multiple clients. If you mount
> from a single server and use http or svnserve network acess from any
> other clients everthing should work as long as nfs locks work on the
> server.

Rahul Bhargava
Phone: (925) 265-8801(W)|895-2201(M)
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Mar 8 02:00:22 2007

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.