NFS Locking Issue
scottl at samsco.org
Tue Jul 4 19:06:12 UTC 2006
Michel Talon wrote:
>>Using Ubuntu as the server I connected a FreeBSD 5.4 and 6-stable box as
>>clients on a 100Mb/s network. The time trial used a dummy 100Meg file
>>transfered from the server to the client.
> I have similar experiences here. With FreeBSD-6.1 as client (using an Intel
> etherexpress card at 100 Mb/s) and FC5 server i see full wire speed for file
> transfers via NFS.
>>After the 4th of July I intend to test Ubuntu as a client to a FreeBSD
>>6-STABLE server on a gigabit lan to run similar time trials. I'm
>>looking to confirm what I can only suspect at this point, which is that
>>the NFS server on FreeBSD is mucked up, but the client is okay.
> I have the same impression. The 6.1-RELEASE client seems to work well.
> Yesterday i have upgraded my 6.0 (*) box to 6.1 and i have not seen a single
> NFS problem after that. Moreover i am using rpc.statd, and rpc.lockd
> and they work OK and are really functional.
> I have the following sysctl which may have an effect on the problem:
> So it may well be that it is the FreeBSD NFS server code which has problems.
> (*) 6.0-RELEASE client definitively does not work OK for me.
For what it's worth, I recently spent a lot of time putting FreeBSD 6.1
to the test as both an NFS client and server in a mixed OS environment.
By far and away, the biggest problems that I encountered with it were
due to linux NFS bugs. CentOS, FC, and SuSE all created huge problems
under load, and it was impossible to get stable results until I started
using 2.6.12 and higher kernels.
I have a variety of theories that I wish I had had time to test. I've
seen hints of problems with READDIRPLUS, with FreeBSD's habit of mapping
GETATTR to ACCESS, and with handle sizes. But in any case, it's been no
secret that Linux has had very severe NFS problems in the past, and that
the NetApp folks have worked very hard over the last year to fix them in
the most recent Linux kernel releases. The only real fault I give
FreeBSD is rpc.lockd. It's pretty much useless in all but trivial
circumstances. Beyond that, make sure you're using a linux kernel that
is relatively recent.
More information about the freebsd-stable