(57)【特許請求の範囲】
【請求項１】
ＣＰＵ、メモリを含んだサーバモジュールと該サーバモジュールの管理を行う管理モジュールとからなり、オペレーティングシステムを含むソフトウェアイメージを前記サーバモジュールにブートするブート手段を備えた計算機システムにおいて、前記管理モジュールはサーバ診断用プログラムを含んだ診断ブートイメージを有すると共に該診断ブートイメージを前記サーバモジュールにネットワークブートするネットワークブート手段を備え、前記計算機システムは前記ソフトウェアイメージをブートするパスと前記診断ブートイメージをブートするパスを切替えるスイッチ手段を備え、前記管理モジュールは前記スイッチ手段にブートパスの切替えを指示して前記ソフトウェアイメージをブートする前に、前記診断ブートイメージを前記サーバモジュールにブートし、前記サーバモジュールに前記サーバ診断用プログラムを実行させることを特徴とする障害検出方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はサーバの障害検出方式に関する。
【背景技術】
【０００２】
通常、企業の基幹システムなどのエンタープライズ用途で使用する計算機システムには24時間365日休みなく稼動することが求められ、高い可用性が要求される。そのため、このような計算機システムにはサーバモジュール部の他に管理モジュールを含むことが一般的である。管理モジュールは、サーバモジュール部の各種制御や障害検出などを行う機能を有する。特に障害検出処理は高可用性を実現するために重要であり、障害発生時の早期検出が求められる。高可用性を実現する一つの方法として、特許文献１ではサーバモジュールの挿入時にサーバモジュールが自発的にエラーを検出し、管理コンソールへ通知する方式が開示されている。しかし、この方式で検出可能な障害は、サーバモジュールの電源投入後、自己診断機能により検出するエラーに限定され、たとえば自己診断機能の起動以前の段階で発生する電源、回路系の障害や、ネットワークスイッチを含むブートパス障害を検出することができないという問題があった。また、従来自己診断のプログラムはBIOS等の組み込みソフトに固定的に収容され、サーバモジュールに対し様々な組み合わせで接続されるIO装置に対して、処理を変更できないため、十分な障害検出ができないという問題があった。
【０００３】
【特許文献１】特表２００２−５４３５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、サーバモジュールの電源投入後に実行される自己診断では検出不可能な障害を検出する手段を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、ＣＰＵ、メモリを含んだサーバモジュールと該サーバモジュールの管理を行う管理モジュールとからなり、オペレーティングシステムを含むソフトウェアイメージを前記サーバモジュールにブートするブート手段を備えた計算機システムにおいて、サーバ診断用プログラムを含んだ診断ブートイメージを前記サーバモジュールにネットワークブートするネットワークブート手段を前記管理モジュールに備え、前記管理モジュールは前記ソフトウェアイメージがブートされる前に、前記ネットワークブート手段により前記診断ブートイメージを前記サーバモジュールにブートし、前記サーバモジュールが前記サーバ診断用プログラムを実行することを特徴とする。
【発明の効果】
【０００６】
本発明により、システム起動前の障害検出が可能になる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して本発明の実施例を詳細に説明する。
【０００８】
図１は、本発明に置ける実施例の全体図を示している。計算機システム１０１には、管理モジュール１０２、サーバモジュール１０９、スイッチモジュール１１４が含まれている。管理モジュール１０２と、サーバモジュール１０９はスイッチモジュール１１４を介して接続されている。管理モジュール１０２には、ネットワークブートサーバ部１０６、診断結果判定部１０５、電源制御部１０３、ブートデバイス切替制御部１０４、及び診断用ブートイメージ１０７が含まれている。電源制御部１０３は、サーバモジュール１０９の電源の投入、遮断を制御する機能を有する。ブートデバイス切替制御部１０４は、サーバモジュール１０９中のブートパス切替部１１０と、スイッチモジュール１１４中のパス切替部１１５に接続されており、これらにパス切替要求を行う機能を有する。パス切替要求の詳細は後述する。
【０００９】
診断用ブートイメージ１０７は、複数のサーバ診断用プログラム１０８を保持している。サーバ診断用プログラム１０８には全部位を汎用的にチェック可能な障害診断用プログラムと、特定部位を詳細に診断するプログラムが存在する。診断用ブートイメージ１０７をブートすると、自動的にサーバ診断用プログラム１０８が起動するようになっている。このとき起動するプログラムは外部より設定可能である。診断結果判定部１０５は、サーバ診断用プログラム１０８の結果を受け、障害が発生しているか否かの判定を行い、ある部位で障害を検出した場合、サーバ診断用プログラム１０８をさらに詳しい診断を実行可能なプログラムに変更する機能を有する。
【００１０】
サーバモジュール１０９にはCPU、メモリ１１１、電源１１２、ブートパス切替部１１０、電源・HWエラー検出回路１３０が含まれており、ブートパス切替部１１０中にはパス切替スイッチ１１６が存在する。ブートパス切替部１１０は、ブートデバイス切替制御部１０４からの要求を受け、パス切替スイッチ１１６を、ポイント１１７とポイント１１９の接続、もしくはポイント１１８とポイント１１９に切り替える機能を有する。通常運用では、パス切替スイッチ１１６はポイント１１７とポイント１１９を接続した状態になっており、サーバモジュールが持つブートデバイス１１３からオペレーティングシステムを含むソフトウェアイメージをブートする設定となっている。このパス切替スイッチ１１０は、機能的な概念図であり、ブート対象は、たとえば内蔵ハードディスクや、ネットワーク経由のブートパスであり、これらをBIOSなどの組み込みソフトウエアによって切り替える方式でも良い。
【００１１】
また、電源・HWエラー検出回路１３０は、サーバモジュール１０９内の電源状態や、ブートデバイス１１３の障害状態、CPU、メモリ１１１の障害状態を検出する回路であり、サーバモジュール１０９の主電源投入により、ステータスを管理モジュール１０２の診断結果判定部１０５に出力する。
【００１２】
スイッチモジュール１１４には、パス切替部１１５が含まれており、パス切替部１１５にはパス切替スイッチ１２０が存在する。パス切替部１１５は、ブートデバイス切替制御部１０４からの要求を受け、パス切替スイッチ１２０を、ポイント１２１とポイント１２３の接続、もしくはポイント１２２とポイント１２３に切り替える機能を有する。
【００１３】
通常運用では、パス切替スイッチ１２０はポイント１２２とポイント１２３を接続した状態になっており、計算機システム１０１外部のネットワーク１２４と接続する設定となっている。
【００１４】
本実施例の概要は以下の通りである。サーバモジュール１０９が計算機システム１０１に装着されたとき、管理モジュール１０２がそれを検出し、ブートデバイス切替制御部１０４からの指示でブートパス切替部１１０中のパス切替スイッチ１１６をポイント１１８とポイント１１９の接続とし、また、パス切替部１１５中のパス切替スイッチ１２０をポイント１２３とポイント１２１の接続とすることで、サーバモジュール１０９のブートデバイスパスを通常運用時のブートデバイス１１３から遮断し、管理モジュール中の診断用ブートイメージ１０７に接続する。次に、ネットワークブートサーバ部１０６を起動し、電源制御部１０３から電源投入を行うことで、ネットワークブートにより診断用ブートイメージ１０７を使用してサーバモジュール１０９をブートさせる。
【００１５】
診断用ブートイメージ１０７がロード完了すると、自動的に障害診断用プログラム１０８が起動する。このとき起動する診断プログラムは、全部位を汎用的にチェック可能な診断プログラムである。プログラムの終了後、結果を管理モジュールの診断結果判定部１０５に送信する。診断結果判定部１０５は診断結果を判定し、障害が発生しているかどうかを判断する。障害が発生していなかった場合、電源制御部１０３から電源遮断を行い、サーバモジュール１０９の電源を切断した後で、ブートパス切替部１１０とパス切替部１１５の設定を通常運用時の状態に戻すことで、再びブートデバイス１１３からのブートが可能になる。これにより、サーバモジュール１０９では障害が発生していないことが分かったため、ユーザの通常運用を開始する。
【００１６】
診断結果判定部１０５での判定結果で障害が発生していたとき、障害部位が特定できたならば、診断結果判定部１０５はサーバモジュール１０９の運用を停止し、保守員への通報などのアクションを行う。保守員は、通報された結果により障害が発生した部品の交換などを行う。
【００１７】
一方、第一回目の障害診断用プログラムにより、障害部位の大まかな箇所しか分からず、障害部位が特定できなかった場合、たとえばCPUで障害が起きているが、具体的にどのCPUに障害が発生しているか分からない状態などは、サーバ診断プログラム１０８をその特定部位を詳細に調査するプログラムに変更し、再度サーバ診断プログラム１０８を実行する。このように、障害を検出した場合に複数のプログラムを実行することで、障害部位特定の分解能を上げることができる。
【００１８】
図２は、本発明の方式を実現するための管理モジュール１０２のフローを示している。まず、管理モジュール１０２はサーバモジュール１０９の挿入を検出する（２０１）。管理モジュール１０２はサーバモジュール１０９の挿入を検出すると、ネットワークブートサーバ起動を行う（２０２）。これにより、管理モジュール１０２はネットワークブートサーバとなる。このとき、ネットワークブートを行うブートデバイスを、診断用ブートイメージ１０７に設定する方法を説明する。まず、ブートパス切替を行い（２０３）、サーバモジュール１０９のブートデバイスパスを、管理モジュール１０２中の診断用ブートイメージ１０７に変更する。次に、ネットワークパス切替えを行い（２０４）、スイッチモジュールのパスを、サーバモジュールと管理モジュールが接続するような設定に変更する。この状態で電源投入を行うと（２０５）、サーバモジュールは管理モジュール中のブートデバイスを使用して、ネットワークブートを行う。電源投入完了後、管理モジュールは診断結果の受信待ちに入る（２０６）。電源・ハードウェアエラー検出回路１３０により障害が検出された場合は、自己診断のプログラムが実行不可であるため、ユーザ運用停止（２１２）に移行する。
【００１９】
この間、サーバモジュールでは診断用ブートイメージのブート、及び障害診断用プログラムの実行を行い、結果を管理モジュールに送信する。診断結果を受信すると（２０７）、電源の遮断を行い、２０２〜２０４で行った設定を解除する（２０８）。この時点で、２０１で挿入を検出したときと同じ構成に戻る。次に、診断結果の判定を行う（２０９）。診断結果が合格“OK”だった場合、該サーバモジュールに障害は発生していなかったので、サーバモジュールのユーザ運用を開始する（２１１）。診断結果が不合格“NG”だった場合、障害部位が特定できたかを判定する（２１０）。障害部位特定が“OK”だった場合、該サーバモジュールのユーザ運用を中止し（２１２）、障害が発生した部位の交換作業を行う。障害部位特定が“NG”だった場合、診断プログラムをより適したものに変更し、再度診断機能を実行する（２１３）。
【００２０】
上記説明のように、本発明では、電源・HWエラー検出回路１３０による障害検出、全部位を汎用的にチェック可能な診断プログラム、部位特定に特化したプログラムを段階的に実行することで、自己診断の期間を短縮し、かつ障害部位を詳細に特定することが可能となる。具体的な効果として、計算機システム１０１の起動時間を大幅に増加させず、かつ交換部品の特定がスムーズに進むため、ダウン時間を低減することができる。
【００２１】
なお、本方式によれば、ブートデバイス１１３を接続する以前に、診断用ブートイメージ１０７によりサーバモジュール１０９の診断を実施しているため、ユーザ運用開始前に、これらブートパス切替え部分１１０と、スイッチモジュール１１４の動作を事前に確認することが可能である。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例の全体構成図である。
【図２】本発明の実施例のフロー図である。
【符号の説明】
【００２３】
１０１  計算機システム
１０２  管理モジュール
１０３  電源制御部
１０４  ブートデバイス切替制御部
１０５  診断結果判定部
１０６  ネットワークブートサーバ部
１０７  診断用ブートイメージ
１０８  サーバ診断用プログラム
１０９  サーバモジュール
１１０  ブートパス切替部
１１１  CPU、メモリ
１１２  電源
１１３  サーバモジュールに接続されたブートデバイス
１１４  スイッチモジュール
１１５  パス切替部
１１６、１１７、１１８、１１９  ブートパス切替部内のパス切替スイッチ
１２０、１２１，１２２，１２３  パス切替部内のパス切替スイッチ
１２４  計算機システム外部のネットワーク
１３０  電源、HWエラー検出回路
【図１】
0004715552.tif 000002
【図２】
0004715552.tif 000003