FreeBSD NFS server not responding to TCP SYN packets from Linux/SunOS clients

Nicolas KOWALSKI Nicolas.Kowalski at imag.fr
Fri Oct 14 12:59:26 PDT 2005


Heinrich Rebehn <rebehn at ant.uni-bremen.de> writes:

> Nicolas KOWALSKI wrote:
>> Eric Anderson <anderson at centtech.com> writes:
>>
>>>Nicolas KOWALSKI wrote:
>>>
>>>>Eric Anderson <anderson at centtech.com> writes:
>>>>
>>>>>Nicolas KOWALSKI wrote:
>>>>>
>>>>>>Mike Silbersack <silby at silby.com> writes:
>>>>>>
>>>>>>>Actually, there may be a quick fix for this specific machine.
>>>>>>>If you set net.inet.tcp.keepidle to 1 minute (60*whatever
>>>>>>>kern.hz is), that'll cause keepalive packets to be sent every
>>>>>>>minute to an idle connection, rather than every 2 hours.  That
>>>>>>>would kill the stuck connections much quicker.
>>>>
>>>>>>Unfortunately, this does not work as expected. I just tested
>>>>>>with my workstation (Linux 2.6), with NFS filesystems mounted
>>>>>>with TCP; when the station rebooted abruptely, mounting the same
>>>>>>NFS filesystems hung more than 1 minute (15 minutes just
>>>>>>now). During this hang, I saw on the server, using netstat, the
>>>>>>nfsd process related to my workstation in ESTABLISHED state.
>>>>>
>>>>>Man fixmount?
>>>>
>>>>This is a FreeBSD-only command apparently. I did not find it on
>>>>Linux or Solaris. It could have been useful, by calling it before
>>>>NFS filesystems are mounted on clients, yes.
>>>
>>>It's available on Fedora Core 2 and 3 at least.

>> So, its a non-option, because we are only using Debian Sarge and
>> Solaris 9 UNIX workstations. :-(
>
> For Debian Sarge, it is in am-utils (amd automounter).

Oh, thanks for the information... 

> Since we are bit by the same problem - we have diskless Linux
> clients that mount their root fs from a FreeBSD server, which
> sometimes takes some 15 minutes - i will try fixmount next week.

I just tried it without success. I call it just before
/etc/rcS.d/S45mountnfs, and it does not help.

It looks "normal" for me, because the hang (visible on the etherreal
trace) does not happen at mount call, but when requesting the SYN to
the nfsd port on the server.

-- 
Nicolas


More information about the freebsd-fs mailing list