From: "J. Bruce Fields" <bfields@fieldses.org>
To: James Pearson <james-p@moving-picture.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: Problems with Mac clients mounting a Linux server behind a firewall
Date: Thu, 1 Jan 2009 19:29:24 -0500 [thread overview]
Message-ID: <20090102002924.GD31840@fieldses.org> (raw)
In-Reply-To: <a92ebfd90812221236g7250f256n5b58b5ff5ce47403@mail.gmail.com>
On Mon, Dec 22, 2008 at 08:36:12PM +0000, James Pearson wrote:
> 2008/12/22 J. Bruce Fields <bfields@fieldses.org>:
> > On Mon, Dec 22, 2008 at 04:53:57PM +0000, James Pearson wrote:
> >
> >>> Is there anything that NFS server-wise that could be cause the server
> >>> to attempt to contact clients in this way?
> >>
> >> Running wireshark over the tcpdump output, all these portmap calls are like:
> >>
> >> User Datagram Protocol, Src Port: 51947 (51947), Dst Port: sunrpc (111)
> >> Remote Procedure Call, Type:Call XID:0xacd4150f
> >> Portmap GETPORT Call NLM(100021) Version:4 UDP
> >> [Program Version: 2]
> >> [V2 Procedure: GETPORT (3)]
> >> Program: NLM (100021)
> >> Version: 4
> >> Proto: UDP (17)
> >> Port: 0
> >>
> >> Why would an NFS server need to initiate a call to the lockd process on
> >> a (MacOS) client?
> >
> > The communication between lockd's is 2-way, so that, for example,
> > servers can notify clients when locks are available. Also, the server's
> > statd needs to contact the clients so it can ask the clients to notify
> > it when the clients reboot (and hence when their file locks should be
> > released). And similarly the server needs to be able to notify the
> > clients when it reboots, so the client can reclaim any locks it
> > previously held.
> >
> > So your firewall settings are a problem. But, obviously, we should be
> > handling this more gracefully on the server.
>
> Thanks for the explanation - however, I never come across this
> requirement before with NFS servers behind firewalls - for example,
> RedHat's documentation at <http://kbase.redhat.com/faq/docs/DOC-3259>
> says the usual stuff about fixing the ports of various portmap
> services for the server and opening those ports for traffic to the
> server through the firewall - but no mention of the server needing to
> talk to the portmapper and lockd on the clients ... and I can't see
> how this would work as the portmapper port and any possible lockd port
> will have to be open on the firewall from server to all clients ...
>
> Also, it is strange that this problem only happens with MacOS clients
> - I've never see the server trying to talk to Linux clients in this
> way. So I guess it is something that the MacOS clients do differently
There may be a bug keeping the server from clearing out old statd
entries? If so perhaps it's just that every client only gets monitored
once, and that that happened longer ago for the linux clients than the
mac clients? Our recovery code needs some work.
I can't think of any reason the client implementation would matter,
unless perhaps the mac clients just aren't doing monitored locking at
all.
> Is there any way I can configure the server to ignore locking
> completely? e.g. turn off statd?
That might work. It might end up giving the applications that are using
locking unexpected errors.
Better might be to have the clients to mount with the "nolock" option.
Then the client will pretend to do locking but without actually
acquiring locks on the server, which may of course be dangerous
depending on how the locks are being used....
--b.
prev parent reply other threads:[~2009-01-02 0:29 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-19 22:52 Problems with Mac clients mounting a Linux server behind a firewall James Pearson
2008-12-22 16:53 ` James Pearson
2008-12-22 17:23 ` J. Bruce Fields
2008-12-22 20:36 ` James Pearson
2009-01-02 0:29 ` J. Bruce Fields [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090102002924.GD31840@fieldses.org \
--to=bfields@fieldses.org \
--cc=james-p@moving-picture.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox