在 RHEL 7 上使用 nfs 版本 3

在 RHEL 7 上使用 nfs 版本 3

我在我的实验室系统上使用 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 上执行相同操作时,它失败了。我按照此指南操作

链接至 nfs 第 3 版

但是当我使用版本 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 并且能够挂载它!

感谢大家的支持!

相关内容