Broken NFS server (or client?)

ME dugan at passwall.com
Sat Aug 11 11:35:54 PDT 2001


On Fri, 10 Aug 2001, Lincoln Peters wrote:
> Here's something interesting: I recompiled my server's kernel and rebooted.  
> When the server came back up, I tried to mount the root filesystem on my 
> non-diskless client, and got a "Connection refused" error.  Then I started 
> the user-space nfsd, tried again, and got the error: "Wrong fs, bad option, 
> bad superblock on MELAMPUS:/, or too many mounted filesystems".  I don't 
> know if that's an improvement or not.

Yep, good information. :-)

> ># cat /proc/filesystems
> >and see what you have? if nfs does not show up on the client, see if there
> >is a module and install it. Check on server, and also may want to install
> >all nfs modules if they are not installed but available for that kernel.
> 
> It doesn't show up on either test client, but I didn't expect it to, 
> considering the error messages.

I do not have a 2.4 series kernel here, but would expect that you should
see "nfs" in the list of filesystems that can be mounted. Did you
configure your client machines to have support for client based NFS?

> portmap is running, but the other services are not.
> 
> The more I try to find out what's wrong, the more it looks like the NFS 
> server is not working.

Well, if you are using the kernel based NFS server, you may only expect to
see portmapper running. I might exp. with a 2.4 series kernel and NFS3 in
kernel land at work on Sunday. I am going to go this route soon anyway for
a bunch of netbooting diskless clients soon anyway.

> I'm running 2.4.7 (same version as the test client with NO hard disk).  I've 
> tried it both with nfsd running and without nfsd running, and in both cases, 
> it doesn't work.
> 
> The test client that has a hard disk is running kernel 2.4.3 (from Red Hat 
> 7.1).

I dont run RH 7.1, but I'll see what I can find in duplicating the
problems you have been experiencing.

> >Also, could you do some other tests for me?
> >Find the IP address for the disk based test NFS client
> >add an entry in the /etc/hosts file on the NFS server for that station and
> >call it something uniqe like "test1.netboot.yourcomain.com"
> >Next, copy and backup the /etc/exports file to something like
> >/etc/exports.orig (assuming you dont have a /etc/exports.orig) and then
> >edit the /etc/exports on the system to change this:
> >/ (rw)	# Root filesystem (for diskless clients)
> >to something like:
> >#Root fs for diskless clients:
> >/ 	*.netboot.yourdomain.com(rw,insecure)
> 
> There is no record of a DHCP request from the diskless client on the DHCP 
> server, so there is no way for me to fidn out what the address is supposed 
> to be, short of installing a hard disk and a standard Linux OS.  Of course, 
> I can't be sure that I'll find out anything by doing so, but I guess it's 
> worth a try.  At least with VMWare, it's not a big hassle.

Na, no, I was looking for you to get the IP address of the disk based
client that is running linux. It was mostly to check the issues of
/etc/exports and a lack of allowed hosts in the listing.

> >Now can try one of these:
> ># exportfs -ar
> >(Above should work for you, but if you cant find it/get it to work,
> >then...)
> 
> When I ran that command, there was no output of any kind.  Does that mean 
> anything?

It should do that when it succeeds. If you want, you can try doing it
again and then type
# echo $?

if it gives a 0 ("zero") then it thinks it worked. A non-zero value may
mean that it encountered a problem.

Actually, since you are using the kernel based nfs, I am not sure if this
is the approved procedure now.

> >shutdown and restart your nfs service and related services in the
> >right order, and then restart them in the right order for that box. (Or
> >you can just reboot the whole dang box if you would prefer.)
> 
> Since I'm using a kernel-based NFS server, wouldn't I have to reboot anyway?

I don't know because I am still using the proc-land nfsd. I was waiting
for kernel based nfs to get out of experimental, and then I was waiting
for Solar Designer's Nonexecutable stack pacth to be ported to 2.4. :-/

It is likely his patch will come out soon, so I am going to start research
with migration to 2.4 for our servers this weekend and target a migration
for some servers before the new semester begins.

> How about: (netstat -an)
> Active Internet connections (servers and established)
> Proto	Recv-Q	Send-Q	Local address	Foreign address		State
> (a bunch of unrelated entries, followed by...)
> tcp	0	0	0.0.0.0:111	0.0.0.0:*		LISTEN
> udp	0	0	0.0.0.0:111	0.0.0.0:*
> 
> (later on...)
> Active UNIX domain sockets (servers and established)
> Proto	RefCnt	Flags	Type	State	I-Node	Path
> unix	2	[ ]	DGRAM		766
> unix	2	[ ]	DGRAM		735
> 

Even with a kernel based NFS server, I would expect to see the network
ports open for service with a netstat. Hmm.

> >Also, what version of nfs-utils and mout do you have installed on the
> >client/server?
> 
> On the server, nfs-utils-0.3.1-5 (from Red Hat 7.1).  The diskless test 
> client does not have nfs-utils, but the other test client had the same 
> version of nfs-utils as the server.
> 
> >
> >Also, as another thought, could you show me your /etc/hosts.allow and
> >/etc/hosts.deny?
> >
> 
> On all systems except the router/firewall, those two files are empty.

Well, there goe sthat thought. :-/

> The /etc/hosts file on the server contains entries for all of the computers 
> on my network except for the diskless test client (and a few Windows NT and 
> 98 machines).  I need to find a way to discover the IP address of the test 
> client before I can enter it in.  Actually, I need to see if the system is 
> making DHCP requests at all.

OK, then find the IP address of the disk based test system and edit your
etc/hosts to add a name like test1.netboot.yourdomain.com and then make
the change to /etc/exports mentioned before to the /etc/exports file. It
is less important to test now that we know your /etc/hosts.deny is empty.

This is puzzling. I would continue to focus on these two things:
1) clients should have nfs listed as a filesystm when cating
/proc/filesystems
2) the server not showing the service ports for NFS being open bring up a
question: is it really available for service?

-ME

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/CM$/IT$/LS$/S/O$ !d--(++) !s !a+++(-----) C++$(++++) U++++$(+$) P+$>+++ 
L+++$(++) E W+++$(+) N+ o K w+$>++>+++ O-@ M+$ V-$>- !PS !PE Y+ !PGP
t at -(++) 5+@ X@ R- tv- b++ DI+++ D+ G--@ e+>++>++++ h(++)>+ r*>? z?
------END GEEK CODE BLOCK------
decode: http://www.ebb.org/ungeek/ about: http://www.geekcode.com/geek.html
     Systems Department Operating Systems Analyst for the SSU Library



More information about the talk mailing list