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

Монтирование NFS с блокировкой файлов больше невозможно после перехода в новую подсеть: время ожидания statd истекло, lockd не может отслеживать

Я использую сервер NFS Ubuntu 10.04 с аутентификацией пользователя LDAP на виртуальной машине в подсети A. Сервер экспортирует домашние каталоги пользователей с nfs v3 клиентам ubuntu в подсетях B и C. На сервере работают другие службы, которые не должны ' На данный момент это не имеет значения для моей проблемы. Все работало нормально несколько лет.

Теперь мы переехали в новое здание и получили новую подсеть D (хосты в подсети B и C стали новой подсетью D). Кроме того, для подключения к вычислительному центру, где размещены мои виртуальные серверы, теперь используется один километр кабеля от коммерческого провайдера между ними и меньшая пропускная способность. Это единственные две вещи, которые, насколько мне известно, изменились.

Теперь проблема в том, что я могу выполнять рабочие подключения / монтирования от клиентов только с помощью nolock вариант. Если эта опция не предусмотрена, я получаю следующее сообщение на сервере в /var/log/syslog

kernel: [11457.902470] statd: server rpc.statd not responding, timed out
kernel: [11457.902481] lockd: cannot monitor notos

а на клиентах с установленным домом без опции nolock пользователи не могут открывать какие-либо программы с графическим интерфейсом, который пытается установить блокировки файлов (google-chrome, ...), или даже не могут войти в систему (поскольку также требуется блокировка).

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

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

Любая помощь будет принята.

Я решил проблему. Это не имело ничего общего с настройкой сети. Два недавно добавленных клиента работают с ядром версии 3.8. Похоже, в этом ядре есть ошибка в lockd, которая вызывает сбой сервера lockd. После понижения ядра этих клиентов до 3.2 все работает как раньше.

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

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

Добавить запись в /etc/services вот так:

sunrpc                  111/tcp         rpcbind # SUN Remote Procedure Call
sunrpc                  111/udp         rpcbind # SUN Remote Procedure Call