我在我的实验室系统上使用 nfs 版本 3 进行了测试,并且运行良好。
[root@server2 ~]# tail -1 /etc/mtab
server1:/nfs /nfs nfs rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.150.134,mountvers=3,mountport=20048,mountproto=udp,local_lock=none,addr=192.168.150.134 0 0
[root@server2 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)
[root@server2 ~]#
但是,当我在 Azure 上执行相同操作时,它失败了。我按照此指南操作
但是当我使用版本 3 安装它时,它出现以下错误
mount -vv -t nfs -o vers=3 server1:/appl /wbr
mount.nfs: timeout set for Thu Aug 1 02:38:02 2019
mount.nfs: trying text-based options 'vers=3,addr=10.200.254.8'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 10.200.254.8 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 10.200.254.8 prog 100005 vers 3 prot UDP port 20048
mount.nfs: portmap query retrying: RPC: Timed out
版本 4 运行良好,但版本 3 则不然!
有任何想法吗?
答案1
供应商在 RHEL7 中提供了 NFSv3 支持(请参阅NFS 简介)。
请做以下检查:
1)确保文件中启用了 NFSv3 支持/etc/sysconfig/nfs
:
NFS3_SERVER_SUPPORT="yes"
为了防止客户端使用 NFSv4,请添加设置
RPCNFSDARGS= -N 4
2)检查 NFS 守护进程是否正在 NFS 服务器上运行:
# service nfs status
# service portmap status
3) 检查 Azure 中的 NFS 服务器是否可以通过 NFS 网络端口从客户端系统访问:
- 端口 111(TCP 和 UDP);
- 端口 2049(TCP 和 UDP)
使用您喜欢的任何工具,例如:
# telnet nfs_server_ip_addr 2049
# nmap -sU -p 111,2049 nfs_server_ip_addr
# nmap -sT -p 111,2049 nfs_server_ip_addr
4)检查客户端系统是否可以看到现有的挂载:
# showmount -e nfs_server_name
答案2
开始工作了!
我将其放入 /etc/sysconfig/nfs 文件中
端口号=875
锁定TCP端口=32803
锁定UDP端口=32769
安装端口=892
STATD_PORT=662
然后
systemctl 重新启动 nfs-config
然后我在 azure 上打开了上述端口 tcp/udp 并且能够挂载它!
感谢大家的支持!