Como montar volumes NFS 3 no Fedora 17?

5

Eu instalei o pacote nfs-utils e tentei por:

# 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, provavelmente precisa começar isso - via systemd - certo?

# 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 um problema relacionado ao 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.

Ok - agora a pergunta é: qual configuração do SELinux ou qual rótulo de arquivo eu tenho que mudar?

# 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

Um pacote está faltando - ou estou usando o serviço errado?

    
por maxschlepzig 15.06.2012 / 23:40

3 respostas

5

Não tenho certeza se isso ajudará porque não vi nenhum erro do SElinux.

Mas estou postando o que funcionou para mim e os problemas que encontrei na esperança de que isso ajude.

Depois de instalar o Fedora 17, eu atualizo para a versão mais recente, mas não reiniciei. Fiz o logout e voltei por causa das atualizações para vários pacotes do gnome. (Eu não percebi que a atualização incluiu uma atualização de systemd também.)

Para montar meus compartilhamentos NFS, instalei nfs-utils e tentei iniciar o serviço rpcbind:

sudo systemctl start rpcbind.service

Recebi o seguinte erro:

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 ter sido removido recentemente yum whatprovides mostra que systemd-44-8.fc17 ainda tinha.

Vários outros serviços do NFS geraram o mesmo erro.

No meu caso, simplesmente reiniciando ajudou. Então você pode querer atualizar para os pacotes mais recentes e reiniciar. (Se alguém souber uma maneira de fazer o systemd reler sua configuração sem reiniciar, por favor me avise.)

    
por 17.06.2012 / 21:40
2

o nome do serviço que você deve iniciar é 'nfslock' no fedora 17, então:

systemctl start nfslock

já está habilitado depois de instalar o nfs-utils

    
por 15.11.2012 / 21:28
0

Parece que iniciar nfs-lock.service via systemd não é realmente um pré-requisito para fazer uma montagem do NFS 3 a partir da linha de comando.

Apenas executando

# mount -t nfs server:/mnt /mnt

(após a instalação do pacote nfs-utils ) resulta em rpc.statd carregado - sem mais mensagens de erro do SELinux. E a exportação NFS montada é utilizável sem problemas.

Parece que o Kernel apenas inicia o rpc.statd (e amigos) sob demanda sem interagir com o systemd:

# pgrep -l rpc
3063 rpc.statd
22599 rpciod
24280 rpcbind
    
por 17.06.2012 / 23:21