Связаться по:
vkarabedyants Telegram Viber
+7 (499) 350-10-69

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Linux x86_64: Обнаружение аппаратных ошибок

Синий экран смерти (BSOD) используется Microsoft Windows, при появлении критической системной ошибки. Linux / UNIX-подобная операционная система выводит сообщение kernel panic. Это аналог BSOD. BSoD и kernel panic формируется с помощью Machine Check Exception (MCE).  MCE не что иное, как фича 64-битных систем AMD / Intel, которая используется для обнаружения неустранимой проблемы с оборудованием. MCE может обнаружить:

  • Ошибка связи между процессором и материнской платой.
  • Ошибка памяти — ECC проблемы.
  • Ошибки кэша процессора и так далее.

Программа mcelog декодирует машинные события (аппаратных ошибок) на x86-64, работающих под управлением 64-разрядной Linux. Эту программу рекомендовано запускать регулярно по расписанию cron на 86-64 Linux системах.  Это полезно для прогнозирования аппаратного сбоя сервера до фактического краха сервера.

Установите mcelog

Введите следующую команду под RHEL / CentOS / Fedora Linux, 64 битного ядра:

yum install mcelog

Введите следующую команду под Debian / Ubuntu Linux, 64 битного ядра:

apt-get update && apt-get install mcelog

По умолчанию Cronjob

mcelog должны регулярно выполнятся с помощью cron на любой x86-64 системы Linux. По умолчанию следующие настройки cron используются на Debian / Ubuntu Linux —/etc/cron.d/mcelog:

# /etc/cron.d/mcelog: crontab entry for the mcelog package
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin

*/5 * * * *	root	test -x /usr/sbin/mcelog -a ! -e /etc/mcelog-disabled && /usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog

CentOS / RHEL / Fedora Linux, добавить в ежечасный cron через /etc/cron.hourly/mcelog.cron:

#!/bin/bash
/usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog

Как просмотреть журналы ошибок?

Используйте tail или grep команду:

# tail -f /var/log/mcelog

или

# grep -i "hardware error" /var/log/mcelog

или

# grep -c "hardware error" /var/log/mcelog

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

# [ $(grep -c "hardware error" /var/log/mcelog) -gt 0 ] && echo "Hardware Error Found $(hostname) @ $(date)" | mail -s 'H/w Error' [email protected]

С помощью этого инструмента, я увидел пару аппаратные проблемы и смог предотвратить kernel panic т.е. сбой сервера.
Если у вас есть проблемы с сервером или вы хотите не допустить их мы предоставляем услуги администрирования серверов и разовые работы по настройке и установке сервера.

Примечание О mcelog

  • Вы должны использовать 64-разрядную Linux операционную систему для запуска mcelog. Некоторые MCEs являются фатальными и решить проблему без перезагрузки или замены аппаратной части нет возможности, но поймать много плохого до аварии с помощью этого инструмента возможно.
  • MCAT — утилита командной строки для Windows от AMD для декодирования MCEs от AMD K8, семейства 0x10 и 0x11 процессоров.
  • mcedaemon — daemonthat может получать уведомления MCE, как только ядро находит их. Он не пытается интерпретировать данные MCE, просто предупредить других приложений.

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.