Network Your Files in a Snap with NFS - Page 2

Part One: With NFS, you can provide your Unix users with a centralized file server for everything from simple storage to networked home directories. Here's what you need to get started.

 By Charlie Schluting
Page 2 of 2   |  Back to Page 1
Print Article

Continued From Page 1

The Clients
Most current Linux distributions will support NFS mounting out of the box. To check for kernel support, run grep nfs /proc/filesystems.

If enabled, a few lines mentioning NFS will be present. If not, you'll need to get a different kernel with built-in NFS support, or compile the module. Running insmod nfs should load the module if it happens to be present already.

On the client side, NFS requires a few RPC services before you can successfully mount a remote file system. Portmap, lockd, and statd all need to be running, and should be visible in the output of rpcinfo -p.

You can manually mount an NFS file system as root in the same manner as you would mount a local file system or CDROM.

For testing, I created a directory called /mnt/remote.

Then ran mount /mnt/remote, where is the NFS server's IP address. It should silently return to your prompt.

ls /mnt/remote will now reflect the contents of the server's /usr directory.

It's really that simple. The most frequent cause of NFS (clients or servers) not working is because the appropriate services are not running. Knowing how to check for them (rpcinfo -p) makes troubleshooting NFS a breeze. Once the file system is mounted, the mount command will show you that /mnt/remote is mounted from the server, and it will also display the mount options.

Mounting many different directories manually is no fun, and you can't do it as a normal user. On the bright side, NFS file systems can be added to /etc/fstab just like any other file system. An example of our above mount in /etc/fstab looks like: /mnt/remote nfs ro 0 0

A few options worth mentioning here are hard, soft and intr.

Mounting "hard" or "soft" has to do with how NFS will deal with the server disappearing suddenly because of a crash or network outage. Soft mounting is dangerous. If a read or write operation fails, the NFS client will report and error to the process that was executing the read or write. Most programs won't handle this properly, so it is best to simply use the hard mount option.

Hard mounting means that (just like when a disk fails) the process will hang waiting on i/o if a read or write doesn't process immediately. When the server comes back up, the process will continue normally. This method guarantees data integrity, but can be a bit annoying. Processes will become hung and non-killable unless you also specify the "intr" option, meaning interruptible. Using these recommended options, the fstab entry above will now have "ro,hard,intr" in the options field.

That about covers the basics of NFS. There are many uses for NFS aside from the occasional mounting of directories to copy files.

In an organization with multiple UNIX computers where users login to them all, it may be beneficial to move the user's home directories onto one file server. You can simply export /home, and then tell all the clients to get /home from the server, and the home directories will be the same no matter which machine users are logged in to. There are other ways to accomplish this as well, such as using autofs.

The next part of this NFS series will have more detail about automatic directory mounting.

This article was originally published on Mar 17, 2005
Get the Latest Scoop with Networking Update Newsletter