Revision History
Revision 4.02006-05-02cms
Update to Docbook XML 4.2.
Revision 3.12002-08-25tavis
Typo in firewalling section in 3.0
Revision 3.02002-07-16tavis
Updates plus additions to performance and security sections.


This document describes the best practice guidelines around how to configure Linux NFS properly in production environments. It discusses server and client configuration, as well as security and performance tuning. References are provided at the end of the document for additional resources and additional information.

Table of Contents

1. Preamble
1.1. Latest Version
1.2. Disclaimer
1.3. Contributors
1.4. Feedback
1.5. Translation
1.6. Dedication
2. Introduction
2.1. What is NFS?
2.2. The Purpose of this Document
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 Server Setup
3.2. Setting up the Configuration Files
3.3. Getting the services Started
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
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.4. Tunneling NFS Through SSH
6.5. 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.2. BSD
8.3. Tru64 Unix
8.4. HP-UX
8.5. IRIX
8.6. Solaris
8.7. SunOS