Linux NFS-HOWTO

Tavis Barr

         tavis dot barr at liu dot edu
       

Nicolai Langfeldt

         janl at linpro dot no
       

Seth Vidal

        skvidal at phy dot duke dot edu
      

Tom McNeal

        trmcneal at attbi dot com
      

2000-12-28


Table of Contents
1. Preamble
1.1. Legal stuff
1.2. Disclaimer
1.3. Feedback
1.4. Translation
1.5. Dedication
2. Introduction
2.1. What is NFS?
2.2. What is this HOWTO and what is it not?
2.3. Knowledge Pre-Requisites
2.4. Software Pre-Requisites: Kernel Version and nfs-utils
2.5. Where to get help and further information
3. Setting Up an NFS Server
3.1. Introduction to the server setup
3.2. Setting up the Configuration Files
3.2.1. /etc/exports
3.2.2. /etc/hosts.allow and /etc/hosts.deny
3.3. Getting the services started
3.3.1. Pre-requisites
3.3.2. Starting the Portmapper
3.3.3. The Daemons
3.4. Verifying that NFS is running
3.5. Making changes to /etc/exports later on
4. Setting up an NFS Client
4.1. Mounting remote directories
4.2. Getting NFS File Systems to Be Mounted at Boot Time
4.3. Mount options
4.3.1. Soft vs. Hard Mounting
4.3.2. Setting Block Size to Optimize Transfer Speeds
5. Optimizing NFS Performance
5.1. Setting Block Size to Optimize Transfer Speeds
5.2. Packet Size and Network Drivers
5.3. Overflow of Fragmented Packets
5.4. NFS over TCP
5.5. Timeout and Retransmission Values
5.6. Number of Instances of the NFSD Server Daemon
5.7. Memory Limits on the Input Queue
5.8. Turning Off Autonegotiation of NICs and Hubs
5.9. Synchronous vs. Asynchronous Behavior in NFS
5.10. Non-NFS-Related Means of Enhancing Server Performance
6. Security and NFS
6.1. The portmapper
6.2. Server security: nfsd and mountd
6.3. Client Security
6.3.1. The nosuid mount option
6.3.2. The broken_suid mount option
6.3.3. Securing portmapper, rpc.statd, and rpc.lockd on the client
6.4. NFS and firewalls (ipchains and netfilter)
6.5. Tunneling NFS through SSH
6.6. Summary
7. Troubleshooting
7.1. Unable to See Files on a Mounted File System
7.2. File requests hang or timeout waiting for access to the file.
7.3. Unable to mount a file system
7.4. I do not have permission to access files on the mounted volume.
7.5. When I transfer really big files, NFS takes over all the CPU cycles on the server and it screeches to a halt.
7.6. Strange error or log messages
7.7. Real permissions don't match what's in /etc/exports.
7.8. Flaky and unreliable behavior
7.9. nfsd won't start
7.10. File Corruption When Using Multiple Clients
8. Using Linux NFS with Other OSes
8.1. AIX
8.1.1. Linux Clients and AIX Servers
8.1.2. AIX clients and Linux Servers
8.2. BSD
8.2.1. BSD servers and Linux clients
8.2.2. Linux servers and BSD clients
8.3. Compaq Tru64 Unix
8.3.1. Tru64 Unix Servers and Linux Clients
8.3.2. Linux Servers and Tru64 Unix Clients
8.4. HP-UX
8.4.1. HP-UX Servers and Linux Clients
8.4.2. Linux Servers and HP-UX Clients
8.5. IRIX
8.5.1. IRIX Servers and Linux Clients
8.5.2. IRIX clients and Linux servers
8.6. Solaris
8.6.1. Solaris Servers
8.6.2. Solaris Clients
8.7. SunOS
8.7.1. SunOS Servers
8.7.2. SunOS Clients