nfs:内核服务器不接受挂载(rpcinfo:RPC:超时)

nfs:内核服务器不接受挂载(rpcinfo:RPC:超时)

我有一个 nfs 服务器,它有时会半途挂起。在服务器 l 上,此方法有效:

# uname -a
Linux l 3.2.0-0.bpo.1-amd64 #1 SMP Sat Feb 11 08:41:32 UTC 2012 x86_64 GNU/Linux
# showmount  -e l
Export list for l:
/disk/l 192.168.0.0/16
# mount l:/disk/l /mnt/disk/
# ls /mnt/disk

因此看起来 nfs 从服务器 l 到服务器 l 都可以工作。

在服务器e上:

# uname -a
Linux e 3.2.0-0.bpo.1-amd64 #1 SMP Sat Feb 11 08:41:32 UTC 2012 x86_64 GNU/Linux
# showmount -e l
Export list for l:
/disk/l 192.168.0.0/16
# mount l:/disk/l /mnt/disk/
<<hangs>>

我已经在服务器 l 上停止并启动了/etc/init.d/nfs-kernel-server,并且在另一个目录上安装 l:/disk/l 仍然挂在服务器 e 上。

启动服务器 l 后,我可以在服务器 e 上安装,一切正常。但我想避免重新启动,因为这会打扰用户。

我怎样才能大力启动 nfs-kernel-server 以使其真正完全重新启动而不是像上面那样只是半途重新启动?

编辑:

我还重新启动了端口映射。

当我重新启动 nfs-kernel-server 时,它在打印“nfsd”后花费了大量时间。它似乎挂在:/usr/bin/rpcinfo -u localhost nfs 3

# /usr/bin/rpcinfo -u localhost nfs 3
rpcinfo: RPC: Timed out
program 100003 version 3 is not available

我的其他 NFS 服务器说:

program 100003 version 3 ready and waiting

这可能与问题有关。

编辑2:

我尝试删除并重新安装 portmap 和 nfs-kernel-server。没有成功。

所以我随便弄了一下rpcinforpcinfo -d <<all services>> <<all versions>>结果现在是这样的:

# rpcinfo -p
program vers proto   port
100000    2   tcp    111  portmapper
100024    1   udp  58796  status
100024    1   tcp  48139  status
100005    1   udp  48989  mountd
100005    1   tcp  52848  mountd
100005    2   udp  48989  mountd
100005    2   tcp  52848  mountd
100000    2   udp    111  portmapper

重新启动 nfs-kernel-server 不再在 /usr/bin/rpcinfo -u localhost nfs 3 期间暂停:

# /usr/bin/rpcinfo -u localhost nfs 3
rpcinfo: RPC: Program not registered
program 100003 version 3 is not available

此外,我无法再在本地机器上安装本地 nfs。我想我需要以某种方式在 rpcinfo 中注册 nfs。重新启动 nfs-kernel-server 不会执行此操作(或者即使执行,也不起作用)。showmount -e仍然有效。

相关内容