NFS不再挂载:rpc-statd无法启动


13

每当我尝试启动NFS挂载时,我都会得到:

Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: Version 1.3.2 starting
Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: Flags: TI-RPC
Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: Running as root.  chown /var/lib/nfs to choose different user
Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: failed to create RPC listeners, exiting
Feb 12 00:02:19 martin-xps.lico.nl systemd[1]: rpc-statd.service: control process exited, code=exited status=1
Feb 12 00:02:19 martin-xps.lico.nl systemd[1]: Failed to start NFS status monitor for NFSv2/3 locking..
Feb 12 00:02:19 martin-xps.lico.nl systemd[1]: Unit rpc-statd.service entered failed state.
Feb 12 00:02:19 martin-xps.lico.nl systemd[1]: rpc-statd.service failed.
Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23584]: Version 1.3.2 starting
Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23584]: Flags: TI-RPC
Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23584]: Running as root.  chown /var/lib/nfs to choose different user
Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23584]: failed to create RPC listeners, exiting

我试图chown /var/lib/nfsrpc,刚刚给我的错误减去“以root身份运行”行:

Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23773]: Version 1.3.2 starting
Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23773]: Flags: TI-RPC
Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23773]: failed to create RPC listeners, exiting
Feb 12 00:05:09 martin-xps.lico.nl systemd[1]: rpc-statd.service: control process exited, code=exited status=1
Feb 12 00:05:09 martin-xps.lico.nl systemd[1]: Failed to start NFS status monitor for NFSv2/3 locking..
Feb 12 00:05:09 martin-xps.lico.nl systemd[1]: Unit rpc-statd.service entered failed state.
Feb 12 00:05:09 martin-xps.lico.nl systemd[1]: rpc-statd.service failed.
Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23775]: Version 1.3.2 starting
Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23775]: Flags: TI-RPC
Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23775]: failed to create RPC listeners, exiting

我试图重新安装nfs-utils:

$ pacman -R nfs-utils
$ rm -r /var/lib/nfs
$ pacman -S nfs-utils 

然后,在root用户的许可下重新创建目录。我什至不确定此错误是否与rpc.statd无法启动有关。

我也尝试rpc.statd -F --no-notify在shell中运行,但是仅以代码1退出。没有错误,没有任何错误。手册页中没有记录详细或调试标志。

我还尝试清空/etc/exports,并且系统是最新的(pacman -Syu)。我什么都没做,只是几个小时前就停止工作了。

注意使用mount -o nolock /data作品;因此,其余的NFS / rpc守护程序似乎都很好。

Answers:


26

rpc-stad自上次更新以来,这里存在同样的问题,失败了(更新后我的所有计算机都出现了问题)。

为了解决这个问题,我刚刚启用并启动了rpcbind:

sudo  systemctl enable   rpcbind.service  # for the next reboot
sudo  systemctl start    rpcbind.service   
sudo  systemctl restart  rpcbind.service

7

似乎rpcbind systemd单元文件丢失了:

$ find /usr/lib/systemd -name 'rpcbind*'
# no output

重新安装此解决了问题:

$ pacman -S rpcbind
# [...]

$ find /usr/lib/systemd -name 'rpcbind*
/usr/lib/systemd/system/rpcbind.service
/usr/lib/systemd/system/rpcbind.target
/usr/lib/systemd/system/rpcbind.socket

$ systemctl enable rpcbind
$ systemctl start rpcbind
$ systemctl restart nfs-server

不知道这些文件是怎么丢失的。也许是FS损坏问题?

奇怪的是nfsd仍在运行,但statd没有运行。重新引导后,nfsd也无法正常工作(因为需要rpcbind)。就像这些文件在系统运行时消失了一样。

不幸的是systemd,对于此类错误(例如,依赖项rpcbind加载失败),没有给出明确的错误消息,这将使调试变得更加容易:-(


奇怪的。我只是systemctl start rpc-statd在Arch linux系统上遇到了完全相同的问题(无法安装NFS3卷,失败并显示“无法创建RPC侦听器,退出”消息。)。安装,启用和启动rpcbind服务可以解决该问题。我想知道这是否以前是作为套接字而不是服务来工作的,但是某些地方出了问题。不幸的是,我在/ usr / lib / systemd目录中是否没有先验检查rpcbind。*文件。
pgoetz

在上面的示例的最后三行中,您可能用的是'systemctl'而不是'systemd'吗?
jeremiah

1
糟糕,是的,已更正。谢谢@耶利米。
马丁·图尔诺伊

1

我遇到了一些缺少/ var / lib / nfs或/ var / lib / nfs / statd的实例,这导致某些NFS守护程序以错误代码退出但没有输出任何消息。修复很简单,就是这样:

$ sudo mkdir -p /var/lib/nfs/statd

但是,守护程序和systemd服务文件不尝试创建目录或打印有关此目录的任何错误消息,这有点奇怪。


我有类似的问题,这对我有用。我仍然不知道服务如何不创建目录或为什么删除目录。
ftrujillo

0

同样,我看到了以下错误:

Starting NFS status monitor for NFSv2/3 locking....
Version 1.3.3 starting
Flags: TI-RPC
Failed to access local netconfig database: Netconfig database not found
failed to create RPC listeners, exiting
rpc-statd.service: Control process exited, code=exited status=1
rpc-statd.service: Failed with result 'exit-code'.
Failed to start NFS status monitor for NFSv2/3 locking..

就我而言,我打破了对权限的要求,/etc/netconfig该权限必须是世界可读的(和一样/etc/

将文件权限设置为:

chmod 644 /etc/netconfig

解决了我的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.