DevHeads.net

What happened to NFS on fedora 11?

I just "yum update"ed my fedora 11 system, and after a reboot
virtually all my NFS mounts fail with:

mount.nfs: requested NFS version or transport protocol is not supported

I thought this was fixed a while back, now it is happening again.

I read the web page at:

<a href="http://www.linux-archive.org/fedora-development/375632-buyer-bewa-major-change-nfs-about-happen.html" title="http://www.linux-archive.org/fedora-development/375632-buyer-bewa-major-change-nfs-about-happen.html">http://www.linux-archive.org/fedora-development/375632-buyer-bewa-major-...</a>

and it sounds like this would only happen to 12 or maybe 13.

I don't even have an /etc/nfsmount.conf file to edit on my
fedora 11 box. Do I have to edit every NFS mount line in my
fstab manually?

Comments

Re: What happened to NFS on fedora 11?

By Tom Horsley at 10/07/2009 - 10:49

Looks like <a href="https://bugzilla.redhat.com/show_bug.cgi?id=505018" title="https://bugzilla.redhat.com/show_bug.cgi?id=505018">https://bugzilla.redhat.com/show_bug.cgi?id=505018</a>
which went away for me for a while, is now back again :-(.

Re: What happened to NFS on fedora 11?

By Tom Horsley at 10/07/2009 - 09:47

On Wed, 7 Oct 2009 10:35:40 -0400

Apparently I do :-(. I can only mount from older machines
if I explicitly give "proto=udp" as a mount option, at
least none of the other work-arounds I've tried have worked.

Re: What happened to NFS on fedora 11?

By Frank Cox at 10/07/2009 - 12:03

On Wed, 07 Oct 2009 10:47:36 -0400

I just discovered that I have the same problem here. This computer is supposed
to mount two fileservers. One of the fileservers runs Centos 5 and the other
is an Intel SS-4000E (a dedicated fileserver that runs its own embedded Linux).

The Centos 5 server mounted fine, but the Intel fileserver failed.

My fstab is set up as follows:

fileserver:/nas/NASDisk-00002/files/ /mnt/fileserver nfs
defaults 0 0

After rebooting my computer last night when it finished updating to
nfs-utils-1.2.0-5.fc11.x86_64 the fileserver failed to mount. I found out
about it this morning when my overnight backup to the fileserver failed to work.

Running the mount command from the commandline tells me this:

QUOTE:
[root@mutt frankcox]# mount fileserver:/nas/NASDisk-00002/files/ /mnt/fileserver

mount.nfs: requested NFS version or transport protocol is not supported
END OF QUOTE:

Using the suggested option "-o proto=udp", it mounted fine.

QUOTE:
[root@mutt frankcox]# mount -o proto=udp
fileserver:/nas/NASDisk-00002/files/ /mnt/fileserver
END OF QUOTE

That worked and my Intel fileserver is now present on this computer again.

Re: What happened to NFS on fedora 11?

By Tom Horsley at 10/07/2009 - 13:11

On Wed, 07 Oct 2009 10:24:04 -0700

There is absolutely no advantage, but there are machines with old servers
that won't talk anything except udp.

Re: What happened to NFS on fedora 11?

By Frank Cox at 10/07/2009 - 12:33

On Wed, 07 Oct 2009 10:24:04 -0700

Whatever it defaulted to has always worked for me up until yesterday's update
to nfs-utils. Whether it was using udp or tcp has never really been a concern
to me.

Again, it still seems to work fine when mounting a Centos 5 fileserver. It
failed with my dedicated Intel fileserver until I added the "-o proto=udp" to
the mount line. (I guess I'll have to start looking into how to get that
parameter into my /etc/fstab to prevent that from happening again the next
time this computer gets rebooted.)

Here is my note regarding how to make nfs work. I have followed these
instructions on many Fedora and Centos machines and haven't seen it fail before:

HOW TO SET UP A FIREWALL THAT ALLOWS NFS

Create the file "/etc/sysconfig/nfs" and add the following contents:

STATD_PORT=4001
LOCKD_TCPPORT=4002
LOCKD_UDPPORT=4002
MOUNTD_PORT=4003

Append the following to the file "/etc/services":

rquotad 4004/tcp # rpc.rquotad tcp port
rquotad 4004/udp # rpc.rquotad udp port

Restart the nfs services

4001:tcp, 4001:udp, 4002:tcp, 4002:udp, 4003:tcp, 4003:udp, 4004:tcp,
4004:udp

Re: What happened to NFS on fedora 11?

By Dr. Michael J. ... at 10/07/2009 - 14:44

Frank,

Slightly off-topic: you might want to look at migrating to NFSv4. You
only need one port (tcp port 2049) for it, so you don't need to do the
port pinning stuff noted above.

Once you learn the basic quirks of NFSv4, it seems to work much more
reliably than v3 ever did for me.

<a href="http://fedoraunity.org/solved/post-install-solutions/nfsv4-fedora" title="http://fedoraunity.org/solved/post-install-solutions/nfsv4-fedora">http://fedoraunity.org/solved/post-install-solutions/nfsv4-fedora</a>

My 2 cents...

- Mike

Re: What happened to NFS on fedora 11?

By Frank Cox at 10/07/2009 - 15:01

On Wed, 07 Oct 2009 15:44:42 -0400

I don't think my fileserver (Intel SS-4000E) supports NFS4.

Re: What happened to NFS on fedora 11?

By Craig White at 10/07/2009 - 15:33

<a href="http://www.intel.com/support/motherboards/server/ss4000-e/sb/CS-026770.htm" title="http://www.intel.com/support/motherboards/server/ss4000-e/sb/CS-026770.htm">http://www.intel.com/support/motherboards/server/ss4000-e/sb/CS-026770.htm</a>

Craig

Re: What happened to NFS on fedora 11?

By Craig White at 10/07/2009 - 12:46

The default protocol for NFS is tcp.

You are overriding the default by specifying udp protocol and I am
wondering if that offers a particular advantage.

TRANSPORT METHODS
NFS clients send requests to NFS servers via Remote Procedure Calls, or
RPCs. The RPC client discovers remote service endpoints automatically,
handles per-request authentication, adjusts request parameters for
different byte endianness on client and server, and retransmits requests
that may have been lost by the network or server. RPC requests and
replies flow over a network transport.

In most cases, the mount(8) command, NFS client, and NFS server can
automatically negotiate proper transport and data transfer size settings
for a mount point. In some cases, however, it pays to specify these
settings explicitly using mount options.

Traditionally, NFS clients used the UDP transport exclusively for
transmitting requests to servers. Though its implementation is
simple, NFS over UDP has many limitations that prevent smooth operation
and good performance in some common deployment environments. Even an
insignificant packet loss rate results in the loss of whole NFS
requests; as such, retransmit timeouts are usually in the subsecond
range to allow clients to recover quickly from dropped requests, but
this can result in extraneous network traffic and server load.

However, UDP can be quite effective in specialized settings where the
network’s MTU is large relative to NFS’s data transfer size (such as
network environments that enable jumbo Ethernet frames). In such
environments, trimming the rsize and wsize settings so that each NFS
read or write request fits in just a few network frames (or even in a
single frame) is advised. This reduces the probability that the loss
of a single MTU-sized network frame results in the loss of an entire
large read or write request.

TCP is the default transport protocol used for all modern NFS
implementations. It performs well in almost every conceivable network
environment and provides excellent guarantees against data corruption
caused by network unreliability. TCP is often a requirement for mounting
a server through a network firewall.

Under normal circumstances, networks drop packets much more frequently
than NFS servers drop requests. As such, an aggressive retransmit
timeout setting for NFS over TCP is unnecessary. Typical timeout
settings for NFS over TCP are between one and ten minutes. After the
client exhausts its retransmits (the value of the retrans mount option),
it assumes a network partition has occurred, and attempts to
reconnect to the server on a fresh socket. Since TCP itself makes
network data transfer reliable, rsize and wsize can safely be allowed to
default to the largest values supported by both client and server,
independent of the network’s MTU size.

Craig

Re: What happened to NFS on fedora 11?

By Frank Cox at 10/07/2009 - 13:43

On Wed, 07 Oct 2009 10:46:19 -0700

I never overrode anything until today. If NFS defaults to tcp, then I have
been using udp until now.

As of today, specifying udp causes my fileserver to work and the default
setting (whatever it may be) no longer works.

The advantage (to me) of specifying udp in this case is obvious: my fileserver
works again.

Re: What happened to NFS on fedora 11?

By Tom H at 10/07/2009 - 17:26

Have you tried forcing NFS v3? You may be defaulting to v4 and only v4
for some reason; new kernel, new nfs-utils. (The error does say
"requested NFS version or transport protocol is not supported".)

You can check the NFS version and protocol of the Intel box's exports
with either rpcinfo -p or nmap -nsTR just in case there is a TCP
export too that you are somehow not able to mount with your current
fstab entry/mount command.