注目トピック

Wikiガイド

最近の更新

2018-08-20
2013-10-30
2013-02-06
2011-06-22
2010-08-13
2009-03-27
2008-11-14
2008-11-13
2008-10-01
2008-09-19

EXPRESSSCOPEエンジンを使う

[資料編] IPMItool日本語マニュアル


ipmitool(1) manpage

著者:Duncan Laurie <duncan@iceblink.org>

最終更新日時:2005年4月30日(土)22:38:45 MST  

名前

ipmitool - IPMI対応のデバイスを制御するためのユーティリティ 

書式

ipmitool [-c|-h|-v|-V] -I open <command>

ipmitool [-c|-h|-v|-V] -I lan -H <hostname>
         [-p <port>]
         [-U <username>]
         [-A <authtype>]
         [-L <privlvl>]
         [-a|-E|-P|-f <password>]
         [-o <oemtype>]
         <command>

ipmitool [-c|-h|-v|-V] -I lanplus -H <hostname>
         [-p <port>]
         [-U <username>]
         [-L <privlvl>]
         [-a|-E|-P|-f <password>]
         [-o <oemtype>]
         [-C <ciphersuite>]
         <command>  

説明

このプログラムを使用すると、ローカルシステム(カーネルデバイスドライバ経由)またはリモートシステム(IPMI v1.5およびIPMI v2.0を使用)のIntelligent Platform Management Interface(IPMI)機能を管理できる。 IPMI機能には、フィールド交換可能ユニット(FRU:Field Replaceable Unit)情報の出力、LANの設定、センサーの読み取り、リモートサーバの電源制御などがある。

ローカルシステムインタフェースのIPMI管理では、互換性のあるIPMIカーネルドライバをインストールして設定する必要がある。Linuxでは、このドライバはOpenIPMIと呼ばれ、標準的なディストリビューションに含まれている。Solarisでは、このドライバはBMCと呼ばれ、Solaris 10に含まれている。リモートシステムの管理では、IPMI-over-LANインタフェースを有効にして設定する必要がある。各システムの個別の要件によっては、システムインタフェース経由でipmitoolを使用して、LANインタフェースを有効にできる場合がある。  

オプション

-a
リモートサーバのパスワードの入力を求めるプロンプトを表示する。
-A <authtype>
IPMIv1.5 lanセッションのアクティブ化の際に使用する認証タイプを指定する。サポートされているタイプは、NONE、PASSWORD、MD5、およびOEMである。
-c
出力をCSV(コンマ区切り)形式で表示する。コマンドによっては、このオプションを使用できない場合がある。
-C <ciphersuite>
IPMIv2 lanplus接続に使用するリモートサーバの認証、整合性チェック、および暗号化のアルゴリズム。IPMIv2仕様の表22-19を参照。デフォルトは3で、この場合はRAKP-HMAC-SHA1認証、HMAC-SHA1-96整合性チェック、およびAES-CBC-128暗号化のアルゴリズムが指定される。
-E
リモートサーバのパスワードを環境変数IPMI_PASSWORDで指定する。
-f <password_file>
リモートサーバのパスワードが保管されているファイルを指定する。このオプションを指定しない場合、またはpassword_fileが空の場合、パスワードはデフォルトでNULLになる。
-h
基本的な使用方法に関するヘルプをコマンドラインから参照する。
-H <address>
リモートサーバのアドレス。IPアドレスまたはホスト名を使用できる。lanおよびlanplusインタフェースでは、このオプションは必須である。
-I <interface>
使用するIPMIインタフェースを選択する。サポートされているコンパイル済みのインタフェースは、使用方法のヘルプ出力に表示される。
-L <privlvl>
セッションの特権レベルを強制的に設定する。CALLBACK、USER、OPERATOR、またはADMINを指定できる。デフォルトはADMINである。
-m <local_address>
ローカルIPMBアドレスを設定する。デフォルトは0x20で、通常の操作では変更する必要はない。
-o <oemtype>
サポートするOEMタイプを選択する。通常は、メーカーごとに異なるBMCの癖を回避するために、コードに多少手を加える必要がある。現在サポートされているOEMタイプのリストを表示するには、-o listを使用する。
-p <port>
接続先のリモートサーバのUDPポート。デフォルトは623である。
-P <password>
リモートサーバのパスワードをコマンドラインで指定する。サポートされている場合、プロセスリストではパスワードが非表示になる。注意: パスワードをコマンドラインオプションとして指定することは推奨しない。
-t <target_address>
IPMI要求をリモートのターゲットアドレスに結び付ける。
-U <username>
リモートサーバのユーザ名。デフォルトはNULLユーザである。
-v
詳細出力のレベルを上げる。このオプションを複数回指定して、デバッグ出力のレベルを上げることができる。3回指定すると、すべての受信および送信パケットのヘキサダンプが表示される。
-V
バージョン情報を表示する。

