説明

コンピュータ、コンピュータシステム、および障害情報管理方法

【課題】システム管理コントローラが障害の情報を管理することができない場合であっても、障害の情報を管理すること。
【解決手段】実施形態によれば、ネットワークを介して管理用コンピュータに接続されたコンピュータであって、記憶部と、前記コンピュータにハードウェア障害が発生した場合に前記ハードウェア障害の内容を示す障害情報を生成する生成手段と、前記障害情報が生成された場合に第1の指示信号を発行する発行手段と、前記発行手段からの前記第1の指示信号の受信に応じて前記障害情報を前記記憶部に格納するシステム管理コントローラと、前記障害情報の前記記憶部への格納に失敗した場合に前記障害情報を前記管理用コンピュータに送信する送信手段とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、コンピュータに生じたハードウェア障害を確実に記録するためのコンピュータ、コンピュータシステム、および障害情報管理方法に関する。
【背景技術】
【0002】
コンピュータに発生した障害を管理するためのシステム管理コントローラをマザーボード上に設けることが行われている。障害が発生した場合に、システム管理コントローラは、障害の内容を示す障害情報を不揮発性メモリに格納する。後に、管理者が障害情報を解析することによって、障害の原因を容易に特定することが可能になる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−48534号公報
【特許文献2】特開平10−247911号公報
【特許文献3】特開2009−252006号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
管理コントローラが故障したり、不揮発性メモリが故障したりすると、障害情報を不揮発性メモリに記録することができず、障害情報を管理することができない。そこで、障害情報を管理することができない場合であっても、後に発生した障害を解析するために障害を障害の情報を管理することが望まれている。
【0005】
本発明の目的は、システム管理コントローラが障害の情報を管理することができない場合であっても、障害の情報を管理することが可能なコンピュータ、コンピュータシステム、および障害情報管理方法を提供することにある。
【課題を解決するための手段】
【0006】
実施形態によれば、コンピュータは、ネットワークに接続される第1のコンピュータと管理用コンピュータとを含むコンピュータシステムであって、前記第1のコンピュータは、第1の記憶部と、前記第1のコンピュータにハードウェア障害が発生した場合に第1の割り込み通知を発行する第1の発行手段と、前記第1の割り込み通知の発行に応じて前記ハードウェア障害の内容を収集し、前記収集された内容に基づいた第1の障害情報を生成する生成手段と、前記第1の障害情報が生成された場合に第2の割り込み命令を発行する第2の発行手段と、前記第2の割り込み命令が発行された場合に、前記第1の障害情報を取得し、前記第1の障害情報を前記第1の記憶部に記録するシステム管理コントローラと、前記システム管理用コントローラが前記第1の障害情報を前記第1の記憶部に記録できなかった場合に前記第1の障害情報を前記管理用コンピュータに通知する通知手段とを具備し、前記管理用コンピュータは、第2の記憶部と、前記第1の障害情報が通知された場合に、前記第1の障害情報を前記第2の記憶部に書き込むシステム管理手段を具備する。
【図面の簡単な説明】
【0007】
【図1】実施形態のコンピュータシステムの構成の一例を示すブロック図。
【図2】実施形態のサーバコンピュータの構成の一例を示すブロック図。
【図3】図2に示すSMIハンドラの構成の一例を示すブロック図。
【図4】実施形態のサーバコンピュータの構成の一例を示すブロック図。
【図5】実施形態の管理用サーバコンピュータの構成の一例を示すブロック図。
【図6】SMIハンドラによって実行される処理の手順を示すフローチャート。
【図7】BMC代理プログラムによって実行される処理の手順を示すフローチャート。
【発明を実施するための形態】
【0008】
以下、実施の形態について図面を参照して説明する。
【0009】
図1は、一実施形態のコンピュータシステムの構成を示すブロック図である。
図1に示すように、コンピュータシステムは、LAN(Local Area Network)に接続された管理用サーバコンピュータ10、第1のサーバコンピュータ20A、および第2のサーバコンピュータ20B等から構成されている。
【0010】
サーバコンピュータ20(第1のサーバコンピュータ20A、第2のサーバコンピュータ20B)の構成を図2を参照して説明する。
サーバコンピュータ20は、第1のNIC(Network Interface Card)21、第2のNIC22、ネットワークコントローラ23、システム管理コントローラとしてのBMC(Baseboard Management Controller)24、不揮発性メモリ(NVRAM:Non-volatile memory)25、およびフラッシュROM26等を備えている。
【0011】
ネットワークコントローラ23は、OSI参照モデルのデータリンク層に相当する機能を有する。第1のNIC21および第2のNIC22は、例えばOSI参照モデルの物理層チップである。第2のNIC22は、後述するBMC24に設けられている。なお、第1のNIC21は、サーバコンピュータ20によって実行されるアプリケーションプログラム等が使用する。
【0012】
BMC24は、サーバコンピュータ20内に設けられたセンサを用いてハードウェアを常時監視する。そして、ハードウェア障害が発生した場合に、発生した障害の内容をNVRAM25内のSEL(System Event Log)251に書き込む。また、BMC24は、発生した障害の内容を予め設定された管理者端末30に通知する。BMC24は、例えば管理者のメールアドレス宛にメールを送ることで、発生した障害の内容を管理者に通知する。また、BMC24は、発生した障害の内容を含むメッセージをSNMP(Simple Network Management Protocol)で送ることで、発生した障害の内容を予め設定された管理者端末30に通知する。
【0013】
BMC24はコンピュータ(サーバ)のマザーボード上に配置され、IPMI(Intelligent Platform Management Interface)アーキテクチャに基づく特殊なマイクロコントローラである。BMC24は、CPU(OS)が動作していなくても、電源さえあれば動作する。図示しないコンピュータに内蔵された異なるタイプのセンサは、温度、冷却ファン回転速度、電源状態、OS状態等に関するパラメータをBMC24に報告する。BMC24はセンサを監視し、いずれかのパラメータが許容範囲外となると、システムの動作不良の可能性を、ネットワークを介して管理者端末30に通知する。
【0014】
NVMRAM25には、SEL(System Event Log)251、SDR(Sensor Data Records)252、およびPEF(Platform Event Filtering)253が書き込まれている。NVRAM25は、シリアルバス接続タイプのEEPROM(Electrically Erasable and Programmable Read Only Memory)またはフラッシュメモリである。SEL251には、例えばBMC24により情報処理装置の異常を検出した場合、又はセンサで閾値を超えるエラーを検出した場合、障害の内容が記録される。SDR252には、BMC24が管理しているセンサの種類(温度や電圧等)や、異常を識別する為の閾値などが製造時に記録されている。PEF253には、障害が発生した場合に、管理者端末30に通知を行う障害の種類の設定が記録されている。
【0015】
フラッシュROM26内には、BIOS(基本入出力システム:Basic Input Output System)261が格納されている。BIOS261は、CPUによって実行されるハードウェア制御のためのシステムプログラムである。BIOS261は、SMI(System Management Interrupt)イベントの発行時に、CPUによって実行されるSMIハンドラ262を有する。
【0016】
なお、SMIハンドラ262は、図3に示すように、障害情報生成モジュール2621、障害情報格納指示モジュール2622、および障害情報送信モジュール2623等のプログラムを有する。
【0017】
障害情報生成モジュール2621は、サーバコンピュータにハードウェア障害が発生した場合に、ハードウェア障害の内容に基づいて障害情報を生成する。障害情報が生成された場合に、指示発行モジュール2622は、BMC24に対して障害情報のNVRAM25への格納を指示するための指示信号を送信する。障害情報送信モジュール2623は、障害情報のNVRAM25への格納に失敗した場合に、障害情報を管理用サーバコンピュータ10によって管理させるために、障害情報を管理用サーバコンピュータ10に送信する。
【0018】
サーバコンピュータ20のより詳細なシステム構成を、図4を参照して説明する。
本コンピュータ20は、図3に示されているように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、グラフィクスプロセッシングユニット(GPU)105、ビデオメモリ(VRAM)105A、サウンドコントローラ106、フラッシュROM26、ネットワークコントローラ23、BMC24、NVRAM25、ハードディスクドライブ(HDD)111、およびPCIデバイス115等を備えている。
【0019】
CPU101は本コンピュータ10の動作を制御するプロセッサである。CPU101は、ハードディスクドライブ(HDD)111から主メモリ103にロードされる、オペレーティングシステムや各種アプリケーションプログラムを実行する。また、CPU101は、フラッシュROM109に格納されたBIOS(Basic Input Output System)261も実行する。BIOS261はハードウェア制御のためのプログラムである。
【0020】
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介して、GPU105との通信を実行する機能も有している。
【0021】
GPU105は、本コンピュータ10のディスプレイモニタを制御する表示コントローラである。GPU105は、VRAM105Aをワークメモリとして使用する。このGPU105によって生成される映像信号は、ディスプレイモニタに送られる。
【0022】
サウスブリッジ104は、LPC(Low Pin Count)バス上の各デバイス、およびPCI(Peripheral Component Interconnect)バス上の各デバイス115A、115Bを制御する。また、サウスブリッジ104は、ハードディスクドライブ(HDD)111およびDVDドライブ112を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
【0023】
更に、第1の発行手段としてのサウスブリッジ104は、PCIバス14上のPERR(パリティエラー)信号やSERR(システムエラー)信号の検出に伴い、SMI(System Management Interrupts)イベントをCPUに発行する回路を内蔵する。
【0024】
サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18Bに出力する。
【0025】
センサ241は、サウスブリッジ104から発行されたシステムエラー信号(SERR信号)/パリティエラー信号(PERR信号)の発行やCPUの温度等を監視する。センサ241は、BMC24により、所定間隔毎にポーリングされる。
【0026】
次に、管理用サーバコンピュータ10のCPUによって実行されるソフトウェアプログラムの構成について図5を参照して説明する。管理用サーバコンピュータ10内では、BMC代理プログラム501が実行される。BMC代理プログラム501では、BMCマネージャ502、第1の仮想BMC503A、および第2の仮想BMC503Bが実行される。また、管理用サーバコンピュータ10は、記憶装置510を有する。
【0027】
第1の仮想BMC503Aは、第1のサーバコンピュータ20A内のBMCの機能を実行する。第2の仮想BMC503Bは、第2のサーバコンピュータ20B内のBMCの機能を実行する。管理マネージャは501、障害情報を送信したサーバに対応する仮想BMCに送信する。
【0028】
正常運用時、BMCマネージャ502は、各サーバコンピュータの第2のNIC22を経由して、BMC24からSDR252、PEF253、BMC専用LANポートの構成情報(トラップの送信先など)をポーリングして取得する。
【0029】
BMCマネージャ502は、取得したSDRおよびPEFを、取得したサーバコンピュータに対応する仮想BMCに関連づけられた記憶装置510内のフォルダ(511Aまたは511B)内に記録する。また、BMCマネージャ502は、BMC専用LANポートの構成情報を対応する仮想BMCに設定する。
BMCマネージャ502は、SMIハンドラ262に、BMC故障時のSMIイベントの送信先として、管理用サーバコンピュータ10を登録しておく。
【0030】
サーバコンピュータにハードウェア障害が発生し、正常にNVRAMに障害情報が書き込まれる場合の動作を説明する。
【0031】
センサ241は、PCIバス114上のPCIデバイスが発行したSERR信号/PERR信号を検出する。センサ241は、SERR信号/PERR信号を検出した場合、サウスブリッジ104に対して、SMI信号をCPU101に出力するように指示する。サウスブリッジ104は、センサ241からの指示に従い、CPU101に対して、SMI信号を出力する。SMI信号に応じて、SMIハンドラ262が起動する。
【0032】
SMI信号に応答して、起動されたSMIハンドラ262内の障害情報生成モジュール2621は、PCIバス114上のどのデバイスが、SERR信号/PERR信号を出力したかを示す情報を検出する。
【0033】
障害情報生成モジュール2621は、検出された情報に基づいて、エラーの種類(SERR信号/PERR信号)、エラーを発行・検出したデバイスのバス番号、ファンクション番号、デバイス番号を含む第1の障害情報を生成する。
【0034】
第1の障害情報が生成されると、障害情報格納指示モジュール2622は、BMC24に第1の障害情報のNVRAM25への格納を指示するための指示信号を送信する。
【0035】
BMC24は、指示信号の受信に応じて、第1の障害情報をSMIハンドラ262から取得する。そして、第1の障害情報に、エラーイベントとして、イベントの通し番号、センサの種類と時刻等の付加情報を付加した第2の障害情報をSEL251に記録する。
【0036】
BMC24は、PEF253に発生した障害が設定されている場合に、第2のNIC22から予め設定されている管理者端末30にトラップを送信する。
【0037】
以上が、BMCおよびNVRAMが故障していない状態で、サーバコンピュータのハードウエアに障害が生じた場合の動作である。
【0038】
BMCまたはNVRAMが故障している状態で、SMIイベントが発行された場合のSMIハンドラの動作を、図6のフローチャートを参照して説明する。
【0039】
センサ241は、PCIバス114上のPCIデバイスが発行したSERR信号/PERR信号を検出する。センサ241は、SERR信号/PERR信号を検出した場合、サウスブリッジ104に対して、SMI信号をCPU101に出力するように指示する。サウスブリッジ104は、センサ241からの指示に従い、CPU101に対して、SMI信号を出力する。SMI信号に応じて(ステップB601)、SMIハンドラ262が起動する。
【0040】
SMI信号に応答して、起動されたSMIハンドラ262内の障害情報生成モジュール2621は、PCIバス114上のどのデバイスが、SERR信号/PERR信号を出力したかを検出する(ステップB602)。
【0041】
障害情報生成モジュール2621は、収集された情報に基づいて、エラーの種類(SERR信号/PERR信号)、エラーを発行・検出したデバイスのバス番号、ファンクション番号、デバイス番号を含む第1の障害情報を生成する(ステップB603)。
【0042】
第1の障害情報が生成されると、障害情報格納指示モジュール2622は、BMC24に第1の障害情報を記録を指示するためのSMIイベントを発行する(ステップB604)。
【0043】
NVRAM25が故障している場合、BMCがSMIハンドラにSEL251に第1の障害情報が記録できなかったことを示すエラー通知を発行する。また、BMCが故障している場合、SMIハンドラが第1の障害情報を記録するように指示してから一定時間経過するまでにBMCからの応答が無い場合に、SMIハンドラは、SELに障害情報が書き込まれなかったと判断する(ステップB605)。
【0044】
SEL251に障害情報が書き込まれなかった場合、SMIハンドラ262の障害情報送信モジュール2623は、通常のLANポート(NIC1)を経由して、管理用サーバコンピュータ10のアプリケーションプログラムに、第1の障害情報を含むメッセージを送信する(ステップB606)。メッセージ内には、当該メッセージを送ったサーバを示す送信元情報が格納されている。
【0045】
次に、メッセージを受け取ったBMC代理プログラム501の動作を、図7のフローチャートを参照して説明する。
【0046】
BMCマネージャ502が、第1のサーバコンピュータ20Aから送信された第1の障害情報を含むメッセージを受け取る(ステップB701)。
【0047】
BMCマネージャは、メッセージから第1の障害情報と送信元情報とをそれぞれ抽出し、メッセージに含まれる送信元情報に基づいて、第1の障害情報を第1の仮想BMCに送る(ステップB702)。
【0048】
第1の仮想BMCは、第1の障害情報を含む第3の障害情報を、第1のサーバコンピュータに対応する第1の仮想BMC503Aに関連づけられているフォルダ511A内のSEL251Aに書き込む(ステップB703)。
【0049】
第1の仮想BMC503Aは、第1のサーバコンピュータ20Aに発生した障害が、PEFに設定されているかを判定する(ステップB704)。障害が、設定されていると判定した場合(ステップB704のYes)、第1の障害情報に含まれている情報の内、少なくとも一部を含む第4の障害情報にトラップを送信する(ステップB705)。障害が、設定されていないと判定した場合(ステップB704のNo)は、処理を終了する。また、トラップを送信した場合(ステップB705)も、処理を終了する。
【0050】
本実施形態によれば、BMCまたはNVRAMが故障し、サーバコンピュータに発生した障害の内容をNVRAMに記録することができ無い状態であっても、管理用サーバコンピュータ10内の記憶装置に障害の内容を書き込むことが出来る。このため、障害発生時の解析に有効となる。また、トラップを管理者端末30に送信することが可能になる。
【0051】
なお、上記実施形態では、センサがサウスブリッジにSMIイベントの発行を指示していたが、センサによって検出された値が閾値を超えた場合に、BMCがサウスブリッジにSMIイベントの発行を指示するように構成しても良い。この場合、障害情報生成モジュール2621は、BMC24からハードウェア障害の内容を取得する。
【0052】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0053】
10…管理用サーバコンピュータ、20A…第1のサーバコンピュータ、20B…第2のサーバコンピュータ、21…第1のNIC、22…第2のNIC、23…ネットワークコントローラ、24…BMC(システム管理コントローラ)、25…不揮発性メモリ(第1の記憶部)、101…CPU、104…サウスブリッジ、115A.115B…PCIデバイス、116…キーボードコントローラIC、262…SMIハンドラ、501…BMC代理プログラム、502…BMCマネージャ、503A…第1の仮想BMC、503B…第2の仮想BMC、510…記憶装置(第2の記憶部)。

