Как я становлюсь уведомленным относительно ошибок ECC в Linux?

Как я становлюсь уведомленным, когда машина Linux, оборудованная памятью ECC, распознает сбой памяти? Я интересуюсь и корректируемыми и некорректируемыми ошибками.

  • если сообщение записано в dmesg/the системный журнал, это уже прекрасно, но я хотел бы знать, что искать
  • установка дополнительных демонов (как smartmontools для жестких дисков) приемлема
  • Контроль Nagios/Icinga был бы другим способом пойти
  • не все машины, которые будут контролироваться, имеют IPMI

Системы интереса имеют Супермикро платы (X9SCM-F), относительно HP N54L Microserver, я - просто сувениры, но не забочусь слишком много. Все системы выполняют Debian или Ubuntu Linux.

22
задан 16 November 2014 в 23:08
5 ответов

Linux ბირთვი მხარს უჭერს შეცდომების გამოვლენისა და კორექტირების ( EDAC ) მახასიათებლებს ზოგიერთ ჩიპსეტში. ECC მხარდაჭერილ სისტემაზე თქვენი მეხსიერების კონტროლერის სტატუსი ხელმისაწვდომია sysfs- ით:

/sys/devices/system/edac/mc

იმ ადგილის ქვეშ მითითებული დირექტორია უნდა შეესაბამებოდეს თქვენს აპარატს, მაგალითად:

/sys/devices/system/edac/mc/mc0/csrow2/power
/sys/devices/system/edac/mc/mc0/csrow0/power
/sys/devices/system/edac/mc/mc0/dimm2/power
/sys/devices/system/edac/mc/mc0/dimm0/power
/sys/devices/system/edac/mc/mc1/power
...

თქვენი აპარატურიდან გამომდინარე, შესაძლოა აშკარად უნდა ჩატვირთოს edac- ის სწორი დრაივერი, შდრ .::121251] edac-utils პაკეტი უზრუნველყოფს ბრძანების ხაზის წინ და ბიბლიოთეკას ამ მონაცემებზე წვდომისთვის, მაგალითად:

edac-util -rfull          
mc0:csrow0:mc#0memory#0:CE:0
mc0:csrow2:mc#0memory#2:CE:0
mc0:noinfo:all:UE:0
mc0:noinfo:all:CE:0
mc1:noinfo:all:UE:0
mc1:noinfo:all:CE:0

გარკვეული სახის cron-job, რომელიც პერიოდულად დარეკავს eac-util - ს და აწვდის შედეგებს თქვენს მონიტორინგის სისტემაში, სადაც შემდეგ შეგიძლიათ დააკონფიგურიროთ ზოგიერთი შეტყობინება.

ამის გარდა, მუშაობს mcelog ] ზოგადად კარგი იდეაა. ეს დამოკიდებულია სისტემაზე, მაგრამ გამოუსწორებელი / შესწორებადი ECC შეცდომები, სავარაუდოდ, აგრეთვე გამოცხადებულია, როგორც გამონაკლისი მანქანაში ( MCE ). ვგულისხმობ იმას, რომ CPU– ს დახურვის ხანმოკლე პერიოდებიც კი უფრო მაღალი ტემპერატურის გამო არის MCE.

5
ответ дан 2 December 2019 в 20:02

mcelog будет контролировать контроллер памяти и ] сообщать о событиях ошибки памяти в системный журнал, а в некоторых конфигурациях может отключать плохие страницы памяти . Это, конечно, в дополнение к его обычному использованию для мониторинга исключений проверки машины и множества других аппаратных ошибок.

В большинстве дистрибутивов Linux есть служба, настроенная для ее запуска в качестве демона, например для EL 6:

chkconfig mcelog on
service mcelog start
9
ответ дан 2 December 2019 в 20:02

Это зависит от оборудования вашего сервера. Белый ящик или система Supermicro справятся с этим иначе, чем Dell, HP или IBM ...

Одна из дополнительных функций высокопроизводительных серверов заключается в том, что существует уровень интеграции оборудования и ОС. Более удобные серверы сообщат, что вы ищете как часть агентов управления и / или решения для внеполосного управления (ILO, DRAC, IPMI).

Вам следует использовать инструменты, встроенные в вашу аппаратную платформу.

Выдержка из серверов HP ProLiant под управлением Linux и агентов управления HP:

Trap-ID=6056
ECC Memory Correctable Errors  detected.

и

Trap-ID=6052
Advanced ECC Memory  Engaged

или более серьезный

Trap-ID=6029
A correctable memory log entry indicates a memory module needs to be
replaced.

или худший ... Игнорирование ошибки в течение 6 дней, пока сервер не выйдет из строя из-за плохой оперативной памяти

0004 Repaired       22:21  12/01/2008 22:21  12/01/2008 0001
LOG: Corrected Memory Error threshold exceeded (Slot 1, Memory Module 1)

0007 Repaired       02:58  12/07/2008 02:58  12/07/2008 0001
LOG: POST Error: 201-Memory Error Single-bit error occured during 
memory initialization, 
Board 1, DIMM 1. Bank containing DIMM(s) has been disabled.

0008 Repaired       19:31  12/08/2009 19:31  12/08/2009 0001
LOG: ASR Detected by System ROM

Они были зарегистрированы, а также были отправлены ловушки SNMP и электронные письма.

Обычно вы увидите исключения машинной проверки в кольцевом буфере ядра, чтобы вы могли проверить dmesg или запустить mcelog . По моему опыту работы с оборудованием Supermicro без IPMI, он не улавливал все, и у меня все еще возникали ошибки RAM, проскальзывающие через трещины и вызывающие сбои. К сожалению, это привело к архаичным политикам сжигания ОЗУ перед развертыванием системы.

6
ответ дан 2 December 2019 в 20:02

Пакет rasdaemon был создан для замены edac-tools, а новые ядра даже не поддерживают edac-tools или mcelog. .

Обновление драйверов ядра EDAC linux изменило способ управления счетчиками ошибок памяти в пользовательском пространстве, поэтому edac-tools и mcelog фактически устарели.

7
ответ дан 4 January 2020 в 22:01

Как упоминалось другим автором, mcelog устарел и фактически заменен на rasdaemon . Я сделал запись о том, как установить и настроить его во многих дистрибутивах Linux, включая инструкции по правильной установке меток DIMM.

3
ответ дан 12 March 2020 в 07:09

Теги

Похожие вопросы