A (NFS) Network File System allows remote hosts to mount file systems over a network and interact with those file systems as though they are mounted locally.
This enables system administrators to consolidate resources onto centralized servers on the network.
This module focuses on fundamental NFS concepts and supplemental information. For specific instructions regarding the configuration and operation of NFS server and client software, refer to the module titled (NFS) Network File System Redhatlinuxsysadmin. Currently, there are two versions of NFS. NFS version 2 is older and is widely supported. (NFSv3) NFS version 3 has more features, including variable size file handling and better error reporting, but is not fully compatible with NFSv2 clients. Red Hat Enterprise Linux serves both
- NFSv2 and
- NFSv3
clients, and when mounting a file system via NFS, Red Hat Enterprise Linux uses NFSv3 by default, if server the supports it.
NFSv2 uses the (UDP) User Datagram Protocol to provide a stateless network connection between the client and server.
NFSv3 can use either UDP or (TCP) Transmission Control Protocol running over an IP network.
The stateless UDP connection under normal conditions minimizes network traffic, as the NFS server sends the client a cookie after the client is authorized to access the shared volume. This cookie is a random value stored on the server's side and is passed along with RPC requests from the client.
The NFS server can be restarted without affecting the clients and the cookie remains intact. However, because UDP is stateless, if the server goes down unexpectedly, UDP clients continue to saturate the network with requests for the server. For this reason, TCP is the preferred protocol when connecting to an NFSv3 server.