EDAC MC0: UE (Uncorrectable Error) — Фатальный сбой ECC памяти в Linux
Архитектура ошибки и симптомы сбоя
Критический сбой «EDAC MC0: UE (Uncorrectable Error) fatal memory hardware error» регистрируется при возникновении многобитовой ошибки в оперативной памяти (Multi-Bit ECC Error). В отличие от однобитовых сбоев, алгоритмы ECC не способны восстановить поврежденные биты данных. Во избежание записи искаженных данных в СУБД или на диск ядро немедленно останавливает систему через MCE (Machine Check Exception) или аварийно завершает затронутый процесс.
Диагностическая таблица параметров сбоя
| Параметр | Значение | Инженерный смысл сбоя |
|---|---|---|
| UE (Uncorrectable Error) | Multi-Bit Flip | Неисправимое аппаратное повреждение данных в оперативной памяти. |
| Action | MCE Panic / SIGBUS | Ядро вызывает панику либо отправляет SIGBUS процессу-владельцу страницы. |
| Hardware State | Defective DIMM | Физический выход из строя чипа памяти на планке DIMM. |
Пошаговое дерево решений и сценарии траблшутинга
Сценарий 1: Определение точного физического адреса и слота DIMM
# Просмотр аппаратных фатальных событий через rasdaemon:
sudo ras-mc-ctl --summary
# Проверка логов mcelog:
sudo mcelog --client
# Анализ журнала IPMI SEL:
sudo ipmitool sel list | grep -E "(Uncorrectable|Critical)"Сценарий 2: Проверка механизма изоляции страниц (Memory Failure Recovery)
В современных ядрах включена подсистема CONFIG_MEMORY_FAILURE, которая пытается мягко изолировать поврежденную 4KB страницу памяти (Soft/Hard Offline):
# Проверка статуса изолированных страниц ядра:
cat /proc/meminfo | grep -i "HardwareCorrupted"Сценарий 3: Немедленная замена дефектного модуля памяти
- Зафиксируйте маркировку слота из логов IPMI (например, DIMM_B2).
- Выключите сервер, замените дефектный модуль памяти на заведомо исправный с аналогичными таймингами и ранговостью (1R/2R/4R).
- Перед вводом в production выполните стресс-тест ОЗУ с помощью
memtest86+.
ITSTM обеспечивает экстренную миграцию рабочих нагрузок, замену серверных комплектующих и настройку резервных нод высокой доступности (HA Cluster).
Частые вопросы (FAQ)
Может ли ошибка UE привести к повреждению базы данных?
Да, если сбойная ячейка памяти содержала страницу буферного кэша СУБД до того, как аппаратный контроллер успел сгенерировать исключение MCE. После сбоя UE рекомендуется провести проверку целостности таблиц БД.
Почему сервер не ушел в перезагрузку при ошибке UE?
Если поврежденная страница принадлежала пользовательскому процессу, а не ядру, Linux изолирует страницу (Hard Offline) и убивает только этот процесс сигналом SIGBUS (BUS_MCEERR_AR).