NFS Server in Linux - Concepts


NFS (Network File System)


NFS stands for Network File System, a file system developed by Sun Microsystems, Inc. A Network File System (NFS) allows remote hosts to mount file systems over a network and interact with those file systems as though they are mounted locally. For example, if you were using a computer linked to a second computer via NFS, you could access files on the second computer as if they resided in a directory on the first computer.

NFS is used for sharing of files and folders between Linux/UNIX like systems. It allows user to mount their local file systems over a network and remote hosts to interact with them as they are mounted locally on the same system. With the help of NFS, we can set up file sharing between UNIX and Linux systems.


NFS Versions


Currently, there are three versions of NFS. NFS2, NFS3, NFS4

NFS version 2 (NFSv2): it is older and widely supported.

NFS version 3 (NFSv3): It is more robust at error handling than NFSv2. It supports safe asynchronous writes and also supports 64-bit file sizes and offsets, allowing clients to access more than 2 GB of file data.

NFS version 4 (NFSv4): It can be secured through firewalls and does not requires an rpcbind service. It also supports ACLs and utilizes stateful operations.

All versions of NFS can use Transmission Control Protocol (TCP) running over an IP network, with NFSv4 requiring it. NFSv2 and NFSv3 can use the User Datagram Protocol (UDP) running over an IP network to provide a stateless network connection between the client and server.

NFSv4 does not need to interact with rpcbind, lockd, and rpc.statd daemons. The rpc.mountd daemon is still required on the NFS server to set up the exports, but is not involved in any over-the-wire operations.



No comments: