Основная часть заметки была написана в 4
ом часу утра 31 марта 2009 непосредственно в момент описываемых событий.
О том, что такое
MCE и чем его закусывают мне довелось впервые столкнуться ночью 31 марта 2009. Знамение пришло в виде нескольких неисправимых ошибок на системной консоли следующего содержания (
снимок экрана)
HARDWARE ERROR
CPU 5: Machine Check Exception: 5 Bank 0: b200004000000800
RIP !INEXACT! 10:<ffffffff8006ad64> {default_idle+0x29/0x50}
TSC 1d24d355f8839d
This is not a sotware problem!
Run through mcelog --acsii to decode and contact your hardare vendor
Полагаясь на диагностику операционной системы, а именно сообщение о том, что проблема связана с железом я погрузился в поиски. Как
оказалось существуют 2
а подмножества ошибок:
- исправимых (warning error);
- неисправимых (nonrecoverable, fatal exception).
Первые ограничиваются сообщениями на системную консоль и в системный журнал. Вторые, с которыми мне и довелось столкнуться, имеют более жестокий характер и останавливают работу всей системы. Согласно данным приведенным в
презентации, в момент сбоя запись на диск запрещена. Соответственно ошибка не оставит о себе следа в случае отсутствия доступа к системной консоли на момент сбоя.
Привлек внимание факт, что сбой произошел в «Bank 0». Согласно
презентации Bank с нулевого по третий соответствуют процессорам.
Banks
0-3 CPU internal (DC, IC, BU, LS)
4 Northbridge: only really interesting one
С другой стороны аналогичные сообщения возникают из-за внутренней несовместимости оборудования.
Например, материнская плата SuperMicro X7DB8+ и дисковый контроллер Adaptec не уживаются вместе.
Днем 31 марта 2009 рассматриваемый сервер был выведен из эксплуатации и начались процедуры тестирования. Неоценимую помощь оказал дистрибутив breakin, который позволил нагрузить систему и воспроизвести сбой. Причина была в недостатке охлаждения. При продолжительной работе в пиковых нагрузках система не справлялась с отводом тепла, что вызывало перегрев процессоров. Проблема скрывалась в аппаратной платформе
SuperMicro SYS-1025W, в которую необходимо устанавливать процессоры с меньшим тепловыделением и дополнительные вентиляторы для охлаждения. После этого случая вся используемая нами линейка SYS-1025W была модернизирована описанным способом.