Как смонтировать общий ресурс 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 по-другому? Я нашел несколько сообщений о подобных проблемах других пользователей на других форумах. Должен ли я сообщить об ошибке?

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

CaptainPlanet
источник
какую версию 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.

Keeto
источник
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 ).

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