(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記第1の通信インタフェースの前記ログ情報をシリアルポートから出力させるための前記第2の通信インタフェースに変換し、前記第2のソフトウェアで前記シリアルポートにシリアルコンソール接続して、前記ログ情報をシリアルコンソールログとして取得する請求項1記載の情報処理システム。
前記制御部は、前記第1の通信インタフェースから前記第2の通信インタフェースへの変換として、非同期シリアルバス通信インタフェースをシリアルバス通信インタフェースに変換する請求項1記載の情報処理システム。
複数の演算処理装置を含む演算処理装置群から出力されるログ情報を、前記演算処理装置群を動作させる第1のソフトウェアを通じて取得し、前記第1のソフトウェアによる前記ログ情報の取得が不可の場合は、第1の通信インタフェースで前記ログ情報の通信を行う通信部を含む中継装置の拡張バスを介して、前記通信部に駆動信号を送信して前記通信部を駆動させて前記通信部から送信される前記第1の通信インタフェースの前記ログ情報を受信し、前記第1の通信インタフェースを第2の通信インタフェースに変換して、前記第2の通信インタフェースに対応する第2のソフトウェアで前記ログ情報を取得する制御部、
を有する情報処理装置。
【発明を実施するための形態】
【0011】
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は第1の実施の形態の情報処理システムの一例を説明するための図である。第1の実施の形態の情報処理システム1−1は、情報処理装置1a、中継装置1b、および演算処理装置1c−1、・・・、1c−nを含む演算処理装置群1cを備える。
【0012】
中継装置1bは、拡張バスを介した中継通信を行う。また、中継装置1bは、通信部1b1を含む。通信部1b1は、駆動信号にもとづいて、演算処理装置群1cから出力されるログ情報の通信を第1の通信インタフェースで行う。
【0013】
情報処理装置1aは、制御部1a1を含む。制御部1a1は、演算処理装置群1cを動作させる第1のソフトウェアを通じてログ情報を取得する。また、第1のソフトウェアによるログ情報の取得が不可になりうる場合、制御部1a1は、拡張バスを介して、駆動信号を送信して通信部1b1を駆動させる。
【0014】
そして、制御部1a1は、通信部1b1から送信される第1の通信インタフェースのログ情報を受信し、第1の通信インタフェースを第2の通信インタフェースに変換して、第2の通信インタフェースに対応する第2のソフトウェアでログ情報を取得する。なお、制御部1a1の機能は、情報処理装置1aが備える図示しないプロセッサが、所定のプログラムを実行することによって実現される。
【0015】
制御部1a1の動作フローについて説明する。
〔ステップS1〕制御部1a1は、演算処理装置群1cを動作させる第1のソフトウェアを通じてログ情報を取得できるか否かを判定する。第1のソフトウェアは、例えば、演算処理装置群1cを動作させるOSに相当する。第1のソフトウェアを通じてログ情報を取得できる場合はステップS2に処理が進み、取得が困難な場合はステップS3に処理が進む。
【0016】
〔ステップS2〕制御部1a1は、第1のソフトウェアを通じて演算処理装置群1cのログ情報を取得する。
〔ステップS3〕制御部1a1は、中継装置1bの拡張バスを介して、駆動信号を通信部1b1に送信して通信部1b1を駆動させる。
【0017】
〔ステップS4〕演算処理装置群1cから出力されるログ情報は、第1の通信インタフェースで通信を行う通信部1b1が駆動していると、通信部1b1を経由して情報処理装置1aに送信される。制御部1a1は、通信部1b1から送信される第1の通信インタフェースを有するログ情報を受信する。
【0018】
〔ステップS5〕制御部1a1は、第1の通信インタフェースのログ情報を第2の通信インタフェースのログ情報に変換する。
〔ステップS6〕制御部1a1は、第2の通信インタフェースに対応する第2のソフトウェアでログ情報を取得する。すなわち、第2の通信インタフェースでメッセージ情報を収集、保存可能な第2のソフトウェアでログ情報を取得する。なお、第2のソフトウェアは、第1のソフトウェアとは異なり、情報処理装置1aを動作させるOSである。
【0019】
このように、情報処理システム1−1では、演算処理装置群1cを動作させる第1のソフトウェアによるログ情報の取得が不可になりうる場合、通信部1b1を駆動して通信部1b1から送信される第1の通信インタフェースのログ情報を受信する。そして、第1の通信インタフェースを第2の通信インタフェースに変換し、第2の通信インタフェースに対応する第2のソフトウェアでログ情報を取得する。
【0020】
このような情報処理システム1−1の構成により、第1のソフトウェアにもとづく取得支援ソフトウェアが起動していない状態でも、演算処理装置群1cからログ情報を取得することが可能になる。
【0021】
[第2の実施の形態]
次に第2の実施の形態について説明する。第2の実施の形態は、拡張バスの一例であるPCIeを用いた情報処理システムに本発明を適用したものである。また、本発明の情報処理システムは、一部装置のOSとして、Linux(第1のソフトウェア)を有するものとする。最初に、一般的なLinuxの起動の流れについて説明する。
【0022】
図2はLinuxの起動の流れの一例を示す図である。所定装置の電源がオンになってからLinuxが起動するまでの流れを示している。
〔ステップS11〕所定装置の電源がオンする。
〔ステップS12〕所定装置の構成デバイスの初期化処理等を行うプログラムデータであるBIOS(Basic Input Output System)が起動して、MBR(Master Boot Record)からブートローダが起動する。
【0023】
〔ステップS13〕ブートローダは、ハードディスク上からLinuxカーネルをメモリに読み込む。
〔ステップS14〕Linuxカーネルが起動し、Linuxカーネルは、メモリの初期化やシステムクロック等の設定を行う。
【0024】
〔ステップS15〕init(Linuxのシステムプログラム)は、システムの初期化スクリプトを実行し、ランレベル(動作モード)に応じたデーモン(プロセス)を起動する。
〔ステップS16〕ブートが完了すると、Linuxへのログインプロンプトが画面に表示され、起動処理が完了する。
【0025】
ここで、上記のステップS15のinit.d(initデーモン)により、syslogデーモンが起動される。また、syslogデーモンが起動されるまでは、syslogがロギングされることはない。
したがって、ステップS15の手前で起動処理が何らかの原因で止まってしまうと(例えば、syslogデーモンが起動する前にカーネルクラッシュ等の障害が生じる場合等)、syslogデーモンが起動する前のログ情報を取得することが困難になる。
【0026】
本発明はこのような点に鑑みて、Linuxのログ情報取得支援ソフトウェアであるsyslogデーモンが起動していない状態であっても、ログ情報を効率よく取得可能にするものである。
例えば、本発明では、
図2のステップS12からステップS14の処理区間におけるログ情報を、シリアルコンソールへの出力メッセージとして、Windows(登録商標)等の汎用OSで取得できるように制御する。
【0027】
なお、シリアルコンソールとは、シリアルポート(RS-232C等)を通じて接続される機能や機器がコンソールとして利用されるものである。また、以降の説明では、シリアルコンソールに表示されるログ情報をシリアルコンソールログと呼ぶ場合がある。
【0028】
<機能ブロック>
図3は第2の実施の形態の情報処理システムの機能ブロックの一例を示す図である。第2の実施の形態の情報処理システム1−2は、メインボード10、ブリッジボード20およびコプロボード(拡張ボード)30−1、・・・、30−6を備える。
【0029】
コプロボード30−1、・・・、30−6は6台としているが、任意の台数がブリッジボード20に接続可能である。また、メインボード10とブリッジボード20は、PCIeコネクタ4を介して互いに接続されている。
【0030】
メインボード10は、ホストPCに該当する情報処理装置10aを備え、情報処理装置10aは、制御部11と記憶部12を含む。なお、情報処理装置10aは、
図1の情報処理装置1aに対応し、制御部11は、
図1の制御部1a1に対応する。
【0031】
ブリッジボード20は、ブリッジコントローラ21(中継制御部)、UART(Universal Asynchronous Receiver Transmitter)通信IC(Integrated Circuit)22、電源制御部23およびPSU(Power Supply Unit:電源部)24を含む。電源制御部23は、状態表示部23aを含む。なお、ブリッジボード20は、
図1の中継装置1bに対応し、UART通信IC22は、
図1の通信部1b1に対応する。
【0032】
コプロボード30−1、・・・、30−6は、仮想LAN(Local Area Network)ドライバ3a1、・・・、3a6およびコプロセッサ3b1、・・・、3b6をそれぞれ含む。なお、コプロボード30−1、・・・、30−6は、
図1の演算処理装置1c−1、・・・、1c−nに対応する。
【0033】
メインボード10において、制御部11は、GPIO(General Purpose Input Output)制御部11a、BIOSドライバ11b、UART駆動部11c、ログ収集部11dおよびI
2C(Inter-Integrated Circuit:I
2Cは商標)インタフェース部11eの各機能ブロックを含む。
【0034】
GPIO制御部11aは、情報処理装置10aの端子から入出力される信号の送信制御および受信制御を行う。BIOSドライバ11bは、記憶部12に格納されるBIOSのドライブを行う。
【0035】
UART駆動部11cは、ブリッジボード20に搭載されているUART通信IC22の駆動制御を行う。ログ収集部11dは、コプロボード30−1、・・・、30−6と、ブリッジボード20に搭載されるブリッジコントローラ21とからログ情報を収集して、ログ情報をロギングする(詳細は後述)。I
2Cインタフェース部11eは、I
2Cインタフェースを介して、ブリッジボード20に搭載される電源制御部23と通信を行う。
【0036】
ブリッジボード20において、ブリッジコントローラ21は、メインボード10とコプロボード30−1、・・・、30−6とのPCIeによる中継通信の制御を行う。UART通信IC22は、制御部11からのUART駆動指示にもとづきリセットが解除されて駆動状態になり、UARTインタフェースによるデータ通信を行う。ブリッジコントローラ21は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、またはFPGA(Field Programmable Gate Array)を有する。
【0037】
UART通信IC22は、駆動状態になると、コプロボード30−1、・・・、30−6から出力されるログ情報と、ブリッジコントローラ21から出力されるログ情報とを制御部11にUARTインタフェースを介して送信する。
【0038】
電源制御部23は、スタンバイ電力にもとづいて駆動し、システム内の各構成デバイスに対する電力供給または電力停止制御を行う。例えば、電源制御部23は、電源ボタンの操作にもとづいて、情報処理装置10aおよびPSU24へのアクティブ電力の供給または電力供給停止の制御を行う。電源制御部23は、例えば、CPU、MPU、DSP、ASIC、PLD、またはFPGAなどを有する。
【0039】
また、電源制御部23は、コプロボード30−1、・・・、30−6に対して起動をオンまたはオフさせるための起動オン/オフ信号を送信する。さらに、電源制御部23は、状態表示部23aを備える。
【0040】
状態表示部23aは、例えば、7セグメントLED(Light Emitting Diode)であり、電力供給状態やエラーコード等の表示を行う。なお、電源制御部23は、冷却用ファン(図示せず)の動作チェックも行う。
【0041】
PSU24は、直流電圧としてアクティブ電力およびスタンバイ電力を生成して出力する。アクティブ電力の電圧値は例えば、12Vであり、スタンバイ電力の電圧値は例えば、11Vである。
【0042】
コプロボード30−1、・・・、30−6(総称する場合はコプロボード30)において、コプロボード30−1、・・・、30−6は、電源制御部23からの起動オン/オフ信号にもとづいて起動する。コプロボード30−1、・・・、30−6は、例えば、LinuxのOSで動作する。
【0043】
また、仮想LANドライバ3a1、・・・、3a6(総称する場合は仮想LANドライバ3a)は、仮想LANを介してブリッジボード20および情報処理装置10aに接続するための接続制御を行う。さらに、仮想LANドライバ3a1、・・・、3a6は、仮想LANを介して情報処理装置10aと通信可能状態か(リンクアップ)、または通信不可状態(リンクダウン)かの判定を行い、判定結果を出力する。
【0044】
コプロセッサ(演算処理部)3b1、・・・、3b6は、AI(Artificial Intelligence)推論処理や画像処理等の並列演算処理を行う演算プロセッサであり、例えば、CPU、GPU(Graphics Processing Unit)やFPGA等が採用される。コプロセッサ3b1、・・・、3b6は、CPUとGPUの組み合わせであってもよい。また、コプロセッサ3b1、・・・、3b6は、コプロボード30−1、・・・、30−6それぞれの運用制御を行う。
【0045】
<ハードウェア>
図4は情報処理装置のハードウェア構成の一例を示す図である。情報処理装置10aは、プロセッサ(コンピュータ)100によって全体制御されている。プロセッサ100は、制御部11の機能を実現する。
【0046】
プロセッサ100には、バス103を介して、メモリ101、入出力インタフェース102およびネットワークインタフェース104が接続されている。
プロセッサ100は、マルチプロセッサであってもよい。プロセッサ100は、例えば、CPU、MPU、DSP、ASIC、またはPLDである。またプロセッサ100は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
【0047】
メモリ101は、記憶部12の機能を実現し、情報処理装置10aの主記憶装置として使用される。メモリ101には、プロセッサ100に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ101には、プロセッサ100による処理に要する各種データが格納される。
【0048】
また、メモリ101は、情報処理装置10aの補助記憶装置としても使用され、OSのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ101は、補助記憶装置として、フラッシュメモリやSSD(Solid State Drive)等の半導体記憶装置やHDD(Hard Disk Drive)等の磁気記録媒体を含んでもよい。
【0049】
バス103に接続されている周辺機器としては、入出力インタフェース102およびネットワークインタフェース104がある。入出力インタフェース102は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ100に送信する。
【0050】
さらにまた、入出力インタフェース102は、周辺機器を接続するための通信インタフェースとしても機能する。例えば、入出力インタフェース102は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクには、Blu−rayDisc(登録商標)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)等がある。
【0051】
また、入出力インタフェース102は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース102との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
【0052】
ネットワークインタフェース104は、ネットワークに接続してネットワークインタフェース制御を行う。ネットワークインタフェース104には、例えば、NIC(Network Interface Card)、無線LANカード等を使用することもできる。ネットワークインタフェース104で受信されたデータは、メモリ101やプロセッサ100に出力される。
【0053】
以上のようなハードウェア構成によって、情報処理装置10aの処理機能を実現することができる。例えば、情報処理装置10aは、プロセッサ100がそれぞれ所定のプログラムを実行することで本発明の処理を行うことができる。
【0054】
情報処理装置10aは、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。情報処理装置10aに実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【0055】
例えば、情報処理装置10aに実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ100は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。
【0056】
また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ100からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。なお、ブリッジボード20もコンピュータを備えて、
図4に示した同様のハードウェアにより実現することができる。
【0057】
<シリアルコンソールログの取得動作>
図5はシリアルコンソールログを取得する際の動作の一例を説明するための図である。情報処理システム1−2では、コプロボード30−1、・・・、30−6のLinuxの起動が正常に行われた場合、制御部11は、syslogデーモンでコプロボード30−1、・・・、30−6のログ情報を取得する。また、Linuxの起動が正常に行われず、syslogデーモンによってログ情報が困難になる場合は、以下に示すような動作でログ情報の取得が行われる。
【0058】
〔ステップS21〕制御部11は、記憶部12に格納されているBIOSを読み出す。
〔ステップS22〕制御部11は、BIOSによりUART通信IC22を駆動するための駆動信号(UART_ON)を、PCIeコネクタ4を介してブリッジボード20へ出力する。
【0059】
〔ステップS23〕UART通信IC22は、駆動信号を受信するとリセットの解除を行い、駆動状態になる。
〔ステップS24〕UART通信IC22は、駆動状態になると、コプロボード30−1、・・・、30−6から出力されるログ情報と、ブリッジコントローラ21から出力されるログ情報(中継装置用ログ情報)とを制御部11へ送信するためのスイッチ切替を行う。
【0060】
〔ステップS25〕UART通信IC22は、ステップS24のスイッチ切替にもとづき、UARTインタフェースを介して、PCIeコネクタ4を通じて制御部11にログ情報を送信する。
なお、UART通信IC22は、データフロー制御を行うために、送信データ(TX)および受信データ(RX)の他に、CTS(Clear To Send)およびRTS(Request To Send)と呼ばれる信号を有している。CTSは、通信相手から来たデータ送信の許可信号を受け取るための信号であり、RTSは、通信相手にデータ送信を許可するための信号である。また、受信したこれらのログ情報は、PCIeコネクタ4を介して制御部11にUARTインタフェースで送信される。
【0061】
UART通信IC22では、制御部11からの駆動指示によって、これらのデータフロー制御が駆動状態になることで、コプロボード30−1、・・・、30−6から出力されるログ情報と、ブリッジコントローラ21から出力されるログ情報との制御部11への送信を行う。
【0062】
〔ステップS26〕制御部11内のログ収集部11dは、UART/USB(Universal Serial Bus)変換部11d1を有し、UART/USB変換部11d1は、UARTインタフェースで送信されたログ情報をUSBインタフェースに変換する。
【0063】
なお、この例では、6台のコプロボード30−1、・・・、30−6と、1台のブリッジコントローラ21とのそれぞれのUARTインタフェースのログ情報が受信されるので、7本のUSBインタフェースのログ情報が生成されることになる。
【0064】
〔ステップS27〕USBインタフェースのログ情報は、ログ収集部11d内のシリアルポート通信部11d2に入力される。シリアルポート通信部11d2は、USBインタフェースでログ情報を受信して、シリアルポートのインタフェースでデータを出力するシリアルポート通信アプリケーションである。
【0065】
〔ステップS28〕シリアルポートはRS-232C等のCOM(communication)ポートであり、COMポートから出力されるデータは汎用OSで収集して保存管理することができ、メインボード10側でCOMデバイスと認識される。よって、シリアルポート通信部11d2のデータ通信は、例えば、Windows OSで管理できる。
【0066】
したがって、制御部11(ログ収集部11d)は、Windows OSを通じてシリアルポート通信部11d2で通信される情報、すなわち、USBインタフェースを持つシリアルコンソールログを取得することができ、取得したシリアルコンソールログをロギングする。
【0067】
このように、制御部11は、UARTインタフェース(第1の通信インタフェース)のログ情報をシリアルポートから出力させるためのUSBインタフェース(第2の通信インタフェース)に変換する。そして、Windows(第2のソフトウェア)でシリアルポート通信部11d2(シリアルポート)にシリアルコンソール接続して、コプロボード30−1、・・・、30−6のログ情報をシリアルコンソールログとして取得する。
【0068】
これにより、コプロボード30−1、・・・、30−6側のLinuxが正常に起動せずにsyslogデーモンでsyslogが読めない場合であっても、コプロボード30−1、・・・、30−6から出力されているシリアルコンソールログを収集して、汎用OS(Windows)によってロギング(表示およびファイル保存を含む)することができる。
【0069】
また、制御部11は、非同期シリアルバス通信インタフェースであるUARTインタフェースで通信されるログ情報を、シリアルバス通信インタフェースであるUSBインタフェースで通信されるログ情報に変換する。これにより、USBインタフェースをサポートする汎用OS(Windows)でログ情報を取得することができる。
【0070】
さらに、UART通信IC22は、駆動信号にもとづいて、中継通信を行うブリッジコントローラ21(中継制御部)から出力される中継装置用ログ情報をUARTインタフェース(第1の通信インタフェース)で通信を行う。制御部11では、拡張バスを介して、駆動信号を送信してUART通信IC22を駆動させてUART通信IC22から送信される中継装置用ログ情報を受信する。
【0071】
そして、制御部11は、UARTインタフェース(第1の通信インタフェース)をUSBインタフェース(第2の通信インタフェース)に変換して、USBインタフェースに対応するWindows(第2のソフトウェア)で中継装置用ログ情報を取得する。
このような制御により、コプロボード30−1、・・・、30−6のログ情報だけでなく、ブリッジコントローラ21(ブリッジボード20)のログ情報もシリアルコンソールログとして取得することができる。
【0072】
<システム立ち上げ時の動作シーケンス>
次に
図6から
図8を用いて、システム立ち上げ時の動作シーケンスについて説明する。
図6から
図8はシステム立ち上げ時の動作シーケンスの一例を示す図である。
〔ステップS31〕制御部11、ブリッジボード20およびコプロボード30は、ACPI(Advanced Configuration and Power Interface)の電力状態として、G2・S5のソフトオフ状態にある。
【0073】
〔ステップS32〕電源制御部23は、ユーザによって押下された電源ボタンの入力割込みを検出する。
〔ステップS33〕電源制御部23は、電源状態の確認を行い、PSU24に対して電力出力指示を行う。具体的には、電源制御部23は、PSU24からアクティブ電力の12Vが現在出力していないことを確認すると、PSU24に対して12Vの出力指示を送信する。
【0074】
〔ステップS34〕PSU24は、電源制御部23からの電力出力指示を受けると、アクティブ電力である12Vを電源制御部23、制御部11およびブリッジボード20上の各デバイスに供給する。
【0075】
〔ステップS35〕電源制御部23は、状態表示部23aの電源LEDを点滅させる(起動中は点滅)。
〔ステップS36〕電源制御部23は、冷却用ファン(FAN)の動作チェックを行う。
【0076】
〔ステップS37〕ブリッジボード20内のブリッジコントローラ21は、起動が完了すると、起動完了通知を電源制御部23に送信する。
〔ステップS38〕電源制御部23は、メインボード10の接続チェック等を行う。
【0077】
〔ステップS39〕電源制御部23は、電源ボタンイベント(電源ボタンが押下されたことを示すイベント)を制御部11に送信する。
〔ステップS40〕制御部11は、メインボード10内の電源をオンして、BIOSを起動する。
【0078】
〔ステップS41〕制御部11は、ブリッジボード20内のUART通信IC22に駆動信号(UART_ON)を送信する。
〔ステップS42〕UART通信IC22は、制御部11から駆動信号を受信して駆動する。
【0079】
〔ステップS43〕制御部11は、POST(Power On Self-Test)処理を行う。POST処理では、所定デバイス(ブリッジコントローラ21やその他の周辺デバイス)の初期化が行われる。
〔ステップS44〕制御部11は、POST処理が終了するまで待ち合わせる。
【0080】
〔ステップS45〕電源制御部23は、コプロボード30の接続チェック等を行う。
〔ステップS46〕電源制御部23は、コプロボード30に起動オン/オフ信号を送信して電源オンを行う。
〔ステップS47〕コプロボード30は、Linuxを起動する。
【0081】
〔ステップS48〕制御部11は、POST処理の終了後、Windowsを起動する。
〔ステップS49〕制御部11は、仮想LANドライバ3aをロードする。
〔ステップS50〕コプロボード30は、仮想LANドライバ3aをロードする。
【0082】
〔ステップS51〕制御部11は、データ転送許可およびサービス起動完了の通知を電源制御部23に送信する。
〔ステップS52〕コプロボード30は、サービス起動完了の通知を電源制御部23に送信する。
〔ステップS53〕電源制御部23は、状態表示部23aの電源LEDを点灯させる(起動完了で点灯)。
【0083】
〔ステップS54〕情報処理システム1−2は、S0(Working)の通常の運用状態になる。
上記のシーケンスにおいて、コプロボード30がソフトオフ(ステップS31)になってからサービス起動完了通知(ステップS52)が行われる間の動作範囲H1のコプロボード30の起動ログが、制御部11が取得するコプロボード30のログ情報である。
【0084】
また、ブリッジボード20が起動完了通知(ステップS37)を行ってからS0状態(ステップS54)になるまでの間の動作範囲H2のブリッジボード20の動作ログが、制御部11が取得するブリッジボード20(ブリッジコントローラ21)のログ情報である。
【0085】
このようなシステム立ち上げシーケンスにおいて、制御部11は、システム立ち上げ時に、UART通信IC22に駆動信号を送信する。これにより、Linuxによるログ情報の取得が不可になる可能性があるシステム立ち上げ時において、UART通信IC22を駆動させるので、Linuxが起動しない状態になっても、コプロボード30およびブリッジコントローラ21からのログ情報を確実に取得することができる。
【0086】
<コプロボード再起動時の動作シーケンス>
次に
図9、
図10を用いて、コプロボード再起動時の動作シーケンスについて説明する。
図9および
図10はコプロボード再起動時の動作シーケンスの一例を示す図である。
〔ステップS61〕情報処理システム1−2は、S0(Working)の通常の運用状態にある。
【0087】
〔ステップS62〕コプロボード30−1、・・・、30−6のうちで、所定コプロボード(所定コプロボード30とする)の動作異常が制御部11で検出されたとする。この場合、動作異常を起こした所定コプロボード30から異常通知が制御部11に送信され、制御部11によってリカバリ操作が行われる。
【0088】
〔ステップS63〕制御部11は、BIOSが駆動したことにもとづいて、ブリッジボード20内のUART通信IC22に駆動信号(UART_ON)を送信する。
〔ステップS64〕UART通信IC22は、制御部11から駆動信号を受信して駆動する。
【0089】
〔ステップS65〕制御部11は、電源制御部23に対して、異常があった所定コプロボード30の再起動要求を行う。
〔ステップS66〕電源制御部23は、再起動要求を受けると、所定コプロボード30の接続チェック等を行う。
【0090】
〔ステップS67〕電源制御部23は、所定コプロボード30に起動オン/オフ信号を送信して電源オフを行う。
〔ステップS68〕所定コプロボード30は、G3(ハードオフ)の状態になる。
【0091】
〔ステップS69〕電源制御部23は、所定コプロボード30の電源状態の確認を行い、起動オン/オフ信号を通じて所定コプロボード30の電源オンを行う。
〔ステップS70〕所定コプロボード30は、Linuxを起動する。
〔ステップS71〕所定コプロボード30は、仮想LANドライバ3aをロードする。
【0092】
〔ステップS72〕所定コプロボード30は、サービス起動完了の通知を電源制御部23に送信する。
〔ステップS73〕電源制御部23は、所定コプロボード30が再起動したことの通知(再起動通知)を制御部11に送信する。
【0093】
〔ステップS74〕制御部11は、所定コプロボード30のリカバリ後の後処理を行う。
〔ステップS75〕情報処理システム1−2は、S0(Working)の通常の運用状態になる。
【0094】
上記のシーケンスにおいて、所定コプロボード30の異常検出(ステップS62)が行われてからサービス起動完了通知(ステップS72)が行われる間の動作範囲H3のログ(所定コプロボード30のシャットダウンログおよび起動ログ)が、制御部11が取得する所定コプロボード30のログ情報である。
【0095】
このようなコプロボード再起動時のシーケンスにおいて、制御部11は、コプロボード30の異常を検知した場合に、UART通信IC22に駆動信号を送信する。これにより、コプロボード30に異常が生じてLinuxが起動しない状態になっても、コプロボード30およびブリッジコントローラ21からのログ情報を確実に取得することができる。
【0096】
<フローチャート>
次に
図11から
図13のフローチャートを用いて動作について説明する。
図11はシステム立ち上げ時の動作フローチャートの一例を示す図である。
〔ステップS81〕電源制御部23は、PSU24に電力出力指示を送信し、PSU24は、電力出力指示にもとづいて、12Vを電源制御部23、制御部11およびブリッジボード20上の各デバイスに供給する。
【0097】
〔ステップS82〕ブリッジボード20は、電源オンを行う。
〔ステップS83〕メインボード10が起動する。
〔ステップS84〕制御部11は、ログ収集サービス(ログ収集部11dの機能)を起動する。
【0098】
〔ステップS85〕制御部11は、コプロボード30の台数分のシリアルコンソールログの収集が完了したか否かを判定する。完了していない場合はステップS86に処理が進み、完了した場合はステップS88に処理が進む。
【0099】
〔ステップS86〕制御部11は、UART通信IC22に駆動信号(例えば、HレベルのUART_ON)を送信する。
〔ステップS87〕UART通信IC22は、リセットを解除して駆動状態になる。
〔ステップS88〕制御部11は、シリアルポート通信部11d2(COMポート)と通信を行う。
【0100】
〔ステップS89〕制御部11は、UART通信IC22から送信されたログ情報をUSBインタフェースに変換して、シリアルポート通信部11d2からログ情報を取得してロギングを開始する。
〔ステップS90〕電源制御部23は、コプロボード30の起動制御を行う。
〔ステップS91〕コプロボード30は、Linuxを起動する。
【0101】
〔ステップS92〕仮想LANドライバ3aは、仮想LANのリンク状態を検出し、リンクアップ状態であることを制御部11に通知する。
〔ステップS93〕仮想LANがリンクアップ状態で有効の場合はステップS94に処理が進み、仮想LANが無効の場合はステップS93の判定処理を繰り返す。
【0102】
〔ステップS94〕制御部11は、ロギングを停止する。すなわち、仮想LANがリンクアップ状態であるならば、仮想LANを通じて例えば、syslogデーモンからログ情報を取得できるので、UART通信IC22を介したログ情報のロギングは停止する。
【0103】
図12はコプロボード再起動時の動作フローチャートの一例を示す図である。
〔ステップS101〕コプロボード30の電源再起動制御が行われる。
〔ステップS102〕コプロボード30のLinuxがシャットダウンを開始する。
〔ステップS103〕仮想LANドライバ3aは、仮想LANのリンク状態を検出し、リンクダウン状態であることを制御部11に通知する。
【0104】
〔ステップS104〕仮想LANがリンクダウン状態で無効の場合はステップS105に処理が進み、仮想LANが有効の場合はステップS104の判定処理を繰り返す。
【0105】
〔ステップS105〕制御部11は、ログ収集サービス(ログ収集部11dの機能)を起動してロギングを開始する。すなわち、仮想LANがリンクダウン状態であるならば、仮想LANを通じてsyslogデーモンからログ情報を取得できないので、UART通信IC22を介したログ情報のロギングを開始する。
【0106】
〔ステップS106〕コプロボード30のシャットダウンシーケンスが行われる。
〔ステップS107〕制御部11は、シャットダウンに関するログ情報をロギングする。
〔ステップS108〕コプロボード30はLinuxの起動を開始する。
〔ステップS109〕仮想LANドライバ3aは、仮想LANのリンク状態を検出し、リンクアップ状態であることを制御部11に通知する。
【0107】
〔ステップS110〕制御部は、初期運用に関するログ情報(イニシャルログ)をロギングする。
〔ステップS111〕仮想LANがリンクアップ状態で有効の場合はステップS112に処理が進み、仮想LANが無効の場合はステップS111の判定処理を繰り返す。
〔ステップS112〕制御部11は、ロギングを停止する。
【0108】
このように、制御部11は、仮想LAN(ネットワーク)のリンクアップ状態を検出した場合は、UART通信IC22への駆動信号の送信を行わずに、仮想LANを介してログ情報をLinux(第1のソフトウェア)で取得する。
【0109】
また、仮想LANのリンクダウン状態を検出した場合は、UART通信IC22へ駆動信号を送信して、ログ情報をWindows(第2のソフトウェア)により取得する。これにより、仮想LANの通信可否状態に応じてログ情報の取得切替を効率よく行うことが可能になる。
【0110】
図13はエラーをロギングした場合にエラーコードを表示するまでの動作の一例を示すフローチャートである。
〔ステップS121〕電源制御部23は、PSU24に電力出力指示を送信し、PSU24は、電力出力指示にもとづいて、12Vを電源制御部23、制御部11およびブリッジボード20上の各デバイスに供給する。
【0111】
〔ステップS122〕ブリッジボード20は、電源オンを行う。
〔ステップS123〕メインボード10が起動する。
〔ステップS124〕制御部11は、ログ収集サービス(ログ収集部11dの機能)を起動する。
【0112】
〔ステップS125〕制御部11は、コプロボード30の台数分のシリアルコンソールログの収集が完了したか否かを判定する。完了していない場合はステップS126に処理が進み、完了した場合はステップS128に処理が進む。
【0113】
〔ステップS126〕制御部11は、UART通信IC22に駆動信号(例えば、HレベルのUART_ON)を送信する。
〔ステップS127〕UART通信IC22は、リセットを解除して駆動状態になる。
【0114】
〔ステップS128〕制御部11は、シリアルポート通信部11d2(COMポート)と通信を行う。
〔ステップS129〕制御部11は、UART通信IC22から送信されたログ情報をUSBインタフェースに変換して、シリアルポート通信部11d2からログ情報を取得してロギングを開始する。
【0115】
〔ステップS130〕制御部11は、ログ情報のうちで特定文字列のメッセージ(エラーメッセージ)を監視する。
〔ステップS131〕制御部11は、特定文字列のメッセージを検出すると、エラーメッセージのエラーコードを表示する。エラーコードは、例えば、
図3に示した状態表示部23aを通じて、または
図5に示した入出力インタフェース102を通じて表示される。
【0116】
上記で説明した本発明の情報処理システムおよび情報処理装置の処理機能は、コンピュータによって実現することができる。この場合、情報処理システムおよび情報処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0117】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、CD−ROM/RW等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。
【0118】
プログラムを流通させる場合、例えば、そのプログラムが記録されたCD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0119】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【0120】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
【0121】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【解決手段】情報処理システム1−1は、情報処理装置1a、中継装置1b、および演算処理装置1c−1、・・・、1c−nを含む演算処理装置群1cを備える。中継装置1bは、通信部1b1を含む。情報処理装置1aは制御部1a1を含む。制御部1a1は、演算処理装置群1cを動作させる第1のソフトウェアを通じてログ情報を取得する。また、第1のソフトウェアによるログ情報の取得が不可になりうる場合、制御部1a1は、中継装置1bの拡張バスを介して、駆動信号を送信して通信部1b1を駆動させ、通信部1b1から送信される第1の通信インタフェースのログ情報を受信する。そして、第1の通信インタフェースを第2の通信インタフェースに変換して、第2の通信インタフェースに対応する第2のソフトウェアでログ情報を取得する。