Linux

在 RHEL 7 上使用 nfs 版本 3

  • August 1, 2019

我在我的實驗室系統上使用 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 節 nfs

但是當我使用版本 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 不行!

有任何想法嗎?

得到它的工作!

我把它放在 /etc/sysconfig/nfs 文件中

RQUOTAD_PORT=875

LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=892

STATD_PORT=662

然後

systemctl 重啟 nfs-config

然後我在 azure 上打開了上述埠 tcp/udp 並且能夠掛載它!

感謝大家的支持!

供應商在 RHEL7 中提供 NFSv3 支持(請參閱NFS 簡介)。

請進行以下檢查:

  1. 確保在/etc/sysconfig/nfs文件中啟用 NFSv3 支持:
NFS3_SERVER_SUPPORT="yes"

要阻止客戶端使用 NFSv4,請添加設置

RPCNFSDARGS= -N 4
  1. 檢查 NFS 守護程序是否在 NFS 伺服器上執行:
# service nfs status
# service portmap status
  1. 檢查您在 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
  1. 檢查現有的掛載是否從客戶端系統可見:
# showmount -e nfs_server_name

引用自:https://serverfault.com/questions/977505