Назад | Перейти на главную страницу

Как сделать NFS более надежным, когда сервер отключает устройства

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

Затем пользователи приходят через что-то вроде ftp, выполняют команду ls для каталога, и он зависает. Затем они обычно разочаровываются и пытаются снова. Это приводит к зависанию клиентского компьютера из-за использования всех сеансов ftp.

Есть ли способ заставить NFS просто сбросить монтирование, чтобы при выполнении команды ls они просто получали пустой каталог? Или у меня есть способ определить, когда узел NFS не отвечает должным образом, и отбросить его? ... Или можно как-нибудь со стороны сервера сделать это, когда диски пропали?

Сначала вам нужно изменить ваши монтирования nfs на прерываемые параметры (intr для большинства разновидностей). Это позволит вам выводить приложения Ctl-C, которые обычно зависают в ожидании возврата от ядра, чего никогда не произойдет.

Это поможет, если вы используете autofs, soft mount и короткое значение timeo на клиенте.

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

В нашей среде мы используем сервер nfs для обмена веб-контентом между несколькими машинами. Машины также используют pacemaker / openais, чтобы выяснить, у кого должен быть запущен процесс сервера NFS, смонтирован том Fibre Channel и IP-адрес для сервера nfs.

Когда нам нужно перезагрузить одну машину, кардиостимулятор обнаруживает это и перемещает активный сервер NFS на другой узел, чтобы службы не прерывались.