サーバ管理技術IPMI
スピーカー
発表資料
※当初非公開としていましたが、一般公開します。(2018/3/25)
本編(16:00-17:45)
目次
- IPMI の概要
- BMC の呼称
- OOB の機能
- OOB の WEB
- OOB の CLI
- IB の機能
- 参考文献
IPMI とは
Intelligent Platform Management Interface。読み方はアイピーエムアイ。 Intel、HP、NEC、Dell が仕様を策定。 Intel のホームページに仕様書(PDF)が無料公開されている。
※仕様書のURLは不定期に変動するため、「Intel IPMI PDF」で検索するのがよいです。
v1.0 が 1998 年に登場。最新版は v2.0 (2015年)
IPMI とは ・・・ サーバを管理するための仕組み 一部のサーバ製品(ローエンドモデル)はサポートしていないものもある。
定期的に仕様がアップデートがされていて、 約20年使われている技術になる。
サーバ -------------------------------------------- | ------------- ----------------- | | | BIOS | OS |-----| ファームウェア | | | |-----------|-----| -------------- | | | Intel CPU |-----| SoC | | | ------------- ----------------- | | ホスト(DC 電源) BMC(AC 電源) | --------------------------------------------
用語説明
- BIOS と UEFI UEFI はBIOS と異なる新しいもの。昔からの BIOS はレガシー BIOS、UEFI ファームウェアと合わせて BIOS
- ホスト Intel プロセッサ上で動作するソフトウェア群、ハードウェアのこと
- BMC Baseboard Management Controller の略。 IPMI 仕様で定義されている。IPMI を実現するために存在する。
- ファームウェア BMC を制御するソフトウェア。BMCファームウェアと呼ぶ。
- SoC System-on-a-chip の略。CPU、I2C、GPIO、LAN などを一つにまとめたもの。CPUはARMやPowerPC が一般的。
- AC 電源 交流電源(=電源ケーブルを指した瞬間に電源が流れる)
- DC 電源 直流電源(=電源ケーブルを指し、電源ボタンを押したときに初めて電源が流れる)
IPMI の領域
領域は2つあり、 サーバ内で完結するホストと BMC の間を In-band、サーバと管理端末の間を Out-of-band と呼ぶ。
-
In-band 筐体内でのホストと BMC 間の通信。略は IB。BMC が提供する機能(USB, IPMI, Serial)に対応したバスで結線される
-
Out-of-band 筐体の外で BMC と管理端末の通信。略は OOB。IPMI、HTTP(S)、SSH をサポート。
BMC の呼称
- HPE
- iLO(Integrated Lights-Out) アイロ、アイエルオー
- integrated: 統合
- lights-out: 完全自動の(形容詞)
- ProLiant シリーズに搭載される
- iLO(Integrated Lights-Out) アイロ、アイエルオー
- Dell
- iDRAC(Integrated Dell Remote Access Controller) アイドラック
- PowerEdge シリーズに搭載
- IBM
- IMM(Integrated Management Module)
- Power Systems シリーズに搭載
- Fujitsu
- iRMC(Integrated Remote Management Controller)
- PRIMERGY/PREMEQUEST シリーズに搭載
- NEC
- EXPRESSCOPE エンジン 3
- Express5800 シリーズに搭載
参考文献
- インフラエンジニアの教科書 コラム:リモートコントロール機能の名称 (p.31)
OOB の機能
-
ネットワーク経由で BMC を制御する
-
IPv4 (と IPv6) 対応
-
UDP/623
asf-rmcp ・・・ ASF Remote Management and Control Protocol
-
管理端末のソフトウェア
- 基本的にはベンダーが提供するアプリケーション
- フリーソフトでは IPMItool や ipmiutil
- ipmuitil は windows 版あり
- IPMItool は Cygwin でビルド可能
-
IPMItool の使い方
- コマンドラインから実行
ipmitool -l lanplus -H <BMC の IP> - U <ユーザ名> -P <パスワード>
-
実行例
- サーバの電源オン
ipmitool -l lanplus -H 192.168.1.10 -U test -P test chassis power on
- サーバに NMI(マスク不可割り込み)を送る
ipmitool -l lanplus -H 192.168.1.10 -U test -P test chassis power diag
できること
- リモート電源制御
- 電源 ON(DC電源オン)
- 電源 OFF(DC電源オフ)
- パワーサイクル・・・ハードの電源を強制オフ後に電源オン。コールドリブート。
- ハードリセット・・・ハードの電源は落とさない。ウォームリブート。
- ソフトシャットダウン・・・ホスト OS にシャットダウン指示を出す。ただしホストOSの設定による。
- NMI・・・OS のクラッシュダンプを採取後、再起動をかける。
- イベントログの参照
- BMC が記録しているホストの動作ログを取得可能
- SEL = System Event Log
ipmitool sel list
- リモートシリアル操作- ホスト OS のシリアル端末が操作可能
- SOL = Serial Over LAN
- RHEL では OS 設定が必要(console=ttyS0)。Windows Server は SAC がデフォルトで使える。
OOB の Web
WEB コンソール
- BMC の制御をブラウザから行える
- IPMI を直接使っているわけではなく BMC の Web サーバ経由の操作
- できること
- 電源操作
- リモート KVM とメディア
- 各種設定
- ファームウェア/BIOS アップデート
- ログ採取
- リモート KVM (Keyboard, Video, Mouse) を遠隔操作できる OSがクラッシュしている状態でも画面が確認できて操作できる
- リモートメディア(DVD, USB, Floppy)を遠隔接続できる OS のインストールなど
リモート KVM のアプリ
- アプリはファームウェアに内蔵
- 形式は ActiveX, Java Web Start, ClickOnce
種別 | 拡張子 | 説明 |
---|---|---|
ActiveX | .cab | IE のプロセス上で動作する DLL |
Java Web Start | .jar | JavaVM 上で動作するアプリケーション |
ClickOnce | .exe | .NET Framework で動作するアプリケーション |
- サポートが IE 一択の理由は HTML5 化が遅れているから
最新モデルでようやくHTML5の対応が始まり推奨されている。 旧モデルでもFWやIPMIのアップデートにより使える場合がある。
推奨ブラウザはChrome,FireFox, Edge。IEも使えないことはないが、古いためつかえない機能があるので要注意。
安定性が悪い場合は環境によってはJaba Web Startを使う場合のほうが安定することがある。
HTML5が使えない場合にjava版を使うとよい。
- Java Web Start や ClickOnce 採用の理由
- ファームウェアはハードの一部という考え方が根強い
- データセンターにソフトが持ち込ませてもらえないことが多い Tera Term は例外
OOB の CLI
-
CLI とは・・・Command Line Interface の略。CUI と同義
-
ブラウザではなくターミナルソフトで BMC 制御を行う
-
自動化が可能
-
SMASH-CLP
- DMTF が規定
- Server Management Architecture for Server Hardware - COmmand Line Protocol
- できること
- Web コンソールと同じこと
- 操作の自動化
- 操作ログの採取
- SOL が便利
- SOLで出力されるログはBMC内部に保存されているため、Tera Termで接続していない時のログも見れる
IB の機能
- IPMI は IB だけでも機能する
- セキュリティなどの問題を考慮し、 OOB は無効化できる
IB の機能
- ホストの死活監視
- 電源制御
- センサ監視
- 故障管理
- コア制御
- ログ採取 上記以外にも色々あるが割愛
ホスト死活監視
- 電源オン/BIOS起動/BIOS setup/OptionROM展開/OS起動/OS運用中/OSリブート、停止 このうちBIOS setup(PC起動時のF2画面がイメージし易い)を除いて監視可能 BIOS setupを除外しているのは、この操作中の状況をBIOS起動失敗と捉えられると困るから
- 各プロセスを監視することで、失敗した場合にリブートするなどの特定のアクションを実行させられる
コア制御
- BMC と BIOS 連携によるコア数制御
- コア数によって必要なライセンスが変わってくる場合に有用(特にDB 製品) BIOS は元のコア数で動くが、OS には BMC で指定したコアに見せることができる(ACPIを利用)
- 例として15コアプロセッサ*3のサーバーの場合 BIOS上では45コアと認識させるがOSでの認識は10コアとなるという設定ができる
自動起動
- 瞬停(瞬断)でもサーバを自動的に DC ON する
- 名称: AC-LINK、Restore on AC Power Loss、Power Failure Recovery
参考文献
書籍「Linux デバイスドライバプログラミング」(SBクリエイティブ)
第 15 章 著 平田 豊 (ゆたかさん @yutakakn )
まとめ
インフラ勉強会にひかりあれ!
フリートーク(17:45-18:00)
- ここでは言えない業界裏話が炸裂しました。