IPMIでサーバーの電源を遠隔でon/offをする方法

ほとんど自分用の備忘録だが書いておく。

まず、大前提として IPMI を使ってリモートからサーバーの状態を確認orコントロールするためには BIOS の設定画面から IPMI 用に IP を振ったりユーザーやパスワードを予め登録しておく必要がある。これはもう済んでいるものとする。

以下のコマンドで電源やファンの状態を確認できる。

sudo ipmitool -H IPMIに振ったアドレス -U ユーザー名 chassis status

実行例はこんな感じ。targetserver-ipmi は、対象サーバーの IPMI に振った IP アドレス(に解決する名前)である。

[admin@myserver ~]$ sudo ipmitool -H targetserver-ipmi -U username chassis status
Password: (ここでパスワードを入力)
System Power         : on
Power Overload       : false
Power Interlock      : inactive
Main Power Fault     : false
Power Control Fault  : false
Power Restore Policy : always-off
Last Power Event     :
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false
Cooling/Fan Fault    : false

電源の状態だけ確認したい場合(or 電源の状態ぐらいしか確認できないしょぼいハードの場合)、

sudo ipmitool -H IPMIに振ったアドレス -U ユーザー名 power status

で確認できる。

また、電源の on/off は

sudo ipmitool -H IPMIに振ったアドレス -U ユーザー名 power on
sudo ipmitool -H IPMIに振ったアドレス -U ユーザー名 power off

で実行できるので、サーバーから ping も帰ってこないレベルに達したら power off してしばらく待って power on することで運が良ければサーバーが回復する。