客户端的 FreeNAS/TrueNAS NFS v4 挂载超时

客户端的 FreeNAS/TrueNAS NFS v4 挂载超时

拥有一个 Free/TrueNAS 设备,可以顺利地为 SMB/AFP 提供服务,但对 NFS 却不太满意 =(

TrueNAS 设置:

  • [X] 启用 NFSv4

  • [ ] NFSv4 的 NFSv3 所有权模型

  • [ ] NFSv4 需要 Kerberos

  • [ ] 服务器 UDP NFS 客户端

  • [X] 允许非 root 挂载

  • [ ] 支持>16组

  • [ ] 记录 mountd(8) 请求

  • [ ] 记录 rpc.statd(8) 和 rpc.lockd(8)

(选中/取消选中“启用 NFSv4”的结果相同)

我添加了一个 NFS 共享,使用默认设置
同一个用户(用户识别号/群组识别号)在服务器/客户端上都存在
设置,在内fstab,以允许从非 root 挂载:

192.168.1.50:/mnt/tank/bob                           /mnt/nfs/bob  nfs    defaults 0 0

发出以下命令会导致超时:

% mount -vvv 192.168.1.50:/mnt/tank/bob /mnt/nfs/bob 
mount.nfs: timeout set for Thu Jan 14 17:26:42 2021
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.1.50,clientaddr=192.168.1.51'
mount.nfs: mount(2): Connection timed out
mount.nfs: Connection timed out

我还在/etc/host两台机器上添加了条目:
服务器:
192.168.1.51 myhost myhost.mydomain.com
客户:
192.168.1.50 serverhost serverhost.mydomain.com

从客户端,nfs-ls可以列出共享上的内容:

nfs-ls nfs://192.168.1.50/mnt/tank/bob                         
-rw-r--r--  1  1234  1234          212 .rhosts
-rw-------  1  1234  1234         1572 .history
-rw-r--r--  1  1234  1234          983 .cshrc
-rw-------  1  1234  1234           37 .lesshst
-rw-r--r--  1  1234  1234          782 .shrc
-rw-r--r--  1  1234  1234          301 .mail_aliases
-rw-r--r--  1  1234  1234          267 .mailrc
-rw-r--r--  1  1234  1234           91 .login_conf
-rw-r--r--  1  1234  1234          881 .profile
-rw-r--r--  1  1234  1234          323 .login

答案1

太长不看; 只需设置noresvportnfs/etc/fstab挂载


按照 TrueNAS 文档重新设置所有内容,这里(基本上,只需恢复到 nfsv3)

再次,我能够nfs-ls ...正常显示内容,并且也能mount request succeeded from...在内及时显示日志条目/var/log/messages

我注意到尝试挂载时会在日志中弹出这些内容:

mount.nfs: trying text-based options 'nfsvers=3,proto=tcp,timeo=50,noresvport,addr=10.10.10.10'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 10.10.10.10 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying 10.10.10.10 prog 100005 vers 3 prot TCP port 774

似乎一直挂在线上port 774,直到客户端超时。

最终成为了蹩脚的noresvport选择。

10.10.10.10:/path/to/mnt /local/path nfs nfsvers=3,proto=tcp,timeo=50,noresvport,rw,relatime,user,noauto 0 0

相关内容