物理サーバーには、OSとは独立して動作するBMC(Baseboard Management Controller)が搭載されています。
BMCはOSが起動していなくても電源供給を受けてハードウェアを監視し続け、温度異常や電源障害を記録します。
この記事では、LinuxからBMCを操作する標準ツール
ipmitool の使い方を解説します。この記事では、RHEL 9系/Rocky Linux 9を想定環境として説明します。センサー確認・SELログ調査・リモート電源操作まで、物理サーバー管理に必要なコマンドを体系的にまとめます。
この記事のポイント
・ipmitoolでBMCに接続し、CPUや電源のセンサー値をOSから確認できる
・SELログはOSのsyslogとは独立したハードウェアイベントの記録領域
・リモートモードを使えばネットワーク経由でサーバーの電源操作が可能
・仮想マシンやクラウド環境にはBMCがなくipmitoolは使えない
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
ipmitoolとIPMIの基本を押さえる
IPMI(Intelligent Platform Management Interface)は、サーバーのハードウェアを監視・管理するための業界標準インターフェースです。OSが起動していない状態でも、BMC自体が独立した小型コンピュータとして動作し、電源供給・温度・ファン・電圧を監視し続けます。
サーバーが完全に応答しなくなった場合でも、BMCのIPMIインターフェースを経由してリモートから電源操作や状態確認が可能です。
・IPMI v2.0:現在の主流バージョン。暗号化(AES/3DES)対応。LAN経由のコマンドは
-I lanplus を指定する・BMC:マザーボード上の管理専用チップ。独自の管理LANポートを持つ製品が多い(Dell iDRAC、HP iLO、Supermicro IPMI等)
・SEL(System Event Log):BMCが記録するハードウェアイベントのログ。メモリエラーや温度異常が記録される
・SDR(Sensor Data Repository):搭載センサーのリスト。各センサーの種類・閾値・現在値を保持する
ipmitoolのインストールと基本設定
1. パッケージのインストール
RHEL 9系・Rocky Linux 9では dnf で直接インストールできます。# RHEL 9系・Rocky Linux 9 $ sudo dnf install -y ipmitool # Ubuntu 22.04 / 24.04 の場合 $ sudo apt install -y ipmitool
2. IPMIカーネルモジュールの読み込み
ローカルのBMCにアクセスするにはipmi_devintf と ipmi_si の2つのカーネルモジュールが必要です。# モジュールをロード $ sudo modprobe ipmi_devintf $ sudo modprobe ipmi_si # デバイスファイルの確認 $ ls /dev/ipmi* # 出力例(環境により異なります) /dev/ipmi0 # 永続化(次回起動時も自動ロード) $ sudo sh -c 'printf "ipmi_devintf ipmi_si " > /etc/modules-load.d/ipmi.conf'
/dev/ipmi0 が存在すれば、ローカルモードでBMCに接続できます。仮想マシンやクラウドインスタンスではBMCが搭載されていないため、このデバイスファイルは存在しません。
3. ローカルとリモート、2つの接続モード
・ローカルモード:サーバー上で直接実行。/dev/ipmi0 を経由するため sudo が必要・リモートモード:管理PCや踏み台サーバーから、BMCの管理IPに接続する
# ローカルモード(サーバー上で実行) $ sudo ipmitool mc info # リモートモード(IPMI v2.0 / LAN Plus) # -I lanplus(プロトコル)-H(BMC IP)-U(ユーザー名)-P(パスワード) $ ipmitool -I lanplus -H 192.168.1.100 -U admin -P password mc info
-I lanplus(IPMI v2.0、暗号化あり)を使うのが原則です。古い機器で接続できない場合は -I lan(IPMI v1.5)を試してください。ハードウェアセンサーを確認する
1. sdrコマンドでSDRリストを取得する
ipmitool sdr list はサーバーに搭載されているセンサーの一覧とその現在値を表示します。$ sudo ipmitool sdr list # 出力例(環境により異なります) CPU_Temp | 42 degrees C | ok Ambient_Temp | 24 degrees C | ok Fan1_Speed | 3600 RPM | ok Fan2_Speed | 3600 RPM | ok 12V | 12.12 Volts | ok 3.3V | 3.31 Volts | ok PS1_Status | Presence Detected | ok PS1_Input_Power | 80 Watts | ok
ok であれば正常範囲内です。nc(Non-Critical: 注意)や cr(Critical: 危険)になっているセンサーは、閾値を超えていることを示すため即座に確認が必要です。2. sensorコマンドで現在値と閾値を確認する
ipmitool sensor は各センサーの閾値(Lower/Upper Non-Critical・Critical・Non-Recoverable)も一緒に表示します。$ sudo ipmitool sensor # 出力例(環境により異なります) # 列順: センサー名 | 現在値 | 単位 | 状態 | LNR | LCR | LNC | UNC | UCR | UNR CPU_Temp | 42.000 | degrees C | ok | na | na | na | 80.000 | 90.000 | 95.000 Fan1_Speed | 3600.000 | RPM | ok | 300 | 200 | 400 | na | na | na 12V | 12.120 | Volts | ok | 10.2| 10.8| 11.4| 12.600 | 13.200 | na
3. カテゴリで絞り込む
センサーが多いサーバーではsdr type でカテゴリを指定すると見やすくなります。# 温度センサーのみ表示 $ sudo ipmitool sdr type Temperature # ファンのみ表示 $ sudo ipmitool sdr type Fan # 電源関連のみ表示 $ sudo ipmitool sdr type 'Power Supply' # grep で特定センサーを抽出 $ sudo ipmitool sensor | grep -i temp
SELログで障害の痕跡を調査する
SEL(System Event Log)はBMCが記録するハードウェアイベントの履歴です。OSの syslog や journald とは独立して、BMC内のNVRAMに保存されます。サーバーが強制リセットされた後やハードウェア障害が疑われる場面で、最初に確認すべきログです。1. sel listでイベントを一覧表示する
$ sudo ipmitool sel list # 出力例(環境により異なります) 1 | 10/01/2026 | 09:12:33 | Temperature #0x30 | Lower Critical going high | Asserted 2 | 10/01/2026 | 09:12:35 | Fan #0x41 | Lower Critical going low | Asserted 3 | 10/02/2026 | 14:05:01 | Power Supply #0x61| Presence detected | Deasserted 4 | 10/10/2026 | 08:00:00 | System Event | Timestamp Clock Sync | Asserted
2. sel elistで詳細イベントを確認する
ipmitool sel elist は sel list より詳細な説明を付与します。合わせて
sel info でSELの空き容量も確認しておきましょう。# 詳細ログの表示 $ sudo ipmitool sel elist # SEL情報(エントリ数・空き容量)の確認 $ sudo ipmitool sel info # 出力例(環境により異なります) SEL Information Version : 1.5 (v1.5, v2 compliant) Entries : 42 Free Space : 1988 bytes Percent Used : 2% Last Add Time : 10/19/2026 17:00:00
Percent Used が高くなると新しいイベントが記録されなくなります。定期的な確認と、必要に応じたクリアが運用上必要です。3. SELログをクリアする
調査が完了したら SELログをクリアします。クリアは不可逆なので、事前にファイルへ保存してください。# クリア前にファイルへ保存(習慣にすること) $ sudo ipmitool sel elist > /var/log/ipmi-sel-$(date +%Y%m%d).log # SELログのクリア $ sudo ipmitool sel clear Clearing SEL. Please allow a few seconds to erase...done. # クリア後の確認 $ sudo ipmitool sel info | grep Entries Entries : 0
電源状態の確認と制御
1. chassis power statusで電源状態を確認する
# 電源状態の確認 $ sudo ipmitool chassis power status # 出力例(環境により異なります) Chassis Power is on # シャーシ全体の状態確認(電源・故障・冷却等) $ sudo ipmitool chassis status # 出力例(環境により異なります) System Power : on Power Overload : false Main Power Fault : false Drive Fault : false Cooling/Fan Fault : false
2. リモートからの電源操作
リモートモードでの電源操作は、現場に行かずにサーバーを制御できる強力な手段です。物理サーバーの運用を学びたい方は、Linux Master Pro Seminar で実機を使ったハンズオン形式の研修も参考にしてください。# リモートからの電源操作(すべてのコマンドに -I lanplus -H -U -P が必要) # 電源ON ipmitool -I lanplus -H 192.168.1.100 -U admin -P password chassis power on # ソフトシャットダウン(OSのシャットダウン手順を経由) ipmitool -I lanplus -H 192.168.1.100 -U admin -P password chassis power soft # ハードリセット(強制リセット・OSに通知なし) ipmitool -I lanplus -H 192.168.1.100 -U admin -P password chassis power reset # 電源OFF後にON(パワーサイクル) ipmitool -I lanplus -H 192.168.1.100 -U admin -P password chassis power cycle
power reset と power cycle は強制操作です。ディスクの書き込みキャッシュが残ったまま電源が切れるリスクがあります。OSが応答している状況では power soft を優先し、OSが完全にフリーズした場合のみ強制操作を使いましょう。BMC情報とファームウェアを確認する
BMCのファームウェアバージョンを把握しておくことで、脆弱性対応やサポート問い合わせ時に役立ちます。# BMC(Management Controller)の基本情報 $ sudo ipmitool mc info # 出力例(環境により異なります) Device ID : 32 Firmware Revision : 3.46 IPMI Version : 2.0 Manufacturer Name : DELL Inc. Device Available : yes # BMC LAN設定の確認(チャンネル番号1が一般的) $ sudo ipmitool lan print 1 # 出力例(環境により異なります) IP Address Source : Static Address IP Address : 192.168.1.100 Subnet Mask : 255.255.255.0 Default Gateway IP : 192.168.1.1
トラブルシュート:よくあるエラーと対処
1. 「Could not open device at /dev/ipmi0」が出る
カーネルモジュールが読み込まれていないか、BMCが搭載されていないサーバー(仮想マシン等)で実行しています。# ロード済みモジュールの確認 $ lsmod | grep ipmi # 出力例(正常時)(環境により異なります) ipmi_devintf 24576 0 ipmi_si 77824 0 ipmi_msghandler 65536 2 ipmi_devintf,ipmi_si # モジュールが表示されない場合はロード $ sudo modprobe ipmi_si ipmi_devintf # それでも /dev/ipmi0 が作られない場合 $ ls /dev/ipmi* 2>&1 # → 仮想マシンかBMC非搭載サーバーの可能性が高い
2. リモート接続で「Error in open session response message」が出る
BMCのセッション数が上限に達しています。他のプロセスや管理GUIが接続を占有している場合に発生します。# ローカルから既存セッションを確認 $ sudo ipmitool session info all # セッションをクリア(BMCコールドリセット) $ sudo ipmitool mc reset cold
3. 認証エラーまたは「Get Device ID command failed」が出る
パスワードの誤りか、暗号化プロトコルの不一致です。スクリプトからipmitoolを呼び出す場合は、パスワードをコマンド引数に直接書かずファイルから渡すのが安全です。# IPMI v1.5(古い機器向け)で接続を試みる $ ipmitool -I lan -H 192.168.1.100 -U admin -P password mc info # パスワードをファイルから渡す(コマンド履歴にPWを残さない) $ ipmitool -I lanplus -H 192.168.1.100 -U admin -f /etc/ipmi.passwd mc info
本記事のまとめ
ipmitoolの主要コマンドをまとめます。| やりたいこと | コマンド |
|---|---|
| 搭載センサーの一覧を確認する | ipmitool sdr list |
| センサーの現在値と閾値を確認する | ipmitool sensor |
| 温度センサーだけを表示する | ipmitool sdr type Temperature |
| ハードウェアイベントログを確認する | ipmitool sel list |
| SELログの詳細を確認する | ipmitool sel elist |
| SELログの容量・エントリ数を確認する | ipmitool sel info |
| SELログを保存してからクリアする | ipmitool sel elist > /path/log.txt && ipmitool sel clear |
| 電源状態を確認する | ipmitool chassis power status |
| OSを経由したシャットダウンを行う | ipmitool chassis power soft |
| ハードリセットをかける | ipmitool chassis power reset |
| BMCのファームウェア情報を確認する | ipmitool mc info |
| リモートからBMCに接続する | ipmitool -I lanplus -H <IP> -U <user> -P <pass> <cmd> |
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、
ipmitoolを使った物理サーバー管理は、オンプレミス環境を運用するエンジニアに必須のスキルです。センサー監視やSELログ調査の知識に加え、Linuxサーバーの設計・構築・障害対応を体系的に学べる実践ハンズオン研修があります。>> Linux Master Pro Seminar の詳細はこちら
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 前のページへ:alternativesコマンドで複数バージョンを管理する方法|Java・Pythonの切り替えと--configオプションの実践
- この記事の属するカテゴリ:Linuxtipsへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます