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
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を参照。