2006年08月15日
IPMIで遠隔からサーバの電源をオン/オフ
みなさん、IPMI (Intelligent Platform Management Interface) ってご存じでしょうか?
簡単に説明すると、IPMIとは、OSに依存することなく、遠隔からハードウエアをモニタしたり管理したりするためのものです。
DSASでは、Supermicroのサーバを使っているので、AOC-IPMI20-EというIPMIカードを使っています。
具体的にこのカードで何ができるようになるか、というのを列挙します。
簡単に説明すると、IPMIとは、OSに依存することなく、遠隔からハードウエアをモニタしたり管理したりするためのものです。
DSASでは、Supermicroのサーバを使っているので、AOC-IPMI20-EというIPMIカードを使っています。
具体的にこのカードで何ができるようになるか、というのを列挙します。
- コンソールリダイレクション
- 温度、電圧、ファン回転数の確認
- リセット
- 電源のオン/オフ
これらのことが、LinuxだろうがWindowsだろうがOSに依存することなくできるようになります。
しかも! これらの操作がネットワーク経由 (UDPのポート623) でできるんです。
IPMIを導入する前はシリアルケーブルでサーバをペアで繋いでいた (IPMIを導入した今でも保険のためシリアルでも繋いでます) のですが、これだとどのサーバとどのサーバがシリアルで繋がっているか覚えておく必要がありました。IPMIだとこんな必要はなく、相手のIPアドレスを指定すればどのサーバからでもコンソールにアクセスしたり電源操作ができます。
IPMIの管理クライアントには、Supermicro製のCUIのツール(ipmicli)を使っています。Linux kernelにはIPMIのドライバ(?)が含まれているのですが、そういったものは一切必要なく、このツールだけでサーバのIPMIカードと通信できています。
ほかにもIPMIを導入してよかった点をつらつら挙げてみます。
- なんといってもネットブートなサーバを安心して扱えるようになりました。DSASではネットブートを多用しているので、BIOSのPXEブートの設定をいじる機会がわりとあります。その際に安定したコンソールリダイレクションが使えると安心感が違います。
- sshdが不意に落ちたりしてネットワーク経由でログインできなくなっても、IPMI経由でログインできます。
- OSのネットワーク関連の設定をしくじってもIPMI経由でログインして修正することができます。なぜなら、IPMI用のIPアドレスはIPMIカードに保存され、IPMIの通信をする上でOSのネットワーク設定は(あまり)関係ないからです。ちなみに、OSのと同じIPアドレスにすることも独自のIPアドレスを割り当てることもできます
- サーバがハングアップしたり、ディスクがいかれてログインできないけどHTTPサービスとかは中途半端にできちゃってる状態とかになると、iDCの人に連絡して電源ボタンをぽちっとしてもらっていたのですが、IPMIがあれば即座にリセットもしくは電源の入れ直しができます。
最後に参考までに、Linuxの場合にIPMIを代替できないか考えてみます。
2.の温度などは、lm_sensorsで同様の情報が取得できます。ただし、lm_sensorsがチップセットに対応していれば、という限定つきですが。
1.はBIOSがシリアル経由のコンソールリダイレクションに対応していれば、シリアル経由でBIOSの操作が行えますし、grub.confやinittabを設定すれば、ブートローダ(GRUB)の操作、ttyS*経由のログインができます。ただし、シリアルケーブルで繋がっている必要があるので、どのサーバからもシリアルコンソールを操作できるというわけではありません。
3.はシリアルで繋がっていて、sysrqが有効になっているkernelならば、BREAKを送ったあとに「b」で強制rebootがかかります。
4.は流石にLinuxだけではできないと思いますが、遠隔電源管理の製品を使えばできそうです。
とまぁIPMIがなくてもなんとかなりそうで、実際、IPMIを導入するまではこのようになんとかしてきたわけですが、IPMIの便利さを知ってしまった今ではもう後戻りできません。(^^;
遠隔のサーバを抱えてヒーヒーいってる管理者にはオススメの一品です。
klab_gijutsu2 at 16:33│Comments(0)│TrackBack(0)