automount nfs: параметры тайм-аута autofs для ненадежных серверов – как избежать зависания?

Я использую небольшой сервер для нашей общей доли. Это в основном файловый сервер с некоторыми дополнительными сервисами. Клиенты – это Linux-машины (в основном Ubuntu, но некоторые другие Distros тоже) и некоторые Mac (-Book) s между ними (но они не важны для вопроса). На сервере работает Ubuntu 11.10 (Oneiric Ocelot) «Server Edition», система, с которой я выполняю настройку и тестирование, запускает 11.10 «Desktop Edition». Мы, где уже давно работаем с Samba (с которой мы больше знакомы), но затем переходим к NFS (потому что у нас нет пользователей Windows в локальной сети и вы хотите попробовать), и пока все работает нормально ,

Теперь я хочу настроить автоустановку с помощью autofs, чтобы сгладить ситуацию (до сих пор каждый монтирует акции вручную, когда это необходимо). Кажется, что работает автоустановка. Проблема в том, что наш «сервер» не работает 24/7, чтобы сэкономить энергию (если кому-то нужен материал с сервера, он включает его и закрывает его, поэтому он работает всего пару часов каждый день). Но так как настройки autofs клиенты зависают, выходите часто, когда сервер не запущен.

  • Я могу запустить всех клиентов просто отлично, даже если сервер не запущен.

  • Но когда я хочу отобразить каталог (в терминале или nautilus), который содержит символические ссылки на общий ресурс под /nfs пока сервер не запущен, он зависает как минимум две минуты (поскольку autofs не может подключиться к серверу но продолжаю пытаться, я полагаю).

    • Есть ли способ избежать этого? Чтобы установка была отложена до изменения в каталоге или до тех пор, пока не будет достигнут доступ к содержимому этого каталога? Не когда «смотреть» на ссылку на долю под /nfs ? Я думаю, что нет, но, возможно, можно не пытаться получить к нему доступ так долго? И просто дайте мне пустой каталог или «не могу найти / подключиться к этому директорию» или что-то в этом роде.
  • Когда сервер работает, все работает нормально.

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

    • Есть ли способ отключить акции автоматически, когда соединение потеряется?
  • Кроме того, клиенты не будут останавливаться или перезагружаться, когда сервер не работает, и у них все еще установлены ролики. Они висят (бесконечно, как кажется) в « убийстве оставшихся процессов », и ничего не происходит.

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

Поэтому мой вопрос: как справиться с этим? И в качестве бонуса: есть ли хороший способ связать внутри /nfs без необходимости монтировать реальные общие ресурсы (вариант autofs или, возможно, использовать псевдо FS для /nfs который заменяется при монтировании или что-то в этом роде)?

Моя настройка

Настройка NFS довольно простая, но до сих пор нам хорошо (используя NFSv4 ):

/ и т.д. / по умолчанию / NFS-общие

 NEED_STATD= STATDOPTS= NEED_IDMAPD=YES NEED_GSSD= 

