4

У меня есть самодельный сервер Linux (Ubuntu 12.04.5 LTS, Intel i5-3570K, 8 ГБ ОЗУ), который в основном работает как почтовый и веб-сервер. Он работает только в режиме консоли (без графического интерфейса). Я буду SSH к этому время от времени, и почти никогда не буду управлять им с консоли. Он имеет тенденцию нормально работать в течение многих дней, даже недель, но затем иногда сильно падает без предупреждения. И когда я говорю "сильно падает", я имею в виду, что компьютер внезапно перестает отвечать на запросы:

  • Не оставляет записей в журнале
  • Он не генерирует "упс", сообщение о панике ядра или дамп ядра
  • Он не отображает никаких сообщений на экране.
  • Он не реагирует на ввод с клавиатуры или мыши (индикатор NumLock также не реагирует на эту клавишу)
  • SSH не может получить к нему доступ
  • Переключатель сброса дела не будет работать

Единственное решение - удерживать кнопку питания на корпусе до ее выключения, а затем перезапустить.

Конечно, это кричит "аппаратная проблема", но какой компонент наиболее вероятен? Memtest86+ не показывает ошибок, так что, похоже, уйдет большая тройка - материнская плата, процессор или блок питания. (ПК не разогнан, а последние сообщения датчиков (до сбоя) указывают на отсутствие перегрева или проблем с вентилятором)

  1. Есть ли статистическая вероятность того, какой из этих компонентов может быть проблемой?

  2. Я выделил последний критерий жирным шрифтом выше, потому что он показался мне необычным. Обычно даже в случае серьезного сбоя ПК можно перезагрузить с помощью переключателя сброса кейса. Это говорит о проблеме с БП или материнской платой? (удержание в выключателе питания 4-5 секунд для выключения ПК все еще работает)

  3. Есть ли способ протестировать их, не заказывая новые детали по одной, пока я не буду уверен (после нескольких недель без сбоев), что проблема решена?

Спасибо всем, кто может помочь.

3 ответа3

1

Я немного удивлен, что никто не предложил использовать магический ключ SysRq .

Прежде всего, его следует использовать вместо выключателя питания для принудительной перезагрузки, поскольку это дает программам возможность сохранять несохраненные данные на диск; Невыполнение этого требования может привести к значительным проблемам при перезагрузке (не говоря уже о том, что приходится ждать обычной проверки fsck ). Это делается следующим образом : держа Alt и SysRq одновременно прессованная, введите, каждый отстоят друг от друга на несколько секунд, т е я с у б (знаменитые мнемоники на английском языке Повышение слонов Так Уттерли скучное, я предпочитаю побегушки Is So Уттер скучным попробуйте придумать лучший, если сможете).

Даже помимо этого, когда система замораживает использование Alt + SysRq + X (где X - буква), вы можете запустить некоторую диагностику: например, X=d отображает все текущие блокировки, которые могут помочь диагностировать проблему программного обеспечения; X=j оттаивает замороженные файловые системы; X=l (l - ell) показывает обратную трассировку стека; X=t выводит на консоль список текущих задач; X=w отображает список заблокированных задач.

Вы можете найти больше кодов в Википедии.

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

1

1: Ваш Ubuntu стабилен? Вы скачали стабильную версию Ubuntu? если нет, попробуйте перейти на последнюю стабильную сборку.

2: вы пробовали это на другой виртуальной / физической машине? Это может быть ошибка скрипта при тестировании на виртуальной машине, такой как Virtual Box, которая, скорее всего, предотвратит любой сбой, если вы еще не пробовали эти шаги, а также создаст среду, в которой вы сможете отлаживать и отслеживать ОС

3: Отказ плунжера? Итак, очень маловероятно, что это будет локальный SSD/HDD/SSHD, потому что ОС Linux загружается в ОЗУ, и она выдаст предупреждение, если не удастся связаться с ядром, тогда произойдет сбой. однако, если оперативная память была заблокирована, потому что ее неисправная / дефектная операционная система зависла бы полностью, будучи не в состоянии публиковать (или даже знать о) какие-либо ошибки, которые могли бы объяснить отсутствие журналов. еще

4: Посмотрите на форумы. Хорошо, я не самый эффективный пользователь Linux, и есть много вещей, о которых я даже не знаю, у меня были подобные проблемы с аппаратным и программным обеспечением, однако я действительно не знаю, что это ваш домашний сервер, так что трудно определить недостатки там, просмотрите форум

0

Лучшее, что вы можете сделать, - это посмотреть журналы в момент блокировки и посмотреть, сможете ли вы сопоставить блокировку с любым системным событием любого типа. Это трудная вещь, и вы, возможно, не сможете найти ничего, что могло бы быть прямой причиной таким образом.

Некоторые советы по диагностике аппаратных проблем:

Самое простое, что можно устранить - это проблемы / настройки прошивки:

  • Убедитесь, что в вашей системе установлены последние обновления прошивки /BIOS от производителя.

  • Убедитесь, что все устройства хранения также обновлены до последней версии прошивки.

  • Попробуйте отключить любой процессор или другие параметры управления питанием в прошивке /BIOS.

  • Попробуйте отключить виртуализацию в прошивке, если вы ее не используете.

Проблемы с ОЗУ могут вызвать жесткие блокировки, даже если они не отображаются в тесте памяти. Это может быть что-то очень прерывистое. Фактические серверы имеют ECC RAM, которая предотвращает возникновение проблем с редкими / временными ошибками RAM, но если это несерверный ПК, у него его нет. Попробуйте выгрузить оперативную память, если можете.

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

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

После этого предположим, что материнская плата ненадежна и посмотрите на замену.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .