Sample Visio – NFS Protocol Stack / VFS drawing
July 16, 2012Free Visio Document download file
NFS/DFS: An Overview
- Unix distributed filesystems are used to
-
- centralize administration of disks
- provide transparent file sharing across a network
- Three main systems:
-
- NFS: Network File Systems developed by Sun Microsystems 1984
- AFS: Andrew Filesystem developed by Carnegie-Mellon University
- Unix NFS packages usually include client and server components
-
- A DFS server shares local files on the network
- A DFS client mounts shared files locally
- a Unix system can be a client, server or both depending on which commands are executed
- Can be fast in comparasion to many other DFS
-
- Very little overhead
- Simple and stable protocols
- Based on RPC (The R family and S family)
Overview of NFS
- Developed by Sun Microsystems 1984
- Independent of operating system, network, and transport protocols.
- Available on many platforms including:
-
- Linux, Windows, OS/2, MVS, VMS, AIX, HP-UX….
- Restrictions of NFS
-
- stateless open architecture
- Unix filesystem semantics not guaranteed
- No access to remote special files (devices, etc.)
- Restricted locking
-
- file locking is implemented through a separate lock daemon
- Industry standard is currently nfsV3 as default in
-
- RedHat, SuSE, OpenBSD, FreeBSD, Slackware, Solaris, HP-UX, Gentoo
- Kernel NFS or UserSpace NFS
Versions of NFS
- Version 2:
-
- Supports files up to 4GB long (most common 2GByte)
- Requires an NFS server to successfully write data to its disks before the write request is considered successful
- Has a limit of 8KB per read or write request. (1 TCP Window)
- Version 3 is the industry standard:
-
- Supports extremely large file sizes of up to 264 – 1 bytes
- Supports files up to 8 Exabyte
- Supports the NFS server data updates as being successful when the data is written to the server’s cache
- Negotiates the data limit per read or write request between the client and server to a mutually decided optimal value.
- Version 4 is coming:
-
- File locking and mounting are integrated in the NFS daemon and operate on a single, well known TCP port, making network security easier
- Support for the bundling of requests from each client provides more efficient processing by the NFS server.
- File locking is mandatory, whereas before it was optional
NFS Daemons
- Portmap The primary daemon upon which all the RPC rely
-
- Manages connections for applications that use the RPC specification
- Listens to TCP port 111 for initial connection
- negotiate a range of TCP ports, usually above port 1024, for further comms.
- You need to run portmap on both the NFS server and client.
- Nfs (rpc.nfsd)
– Starts the RPC processes needed to serve shared NFS file systems
– Listens to TCP or UDP port 2049 (port can vary)
– The nfs daemon needs to be run on the NFS server only.
- Nfslock (rpc.mountd)
-
- Used to allow NFS clients to lock files on the server via RPC processes.
- Neogated port UDP/TCP port
- The nfslock daemon needs to be run on both the NFS server and client
- netfs
-
- Allows RPC processes run on NFS clients to mount NFS filesystems on the server.
- The nfslock daemon needs to be run on the NFS client only.
www.bestitdocuments.com