У нас есть общий ресурс NFS 4, разделяющий том между несколькими серверами (NFS-сервер и все клиенты Debian 8). Недавно у нас были некоторые проблемы, когда перебои в сети приводили к зависанию клиентских систем.
Наши параметры NFS были минимальными, просто rw(и так по умолчанию hard, fgи т. Д.).
Сейчас я экспериментирую с этими параметрами, но не получаю ожидаемого поведения:
rw,soft,bg,retrans=6,timeo=150
(Я увеличил ретранс, чтобы компенсировать некоторый мягкий риск)
Процедура, которой я следую, чтобы проверить это:
- Загрузочная машина
cdв/mnt/mountpoint- Проверьте соединение NFS в порядке
cd /- убить сеть
ifdown eth0 cdв/mnt/mountpointls
В этот момент командная строка зависает, и я не могу ее прервать. Через некоторое время сообщение «nfs: server [servername] не отвечает, время ожидания истекло», которое, кажется, повторяется раз в минуту (неопределенно).
Что бы я хотел / ожидал, чтобы произошла ошибка операции и вернуть контроль.
Может кто-нибудь сказать мне, где я не так с этими настройками?
(PS: я также пытался монтировать с помощью autofs, но видел похожее поведение)
Спасибо
hardкоторой мы имеем дело, столь же плоха для нас (системы умирают и остаются мертвыми до перезагрузки). intrне поддерживается в NFS4 в соответствии с man.
intr, поддерживается NFS4, но не ядрами> 2.6.25)
cd, но вместо этого делать ls /mnt/mountpoint? Возможно, что после lsсбоя ваша оболочка пытается выполнить операции файловой системы, зависящие от PWD. (Еще хуже, если вы были достаточно глупы, чтобы вставить .свой $PATH)
softпри каких обстоятельствах. Это позволяет сбрасывать данные при ошибке . Вместо этого я бы предложилhard,intr.