2018年09月公開

BMC・IPMIと呼ばれる管理チップが搭載されたシステムでは、SELと呼ばれるログ機能が備わっています。
この機能を利用することで、OSから独立してハードウェアトラブルの原因を特定することができる場合がございます。

ここではSELの確認方法をご紹介し、原因特定がお客様の現場レベルで実施できるようになることを目的としています。

BMC/IPMIとは?

Xeonを搭載するサーバー・ワークステーションなど、コンシューマー向けではない信頼性を求められる製品にはBMC、あるいはIPMIと呼ばれる管理・監視用のマイコンが搭載されています。

このマイコンがシステムを自分で監視してくれるため、

  • OS側に何のソフトも必要なく
  • BIOSの画面や
  • 電源断の状態も含め

ACケーブルが接続されていれば常に監視できるという、エージェントレスな仕組みであることが大きなメリットです。

従来型の監視ツール(エージェントタイプ)

自作PC向けマザーボードも含め、エージェントタイプの監視用ユーティリティは多く存在します。これはOSを入れたあとで監視用ユーティリティをインストールするタイプです。こうしたソフトをエージェントと呼称します。エージェントが存在するからエージェントタイプという訳です。

こうしたエージェントタイプは当社の取扱い製品で言いますと、

  • ASUSのPC Probe
  • ASUS ASWM(耳慣れないですが、ワークステーション用マザーボードなどにはCDが付いてきます)
  • Supermicro SuperDoctor5

などで、OS起動後、OSにインストール・常駐させるアプリケーションです。

こうしたエージェントタイプの監視ツールは、OS依存で動作しているユーティリティの一つのなのでOSが動作しない危機的な状況では全く役に立たないという重大な欠点があります。

エージェントレスの監視が出来るBMC

そこで、パソコンとしてのシステムとは全く独立したマイコンを別立てで設け、このマイコンに電源のON/OFF制御やセンサーの値の取得、異常があった時のログの記録、などの機能を持たせて常時監視できるような仕組みができました。
OS側に監視のためのソフト、つまりエージェントが存在しないのでエージェントレスという訳です。

このエージェントレスの管理・監視方法がBMC/IPMIです。BMC(Baseboard Management Controller)はこの管理監視用マイコンチップ自体のことを指し、IPMI(Intelligent Platform Management Interface)はこうした仕組み自体を指します。
しかし、実態としてはBMCがワンチップで全ての機能を賄うため、両者は一体の用語として区別なく用いられることが多いようです。

BMC/IPMIの利点

BNC/IPMIの利点は、独立性が高く、パフォーマンスも劣化しないことです。ここで言うパフォーマンスには2つの意味があります。
1つ目は、CPUパワーを全く消費しないことです。エージェントソフトウェアは、動作させるためにCPUやメモリーを必要とします。どんなに軽くてもソフトウェアですから、これは仕方ありませんが、BMCならBMCチップのマイコンが処理してくれるので、リソースは消費されません。
2つ目は、ネットワーク帯域です。OOB(Out-of-Band)と言いますが、例えば1Gb/sのNICが2つ実装されているサーバーだとして、そのサーバーの遠隔からの管理・監視をしようとすると、そのためのデータ量(パケット)が発生します。特にWindowsなどはGUIしかありませんから、リモート制御のためには画面を転送する必要があります。しかし、画面をまるまる転送するのはネットワーク帯域を非常に多く必要とする作業です(100Mbps程度使うケースが多いようです)。本来1Gb/sの帯域で通信ができるシステムなのに、管理のためにその帯域をフルに発揮できないのは問題です。
BMCはこうしたネットワーク通信をシステムとは独立したNICで実施できるため、管理・監視のためのネットワーク帯域が不要(別立てで用意されている)なので、ネットワークパフォーマンスに影響を与えません。また、電源管理ができるため、リモートから電源をON/OFFすることができる、停電の際なども現地に赴かずに電源をONにすることができます。

画面転送が出来る

こうした独立したネットワーク帯域を用いて画面やキーボード・マウスの転送ができます。つまり、ネットワーク的に接続されていれば、どこからでも完全に遠隔からのシステム操作ができるということです。BIOSの画面すら転送して操作できるので、リモートでできない作業はありません。

