Network File System (NFS)
Jump to navigation
Jump to search
Debian
Server[edit]
Install[edit]
sudo apt install nfs-kernel-server nfs-common
Config files:
- /etc/idmapd.conf
- /etc/default/nfs-common
- /etc/exports
- /etc/default/nfs-kernel-server
Exporting Directories[edit]
Create Directories[edit]
mkdir /home/client1 chown nobody:nogroup /home/client1 chmod 755 /home/client1
mkdir /var/www chown root:root /var/www chmod 755 /var/www
Add to export[edit]
sudo nano /etc/exports
/etc/exports
# Save all files with user:group = nobody:nogroup /home/client1 192.168.0.0/24 (rw,sync,no_subtree_check) # Preserve files ownership and permissions (no_root_squash allows root to access folder) /var/www 192.168.0.101/32 (rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)
Restart the nfs server
/etc/init.d/nfs-kernel-server restart
Client[edit]
Install[edit]
sudo apt install nfs-common
List available exports on NFS server[edit]
sudo showmount -e 192.168.0.103
Mount nfs volume[edit]
Create a directory to mount the volume[edit]
mkdir -p /mnt/nfs/home/client1 mkdir -p /var/www
Mount NFS Volume[edit]
mount 192.168.0.100:/home/client1 /mnt/nfs/home/client1 mount 192.168.0.100:/var/www /var/www
NFS Volume At Boot Time[edit]
via /etc/fstab[edit]
sudo nano /etc/fstab
/etc/fstab
192.168.0.100:/home/client1 /mnt/nfs/home/client1 nfs rw,sync,hard,intr 0 0 192.168.0.100:/var/www /var/www nfs rw,sync,hard,intr 0 0
Mount
mount -a
via SystemD[edit]
sudo apt-get install nfs-client sudo modprobe nfs sudo echo NFS | tee -a /etc/modules
sudo nano /etc/systemd/system/mnt-things.mount
- The file must match the mount path replacing '/' by '-'
- If the path has '-' replace them with '\\x2d'
- Example: /var/lib/transmission-daemon/downloads/HM_30 ---> var-lib-transmission\\x2ddaemon-downloads-HM_30.mount
content:
[Unit] Description=Things devices After=network.target [Mount] What=172.16.24.192:/mnt/things Where=/mnt/things Type=nfs Options=_netdev,auto [Install] WantedBy=multi-user.target
Start mount service
systemctl daemon-reload systemctl start mnt-media.mount systemctl status mnt-things.mount systemctl enable mnt-media.mount