FreeBSD NFS client and Netware 6.5 NFS server]
Shawn C Lander
shawn at eng.ufl.edu
Thu Mar 3 08:14:29 PST 2005
To answer your question:
An NFS trace on the novell server shows the web server executing GETATTR
and READ commands when a file is served after it has been updated.
If you 'touch' one of the files, the client executes GETATTR and SETATTR...
and then the first time it is served it executes LOOKUP, READ, and GETATTR
commands (after the first time it is served by the web server the client
just executes GETATTR and READ).
We were told to mount the exported volume with the NOAC option to tell the
client not to cache file attributes. However, we do not see this option
implemented on FreeBSD (we even tried it thinking it may be undocumented or
still hanging around and ended up getting an error message). After seeing
this, we tried setting ACREGMIN, ACREGMAX, ACDIRMIN, and ACDIRMAX to 0
thinking that timeouts of 0 would essentionally turn the cache off... but
it didn't solve the problem. Is there some other setting that just turns
the cache off completely?
-shawn
--On Wednesday, March 02, 2005 9:03 PM -0500 Bob Johnson
<bob89 at eng.ufl.edu> wrote:
> Here's a reply to my query. sysctl's are kernel values that you can tune
> with the sysctl command.
>
> sysctl vfs.nfs.access_cache_timeout
>
> would show you the value of that sysctl, while
>
> sysctl vfs.nfs.access_cache_timeout=2
>
> would change the value to 2 (assuming it is writable, which this one is).
>
> To see all sysctl's with nfs in the name, do
>
> sysctl -a | grep nfs
>
> so the question he asks is whether a server trace shows any activity when
> the webserver is fetching a recently changed file, or is it working
> entirely from its own cache?
>
> Any reply to this should go to the sender and to questions at freebsd.org to
> get the reply back on the list.
>
> - Bob
>
>
> -------- Original Message --------
> Subject: Re: FreeBSD NFS client and Netware 6.5 NFS server
> Date: Wed, 2 Mar 2005 17:55:24 -0600
> From: Dan Nelson <dnelson at allantgroup.com>
> To: Bob Johnson <bob89 at eng.ufl.edu>
> CC: freebsd-questions at freebsd.org
> References: <42262EF2.8070503 at eng.ufl.edu>
>
> In the last episode (Mar 02), Bob Johnson said:
>> Message below is about a FreeBSD server I maintain. The FreeBSD
>> server is our web server. We use NFS to talk to a Netware file
>> server where most of our users' web pages are stored. FreeBSD is
>> 5.3, and was working ok with Netware 5.1 (and still is with other
>> Netware servers). One of the servers was recently upgraded to
>> Netware 6.5 and NFS is no longer playing nice between the two.
>>
>> When something on the Netware side updates a file by copying it into
>> place (e.g. using FTP [don't complain] to upload a file), the FreeBSD
>> client doesn't find out that the file contents have changed until it
>> does something to the file (e.g. touch or chmod). Thus, when one of
>> our users updates their web page with something like Dreamweaver, the
>> web server doesn't find out about it (perhaps it eventually finds
>> out, but it takes more than the several minutes we waited).
>
> It sounds sort of like the vfs.nfs.access_cache_timeout sysctl isn't
> being honored on the FreeBSD side. The kernel defaults to 60 seconds,
> but if you have nfs_client_enable="YES" in rc.conf, /etc/rc.d/nfsclient
> sets it to 2. If you dump the NFS traffic as your web server fetches
> one of these recently-updated files, do you see it doing an
> ACCESS/GETATTR on the target files at all?
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Shawn C. Lander 340A Weil Hall, POBox 116550
Coordinator Computer Applications Gainesville, FL 32611-6550
Management Information Systems (MIS) PH: (352) 392-9217
College of Engineering FAX: (352) 392-7063
More information about the freebsd-questions
mailing list