mountd has resolving problems

Jeremy Chadwick freebsd at jdc.parodius.com
Thu Sep 9 14:05:31 UTC 2010


On Thu, Sep 09, 2010 at 03:10:17PM +0200, Olaf Seibert wrote:
> I just upgraded a box from 8.0 to 8.1, and already when rebooting with
> the new kernel (i.e. before installing new userland), I got the
> following problem.
> 
> Of course many of the messages scrolled off screen, but some were
> preserved in the syslog.
> 
> Sep  9 14:26:51 fourquid mountd[839]: can't get address info for host XYZ
> Sep  9 14:26:51 fourquid mountd[839]: bad host XYZ in netgroup vbgroup, skipping
> 
> Mountd was run and wanted to determine which hosts to export to.
> However, it could not resolve any of them. So, that suggests some
> network issue.
> 
> However, I use a static IP address (no DHCP) and static info in
> /etc/resolv.conf, using one of the university's name servers. So
> resolving should always be available.
> 
> Running /etc/rc.d/mountd restart so far always solved the export
> problem.
> 
> I have also seen (presumably similar) issues with mounting NFS file
> systems, but that was deemed so fatal that the boot was aborted. A mount
> ``by hand'' of the affected file system also worked.
> 
> Any ideas? Maybe with the new kernel the network interface is a bit
> slower in coming up, and not fully working by the time /etc/rc.d/mountd
> runs? In fact, I now notice this sequence of messages in
> /var/log/messages:
> 
> Sep  9 14:26:51 fourquid mountd[839]: bad host XYZ in netgroup vbgroup, skipping
> Sep  9 14:26:51 fourquid mountd[839]: bad exports list line /xxxxxx
> Sep  9 14:26:54 fourquid kernel: fuse4bsd: version 0.3.9-pre1, FUSE ABI 7.8
> Sep  9 14:26:54 fourquid init: /bin/sh on /etc/rc terminated abnormally, going to single user mode
> Sep  9 14:26:55 fourquid kernel: nfe0: link state changed to UP
> 
> so here the network interface takes a full 4 more seconds to come up,
> after it was already needed.
> 
> I can try to put a 10 sec delay somewhere, but there should be a better
> solution...

The problem is that the network isn't "truly" up and available by the
time mountd runs, and therefore DNS resolution doesn't work.  Please use
my netwait script to solve this problem:

http://jdc.parodius.com/freebsd/netwait

Place it in /usr/local/etc/rc.d, make sure it's chmod'd to 755,
then enable use of it by using /etc/rc.conf variables like so:

netwait_enable="yes"
netwait_ip="4.2.2.1 4.2.2.2"
netwait_if="nfe0"

For what the variables do, please see the script comments.

-- 
| Jeremy Chadwick                                   jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |



More information about the freebsd-stable mailing list