Boot Error Record Table (BERT)
Die Boot Error Record Table (BERT) ist eine ACPI Tabelle, mittels derer die Firmware eines Server-Systems Informationen zu vorhergegangenen Hardwarefehlern dem Betriebssystem bereitstellen kann. Wenn unter normalen Umständen ein Hardwarefehler auftritt, wird der OS-Kernel benachrichtigt. Ist der Fehler aber so umfangreich, dass die Firmware das System zurücksetzt oder abstürzen lässt ohne den OS-Kernel zu benachrichtigen, kann die Firmware Informationen zum Fehler in die BERT eintragen.
Grundlagen
Die ACPI Fehlerschnittstellen (ACPI Platform Error Interfaces - APEI) sind darauf ausgelegt, Hardwarefehler zu überprüfen und dem Betriebssystem als Corrected Error (CE) und Uncorrected Error (UC) zu melden.
Unter normalen Umständen wird der OS-Kernel über einen Non-maskable Interrupt (NMI), eine Machine-check Exception (MCE) oder eine andere Methode informiert. Der Kernel verarbeitet die Fehlerinformation, meldet diese und behebt - sofern möglich - den Fehler.
Manchmal ist der Fehler jedoch so gravierend, dass die Firmware den Server direkt zurücksetzt, ohne den OS-Kernel zu benachrichtigen. Der Linux-Kernel kann dann beim nächsten Neustart die Boot Error Record Table (BERT) verwenden, um die nicht gemeldeten Hardware-Fehler, die bei einem früheren Bootvorgang aufgetreten sind, zu ermitteln:[2]
BERT: Error records from previous boot: [Hardware Error]: It has been corrected by h/w and requires no further action [Hardware Error]: event severity: corrected [Hardware Error]: Error 0, type: recoverable [Hardware Error]: section_type: memory error [Hardware Error]: error_status: 0x0000000000000400 [Hardware Error]: physical_address: 0xffffffffffffffff [Hardware Error]: card: 1 module: 2 bank: 3 row: 1 column: 2 bit_position: 5 [Hardware Error]: error_type: 2, single-bit ECC
Linux Kernel Support
Wichtige Änderungen des BERT Supports in Linux:
Linux Kernel Version | Commit |
---|---|
Log sämtlicher Patches | /drivers/acpi/apei/bert.c (git.kernel.org) |
6.1 | ACPI: APEI: Add BERT error log footer |
6.0 | ACPI: APEI: Better fix to avoid spamming the console with old error logs |
5.18 | ACPI/APEI: Limit printable size of BERT table data |
4.8 | ACPI / APEI: Add Boot Error Record Table (BERT) support |
Weitere Informationen
- Random Reboots AMD EPYC Server
- Kernel: "BERT: Error records from previous boot" (access.redhat.com/solutions, 20.09.2023)
- mcelog and edac_mce_amd kernel module does not work with a virtual machine with AMD CPU (access.redhat.com/solutions, 30.11.2023)
Einzelnachweise
- ↑ 18.3. Error Source Discovery (ACPI Specification Version 6.5)
- ↑ ACPI / APEI: Add Boot Error Record Table (BERT) support (git.kernel.org, 29.06.2016)
Autor: Werner Fischer Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.
|