[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Understanding problems with NFS & CVS.

From: Larry Jones
Subject: Re: Understanding problems with NFS & CVS.
Date: Wed, 5 Sep 2001 14:23:03 -0400 (EDT)

Alex Holst writes:
> For various reasons, I was queried why the repository is not placed on a NFS
> storage device, mounted on the CVS server which is then accessed via SSH. I
> quoted the NFS sharing problems, but the person retorted saying he has
> experienced large projects using NFS mounted on a frontend machine. Can
> anyone comment on the reliability of this? I don't understand why the
> problems would be any different simply by using a frontend machine. It's
> still NFS with whatever problems it carries with it.

The problems with NFS are subtle, hard to characterize, and nearly
impossible to reproduce.  The damage that they can cause to a repository
is also subtle and usually not noticed until long after it occurs. 
Given that, and the value most people place in their repository data,
the general advice is to avoid NFS.

However, I'll do my best to explain the situation so that people can
make informed decisions.  First, let me note that lots of people store
lots of data using NFS without any problems -- it is *not* a totally
unreliable system.

There is one theorietical problem with the NFS protocol and CVS's
locking mechanism (which may be fixed in NFS V3): it is possible for CVS
to think it has failed to obtain a lock when it actually has, and thus
lock itself out of the repository.  Note that this is at least a *safe*
failure -- it cannot cause loss of data, only denial of service.  It has
also never been reported in practice to my knowledge.

All the other problems are caused by implementation bugs, they are not
problems with the NFS protocol per se.  In my experience, the bugs are
almost always interoperability bugs.  That is, using the same platform
for client and server almost always works correctly; it is only when the
client and server are different platforms that you have problems.  And,
of course, both vendors will insist that their implementation is correct
and the problem is obviously with the other vendor's implementation. 
Systems which are specifically designed to be file servers seem to have
fewer problems than workstations being used as file servers (probably
because they're better tested against a wide variety of client
platforms).  Servers with a single client (as in your frontend machine
scenario) seem to have fewer problems than servers with lots of clients.
Large files seem to be more prone to damage than lots of small files

And finally, although I haven't confirmed it myself, a number of people
have reported that using client/server CVS is faster than using NFS to
access the repository.

-Larry Jones

I don't see why some people even HAVE cars. -- Calvin

reply via email to

[Prev in Thread] Current Thread [Next in Thread]