Network File System (NFS)

(Lab Setup Series)

1 Overview

2 Base Lab

vm1$ apk add nfs-utils rsyslog util-linux e2fsprogs-extra
vm2$ apk add nfs-utils rsyslog util-linux e2fsprogs-extra

3 Manual Setup

The step-by-step procedure to set up the NFS server and client.

3.1 Export NFS on Server

vm1$ rc-service nfs start
vm1$ mkdir -p /srv/nfs
vm1$ chmod -R 777 /srv/nfs

vm1$ cat /etc/exports
# -------------------------------------------------- #
# Accept clients from 192.0.0.0/24
/srv/nfs 192.0.0.0/24(rw,sync,no_subtree_check)
# -------------------------------------------------- #

vm1$ exportfs -a

vm1$ exportfs -v
/srv/nfs        192.0.0.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,ro)

3.2 Mount NFS on Client

vm2$ mkdir /mnt/nfs

vm2$ mount -t nfs 192.0.0.10:/srv/nfs /mnt/nfs

vm2$ df -h
192.0.0.10:/srv/nfs       5.6G    220.9M      5.1G   4% /mnt/nfs

4 Boot Configuration

4.1 Export NFS on Boot

vm1$ rc-update add nfs

4.2 Mount NFS on Boot

vm2$ rc-update add nfsmount
vm2$ cat /etc/fstab
192.0.0.10:/srv/nfs /mnt/nfs nfs4 rw,_netdev 0 0

5 Automation Setup

To save time from manual setup, use the below steps to quickly setup the NFS lab.

host$ find lab/nfs -type f -exec docker cp {} apk:/ws
host$ docker exec apk /ws/nfs_setup.sh

6 References