我有 1 个 nfs-server(10.192.244.109)和 2 个 nfs-client。
v3
在一个客户端上,使用&挂载 nfs-server 目录都可以v4
,而在另一个客户端上,只有使用 挂载 nfs-server 目录才可以v4
,如果使用 客户端会报告连接超时v3
。
- 客户端 1 适用于 v3 和 v4:
root@shubuntu1:~# mount -t nfs -o nfsvers=3 10.192.244.109:/var/lib/lava/dispatcher/tmp delete
root@shubuntu1:~# umount delete
root@shubuntu1:~# mount -t nfs -o nfsvers=4 10.192.244.109:/var/lib/lava/dispatcher/tmp delete
root@shubuntu1:~# umount delete
- 客户端 2 对于 v4 没问题,但是对于 v3 就不行:
root@LAVA-Debug:~# mount -t nfs -o nfsvers=4 10.192.244.109:/var/lib/lava/dispatcher/tmp delete
root@LAVA-Debug:~# umount delete
root@LAVA-Debug:~# time mount -t nfs -o nfsvers=3 10.192.244.109:/var/lib/lava/dispatcher/tmp delete
mount.nfs: Connection timed out
real 2m5.713s
user 0m0.079s
sys 0m0.061s
如果有帮助的话,请提供其他信息:
shubuntu1@shubuntu1:~$ mount.nfs -V
mount.nfs: (linux nfs-utils 1.3.3)
root@LAVA-Debug:~# mount.nfs -V
mount.nfs: (linux nfs-utils 1.3.3)
这可能是什么原因?我可以去哪里查看?
答案1
我可以去哪儿看看?
使用数据包捕获工具(例如 tcpdump/tshark、Wireshark/termshark)查看连接尝试,即从客户端发送到服务器的网络数据包。查找那些多次重新发送但从未得到回复的数据包。
您也可以尝试使用该命令在客户端机器的内核上启用详细的 RPC 调用日志记录(消息将发送到dmesg
)sysctl sunrpc.rpc_debug=0xFFFF
。
这可能的原因是什么?
对于 NFSv3,这可能是一个到端口映射器(rpcbind 服务)或动态端口之一(用于 NFS 本身或其辅助 mountd/statd 服务)。NFSv4 没有此问题,因为它仅使用单个 TCP 连接。