パスワード方式を指定しない場合は、パスワードの入力を求めるプロンプトが表示される。プロンプトでパスワードを入力しないと、リモートサーバのパスワードはデフォルトでNULLになる。  

セキュリティ

IPMI LANインタフェースを有効にする前に、いくつかのセキュリティの問題を考慮する必要がある。リモートマシンからは、システムの電源の状態を制御できるだけでなく、特定のプラットフォーム情報を収集することもできる。脆弱性を減らすために、IPMI LANインタフェースは「信頼された」環境でのみ有効にすることを強く推奨する。これはシステムのセキュリティが問題にならないか、専用のセキュアな「管理ネットワーク」がある環境のことである。

また、パスワードを設定せずにリモートアクセス用のIPMIを有効にしないこと、およびパスワードをそのシステムの他のパスワードと同じにしないことを強く推奨する。

IPMIv1.5 lanインタフェースを使用してリモートマシンでIPMIパスワードを変更すると、新しいパスワードがネットワーク上を平文で送信される。これを盗み見され、リモートシステムへの攻撃に使われる可能性がある。このため、IPMIパスワードの管理はIPMIv2.0 lanplusインタフェースまたはローカルマシンのシステムインタフェース経由でのみ行うことを推奨する。

IPMI v1.5では、パスワードの長さは最大16文字である。16文字を超えるパスワードは切り捨てられる。

IPMI v2.0では、パスワードの長さは最大20文字である。この長さを超えるパスワードは切り捨てられる。  

コマンド

help
ipmitoolコマンドに関するコマンドラインヘルプを表示する。各コマンドの末尾に指定して、オプションの使用方法に関するヘルプを表示することもできる。

ipmitool help
Commands:
        raw          Send a RAW IPMI request and print
                     response
        lan          Configure LAN Channels
        chassis      Get chassis status and set power
                     state
        event        Send pre-defined events to MC
        mc           Management Controller status and
                     global enables
        sdr          Print Sensor Data Repository
                     entries and readings
        sensor       Print detailed sensor information
        fru          Print built-in FRU and scan SDR
                     for FRU locators
        sel          Print System Event Log (SEL)
        pef          Configure Platform Event Filtering
                     (PEF)
        sol          Configure IPMIv2.0 Serial-over-LAN
        isol         Configure IPMIv1.5 Serial-over-LAN
        user         Configure Management Controller
                     users
        channel      Configure Management Controller
                     channels
        session      Print session information
        exec         Run list of commands from file
        set          Set runtime variable for shell and
                     exec

ipmitool chassis help
Chassis Commands:status, power, identify, policy, restart_cause, poh, bootdev

ipmitool chassis power help
chassis power Commands:status, on, off, cycle, reset, diag, soft

(参考日本語訳)
ipmitool help
コマンド:
         raw         RAW IPMIリクエストを送出し、レスポンスを
                      表示する。
         lan          LANチャネルを設定する。
         chassis    シャーシ(本体)の状態の取得と電源の制御
                      を行う。
         event       マネージメントコントローラに事前設定の
                      イベントを送出する。
         mc          マネージメントコントローラ自体の状態の表示
                      と変更を行う。
         sdr          センサーデータレコード(SDR)の情報を照会
                      する。
         sensor     センサーの情報を表示する。
         fru          フィールド交換可能ユニット(FRU)の情報の
                      表示と、センサーデータレコード(SDR)から
                      FRUロケータの抽出を行う。
         sel          システムイベントログ(SEL)を表示する。
         pef         プラットフォームイベントフィルタ(PEF)を
                      設定する。
         sol          IPMIv2.0のSerial-over-LANを設定する。
         isol         IPMIv1.5のSerial-over-LANを設定する。
         user        マネージメントコントローラのユーザーを設定
                      する。
         channel    マネージメントコントローラのチャネルを設定
                      する。
         session    セッション情報を表示する。
         exec       ファイルからコマンド群を読み込んで実行する。
         set         シェルとexecコマンド用の環境変数をセットする。

