linux_wiki:nfs_shares

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

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.

  • linux_wiki/nfs_shares.txt
  • Last modified: 2019/05/25 23:50
  • (external edit)