NFS Interview questions and answers
Here is a list of 40 important NFS Interview Questions
Ans: A Network File System (NFS) allows remote machine 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 over the network.
Q:2 What is the default port of NFS server ?
Ans: By default NFS uses 2049 TCP port.
Q:3 What are different versions of NFS Server ?
Ans: Currently, there are three versions of NFS. NFS version 2 (NFSv2) is older and widely supported. NFS version 3 (NFSv3) supports safe asynchronous writes and is more robust at error handling than NFSv2; it also supports 64-bit file sizes and offsets, allowing clients to access more than 2Gb of file data.
NFS version 4 (NFSv4) works through firewalls and on the Internet, no longer requires an rpcbind service, supports ACLs, and utilizes stateful operations. Red Hat Enterprise Linux 6.X & Centos 6.X supports NFSv2,NFSv3, and NFSv4 clients. When mounting a file system via NFS, Red Hat Enterprise Linux uses NFSv4 by default, if the server supports it.
Q:4 What are configuration files of NFS server ?
Ans: '/etc/exports' is the main configuration file that controls which file systems are exported to remote hosts and specifies options.
'/etc/sysconfig/nfs' is the file through which we can fix ports for RQUOTAD_PORT, MOUNTD_PORT, LOCKD_TCPPORT, LOCKD_UDPPORT and STATD_PORT
Q:5 What are different options used in /etc/exports file ?
Ans: Below are list of options used in /etc/exports file :
ro: The directory is shared read only; the client machine will not be able to write to it. This is the default.
rw: The client machine will have read and write access to the directory.
root_squash: By default, any file request made by user root on the client machine is treated as if it is made by user nobody on the server. (Exactly which UID the request is mapped to depends on the UID of user "nobody" on the server, not the client.)
no_root_squash : if this option is used , then root on the client machine will have the same level of access to the files on the system as root on the server. This can have serious security implications, although it may be necessary if you want to perform any administrative work on the client machine that involves the exported directories. You should not specify this option without a good reason.
no_subtree_check : If only part of a volume is exported, a routine called subtree checking verifies that a file that is requested from the client is in the appropriate part of the volume. If the entire volume is exported, disabling this check will speed up transfers.
sync : Replies to the NFS request only after all data has been written to disk. This is much safer than async, and is the default in all nfs-utils versions after 1.0.0.
async : Replies to requests before the data is written to disk. This improves performance, but results in lost data if the server goes down.
no_wdelay : NFS has an optimization algorithm that delays disk writes if NFS deduces a likelihood of a related write request soon arriving. This saves disk writes and can speed performance
wdelay : Negation of no_wdelay , this is default
nohide : Normally, if a server exports two filesystems one of which is mounted on the other, then the client will have to mount both filesystems explicitly to get access to them. If it just mounts the parent, it will see an empty directory at the place where the other filesystem is mounted. That filesystem is "hidden". Setting the nohide option on a filesystem causes it not to be hidden, and an appropriately authorised client will be able to move from the parent to that filesystem without noticing the change.
hide : Negation of nohide This is the default
Q:6 How to list available nfs share on local machine & remote machine ?
Ans: 'showmount -e localhost' : Shows the available shares on your local machine
'showmount -e <Remote-server-ip or hostname>': Lists the available shares at the remote server.
Q:7 What is pNFS ?
Ans: Parallel NFS (pNFS) as part of the NFS v4.1 standard is available as of Red Hat Enterprise Linux 6.4. The pNFS architecture improves the scalability of NFS, with possible improvements to performance. That is, when a server implements pNFS as well, a client is able to access data through multiple servers concurrently. It supports three storage protocols or layouts: files, objects, and blocks.
Q:8 What is the difference between Hard mount & Soft mount in nfs ?
Ans: Difference between soft mount and hard mount is listed below :
Soft Mount : Consider we have mounted a NFS share using 'soft mount' . When a program or application requests a file from the NFS filesystem, NFS client daemons will try to retrieve the data from the NFS server. But, if it doesn’t get any response from the NFS server (due to any crash or failure of NFS server), the NFS client will report an error to the process on the client machine requesting the file access. The advantage of this mechanism is “fast responsiveness” as it doesn’t wait for the NFS server to respond. But, the main disadvantage of this method is data corruption or loss of data. So, this is not a recommended option to use.
Hard Mount : Suppose we have mounted the NFS share using hard mount, it will repeatedly retry to contact the server. Once the server is back online the program will continue to execute undisturbed from the state where it was during server crash. We can use the mount option “intr” which allows NFS requests to be interrupted if the server goes down or cannot be reached. Hence the recommended settings are hard and intr options.
Q:9 How to check iostat of nfs mount points ?
Ans: Using command 'nfsiostat' we can list iostat of nfs mount points. Use the below command :
# nfsiostat <interval> <count> <mount_point>
<interval> : specifies the amount of time in seconds between each report. The first report contains statistics for the time since each file system was mounted. Each subsequent report contains statistics collected during the interval since the previ-ous report.
<count> : If the <count> parameter is specified, the value of <count> determines the number of reports generated at seconds apart. if the interval parameter is specified without the <count> parameter, the command generates reports continuously.
<mount_point> : If one or more <mount point> names are specified, statistics for only these mount points will be displayed. Otherwise, all NFS mount points on the client are listed.
Q:10 How to check nfs server version ?
Ans: 'nfsstat -o all' command shows all information about active versions of NFS.
Q:11 What is portmap?
Ans: The portmapper keeps a list of what services are running on what ports. This list is used by a connecting machine to see what ports it wants to talk to access certain services.
Q:12 How to reexport all the directories of '/etc/exports' file ?
Ans: Using the command ' exportfs -r ' , we can reexport or refresh entries of '/etc/exports' file without restarting nfs service.
Q:13 How to retrieve a list of clients connected to the NFS server ?
To retrieve a list of clients connected to the NFS server, use the showmount command
from a shell prompt. To also show the directories the clients are connected to, use the
showmount -a command.
Q:14What is meaning of "no_root_squash" option ?
Treat remote root user as local root. Do not map requests from root to the anony-
mous user and group ID.
Q:15 Can we grant access by Username and password for nfs share?
No, access is granted only for IP address.
Q:16 What is the role of "all_squash" option?
Treat all client users as anonymous users. Map all user and group IDs to the anonymous user and group ID.
Q:17 - What is the role of "root_squash" option?
All requests from the user root are translated or mapped as if they came from the user anonymous (default).
Q: 18- Explain option "all_squash"?
The UID and GID of exported files are mapped to the user anonymous. It is good for public directories.
Q:19 - Explain "exportfs" command?
The exportfs command is used to maintain the current table of exported file systems for NFS.
Q:20 - Explain command "/usr/sbin/exportfs -f"?
It will flush everything out of the kernels export table. Any clients that are active will get new entries added by mountd when they make their next request.
Q:21What is the role of "all_squash" option?
ANS:Treat all client users as anonymous users. Map all user and group IDs to the anonymous user and group ID.
Q:22 - What is the role of "root_squash" option?
ANS:All requests from the user root are translated or mapped as if they came from the user anonymous (default).
Q:23 - Explain option "all_squash"?
ANS:The UID and GID of exported files are mapped to the user anonymous. It is good for public directories.
Q:24 - Explain "exportfs" command?
ANS:The exportfs command is used to maintain the current table of exported file systems for NFS.
Q:25 - Explain command "/usr/sbin/exportfs -f"?
ANS:It will flush everything out of the kernels export table. Any clients that are active will get new entries added by mountd when they make their next request.
Q:26 - Which option is used with exportfs command to display the current export list, also displays the list of export options?
Q:27 - Which option is used with exportfs command to re-export all directories?
Q:28 - How you will export directory (/data) to host 192.168.1.51, allowing asynchronous writes without adding the entry in /etc/exports file?
ANS:# exportfs -o async 192.168.1.51:/data
Q:29 - Is rpc.mountd daemon supports TCP_WRAPPERS?
ANS:Yes, The rpc.mountd daemon is protected by the tcp_wrappers. You have to give the clients access to rpc.mountd if they should be allowed to use NFS Server.
Q:30 - Explain "nfsstat" command?
ANS:The nfsstat command displays the statistics about NFS client and NFS server activity.
Q:31 - What do you understand by "nfsstat -o all -234" command?
ANS:It will Show all information about all versions of NFS.
Q:32 - What do you understand by "nfsstat --nfs --server -3" command?
ANS:It will show statistics for NFS version 3 server.
Q:33 - Can NFS share mounted on Window XP and Justify your answer?
ANS:No, Window XP operating system doesn’t support nfs protocol.
Q:34 - 192.168.1.51:/data is exported by NFS Server and i want to add this NFS share to client /etc/fstab file. How you will add this entry in /etc/fstab file?
ANS:# device mount-point fs-type options dump fsckorder
192.168.1.51:/data /mnt nfs defaults 0 0
Q: 35- Explain "Soft Mounting" option at NFS Client?
ANS:if a file request fails, the NFS client will report an error to the process on the client machine requesting the file access. if it cannot be satisfied (for example, the server is down), then it quits. This is called soft mounting.
Q:36 - Explain "Hard Mounting" option at NFS Client?
ANS:If a file request fails, the NFS client will report an error to the process on the client machine requesting the file access. if it cannot be satisfied, then it will not quit until the request is satisfied. This is called Hard mounting.
Q:37-How you will check "portmap" service is running or not?