Date: Tue, 30 Mar 2010 08:38:39 -0700 From: Jeremy Chadwick <freebsd@jdc.parodius.com> To: Rick Macklem <rmacklem@uoguelph.ca> Cc: freebsd-stable@freebsd.org Subject: Re: Strange NFS-related messages (related to lockd/statd) Message-ID: <20100330153839.GA32700@icarus.home.lan> In-Reply-To: <Pine.GSO.4.63.1003301041300.22616@muncher.cs.uoguelph.ca> References: <20100329165647.GA3796@icarus.home.lan> <Pine.GSO.4.63.1003301041300.22616@muncher.cs.uoguelph.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 30, 2010 at 10:45:09AM -0400, Rick Macklem wrote: > > > On Mon, 29 Mar 2010, Jeremy Chadwick wrote: > > >I recently brought up rpc.lockd and rpc.statd on all of our NFS clients > >(mixed RELENG_6, RELENG_7, and RELENG_8), and our NFS server (RELENG_8). > > > >All clients had nfs_client_enable="yes" in rc.conf prior to their last > >reboot, but lacked rpcbind_enable="yes", rpc_lockd_enable="yes", and > >rpc_statd_enable="yes" prior to the below. > > > >The 8.x clients started rpcbind, rpc.lockd, rpc.statd -- then said: > > > >NLM: failed to contact remote rpcbind, stat = 0, port = 0 > >Can't start NLM - unable to contact NSM > > > >The 7.x clients started rpcbind, rpc.lockd, rpc.statd -- then said: > > > >Can't start NLM - unable to contact NSM > > > Oh, I forgot to mention..I can't help much, but these protocols/daemons > are SunRPC, so they will be using portmapper (now called rpcbind) to get > port #s assigned dynamically. I also believe (not sure, don't know much > about it) that the NSM will poll for other machines, so it needs to be > able to talk to all clients and server(s), including doing IP broadcast > that gets to them all. (These were designed in the 1980s for a LAN, which > was just a chunk of coax in those days:-) > > Hope this helps, rick In fact it did! Your hint lead me to try my earlier idea: using the -h flag to rpcbind. Turns out lockd wasn't running on any of the systems (rpcinfo didn't show it, and ps didn't show it). I ended up modifying all of the boxes to use: rpcbind_flags="-h <ipaddr of em1>" (Where em1=LAN, em0=WAN. em0 contains the default route as well) Restarted rpcbind + statd + lockd (in that order). Voila, everything started up, and no messages. rpcinfo shows all correct services. So my guess is that by binding to INADDR_ANY by default, packets were going out the primary interface (em0) or going to broadcast on em0 -- which would return nothing, since pf blocked such packets. Makes sense to me anyway. Thanks! -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100330153839.GA32700>