Как монтировать тома NFS 3 в Fedora 17?

Как монтировать тома NFS 3 в Fedora 17?

Я установил пакет nfs-utilsи попробовал его через:

# 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

Хорошо, наверное, нужно запустить его через systemd, верно?

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

Похоже на проблему, связанную с 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.

Хорошо, теперь вопрос: какую конфигурацию SELinux или какую метку файла мне нужно изменить?

# 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

Посылка отсутствует или я пользуюсь не той услугой?

решение1

Не уверен, что это поможет, так как я не увидел никаких ошибок SElinux.

После установки Fedora 17 я обновился до последней версии, но не перезагружался. Я вышел из системы и снова вошел из-за обновлений нескольких пакетов gnome. (Я не заметил, что обновление systemdтакже включало обновление.)

Чтобы смонтировать свои общие ресурсы NFS, я установил nfs-utilsи попытался запустить службу rpcbind:

sudo systemctl start rpcbind.service

Я получил следующую ошибку:

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, похоже, был недавно удален, yum whatprovidesно это не говорит о том, что он systemd-44-8.fc17все еще там есть.

Несколько других служб NFS выдали ту же ошибку.

В моем случае помогла простая перезагрузка. Так что вам, возможно, стоит обновиться до последних пакетов и перезагрузиться. (Если кто-то знает способ заставить systemd перечитать свою конфигурацию без перезагрузки, пожалуйста, дайте мне знать.)

решение2

Имя службы, которую вам нужно запустить, в Fedora 17 — «nfslock», поэтому:

systemctl start nfslock

он уже включен после установки nfs-utils

решение3

Похоже, запуск nfs-lock.serviceчерез systemd не является обязательным условием для монтирования NFS 3 из командной строки.

Просто выполняю

# mount -t nfs server:/mnt /mnt

(после nfs-utilsустановки пакета) приводит к загрузке rpc.statd- без дальнейших сообщений об ошибках SELinux. И смонтированный экспорт NFS можно использовать без проблем.

Похоже, что ядро ​​просто запускает rpc.statd (и его аналоги) по требованию, не взаимодействуя с systemd:

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

Связанный контент