【特許請求の範囲】
【請求項1】
ネットワークを介して管理用コンピュータに接続されたコンピュータであって、
記憶部と、
前記コンピュータにハードウェア障害が発生した場合に前記ハードウェア障害の内容を示す障害情報を生成する生成手段と、
前記障害情報が生成された場合に第1の指示信号を発行する発行手段と、
前記発行手段からの前記第1の指示信号の受信に応じて前記障害情報を前記記憶部に格納するシステム管理コントローラと、
前記障害情報の前記記憶部への格納に失敗した場合に前記障害情報を前記管理用コンピュータに送信する送信手段と
を具備するコンピュータ。
【請求項2】
前記システム管理コントローラは、
前記障害情報が通知設定によって指定された障害を示す情報を含む場合に、送信先情報に基づいて前記障害情報の少なくとも一部を管理者端末に送信する請求項1に記載のコンピュータ。
【請求項3】
前記生成手段は、前記割り込み命令の発行に応じて、前記ハードウェア障害の種類、前記ハードウェア障害の発生源を含む前記ハードウェア障害の内容を検出する請求項1に記載のコンピュータ。
【請求項4】
ネットワークに接続される第1のコンピュータと前記ネットワークに接続される管理用コンピュータとを含むコンピュータシステムであって、
前記第1のコンピュータは、
第1の記憶部と、
前記第1のコンピュータにハードウェア障害が発生した場合に前記ハードウェア障害の内容を示す障害情報を生成する生成手段と、
前記障害情報が生成された場合に第1の指示信号を発行する発行手段と、
前記発行手段からの前記第1の指示信号の受信に応じて前記障害情報を前記第1の記憶部に格納するシステム管理コントローラと、
前記障害情報の前記第1の記憶部への格納に失敗した場合に前記障害情報を前記管理用コンピュータに送信する送信手段と
を具備し、
前記管理用コンピュータは、
第2の記憶部と、
前記障害情報を前記第2の記憶部に格納するシステム管理手段を具備する
コンピュータシステム。
【請求項5】
前記システム管理コントローラは、
前記障害情報が通知設定によって指定された障害を示す情報を含む場合に、送信先情報に基づいて前記障害情報の少なくとも一部を管理者端末に送信する請求項4に記載のコンピュータシステム。
【請求項6】
前記管理用コンピュータは、前記通知設定と前記通知先情報とを取得する取得手段を更に具備し、
前記システム管理手段は、前記障害情報が前記取得した通知設定によって指定された障害を示す情報を含む場合に、前記取得した送信先情報に基づいて前記障害情報の少なくとも一部を前記管理者端末に送信する請求項5に記載のコンピュータシステム。
【請求項7】
前記生成手段は、前記割り込み命令の発行に応じて、前記ハードウェア障害の種類、前記ハードウェア障害の発生源を含む前記ハードウェア障害の内容を検出する請求項4記載のコンピュータシステム。
【請求項8】
前記コンピュータシステムは、前記ネットワークに接続される第2のコンピュータを更に具備し、
前記第2のコンピュータは、
第3の記憶部と、
前記第2のコンピュータにハードウェア障害が発生した場合に前記ハードウェア障害の内容を示す第2の障害情報を生成する生成手段と、
前記第2の障害情報が生成された場合に第2の指示信号を発行する第1の発行手段と、
前記第1の発行手段からの前記第2の指示信号の受信に応じて前記第2の障害情報を前記第3の記憶部に格納する第2のシステム管理コントローラと、
前記第2の障害情報の前記第3の記憶部への格納に失敗した場合に前記第2の障害情報を前記管理用コンピュータに送信する送信手段と
を具備し、
前記管理用コンピュータは、前記第2の障害情報を前記第2の記憶部に格納する
請求項4記載のコンピュータシステム。
【請求項9】
ネットワークに接続される第1のコンピュータと前記ネットワークに接続される管理用コンピュータとを含むコンピュータシステムによる障害情報管理方法であって、
前記第1のコンピュータが、前記第1のコンピュータにハードウェア障害が発生した場合に前記ハードウェア障害の内容を示す障害情報を生成し、
前記第1のコンピュータが、前記障害情報が生成された場合に第1の指示信号を発行し、
前記第1のコンピュータに設けられたシステム管理コントローラが、前記第1の指示信号の受信に応じて前記障害情報を前記第1のコンピュータに設けられた第1の記憶部に格納し、
前記障害情報の前記第1の記憶部への格納に失敗した場合に、前記システム管理コントローラが、前記障害情報を前記管理用コンピュータに送信し、
前記管理用コンピュータが、前記障害情報を前記管理用コンピュータに設けられた第2の記憶部に格納する
障害情報管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−109722(P2013−109722A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−256512(P2011−256512)
【出願日】平成23年11月24日(2011.11.24)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】