(57)【要約】【課題】複数のＯＳが共通に使用する資源に障害が発生した場合に、各ＯＳ上で動作する保守用ソフトウェアが冗長な通報を行うことを防止でき、さらに他のＯＳ上の保守用ソフトウェアに障害通報を行わせることを可能とし、また保守用ソフトウェアの誤動作やエラーログが作成されることを防止でき、また障害の通知先となっているＯＳがクラッシュするなどして正常に動作していない場合でも、障害発生時の確実な通報が可能となる計算機システムを提供する。【解決手段】複数のＯＳを同時に動作できる単一の計算機システムであって、障害を検出する障害検出手段１５２、この障害に対して通知先のＯＳの集合を決定する障害通知先決定手段１５５、この集合の各々に対して障害を通知する障害通知手段１５１、障害通知先のＯＳの動作を監視するＯＳ監視手段１５０を設けて、ＯＳの動作に異常がある場合に障害の通知先を他のＯＳに切り替える。【選択図】        図２
2004213178.tif 000002
【特許請求の範囲】
【請求項１】
複数のオペレーティングシステムを同時に動作させることのできる単一の計算機システムであって、
前記計算機システムで発生する障害を検出する障害検出手段と、
前記障害検出手段により検出された障害に対してその通知先となるオペレーティングシステムの集合を決定する障害通知先決定手段と、
前記障害通知先決定手段により決定されたオペレーティングシステムの集合の各々に対し前記障害検出手段により検出された障害を通知する障害通知手段と、
前記障害検出手段が検出しうる障害の少なくとも１つに対しそれを通知すべきオペレーティングシステムの集合をユーザが設定できる障害通知先設定手段とを備え、
前記障害通知先決定手段が、前記障害通知先設定手段による設定に従って障害の通知先となるオペレーティングシステムの集合を決定することを特徴とする計算機システム。
【請求項２】
複数のオペレーティングシステムを同時に動作させることのできる単一の計算機システムであって、
前記計算機システム上で稼動するオペレーティングシステムの動作を監視するオペレーティングシステム監視手段と、
第１のオペレーティングシステムに通知されるように設定されていた障害を第２のオペレーティングシステムに通知するように設定を変更する障害通知先切り替え手段とを備え、
前記オペレーティングシステム監視手段が前記第１のオペレーティングシステムの動作の異常を検出した場合に、前記障害通知先切り替え手段により前記第１のオペレーティングシステムに通知されるように設定されていた障害の通知先を前記第２のオペレーティングシステムに切り替えることを特徴とする計算機システム。
【請求項３】
複数のオペレーティングシステムを同時に動作させることのできる単一の計算機システムであって、
前記計算機システムで発生する障害を検出する障害検出手段と、
前記障害検出手段により検出された障害に対してその通知先となるオペレーティングシステムの集合を決定する障害通知先決定手段と、
前記障害通知先決定手段により決定されたオペレーティングシステムの集合の各々に対し前記障害検出手段により検出された障害を通知する障害通知手段と、
前記障害検出手段が検出しうる障害の少なくとも１つに対しそれを通知すべきオペレーティングシステムの集合をユーザが設定できる障害通知先設定手段と、
前記計算機システム上で稼動するオペレーティングシステムの動作を監視するオペレーティングシステム監視手段と、
前記決定されたオペレーティングシステムの集合のうちの第１のオペレーティングシステムに通知されるように設定されていた障害を、前記決定されたオペレーティングシステムの集合に含まれない第２のオペレーティングシステムに通知するように設定を変更する障害通知先切り替え手段とを備え、
前記障害通知先決定手段が、前記障害通知先設定手段による設定に従って障害の通知先となるオペレーティングシステムの集合を決定し、
前記オペレーティングシステム監視手段が前記第１のオペレーティングシステムの動作の異常を検出した場合に、前記障害通知先切り替え手段により前記第１のオペレーティングシステムに通知されるように設定されていた障害の通知先を前記第２のオペレーティングシステムに切り替えることを特徴とする計算機システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のオペレーティングシステム（以下、ＯＳと称する）の稼動する計算機システムにおいて発生する障害をＯＳに通知する技術、および障害を通知されたＯＳがユーザに障害を通報する技術に適用して有効な技術に関する。
【０００２】
【従来の技術】
本発明者が検討したところによれば、計算機システムに関しては、以下のような技術が考えられる。
【０００３】
例えば、計算機システムで障害が発生した場合、迅速な保守作業による対応が望まれる。障害発生時にユーザに障害の発生を報告するため、ＯＳ上で実行される障害通報機能を備えた保守用ソフトウェアが広く使用されている。
【０００４】
通常、計算機システムにおける障害が発生した場合、障害の種類や障害の発生した部品、障害の発生した時刻などの情報を含む障害ログが主記憶等の記憶媒体内の障害ログ保存部に記録され、ＯＳがこの障害ログ保存部から障害ログを読み出すことによってＯＳに障害が通知される。このように通知された障害は前記保守用ソフトウェアにより、コンソール表示や電子メールの送信などの手段でユーザに通報される。
【０００５】
一方、１台の計算機上で複数のＯＳを実行する技術が知られている。例えば、１台の計算機システム上で複数の仮想的な計算機を同時に走行させるシステムとして、仮想計算機システムがある。仮想計算機システムでは、複数のＯＳを制御するプログラムであるハイパバイザ（ホストＯＳとも呼ばれる）が走行することにより、複数のＯＳのスケジューリング、割り込みのディスパッチ、命令シミュレーションなどの制御を行い、複数のＯＳの同時実行を可能としている（例えば、特許文献１参照）。
【０００６】
また、仮想計算機システムにおけるホストＯＳをハードウエア機構のように提供し、実計算機を論理的に分割しているようにユーザから見える論理分割システムがある。論理分割システムには、ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法がある（例えば、特許文献２参照）。また、論理プロセッサ設備を備えたデータプロセッシングシステム内で論理システムの起動を制御する装置がある（例えば、特許文献３参照）。
【０００７】
また、従来、複数のＯＳの稼動する計算機システムにおいて、障害の発生をユーザに通報する手段として以下の三つの方法が用いられていた。
【０００８】
第一の方法は、計算機システムに組み込まれたサービスプロセッサ上で動作するソフトウェアが障害をユーザに通報する方法である。
【０００９】
第二の方法は、仮想計算機を制御するソフトウェアが障害をユーザに通報する方法である。
【００１０】
第三の方法は、前記仮想計算機が自身の使用する資源の障害をＯＳに通知し、ＯＳ上で動作する保守用ソフトウェアが障害を通報する方法である。
【００１１】
上記第一および第二の方法では、障害の通報に用いるコンソールやネットワークインタフェースカードなどのデバイスをＯＳの使用可能なデバイスとは別に用意する必要があり、計算機システムの価格の上昇を招く。
【００１２】
また、これらのデバイスを制御するプログラムを前記サービスプロセッサ上で動作するソフトウェアまたは前記仮想計算機を制御するソフトウェアの中に持つ必要があるが、このプログラムの開発コストおよび保守コストのため、やはり計算機システムの価格の上昇を招く。
【００１３】
従って、安価に障害通報機能を提供するためには、上記第三の方法を採用することが望ましい。
【００１４】
【特許文献１】
特公昭６１ー２２８２５号公報
【００１５】
【特許文献２】
特公平６ー７３１０８号公報
【００１６】
【特許文献３】
特許第３０９０４５２号公報
【００１７】
【発明が解決しようとする課題】
ところで、前記のような計算機システムの技術について、本発明者が検討した結果、上記第三の方法には以下のような問題点があることが明らかとなった。
【００１８】
まず、複数のＯＳが共通に使用する資源に障害が発生した場合、複数のＯＳ上で動作する保守用ソフトウェアのそれぞれが障害を通報することになる。このように１回の障害発生に対して複数の通報がなされることは、保守作業を非常に煩雑にする。たとえば、必要な交換部品の数を決定するため、複数の通報の内容を検査し、同一の部品での障害を示している冗長な通報を除去する必要が生じる。
【００１９】
また、ＯＳ毎に異なる保守サービス会社と保守契約を結び、それぞれのＯＳで障害通報の届く保守拠点が異なる場合では、たとえば１つの部品の交換で対策可能な障害に対しても複数の保守拠点に通報が届けられることになり、無駄な保守作業の発生を招く可能性がある。
【００２０】
これらの問題は、複数のＯＳ上で動作する保守用ソフトウェアが連携して動作する機能を備え、無駄な通報を行わないようにすることによって回避可能であるが、全ての保守用ソフトウェアがそのような機能を持っているわけではない。
【００２１】
また、上記第三の方法では、あるＯＳがクラッシュした場合に、このＯＳのみに通知されるように設定されていた障害の通知が以後なされなくなるという問題がある。
【００２２】
また、上記第三の方法では、あるＯＳ上で実行される保守用ソフトウェアがこのＯＳに通知される障害に対応していない場合に、この障害に対して通報がなされないという問題がある。あるＯＳ上で保守用ソフトウェアが実行されていない場合も同様の問題が生じる。また、保守用ソフトウェアが対応していない障害を保守用ソフトウェアが受け取った場合、この保守用ソフトウェアが誤動作したり、エラーログを生成したりする可能性があり、システムの運用上問題となる。
【００２３】
そこで、本発明の目的は、複数のＯＳが共通に使用する資源に障害が発生した場合に、各ＯＳ上で動作する保守用ソフトウェアが冗長な通報を行うことを防止できる計算機システムを提供することにある。
【００２４】
さらに、本発明の他の目的は、あるＯＳ上で実行される保守用ソフトウェアが、このＯＳに通知される障害の一部に対応していない場合にも、他のＯＳ上の保守用ソフトウェアに障害通報を行わせることを可能とし、また保守用ソフトウェアの誤動作やエラーログが作成されることを防止できる計算機システムを提供することにある。
【００２５】
また、本発明のさらに他の目的は、障害の通知先となっているＯＳがクラッシュするなどして正常に動作していない場合でも、障害発生時の確実な通報が可能となる計算機システムを提供することにある。
【００２６】
【課題を解決するための手段】
本発明は、複数のＯＳを同時に動作させることのできる単一の計算機システムに適用され、以下のような特徴を有するものである。
【００２７】
（１）計算機システムで発生する障害を検出する障害検出手段と、障害検出手段により検出された障害に対してその通知先となるＯＳの集合を決定する障害通知先決定手段と、障害通知先決定手段により決定されたＯＳの集合の各々に対し障害検出手段により検出された障害を通知する障害通知手段と、障害検出手段が検出しうる障害の少なくとも１つに対しそれを通知すべきＯＳの集合をユーザが設定できる障害通知先設定手段とを備え、障害通知先決定手段が、障害通知先設定手段による設定に従って障害の通知先となるＯＳの集合を決定するものである。
【００２８】
（２）計算機システム上で稼動するＯＳの動作を監視するＯＳ監視手段と、あるＯＳに通知されるように設定されていた障害を他のＯＳに通知するように設定を変更する障害通知先切り替え手段とを備え、ＯＳ監視手段があるＯＳの動作の異常を検出した場合に、障害通知先切り替え手段によりあるＯＳに通知されるように設定されていた障害の通知先を他のＯＳに切り替えるものである。
【００２９】
（３）前記（１）と（２）を組み合わせたものである。
【００３０】
【発明の実施の形態】
以下、図面を用いて、本発明の実施の形態を詳細に説明する。
【００３１】
まず、図１により、本発明の一実施の形態である計算機システムの構成の一例を説明する。図１は本実施の形態である計算機システムを示す構成図である。
【００３２】
本実施の形態の計算機システムは、筐体１００の中に、システムバス１１０を介して接続されたプロセッサ１１１，１１２、主記憶１１４および温度センサ１１３、不揮発性メモリ１１５、ＩＯアダプタ１１６、タイマ１１７を有し、さらにＩＯアダプタ１１６には磁気ディスク装置１７０とコンソール装置１７１が接続されている。
【００３３】
温度センサ１１３は、筐体１００内の温度を測定し、測定値が一定の範囲から外れた場合、プロセッサ１１１またはプロセッサ１１２に対し温度障害を通知するための割り込みを発生する機能を有する。また、プロセッサ１１１，１１２は、キャッシュメモリを有し、自身のキャッシュメモリに１ビット障害が発生した場合にそれを自動的に訂正し、さらにキャッシュ障害が発生して訂正されたことをＯＳに通知するため、自身に対する割り込みを発生する機能を有する。
【００３４】
主記憶１１４には、障害検出手段１５２が配置されており、プロセッサ１１１または１１２が、前記の温度センサ１１３またはプロセッサ１１１，１１２による割り込みを受け取った時に障害検出手段１５２が実行される。障害検出手段１５２は、障害ログを作成した後、この障害ログを不揮発性メモリ１１５内の障害ログ保存部１２０に記録し、復帰するプログラムである。
【００３５】
タイマ１１７は、一定の時間毎にプロセッサ１１１または１１２に対する割り込みを発生させる機能を有し、プロセッサ１１１または１１２が前記割り込みを受け取ると、主記憶１１４内に配置されたハイパバイザ１９０が実行される。
【００３６】
また、主記憶１１４内には、ＯＳ１３０、ＯＳ１３１、ＯＳ１３２の３つのＯＳが配置されており、ハイパバイザ１９０の制御によりＯＳ１３０およびＯＳ１３２はプロセッサ１１１上で動作し、ＯＳ１３１はプロセッサ１１１およびプロセッサ１１２の２つのプロセッサ上で動作しているものとする。
【００３７】
また、ＯＳ１３０，１３１，１３２では、それぞれ障害発生時に通報を行う保守用ソフトウェア１８０，１８１，１８２が実行されている。
【００３８】
また、主記憶１１４内には、ＯＳ監視手段１５０、障害通知手段１５１、障害検出手段１５２、障害通知先設定手段１５３、障害通知先切り替え手段１５４、障害通知先決定手段１５５が配置されている。これらは、プロセッサ１１１またはプロセッサ１１２で実行されるプログラムである。
【００３９】
また、主記憶１１４内には、それぞれＯＳ１３０，１３１，１３２に通知されるログを保存する領域である個別障害ログ保存部１４０，１４１，１４２が設けられている。
【００４０】
さらに、主記憶１１４内には、障害検出手段１５２により検出される障害と、この障害を通知されるＯＳの集合との対応を保存する領域である障害通知先ＯＳ設定保存部１６０が設けられている。
【００４１】
続いて、図２により、本実施の形態の計算機システムにおいて、障害をＯＳに通知する処理の動作の概要を説明する。図２は本実施の形態の計算機システムにおける各要素がどのように連携して障害通知処理を行うかの概要を示す図である。
【００４２】
障害の通知処理は、障害検出手段１５２が割り込みにより起動されて障害ログを作成し、障害ログ保存部１２０に記録することによって始まる（ステップ２０１）。次に、ハイパバイザ１９０によって障害通知手段１５１が呼び出され、障害ログ保存部１２０から前記障害ログの取得を行う（ステップ２０２）。
【００４３】
さらに、障害通知手段１５１は、障害を通知すべきＯＳの集合を得るため、この障害ログの一部を引数として障害通知先決定手段１５５を呼び出す（ステップ２０３）。障害通知先ＯＳ設定保存部１６０には、どの障害をどのＯＳに通知すべきかを表す表が記録されており、障害通知先決定手段１５５は渡された障害ログの一部を用いて表を検索し、障害を通知すべきＯＳの集合を返り値として返す（ステップ２０４）。
【００４４】
次に、障害通知手段１５１は、前記障害を通知すべきＯＳの集合内の各ＯＳ１３０，１３１，１３２に対応する個別障害ログ保存部１４０，１４１，１４２に、前記障害ログのコピーを書き込む（ステップ２０５）。この後、障害通知手段１５１はハイパバイザ１９０に制御を返す。
【００４５】
以上により、個別障害ログ保存部１４０，１４１，１４２に記録された障害ログは、保守用ソフトウェア１８０，１８１，１８２からのポーリングによってＯＳ１３０，１３１，１３２に読み出され、このようにして障害の発生がＯＳに通知される（ステップ２０６）。保守用ソフトウェア１８０，１８１，１８２は、それぞれＯＳ１３０，１３１，１３２が提供するインタフェースを使用してＯＳが読み出した障害ログを取得し、コンソール１７１にログの内容を表示する。
【００４６】
また、前記障害通知先ＯＳ設定保存部１６０内の表は、障害通知先設定手段１５３、障害通知先切り替え手段１５４によって書き換えられ、これによって障害通知先ＯＳの設定が変更される。
【００４７】
例えば、障害通知先設定手段１５３は、ユーザによる入力を受け取り、この入力に基づいて前記障害通知先ＯＳ設定保存部１６０内の表を書き換える（ステップ２１１，２１２）。これによって、ユーザが障害通知先ＯＳを設定することが可能となる。
【００４８】
また、障害通知先切り替え手段１５４は、ＯＳの動作を監視するＯＳ監視手段１５０があるＯＳの動作に異常を検出した場合に呼び出され、このＯＳに通知するように設定されていた障害を、このＯＳに通知しないように前記障害通知先ＯＳ設定保存部１６０内の表を書き換えることで障害通知先ＯＳの切り替えを行う（ステップ２２１，２２２）。
【００４９】
本実施の形態では、ＯＳ監視手段１５０はポーリングによる個別障害ログ保存部１４０，１４１，１４２からの読み出しが一定時間行われない場合に、この個別障害ログ保存部に対応するＯＳの動作に異常が発生したと判定し、上記の手順に従って切り替えを行う。
【００５０】
続いて、具体的にどのようなステップで、以上に説明した処理が実行されるかを詳細に説明する。
【００５１】
最初に、図３および図４により、障害検出手段１５２による障害の検出について説明する。図３は障害検出手段１５２の処理を示す流れ図である。図４は障害ログ保存部１２０に保存される障害ログのフォーマットを示す図である。
【００５２】
一般に、計算機システムでは割り込みの発生時に割り込みの種類ごとに実行されるプログラム（割り込みハンドラ）を設定可能であり、障害検出手段１５２は温度センサ１１３またはプロセッサ１１１，１１２からの割り込みの発生時に実行されるプログラムであるものとする。
【００５３】
また一般に、割り込みハンドラを実行しているプロセッサは割り込みの種類を示す値をレジスタに保持するが、本実施の形態でもレジスタの値によって割り込みの種類を判別可能であるとする。
【００５４】
障害検出手段１５２は、まずステップ３００で、前記レジスタの値から障害の種類を判定する。前記レジスタの値が温度センサ１１３からの温度障害による割り込みを示している場合には、ステップ３０１で、温度障害の障害ログを作成する。また、前記レジスタの値がプロセッサのキャッシュメモリ障害による割り込みを示している場合には、ステップ３０２で、プロセッサ障害の障害ログを作成する。
【００５５】
その後、ステップ３０３で、作成された障害ログを障害ログ保存部１２０に保存し、復帰する。障害ログ保存部１２０に保存される障害ログのフォーマットを図４に示す。障害ログは、障害の種類を表す障害ＩＤ、障害ログを書き込んだ時点での時刻を示す時刻印および温度センサの値やエラーの発生したキャッシュメモリのアドレスなど障害の内容を示す障害データからなっている。本実施の形態では、温度障害の障害ＩＤは１、プロセッサ１１１の障害ＩＤは２、プロセッサ１１２の障害ＩＤは３である。
【００５６】
次に、図５により、検出された障害がどのようにＯＳに通知されるかを説明する。図５はタイマ割り込みの発生時に実行されるハイパバイザ１９０の処理を示す流れ図である。
【００５７】
タイマ割り込み発生後、ハイパバイザ１９０は、ステップ５００で、ＯＳ監視手段１５０を呼び出し、その後、ステップ５０１で、障害通知手段１５１を呼び出し、その後、ステップ５０２で、ＯＳのスケジューリングを行い、次に実行するＯＳを決定後、ステップ５０３で、このＯＳに制御を渡す。タイマ割り込み毎に、以上に述べた処理が実行される。
【００５８】
次に、図６により、ＯＳ監視手段１５０の処理を説明する。図６はＯＳ監視手段１５０の処理を示す流れ図である。
【００５９】
ＯＳ監視手段１５０は、自身の呼ばれた回数をカウントする内部変数ｃと、ｃが０であった時点に個別障害ログ保存部１４０，１４１，１４２がプロセッサによってリードされた回数が何回であったかをそれぞれ保持する内部変数ｐ０，ｐ１，ｐ２を持つ。
【００６０】
ＯＳ監視手段１５０は、まずステップ６００で、ｃの値を１増やし、ステップ６０１で、ｃの値が１０００に達したか否かを検査する。本実施の形態では、ｃの値が１０００に達している場合には、ｃが０であった時点から十分な時間が経過しており、ＯＳが正常に動作している場合にはその間に個別障害ログ保存部１４０，１４１，１４２はそれぞれＯＳ１３０，１３１，１３２によって最低一度は読み込まれると仮定できるとする。
【００６１】
ステップ６０１で、ｃの値が１０００に達していないと判定された場合はそのまま復帰する。ｃの値が１０００に達したと判定された場合は、ステップ６０３で、個別障害ログ保存部１４０がプロセッサにリードされた回数を求め、この回数がｐ０の値よりも大きいことを検査する。
【００６２】
ステップ６０３の判定結果が偽の場合は、ＯＳ１３０が正常に動作していないと判断されるので、ステップ６０４で、障害通知先切り替え手段１５４を呼び出し、ＯＳ１３０に通知されるように設定されていた障害の通知先を他のＯＳに切り替える。
【００６３】
ステップ６０５〜６０８では、個別障害ログ保存部１４１，１４２について同様の処理を行う。以上の処理の後、ステップ６０９で、ｐ０，ｐ１，ｐ２の値を更新し、復帰する。
【００６４】
なお、ステップ６０３，６０５，６０７，６０９で、個別障害ログ保存部１４０，１４１，１４２がプロセッサにリードされた回数を取得しているが、本実施の形態では、プロセッサ１１１，１１２は個別障害ログ保存部１４０，１４１，１４２のリード回数を計測するレジスタを保持しており、このレジスタを読むことによって回数を取得するものとする。
【００６５】
次に、図７により、障害通知手段１５１の処理の内容を説明する。図７は障害通知手段１５１の処理を示す流れ図である。
【００６６】
障害通知手段１５１は、自身が最後に読み込んだ障害ログの時刻印を保持する内部変数ｔを持つ。障害通知手段１５１は、ハイパバイザ１９０によって呼び出された後、ステップ７００で、障害ログ保存部１２０内の障害ログの時刻印とｔとを比較し、ｔより大きい時刻印を持つ障害ログが存在するかどうかを判定する。
【００６７】
存在する場合、ステップ７０１で、そのような障害ログのうち時刻印が最小のものを１つ読み込み、ｔの値を読み込んだ障害ログの時刻印に更新する。その後、ステップ７０２で、前記読み込んだ障害ログの障害ＩＤを引数として障害通知先決定手段１５５を呼び出し、返り値として得た障害を通知すべきＯＳの集合を得る。
【００６８】
その後、ステップ７０３で、この集合に含まれるＯＳに対応する個別障害ログ保存部に前記読み込んだ障害ログのコピーを書き込み、ステップ７００に戻る。ステップ７００で、ｔより大きい時刻印を持つ障害ログが存在しない場合、復帰する。
【００６９】
次に、図８により、障害通知先決定手段１５５の処理について説明する。図８は障害通知先ＯＳ設定保存部１６０内の表を示す図である。
【００７０】
本実施の形態では、障害通知先ＯＳ設定保存部１６０内に図８に示される表を保持している。この表で、「Ｙ」となっているセルは、そのセルの行の障害ＩＤを持つ障害をそのセルの列のＯＳに通知することを表し、「Ｎ」の場合は通知しないことを表す。
【００７１】
図８の表では、障害ＩＤが１の障害をＯＳ１３０，１３１，１３２に、障害ＩＤが２の障害をＯＳ１３０，１３１，１３２に、障害ＩＤが３の障害をＯＳ１３１に通知することを表している。障害通知先決定手段１５５は、引数である障害ＩＤからこの表の行を検索し、その行で「Ｙ」となっている各セルの列のＯＳの集合を返り値として返す。
【００７２】
次に、図９により、ＯＳ１３０，１３１，１３２および保守用ソフトウェア１８０，１８１，１８２の処理について説明する。図９は、保守用ソフトウェア１８０，１８１，１８２の処理を示す流れ図である。
【００７３】
本実施の形態では、ＯＳ１３０，１３１，１３２は、ＧＥＴ＿ＥＲＲＯＲ＿ＬＯＧと言う名前のシステムコールを備え、このシステムコールは個別障害ログ保存部１４０，１４１，１４２内の障害ログを読み出し、また読み出した障害ログを消去し、読み出したログを呼び出し元に返り値として渡すものとする。保守用ソフトウェア１８０，１８１，１８２は図９に示される処理を行う。
【００７４】
まず、ステップ９００で、システムコールＧＥＴ＿ＥＲＲＯＲ＿ＬＯＧを呼び出す。この呼び出しで障害ログを取得できなかった場合には、ステップ９０５で、一定時間スリープし、ステップ９００に戻る。障害ログを取得できた場合には、ステップ９０２で、コンソールに障害ログの内容を表示することでユーザに障害を通報する。
【００７５】
その後、ステップ９０３で、障害ログの障害ＩＤから障害が温度障害かどうかを判定し、温度障害の場合にはステップ９０４で、ＯＳのシャットダウン処理を行う。その他の障害の場合には、ステップ９０５で、一定時間スリープした後、ステップ９００に戻る。
【００７６】
次に、図１０により、障害通知先設定手段１５３について説明する。図１０は設定画面を示す図である。
【００７７】
本実施の形態では、障害通知先設定手段１５３は計算機システムの起動時に実行され、図１０のような設定画面をコンソールに表示し、ユーザがチェックボックスにチェックすることにより、各障害を通知するＯＳの集合を指定するユーザインタフェースを備える。障害通知先設定手段１５３は、ユーザが図１０の「ＯＫ」ボタンを押したことを検知し、ユーザの入力通りに障害通知先ＯＳ設定保存部１６０内の表を書き換えることで障害の通知先の設定を行う。
【００７８】
たとえば、ユーザが、温度障害ではデータの保全を行うため、全ＯＳに通知して保守用ソフトウェアにシャットダウンを行わせたいが、プロセッサのキャッシュ障害については軽度の障害であるためＯＳ１３１にのみ通知し、ＯＳ１３０，１３２上の保守用ソフトウェア１８０，１８２による通報を行わせないようにしたいと考えた場合、図１０のようにチェックを行うことで実現できる。
【００７９】
また、このように障害の通知先ＯＳを決定できることは、誤動作を防ぐ上でも有用である。たとえば、ＯＳ１３２上で動作する保守用ソフトウェア１８２が温度障害の障害ログに対応しておらず、障害ログを読み込んだ場合に誤動作したり、エラーログを生成する可能性がある場合、温度障害をＯＳ１３２に通知しないように設定することで、保守用ソフトウェア１８２が誤動作したり、エラーログを生成することを防止できる。
【００８０】
次に、図１１により、障害通知先切り替え手段１５４について説明する。図１１は障害通知先切り替え手段１５４により変更された障害通知先ＯＳ設定保存部１６０内の表を示す図である。
【００８１】
障害通知先切り替え手段１５４は、前述のようにＯＳ監視手段１５０がＯＳの動作に異常を検出した場合に呼び出される。本実施の形態では、障害通知先切り替え手段１５４は動作に異常を検出したＯＳがＯＳ１３０，１３１，１３２のいずれのＯＳであるかを識別する識別子を引数として受け取り、この識別子を用いて障害通知先ＯＳ設定保存部１６０内の表を検索することにより、この識別子の示すＯＳが通知先に設定されている障害ＩＤを得た後、その障害ＩＤを持つ障害の通知先ＯＳを他のＯＳに切り替えるために障害通知先ＯＳ設定保存部１６０内の表を書き換える。
【００８２】
たとえば、障害通知先ＯＳ設定保存部１６０内の表が前述した図８に示されている状態であった場合に、ＯＳ監視手段１５０がＯＳ１３１の動作に異常を検出したとする。すると、障害通知先切り替え手段１５４は、ＯＳ１３１が通知先に設定されている障害の障害ＩＤが１および２であることを求め、これらの障害ＩＤの示す障害の通知先ＯＳをＯＳ１３０に切り替えるために、障害通知先ＯＳ設定保存部１６０内の表を図１１に示されている状態へと書き換える。以上により、以後プロセッサ１１２のキャッシュメモリ障害をＯＳ１３０に通知され、保守用ソフトウェア１８０がユーザに通報することが可能となる。
【００８３】
このようにして、ＯＳがクラッシュするなどして障害の通報を行えなくなった場合でも、障害の通知先となるＯＳが自動的に変更され、以後も他のＯＳ上の保守用ソフトウェアにより障害の通報を行うことができる。
【００８４】
なお、以上に述べた実施の形態は本発明の実施方法の一例であり、本発明の内容が以上に述べた実施の形態に限定されることを示すものではない。
【００８５】
以上に述べた実施の形態では、ＯＳ監視手段１５０はプロセッサのレジスタを読むことによって個別障害ログ保存部のリード回数を計測し、この回数が一定時間変化しないことを検出することによりＯＳの動作の異常を検出しているが、別の方法によって行うこともできる。
【００８６】
たとえば、プロセッサ１１１，１１２が個別障害ログ保存部への読み出しが発生した場合に割り込みを発生する機能を備えているならば、この割り込みの割り込みハンドラでリード回数を計測することができ、これによってＯＳの監視を行える。また、ＯＳが定期的に特定の関数を実行することがわかっている場合は、この関数の呼び出しの回数を計測することで監視を行うことができる。
【００８７】
また、障害通知先設定手段１５３は、前記図１０に示したようなユーザインタフェースを備える必要はなく、ユーザが障害通知先のＯＳの集合を設定することさえできれば、テキストベースのユーザインタフェースや、またはスイッチによる設定などであってもよい。
【００８８】
【発明の効果】
以上に述べたように、本発明によれば、障害を通知するＯＳを限定することにより、複数のＯＳが共通に使用する資源に障害が発生した場合に、各ＯＳ上で動作する保守用ソフトウェアが冗長な通報を行うことを防止できる。さらに、あるＯＳ上で実行される保守用ソフトウェアが、このＯＳに通知される障害の一部に対応していない場合にも、他のＯＳを障害の通知先に設定することにより、他のＯＳ上の保守用ソフトウェアに障害通報を行わせることが可能となる。また、他のＯＳを障害の通知先に設定することにより、保守用ソフトウェアの誤動作やエラーログが作成されることを防止できる。
【００８９】
また、本発明によれば、障害の通知先となっているＯＳがクラッシュするなどして正常に動作していない場合でも、障害の通知先を正常に動作している他のＯＳに切り替えることにより、障害発生時の確実な通報が可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態である計算機システムを示す構成図である。
【図２】本発明の一実施の形態である計算機システムにおいて、障害通知処理の動作概要を示す図である。
【図３】本発明の一実施の形態である計算機システムにおいて、障害検出手段の処理を示す流れ図である。
【図４】本発明の一実施の形態である計算機システムにおいて、障害ログのフォーマットを示す図である。
【図５】本発明の一実施の形態である計算機システムにおいて、ハイパバイザの処理を示す流れ図である。
【図６】本発明の一実施の形態である計算機システムにおいて、ＯＳ監視手段の処理を示す流れ図である。
【図７】本発明の一実施の形態である計算機システムにおいて、障害通知手段の処理を示す流れ図である。
【図８】本発明の一実施の形態である計算機システムにおいて、障害通知先ＯＳ設定保存部内の表を示す図である。
【図９】本発明の一実施の形態である計算機システムにおいて、保守用ソフトウェアの処理を示す流れ図である。
【図１０】本発明の一実施の形態である計算機システムにおいて、設定画面を示す図である。
【図１１】本発明の一実施の形態である計算機システムにおいて、障害通知先切り替え手段により変更された障害通知先ＯＳ設定保存部内の表を示す図である。
【符号の説明】
１００…筐体、１１０…システムバス、１１１，１１２…プロセッサ、１１３…温度センサ、１１４…主記憶、１１５…不揮発性メモリ、１１６…ＩＯアダプタ、１１７…タイマ、１２０…障害ログ保存部、１３０，１３１，１３２…ＯＳ、１４０，１４１，１４２…個別障害ログ保存部、１５０…ＯＳ監視手段、１５１…障害通知手段、１５２…障害検出手段、１５３…障害通知先設定手段、１５４…障害通知先切り替え手段、１５５…障害通知先決定手段、１６０…障害通知先ＯＳ設定保存部、１７０…磁気ディスク装置、１７１…コンソール装置、１８０，１８１，１８２…保守用ソフトウェア、１９０…ハイパバイザ。
【図１】
2004213178.tif 000003
【図２】
2004213178.tif 000004
【図３】
2004213178.tif 000005
【図４】
2004213178.tif 000006
【図５】
2004213178.tif 000007
【図６】
2004213178.tif 000008
【図７】
2004213178.tif 000009
【図８】
2004213178.tif 000010
【図９】
2004213178.tif 000011
【図１０】
2004213178.tif 000012
【図１１】
2004213178.tif 000013