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

В отчаянии: время ожидания statd истекло, lockd не может отслеживать / отключать мониторинг

С сегодняшнего дня что-то не так с сервером. На стороне сервера я вижу сообщения в dmesg следующим образом:

statd: server rpc.statd not responding, timed out
lockd: cannot unmonitor <client>
statd: server rpc.statd not responding, timed out
lockd: cannot monitor <client>

На стороне клиента я вижу dmesg:

lockd: server <server> not responding, still trying
lockd: server <server> OK

Это парализует всю сеть! Я пробовал это решение предложил Сиань, но это не имеет значения.

Сервер, Debian Linux, Squeeze 64-бит:

>> uname -a
Linux <server> 2.6.32-5-amd64 #1 SMP Fri May 10 08:43:19 UTC 2013 x86_64 GNU/Linux

Клиенты, Linux Mint 13-64bit:

>> uname -a
Linux <client> 3.2.0-49-generic #75-Ubuntu SMP Tue Jun 18 17:39:32 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

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

ОБНОВЛЕНИЕ 1

Сервер некоторое время останавливается на

Starting portmap deamon
Starting NFS common utilities: statd idmapd

Загрузка продолжится примерно через 2 минуты ...

ОБНОВЛЕНИЕ 2

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

Вот пара предложений:

Однажды мне удалось сломать интерфейс loopback (lo), и благодаря этому некоторые службы, такие как NFS, перестали работать должным образом. Смотреть с ifconfig если у тебя все еще есть любимый lo интерфейс запущен и работает. Если нет, пойдите и посмотрите /etc/network/interfaces и посмотрим, что происходит.

Также, как уже упоминалось некоторыми людьми, проверьте команды pgrep -v statd и netstat -tlnpu чтобы узнать, запущен ли statd.

Или, возможно, кто-то что-то изменил под /etc на стороне сервера? Если у вас нет /etc под контролем версий посмотрите, не были ли недавно изменены какие-либо файлы: find /etc -mtime -14 например, отобразит файлы, измененные за последние 14 дней.

Взгляните сюда: http://sophiedogg.com/lockd-and-statd-nfs-errors/

Пытаться :

# /etc/init.d/nfs-common stop
# /etc/init.d/nfs-kernel-server stop
# rm -rf /var/lib/nfs/statd/sm/*
# rm -rf /var/lib/nfs/statd/sm.bak/*
# /etc/init.d/nfs-common start
# /etc/init.d/nfs-kernel-server start

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

В моем случае это сработало:

https://lists.debian.org/debian-user/2004/10/msg00932.html

Просто отредактируйте скрипт /etc/init.d/halt, в конце должна быть строка

остановка -d -f -i $ poweroff $ hddown

Параметр "-i" отключает все сетевые интерфейсы, но это> кажется слишком рано для бездисковых клиентов, просто попробуйте удалить этот параметр, поэтому

остановка -d -f $ poweroff $ hddown

Обратите внимание, что моя проблема была с NFS на клиенте с диском.

У меня была такая же проблема на сервере nfs debian squeeze, и, похоже, она была вызвана и некоторыми новыми клиентами (Fedora 20). Понижение версии клиентов не было для меня вариантом, после некоторой долгой, болезненной и безуспешной отладки я в конечном итоге обнаружил (другую и, вероятно, несвязанную) ошибку цикла readdir в файловой системе ext4, экспортированной nfs, с большим количеством файлов, похожих на: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1240143

(Я мог ошибаться, насколько я понял, это было исправлено в последних ядрах, поэтому это может повлиять на сжатие debian)

Короче говоря, чтобы избавиться хотя бы от ЭТОЙ ошибки, я обновил свой сервер nfs до debian wheezy (установив версию nfs на 3), и теперь (с той же файловой системой и теми же клиентами) прошла неделя без сообщения «не могу отслеживать» / проблема "не отвечает" (до обновления это было повседневное дело)