| SupermicroマザーでIPMIを使ってみました |
|
|
|
データセンターなど、遠隔地に設置したサーバに障害が発生した時、最終手段として電源をON/OFFしたくなることはよくあるとことだと思います。そんな時、皆さんはどうするのでしょう? 通常だと、サーバーが設置されている場所に行って操作をするか、現地のオペレーターに頼んで操作してもらわなければなりません。 このような場合に対応すべく、遠隔地ののサーバを管理するための標準インターフェイス仕様としてIPMIがあります。 IPMIでは、電源のON/OFFのみならず、コンソールを操作しBIOSの設定変更ができたり、 温度や電圧などの状態監視を遠隔で行うこともできたりします。 今回はSupermicro X7SBiにIPMIカード(AOC-SIMSO-HTC)を付けた場合の、電源操作やコンソール操作の方法について調べてみました。 IPMIの設定IPMIカード設定プログラムの起動IPMIを使用する前に、ファームウェアの更新とIPMIカードへのIPアドレス設定を行う必要があります。 ファームウェアの更新やIPアドレスの設定を行うには、更新用のプログラムを実行する必要があります。 IPMIカードに添付されているドライバCDはブータブルになっており、そのCDからサーバーをブートすることでファームウェアを更新することが出来ます。 WindowsPCにCDを挿入すると、自動起動の画面が出てきます。 「Make firmware Programming Diskette」を選択します。 マザーボードの選択画面が出てくるので、利用しているマザーボードを選択します。 「Create Floppy」というタイトルのウィンドウが出てくるので、指示にしたがいフロッピーを挿入したあと、「Create Floppy」をクリックします。 これでフロッピーディスクの作成は完了です。 ファームの更新CDかフロッピーディスクでブートすると、すぐにファームの更新が始まります。 更新中はとくに何か操作する必要はなく、すべて自動的に行われます。 更新が完了すると、DOSのプロンプト画面に移行します。 IPアドレスの設定IPMIを利用するためには、IPMIカード自体にIPアドレス等の設定をする必要があります。 IPアドレスの設定は、ファーム更新後のプロンプトから、「ipmicfg」というプログラムを 利用して設定することができます。 DHCPから自動的にアドレスを取得するように設定する事も出来ますし、任意のIPアドレス、ゲートウェイアドレスなどを設定する事もできます。 また、ドライバCDにはLinuxから利用できるipmicfgも含まれています。したがって、 Linuxを立ち上げた後、Linux用のipmicfgでIPアドレスを設定する事もできます。 Console Redirectionの設定IPMIでコンソールを操作するには、BIOSでシリアルコンソールの設定が必要になります。 BIOSの設定画面に入ってからAdvancedのタブを開き、Console Redirectionの項目を選択します。 設定項目が出てくるので、次のように設定します。
IPMIを使用する実際にGNU FreeIPMI(Webページ)を使ってサーバーを操作する方法を説明します。 IPMIはRMCP(Remote Management Control Protocol)というプロトコルを利用して 通信します。このプロトコルはUDPの623番のポートを使用します。 したがってIPMIで操作するためには、操作対象のサーバとUDPの623番で通信できるような ネットワーク構成である必要があります。 それぞれの操作を実行する際に、ユーザーIDとパスワードが必要になります。 デフォルトではユーザーIDとパスワードは共に'ADMIN'に設定されています。 これらはドライバCDに含まれているツールで変更することができます。 動作の確認FreeIPMIに含まれている'ipmiping'というコマンドでIPMIが利用可能な状態かどうか確認することが出来ます。
返答がくれば、IPMIが利用可能な状態であるということです。 電源の操作遠隔で電源を操作するには、'ipmipower'というコマンドを使用します。 まずは電源の状態を確認します。 $ ipmipower -h (IPMIカードのIPアドレス) -u (ユーザーID) -p (パスワード) --stat $ ipmipower -h 192.168.20.231 -u ADMIN -p ADMIN --stat このように電源の状態を確認することが出来ます。 再起動するためには、 $ ipmipower -h (IPMIカードのIPアドレス) -u (ユーザーID) -p (パスワード) --reset というように使用します。それ以外にも、以下の表のオプションを使用することで 電源のONやOFFを行うことができます。 もちろん、サーバーの電源がOFFの状態からでも遠隔から電源を投入することが出来ます。
センサーによる監視'ipmi-sensors'を使用することで、各種センサーによる情報を取得することが出来ます。 サーバーの温度や電圧、ファンの回転数などを取得することができます。
コンソールの操作'ipmiconsole'というコマンドを使用し、遠隔でコンソールの操作をすることができます。 $ ipmiconsole -h (IPMIカードのIPアドレス) -u (ユーザーID) -p (パスワード) これを利用することで、OSが起動する前の段階からコンソールを操作することが出来ます。 つまり、BIOSの画面やブートメニューなどを遠隔から操作することができるということです。 コンソールから抜けるにはエスケープシーケンスを使用します。デフォルトではエスケープキャラクタは '&'(アンパサンド)になっており、'&.'(アンパサンドの後にドット)と入力することで コンソールを抜けることが出来ます。それ以外のエスケープシーケンスに関しては以下の 表のものが使えます。
まとめIPMIを導入することで、再起動やBIOSの設定など遠隔から行うことが出来るようになります。 サーバーにトラブルが起こっても、設置されている現地に行かずに対処することができるので 非常に重宝するでしょう。 通信はすべてIPの上で行うので、IPのネットワークさえあれば、 ほかに特別な通信機器を導入する必要はありません。 また、複雑な設定も必要ないので、対応マザーボードさえあれば容易に導入することができるでしょう。 参考
|
|||||||||||||||||||||||
| 最終更新 2008年 6月 21日(土曜日) 02:49 |

