今天在架上NFS时,也碰到了相关的错误:mount.nfs: access denied by server while mounting xxxx
从网络上看到的NFS挂载失败的出现此类错误原因大致为:
- 权限问题
- 防火墙机制问题
- 共享配置文件问题
在NFS service上抓包的数据看,网络应该时通的,可能还是配置的问题。把所有权限都去掉用nobody,或者时共项目改为777的权限。按照网上说的种种解决方案都没有解决我碰到的问题。
最后在NFS service的servicelog里面终于看到的问题的根源:
pakydu@SRVECT:~$ sudo tail -f /var/log/syslog
Dec 23 15:04:01 SRVECT exportfs[4527]: Assuming default behaviour ('no_subtree_check').
Dec 23 15:04:01 SRVECT exportfs[4527]: NOTE: this default has changed since nfs-utils version 1.0.x
Dec 23 15:04:01 SRVECT exportfs[4527]: exportfs: /etc/exports [4]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*.emerson.com:/var/backups".
Dec 23 15:04:01 SRVECT exportfs[4527]: Assuming default behaviour ('no_subtree_check').
Dec 23 15:04:01 SRVECT exportfs[4527]: NOTE: this default has changed since nfs-utils version 1.0.x
Dec 23 15:04:02 SRVECT kernel: [ 2552.233710] NFSD: Using UMH upcall client tracking operations.
Dec 23 15:04:02 SRVECT kernel: [ 2552.233714] NFSD: starting 90-second grace period (net f00000a8)
Dec 23 15:04:02 SRVECT systemd[1]: Started NFS server and services.
Dec 23 15:06:59 SRVECT rpc.mountd[4526]: refused mount request from CNXA1ER-L1427.emrsn.org for /var/nfs (/var/nfs): illegal port 59534
从这个log来看就可以知道时端口的问题了。从网上也找到的说明:
对策:如果客户端的端口号大于1024,则需要将 insecure 选项加入到配置文件(/etc/exports)相关选项中mount客户端才能正常工作
修改配置文件/etc/exports,加入 insecure 选项
/cloud_disk *(insecure,rw,async,no_root_squash)