IPMI経由でサーバ(Linux)のCPU温度やファン、電圧等の状態を確認する

家鯖(ML115)のメンテナンスというかリプレース」で、ML115G5のCPUを換装したのは良いけど、きちんど温度管理できているかが心配したので確認してみることにした。
CPU温度やファン、電圧の状況は、IPMI(Intelligent Platform Management Interface)と呼ばれるインターフェースを介すことで簡単に確認できます。(ML115はIPMIに対応している)

IPMI(Intelligent Platform Management Interface)はサーバのCPU、バス、ファン、温度センサ、電圧、ファンなどの基本コンポーネントの監視や遠隔地からの制御などを行うためのインターフェース仕様のことです。ハードウェア管理を行うために標準的なインターフェースを利用することで、そのインターフェースを搭載したサーバはベンダーの種類に関係なく共通の手法でハードウェア管理作業を実行することが可能となります。

[Think IT] 第4回:OpenIPMIでサーバ管理 (1/4)

インストール

CentOS 5系でIPMI(OpenIPMI)を試してみます。

# yum -y install OpenIPMI OpenIPMI-tools

ipmitoolは、yum経由でサクッとインストールできます。

# /etc/init.d/ipmi start
Starting ipmi drivers:                                     [  OK  ]

サービスとして起動します。

# chkconfig ipmi on

必要に応じて、自動起動の設定も行います。

では、計測を実施

以下のコマンドを実行するのみです。

# ipmitool sdr
POST Error       | Not Readable      | ns
Memory ECC       | Not Readable      | ns
ACPI State       | 0x01              | ok
PCI Reset        | 0x00              | ok
CPU Fan          | 1984.13 RPM       | ok
Rear Fan         | 2070.39 RPM       | ok
CPU Diode        | 35.50 degrees C   | ok
Front Ambient    | 22 degrees C      | ok
System 12V       | 11.93 Volts       | ok
System 5V        | 5.15 Volts        | ok
System AUX 5V    | 5.05 Volts        | ok
System 3.3V      | 3.39 Volts        | ok
System AUX 3.3V  | 3.33 Volts        | ok
CPU Vcore        | 1.07 Volts        | ok
CPU 12V          | 11.98 Volts       | ok
HT 1.2V          | 1.20 Volts        | ok
Mem Vcore        | 1.82 Volts        | ok
MEM VTT          | 0.89 Volts        | ok
MCP55 1.5V       | 1.52 Volts        | ok
MCP55 1.4V       | 1.40 Volts        | ok
Therm-Trip       | 0x01              | ok
CPU Prochot      | 0x01              | ok
System Reset     | 0x01              | ok
NMI              | 0x01              | ok
PCI Error        | Not Readable      | ns
CPU Socket       | 0x02              | ok
LO100 Present    | 0x01              | ok
Watchdog         | Not Readable      | ns

上記のように、様々な項目の状況を確認することができました!
気にしていたCPU温度も正常だし、きちんとCPUファンやケースファンもまわっていますw

一応、負荷をかけて温度がヤバくならないか確認

そうはいっても、ML115のCPUは換装しましたが、何せ"TDP125W"の地球に優しくないCPUに加えて、CPUファンはML115純正のものを使っているので、きちんと確認。

CPUの温度を上げるためには、CPU負荷をかける事が手っ取り早い!ということで、「Linuxでシステムに対して意図的に高負荷をかけたい場合」の方法で負荷を全開でかけてみたところ、、、

# ipmitool sdr
POST Error       | Not Readable      | ns
Memory ECC       | Not Readable      | ns
ACPI State       | 0x01              | ok
PCI Reset        | 0x00              | ok
CPU Fan          | 4409.17 RPM       | ok
Rear Fan         | 4761.90 RPM       | ok
CPU Diode        | 61.50 degrees C   | ok
Front Ambient    | 23 degrees C      | ok
System 12V       | 11.87 Volts       | ok
System 5V        | 5.17 Volts        | ok
System AUX 5V    | 5.05 Volts        | ok
System 3.3V      | 3.39 Volts        | ok
System AUX 3.3V  | 3.33 Volts        | ok
CPU Vcore        | 1.27 Volts        | ok
CPU 12V          | 11.87 Volts       | ok
HT 1.2V          | 1.20 Volts        | ok
Mem Vcore        | 1.82 Volts        | ok
MEM VTT          | 0.90 Volts        | ok
MCP55 1.5V       | 1.52 Volts        | ok
MCP55 1.4V       | 1.40 Volts        | ok
Therm-Trip       | 0x01              | ok
CPU Prochot      | 0x01              | ok
System Reset     | 0x01              | ok
NMI              | 0x01              | ok
PCI Error        | Not Readable      | ns
CPU Socket       | 0x02              | ok
LO100 Present    | 0x01              | ok
Watchdog         | Not Readable      | ns

な感じになりました。
60度という温度は若干微妙な気もしなくはないですが、始終フルスロットルな使い方というわけでもないので、ヤバくなってきたらCPUファンを変えるということで良しとしておこうか。。。

ipmitoolでは、他にも色々な制御ができますので、興味があれば調べてみてください。

どうでもいいけど、やっぱりCPUは、"TDP45W"の低消費電力版が良かったかな・・・。フル稼働ではなく検証マシンにするつもりなので、そこまで気にしてはいないのだけれど。


Linuxデバイスドライバプログラミング

Linuxデバイスドライバプログラミング