hyperreal.coffee

Setup NFS server on Debian

1sudo apt install -y nfs-kernel-server nfs-common

Configure NFSv4 in /etc/default/nfs-common.

1NEED_STATD="no"
2NEED_IDMAPD="yes"

Configure NFSv4 in /etc/default/nfs-kernel-server. Disable NFSv2 and NFSv3.

1RPCNFSDOPTS="-N 2 -N 3"
2RPCMOUNTDOPTS="--manage-gids -N 2 -N 3"
1sudo systemctl restart nfs-server

Configure Firewalld.

1sudo firewall-cmd --zone=public --permanent --add-service=nfs
2sudo firewall-cmd --reload

Setup pseudo filesystem and exports.

1sudo mkdir /shared
2sudo chown -R nobody:nogroup /shared

Add exported directory to /etc/exports.

1/shared <ip address of client>(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0)

Create the NFS table.

1sudo exportfs -a

Setup NFS client on Debian

1sudo apt install -y nfs-common

Create shared directory.

1sudo mkdir -p /mnt/shared

Mount NFS exports.

1sudo mount.nfs4 <ip address of server>:/ /mnt/shared

Note that the :/ is relative to the exported directory. So /mnt/shared on the client is /shared on the server. If you try to mount with mount -t nfs :/shared /mnt/shared you will get a no such file or directory error.

/etc/fstab

1<ip address of server>:/ /mnt/shared nfs4 soft,intr,rsize=8192,wsize=8192
1sudo systemctl daemon-reload
2sudo mount -av

Setup NFS server on FreeBSD

Edit /etc/rc.conf.

1nfs_server_enable="YES"
2nfs_server_flags="-u -t -n 4"
3rpcbind_enable="YES"
4mountd_flags="-r"
5mountd_enable="YES"

Edit /etc/exports.

1/data1 -alldirs -mapall=user1 host1 host2 host3
2/data2 -alldirs -maproot=user2 host2

Start the services.

1sudo service rpcbind start
2sudo service nfsd start
3sudo service mountd start

After making changes to the exports file, you need to restart NFS for the changes to take effect.

1kill -HUP `cat /var/run/mountd.pid`

Setup NFS client on FreeBSD

Edit /etc/rc.conf.

1nfs_client_enable="YES"
2nfs_client_flags="-n 4"
3rpc_lockd_enable="YES"
4rpc_statd_enable="YES"

Mount NFS share on client with systemd

Create a file at /etc/systemd/system/mnt-backup.mount.

 1[Unit]
 2Description=borgbackup NFS share from FreeBSD
 3DefaultDependencies=no
 4Conflicts=umount.target
 5After=network-online.target remote-fs.target
 6Before=umount.target
 7
 8[Mount]
 9What=10.0.0.119:/coffeeNAS/borgbackup/repositories
10Where=/mnt/backup
11Type=nfs
12Options=defaults,vers=3
13
14[Install]
15WantedBy=multi-user.target

Reply to this post by email ↪