У меня вчера была проблема с сервером, который потерял соединение (S1). С этого сервера был общий каталог с NFS на другой (S2), без домашнего каталога и не в $ PATH, а в каталоге для хранения старых файлов для архивирования. S1 вернулся в онлайн через несколько часов, но теперь я не могу получить доступ к S2 из-за этого (и я уверен, что это из-за этого, потому что все другие службы работают без проблем). Здесь зависает ssh-соединение: debug1: Вход в интерактивный сеанс. Я знаю, что перезагрузка сделает свою работу, но, учитывая, что это NAS большого приложения, мои начальники убьют меня, если я это сделаю. Есть ли другой способ справиться с этим? Пробовал с разными пользователями, но все они зависают на одном месте. Я подключился к HP iLO, и даже там я не могу использовать свое имя пользователя.
Заранее спасибо.
(У вас нет случайно смонтированных каталогов на S2, не так ли?)
Попробуйте использовать ssh без интерактивного сеанса:
$ ssh -tvv you@S2 /usr/bin/env MAILCHECK=0 MAIL=/dev/null MAILPATH=/dev/null sh
«-Vv» имеет дополнительный вывод ssh print - не повредит - а «-t» указывает ему выделить TTY, даже если он выполняет команду вместо запуска интерактивной оболочки. Команда env устанавливает кучу переменных среды MAIL * равными нулю, что может быть полезно знать, если у вас есть mail-on-NFS, а затем, наконец, запускает простую оболочку.
Или попробуйте HOME=/ /bin/su -
вместо sh
, если уместно.
Если вы все-таки войдете, обязательно попробуйте размонтировать монтирования NFS. Если это не удается (вероятно), попробуйте с -f
. Если это не удается (все еще вероятно), у Linux есть -l
вариант для ленивого размонтирования: он отсоединит точку монтирования от дерева файловой системы, что должно заставить любые новые процессы реагировать. Тем не менее, любые существующие процессы все равно будут зависать, и нет другого выхода, кроме перезагрузки.
Если я прочитал ваш отчет о сообщении: пользователь пытается использовать ssh для пользователя @ S2. S2 монтирует файловую систему с S1. У S1 ранее была проблема, которая вызвала ошибку NFS на S2. Файловая система, смонтированная на S2, НЕ является домашним каталогом.
Вы используете автомонтажник? Это Linux или какой-то другой вариант UNIX?
Этот тип проблемы имеет смысл, если отсутствующее монтирование NFS - это домашний каталог или доступ к нему каким-либо образом во время процесса входа пользователя в систему - процесс входа в систему пытается получить доступ к этому каталогу, и он застревает в ожидании диска. Поскольку аутентификация проходит успешно, это в значительной степени должно быть одной из этих проблем.
То есть вы на 1000% уверены, что домашний каталог пользователя не является NFS? Если это не так, вы должны иметь возможность читать точечные файлы пользователя на S2, войдя в систему как root и проверив любые экземпляры, где они взаимодействуют с проблемной файловой системой NFS.
Вы должны иметь возможность проверить, войдя в систему как root (через консоль iLO, если ничего другого) и выполните: ps auxww | grep D
Вы можете войти в систему как root правильно? Или я чего-то не понимаю?
Принудительное отключение, а затем перезапуск процессов NFS на S2 с последующим повторным подключением должно исправить это, хотя у вас может быть куча зависших процессов, которые не исчезнут до перезагрузки.