IPMI over LANの設定方法

こんにちは。プロジェクトメンバーの城間です。

今回はIPMI(Intelligent Platform Management Interface)の設定方法について紹介します。IPMIを利用すると、ネットワーク越しのシリアル通信やコンソールログイン、サーバーの電源制御などができるようになります。BIOSメッセージや起動時のメッセージを見ることができるので、データセンターにサーバーを置いている場合など、リモートからサーバーを操作せざるをえない状況で重宝します。

※IPMIの設定方法はベンダーやファームウェアによって異なります。ここでは、DELL PowerEdge R300を例とした設定方法を説明しています。

BIOS設定

シリアル通信設定

起動時にF2を押し、BIOSセットアップモードに入ります。各パラメータを以下のように設定します。

Serial Communication の設定項目
Serial Communication = On with Console Redirection via COM2
External Serial Connector = COM2
Failsafe Baud Rate = 57600
Redirection After Boot = Enabled

シリアルポートCOM2への出力をSOL(Serial Over LAN)にリダイレクト出力させます。物理デバイスからも接続できるようExternal Serial Connectorも設定します。また、GRUBによるSOLへの出力を有効にするため、Redirection After Bootを有効にしています。

リモートアクセス設定

GRUBが起動する前に下記のようなメッセージが出力されるので、Ctrl+Eを入力してリモートアクセスセットアップモードに入ります。

Press <Ctrl-E> for Remote Access Setup within 5 sec…

IPMI Over LAN = On
LAN Parameters = IPアドレス等を設定します
LAN User Configuration = SOLへアクセスするユーザーを設定します

BIOS側の設定は以上です。この状態でIPMIを通して電源のオン/オフなどを操作できます。次に、Linuxへコンソールログインできるように、Linux側の設定をします。

Linux設定

Xenカーネルを使用する際のIPMI設定方法です。

パッケージインストール

以下のIPMI関連パッケージをインストールします。

  • OpenIPMI
  • OpenIPMI-tools
  • OpenIPMI-libs

インストール後 chkconfig ipmi on を実行し、Linux起動時にIPMI関連のドライバーを初期化するよう設定します。

/etc/grub.conf (/boot/grub/grub.conf)

grub.conf を以下のように設定します。

default=0
timeout=5
serial --unit=1 --speed=57600 --word=8 --parity=no --stop=1
terminal --timeout=5 console
#splashimage=(hd0,2)/grub/splash.xpm.gz
title Red Hat Enterprise Linux Server (2.6.18-92.1.10.el5xen)
        root (hd0,2)
        kernel /xen.gz-2.6.18-92.1.10.el5 com2=57600n8r console=com2,vga
        module /vmlinuz-2.6.18-92.1.10.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet xencons=xvc console=xvc pnpacpi=off
        module /initrd-2.6.18-92.1.10.el5xen.img

注意点は以下の通りです。

  • 57600 という数値はBIOS側で設定した数値に合わせてください。この数値は、シリアル通信時の動作周波数です。
  • splashimageの行(起動時に表示される画像ファイルを指定します)はコメントアウトしてください。
  • Xenカーネルの利用するコンソール(consoleで指定)は、Xendの利用するコンソール(xenconsで指定)と同じ値にします。

/etc/inittab

inittabに以下を記述します。

co:2345:respawn:/sbin/agetty xvc0 57600 vt100-nav

前述の通り、57600はシリアル通信時の動作周波数ですので、同じ値を指定してください。

/etc/securetty

コンソール経由でのrootログインを許可するため、securettyにxvc0を記述します。

Linux側の設定は以上です。

IPMIへ接続

IPMIへの接続は、デバイスへ直接接続する方法とネットワーク越しに接続する方法があります。

デバイスに直接接続する

デバイスへ直接接続するには、IPMIドライバーを動作させなければなりません(例:service ipmi start)。

ipmitool -U ユーザー名 [-P パスワード] コマンド

パスワードのオプションは任意です。このオプションを指定しない場合は、コマンド実行後パスワードの入力を求められます。

ネットワーク越しに接続する

ネットワーク越しに接続するには、-Iでインターフェイスを指定します。IPMIのバージョンが2.0のときはlanplus、バージョンが1.5のときはlanを指定します。

ipmitool -I lanplus -H ホスト名 -U ユーザー名 [-P パスワード] コマンド

このlanplusインターフェイスは、ローカルのマシンからは接続できないようです。

コマンド一覧

よく使うコマンドを紹介します。詳細はオンラインマニュアルに記述されていますので、そちらを参照してください。

コマンド 内容
power status 電源の状態を確認する
power on 電源をオンにする
power off 電源をオフにする
power soft OSからシャットダウンさせる
sol activate シリアル接続する
sol deactivate シリアル接続を解除する
lan print IPMIのIP情報などを表示する
shell shellのようなインタラクティブモードに入る

solコマンドはIPMIバージョン2.0用で、バージョン1.5用にはisolコマンドを使用します。

おわりに

冒頭にも書きましたが、IPMIおよびSOL(Serial Over LAN)は、リモートのサーバー管理にとても役立ちます。コンソール出力の確認やBIOSの設定がリモートでできるのは素晴らしいです。是非利用してみてください。

参考リンク

One Trackback

  1. By DELL サーバで IPMI を使う方法 on 2009.4.22 at 12:55 PM

    [...] IPMI over LAN の設定方法 [...]

Post a Comment

Your email is never shared. Required fields are marked *

*
*