Skip to content

NFS配置

1、安装NFS软件包

shell
yum -y install nfs-utils rpcbind

# ubuntu
sudo apt install -y nfs-kernel-server

2、设置开机自启以及启动服务

shell
systemctl enable rpcbind
systemctl enable nfs-server
systemctl start rpcbind
systemctl start nfs-server

3、新建存储文件夹

shell
mkdir -p /home/data/nfs

4、编辑配置

vim /etc/exports

shell
/home/data/nfs *(rw,async,no_root_squash)

# 可设置访问的网段
/home/data/nfs 192.168.1.0/24(rw,no_root_squash,no_subtree_check)

小括号内常用的权限参数如下:

  • ro:共享目录只读;
  • rw:共享目录可读可写
  • sync:同步,将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
  • async:异步,将数据先保存在内存缓冲区中,必要时才写入磁盘,效率高,但有丢失数据的风险;
  • wdelay(默认):如果有多个客户端要对同一个共享目录进行写操作,则将这些操作集中执行。对有很多小的IO写操作时,使用该选项可以有效的提高效率;
  • no_wdelay:如果有多个客户端要对同一个共享目录进行写操作则立即写入。当设置了async选项时,no_wdelay选项无效,应与sync配合使用;
  • root_squash(默认):将来访的root用户映射为匿名用户或用户组;
  • no_root_squash:来访的root用户保持root帐号权限;
  • all_squash:所有访问用户都映射为匿名用户或用户组;
  • no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
  • anonuid:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
  • anongid:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
  • secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;
  • insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
  • subtree_check :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
  • no_subtree_check(默认) :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
  • hide:共享一个目录时,不共享该目录的子目录;
  • no_hide:共享子目录;

5、重新加载exportfs文件

shell
exportfs -a

# OR
exportfs -r

6、编辑nfs配置

vim /etc/sysconfig/nfs

ini
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020

7、重新服务

shell
systemctl restart rpcbind
systemctl restart nfs-server

8、测试挂载是否正常

shell
mount -t nfs 127.0.0.1:/home/data/nfs /mnt
df -h        ###查看有了代表成功
umount /mnt
showmount -e 192.168.0.10

Mac 挂载:

shell
showmount -e 192.168.0.10
sudo mount -t nfs -o resvport 192.168.0.10:/home/data /Volumes/dev_data

# Mac 需要加 nolocks 的参数
sudo mount -o nolocks,resvport,locallocks -t nfs 192.168.3.234:/e/video/ /Users/simonliu/nas/video/
sudo mount -o nolocks,rw -t nfs 192.168.3.234:/e/video/ /Users/simonliu/nas/video/

Mac 挂载需要 -o resvport

Mac解决方案2

让macOS使用NFS V4

编辑 vim /etc/nfs.conf,添加如下内容

ini
nfs.client.mount.options = 
vers=4

参考