この機能を実現するため、BMCにはビデオ機能が内蔵されています。BMC自身のビデオ機能なので、ビデオメモリー、すなわち現在の画面情報をまるまる取得でき、ビデオメモリーの内容をネットワーク経由でリモートに送ることで、画面転送を実現しています。

併せて以下のメリットとデメリットが発生します。

  • メリット:
    ビデオカードが無くてもBMCが搭載されていれば画面出力が可能
  • デメリット:
    別途ディスクリートのビデオカード(例えばGeForceとかQuadroとか)を搭載した場合にはKVMができない(画面の内容がBMCでは取得できないため)画面の描画能力はBMCのスペック依存になる。BMCの描画能力が極めて低いため、3D表示などは困難。2Dであっても通常はFHDまでで、4K出力などは不可。サーバー向けの機能のため、VGA出力しかもっておらず、HDMIやDisplayPortでの出力は不可。

BMC搭載機種がおススメ!

トラブルが発生した際に、そのトラブルの原因を特定するのは大変です。ユーザーのスキルレベルが高くない場合にはなおさらです。BMCがあれば、異常時にログが生成されるため、原因の早期特定が可能で、双方にメリットがあります。

高額のサーバー・ワークステーションであれば、BMC付きのシステム導入をご検討ください。

BMCの代表的画面

今やどのご家庭にでもあるブロードバンドルーターですが、その管理画面は(例えば192.168.1.1などのIPで)ブラウザーで設定します。BMCも同様に、設定や画面の転送などは全てネットワーク経由で行う関係で、ブラウザーでアクセスします。IPさえわかっていればどこからでもアクセスできます。機能はシリアルの表示から画面転送、センサーの値の取得、ログの記録、BIOSのUpdateなど様々です。

インテル®

 

 

Quanta

 

 

Supermicro

 

 

サーバーメーカーや機種によって詳細は異なるため、具体的な機能はメーカー毎の製品資料をご確認ください。

IPMIの使い方マニュアル

メーカー毎に異なります。

Supermicro

http://supermicro.com/manuals/other/SMT_IPMI_Manual.pdf

インテル®

各機種のTPSを参照ください。また、こちらの資料も参考になります。
User Guide for Intel® Remote Management Module 4 (Intel® RMM4) and Integrated BMC
https://www.intel.com/content/www/us/en/support/articles/000006023/server-products.html

ASUS

機種毎に異なりますが、最新版のASMB8-iKVM搭載機種であれば以下になります。
http://dlcdnet.asus.com/pub/ASUS/server/accessory/ASMB8/E10970_ASMB8-iKVM_UM_V2_WEB.pdf

IPMI自体の規格書

http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/ipmi-intelligent-platform-mgt-interface-spec-2nd-gen-v2-0-spec-update.pdf

BMC/IPMIのメーカー別の言い方

インテル®は規格を作った側です。また、Supermicroは標準サーバーを提供する会社で、Quantaも同様です。ですから、弊社が取り扱っているサーバーメーカーは全てチップはBMC、機能はIPMIという呼称になります。

SELの確認方法

導入後の問い合わせで一番多いサーバーのトラブルに対して、SELは大きな力を発揮します。
ハードウェアの問題であれば、何が発生したのか、メモリーエラーなのか、HDDなのか、それ以外なのか、基本的には全てSELに記録されているからです。

SELの確認方法・保存方法は以下を参照ください。
http://wiki.tekwind.co.jp/wiki/index.php?SEL%E3%81%AE%E5%8F%96%E5%BE%97%E6%96%B9%E6%B3%95

注意事項

IPMIは規格化されているため基本的にはOpen IPMI・IPMI Toolなどのオープンソースツールとの親和性もありますが、各社ともに他社との差別化のため自社固有の管理機能を追加して独自に拡張しているため、クリティカルな事象の厳密な確認となると、事実上各ベンダー固有のソフトウェアを使う必要がでてきます。
 

SELを確認する時はBMCのWeb UIから!

