Supermicro IPMI FAN-Thresholds anpassen.
Hat man seinen Server nicht in einem 19 Zoll Gehäuse mit seinen 40mm "Turbinen" sondern in ein Tower Gehäuse
eingebaut kann es vorkommen, dass immer wieder der Lüfter Alarm ausgelöst wird. Dabei fahren die Lüfter auf
die maximale Geschwindigkeit und anschließend wieder herunter.
Dieses Verhalten ist insbesondere bei den
PUE-Profilen (FAN-Mode PUE / PUE2 / PUE3) und Verwendung von 120mm Lüftern zu beobachten. Die Ursache ist,
dass in den PUE-Profilen die Leistung für die Lüfter sehr weit abgesenkt wird und dadurch die unteren
Grenzwerte (Thresholds) von vielen Lüftern unterschritten werden. Oft ist es so, dass das Profil "Optimal",
welches meist gut funktioniere, nicht mehr zur Verfügung steht, wenn ein PUE-Profil vorhanden ist.
Welche Profile (FAN-Mode) auf dem Mainboard verfügbar sind und welches Profil aktuell verwendet wird, kann man auf diese Art abfragen.
# ipmicfg -fan Current Fan Speed Mode is [ PUE2 Optimal Mode ] Supported Fan modes: 0:Standard 1:Full 3:PUE2 Optimal 4:Heavy IO |
Hier sieht man, dass der FAN-Mode 2 "Optimal" nicht mehr zur Verfügung steht.
Will man ein PUE-Profil verwenden kann man geeignete Lüfter verbauen, die eine hohe maximale Geschwindigkeit haben und damit auch im unteren Leistungsbereich noch ausreichend schnell drehen oder Lüfter, die eine ausreichend hohe, festgelegte minimale Geschwindigkeit (PWM 0%-20%) haben und dadurch keinen Alarm auslösen. Ist die Kühlleistung mit den vorhandenen Lüftern in den PUE-Profilen aber ausreichend, kann man auch bedenkenlos im IPMI die unteren Grenzwerte der Lüfter anpassen, die einen Alarm auslösen.
Zunächst kann man sich mit diesem Befehl die Thresholds des jeweiligen Lüfters anzeigen lassen. Weiß man den Namen des Lüfter nicht, kann man sich mit ipmitool sensor zunächst alle Sensoren auflisten lassen.
# ipmitool sensor get "FAN7" Locating sensor record... Sensor ID : FAN7 (0x47) Entity ID : 29.7 Sensor Type (Threshold) : Fan Sensor Reading : 825 (+/- 0) RPM Status : ok Lower Non-Recoverable : 300,000 Lower Critical : 450,000 Lower Non-Critical : 600,000 Upper Non-Critical : 18975,000 Upper Critical : 19050,000 Upper Non-Recoverable : 19125,000 Positive Hysteresis : 75,000 Negative Hysteresis : 75,000 Assertion Events : Assertions Enabled : lcr- lnr- unc+ ucr+ unr+ Deassertions Enabled : lcr- lnr- unc+ ucr+ unr+ |
Die drei unteren Grenzwerte können nun mit diesem Befehl geändert werden. Die hier angegebenen
Geschwindigkeiten passt man natürlich an seine Bedürfnisse an.
Es ist möglich, dass nur bestimmte
Schrittweiten zulässig sind. Dann werden die eingegebenen Werte, die nicht in dieser Schrittweite liegen
automatisch, bis zum nächstgelegenen Schritt, abgeändert.
# ipmitool sensor thresh FAN7 lower 225 375 450 Locating sensor record 'FAN7'... Setting sensor "FAN7" Lower Non-Recoverable threshold to 225,000 Setting sensor "FAN7" Lower Critical threshold to 375,000 Setting sensor "FAN7" Lower Non-Critical threshold to 450,000 |
Nicht bei allen Supermicro Mainboards bleibt diese Anpassung dauerhaft, auch beim trennen vom Strom oder Neustart des IPMI bestehen. In diesem Fall kann man sich z.B. ein Init-Script erstellen, welches die Anpassung bei jedem Serverstart erneut ausführt.
Um zu überprüfen, ob die gemachten Änderungen permanente im IPMI hinterlegt sind, kann man den SDR des jeweiligen Lüfter abrufen.
# ipmitool sdr get "FAN7" Sensor ID : FAN7 (0x47) Entity ID : 29.7 (Fan Device) Sensor Type (Threshold) : Fan (0x04) Sensor Reading : 825 (+/- 0) RPM Status : ok Nominal Reading : 9600,000 Normal Minimum : 1500,000 Normal Maximum : 12750,000 Upper non-recoverable : 19125,000 Upper critical : 19050,000 Upper non-critical : 18975,000 Lower non-recoverable : 225,000 Lower critical : 375,000 Lower non-critical : 450,000 Positive Hysteresis : 75,000 Negative Hysteresis : 75,000 Minimum sensor range : Unspecified Maximum sensor range : Unspecified Event Message Control : Per-threshold Readable Thresholds : lnr lcr lnc unc ucr unr Settable Thresholds : lnr lcr lnc unc ucr unr Threshold Read Mask : lnr lcr lnc unc ucr unr Assertion Events : Assertions Enabled : lcr- lnr- unc+ ucr+ unr+ Deassertions Enabled : lcr- lnr- unc+ ucr+ unr+ |
Sind die gemachten Änderungen auch im SDR zu finden, so sind sie permanent im IPMI hinterlegt und werden nur durch einen Werksreset oder eine erneute eigene Änderung überschrieben. Werden im SDR weiterhin die ursprünglichen Werte aufgeführt, müssen die Werte bei jedem Neustart des IPMI erneut hinterlegt werden.
- Full-Speed: PWM 100%
- Standard: PWM 100%-50%
- Optimal: PWM 100%-30%
- Havy IO: PWM 100%-50%
FAN A/B PWM 100%-75%