Как смонтировать общий ресурс NFS в Ubuntu 16.04?


9

Я недавно сделал новую установку Xubuntu 16.04. До этого я использовал 14.04 и смонтировал общий ресурс NFS со следующей строкой в ​​/ etc / fstab

192.168.178.66:/media/user/drive /media/user/banana nfs rw 0 0

Что должно произойти?

Общий ресурс nfs должен быть установлен при запуске в указанное место.

Что просходит?

Загрузка занимает очень много времени, а ресурс nfs не монтируется. Серый символ для общего ресурса появляется на моем рабочем столе. Когда я нажимаю на него, он говорит что-то вроде «Монтировать может только root». Когда я нажимаю стрелку во время загрузки, я вижу журнал systemd (я полагаю), где написано ~ "Startjob for /media/user/banane (30s/1,31s)"Это ждет целых 91-ых и, наконец, он загружается. Монтаж НФС вручную работает. Но тогда отключение не заканчивается. Еще раз посмотрим на вывод systemd: " Stop job for /media/netzwerkfreigabe (30s/2m)" Завершение работы не заканчивается на заданном пределе. Вместо этого появляется еще один более длинный предел. По крайней мере, три раза.

Дополнительная информация

  • пакет nfs-commonустановлен на клиентском компьютере
  • Сервер NFS - это BananaPi, на котором работает BananianLinux (модифицированный Debian Jessy)
  • Я могу смонтировать nfs-ресурс с помощью той же строки / etc / fstab с другого компьютера, используя Xubuntu 14.04

Насколько я знаю, systemd представлен в Ubuntu 16.04. Это могут быть системные проблемы. Должен ли мой конфиг fstab работать? Вы монтируете NFS по-другому? Я нашел несколько сообщений о подобных проблемах других пользователей на других форумах. Должен ли я сообщить об ошибке?

Спасибо за ваш ответ!


какую версию NFS вы используете NFS версии 3/4. Вы проверили UID пользователей на обеих машинах
bhordupur

Я думаю, вам нужно добавить userопцию в fstab
bhordupur

@bhordupur Я не использую идентификаторы UID. Я использую статические IP-адреса своей внутренней сети. Я не указываю версию nfs, поэтому я ожидаю, что использую новейшую версию (4), так как ubuntu (клиент) и сервер (клиент) являются современными системами.
CaptainPlanet

@bhordupur userОпция не помогла.
CaptainPlanet

У меня точно такая же проблема, но моей машине также требуется очень много времени для выключения
Рик Т

Ответы:


8

Я нашел следующее решение здесь . Очевидно, вы должны использовать определенные опции systemd в fstab.

servername:/home   /mountpoint/on/client  nfs  noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0

3

Была такая же проблема и прочитал все посты на askubuntu.com и в других местах. Наконец-то я нашел вики https://wiki.ubuntu.com/systemd#Remote_filesystem_mounts, в которой достаточно хорошо объясняется проблема, за исключением небольших изменений, необходимых для Ubuntu 16.04. После прочтения мне было не совсем понятно, что, по-видимому, необходимо иметь и запись, и запись в fstab (довольно стандартную), и файл .mount в / etc / systemd / system.

Вход в мой фстаб:

myserver:/export/work    /mnt/work       nfs     auto    0       0

Файл модуля монтирования для systemd /etc/systemd/system/mnt-work.mount (упомяните соглашение об именах / mnt / work ==> mnt-work.mount

[Unit]
Description=/mnt/work
Wants=network-online.target rpc-statd.service
After=network-online.target rpc-statd.service

[Mount]
What=myserver:/export/work
Where=/mnt/work
Type=nfs
StandardOutput=syslog
StandardError=syslog
TimeoutSec=50

Как вы могли заметить, мне пришлось изменить statd.service на rpc-statd.service и network.target на network-online.target (который я не знаю, если это необходимо).

Кроме того, я добавил тайм-аут 50 секунд. Тем не менее, когда я переключаю сеть через аппаратный коммутатор, выключение будет зависать.

Моя проблема заключалась в том, что при отсутствии записи fstab модуль монтирования не будет выполняться при запуске!


Я думаю, что я сталкиваюсь с этим сейчас. Я не понимаю, зачем нужна запись в fstab, если я уже включил systemctl файл модуля монтирования.
Шерид

2

Мне потребовались целые годы, чтобы исправить это, и тем временем я был заблокирован из своих акций NFS. Я изменил 4 - е поле /etc/fstabот defaultsдо user. Проблема в том, что только суперпользователь может монтировать общие файлы. Добавление userозначает, что любой может монтировать файлы, включая nfs.


1

У меня была такая же проблема, и я нашел эту очень полезную статью о digitalocean, которая дает правильные параметры монтирования

hostname:/path /mount/path nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Наконец-то это сработало для меня в Ubuntu 16.04 LTS
David Okwii

0

У меня была точно такая же настройка, и она просто работала для меня. Экспорт NFS был 14.04, и я смонтировал его, используя 16.04. Я сделал это так же, как я сделал более старые версии (и как это звучит, то, что вы пробовали). Убедитесь, что вы добавили новую машину в свой экспорт.


0

У меня та же проблема, но она также занимает много времени для выключения. Я подключаю свой рабочий стол к Rasberry Pi под управлением NFS:

попробуйте отредактировать ваш / etc / fstab на вашем клиентском компьютере, чтобы:

192.168.178.66:/media/user/drive /media/user/banana nfs soft,intr,rsize=8192,wsize=8192

0

В Ubuntu 16.04 просто добавьте опцию пользователя в соответствующую строку в / etc / fstab и попробуйте монтировать как обычный пользователь, он должен работать (даже для монтирования cifs ).


Если у вас (как и я) / home смонтирован зашифрованный lvm и вы пытаетесь смонтировать защищенный паролем сетевой ресурс, если у вас есть файл smbcredentials внутри вашего дома, возможно, изменение местоположения файла учетных данных вне домашнего раздела исправит вопрос (для меня это сделал!).
cloud81

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.