IPMIで定義されているSELの機能は、標準化されている関係でオープンソースのツールであるIPMI ToolからSELを取得することができます。IPMI ToolはLinuxの各ディストリビューションでパッケージ化されており、コマンドで導入できるような一般的なツールです。ところが、IPMI Toolの各社独自の処理系はわからないため、IPMI Toolを使ってSELを取得すると、標準化されている内容まではデコードできますが、メーカー独自の内容まではデコードできません。すると、バイナリの意味不明な文字列が出力されてしまい、誰にも読めなくなってしまいます。そこで、デコードできないイベントが発生した場合は、WebからアクセスしてSELの内容を確認するほうが良いでしょう。

BMCトラブルシューティング

今まではBMCを使った本体のトラブルシュートの方法をご紹介してきましたが、ここではBMC自体が健全かどうかの確認方法をご紹介します。

BMCは本体から半ば独立しているマイコンです。このため本体が正常に動作しなくなってしまった場合でもBMC側は健全に動作し、不具合のログを記録し続けることができます。逆に言えば、本体が正常に動作していてもBMCの動作に懸念が生じる場合があり得るという事です。

とはいえ、BMCはBMCのマイコンチップ・VRAMも兼ねたDRAMチップ、もしdedicatedのRJ45がある場合はそのためのPhyチップと、この2~3点だけで動作する仕組みの、ごく極小規模な組み込みマイコンです。可動部品も無く、部品点数も極めて少ないため、故障することはまずありません。ただし、BMCはブラウザー経由でアクセスする関係上、ユーザー側のブラウザーに起因する問題や、設定の問題などの関係で、故障が疑われやすい部分でもあります。ここではBMCが健全であるかどうかの確認をするための一般的な手順をご紹介します。

1.BMCにブラウザーでアクセスできない場合

BMCは画面出力がありません。いわゆるブロードバンドルーターの設定と同じで、BMCに割り当てられたIPにブラウザーでアクセスすることで、ブラウザー経由の確認や設定ができるという仕組みになっています。ですから、ブラウザーでアクセスできないケースは多くあります。そもそもアクセスできない場合には根本的な部分での確認が必要になります。

1.1.正しいポートにLANケーブルが接続されているか確認する

BMC/IPMIは、本体とは独立したLANポート経由で接続される場合が多いです。理由は、BMCがそもそも監視系のマイコンである以上、本体側のLANポートを利用すると、本体側のLANポートの帯域を圧迫したりします。(KVMという画面転送機能は、1Gb/sの1/10にあたる100Mb/sを使ってしまいます)。また、本体側のLANポート・コントローラーの故障でBMCも疎通不可になるなど、本体側の障害に動作が左右されてしまうため、信頼性の観点からも独立させたほうが都合がいいです。

しかし、一方で監視のために別系統のLANケーブル・HUBを追加するほどでもない、というケースも往々にして存在します。この場合はBMCと通常のLANの通信が混在しているほうが都合が良いことになります。

こうしたBMCへ接続するためのLANポートの設定はBIOSで実施するため、BIOSの現在の設定値の確認は必須となります。

1.1.1.インテル®の場合

SandyBridge-EP以降の世代のサーバーはDedicated Portが必ず存在します。RMM4Liteという名称で、KVMを有効にするドングルを販売していますが、これはRMM4世代とは異なり、KVMの有効化だけのもので、Dedicated Portの機能はドングルなしでも利用できます。

この場合、Shared、つまり本体側NICと共用なのか、Dedicated(専用ポートを使う設定)なのかはBIOSの設定依存になります。BIOSのBMCの設定は以下になります。

 

 

Baseboard LAN Configuration、つまり、Sharedの設定は無効化できないので、StaticにしてIPを0にします。これが無効化されているという意味になります。

もし、Baseboardが0.0.0.0になっており、DedicatedにIPが付与されていれば、それはDedicatedになります。BaseboardにIPが振られており、Dedicatedが0.0.0.0ならSharedの設定という事になります。

1.1.2.Supermicroの場合

