我有一个
Linux文件服务器的NFSv3导出,用于挂载罚款.文件服务器必须关闭以进行硬件维护.恢复服务器后,Linux客户端无法再挂载nfs导出.
服务器或客户端上的配置均未更改.我做了软件更新并在第一次安装失败后重新启动客户端,但这没有帮助.
[root@client ~]# showmount -e ark Export list for ark: /mnt/bigraid * [root@client ~]# mount -t nfs ark:/mnt/bigraid raid
它只是悬在这一点上.在另一个终端……
[root@client ~]# dmesg | tail [ 2526.676437] nfs: server ark not responding,timed out [ 2529.183107] nfs: server ark not responding,timed out [ 2531.689778] nfs: server ark not responding,timed out [ 2538.196432] nfs: server ark not responding,timed out [ 2540.703107] nfs: server ark not responding,timed out [ 2543.209767] nfs: server ark not responding,timed out [ 2545.716436] nfs: server ark not responding,timed out [ 2548.223098] nfs: server ark not responding,timed out [ 2550.729775] nfs: server ark not responding,timed out [ 2557.236435] nfs: server ark not responding,timed out
……好的,但是我可以通过showmount看到导出…
[root@client ~]# ping ark PING ark.homebase (10.10.10.2) 56(84) bytes of data. 64 bytes from ark.homebase (10.10.10.2): icmp_seq=1 ttl=64 time=0.067 ms 64 bytes from ark.homebase (10.10.10.2): icmp_seq=2 ttl=64 time=0.043 ms 64 bytes from ark.homebase (10.10.10.2): icmp_seq=3 ttl=64 time=0.048 ms 64 bytes from ark.homebase (10.10.10.2): icmp_seq=4 ttl=64 time=0.042 ms ^C --- ark.homebase ping statistics --- 4 packets transmitted,4 received,0% packet loss,time 2999ms
所以我不明白.
服务器正在运行OpenSUSE.我确保防火墙已关闭(不是以前的防火墙)并且网络连接似乎很好.
ark:/etc # cat exports /mnt/bigraid *(rw,root_squash,insecure,no_subtree_check,sync)
编辑:这是正在使用的RPC端口列表
ark:/etc/init.d # rpcinfo -p program vers proto port 100000 2 tcp 111 portmapper 100005 1 udp 37599 mountd 100005 1 tcp 33880 mountd 100005 2 udp 37599 mountd 100005 2 tcp 33880 mountd 100005 3 udp 37599 mountd 100005 3 tcp 33880 mountd 100024 1 udp 49522 status 100024 1 tcp 41314 status 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100021 1 udp 51887 nlockmgr 100021 3 udp 51887 nlockmgr 100021 4 udp 51887 nlockmgr 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100021 1 tcp 49804 nlockmgr 100021 3 tcp 49804 nlockmgr 100021 4 tcp 49804 nlockmgr 100000 2 udp 111 portmapper
编辑2:获得了一些tcpdump信息
我完全不熟悉正确的nfs协商的样子.如果你想查看数据段,我还会转储一个pcap文件.现在是filedropper
编辑3:我可能会打this issue
我正在关注@ CIA的建议,并做到了这一点:
ark:/etc/init.d # ./nfsserver stop Shutting down kernel based NFS server: nfsd statd mountd idmapd done ark:/etc/init.d # ./portmap stop Shutting down RPC portmap daemon done ark:/etc/init.d # ./portmap start Starting RPC portmap daemon done ark:/etc/init.d # ./nfsserver start Starting kernel based NFS server: idmapdexportfs: Warning: /mnt/bigraid does not support NFS export. mountd statd nfsd sm-notify done
尽管有警告,出口现在似乎可以安装.
解决方法
因此,NFS很奇怪它依赖于portmapper运行,所以它可以将特定端口映射到RPC端口. (我想这并不奇怪.它只是它的工作方式.)如果NFS在portmapper之前启动,NFS不知道如何路由请求,因为它在进程开始时检查portmapper.如果portmapper在NFS之前未启动,则NFS不知道如何将端口映射到rpc.
这里有关于该过程的更多文档(尽管它对于CentOS来说仍然相关):http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s2-nfs-methodology-portmap.html