/etc/idmapd.conf

 [General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = localdomain [Mapping] Nobody-User = nobody Nobody-Group = nogroup 

/ и т.д. / экспорта

 /srv/ 192.168.0.0/24(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0) 

В корне экспорта /srv мы получили две папки со bind :

/ etc / fstab (Сервер)

 ... /shared/shared/ /srv/shared/ none bind 0 0 /home/Upload/ /srv/upload/ none bind 0 0 

1-й из них в основном доступен только для чтения (но я использую это с помощью атрибутов файлов и права собственности вместо настроек NFS), а второй – rw для всех. Примечание. У них нет дополнительных записей в / etc / exports , однако их монтаж отдельно.

На клиентской стороне они устанавливаются в /etc/fstab и устанавливаются вручную по мере необходимости ( morton – это имя сервера, и он разрешает штраф).

/ etc / fstab (Клиент)

 morton:/shared /nfs/shared nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0 morton:/upload /nfs/upload nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0 

Для настройки autofs я удалил записи из /etc/fstab на клиентах и ​​установил остальные следующим образом:

/etc/auto.master

 /nfs /etc/auto.nfs 

Сначала я связал прилагаемый исполняемый файл /etc/auto.net (вы можете взглянуть на него здесь ), но он не будет автоматически монтировать что-либо для меня. Затем я пишу /etc/auto.nfs на основе некоторых методов, которые я нашел в Интернете:

/etc/auto.nfs

 shared -fstype=nfs4 morton:/shared upload -fstype=nfs4 morton:/upload 

И это работает … Или будет работать, если сервер будет работать 24/7. Таким образом, мы получаем зависания, когда клиент загружается без запуска сервера или когда сервер идет вниз, а акции, которые все еще подключены.

4 Solutions collect form web for “automount nfs: параметры тайм-аута autofs для ненадежных серверов – как избежать зависания?”

Используя любую систему монтирования, вы хотите избежать ситуаций, когда Nautilus перечисляет каталог, содержащий монтировку, которая может монтироваться или не монтироваться. Таким образом, с помощью autofs не создавайте mounts, например, / nfs. Если вы это сделаете, когда вы используете Nautilus, чтобы перечислить «Файловую систему», он попытается создать все монтирования, которые должны существовать в / nfs, и если эти попытки монтирования потерпят неудачу, для сдачи требуется несколько минут.

Так что я сделал, это изменить auto.master для создания монтирования в / nfs / mnt.

Это поставило проблему для меня. Я получаю длинную задержку, если попытаюсь перечислить содержимое / nfs / mnt, чего легко избежать.

Смонтируйте NFS-ресурс на клиентах с помощью опций mount «bg, intr, hard».

Наиболее важным в вашем случае является «bg» для фона, который сообщает системе не блокировать, когда сервер недоступен.

«intr» для прерывания – поэтому вы можете убить подвесные монтировки на клиенте командой kill.

«жесткий» – это противоположность «мягкости». Разница в том, что «жесткий» будет продолжать бесконечно, пока «мягкий» будет экспоненциально отступать от своих попыток, когда сервер недоступен.

Я немного поиграл с некоторыми вариантами на странице руководства. Все bg,hard , bg,soft , fg,hard и fg,soft дают мне время возврата более двух минут.

Установка retrans=1,retry=0 (в сочетании с любым из вышеперечисленных), дает мне время около трех секунд. Довольно приличный. Хотя я не уверен, что каждая комбинация означает. Будет копаться дальше.

Также я столкнулся с параметрами MOUNT_WAIT и UMOUNT_WAIT . Мне не удалось получить некоторые отличные результаты, но я буду продолжать пытаться. Кажется lika хороший способ использовать «более безопасный» (как еще несколько попыток и т. Д.) Вариант NFS, но быстрое время возврата для autofs или нет?

Чтобы настроить файловую систему NFS для автоматической установки при каждом запуске системы Red Hat Linux, вам необходимо добавить запись для этой файловой системы NFS в файл / etc / fstab. Файл / etc / fstab содержит информацию обо всех видах смонтированных (и доступных для монтажа) файловых систем для вашей системы Red Hat Linux. EX:: nfs Соответствует имени хоста, IP-адресу или полному доменному имени сервера, экспортирующего файловую систему. Это путь к экспортированному каталогу. Указывает, где в локальной файловой системе монтировать экспортированный каталог. Эта точка монтирования должна существовать до чтения / etc / fstab или сбой монтирования. В области указаны параметры монтирования файловой системы. Например, если в области областей параметров указано rw, suid, экспортированная файловая система будет смонтирована для чтения-записи, а пользователь и группа, установленные сервером, будут использоваться. Обратите внимание, что круглые скобки не должны использоваться здесь

  • задержка записи в операционной файловой системе
  • Плохое монтирование NFS предотвращает чистую загрузку?
  • Использование NFS для gcc, Apache, PHP, MySQL, glibc
  • Добавить параметры для монтирования NFS
  • rsync дает «chown <...> failed: Invalid argument (22)» с общим доступом nfs
  • Хранить локальную копию монтирования nfs на компьютере
  • Почему у меня есть только NST4 для чтения?
  • Установленная доля NFS. Может создавать папки в браузере файлов, но mkdir не работает через терминал
  • Автомонт не является равномерным для монтирования?
  • Быстрый способ скопировать большой файл в локальной сети
  • Клиент передачи не может получить доступ к установленному файлу NFS
  • Почему я не могу chmod файл?
  • Interesting Posts

    Присвоение привилегий системным учетным записям

    Как использовать sshpass для предоставления пароля на втором ssh hop

    Как не регистрировать некоторые сообщения в журнале systemd

    Создайте загрузочную постоянную систему USB Livesystem для UEFI

    Обратная связь Symlink

    Есть ли какая-либо команда, которая имитирует двойной список вкладок в bash?

    Как автоматически смонтировать USB-флэш-диск с простой зашифровкой на моем маршрутизаторе OpenWRT?

    Обмен одной колонки из файла1 с файлами из файла2

    RAIDing с LVM против MDRAID – плюсы и минусы?

    Установка переменных в / etc / environment, не имеющих влияния, но установка их в командной строке

    Как последний «Bash Bug» или эксплоит затрагивают системы, требующие аутентификации?

    Как мне вернуться в Главное меню в YUMI после перехода на «boot:»

    Как обрабатывать только те строки, которые содержат заданную строку?

    Как я могу использовать псевдонимы в командах?

    Коррумпированный заголовок метаданных LVM после обновления ядра

    Linux и Unix - лучшая ОС в мире.