安価なモデルを除き、BMC/IPMIが設定されているマザーボード搭載の製品は、Dedicatedポートが用意されています。こうした製品はデフォルトでFailover動作をするように設定されており、DedicatedポートにLANケーブルが接続されている場合にはDedicated設定となり、DedicatedポートにLANケーブルが接続されていないか、正しくLINKしていない場合にはShared設定となります。

具体的な画面は以下になります。

 

 

BIOSの設定に対応する正しいポートにLANケーブルが接続されているかご確認ください。

1.2.IPが間違っていないか確認する

正しくIPは割り当てられているでしょうか?DHCPの場合には思わぬIPになっている場合があります(169.254.100.100など)。逆に、DHCPサーバーが動作していない結果、IPが正しく付与されていない可能性もあります。

1.2.1.インテル®の場合

BIOSに入ってIPを確認します。

 

 

1.2.2.Supermicroの場合

BIOSの起動時、画面上にIPが表示されるので、このIPに対してブラウザーでアクセスします。

 

 

アクセスできない場合には、アクセス元の端末のIPが同一セグメントになっているか、サーバーのBIOS設定画面から、1.1.2で挙げた設定を確認してIPが正しいか、ポートが正しいかの確認をします。LANケーブルで直結して確認してみるのも良い方法です。

1.3.BMCを再起動してみる

サーバーの電源を引き抜き、コールドスタートさせてみるということです。

BMCは上記のように、SELというログを記録し続けるためのサーバーの監視機構なので、サーバーのリセットや電源のOFF/ONでは再起動しません。
BMCの設定画面にはBMCの再起動をするための設定も存在しますが、アクセスできない場合にはこれもできません。
この場合には、サーバーの電源を物理的に引き抜くことでBMC側の電源も落とし、結果としてBMCの再起動をさせることで、正常に起動してくることを期待します。これは稀にBMCを極めて長時間稼働させた際にBMCが応答しなくなるという事例が存在しているので、その場合の対応となります。
もしIPの疎通があれば、BMCのWeb UIからBMCを再起動するか、LinuxであればIPMI ToolからMC COLDして再起動させたほうが良いでしょう。

2.ログイン画面でログインできない場合

ブラウザーでアクセスすると、ログイン画面が出てきます。IDとパスワードを入れてログインすることになりますが、ユーザー名とパスワードは各社、様々ですのでご注意ください。

2.1.デフォルトユーザー

SupermicroとQuantaはデフォルトユーザーが用意されています。

Quanta : admin / admin (小文字, S210系 & D51世代)
Quanta : admin / cmb9.admin (小文字, D521世代)
Supermicro: ADMIN / ADMIN (大文字)

インテル®はデフォルトユーザーが設定されていないので、デフォルトでは誰もログインできません。BIOSからユーザーを設定する必要があります。

2.2.BIOSからユーザーが無効になっていないか確認する

BMCはリモートから様々な作業を行う権限を持つため、セキュリティ上、デフォルトユーザーのパスワードは変更すべきです。ですから、変更、あるいは無効化されていないかをBIOSから確認する必要があります。

3.KVMが動作しない場合

KVMはサーバーの画面をBMC経由で転送する機能です。KVMの名前通り、キーボードやマウスも転送してくれるので、BMCがあれば、まるで目の前にサーバーがあるかのようにリモートから作業することができます。

この画面転送アプリケーションはBMCから起動するJavaのアプリケーションなのですが、PCのJavaのセキュリティの関係で、アプリケーションがダウンロードできなかったり、できてもセキュリティの設定で起動できなかったりします。

Java関係はトラブルが非常に多いので、Supermicroでは今後の製品に対してJavaに依存しない仕組みにすべく、html5でブラウザーに描画される方式を採用した機種も存在します。

3.1.httpでアクセスしてみる

BMCはhttpsとhttpの両方のアクセスに対応します。もちろん、httpよりもhttpsの方がセキュアなのですが、httpsは正しい証明書でなければ意味がありません。BMCのSSL証明書は自己証明書なのでhttpsで暗号化する意味があまりありません。(平文でパスワードが流れないだけでも良いという話はあるかもしれませんが)
httpsの場合、最近のブラウザは十分なセキュリティを確保するため、自己証明書の場合は厳しく判断し、セキュリティ例外として登録しないと許さないなど、動作がより厳しくなってしまいます。
これが原因でダウンロードに失敗する場合もあるため、httpでアクセスしてみることをお勧めします。

