我需要pcnfsd
用新安装的 CentOS 7 服务器替换旧服务器。我安装了所有要求,它似乎工作,可悲的是,当(非常非常老的 ms-dos 之类的)客户端尝试读取文件时它什么也没得到。安装正确执行,但文件访问不起作用。
我在服务器上唯一能看到的是,nfsstat -s
我看到 RPC 的错误调用在增加。
当前服务器是 Ubuntu 10,rpcinfo -p
显示如下:
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 50143 status
100024 1 tcp 42419 status
100021 1 udp 35807 nlockmgr
100021 3 udp 35807 nlockmgr
100021 4 udp 35807 nlockmgr
100021 1 tcp 50799 nlockmgr
100021 3 tcp 50799 nlockmgr
100021 4 tcp 50799 nlockmgr
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100005 1 udp 45251 mountd
100005 1 tcp 57920 mountd
100005 2 udp 45251 mountd
100005 2 tcp 57920 mountd
100005 3 udp 45251 mountd
100005 3 tcp 57920 mountd
150001 1 udp 967 pcnfsd
150001 2 udp 967 pcnfsd
150001 1 tcp 968 pcnfsd
150001 2 tcp 968 pcnfsd
在新的 CentOS 7 上,我有:
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
150001 1 udp 914 pcnfsd
150001 2 udp 914 pcnfsd
150001 1 tcp 917 pcnfsd
150001 2 tcp 917 pcnfsd
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 40636 nlockmgr
100021 3 udp 40636 nlockmgr
100021 4 udp 40636 nlockmgr
100021 1 tcp 36825 nlockmgr
100021 3 tcp 36825 nlockmgr
100021 4 tcp 36825 nlockmgr
100024 1 udp 57976 status
100024 1 tcp 56153 status
我怀疑版本 3 和 4 的正在运行的 portmapper 守护进程让客户端感到困惑。
我需要的是在 portmap 守护进程上禁用 v3 和 v4 的广告,但我找不到执行此操作的选项。我怎样才能?
您可以捕获旧客户端和 NFS 服务器之间的流量以找出问题所在。
在您的 NFS 服务器上:
用wireshark打开nfs.cap文件,可以看到我认为的问题。
附上我的 nfs.cap 的图片。
这是调试 NFS 问题的非常好的指南,您可以查看 stromberg.dnsalias.org/~strombrg/NFS-troubleshooting-2.html
要禁用某些 NFS 版本支持,您可以将 --no-nfs-version X 传递给 rpc.nfsd。搜索禁用-nfsv4-on-ubuntu。
检查这张图片: