система запирается, когда устройство хранения данных идет офлайн, когда использование nfs монтирует опции bg, трудно, nointr

ps вывод (с, например. ps aux) включайте идентификатор процесса родителя. Уничтожьте родителя bash, и его дети также будут завершены.

Для визуализации ASCII дерева процесса попробовать pstree -p с несколькими выполнениями фоновых процессов.

5
29.07.2014, 23:00
1 ответ

У всех вариантов монтирования NFS есть свои плюсы и минусы.

  • bg означает, что при попытке монтировать файловую систему (обычно во время загрузки системы), если сервер не отвечает вовремя, монтирование завершает процесс, который выполняется в фон и периодически повторяет попытку монтирования.

    Если вы не используете параметр bg , mount повторит попытку и не завершит работу (и не продолжит монтировать другие файловые системы, если вы использовали mount -a ]) до тех пор, пока монтирование не завершится успешно или не завершится неудачно.

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

    Обратной стороной опции bg является то, что система может загружаться без установки удаленной файловой системы, что может привести к сбою приложений, которые хотят использовать эту файловую систему (или, что еще хуже, к заполнению локального диска. с материалом, предназначенным для записи в удаленную файловую систему).

    Таким образом, использование bg - это выбор, который вы должны сделать.

  • жесткий и мягкий применяются после монтирования файловой системы.

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

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

    Так что выбор остается за вами: когда удаленный сервер (или ваша сеть) выходит из строя, вы хотите, чтобы программы завершались сбоем, или вы хотите, чтобы они повторяли ввод-вывод бесконечно, пока удаленный компьютер снова не станет доступным?

  • с жестким монтированием, если удаленный сервер выйдет из строя, любые программы, использующие удаленную файловую систему, не будут прерываться сигналами, точно так же, как программы, использующие локальный диск, не будут прерываться во время (обычно крошечного) количества время, необходимое для ввода-вывода диска. Это может расстроить пользователей, потому что их программы будут зависать, и они не смогут их убить с помощью control-C . Если вы хотите иметь возможность прерывать программы, ожидающие ввода-вывода NFS, включите параметр монтирования intr . Обычно безопасно использовать опцию intr ; просто имейте в виду, что это может привести к тому, что программы будут видеть ошибки ввода-вывода (ошибка EINTR ) при прерывании.

У меня есть одна рекомендация: при использовании жестко смонтированных файловых систем NFS с удаленными серверами, которые могут выйти из строя, не монтируйте файловую систему в каталог в / (например, ] / test ), или действительно в любом каталоге на том же уровне, что и каталог, который используют многие люди, например / home / username . Это потому, что pwd или его эквивалент библиотеки C проходит по дереву каталогов, выполняя stat для каталогов. Если приложение выполняет stat на жестко смонтированной точке монтирования NFS, которая не отвечает, оно зависает. Это основная причина жалоб пользователей на NFS: они не могут войти в систему, потому что их оболочка выполняет pwd , а некоторая файловая система NFS, которую им даже не нужно использовать, не работает. Это еще одна веская причина использовать автомонтирование домашних каталогов.

Это наша лучшая практика для монтирования NFS:

  • используйте автоматическое монтирование
  • , если вы не можете, затем смонтируйте каждую удаленную файловую систему на / n / имя удаленного сервера / имя файловой системы с опциями hard, intr .
  • / n и / n / имя удаленного сервера - это локальные каталоги, которые никогда не являются точками монтирования NFS.
  • сконфигурируйте updatedb или что-нибудь еще, что просматривает все дерево каталогов, чтобы не искать в / n .
15
27.01.2020, 20:32

Теги

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