3.1.1.httpでアクセスできない

Supermicroの場合、例外的にhttpでアクセスした場合に、自動的にhttpsにリダイレクトしてhttpsアクセスに戻してしまうという機能があります。通常は問題ありませんが、クライアントの環境の問題からKVMがダウンロードできず、httpアクセスを試したい場合、この動作は不都合です。
このリダイレクト動作は以下の方法で無効化できるのでお試しください。

 

 

この後、BMCのターゲットのIPに対してブラウザーでhttpアクセスすれば、SSL証明書やSSL特有のブラウザーの問題に引っ張られることなくKVMの確認ができます。

3.2.Javaのセキュリティ証明書

Javaのプログラムのダウンロード後、実際に起動することになりますが、このJavaのプログラムは、規定の動作では証明書で署名していなければ危険と見なされ、起動できません。このため、署名なしでも起動できるよう、Javaのセキュリティ例外を追加する必要があります。
手順は以下の様に行います。

 

ここで登録するIPはBMCのIPになります。また、同一IPでもhttpとhttpsの2種類の登録が必要である点に注意してください。

セキュリティ例外を追加したら、今度は起動できるようになるはずです。

4.Linkもしない場合

BMCは監視用マイコンなので、関係する部品点数も少なく故障することはほとんどありませんが、異なるfirmwareを書き込むなど、ユーザー側の操作ミスでリカバリができなくなることはあり得ます。こうしたBMC自体の動作不良の場合、BMCの専用ポートは機能せず、LAN自体がLinkしてこない事があります。その場合はBMCのHeart Beat LED(supermicro) / System Status LED (Intel)を確認してください。

マザーボード上には1Hz程度で点滅するLEDがBMCチップの近くの設置されていることが大半で、このLEDがBMCの死活を判断する材料となります。
色は大抵緑ですが、

  • 緑のみ
  • 緑とオレンジ
  • 上記のLEDが1個や2個

といったバリエーションがあるので、製品毎のマニュアルを確認してください。

このLEDが異常、もしくは常に消灯の場合にはBMCチップ自体の故障も懸念されます。この場合は通常RMAが必要です。

TIPS

IPMI Toolで電源の状態を確認したい

# ipmitool -H  -U ADMIN -P ADMIN chassis power status
Chassis Power is on
 

IPMI Toolのchassis powerコマンドで何ができるのか?

# ipmitool -H 192.168.1.135 -U ADMIN -P ADMIN chassis power
chassis power Commands: status, on, off, cycle, reset, diag, soft

diagとは?

NMIを発行します。通常は使いません。

IPMI Toolで消費電力を確認したい

機種やベンダーにより方法が異なります。

# ipmitool -H  -U ADMIN -P ADMIN dcmi power reading

    Instantaneous power reading:                   373 Watts
    Minimum during sampling period:                113 Watts
    Maximum during sampling period:                432 Watts
    Average power reading over sample period:      390 Watts
    IPMI timestamp:                           Mon Oct  2 04:28:22 2017
    Sampling period:                          01480899 Seconds.
    Power reading state is:                   activated


#

もしくは、

# ipmitool -H  -U admin -P admin sdr | grep Watts
PS1 Power In     | 820 Watts         | ok
PS2 Power In     | 810 Watts         | ok
#

Web UIを使わずにBMC設定をデフォルトに戻したい

機種やベンダーにより方法が異なります。

インテル®の場合

BMCのUpdateツールであるfwpiaupdを使います。
EFI版の場合は以下です。

FS0:\> fwpiaupd.efi -setdef

fwpiaupd.efiのhelpは-hで確認できます。コントローラーがASTになる前のRMM4の時代でも同じ方法が使えるはずです。

BIOSと違い、BMCの設定は簡単には省略することができません。このため、うっかりWeb UI上でWeb UIへのアクセスを無効にする(例えばHTTP/HTTPSを無効にする)と宝箱の中に鍵を入れた状態になります。OOB上の操作のみでは回復できないので注意しましょう。

