(57)【要約】      （修正有）【課題】ＯＳが起動する前に拡張デバイスの初期化に要する時間を、短縮することのできる、障害復旧方法を提供する。【解決手段】本体系装置と、複数の拡張デバイスと、前記本体系装置の動作を制御するサービスプロセッサと、を具備し、前記サービスプロセッサは、障害発生により前記本体系装置の電源が再投入されたときに、前記複数の拡張デバイスのうちでオペレーティングシステムの立ち上げに必要なデバイスである第１デバイス群のみを初期化し、前記第１デバイス群を初期化した後にオペレーティングシステムを起動させ、ＣＰＵは、オペレーティングシステムの起動後に、オペレーティングシステム上で障害処理を実行し、前記サービスプロセッサは、前記ＣＰＵによる障害処理の実行が開始された後に、前記複数の拡張デバイスのうちの前記第１デバイス群以外のデバイスである第２デバイス群を初期化する。【選択図】図２
2010277514.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを備える本体系装置と、
前記本体系装置の機能を拡張するために前記本体系装置に実装された、複数の拡張デバイスと、
前記ＣＰＵとは独立に、前記本体系装置の動作を制御するサービスプロセッサと、
を具備し、
前記サービスプロセッサは、障害発生により前記本体系装置の電源が再投入されたときに、前記複数の拡張デバイスのうちでオペレーティングシステムの立ち上げに必要なデバイスである第１デバイス群のみを初期化し、前記第１デバイス群を初期化した後にオペレーティングシステムを起動させ、
前記ＣＰＵは、オペレーティングシステムの起動後に、オペレーティングシステム上で障害処理を実行し、
前記サービスプロセッサは、前記ＣＰＵによる障害処理の実行が開始された後に、前記複数の拡張デバイスのうちの前記第１デバイス群以外のデバイスである第２デバイス群を初期化する
コンピュータシステム。
【請求項２】
請求項１に記載されたコンピュータシステムであって、
更に、
予め、前記第１デバイス群と前記第２デバイス群とを特定する情報が格納されたデバイス情報記憶部、
を具備し、
前記サービスプロセッサは、前記拡張デバイス記憶部を参照して前記第１デバイス群を特定し、前記第１デバイス群を初期化する
コンピュータシステム。
【請求項３】
請求項１又は２に記載されたコンピュータシステムであって、
前記拡張デバイスは、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）カードである
コンピュータシステム。
【請求項４】
障害発生時に、ＣＰＵを備える本体系装置の電源を投入し直す電源再投入ステップと、
前記電源再投入ステップの後に、第１デバイス群を初期化する第１デバイス群初期化ステップと、
前記第１デバイス群初期化ステップの後に、オペレーティングシステムを起動させるＯＳ起動ステップと、
オペレーティングシステムの起動後に、前記ＣＰＵによって、オペレーティングシステム上で障害処理を実行するステップと、
障害処理の実行が開始された後に、第２デバイス群を初期化する第２デバイス群初期化ステップと、
を具備し、
前記第１デバイス群は、前記本体系装置の機能を拡張するために前記本体系装置に実装された複数の拡張デバイスのうちで、オペレーティングシステムの立ち上げに必要なデバイス群であり、
前記第２デバイス群は、前記複数の拡張デバイスのうちで、前記第１デバイス群以外のデバイス群である
コンピュータシステムの障害処理方法。
【請求項５】
請求項４に記載されたコンピュータシステムの障害処理方法であって、
前記第１デバイス群初期化ステップ、前記ＯＳ起動ステップ、及び前記第２デバイス群初期化ステップは、前記ＣＰＵとは独立に前記本体系装置の動作を制御するサービスプロセッサにより行われる
コンピュータシステムの障害処理方法。
【請求項６】
請求項４又は５に記載されたコンピュータシステムの障害処理方法であって、
更に、
予め、前記第１デバイス群と前記第２デバイス群とを特定する情報を記憶しておく記憶ステップ、
を具備し、
前記第１デバイス群初期化ステップにおいて、前記記憶ステップで記憶しておいた情報に基いて、前記第１デバイス群を特定し、前記第１デバイス群を初期化する
コンピュータシステムの障害処理方法。
【請求項７】
請求項４乃至６のいずれかに記載されたコンピュータシステムの障害処理方法であって、
前記拡張デバイスは、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）カードである
コンピュータシステムの障害処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張デバイスの実装されるコンピュータシステム、及びその障害処理方法に関する。
【背景技術】
【０００２】
ＣＰＵ、ノースブリッジ、及びサウスブリッジなどを含む本体系装置に、機能を拡張するための拡張デバイス（例えば、ＰＣＩデバイス）を複数個実装したコンピュータシステムが知られている。このようなコンピュータシステムにおいて、障害が発生した場合、再起動（システムリブート）が行われる場合がある。
【０００３】
図１は、障害発生による再起動時の動作を示すフローチャートである。図１に示されるように、コンピュータシステムに障害が発生すると（Ｓ１０１）、本体系装置において、ＤＣ  ＯＦＦ命令が実行され、オペレーティングシステム（以下、ＯＳ）がたち下げられる（Ｓ１０２）。ＤＣ  ＯＦＦ命令の実行が終了すると、電源が再投入される（ステップＳ１０３）。次に、Ｈａｎｄ  ＯＦＦが実行される（Ｓ１０４）。Ｈａｎｄ  ＯＦＦが終了すると、複数の拡張デバイス等のデバイスが初期化される（Ｓ１０５）。全ての拡張デバイスが初期化された後に、ＯＳの立ち上げが開始される。ＯＳの起動が完了し、ＯＳ  Ｒｅａｄｙ状態となった後に、障害復旧処理が開始される（Ｓ１０６）。
【０００４】
障害が復旧するまで、コンピュータシステムを利用することはできない。従って、障害復旧に要する時間は、短い方が望ましい。
【０００５】
障害復旧時の動作を工夫した技術として、特許文献１に記載された情報処理装置が挙げられる。特許文献１の情報処理装置は、障害を検出する障害検出回路と、複数の障害のそれぞれをグループ分けして格納する障害テーブルと、障害検出回路にて検出された障害について障害情報テーブルに格納されるグループのいずれに属するかを判定し、判定したグループに関するハードウェアのみを初期化する制御装置と、を備える。これにより、必要最低限のハードウェアの初期化が可能となり、発生した障害とは無関係なハードウェアの初期化を行わなくてもよいため、再試行処理の性能が向上すると記載されている。
【０００６】
また、特許文献２には、コアＩ／Ｏカードを２重化することによって、障害などにより使用していた一のコアＩ／Ｏカードが切り離された場合でも、他のコアＩ／Ｏカードを利用してリブートできることが記載されている。
【０００７】
また、特許文献３には、オペレーティングシステムの初期化プロセスに、起動対象となるシステムの稼動に必要なドライブを検索したことを判定してドライブの検索処理を終了する処理手段を具備したことを特徴とする情報処理装置が開示されている。この特許文献３によれば、起動時におけるドライブ検索数を必要最小限に抑える事ができ、システム起動にかかる処理時間を短縮できると記載されている。
【０００８】
また、特許文献４には、オペレーティングシステムを格納した記憶装置を含む情報処理装置において、第１スイッチ及び第１スイッチを本体に設けることが記載されている。第１スイッチの操作により本体の電源がオンされたときには、その記憶装置を含む複数のデバイスを初期化する処理を含む第１の起動処理が実行された後に、オペレーティングシステムが起動される。第２スイッチの操作により本体の電源がオンされたときには、第１の起動処理の所定の一部の処理の実行が省略された第２の起動処理が実行された後に、オペレーティングシステムが起動される。第２スイッチの操作により本体の電源がオンされた時には、オペレーティングシステムの起動のために必要とされない各デバイスの初期化処理の実行がスキップされ、電源オンからオペレーティングシステムが起動されるまでの時間を大幅に短縮できると記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−２００１９９号公報
【特許文献２】特開２００５−２６６９４８号公報
【特許文献３】特開２００６−２３６０５８号公報
【特許文献４】特開２００６−２５２３２９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
再起動時における拡張デバイスの初期化は、拡張デバイスを使用可能にするために不可欠な動作であるが、多くの時間を要する。例えば、ＰＣＩスロットにＰＣＩデバイスが実装されている場合、初期化時には、このＰＣＩスロットにＯｐｔｉｏｎ  ＲＯＭが存在するか否かが確認される。Ｏｐｔｉｏｎ  ＲＯＭが存在すれば、Ｏｐｔｉｏｎ  ＲＯＭのコードがメモリ上に展開される。コードの展開には、多くの時間を要する。
【００１１】
従って、本発明の目的は、ＯＳが起動する前に拡張デバイスの初期化に要する時間を、短縮することのできる、コンピュータシステム及びコンピュータシステムの障害復旧方法を提供することにある。
【課題を解決するための手段】
【００１２】
以下に、［発明を実施するための形態］で使用する括弧付き符号を用いて、課題を解決するための手段を説明する。これらの符号は、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１３】
本発明のコンピュータシステムは、ＣＰＵ（１１）を備える本体系装置（１０）と、本体系装置（１０）の機能を拡張するために前記本体系装置に実装された、複数の拡張デバイス（１７〜１９）と、ＣＰＵ（１１）とは独立に、本体系装置（１０）の動作を制御するサービスプロセッサ（２０）と、を具備する。サービスプロセッサ（２０）は、障害発生により本体系装置（１０）の電源が再投入されたときに、複数の拡張デバイス（１７〜１９）のうちでオペレーティングシステムの立ち上げに必要なデバイスである第１デバイス群（１７）のみを初期化し、第１デバイス群（１７）を初期化した後にオペレーティングシステムを起動させる。ＣＰＵ（１１）は、オペレーティングシステムの起動後に、オペレーティングシステム上で障害処理を実行する。サービスプロセッサ（２０）は、ＣＰＵ（１１）による障害処理の実行が開始された後に、複数の拡張デバイス（１７〜１９）のうちの第１デバイス群（１７）以外のデバイスである第２デバイス群（１８、１９）を初期化する。
【発明の効果】
【００１４】
本発明によれば、ＯＳが起動する前に拡張デバイスの初期化に要する時間を、短縮することのできる、コンピュータシステム及びコンピュータシステムの障害復旧方法が提供される。
【図面の簡単な説明】
【００１５】
【図１】コンピュータシステムの障害処理方法を示すフローチャートである。
【図２】実施例のコンピュータシステムの構成を概略的に示すブロック図である。
【図３】実施例のコンピュータシステムの障害処理方法を示すフローチャートである。
【発明を実施するための形態】
【００１６】
図面を参照しつつ、本発明の実施例について説明する。
【００１７】
図２は、本実施例のコンピュータシステムの構成を示す概略ブロック図である。本実施例では、コンピュータシステムとして、サーバを例に挙げて説明する。このコンピュータシステムは、本体系装置１０と、サービスプロセッサ２０と、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）マネージャ３０と、カード情報記憶部４０と、を備えている。
【００１８】
本体系装置１０は、複数（４つ）のＣＰＵ（１１−１〜１１−４）と、ノースブリッジ１２と、複数（２つ）のサウスブリッジ（１３−１、１３−２）と、主記憶装置１４と、プロセッサバス１５と、複数（２つ）のＰＣＩバス（１６−１、１６−２）と、複数のＰＣＩスロット１７と、を備えている。４つのＣＰＵ（１１−１〜１１−４）は、プロセッサバス１５を介してノースブリッジ１２に接続されている。２つのサウスブリッジ（１３−１、１３−２）は、ノースブリッジ１２に接続されている。サウスブリッジ（１３−１、１３−２）の配下には、それぞれ、ＰＣＩバス（１６−１、１６−２）が接続されている。ＰＣＩバス（１６−１、１６−２）の配下には、それぞれ、複数のＰＣＩスロットが接続されている。
【００１９】
ノースブリッジ１２は、ホスト−ＰＣＩブリッジを含むシステムコントローラである。ノースブリッジ１２には、ホスト−ＰＣＩブリッジのほかにも、主記憶装置１４のメモリコントローラなどが内蔵されている。
【００２０】
サウスブリッジ１３は、配下に接続されているＰＣＩバス１６のインタフェース（ＰＣＩバスコントローラ）機能を有する。
【００２１】
複数のＰＣＩスロット１７は、ＰＣＩボード（拡張デバイス）を実装するために設けられている。本実施例では、ＰＣＩバス１６−１、１６−２の配下に、それぞれ、８個のＰＣＩスロットが設けられている。ＰＣＩバス１６−１の配下のＰＣＩスロットには、ＰＣＩボードとして、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）１７−１、ＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）１８−１、及びＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１９−１が接続されている。また、ＰＣＩバス１６−２の配下のＰＣＩスロットにも、同様に、ＳＣＳＩ（１７−２）、ＦＣ（１８−２）、ＮＩＣ（１９−２）が接続されている。尚、本実施例では、ＰＣＩボードとして、ＮＩＣ、ＳＣＳＩ、ＦＣの３種のインタフェースを例に挙げたが、他のＰＣＩスロットにも各種ＰＣＩボードのインタフェースが実装されていてもよい。
【００２２】
本実施例では、ＳＣＳＩ（１７−１、１７−２）の配下に、それぞれ、ＯＳを起動する際に用いるＢｏｏｔ  Ｄｉｓｋ（１−１、１−２）が接続されているものとする。また、ＦＣ（１８−１、１８−２）の配下に、それぞれ、ディスク（２−１、２−２）が接続されているものとする。
【００２３】
サービスプロセッサ２０は、本体系装置１０のＣＰＵ（１１−１〜１１−４）とは独立して、本体系装置１０の動作を制御するプロセッサである。詳細は後述するが、サービスプロセッサ２０は、障害発生によりコンピュータシステムが再起動されるときに、本体系装置１０の動作を制御する。
【００２４】
ＳＮＭＰマネージャは、サービスプロセッサ２０に接続されている。障害発生による再起動時には、ＳＮＭＰマネージャからの指示により、サービスプロセッサ２０が本体系装置１０の動作を制御する。ＳＮＭＰマネージャは、ネットワークを介してサービスプロセッサ２０に接続されていてもよい。
【００２５】
カード情報記憶部４０には、予め、複数のＰＣＩデバイスのうちでオペレーティングシステムの立ち上げに必要なデバイス（第１デバイス群）を特定するための情報が記憶されている。本実施例では、オペレーティングシステムの立ち上げに必要なデバイスは、ＳＣＳＩ（１７−１、１７−２）に接続されたＢｏｏｔ  Ｄｉｓｋ（１−１、１−２）である。したがって、カード情報記憶部４０には、ＳＣＳＩ（１７−１、１７−２）の接続されたＰＣＩスロットを特定するための情報が記憶されている。カード情報記憶部４０は、サービスプロセッサ２０に接続されている。サービスプロセッサ２０は、障害発生による再起動時に、カード情報記憶部４０にアクセスし、カード情報記憶部４０に記憶された情報に基づいて、本体系装置１０の動作を制御する。カード情報記憶部４０は、たとえば、ハードディスクなどで構成することができる。
【００２６】
続いて、本実施例にかかるコンピュータシステムの障害処理方法について説明する。図３は、そのコンピュータシステムの障害処理方法の動作を示すフローチャートである。
【００２７】
コンピュータシステムの運用中に、コンピュータシステムを継続して運用できないような障害が発生するとする（ステップＳ１０）。この場合、障害発生部位から、サービスプロセッサ２０に、障害の発生が通知される。
【００２８】
サービスプロセッサ２０は、ＤＣ  ＯＦＦ命令を図示しない電源供給回路に発行し、本体系装置１０に対する電源の供給を遮断する（ステップＳ２０）。また、サービスプロセッサ２０は、ＳＮＭＰマネージャ３０に対して、Ｒｅｓｅｔ  ｐｅｎｄｉｎｇのｔｒａｐを送信する。また、どの部位に障害が発生したかを示す情報も、ＳＮＭＰマネージャ３０に送信される。ＳＮＭＰマネージャ３０は、取得した情報に基づいて、本体形装置１０の一部を論理的に切り離して再立ち上げをすることで継続運用が可能であるかどうかを判断する。再立ち上げが可能である場合、ＳＮＭＰマネージャは、サービスプロセッサ２０に障害部位の切り離しを命令する。この場合、サービスプロセッサ２０は、障害部位を、論理的に切り離す。例えば、障害部位が、サウスブリッジ８の配下のＰＣＩバス１６−１であった場合には、サウスブリッジ１３−１を論理的に本体系装置１０から切り離す。
【００２９】
本体系装置１０に対する電源の供給停止と、障害部位の切り離しが終了した後に、ＳＮＭＰマネージャ３０は、サービスプロセッサ２０に、コンピュータシステムの再立ち上げを命令する（ステップＳ３０）。サービスプロセッサ２０は、再立ち上げの命令を受けると、本体系装置１０に電源供給を行うように、電源供給回路の動作を制御する。
【００３０】
続いて、各装置のＳＤテスト、ＭＥＭ１４のテストなどが行われ、さらに、Ｈａｎｄ  ｏｆｆが行われる（ステップＳ４０）。
【００３１】
続いて、ＰＣＩデバイスの初期化が行われる。この際、サービスプロセッサ２０は、カード情報記憶部４０を参照して、ＯＳの起動に必要なＰＣＩデバイスを特定する。そして、まず、ＯＳの起動に必要なＰＣＩデバイスのみを初期化する（ステップＳ５０）。本実施例では、Ｂｏｏｔ  Ｄｉｓｋの接続されたＳＣＳＩ（１７−１）のみを初期化する。サウスブリッジ１３−１が論理的に切り離されている場合には、サウスブリッジ１３−２の配下のＳＣＳＩ（１７−２）が初期化される。
【００３２】
ＯＳ立ち上げに必要なＰＣＩデバイス（ＳＣＳＩ１７−１）の初期化が終了すると、サービスプロセッサ２０は、Ｂｏｏｔ  ＤｉｓｋからＯＳのブートローダをＭＥＭ１４に読み込み、ＯＳの起動を開始する（ステップＳ６０）。
【００３３】
ＯＳの起動が完了し、ＯＳ  Ｒｅａｄｙ状態となると（ステップＳ７０）、ＣＰＵ（１１−１〜１１−４）が、ＯＳ上において障害処理を開始する（ステップＳ８０）。
【００３４】
サービスプロセッサ２０は、ステップＳ８０で障害処理が開始された後に、ステップＳ５０で初期化を行わなかった他のＰＣＩデバイスを初期化する（ステップＳ９０）。
【００３５】
全てのＰＣＩデバイスの初期化が終了すると、本実施例における一連の動作が終了する（ステップＳ１００）。
【００３６】
ＰＣＩデバイスの初期化は、ＰＣＩデバイスを有効な状態とするのにあたり、不可欠な作業である。ただし、この過程で、例えば、Ｏｐｔｉｏｎ  ＲＯＭが存在するか否かを確認し、Ｏｐｔｉｏｎ  ＲＯＭが存在すればＯｐｔｉｏｎ  ＲＯＭのコードをメモリ上に展開する、といった動作を行うため、多くの時間を要する。
【００３７】
そのため、全てのＰＣＩデバイスを初期化した後に、ＯＳの立ち上げを行う場合、コンピュータシステムの障害処理が開始される時間は遅くなってしまう。
【００３８】
これに対して、本実施例では、ＯＳ立ち上げに必要なＰＣＩデバイスのみをまず初期化し、ＯＳを立ち上げて障害処理が開始された後に他のＰＣＩデバイスの初期化が行われるので、障害処理着手前にＯＳ立ち上げに必要のないデバイスの初期化に要していた時間を省略することができる。ＰＣＩデバイスが多ければ多いほど、大幅に障害処理開始時間を早めることが可能である。
【００３９】
すなわち、本実施例によれば、システムリブートを伴う障害が発生した場合、ＯＳ立ち上げに必要な最小限なＰＣＩデバイスのみが初期化されるので、ＯＳ立ち上げに要する時間が短縮化され、素早く障害処理に着手することが可能となる。
【符号の説明】
【００４０】
１  ブートディスク
２  ディスク
１１  ＣＰＵ
１２  ノースブリッジ
１３  サウスブリッジ
１４  主記憶メモリ
１５  プロセッサバス
１６  ＰＣＩバス
１７  ＳＣＳＩ
１８  ＦＣ
１９  ＮＩＣ
１０  本体系装置
２０  サービスプロセッサ
３０  ＳＮＭＰマネージャ
４０  カード情報記憶部
【図１】
2010277514.tif 000003
【図２】
2010277514.tif 000004
【図３】
2010277514.tif 000005