NFS ya no se monta: rpc-statd no puede iniciarse

13

Cada vez que intento iniciar un montaje NFS obtengo:

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

Traté de chown /var/lib/nfshacerlo rpc, lo que me da el error menos la línea "Ejecutando como 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

He intentado reinstalar nfs-utils:

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

Luego vuelve a crear el directorio con el permiso del usuario raíz. Ni siquiera estoy seguro de si este error incluso está relacionado con rpc.statdno comenzar.

También intenté ejecutarlo rpc.statd -F --no-notifyen mi shell, pero eso solo sale con el código 1. Sin error, sin nada. No hay un indicador detallado o de depuración documentado en la página de manual.

También intenté vaciar mi /etc/exports, y mi sistema está actualizado ( pacman -Syu). No cambié nada, simplemente dejó de funcionar hace unas horas.

Tenga en cuenta que el uso de mount -o nolock /dataobras; entonces el resto de los demonios NFS / rpc parecen estar bien.

Martin Tournoij
fuente

Respuestas:

26

El mismo problema aquí, rpc-stadfalló desde la última actualización (todas mis computadoras tuvieron el problema después de la actualización).

Para resolver el problema, simplemente habilité y comencé rpcbind:

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

Parece que faltaron los archivos de la unidad rpcbind systemd:

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

Reinstalar esto resolvió el problema:

$ 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

No estoy seguro de cómo faltaban estos archivos; tal vez un problema de corrupción FS?

Lo extraño es que nfsd todavía se estaba ejecutando, pero statd no. Después de un reinicio, nfsd tampoco funcionó (porque lo necesita rpcbind). Es casi como si estos archivos desaparecieran mientras el sistema se estaba ejecutando.

Desafortunadamente systemd, no da un mensaje de error claro sobre este tipo de errores (es decir, rpcbindno se pudo cargar la dependencia ), lo que facilitaría mucho la depuración :-(

Martin Tournoij
fuente
Extraño. Acabo de experimentar exactamente el mismo problema (no pude montar un volumen NFS3, systemctl start rpc-statdfallé con el mensaje "falló al crear escuchas RPC, saliendo") en un sistema Arch Linux. Instalar, habilitar e iniciar el servicio rpcbind resolvió el problema. Me pregunto si esto funcionaba anteriormente como un socket en lugar de servicio, pero algo salió mal en alguna parte. Desafortunadamente, no pude verificar a priori si había algún archivo rpcbind. * En el directorio / usr / lib / systemd.
pgoetz
¿Probablemente quiere decir 'systemctl' en lugar de 'systemd' en las últimas tres líneas en su ejemplo anterior?
jeremiah
1
Vaya, sí, corregido. Gracias @ jeremiah.
Martin Tournoij
1

Me he encontrado con algunos casos en los que falta / var / lib / nfs o / var / lib / nfs / statd, lo que hace que ciertos demonios NFS salgan con un código de error pero sin imprimir ningún mensaje. La solución es simple, solo esto:

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

Pero es un poco extraño que los demonios y los archivos de servicio systemd no intenten crear los directorios o imprimir ningún mensaje de error al respecto.

mulad
fuente
Tuve un problema similar y esto funciona para mí. Todavía no sé cómo los servicios no crean los directorios o por qué se elimina el directorio.
ftrujillo
0

Del mismo modo, estaba viendo estos errores:

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..

En mi caso, había roto los permisos sobre los /etc/netconfigcuales debe ser legible en todo el mundo (como lo hace /etc/)

Configurando los permisos del archivo a:

chmod 644 /etc/netconfig

solucionó mi problema

KurtB
fuente