なお、デフォルトに戻すとユーザー情報も空になるので注意しましょう。SupermiroやQuantaのように、デフォルトユーザーが設定されていれば良いのですが、インテル®の場合はデフォルトユーザーが存在しないので、ユーザーを作成しないとアクセスできなくなります。

Supermicroの場合

ベンダーツールであるIPMI CFGを使います。IPMI CFGのダウンロード先URLは以下です。
https://www.supermicro.com/SwDownload/SwSelect_Free.aspx

 

 

ツールの全般的な使用方法のご紹介は趣旨から外れるのでダウンロードしたZIPファイルにPDFマニュアルがあるので見ていただくとして、ここでは初期化コマンドのみご紹介します。

IPMI CFGは各種OS用のバイナリが入っているので、unzipコマンドで展開後、Linux用のフォルダーから以下のように実行します。

# ./IPMICFG-Linux.x86_64 -fd
Reset to the factory default completed.
#

これで即座に設定がデフォルトに戻り、BMC自体のresetが発効されます。(OSではなくBMCのreset)
このときBMCのKVMなど、リモートで接続している場合にはresetと同時に接続が切れるので十分注意してください。

この操作はローカルのOS上から行う必要がある(IPMI CFGがリモート先の設定を行う機能が無い)ので、一般には変更したいマシンのOSにリモートで接続し、デフォルト後にそのままBMCのIPも再設定するなどしてBMCへの接続性をリモートから復旧させるのが良いでしょう。

# ./IPMICFG-Linux.x86_64 -m 192.168.xxx.yyy
IP=192.168.xxx.yyy
# ./IPMICFG-Linux.x86_64 -m
IP=192.168.xxx.yyy
MAC=xx:yy:zz:aa:bb:cc
#

Console Redirectの機能を使わずに画面操作をリモートから行いたい

BIOSの設定やEFI Shell上の操作など、テキストベースで済む操作であればSOLが使えます。

# ipmitool -I lanplus -H 192.168.1.42 -U admin -P admin sol activate

ただし事前にSOLを有効にしておく必要があるので注意しましょう。

 

 

設定後、システム側(BMC側ではなく)をリセットすると、以降有効になります。

SOLから抜ける

~.

を押下すると抜けることができます。(ちなみにhelpは「~?」)
ただし、BIOS設定画面のような、キー入力を全て吸収してしまう場合には抜けられません。一旦EFI Shellを起動するなどして抜けましょう。

Web UIに接続したいのに、BMCのIPにアクセスしてもTLSハンドシェイクに時間がかかって接続できない

httpsで接続しているのが原因です。要因は様々ですが、https通信は暗号化される関係で暗号化通信前の証明書のチェックなどに時間を要することがあります。通常ならそれでもそれほど時間はかからないのですが、BMCの場合、証明書としては不正(自己証明書)なので、自前で正しい証明書を入れない限り、証明書のチェックは100%失敗するからだと思われますが、異様に時間がかかってタイムアウトすることが多いです。

 

 

この場合、ローカルの通信で、暗号化するまでの必要が無い場合にはhttpでの通信が手っ取り早いです。ところが、http通信は推奨されていない関係で、出荷時にhttpからhttpsへ自動リダイレクトするように設定されていて、httpでの通信自体が行えません。この場合はredirectをしない設定に変更する必要があります。

 

 

また、こうした設定をしなくとも、実装が異なるせいか、IEであれば問題なく接続できるようです。(証明書エラーは出ますが)

参考資料

SupermicroのASPEED(AST2400, AST2500)向けマニュアル:
https://www.supermicro.com/manuals/other/SMT_IPMI_Manual.pdf

Intel Remote Management Module 4 and Integrated BMC Web Console User Guide: http://download.intel.com/support/motherboards/server/sb/intel_rmm4_ibwc_userguide_r2_72.pdf

法人専用 お問い合せフォーム

関連資料

関連資料はありません

関連リンク

関連リンクはありません

このページのTOPへこのページのTOPへ

(C) Tekwind Co., Ltd. ALL RIGHTS RESERVED.