ベースボード管理コントローラ メッセージ
ベースボード管理コントローラ(BMC)は、システム イベント ログ(SEL)に対するインターフェイスを提供します。SEL にはシステム側および他の外部インターフェイスからアクセスできます。BMC ではメッセージ ハンドラを使用して、異なるインターフェイス間でメッセージをルーティングします。また、温度および電圧など、システム ボードをモニタおよび管理します。
この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
ベースボード管理コントローラ(BMC)は、システム イベント ログ(SEL)に対するインターフェイスを提供します。SEL にはシステム側および他の外部インターフェイスからアクセスできます。BMC ではメッセージ ハンドラを使用して、異なるインターフェイス間でメッセージをルーティングします。また、温度および電圧など、システム ボードをモニタおよび管理します。
SEL はシステム イベントの不揮発性リポジトリです。SEL のデバイスはイベント レシーバ デバイスとは別個のもので、内容を管理するコマンドを受け入れます。
SEL のメッセージは、メッセージをトリガーした変更に関する情報が含まれる 16 バイトの文字列として記録されます。
バイト 1 および 2 はレコード ID です。
バイト 3 はレコード タイプです。
バイト 4、5、6、および 7 はタイムスタンプです。
バイト 8 および 9 はジェネレータ ID です。
バイト 10 はイベント メッセージ形式のバージョンです。
バイト 11 はセンサー タイプです。
バイト 12 はセンサー番号です。
バイト 13 はイベント ディレクトリ(アサーション/アサーション解除イベント)またはイベント タイプです。
バイト 14、15、および 16 はイベント データ フィールドの内容へのリンクです。センサー クラスがしきい値、ディスクリート、Original Equipment Manufacturer(OEM)の設定のうちどれに関するものであるかを決定します。
センサー初期化エージェントは論理デバイスではありませんが、SDR 情報の処理に固有の機能とサービスの集まりです。センサー初期化エージェントは、SDR の内容(特にセンサー データ レコードとデバイス ロケータ レコード)を直接処理します。
エージェントは、システムの起動時にセンサーおよび IPMB デバイスの初期化に SDR 情報を使用します。エージェントは、センサー データ レコードを解釈し、init required フィールドの値に従ってしきい値を threshold initialization required ビットが SDR レコードで設定されているセンサーにロードします。レコードの他のビットは、エージェントにセンサーや、センサーかイベントがディセーブル(または両方がディセーブル)の状態で起動されたデバイスをイネーブルにするように指示します。
エージェント機能は、システムの起動時および任意のシステム ハード リセット時に実行されます。BMC が初めてスタンバイ電源を受信したときにエージェント機能を実行することを推奨します。
電源管理を実装するシステムでは、システムが起動した後に、システム管理ソフトウェアで、中間設定を復元するための追加手順が必要となります。
センサー データ レコード(SDR)デバイスはセンサー データ レコードへのインターフェイスを提供します。コマンド セットによって、センサー データ レコードを保存および取得します。SDR デバイスはセンサーを検出して設定し、アクセスするためのコマンド セットを提供します。
SDR リポジトリはプラットフォーム管理サブシステムのすべてのセンサーに対して、センサー、デバイス ロケータおよびエンティティ アソシエーション レコードを保持しています。BMC は SDR リポジトリにこのインターフェイスを提供します。センサー データ レコードは、SDR コマンドを使用してアクセスできます。
SDR リポジトリには、モーダルおよび非モーダルという 2 つの実装があります。
モーダル SDR リポジトリは、コントローラが SDR リポジトリ更新モードの場合にのみ更新されます。SDR 情報は不揮発性ストレージ デバイスに保存されます。更新中に長い書き込み処理が必要となる場合があり、他のコントローラ動作を妨げる可能性のあります。たとえば、SDR リポジトリは、管理コントローラ コードの一部を保持するフラッシュ デバイスに保存できます。モーダル SDR リポジトリ実装では、そのコードに関連付けられた機能を更新プロセス中に一時的に使用不能にすることができます。
非モーダル SDR リポジトリにはいつでもに書き込むことができます。SDR への書き込みは管理コントローラの他のコマンドの動作に影響しません。
イベント メッセージは、重大なまたは重要なシステム管理イベントを検出すると管理コントローラに送信される特殊なメッセージです。これには、温度しきい値の超過、電圧しきい値の超過、電源障害などのイベントに関するメッセージが含まれます。イベント メッセージを生成するデバイスはイベント レシーバ デバイスにメッセージを送信することによって、システムに通知します。
イベント レシーバ デバイスからのメッセージは、システム イベント ログに直接書き込まれます。適切な Add SEL Entry コマンドは SEL デバイスに直接送信されます。
SEL、SDR、およびイベント コマンドは、これらのコマンド セットが実装されているデバイスがメッセージの内容から分離されように設計されています。デバイスは、メッセージを解釈しません。イベント レシーバ デバイスはイベント メッセージを受信し、ルーティングします。SEL デバイスは、ログ エントリを取得し、保存します。SDR デバイスは、センサー データ レコードを取得し、保存します。
以下に、使用可能な SEL デバイス コマンドを示します。
コマンド |
説明 |
---|---|
Get SEL Info |
このコマンドは、SEL のエントリ数、SEL コマンドのバージョン、および最新のエントリと削除/クリアのタイムスタンプを返します。 |
Get SEL Allocation Info |
このコマンドは、可能性のあるアロケーション ユニット数、使用可能な空き容量(アロケーション ユニット単位)、アロケーション ユニット サイズ(バイト単位)、および連続する空き領域の最大サイズ(アロケーション ユニット単位)を返します。アロケーション ユニットのサイズは、ストレージが割り当てられているバイト数です。たとえば 16 バイトのレコードが追加され、SEL のアロケーション ユニット サイズが 32 バイトの場合、レコードは 32 バイトのストレージを占有します。 |
Reserve SEL |
このコマンドは、SEL の現在のオーナーを設定し、これは、ソフトウェア ID またはコマンドからの要求者スレーブ アドレスで識別されます。予約処理は、レコードの削除中または段階的な読み取り中に、インテリジェント プラットフォーム管理インターフェイス(IPMB)からのリポジトリ アクセスに対して一定の保護を提供します。 |
Get SEL Entry |
このコマンドは、SEL からエントリを取得します。応答のレコード データ フィールドは SEL イベント レコードから 16 バイトのデータを返します。 |
Add SEL Entry |
このコマンドは、BIOS でシステム イベント ログにレコードを追加できるようにします。通常、SEL デバイスおよびイベント レシーバ サービスは同じ管理コントローラに組み込まれます。この場合、BIOS またはシステム SMI ハンドラは、このコマンドを使用するのではなく、イベント メッセージをフォーマットし、SEL デバイスに送信することにより、各自のイベントを SEL に追加します。 |
Partial Add SEL Entry |
このコマンドは、Add SEL Entry の 1 つのバージョンです。レコードが段階的に SEL に追加されるようにします。このコマンドの前に、Reserve SEL コマンドを実行する必要があります。最初の部分追加をオフセット 0000h にし、以後の部分追加を追加間のギャップまたはオーバーラップなしで順番に実行する必要があります。 |
Delete SEL Entry |
このコマンドは、SEL の指定されたエントリを削除します。 |
Clear SEL |
このコマンドは、SEL の内容を消去します。このプロセスは、ストレージ デバイスのタイプに基づいて、数秒かかることがあります。消去のステータスも表示されます。 |
Get SEL Time |
このコマンドは、イベントのタイムスタンプに使用する時刻を SEL デバイスから返します。 |
Set SEL Time |
このコマンドは、イベントのタイムスタンプに使用する SEL デバイスの時刻設定を初期化します。 |
Get Auxiliary Log Status |
このコマンドは、リモート ソフトウェアで新しい情報がマシン チェック アーキテクチャ(MCA)ログに追加されたかどうかを認識できるようにします。MCA ログは Intel Itanium ベースのコンピュータ システムに実装できるストレージ エリアで、システム ファームウェアから実行されている MCA ハンドラからの情報を保持します。 |
Set Auxiliary Log Status |
このコマンドは、システム ソフトウェアまたはファームウェアによって、Get Auxiliary Log Status コマンドから返されたステータスを設定するために使用できます。一部の実装では、このステータスを設定するために独自のメカニズムが使用されることがあります。その場合、Get Auxiliary Log Status コマンドが提供されても、このコマンドが提供されない可能性があります。 |
次のコマンドは、SDR リポジトリ デバイスの動作を制御します。
コマンド |
説明 |
---|---|
Get SDR Repository Info |
このコマンドは、SDR リポジトリの SDR コマンドのバージョンを返します。また、最後 add、delete、または clear コマンドのタイムスタンプを返します。 |
Get SDR Repository Allocation Info |
このコマンドは、可能性のあるアロケーション ユニット数、使用可能な空き容量(アロケーション ユニット単位)、アロケーション ユニット サイズ(バイト単位)、および連続する空き領域の最大サイズ(アロケーション ユニット単位)を返します。アロケーション ユニットのサイズは、ストレージが割り当てられているバイト数です。たとえば 20 バイトのレコードが追加され、SDR リポジトリのアロケーション ユニット サイズが 16 バイトの場合、レコードは 32 バイトのストレージを占有します。 |
Reserve SDR Repository |
このコマンドは、ソフトウェア ID またはコマンドからの要求者スレーブ アドレスで識別される、リポジトリの現在のオーナーを設定します。予約処理は、レコードが削除されるか、段階的に読み取られる場合、IPMB からのリポジトリ アクセス時に一定の保護を提供します。 |
Get SDR |
このコマンドは、レコード ID で指定したセンサー レコードを返します。コマンドは、レコードの選択した部分を取得できるバイト範囲の指定も受け入れます(差分読み取り)。まず、Reserve SDR Repository コマンドを 0000h 以外のオフセットへの差分読み取り用に発行する必要があります(他の SDR リポジトリ コマンドを送信する前に、Get SDR Repository Info コマンドを使用して、SDR リポジトリのバージョンを確認する必要があります。コマンド形式と動作はバージョン間で異なる場合があります)。 |
Add SDR |
このコマンドは、SDR リポジトリに指定されたセンサー レコードを追加し、そのレコード ID を返します。要求で渡されるデータには、すべての SDR データを含める必要があります。 |
Partial Add SDR |
このコマンドは、Add SDR の 1 つのバージョンで、レコードを段階的にリポジトリに追加できるようにします。このコマンドの前に、Reserve SDR Repository コマンドを実行する必要があります。最初の部分追加をオフセット 0000h にし、以後の部分追加を追加間のギャップまたはオーバーラップなしで順番に実行する必要があります。 |
Delete SDR |
このコマンドは、レコード ID で指定したセンサー レコードを削除します。要求元 ID と予約 ID も SDR リポジトリのオーナーと一致している必要があります。 |
Clear SDR Repository |
このコマンドは、SDR リポジトリからすべてのレコードをクリアし、SDR リポジトリ サブシステムを再初期化します。要求元 ID と予約 ID 情報が SDR リポジトリの現在のオーナーと一致している必要があります。このコマンドをユーティリティおよびシステム管理ソフトウェア内で使用しないことを推奨します。 |
Get SDR Repository Time |
このコマンドは、SDR リポジトリ デバイスが SDR リポジトリへの変更のトラッキングに使用する時間設定を SDR リポジトリ デバイスから返します。 |
Set SDR Repository Time |
このコマンドは、SDR リポジトリ デバイスが SDR リポジトリへの変更のトラッキングに使用する SDR リポジトリ デバイス内の時間設定を初期化します。 |
Enter SDR Repository Update Mode |
このコマンドは、通常コマンドのサブセットを実行できるモードを開始します。使用できるコマンドは、Get Device ID、Get SDR、Add SDR、Partial Add SDR、および Clear SDR Repository です。 |
Exit SDR Repository Update Mode |
このコマンドは、SDR リポジトリの更新モードを終了し、すべてのコマンドの通常の使用を復元します。 |
Run Initialization Agent |
このコマンドにより、初期化エージェントを実行し、エージェントのステータスをチェックできます。 |
次のコマンドは、イベント レシーバ デバイスで実行できます。
コマンド |
説明 |
---|---|
Set Event Receiver |
これは、コントローラにイベント メッセージの送信先を伝えるグローバル コマンドです。イベント レシーバのスレーブ アドレスおよび LUN を指定する必要があります。イベント レシーバのスレーブ アドレスの値 FFh は、イベント メッセージの生成をディセーブルにします。 |
Get Event Receiver |
これは、イベント レシーバのスレーブ アドレスおよび LUN の現在の設定を取得するグローバル コマンドです。 |
Platform Event Message |
このコマンドは、BMC に対する、コマンドに含まれるイベント データの処理要求です。データは、SEL に記録されます。 |
SEL リポジトリに報告される例を次に示します。raw レコードには 16 バイトが含まれ、レコードは例で 16 進値として表示されています。矢印の後にデータの変換があります。| パイプは、変換を読みやすくするための区切り記号です。
これらは存在アサーションの例です。これは、ブートアップ プロセスを示しています。
54 01 02 3c 0c 00 00 01 00 04 12 83 6f 01 ff 00 ------------> 154 | 01/01/1970 00:52:12 | BIOS
| System Event #0x83 | OEM System Boot Event | | Asserted
55 01 02 3d 0c 00 00 20 00 04 25 53 08 01 ff ff ------------> 155 | 01/01/1970 00:52:13 | BMC
| Entity presence BIOS_POST_CMPLT #0x53 | Device Present | Asserted
56 01 02 54 0c 00 00 20 00 04 25 52 08 00 ff ff ------------> 156 | 01/01/1970 00:52:36 | BMC
| Entity presence MAIN_POWER #0x52 | Device Absent | Asserted
57 01 02 25 00 00 00 20 00 04 25 41 08 01 ff ff ------------> 157 | 01/01/1970 00:00:37 | BMC
| Entity presence MEZZ_PRS #0x41 | Device Present | Asserted
58 01 02 25 00 00 00 20 00 04 25 43 08 00 ff ff ------------> 158 | 01/01/1970 00:00:37 | BMC
| Entity presence HDD1_PRS #0x43 | Device Absent | Asserted
59 01 02 25 00 00 00 20 00 04 25 45 08 01 ff ff ------------> 159 | 01/01/1970 00:00:37 | BMC
| Entity presence P1_PRESENT #0x45 | Device Present | Asserted
5a 01 02 25 00 00 00 20 00 04 25 47 08 00 ff ff ------------> 15a | 01/01/1970 00:00:37 | BMC
| Entity presence DDR3_P2_D2_PRS #0x47 | Device Absent | Asserted
5b 01 02 25 00 00 00 20 00 04 25 49 08 00 ff ff ------------> 15b | 01/01/1970 00:00:37 | BMC
| Entity presence DDR3_P2_E2_PRS #0x49 | Device Absent | Asserted
5c 01 02 25 00 00 00 20 00 04 25 4b 08 00 ff ff ------------> 15c | 01/01/1970 00:00:37 | BMC
| Entity presence DDR3_P2_F2_PRS #0x4b | Device Absent | Asserted
5d 01 02 26 00 00 00 20 00 04 25 4d 08 00 ff ff ------------> 15d | 01/01/1970 00:00:38 | BMC
| Entity presence DDR3_P1_A2_PRS #0x4d | Device Absent | Asserted
5e 01 02 26 00 00 00 20 00 04 25 4f 08 00 ff ff ------------> 15e | 01/01/1970 00:00:38 | BMC
| Entity presence DDR3_P1_B2_PRS #0x4f | Device Absent | Asserted
5f 01 02 26 00 00 00 20 00 04 25 51 08 00 ff ff ------------> 15f | 01/01/1970 00:00:38 | BMC
| Entity presence DDR3_P1_C2_PRS #0x51 | Device Absent | Asserted
60 01 02 26 00 00 00 20 00 04 25 53 08 01 ff ff ------------> 160 | 01/01/1970 00:00:38 | BMC
| Entity presence BIOS_POST_CMPLT #0x53 | Device Present | Asserted
これらは、SEL リポジトリに書き込まれる LED カラーの変化の例です。
34 05 02 2f 00 00 00 20 00 04 24 56 7f 00 04 10 ------------> 534 | 01/01/1970 00:00:47 | BMC
| Platform alert LED_MEZZ_TP_FLT #0x56 | LED is off | Asserted
35 05 02 30 00 00 00 20 00 04 24 56 7f 07 04 10 ------------> 535 | 01/01/1970 00:00:48 | BMC
| Platform alert LED_MEZZ_TP_FLT #0x56 | LED color is red | Asserted
36 05 02 30 00 00 00 20 00 04 24 58 7f 00 04 10 ------------> 536 | 01/01/1970 00:00:48 | BMC
| Platform alert LED_SYS_ACT #0x58 | LED is off | Asserted
37 05 02 31 00 00 00 20 00 04 24 58 7f 04 04 10 ------------> 537 | 01/01/1970 00:00:49 | BMC
| Platform alert LED_SYS_ACT #0x58 | LED color is green | Asserted
38 05 02 31 00 00 00 20 00 04 24 5a 7f 00 04 10 ------------> 538 | 01/01/1970 00:00:49 | BMC
| Platform alert LED_SAS1_FAULT #0x5a | LED is off | Asserted
39 05 02 32 00 00 00 20 00 04 24 5a 7f 05 04 10 ------------> 539 | 01/01/1970 00:00:50 | BMC
| Platform alert LED_SAS1_FAULT #0x5a | LED color is amber | Asserted
これらは、電圧のしきい値を超えたときの SEL メッセージの例です。
7b 09 02 3d 19 00 00 20 00 04 02 00 01 52 b5 b7 ------------> 97b | 01/01/1970 01:47:41 | BMC
| Voltage P3V_BAT_SCALED #0x00 | Lower critical - going low | Asserted | Reading 2.39 < Threshold 2.42 Volts
8d 09 02 5b 19 00 00 20 00 04 02 00 81 52 bc b7 ------------> 98d | 01/01/1970 01:48:11 | BMC
| Voltage P3V_BAT_SCALED #0x00 | Lower critical - going low | Deasserted | Reading 2.48 > Threshold 2.42 Volts
これらは、温度のしきい値を超えたときの SEL メッセージの例です。
00 02 02 2b 00 00 00 20 00 04 19 18 05 00 ff ff ------------> 200 | 01/01/1970 00:00:43 | BMC
| Chip Set IOH_THERMTRIP_N #0x18 | Limit Not Exceeded | Asserted
12 02 02 31 00 00 00 20 00 04 07 19 05 00 ff ff ------------> 212 | 01/01/1970 00:00:49 | BMC
| Processor P2_THERMTRIP_N #0x19 | Limit Not Exceeded | Asserted
13 02 02 32 00 00 00 20 00 04 07 1a 05 00 ff ff ------------> 213 | 01/01/1970 00:00:50 | BMC
| Processor P1_THERMTRIP_N #0x1a | Limit Not Exceeded | Asserted