NFS Shares
General Information
Creating NFS shares on a server and connecting to them via a client.
Checklist
- Distro(s): Enterprise Linux 7
- Other: Two systems (server and client)
NFS Server Setup
- Install required package
yum install nfs-utils
- Start and enable the NFS Server
systemctl start nfs-server systemctl enable nfs-server
- Create your share directory structure
mkdir -p /data/share1
- Create an export line to share the directory
vim /etc/exports /data/share1 192.168.1.0/24(rw)
- /data/share1 ⇒ the directory to share
- 192.168.1.0/24(rw) ⇒ share to entire network with read/write.
- Other ways to share are to specify single hostnames(short, fqdn, single ip), IP networks (as shown), hostnames/domains with wildcards (*.mydomain.edu). See man exports for more details.
- If a firewall is running, allow nfs, rpc-bind, and mountd
firewall-cmd --permanent --add-service=nfs firewall-cmd --permanent --add-service=rpc-bind firewall-cmd --permanent --add-service=mountd firewall-cmd --reload
- nfs (tcp/udp 2049) ⇒ needed for NFSv4
- rpc-bind (tcp/udp 111) ⇒ needed for NFSv3 compatibility and for showmount to work from client
- mountd (tcp/udp 20048) ⇒ needed for the “showmount -e hostname” command to work from a client
NFS Server: Increasing NFS Threads
To increase NFS server performance, it is usually necessary to increase the number of NFS daemon processes running. (The default is very small at 8.)
- CentOS 7
- Edit the following config file
vim /etc/sysconfig/nfs # Number of nfs server processes to be started. # The default is 8. RPCNFSDCOUNT=16
- Restart the nfs-config service
systemctl restart nfs-config
- Restart the nfs service
systemctl restart nfs-server
- Verify
- NFS running sysconfig (takes effect after nfs-config restart)
cat /run/sysconfig/nfs-utils RPCNFSDARGS=" 16"
- “th” line in proc (number after 'th' is number of processes)
grep th /proc/net/rpc/nfsd th 16 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
- Running processes
ps -elf | grep nfsd] | grep -v grep | wc -l 16
NFS Client Setup
- Install required package
yum install nfs-utils
- View available mounts on NFS Server
showmount -e fileserver01 Export list for fileserver01: /data/share1 192.168.1.0/24
- Mount temporarily
mount -t nfs fileserver01:/data/share1 /mnt
- Mount persistently
vim /etc/fstab ## NFS Shares ## fileserver01:/data/share1 /remote nfs _netdev 0 0
- _netdev ⇒ Mount option to skip mounting this location until the network is available.