ipmitool chassis help
Chassisで利用可能なコマンド:status, power, identify, policy, restart_cause, poh, bootdev

ipmitool chassis power help
chassis powerで利用可能なコマンド:status, on, off, cycle, reset, diag, soft

bmc|mc
reset <warm|cold>

BMCにウォームリセットまたはコールドリセットの実行を指示する。

info

BMCハードウェアに関する情報を表示する。デバイスのリビジョン、ファームウェアのリビジョン、サポートされるIPMIのバージョン、製造元ID、追加のデバイスサポートの情報などが表示される。

getenables

BMCで現在有効になっているオプションのリストを表示する。

setenables <option>=[on|off]

指定したoptionを有効または無効にする。IPMI仕様に従って、このコマンドはシステムインタフェース経由でのみサポートされる。現在サポートされているoptionの値は次のとおり。

recv_msg_intr

受信メッセージキュー割り込み

event_msg_intr

イベントメッセージバッファフル割り込み

event_msg

イベントメッセージバッファ

system_event_log

システムイベントログ

oem0

OEM定義のオプション0

oem1

OEM定義のオプション1

oem2

OEM定義のオプション2

channel
authcap <channel number> <max priv>

指定した特権レベルで、選択したチャネルの認証機能に関する情報を表示する。

指定できる特権レベルは次のとおり。

1. CALLBACKレベル
2. USERレベル
3. OPERATORレベル
4. ADMINレベル
5. OEMレベル
info [channel number]

選択したチャネルに関する情報を表示する。チャネルを指定しない場合は、現在使用しているチャネルに関する情報が表示される。

ipmitool channel info
Channel 0xf info:

  Channel Medium Type   : System Interface

  Channel Protocol Type : KCS

  Session Support       : session-less

  Active Session Count  : 0

  Protocol Vendor ID    : 7154

getaccess <channel number> [userid]

指定したチャネル番号で、指定したユーザIDをデフォルトに設定する。それ以降にこのチャネルを使用すると、ユーザは指定したユーザIDで暗黙的に識別される。

setaccess <channel number> <userid>
[callin=on|off] [ipmi=on|off] [link=on|off] [privilege=level]

指定したチャネルで、指定したユーザIDのユーザアクセス情報を設定する。

getciphers <all | supported> <ipmi | sol> [channel]

指定したチャネルで、指定したアプリケーション(ipmiまたはsol)に対してサポートされている暗号スイートのリストを表示する。

chassis
status

本体および電源周りの詳細な状態に関する情報を表示する。

poh

Power-On Hours(通電時間)カウンタを取得する。

identify <interval>

前面パネルの識別用ライトを制御する。デフォルトは15である。 ライトをオフにするには0を使用する。

restart_cause

前回システムが再起動された原因をサーバ本体に照会する。

policy

停電が起きた場合の電源ポリシーを設定する。

list

サポートされているポリシーを表示する。

always-on

電源が復旧したらオンにする。

previous

電源が復旧したら以前の状態に戻す。

always-off

電源の復旧後もオフのままにする。

power

制御コマンドを実行し、電源の状態を表示および変更する。

status

現在のサーバ本体の電源の状態を表示する。

on

サーバ本体の電源を入れる。

off

サーバ本体の電源を落とし、ソフトオフ状態(S4/S5状態)にする。警告:このコマンドでは、システムの電源が落ちる前にオペレーティングシステムのクリーンシャットダウンが実行されない。

cycle

1秒以上の電源オフの間隔を設定する。サーバ本体の電源がS4/S5状態の場合は何も処理が行われないが、先に電源の状態をチェックし、システム電源がオンになっているか、S4/S5よりも低いスリープ状態になっている場合にのみpower cycleコマンドを実行することを推奨する。

reset

ハードリセットを実行する。

diag

診断割り込み(NMI)をプロセッサに直接送る。

soft

ACPI経由でOSのソフトシャットダウンを実行する。これにはさまざまな方法があるが、一般には過熱をシミュレートするか、電源ボタンの押下をシミュレートする。このソフト電源を機能させるには、オペレーティングシステムでACPIをサポートしていること、および何らかのデーモンでイベントを監視していることが必要である。

bootdev <device>

次回再起動するときに、システムが別の起動デバイスから起動するように指定する。

現在サポートされている<device>の値は次のとおり。
pxe

