TrueNAS CORE开启NFS共享教程

TrueNAS是一个基于FreeBSD开发的NAS系统,拥有比较友好的操作WEB UI和强大的ZFS文件系统,在用到TrueNAS的NFS共享功能时,发现无论我怎么挂载用户组和用户都显示挂载目录权限为nobody,这个权限导致如果你想把docker的运行路径填写到此处时,由于权限不足导致各种报错,折腾了几周后终于找到了解决方案,特此记录一波,本教程为全新安装后的设置教程。


试验环境:

  • 服务器端:TrueNAS core 12.0 RC1
  • 客户端:centos7.9.2009

服务器端设置:

Tips:初始化系统设置那些操作就省略带过,只讲重点部分下面。

1.找到共享,选择NFS,然后添加一个共享目录,Maproot用户选择root,详细配置如下图所示:

2.找到服务,选择NFS,然后勾选【启用NFSv4】【NFSv4的NFSv3所有权模型】【服务UDP NFS客户端】如下图所示:

3.保存,然后关闭并开启一下NFS服务即可。


客户端设置:

参考资料来自:https://www.alibabacloud.com/help/zh/nas/user-guide/mount-an-nfs-file-system-on-a-linux-ecs-instance

1.准备一台新安装好的centos7主机并登录SSH控制台

2.安装NFS服务

sudo yum install -y nfs-utils

3.增加同时发起的NFS请求数量

if (lsmod | grep sunrpc); then
(modinfo sunrpc | grep tcp_max_slot_table_entries) && sysctl -w sunrpc.tcp_max_slot_table_entries=128
(modinfo sunrpc | grep tcp_slot_table_entries) && sysctl -w sunrpc.tcp_slot_table_entries=128
fi
(modinfo sunrpc | grep tcp_max_slot_table_entries) && echo "options sunrpc tcp_max_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
(modinfo sunrpc | grep tcp_slot_table_entries) && echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf

4.查看NFS共享目录(根据实际情况替换IP)

showmount -e 0.0.0.0

5.使用NFSv4协议挂载(根据实际情况替换路径)

sudo mount -t nfs -o vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.nas.aliyuncs.com:/ /mnt

挂载参数说明:

6.查看挂载信息

mount -l

7.查看系统文件目录容量

df -h

8.设置开机自动挂载目录,打开/etc/fstab配置文件

vi /etc/fstab

9.填入如下内容

file-system-id.region.nas.aliyuncs.com:/ /mnt nfs vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0

参数说明:

10.重启服务器

11.验证开机自动挂载是否成功,开机后输入df -h查看。


end…