Buyer Beware: A Major Change in NFS is about to happen
Steve Dickson
SteveD at redhat.com
Tue Sep 29 21:33:15 UTC 2009
Hello,
As part of the https://fedoraproject.org/wiki/Features/NFSv4Default feature
I am one commit away from changing the default protocol version NFS will
be using (or at least trying to use).
What does this means to you? Hopefully nothing! In theory this should
be a very seamless transition but with all new technology there
will be (and are) some rough spots.
Why are make the change? See the NFSv4Default wiki for details,
but in a nutshell:
* Better performance - V4 is now a stateful protocol. Meaning the server keeps
state on all the clients access a particular file or directory. This
allows the server to give out delegations (or leases) which in turn
allows the client to aggressive cache both data and meta data locally
* Firewall Friendly- With v4 only one port is used 2049 for all traffic
including mounting and file locking.
* Finally it enables us use upcoming minor releases of the the protocol.
NFS version 4.1 and pNFS are two example of upcoming minor releases.
FYI, V4 was introduced in Fedora Core 2 so it has been around for a while. I
personally have been using it for my home directory for a couple years now..
For more of the nitty gritty details see
http://www.iaps.com/NFSv4-new-features.html
That's the good news... Here is the bad....
Because the mount command will try NFS v4 first, mounts to older Linux servers
will start failing like:
# mount linux-server:/export /mnt
mount.nfs: mounting linux-server:/export failed, reason given by server:
No such file or directory
This is due to a defect in the Linux server exporting code, which is fixed
in F-12, *but* there are a number of workarounds
On the server (Which is suggested):
* Add the following entry to the /etc/exports file:
/ *(ro,fsid=0) Note: 'fsid=0' is explained in the exports(5) man pages.
On the client, go back to v3 mounts by doing one of the following:
* Add -o v3 to command line, similar to:
mount linux-server:/export /mnt
* Change the default mount version in the new /etc/nfsmount.conf file by
uncommenting the Nfsvers=3 setting in the 'NFSMount_Global_Options' section.
See nfsmount.conf(5) man page for details. The diff would look like:
--- /etc/nfsmount.conf 2009-09-29 16:58:13.000000000 -0400
+++ /tmp/nfsmount.conf 2009-09-29 16:56:04.000000000 -0400
@@ -29,7 +29,7 @@
# options that can be applied on all NFS mount.
#
# Protocol Version [2,3,4]
-#Nfsvers=3
+Nfsvers=3
# Network Transport [Udp,Tcp,Rdma]
# Proto=Tcp
#
steved.
More information about the Fedora-devel-announce
mailing list