PXE起動

disk

BIOSのデフォルトの起動デバイスから起動

safe

セーフモードを指定して、BIOSのデフォルトの起動デバイスから起動

diag

診断パーティションから起動

cdrom

CD/DVDから起動

bios

起動してBIOSセットアップを開く

event
<predefined event number>

定義済みのイベントをシステムイベントログ(SEL:System Event Log)に送る。BMCのシステムイベントログコンポーネントの機能をテストする手段として、次のイベントが用意されている(event nコマンドを実行するたびにエントリが追加される)。

現在サポートされているnの値は次のとおり。
1      Temperature(温度):Upper Critical(重大な状態の上限):Going High(上昇中)

2      Voltage Threshold(電圧のしきい値):Lower Critical(重大な状態の下限):Going Low(下降中)

3      Memory(メモリ):Correctable ECC Error Detected(修正可能なECCエラーを検出)

注意:これらの定義済みのイベントは、有効なセンサー番号に正しく関連付けられないため、システムによっては"正確な"SELレコードが得られないことがある。しかし、SELが正常に動作しているかどうかを確認するには十分である。

file <filename>

filenameで指定したイベントログレコードをシステムイベントログに追加する。

ファイル内の各行の書式は次のとおり。

<{EvM Revision} {Sensor Type} {Sensor Num} {Event Dir/Type} {Event Data 0} {Event Data 1} {Event Data 2}>[# COMMENT]

注意:Event Dir/Typeフィールドは、上位ビット(7ビット)のイベントカテゴリーと下位7ビットのイベントタイプでエンコードされる。

例:
0x4 0x2 0x60 0x1 0x52 0x0 0x0 # Voltage threshold:Lower Critical:Going Low

exec <filename>

ipmitoolコマンドをfilenameから実行する。コマンドは1行に1つずつ記述する。コマンドの構文については、このmanpageの「コマンド」セクションを参照。各行の末尾に、'#'記号で区切ってオプションのコメントを追加することができる。

2行から成るコマンドファイルの例:

sdr list # SDRレコードのリストを取得
sel list # SELレコードのリストを取得

fru
print

すべてのフィールド交換可能ユニット(FRU:Field Replaceable Unit)のインベントリデータを読み取り、シリアル番号、パーツ番号、アセットタグや、サーバ本体、ボードまたは製品を表す短い文字列などの情報を抽出する。

i2c <i2caddr> <read bytes> [<write data>]

raw I2CコマンドをMaster Write-Read IPMIコマンドと共に実行できる。

isol
setup <baud rate>

IPMI v1.5 Serial-over-LANのボーレートをセットアップする。

lan
print <channel>

指定したチャネルの現在の設定を出力する。

set <channel> <parameter>

指定したチャネルに、指定したパラメータを設定する。有効なパラメータは次のとおり。

ipaddr <x.x.x.x>

このチャネルのIPアドレスを設定する。

netmask <x.x.x.x>

このチャネルのネットマスクを設定する。

macaddr <xx:xx:xx:xx:xx:xx>

このチャネルのMACアドレスを設定する。

defgw ipaddr <x.x.x.x>

デフォルトゲートウェイのIPアドレスを設定する。

defgw macaddr <xx:xx:xx:xx:xx:xx>

デフォルトゲートウェイのMACアドレスを設定する。

bakgw ipaddr <x.x.x.x>

バックアップゲートウェイのIPアドレスを設定する。

bakgw macaddr <xx:xx:xx:xx:xx:xx>

バックアップゲートウェイのMACアドレスを設定する。

password <pass>

NULLユーザのパスワードを設定する。

snmp <community string>

SNMPコミュニティ文字列を設定する。

user

ユーザID 1のユーザアクセスモードを有効にする(指定したチャネルのユーザIDに関する情報を表示するには、'user'コマンドを実行する)。

access <on|off>

LANチャネルアクセスモードを設定する。

ipsrc <source>

発信元IPアドレスを次のように設定する。
none   指定なし

static 手動で設定した静的IPアドレス

dhcp   DHCPを実行するBMCによって取得されたアドレス

bios   BIOSまたはシステムソフトウェアによって読み込まれたアドレス

arp respond <on|off>

BMCによって生成されるARP応答を設定する。

arp generate <on|off>

BMCによって生成されるGratuitous ARPを設定する。

arp interval <seconds>

BMCによって生成されるGratuitous ARPの間隔を設定する。

auth <level,...> <type,...>

指定した認証レベルに有効な認証タイプを設定する。
レベル:callback、user、operator、admin
タイプ:none、md2、md5、password、oem

cipher_privs <privlist>

暗号スイート番号を、それを使用できる最大の特権レベルと相互に関連付ける。こうすることで、暗号スイートを特定の特権レベルを持つユーザに制限し、たとえば管理者には通常ユーザよりも強力な暗号スイートの使用を義務付けることができる。

privlistの書式は次のようになる。それぞれの文字が特権レベルを表し、文字の位置が暗号スイート番号を表す。たとえば、最初の文字は暗号スイート1を表し(暗号スイート0は予約されている)、2番目の文字は暗号スイート2を表す。それ以降の文字も同様である。 privlistの長さは15文字でなければならない。

privlistで使われる文字と、その文字に対応する特権レベルは次のとおり。

X       暗号スイートを使用しない

c      CALLBACKレベル

u      USERレベル

o      OPERATORレベル

a      ADMINレベル

O      OEMレベル

したがって、暗号スイート1の最大限の特権をUSERに、暗号スイート2の最大限の特権をADMINに設定する場合は、次のようなコマンドを実行する。

ipmitool -I interface lan set channel cipher_privs uaXXXXXXXXXXXXX

pef
info

BMCに照会し、プラットフォームイベントフィルタ(PEF:Platform Event Filter)でサポートされる機能に関する情報を出力する。

status

現在のPEFの状態(BMCによって処理された最後のSELエントリなど)を出力する。

policy

PEFポリシーテーブルのエントリのリストを表示する。各ポリシーのエントリでは、警告の送信先が定義される。ポリシーセットはテーブルのエントリの集合である。PEF警告アクションはポリシーセットを参照する。

list

PEFテーブルのエントリのリストを表示する。各PEFエントリでは、センサーイベントがアクションに関連付けられる。PEFがアクティブになっている場合、プラットフォームイベントが発生するたびにBMCはこのテーブルを調べて、イベントに一致するエントリと、実行可能なアクションがないかどうかを確認する。アクションは優先順に実行される(重大度が高いものから実行される)。

raw <netfn> <cmd> [data]

raw IPMI コマンドを実行できる。たとえば、rawコマンドでPOHカウンタを照会するには、次のように入力する。

ipmitool -v raw 0x0 0xf
RAW REQ (netfn=0x0 cmd=0xf data_len=0)
RAW RSP (5 bytes)
3c 72 0c 00 00

sdr
info

BMCにセンサーデータレコード(SDR:Sensor Data Record)の情報を照会する。

list [all|full|compact|event|mcloc|fru|generic]

SDRを読み取り、指定したタイプのセンサー情報を抽出する。次に、各センサーに照会し、センサーの名前、読み取り値、および状態を出力する。

有効なタイプは次のとおり。
all

すべてのSDRレコード(センサーおよびロケータ)

full

完全なセンサーレコード

compact

コンパクトなセンサーレコード

event

イベントのみのセンサーレコード

mcloc

管理コントローラロケータレコード

fru

FRUロケータレコード

generic

汎用SDRレコード

entity <id>[.<instance>]

エンティティに関連付けられているすべてのセンサーを表示する。詳細オプション('-v')を指定した'sdr list'コマンドを実行し、ターゲットシステムで有効なエンティティIDのリストを取得する。すべてのエンティティIDのリストは、IPMI仕様に記載されている。

dump <file>

raw SDRデータをファイルにダンプする。

sel

注意:SELクロックを設定する必要がある場合は、SELのエントリ時刻が'Pre-Init Time-stamp'と表示される。'sel time get'コマンドと'sel time set <time string>'コマンドを実行し、SELクロックを正確に設定されていなければならない。

info

システムイベントログ(SEL)とその内容に関する情報をBMCに照会する。

clear

SELの内容を消去する。元に戻すことはできないので注意が必要である。

list

このコマンドを引数なしで実行すると、SELの内容全体が表示される。

<count>|first <count>

SEL内の最初の(最も古い)count個のエントリを表示する。countを0にすると、すべてのエントリが表示される。

last <count>

SEL内の最後の(最も新しい)count個のエントリを表示する。countを0にすると、すべてのエントリが表示される。

delete <number>

1つのイベントを削除する。

time
get

SELクロックの現在の時刻を表示する。

set <time string>

SELクロックを設定する。設定後のSELのエントリでは、このコマンドで設定した時刻が使用される。<time string>は"MM/DD/YYYY HH:MM:SS"の形式で指定する。時間は24時間形式で指定することに注意。時刻を設定する前に、SELを消去することを推奨する。

sensor
list

センサーとしきい値のリストをワイドテーブル形式で表示する。

get <id> ...[<id>]

名前で指定したセンサーの情報を出力する。

thresh <id> <threshold> <setting>

特定のセンサーのしきい値を設定できる。センサーは名前で指定する。

有効なしきい値は次のとおり。

unr    Upper Non-Recoverable(回復不可能な状態の上限)

ucr    Upper Critical(重大な状態の上限)

unc    Upper Non-Critical(重大でない状態の上限)

lnc    Lower Non-Critical(重大でない状態の下限)

lcr    Lower Critical(重大な状態の下限)

lnr    Lower Non-Recoverable(回復不可能な状態の下限)
session
info <active | all | id 0xnnnnnnnn | handle 0xnn>

指定したセッションに関する情報を取得する。セッションは、ID、ハンドル番号、またはアクティブ状態で指定する。すべてのセッションを指定する場合は、キーワード'all'を使用する。

sol
info [<channel number>]

指定したチャネルのSerial-Over-LAN設定に関する情報を取得する。チャネルを指定しない場合は、現在使用しているチャネルのSOL設定データが表示される。

set <parameter> <value> [channel]

Serial Over Lanのパラメータを設定する。チャネルを指定しない場合は、現在使用しているチャネルのSOL設定データが表示される。設定パラメータの更新は、set-in-progressパラメータの更新があるまで自動的に抑制される。

有効なパラメータと値は次のとおり。

set-in-progress
set-complete set-in-progress commit-write
enabled
true false
force-encryption
true false
force-authentication
true false
privilege-level
user operator admin oem
character-accumulate-level
5ミリ秒単位で指定する10進数
character-send-threshold
10進数
retry-count
10進数。0を指定すると、パケットの送信後にリトライを行わない。
retry-interval
10ミリ秒単位の10進数。0を指定すると、リトライが連続して送信される。
non-volatile-bit-rate
serial、19.2、38.4、57.6、115.2。この値をserialに設定すると、BMCはIPMI over serialチャネルで使用されている設定を使用する。
volatile-bit-rate
serial、19.2、38.4、57.6、115.2。この値をserialに設定すると、BMCはIPMI over serialチャネルで使用されている設定を使用する。
activate

ipmitoolがSerial Over LANモードになり、lanplusインタフェースの使用時にのみ利用できるようになる。BMCに対してRMCP+接続が行われ、端末がrawモードに設定され、ユーザ入力はリモートサーバのシリアルコンソールに送信される。終了時には、SOLペイロードモードが非アクティブ化され、端末の設定はリセットされる。

SOLセッションを制御するために、次のような特別なエスケープシーケンスが用意されている。

~.     接続を終了する
~^Z    ipmitoolを一時停止する
~B     ブレークを送信する
~~     2回入力してエスケープ文字を送信する
~?     サポートされているエスケープシーケンスを出力する
deactivate


BMCのSerial Over LANモードを非アクティブ化する。Serial Over LANモードを終了すると、このコマンドが自動的にBMCに送信される。ただし、SOLモードが予期せず終了した場合には、BMCの状態をリセットするためにこのコマンドが必要になることがある。

user
summary

ユーザIDの最大数、有効になっているユーザの数、定義されている固定名の数など、ユーザID情報の要約を表示する。

list

定義されているすべてのユーザIDに関するユーザ情報のリストを表示する。

set
name <userid> <username>

指定したユーザIDに関連付けられているユーザ名を設定する。

password <userid> [<password>]

指定したユーザIDのパスワードを設定する。パスワードを指定しないと、パスワードは消去される(NULLパスワードに設定される)。管理者レベルのアカウントからパスワードを削除するときは注意が必要である。

disable <userid>

指定したユーザIDによるBMCへのアクセスを無効にする。

enable <userid>

指定したユーザIDによるBMCへのアクセスを有効にする。

test <userid> <16|20> [<password>]

パスワードが16バイトと20バイトのどちらで格納されているかを確認する。

注意:LANインタフェースがどのチャネルにあるかを確認するには、'channel info channel'コマンドを実行する。

 

openインタフェース

ipmitoolのopenインタフェースでは、OpenIPMIカーネルデバイスドライバを利用する。このドライバは、最近のすべての2.4カーネルおよびすべての2.6カーネルに含まれており、新しいLinuxディストリビューションのカーネルには含まれているはずである。また、さまざまなカーネルのバージョンに対応するIPMIドライバカーネルパッチもOpenIPMIのホームページから入手できる。

必要なカーネルモジュールは、2.4カーネルと2.6カーネルで異なる。2.4ベースのカーネルでipmitoolを使用するには、次のカーネルモジュールを読み込む必要がある。

ipmi_msghandler
IPMIインタフェース用の受信および送信メッセージハンドラ。
ipmi_kcs_drv
メッセージハンドラ用のIPMI Keyboard Controler Style(KCS)インタフェース。
ipmi_devintf
メッセージハンドラ用のLinuxキャラクタデバイスインタフェース。

2.6ベースのカーネルでipmitoolを使用するには、次のカーネルモジュールを読み込む必要がある。

ipmi_msghandler
IPMIインタフェース用の受信および送信メッセージハンドラ。
ipmi_si
メッセージハンドラ用のIPMIシステムインタフェースドライバ。このモジュールは、KCS、BT、SMIC、さらには2.6カーネルのSMBusまで、さまざまなIPMIシステムインタフェースをサポートしている。
ipmi_devintf
メッセージハンドラ用のLinuxキャラクタデバイスインタフェース。

必要なモジュールを読み込んだら、/dev/ipmi0に動的なキャラクタデバイスのエントリを作成する。devfsまたはudevを使用するシステムでは、これは/dev/ipmi/0になる。

デバイスノードを作成するには、まず/proc/devicesを調べてipmidevエントリをチェックし、カーネルによって割り当てられている動的メジャー番号を確認する。通常、最初の動的デバイスのメジャー番号は254、最初のシステムインタフェースのマイナー番号は0になるので、次のように入力してデバイスのエントリを作成する。

mknod /dev/ipmi0 c 254 0

ipmitoolには、起動時にこの処理を自動的に実行するサンプルの初期化スクリプトが用意されている。

ipmitoolでOpenIPMIデバイスインタフェースを使用するには、コマンドラインで次のように指定する。

ipmitool -I open <command>  

BMCインタフェース

ipmitoolのbmcインタフェースでは、Solaris 10以降に含まれるbmcデバイスドライバを利用する。ipmitoolでこのインタフェースを使用するには、コマンドラインで次のように指定する。<pp> ipmitool -I bmc <command>

bmcドライバには次のファイルが関連付けられている。

/platform/i86pc/kernel/drv/bmc
bmcドライバ用の32ビットELFカーネルモジュール。
/platform/i86pc/kernel/drv/amd64/bmc
bmcドライバ用の64ビットELFカーネルモジュール。
/dev/bmc
bmcドライバとの通信に使用されるキャラクタデバイスノード。
 

LIPMIインタフェース

ipmitoolのlipmiインタフェースでは、Solaris 9のIPMIカーネルデバイスドライバを利用する。Solaris 10では、これがbmcインタフェースに置き換わっている。 ipmitoolでこのインタフェースを使用するには、コマンドラインで次のように指定する。

ipmitool -I lipmi <expression>  

LANインタフェース

ipmitoolのlanインタフェースは、IPv4のUDPを使用して、イーサネットLAN接続経由でBMCと通信する。UDPデータグラムは、IPMIセッションヘッダとRMCPヘッダを持つIPMI要求/応答メッセージを含むようにフォーマットされる。

IPMI-over-LANでは、RMCP(Remote Control Protocol) Version 1を使用して、OS起動前およびOS不在の管理をサポートする。RMCPは、UDPデータグラムを使ってポート623に配信される要求-応答プロトコルである。

lanインタフェースは、認証されたマルチセッション接続である。BMCに配信されるメッセージは、単純なパスワード/キーまたはMD5メッセージダイジェストアルゴリズムを使用するチャレンジ/レスポンスプロトコルで認証できる(はずである)。 ipmitoolは管理者特権レベルで接続を試みる。サーバ本体の電源機能を実行するには、この特権レベルが必要だからである。

ipmitoolでlanインタフェースを使用するには、次のように-I lanオプションを指定する。

ipmitool -I lan -H <hostname> [-U <username>] [-P <password>] <command>

ipmitoolでlanインタフェースを使用する場合は、コマンドラインでホスト名を指定する必要がある。パスワードフィールドは省略可能である。コマンドラインでパスワードを指定しないと、ipmitoolは認証なしで接続を試みる。パスワードを指定した場合、BMCでサポートされていればMD5認証が使用され、サポートされていなければ単純なパスワード/キーが使用される。ただし、コマンドラインオプションで指定されている場合は、その設定が優先される。  

LANPLUSインタフェース

lanインタフェースと同様に、lanplusインタフェースはIPv4のUDPを使用して、イーサネットLAN接続経由でBMCと通信する。違いは、lanplusインタフェースではIPMI v2.0仕様で定義されているRMCP+プロトコルが使われることである。RMCP+では、改良された認証およびデータ整合性チェックのほか、暗号化や、複数タイプのペイロードの伝達が可能である。汎用Serial Over LANのサポートにはRMCP+が必要なので、ipmitool sol activateコマンドを実行するにはlanplusインタフェースを使用する必要がある。

RMCP+セッションの確立には、RAKP(Remote Authenticated Key-Exchange Protocol)と呼ばれる対称型のチャレンジ/レスポンスプロトコルが使用される。このプロトコルでは、さまざまなオプションのネゴシエーションが可能である。ipmitoolでは、まだユーザがすべてのオプションの値を指定することはできない。デフォルトでは、v2.0仕様で必須と指定されている最も明白な設定になる。認証および整合性チェックのHMACSはSHA1を使って生成され、暗号化はAES-CBC-128を使って実行される。 ロールレベルのログインはまだサポートされていない。

暗号化機能を実行し、lanplusインタフェースをサポートするには、ipmitoolをOpenSSLライブラリにリンクする必要がある。必要なパッケージが見つからない場合は、コンパイルもサポートもされない。

ipmitoolでlanplusインタフェースを使用するには、次のように-I lanplusオプションを指定する。

ipmitool -I lanplus -H <hostname> [-U <username>] [-P <password>] <command>

ipmitoolでlanplusインタフェースを使用する場合は、コマンドラインでホスト名を指定する必要がある。-Aおよび-C以外のコマンドラインオプションはlanインタフェースと同じである。

-Cオプションでは、IPMIv2.0仕様の表22-19にある暗号スイートIDに基づいて、lanplusセッションに使用する認証、整合性チェック、および暗号化のアルゴリズムを指定できる。デフォルトの暗号スイートは3で、この場合はRAKP-HMAC-SHA1認証、HMAC-SHA1-96整合性チェック、およびAES-CBC-128暗号化のアルゴリズムが指定される。  

使用例

例1:リモートセンサーのリストを表示する

> ipmitool -I lan -H 1.2.3.4 -f passfile sdr list
Baseboard 1.25V | 1.24 Volts | ok
Baseboard 2.5V | 2.49 Volts | ok
Baseboard 3.3V | 3.32 Volts | ok

例2:リモートセンサーの状態を表示する

> ipmitool -I lan -H 1.2.3.4 -f passfile sensor get "Baseboard 1.25V"
Locating sensor record...
Sensor ID :Baseboard 1.25V (0x10)
Sensor Type (Analog) :Voltage
Sensor Reading :1.245 (+/- 0.039) Volts
Status :ok
Lower Non-Recoverable :na
Lower Critical : 1.078
Lower Non-Critical : 1.107
Upper Non-Critical : 1.382
Upper Critical : 1.431
Upper Non-Recoverable :na

例3:リモートサーバの電源の状態を表示する

> ipmitool -I lan -H 1.2.3.4 -f passfile chassis power status
Chassis Power is on

例4:リモートサーバの電源を制御する

> ipmitool -I lan -H 1.2.3.4 -f passfile chassis power on
Chassis Power Control:Up/On         

 

著者

Duncan Laurie <duncan@iceblink.org>  

関連項目

IPMItoolホームページ
http://ipmitool.sourceforge.net
Intelligent Platform Management Interface仕様
http://www.intel.com/design/servers/ipmi
OpenIPMIホームページ
http://openipmi.sourceforge.net


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
SECURITY
COMMANDS
OPEN INTERFACE
BMC INTERFACE
LIPMI INTERFACE
LAN INTERFACE
LANPLUS INTERFACE
EXAMPLES
AUTHOR
SEE ALSO

COPYING