IPMIによるサーバのリモート管理

研究室で購入するマシン選定の際、最近注目しているのがリモート管理機能です。PCサーバでもネットワーク経由でのマシンの起動・停止から、リモートコンソールでのbios設定やHardwareモニターなどの機能が比較的容易に行える状況になっています。障害時対応のみならず、OSのインストール作業なども自分の机で論文を読みながらでも作業できたりと、意外と管理者の負担軽減上効果的だったりします。

これらの機能は、メインCPUとは別にシステム管理用のマイコンが搭載されており、たとえOSにトラブルがあっても別系統で動作するようになっています。Intelなどが主導するIPMIという規格があり、一応最近では業界標準的になっているようです。以下では備忘録もかねて、IPMIの情報とLinuxからのリモート管理の利用法をメモしておきます。

IPMI

IPMI規格(intel)

http://www.intel.com/design/servers/ipmi/index.htm


日本語の紹介文(IPMI v1.5)

http://www.intel.co.jp/jp/developer/update/contents/sv07031.htm

BMCというシステム管理用のマイコンが搭載されており、シリアルやNICを通じて外部マシンから(out-of-band)、その情報にアクセスが可能。もちろん管理対象マシンのOSから(in-band)も情報にアクセスできる。

提供する機能は、IPMI ver1.5では

  • Hardwareモニター(CPU音頭、ファン回転数ほか)
  • 電源のOn/Off
  • 次の起動時のBoot方法の指定(PXE, CDROM, disk,...)
  • System Event Log
  • Event Trap(障害発生時などにIPMI Messageを送信)

があり、ver 2.0では追加して

  • Serial over LAN(SOL). LAN経由でのSerialPortアクセス. Serial Redirectionと合わせて、textベースでのリモートコンソールが利用可能。リモートからのBIOS設定やSSH以外の非常時Loginなど。
  • user 認証の強化
  • 通信の暗号化

などがある。

上記の機能に加えて、ベンダー独自の拡張があり

  • Web interface
  • v1.5でもremote serial consoleが利用可能
  • Virtual Floppy(TFTPサーバのデータを仮想的にFloppy Deviceに)

などがある。

LANコネクタに関しては

  • システムのNICと共有(べつのIPを割り当て)
  • IPMI用の独立したLANを持つ

の2タイプある。エントリーレベルのマシンでは前者が多い。

IPMI規格とは別に、ベンダー独自のシステム管理機能もある。
(例: IBM リモート管理アダプタ2)

Linuxからの利用

OpenIPMI

http://www.openipmi.org/

IPMITOOL
http://sourceforge.net/projects/ipmitools/

Debianでは既にpackageがあります。
実用上は、LAN経由でのIPMIアクセスでしょう。この場合、IPMIへのKernel設定は無用です。remoteマシンのip address(ipmi)をremote.ipmi.lanとした場合、例えばCPU温度などのセンサー情報の取得は

ipmitool -I lan     -H remote.ipmi.lan -P  -U   sdr list #IPMI v1.5
ipmitool -I lanplus -H remote.ipmi.lan -P  -U   sdr list #IPMI v2.0

で行えます。

他の作業などの詳しい情報は、IPMITOOLSのmanualを参照。