Category Archives: UNIX

Prozessor fehlt – ansonsten ist alles ok

Nur ein kurzer, sehr spezieller Blogeintrag für mich selbst, obwohl ich hoffe, es nie wieder machen zu müssen…

Wenn man mittels check_ipmi_sensor seine Server abfragt, kann es unter Umständen passieren, dass man folgende, beunruhigend wirkende Meldung bekommt:

IPMI Status: Critical [Presence = Critical ('Entity Absent')]

Hmm, offensichtlich fehlt irgendwas, aber was? Man erinnert sich kurz, dass das Skript auch den netten Schalter “-v” kennt, und wird durch folgende Zeilen nicht wirklich weiter erhellt:

[...]
FAN MOD 5A RPM = 2760.000000 (Status: Nominal)
Presence = 'Entity Present' (Status: Nominal)
Presence = 'Entity Absent' (Status: Critical)
Presence = 'Entity Present' (Status: Nominal)
Presence = 'Entity Present' (Status: Nominal)
Presence = 'Entity Present' (Status: Nominal)
Status = 'Processor Presence detected' (Status: Nominal)
[...]

Ok, was auch immer die fünf Präsenzen sind: eine fehlt. Also auf die Kiste selbst rauf und nachgucken. Das Werkzeug der Wahl vor Ort lautet ipmitool und mittels des Aufrufes

ipmitool sdr elist

erhält nun im Prinzip die gleiche Antwort wie zuletzt, nur anders formatiert und als definitiv weniger kritisch eingestuft (ok):

[...]
FAN MOD 5B RPM   | 39h | ok  |  7.1 | 2760 RPM
Presence         | 50h | ok  |  3.1 | Present
Presence         | 51h | ok  |  3.2 | Absent
Presence         | 54h | ok  | 10.1 | Present
Presence         | 55h | ok  | 10.2 | Present
Presence         | 56h | ok  | 26.1 | Present
Status           | 60h | ok  |  3.1 | Presence detected
[...]

Nun kennt aber auch ipmitool noch einen Verbose-Schalter und nun werden wir endlich schlauer.

[...]
Sensor ID              : FAN MOD 5B RPM (0x39)
 [...]

Sensor ID              : Presence (0x50)
 Entity ID             : 3.1 (Processor)
 Sensor Type (Discrete): Entity Presence
 States Asserted       : Entity Presence
                         [Present]
 Assertion Events      : Entity Presence
                         [Present]

Sensor ID              : Presence (0x51)
 Entity ID             : 3.2 (Processor)
 Sensor Type (Discrete): Entity Presence
 States Asserted       : Entity Presence
                         [Absent]
 Assertion Events      : Entity Presence
                         [Absent]

Sensor ID              : Presence (0x54)
 Entity ID             : 10.1 (Power Supply)
 Sensor Type (Discrete): Entity Presence
 States Asserted       : Entity Presence
                         [Present]
 Assertion Events      : Entity Presence
                         [Present]

[...]

Ja, die Kiste hat zwei Prozessorsockel, aber nur einen Prozessor, weshalb der fehlende zweite Prozessor zum CRITICAL führt. Die restlichen “Präsenzen” sind übrigens zwei Netzteile und ein “Disk Drive Bay” – hätte man auch selbst drauf kommen können.

Soweit, so gut – und wie schalten wir nun den Check aus? Kurzes Googlen sagt uns, dass wir die Finger davon lassen sollen, da ein Konfigurieren der Sensoreinstellung gefährlich ist und im schlimmsten Fall den nächsten Atomkrieg auslösen kann…

Es funktioniert folgendermaßen: Mittels

ipmi-sensors-config --checkout --filename config.txt

besorgt man sich einen aktuellen Auszug der Sensorkonfiguration (dauert ne Weile).

In diesen geht man nun mit einem Editor seiner Wahl rein und sucht den entsprechenden Sensor (leider werden in dieser Datei keine Sensor-IDs angegeben, so dass man sich an der bisherigen Reihenfolge der Sensoren orientieren muss).

Der entsprechende Auszug sieht in unserem Fall so aus:

[...]
Section 45_FAN_MOD_5B_RPM
	[...]
Section 46_Presence
	## Possible values: Yes/No
	Enable_All_Event_Messages       Yes
	## Possible values: Yes/No
	Enable_Scanning_On_This_Sensor  Yes
EndSection
Section 47_Presence
	## Possible values: Yes/No
	Enable_All_Event_Messages       Yes
	## Possible values: Yes/No
	Enable_Scanning_On_This_Sensor  Yes
EndSection
Section 48_Presence
[...]

Nun ändert man die beiden “Yes” in Section 47 in jeweils ein “No” und schreibt die Konfiguration zurück mittels

ipmi-sensors-config --commit --filename config.txt

Bei der nächsten IPMI-Anfrage guckt man dann wie gewollt durch die rosarote Brille und alles wird gut…

Rekursives CVS-Add

Damit ich nicht selbst immer wieder neu suchen (oder gar selbst durchdenken) muss:

find . -type d -print | grep -v CVS | xargs cvs add
find . -type f -print | grep -v CVS | xargs cvs add

Ersteres fügt alle Verzeichnisse, zweiteres die Dateien hinzu, wobei in beiden Fällen die jeweils vorhandenen CVS-eigenen Verzeichnisse herausgefiltert werden.

Hab’s von hier, wobei sich derjenige wiederum hiervon hat inspirieren lassen.