The Hotel Hero

Notes by a Sysadmin


Cluster | Philosophy | Stack

NFS-Share (shared storage)

April 9, 2021 | Stack

Preparation of a USB 3.x storage

By default one could use the Pi's internal SD-card for storage. But, for many reasons - as stabillity and speed - external storage like an USB 3.x stick on a Pi 4 would be preferable.

Find the node you would like to hold your storage device, and SSH in to the node. And locate the storage device:

sudo fdisk -l

and you would se something like the above.

To partition the USB to ext4 linux format, do the following:

sudo mkfs.ext4 /dev/sda2

Now list all block attributes:

sudo blkid

Create a dir for mounting: 

sudo mkdir /mnt/storage

Find the /dev/sda2 line and copy the UUID (ex. UUID="1c611a1a-fbd9-3a22-b527-885cb72c445b"). To make sure the USB is always auto mounted we will add it to fstab (read more about each part of the line). Substitude the UUID with the above outcome and "sudo nano /etc/fstab" and add the following line:

UUID=1c611a1a-fbd9-3a22-b527-885cb72c445b /mnt/storage ext4 defaults,auto,users,rw,nofail 0 0

Make the storage accesible:

sudo chmod 777 /mnt/storage

This should mount the storage after reboot, to the location /mnt/storage.

NFS share

Sharing a volume/storage with other machines on the network.

Install nfs kernel server on the Pi with the storage (lets call it the server in this context).

sudo apt install nfs-kernel-server

sudo nano /etc/exports

/mnt/storage 192.168.68.120/29(rw,sync,no_subtree_check)

if you are not sure about netmasking just allow access to the whole range (something like 192.168.0.1/24).

On the client side (on all machines that should have access to the storage) some libraries needs to be installed.

sudo apt install nfs-common

And make sure to mount the storage into the machine. Make the directory to mount into ex:

sudo mkdir /mnt/storage

and try and mount the shared directory:

sudo mount -t nfs 192.168.68.123:/mnt/storage /mnt/storage

If everything went as it should. You will be able to access the drive on the local machine.

To make this access persistent after reboot, we need to make a fstab entry:

sudo nano /etc/fstab

and put in the line in the bottom:

192.168.68.123:/mnt/storage    /mnt/storage/    nfs    defaults    0 0

Now reboot the system and see if the share is mounted..


About

I'm a Sysadmin, network manager and cyber security entusiast. The main purpose of this public "notebook" is for referencing repetitive tasks, but it might as well come in handy to others. Windows can not be supported! But all other OS compliant with the POSIX-standard can (with minor adjustments) apply the configs on the site. It is Mac OSX, RHEL and all the Fedora based distros and Debian based (several 100's of OS's), all the BSD distros, Solaris, AIX and HP-UX.

Links