Как повысить надежность NFS при потере устройств сервером

Как повысить надежность NFS при потере устройств сервером

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

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

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

решение1

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

решение2

Будет полезно, если вы используете autofs, мягкое монтирование и короткое значение timeo на клиенте.

решение3

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

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

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

Связанный контент