Boot Error Record Table (BERT)

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

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 Spezifikation definiert im Kapitel 18.3 das Format der Boot Error Record Table.[1]

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

Einzelnachweise

  1. 18.3. Error Source Discovery (ACPI Specification Version 6.5)
  2. ACPI / APEI: Add Boot Error Record Table (BERT) support (git.kernel.org, 29.06.2016)


Foto Werner Fischer.jpg

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.


Das könnte Sie auch interessieren

Direct Cache Access (DCA) zur Beschleunigung von 10 GBit Ethernet
Serial ATA
SR108 für die Montage in einem Rack vorbereiten