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

Как устранить непредвиденное завершение работы Linux

У меня есть два сервера RHEL6.3, которые просто выключаются в одно и то же время (с интервалом в 25 секунд) без видимой причины. Они работают от условного питания, как и ряд других серверов, которые не отключились, так что это не может быть питание. Комната должным образом охлаждена, и их одновременное отключение из-за температуры маловероятно.

На момент завершения работы у обоих серверов в / var / log / secure указано следующее. Я не знаю, что это значит, но нашел это странным.

Apr 10:42:52 localhost polkitd(authority=local): Unregistered Authentication Agent for session /org/freedesktop/ConsoleKit/Session1 (system bus name :1.25, object path /org/gnome/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)

В / var / log / messages обе системы, похоже, получили запрос на чистое завершение работы.

Apr 10 10:42:52 localhost init: tty (/dev/tty2) main process (6183) killed by TERM signal
Apr 10 10:42:52 localhost init: tty (/dev/tty3) main process (6186) killed by TERM signal
Apr 10 10:42:52 localhost init: tty (/dev/tty4) main process (6188) killed by TERM signal
Apr 10 10:42:52 localhost init: tty (/dev/tty5) main process (6190) killed by TERM signal
Apr 10 10:42:52 localhost init: tty (/dev/tty6) main process (6192) killed by TERM signal

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

reboot     system boot   2.6.32-279.el6.x Thu Apr 10 10:42 - 10:42  (00:00)

Итак, если никто не вошел в систему, чтобы выключить его, и у меня были два парня, которые были свидетелями выключения серверов и подтвердили, что никто не касался ни одного из серверов, что еще могло вызвать это выключение? Где еще мне искать подсказки?

Предполагая, что это ошибка ядра (паника ядра), вам необходимо захватить вывод консоли сервера, чтобы понять, что именно произошло. Вы можете сделать это, используя:

  • Физический доступ к консоли, обычно вам нужно сделать снимок экрана, чтобы зафиксировать панику (наименее надежный способ захвата)
  • Удаленный IP KVM (сделать снимок экрана)
  • Последовательная консоль (вывод консоли журнала через последовательный кабель с проблемного компьютера на другой) http://www.cyberciti.biz/faq/centos-rhel-6-install-serial-console/
  • Сетевая консоль (вывод консоли журнала на другой сервер в вашей сети) https://fedoraproject.org/wiki/Netconsole

Что нужно дважды проверить на всех серверах, чтобы добиться успеха:

  • Проверьте параметр kernel.panic в /etc/sysrq.conf, который контролирует тайм-аут, по истечении которого Linux будет перезагружаться после паники ядра.
  • Проверьте уровень журнала ядра через kernel.printk в /etc/sysrq.conf, рекомендуется для дополнительной отладки: echo 'kernel.printk = 8 4 1 7' >> /etc/sysctl.conf