How To Mount NFS Share On Ubuntu

Mount NFS
image_pdfimage_print

Network File System (NFS)

NFS allows a system to share directories and files with others over the network. By using NFS, users and programs can access files on remote systems almost as if they were local files.”

Lab Overview

In this quick guide we will illustrate how to install the needed nfs client component and mount a NFS share on a Ubuntu client. In this guide I am mounting a NFS share that i have setup on my NAS.

Lab Requirements

  1. NFS server
  2. Shared directory on the NFS server
  3. Ubuntu client

Step 1: Prepare the Ubuntu client

Lets start by updating the Ubuntu client.

sudo apt update -y

Step 2: Configure the Firewall to allow NFS traffic

Enable the firewall to allow NFS traffic, the default port for NFS is 2049. Make sure to substitute the IP address to you NFS server IP address. My NFS server have IP address 192.168.200.222.

sudo ufw allow from [NFS_Server_IP or NFS_subnet_address] to any port nfs

Example:

sudo ufw allow from 192.168.200.222 to any port nfs

Verify the firewall change

sudo ufw status
org@per:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
2049                       ALLOW       192.168.200.222
22/tcp (v6)                ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

org@per:~$

Step 3: Install NFS common client

nfs-common provides NFS functionality without including the server component, It will allow us to mount a NFS share.

Run the command bellow to install nfs-common.

sudo apt install nfs-common -y

Step 4: Configure the client and mount the NFS share

Lets make sure that we can reach the NFS share before we configure the client. Enter the command bellow the list the NFS shares on the NFS server. Change the IP address to match your NFS server.

sudo showmount --exports 192.168.200.222
org@per:~$ sudo showmount --exports 192.168.200.222
Export list for 192.168.200.222:
/i-data/19ddc0ea/nfs       *
/i-data/19ddc0ea/nfs/cloud 192.168.100.16,192.168.100.99
/i-data/19ddc0ea/nfs/NAS   192.168.100.99,192.168.100.100,192.168.100.110
org@per:~$
Create a mount point for the NFS shared folder

Next we need to create a mount point for the shared directory. The new directory is where we will mount and access our NFS share.

I am creating a new directory called cloud under /nfs

sudo mkdir -p /Your_directory/Your_sharedfolder

Example:

sudo mkdir -p /nfs/cloud
Mount the NFS share to the new directory

Mount the shared directory on your NFS server to the new directory on the client.

sudo mount NFS_ServerIP:/Folder_on_NFS_server /Your_directory/Your_sharedfolder

Example:

sudo mount 192.168.200.222:/cloud /nfs/cloud

Confirm that the mount is successful with the command bellow.

sudo df -h
org@per:/$ sudo df -h
Filesystem              Size  Used Avail Use% Mounted on
udev                    953M     0  953M   0% /dev
tmpfs                   199M  1.1M  198M   1% /run
/dev/sda2                98G  4.9G   89G   6% /
tmpfs                   994M     0  994M   0% /dev/shm
tmpfs                   5.0M     0  5.0M   0% /run/lock
tmpfs                   994M     0  994M   0% /sys/fs/cgroup
/dev/loop0               90M   90M     0 100% /snap/core/7917
/dev/loop1               55M   55M     0 100% /snap/lxd/12211
/dev/loop2              218M  218M     0 100% /snap/nextcloud/19299
tmpfs                   199M     0  199M   0% /run/user/1000
/dev/loop3               92M   92M     0 100% /snap/core/8689
/dev/loop4               67M   67M     0 100% /snap/lxd/13522
192.168.200.222:/cloud  3.6T   41G  3.6T   2% /nfs/cloud
org@per:/$

Step 5: Mount the remote NFS share at boot

Configure the fstab configuration file to auto mount the NFS share a boot. Edit the fstab configuration file and add the following line at the bottom of the file.

NFS_Server_IP:/cloud      /Folder_on_NFS_server /Your_directory      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Edit the line to match your share.

sudo nano /etc/fstab

Example:

192.168.200.222:/cloud    /nfs/cloud   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Reboot the system and confirm that the share have auto mounted, after reboot type in the command below and confirm that you can see the NFS share.

sudo df -h

Step 6: Write a file to the NFS share

Lets try out the share by creating a test file with some text in it

echo "File from NFS Client" | sudo tee /nfs/cloud/testfile1

Catalog the new test file

cat /nfs/cloud/testfile1
org@per:~$ cat /nfs/cloud/testfile1
File from NFS Client

Step 7: Optional un-mounting an NFS Share

You can unmount a NFS share by moving it out of the share’s directory structure, use the command below to unmount a share.

sudo umount /nfs/cloud

If you also want to prevent the share from being remounted on the next reboot, edit /etc/fstab and either delete the line or comment it out.

Conclusion

In this quick guide we configured the NFS client and mounted the NFS share on a Ubuntu client.

For more Linux quick guides please check out the Linux guide section.

image_pdfimage_print

Donate