Browse Tag: ipmi

Linux から IPMI の IP アドレスを変更する方法

通常の IA サーバは、IPMI の IP アドレスは BIOS 上から変更できるようになっています。最初に BIOS から IPMI の IP アドレスを変更して、Linux(CentOS) をセットアップして本番投入直前になって諸事情によって IPMI の IP アドレスとサブネットマスクを変更することになりました。

このとき OS を再起動して、BIOS から変更すれば IPMI の IP アドレスを変更することが可能ですが、データセンターの現地にいって一台ずつ再起動するのが面倒です。

Linux 上からだと、IPMI のサービスを起動することによって、IPMI の IP アドレスを変更することができます。仮想化をしている場合には、物理サーバ上から変更することができます。

まず、IPMI のサービス、imptool をインストールします。

$ sudo yum install OpenIPMI ipmitool

次に IPMI のサービスを起動します。

$ sudo service ipmi start

Starting ipmi drivers:                                     [  OK  ]

IPMI サービスを起動すると、ipmi のデバイスが見えます。

$ dmesg | grep ipmi

ipmi message handler version 39.1
ipmi_si: Trying SMBIOS-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
ipmi: Found new BMC (man_id: 0x00XXXX,  prod_id: 0xXXXX, dev_id: 0xXX)
ipmi device interface

この状態で、ipmitool を使って IP アドレスとサブネットマスクを変更します。

$ sudo ipmitool lan set 1 ipaddr X.X.X.X

$ sudo ipmitool lan set 1 netmask 255.255.0.0

この変更にはすこし時間がかかることもあるので、プロンプトが返ってくるまで待ちます。

変更したら、正しく変更されているか確認します。

$   ipmitool -I lanplus -H X.X.X.X -U <ユーザ名> -P <パスワード> lan print

IPMI の IP アドレスなどの変更ツールは、IA サーバのメーカー製のツールがあってそのツールからも変更できますが、ipmitool を使うことによって同じ方法で変更できるので便利です。

freeipmitool

IPMI をアクセスするコマンドラインツールに、ipmitool があるけれど、前述したとおり man しただけではコマンドの使い方が分からなくて使いにくい印象がある。

かわりにもうすこし簡単なコマンドラインツールがないかなと思って調べてみると、GNU に Freeipmi というツールがあった。Freeipmi は、IPMI v1.5/2.0 の仕様に準拠したコマンドラインツール。かなり頻繁にアップデートされているのもうれしい。

インストールは、SRPM が提供されているのでさくっと RPM をビルドしてインストールした。

Freeipmi には、それぞれの用途に応じて、次のようなコマンドラインツールが提供されている。

bmc-info: BMC 情報を読むためにツール

bmc-config: BMC の全般的な設定と IPMI 情報を表示するツール

bmc-watchdog: BMC ウォッチドックを管理ツール

ipmi-chassis: chassis(パワー) を管理/モニターするツール

ipmi-fru: FRU(Field Replaceable Unit) のフィールドを読み込むためのツール

ipmi-sel: IPMI のシステムイベントログ(SEL) を読み込んだり管理するためのツール

ipmi-sensors: IPMI センサー情報や SDR (Sensor Data Repository) 情報を読み込むためのツール

ipmipower: 遠隔で電源制御するためのツール

ipmiconsole: SOL(Serial Over LAN) コンソールにアクセスするためのツール

ipmi-raw: IPMI コマンドの 16 進数入出力を提供するためのツール

ipmi-locate: BMC デバイスのアドレスのようなロケーションに関する情報を取得するためのツール

ipmimonitoring: センサーをモニタリングしたり解釈するためのツール

pef-config: PEF(Platform Event Filtering) 情報を設定するためのツール

ipmi-chassis-config: IPMI chassis 情報を設定するためのツール

bmc-device: BMC コマンドの拡張用のツール

ipmiping: デバッグ用の IPMI ping ツール

rmcpping: デバッグ用の RMCP ping ツール

ipmi-oem: OEM 専用コマンド用のツール

ipmidetect/ipmidetect: IPMI ノード検出するためのツールとそのデーモン

使い方は、–help オプションを指定するとすぐに分かる。よく使うコマンドは、ipmipower や ipmiconsole。

例えば、ipmiconsole コマンドのときは、次のようにして使う。

$  ipmiconsole -h <ホスト名> -u <ユーザ名> -P

これでパスワードを入力すれば、SOL コンソールにアクセスすることができる。-p オプションを使うとコマンドライン上でパスワードを指定することができるけれど、シェルのコマンド入力履歴に入るので誤って実行しないために -P オプションを使ったほうがおすすめ。

Enjoy IPMI!