Наутилус клиента NFS зависает, когда сервер NFS в режиме офлайн

Сервер NFS: сервер Ubuntu 14.04

Клиент NFS: рабочий стол Ubuntu 14.04 64 бита

На Клиенте я смонтировал, что доля NFS монтирует-v-t nfs NFSSERVER_IP:/servernfsfolder ~/clientnfs

Монтирование было успешно, и я смог видеть все совместно используемые файлы NFS в своем ~/clientnfs папка с помощью файлового менеджера.

Проблема: Предположим, что сервер NFS идет офлайн, в то время как мне смонтировали долю NFS на моем клиенте, наутилус моего клиента зависнет, также я не могу сделать 'ls' в своем корневом каталоге.

Как я могу сделать свою клиентскую машину NFS для размонтирования доли NFS автоматически, когда мой сервер идет офлайн?

0
задан 27 August 2014 в 20:20

1 ответ

Это выглядит немного старым, таким образом, я не уверен, нашли ли Вы уже ответ, но я недавно решил подобную проблему.

Эта проблема усугублена несколькими проблемами:

  1. новый браузер файлов всегда вытягивает информацию о различных файловых системах, которые доступны ему - значение, если у Вас будет 5 смонтированных долей, являются ли они SSH, CIFS или NFS и видимы под "сетевым" разделом (левой стороны) области мест, у них всегда будет освобожденный (), обратился к ним.
  2. Некоторые из этих долей, займут больше времени для ответа - даже надлежащими учетными данными и заставят их появиться, что наутилус завис при открытии их после периода неактивности, или если сервер уходит.
  3. Много других приложений вызывают освобожденный наутилус () s - я засвидетельствовал это выполнение strace на процессе наутилуса, но эта проблема, кажется, соединена только, когда что-то запрашивает полный список (как файл открытое окно).
  4. Любое время Вы открываете наутилус (просто нажав на значок папки в Вашей панели), это делает сканирование папок в Вашем корневом каталоге и содержании внутри. При создании точки монтирования чем-то как/home/$user/server_mount тогда, наутилус зависнет, когда сервер станет недоступным.

Примечание, это также влияет на другие приложения как Эволюция. Получение календарных событий или ответ на сообщение заставили бы Эволюцию 'потускнеть', поскольку это ожидало. Я предполагаю, что это запрашивало полный список файлов на кнопку вложения, но я не исследовал это далее.

Мое быстрое решение для меня, должен был просто размонтировать сетевые ресурсы, с которыми я соединился. На данный момент я только соединюсь, когда я должен буду получить доступ к ресурсам, затем размонтироваться, когда я сделан.

Вы полупостоянным образом присоединяетесь, таким образом, Ваше решение будет несколько отличаться, и что-то, что я сделал в прошлом.

  1. Для обработки повторного прикрепления после того, как сервер возвращается, Вы захотите использовать утилиту автоматического монтирования - как autofs
  2. Для обработки наутилуса, зависает, когда сервер не доступен, переместите точку монтирования где-нибудь, которая не является начальной точкой по умолчанию для наутилуса, как подкаталог. $user/mounts/server_mount/home/
  3. у Вас должно будет быть свое монтирование, корректно возвращаются к состоянию до сбоя к Вашему приложению своевременно, когда разъединение уходит. Чтобы сделать это, Вы захотите добавить soft,retrans=1,retry=0,intr переключатели к Вашему монтированию. Если не изменяет память, меня правильно, retrans, значения повторной попытки только работают с NFS по UDP, который является значением по умолчанию. Если Вы будете использовать его по TCP, то значения тайм-аута будут основаны на настройках стека TCP.

HTH

1
ответ дан 7 October 2019 в 04:55

Другие вопросы по тегам:

Похожие вопросы: