¿Cómo montar volúmenes NFS 3 en Fedora 17?

¿Cómo montar volúmenes NFS 3 en Fedora 17?

Instalé el paquete nfs-utilsy lo probé mediante:

# mount -t nfs server:/mnt /mnt
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified

Ok, probablemente necesites iniciar eso, a través de systemd, ¿verdad?

# systemctl start nfs-lock.service 
Job failed. See system journal and 'systemctl status' for details.
# journalctl
Jun 15 23:22:18 host rpc.statd[24339]: Version 1.2.6 starting
Jun 15 23:22:18 host rpc.statd[24339]: Opening /var/run/rpc.statd.pid failed:
                                         Permission denied
[..]
Jun 15 23:22:18 host systemd[1]: nfs-lock.service: control process exited, 
                                         code=exited status=1
Jun 15 23:22:18 host systemd[1]: Unit nfs-lock.service entered failed state.

¿Parece un problema relacionado con SELinux?

Jun 15 23:22:18 host setroubleshoot[3211]: analyze_avc()
   avc=scontext=system_u:system_r:rpcd_t:s0
   tcontext=unconfined_u:object_r:var_run_t:s0
   access=['unlink'] tclass=file tpath=rpc.statd.pid
Jun 15 23:22:18 host setroubleshoot[3211]: SELinux is preventing
   /usr/sbin/rpc.statd from unlink access on the file rpc.statd.pid.
Jun 15 23:22:18 host setroubleshoot[3211]: analyze_avc()
   avc=scontext=system_u:system_r:rpcd_t:s0
   tcontext=unconfined_u:object_r:var_run_t:s0
   access=['write'] tclass=file tpath=rpc.statd.pid
Jun 15 23:22:18 host setroubleshoot[3211]: SELinux is preventing
   /usr/sbin/rpc.statd from write access on the file rpc.statd.pid.

Bien, ahora la pregunta es: ¿qué configuración de SELinux o qué etiqueta de archivo tengo que cambiar?

# systemctl status nfs-lock.service
nfs-lock.service - NFS file locking service.
      Loaded: loaded (/usr/lib/systemd/system/nfs-lock.service; enabled)
      Active: failed (Result: exit-code) since Fri, 15 Jun 2012 23:22:18 +0200;
              13min ago
     Process: 24338 ExecStart=/sbin/rpc.statd $STATDARG
              (code=exited, status=1/FAILURE)
     Process: 24334 ExecStartPre=/usr/lib/nfs-utils/scripts/nfs-lock.preconfig
              (code=exited, status=0/SUCCESS)
      CGroup: name=systemd:/system/nfs-lock.service

¿Falta algún paquete o estoy utilizando el servicio equivocado?

Respuesta1

No estoy seguro de si esto ayudará porque no vi ningún error de SElinux.

Después de instalar Fedora 17, actualicé a la última versión pero no reinicié. Cerré la sesión y volví a iniciarla debido a las actualizaciones de varios paquetes de gnome. (No noté que la actualización systemdtambién incluía una actualización de).

Para montar mis recursos compartidos NFS, instalé nfs-utilse intenté iniciar el servicio rpcbind:

sudo systemctl start rpcbind.service

Recibí el siguiente error:

Failed to issue method call: Unit var-run.mount failed to load: No such file or directory. See system logs and 'systemctl status var-run.mount' for details.

var-run.mount parece haber sido eliminado recientemente yum whatprovidesy muestra que systemd-44-8.fc17todavía lo tenía.

Varios otros servicios NFS arrojaron el mismo error.

En mi caso, simplemente reiniciar ayudó. Por lo tanto, es posible que desee actualizar a los paquetes más recientes y reiniciar. (Si alguien conoce una manera de hacer que systemd vuelva a leer su configuración sin reiniciar, hágamelo saber).

Respuesta2

el nombre del servicio que debes iniciar es 'nfslock' en fedora 17 entonces:

systemctl start nfslock

ya está habilitado después de instalar nfs-utils

Respuesta3

Parece que iniciar nfs-lock.servicea través de systemd no es realmente un requisito previo para realizar un montaje de NFS 3 desde la línea de comandos.

solo ejecutando

# mount -t nfs server:/mnt /mnt

(después de nfs-utilsinstalar el paquete) da como resultado un rpc.statdmensaje de error SELinux cargado, sin más. Y la exportación NFS montada se puede utilizar sin problemas.

Parece que el Kernel simplemente inicia rpc.statd (y amigos) bajo demanda sin interactuar con systemd:

# pgrep -l rpc
3063 rpc.statd
22599 rpciod
24280 rpcbind

información relacionada