HP Microserver Gen 8 – Error FAQ

HP MicroServer ist eine von Hewlett Packard Enterprise (HPE) entwickelte und hergestellte Produktreihe von Servern. HP Server sind i.d.R. mit dem HP iLO (Integrated Lights-Out) Interface ausgestattet. ILO ermöglicht die Fernüberwachung, Verwaltung und Steuerung von HPE-Servern, auch wenn diese nicht lokal zugänglich sind. Neben dem iLO Interface verfügen die meisten Server heute über Virtualisierungstechnologien wie VT-d, VT-x und VT-c (Intel).


Meldung: BIOS defekt

Folgende Meldung deutet auf ein defektes BIOS hin:

DMAR: [Firmware Bug]: Your BIOS is broken; bad RMRR [0x00000000000e8000-0x000000000]

Diese Meldung kann durch einen Defekt des BIOS ROMs oder des Flashspeichers für die BIOS und ILO Konfiguration verursacht werden. Des Weiteren kann es durch Programmfehler der IOMMU ( Input-Output Memory Management Unit) zu der Meldung im OS des Servers kommen. Solange im iLO kein defektes BIOS angezeigt wird, kann die Meldung des OS in den meisten Fällen ignoriert werden. Andernfalls können folgende Schritte Abhilfe schaffen:

HP Microserver Gen 8 Bios and ILO Update
Reset ILO Nand

Wenn das Problem weiterhin besteht, kann das Zurücksetzen auf Werkseinstellungen Abhilfe schaffen:
System Configuration > BIOS/Platform Configuration (RBSU) > System Default Options > Restore Default Manufacturing Settings

Wenn alle o.g. Punkte nicht zum Erfolg führen, sollte ein Support-Ticket erstellt werden, da es sich möglicherweise um ein Hardware-Problem handelt und eventuell einen Austausch der Hauptplatine erfordert.


Meldung: DMAR: DRHD: handling fault status reg 2

Diese Meldung deutet auf Fehler in der VT-d Implementierung hin. Eine der Hauptfunktionen von VT-d besteht darin, den Zugriff von Ein- und Ausgabegeräten auf den Arbeitsspeicher zu verwalten und zu schützen. Dies ist besonders in Virtualisierungsumgebungen wichtig und trägt zur Sicherheit, Leistung und Zuverlässigkeit von Computersystemen bei. Bei Intel finden sich diese Funktionen in der VT-d Implementierung (Hardware), angesteuert durch IOMMU (Input-Output Memory Management Unit, Software) , AMD nennt es AMD-VI (AMD Virtualization I/O).

Intel(R) Virtualization Technology for Directed I/O
DMAR: DRHD: handling fault status reg 2
DMAR: [INTR-REMAP] Request device [01:00.0] fault index 0x14 [fault reason 0x26] Blocked an interrupt request due to source-id verification failure

Insgesamt spielt IOMMU eine entscheidende Rolle bei der Gewährleistung der Sicherheit, Zuverlässigkeit und Leistung von Computern, insbesondere in virtualisierten Umgebungen. Daher sollten die IOMMU Funktionen möglichst nicht deaktiviert werden. Allerdings gibt es immer wieder Probleme bei älterer Hardware oder nicht aktualisierter Firmware, sodass es mit unter nötig ist IOMMU zu deaktivieren.


IOMMU deaktivieren (BIOS)

Die Speicherverwaltung (DMA) der IOMMU Funktionen werden auf HP-Servern unter dem Menupunkt „Shared Memory Communication“ im Service Menu des BIOS konfiguriert. Das Servicemenü wird durch Drücken der Tastenkombination „Control +a“ beim Betreten des BIOS sichtbar.

System booten und BIOS/RBSU (ROM-Based Setup Utility) öffnen (F9)
CTRL+A drücken, um verstecktes Menü anzuzeigen
 “Service Options” auswählen
 “Processor Power and Utilization Monitoring” auswählen und deaktivieren
 “Shared Memory Communication” auswählen und deaktivieren
 F10 zum Speichern und Beenden drücken und bestätigen
 System neu starten

 


IOMMU deaktivieren (Kernel)

Kernel-Parameter sind Konfigurationsoptionen, die den Linux-Kernel beeinflussen und verschiedene Aspekte des Betriebssystems steuern, darunter Hardware-Ressourcen, Treiber und Systemverhalten. Sie können dazu verwendet werden, die Leistung, Sicherheit und Funktionalität des Kernels und des gesamten Systems anzupassen. Kernel-Parameter können entweder über den Bootloader (Grub) oder über systemd (sysctl) gesetzt werden.

Grub (GRand Unified Bootloader):

    • Bearbeiten der Datei /etc/default/grub als Administrator.
    • Anpassung der Kernel-Parameter mit der Zeile GRUB_CMDLINE_LINUX_DEFAULT="Para1 Para2 ..."
    • Übernahme der Änderungen mit sudo update-grub
    • Neustarten des Computers

sysctl:

    • Verwendung des sysctl-Befehlszeilentool, um Kernel-Parameter zur Laufzeit festzulegen.
    • Beispiel: sudo sysctl -w kernel.parameter_name=value

Einige Optionen haben möglicherweise unerwünschte Nebenwirkungen, wie z.B. die Deaktivierung des Hyperthreadings. Daher sollte immer nur eine Option der folgenden Kernel-parameter bezüglich IOMMU gewählt werden.

    • iommu=pt
    • iommu=pt r8169.use_dac=1
    • intel_iommu=pt
    • intel_iommu=igfx_off
    • iommu=off
    • intel_iommu=off

VT-d deaktivieren

VT-d umfasst neben DMA Funktionen auch die Steuerung der Interrupts, was bei fehlender oder falscher Implementierung ebenfalls zu Fehlern führen kann.

DMAR: DRHD: handling fault status reg 2
[ 1.160093] DMAR: [INTR-REMAP] Request device [01:00.0] fault index 0x14 [fault reason 0x26] Blocked an interrupt request due to source-id verification failure

In o.g. Fall blockiert VT-d einen Interrupt, auf den iLO ebenfalls Zugriff benötigt. Das führt dazu, dass Eingaben auf der HTML-Konsole des iLO Interfaces nur bis zur ersten Interruptanfrage möglich sind. Danach ist das iLO HTML Interface nicht mehr ansprechbar.

In diesem Fall hilft nur eine vollständige Deaktivierung aller VT-d Funktionen. VT-d kann im BIOS des HP Microservers wie folgt deaktiviert werden:

 

 


CC_BY_NC_SAby Speefak | www.thomas-krenn.com | debianforum.de

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Back To Top