У меня есть несколько машин с Ubuntu Server 8.04 в удаленном месте. Примерно каждые пару месяцев один из них переставал отвечать, и его нужно было выключить и снова включить. Глядя на мои файлы журналов, кажется, что все мои процессы работают нормально, пока в какой-то момент все просто не остановится.
Я подозреваю, что это проблема с оборудованием, но я даже не знаю, как определить проблему. Существуют ли какие-либо диагностические инструменты или методы, предназначенные для выявления подобных проблем?
Я знаю, что это довольно общий вопрос, но надеюсь на общий ответ.
У меня была подобная проблема в прошлом, и оказалось, что это связано с жарой. Улучшение кровообращения и добавление одного или двух вентиляторов очень помогли.
Кроме того, убедитесь, что на ваших дисках включен SMART, и посмотрите, не доживает ли один из них.
Вы можете установить munin, чтобы отслеживать их всех и видеть, что происходит.
Мемтест будет первой точкой вызова, хотя, если можете, попросите центр подключить консоль в следующий раз, когда она выйдет из строя. Если ядро работает, оно должно что-то выводить на экран.
Подключите другую машину и настройте последовательную консоль, чтобы получать все сообщения ядра и тому подобное. Если это паника ядра или другая катастрофическая проблема, вы увидите это там. Также рекомендуется отслеживать температуру и запускать мемтест, особенно если консоль не показывает ничего ненормального до того, как колеса отвалятся.
Добавьте комплексное решение для удаленного мониторинга с помощью чего-то вроде Zabbix. Отслеживайте аспекты использования системных ресурсов, а также любую статистику оборудования, доступную для операционной системы (например, скорость вращения вентилятора, температуру и т.п.). Таким образом, когда ваша система в следующий раз выйдет из строя, у вас будет ряд точек данных, на которые вы сможете посмотреть, чтобы понять, в чем проблема.
При таком подходе вы можете обнаружить, например, что у вас есть процесс, который выходит из-под контроля с выделением ОЗУ, переводит систему в режим подкачки и заставляет убийцу нехватки памяти начать пробираться через ваши запущенные процессы, оставляя машину не отвечает. Без наблюдения вы бы этого не узнали.
Слишком мало информации о том, что действительно могло бы работать.
Было бы неплохо узнать, как вы определяете «перестает» реагировать? Это просто ssh, который перестает отвечать, или какая-то другая служба? Есть идеи, если консоль все еще отвечает?
Есть ли какие-либо следы в файлах журналов после того, как машина снова подключилась к сети после перезагрузки?
В любом случае, есть несколько вариантов, которые помогут вам собрать информацию: