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

Безголовый сервер Gentoo внезапно зависает и требует перезагрузки для восстановления

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

Нет никаких сообщений, записываемых ядром или где-либо еще, когда это происходит, по крайней мере, не таким образом, который сохраняется на диск для проверки после перезагрузки.

Небольшая информация о системе:

Недавние изменения:

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

Мне нужна помощь в выяснении того, что происходит, поэтому мне нужны советы по решению этих проблем:

  1. Как я могу определить, это просто сеть или все умирает?
  2. Предполагая, что это сеть, как я могу включить ведение журнала, чтобы сообщить мне, что происходит?

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

Обновить:

Я удалил brscan4 и brscan-skey, так как это были последние изменения, и у меня все еще происходило зависание, поэтому они исключены из возможных причин. Я также заставил системный журнал помечать журнал каждую минуту, чтобы иметь простой способ отслеживать, когда что-то останавливается на сервере. Оказывается, когда сеть упала, системный журнал сразу же прекратил логирование, так что кажется, что дело не только в сети, это полное зависание системы.

Я также собрал новое ядро, используя инструмент genkernel, поэтому после последнего зависания я теперь работаю на 2.6.38-gentoo-r6, надеясь, что это каким-то образом решит проблему.

Обновление 2:

Модернизированное ядро ​​не помогло.

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

Новой тенденцией стало зависание при просмотре фильмов с использованием MediaTomb в качестве DLNA-сервера. Однако здесь нет прямой связи, так как мы можем смотреть несколько часов без проблем, выключить телевизор, а затем через пару часов, когда мы вернемся и захотим что-то посмотреть, он зависнет через пару минут, три раза в строка. Но последние десять зависаний произошли во время воспроизведения фильма, и многие часы использования в других целях не вызывали никаких проблем.

Обновление 3:

Пытался переключиться на другую сетевую карту, но без особого успеха.

Обновление 4:

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

Обновление 5:

Как и предполагалось, я запустил memtest86 + за ночь, к сожалению, не обнаружив никаких ошибок.

Обновление 6:

Еще несколько сегодняшних тестов показывают следующее:

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

Любые предложения относительно того, что может быть причиной этого, или советы по устранению неполадок, чтобы попытаться выяснить?

Судя по коллективным обновлениям, похоже, что эта ситуация может идти к двум возможностям:

  • Проблемы с жестким диском
  • Проблемы с RAM

Тесты, которые стоит попробовать:

  • Тестирование жесткого диска (только чтение, чтение / запись)
  • Тестирование памяти

Вы можете попробовать настроить какой-то процесс регистрации на сервере, который отчитывается, чтобы вы могли определить, жив ли он, когда сетевые соединения разрываются. Это может быть что-то простое, например задание cron, которое wgets удаленный URL-адрес (который затем можно отслеживать в журнале трафика) для настройки удаленного сервера системного журнала, который собирает весь трафик журнала из коробки.

Вы также можете запланировать перезапуск сетевой системы с помощью cron (/etc/init.d/net.eth0 restart примерно раз в час); Таким образом, если вы потеряли соединение из-за какой-либо проблемы с сетевым интерфейсом, его можно было бы очистить перезапуском, не отскакивая от всего окна.

Следующее, что я бы сделал, было бы следующее:

  1. Настройте задание cron на рабочем столе, чтобы пинговать ящик каждую минуту, чтобы вы сразу знали, когда он перестает отвечать. (Возможно, он будет выводиться в журнал с отметкой времени каждый пинг, чтобы вам не приходилось записывать его где-то еще.)
  2. Подождите десять минут.
  3. Перезагрузите сервер.
  4. Подключитесь к серверу и просмотрите / var / log / messages (и / var / log в целом), чтобы узнать, не произошло ли что-нибудь в коробке между моментом, когда он перестал отвечать, и временем, когда вы его перезапустили.

Если сообщения журнала прекращаются при подключении к сети, вероятно, ядро ​​вызывает панику, и вы можете включить дополнительное ведение журнала для этого, чтобы выяснить, почему. Если сообщения журнала продолжаются после того, как сетевое соединение разорвано, значит, проблема в другом. (В этом случае я бы заподозрил неисправную сетевую карту или плохой драйвер, но это только я.) Вы могли бы написать небольшой набор сетевых диагностик, ifconfig/traceroute/ etc. и запустите его из cron в файл журнала; затем, когда у вас есть временные рамки для неактивной сети, вы можете просмотреть журнал, чтобы увидеть, что в это время видит блок.

ОБНОВИТЬ: Поскольку похоже, что проблема заключается в полной панике ядра, следующее, что я попробую, - это настроить lm_sensors и записать вывод sensors команду в лог каждую минуту. Таким образом, вы сможете увидеть, есть ли быстрые или постепенные изменения температуры, которые, как правило, коррелируют с паникой.

Вы можете попробовать переключиться на вторую сетевую карту или также использовать ее, если это еще не сделано. Это поможет идентифицировать или исключить первичный сетевой адаптер и / или связанные с ним кабели, оборудование и т. Д.

Не уверен, должен ли это быть ответ или комментарий.

Ваше описание немного похоже на https://bugs.gentoo.org/show_bug.cgi?id=359671. Хотя некоторые параметры ситуации кажутся другими, особенно. тот факт, что у вас даже нет кабеля, подключенного к realtek, я думаю, это все еще может иметь какое-то отношение к шаткости драйвера realtek, и, вероятно, стоит выкинуть эту идею здесь.

Так что попробуйте занести модули Realtek в черный список.