Table of Contents

About

Network File System (NFS) is a network file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a network in a manner similar to how local storage is accessed.

With other file systems, the storage device must be directly attached to the local system. However, with NFS this is not a requirement, making possible a variety of different configurations, from centralized file system servers to entirely diskless computer systems.

However, unlike the other file systems, NFS does not dictate a specific on-disk format. Instead, it relies on the server operating system's native file system support to control the actual I/O to local disk drive(s). NFS then makes the file system available to any operating system running a compatible NFS client.

While primarily a Linux and UNIX technology, it is worth noting that NFS client implementations exist for other operating systems, making NFS a viable technique to share files with a variety of different platforms.

The file systems an NFS server makes available to clients is controlled by the configuration file /etc/exports.

The Network File System is an open standard defined in RFCs, allowing anyone to implement the protocol.

The Network File System (NFS) is a mechanism for storing files on a network. It is a distributed file system that allows users to access files and directories located on remote computers and treat those files and directories as if they were local. For example, users can use operating system commands to create, remove, read, write, and set file attributes for remote files and directories.

Protocol

NFS made use of 2 protocols:

  • one for the Mount mechanism
  • and an other to access the external file system, the NFS protocol.

The Mount Protocol

The function of the Mount protocol is to made a logical relation between a server and a client. The Mount protocol gives an access to the client to the file system of the server.

The term “mount” is actually an analogue to a hardware term that refers to making a physical storage volume available. In the “olden days” storage devices were usually removable disk packs, and to use one you mounted it onto a drive unit. In a similar manner, NFS resources are logically mounted using the Mount protocol, which makes the shared file system available to the client. A file can then be opened and a file handle returned to the NFS client so it can reference the file for operations such as reading and writing.

The NFS protocol

The NFS protocol is composed from several RFC procedures. This procedures support several operations such as:

  • Search of a file in a directory;
  • Read the directory entries
  • Manipulation of links and directories.
  • Read and write File.

It is only possible via a file handle that you get with the mount protocol to invoke these procedures.

Linux

To check whether NFS is running, do one of the following:

  • On Red Hat Linux
service nfs status
service portmap status
  • On SUSE LINUX
rcnfs status
rcnfsserver status (no longer available with SLES 11)
rcportmap status (no longer available with SLES 11)

Reference