(57)【要約】【課題】  障害の発生したパーティションのダウンタイムと障害解析時間を短縮することが可能な技術を提供する。【解決手段】  複数の論理的なパーティションからなる計算機で障害情報を解析する障害情報解析方法において、一部のパーティションで障害が発生してオペレーティングシステムが停止した場合に、その障害の発生したパーティションで空きメモリ領域を使用することを示す情報と、保守パーティションで前記障害の発生したメモリ領域を使用することを示す情報とを記憶装置に格納するステップと、前記障害の発生したパーティションで使用するメモリ領域の情報を前記記憶装置から読み出してその障害の発生したパーティションを再起動するステップと、前記保守パーティションで使用するメモリ領域の情報を前記記憶装置から読み出して前記障害の発生したメモリ領域の内容を参照し、その障害情報の解析を行うステップとを有するものである。【選択図】図１
2007133544.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理的なパーティションからなる計算機で障害情報を解析する障害情報解析方法において、
一部のパーティションで障害が発生してオペレーティングシステムが停止した場合に、その障害の発生したパーティションで空きメモリ領域を使用することを示す情報と、保守パーティションで前記障害の発生したメモリ領域を使用することを示す情報とを記憶装置に格納するステップと、前記障害の発生したパーティションで使用するメモリ領域の情報を前記記憶装置から読み出してその障害の発生したパーティションを再起動するステップと、前記保守パーティションで使用するメモリ領域の情報を前記記憶装置から読み出して前記障害の発生したメモリ領域の内容を参照し、その障害情報の解析を行うステップとを有することを特徴とする障害情報解析方法。
【請求項２】
各パーティションが使用するメモリ領域の情報と、どのパーティションにも使用されていない空きメモリ領域の情報とを記憶装置内のメモリ管理テーブルに保持し、障害が発生したタイミングで記憶装置により前記メモリ管理テーブルの内容を書き換えることを特徴とする請求項１に記載された障害情報解析方法。
【請求項３】
障害発生を契機に前記記憶装置への情報の格納を行うことにより、障害が発生したパーティションに対しては、空きメモリ領域を割り当てて再起動させるステップと、障害解析プログラムを備えたパーティションに対しては、障害が発生してシステム停止になった際のパーティションのメモリ内容を参照させるステップとを有することを特徴とする請求項１または請求項２のいずれかに記載された障害情報解析方法。
【請求項４】
障害解析終了後、前記障害の発生したメモリ領域が空きメモリ領域であることを示す情報を記憶装置に格納することにより、その障害の発生したメモリ領域を空きメモリ領域として認識させるステップを有することを特徴とする請求項１乃至請求項３のいずれか１項に記載された障害情報解析方法。
【請求項５】
複数の物理的なパーティションからなる計算機で障害情報を解析する障害情報解析方法において、
一部のパーティションで障害が発生してオペレーティングシステムが停止した場合に、その障害の発生したパーティションと空きメモリ領域とを接続することを示す情報と、保守パーティションと前記障害の発生したメモリ領域とを接続することを示す情報とを記憶装置に格納するステップと、前記パーティションとメモリ領域との接続を示す情報を前記記憶装置から読み出してメモリ領域の電気的な接続の変更を接続切替装置へ要求するステップと、前記接続切替装置により前記障害の発生したパーティションへ接続されたメモリ領域を使用してその障害の発生したパーティションを再起動するステップと、前記接続切替装置により前記保守パーティションへ接続された、前記障害の発生したメモリ領域の内容を参照し、その障害情報の解析を行うステップとを有することを特徴とする障害情報解析方法。
【請求項６】
計算機内の各リソースと使用しているパーティションとを記憶装置内の相互接続網管理テーブルで対応付け、障害が発生したタイミングで記憶装置により前記相互接続網管理テーブルの内容を書き換えることを特徴とする請求項５に記載された障害情報解析方法。
【請求項７】
障害発生を契機に前記記憶装置への情報の格納を行うことにより、障害が発生したパーティションに対しては、空きメモリ領域を割り当てて再起動させるステップと、障害解析プログラムを備えたパーティションに対しては、障害が発生してシステム停止になった際のパーティションのメモリ内容を参照させるステップとを有することを特徴とする請求項５または請求項６のいずれかに記載された障害情報解析方法。
【請求項８】
障害解析終了後、前記障害の発生したメモリ領域が空きメモリ領域であることを示す情報を記憶装置に格納することにより、その障害の発生したメモリ領域を切り離し、空きメモリ領域として再利用するステップを有することを特徴とする請求項５乃至請求項７のいずれか１項に記載された障害情報解析方法。
【請求項９】
複数の論理的なパーティションからなる計算機において、
一部のパーティションで障害が発生してオペレーティングシステムが停止した場合に、その障害の発生したパーティションで空きメモリ領域を使用することを示す情報と、保守パーティションで前記障害の発生したメモリ領域を使用することを示す情報とを記憶装置に格納し、前記障害の発生したパーティションで使用するメモリ領域の情報を前記記憶装置から読み出してその障害の発生したパーティションを再起動する手段と、前記保守パーティションで使用するメモリ領域の情報を前記記憶装置から読み出して前記障害の発生したメモリ領域の内容を参照し、その障害情報の解析を行う手段とを備えることを特徴とする計算機。
【請求項１０】
前記記憶装置は、各パーティションが使用するメモリ領域の情報と、どのパーティションにも使用されていない空きメモリ領域の情報とを保持するメモリ管理テーブルを有し、障害が発生したタイミングで前記メモリ管理テーブルの内容を書き換えるものであることを特徴とする請求項９に記載された計算機。
【請求項１１】
障害発生を契機に前記記憶装置への情報の格納を行うことにより、障害が発生したパーティションに対しては、空きメモリ領域を割り当てて再起動させる手段と、障害解析プログラムを備えたパーティションに対しては、障害が発生してシステム停止になった際のパーティションのメモリ内容を参照させる手段とを備えることを特徴とする請求項９または請求項１０のいずれかに記載された計算機。
【請求項１２】
障害解析終了後、前記障害の発生したメモリ領域が空きメモリ領域であることを示す情報を記憶装置に格納することにより、障害が発生してシステム停止になった際の当該パーティションのメモリ内容を空きメモリ領域として認識させる手段を備えることを特徴とする請求項９乃至請求項１１のいずれか１項に記載された計算機。
【請求項１３】
複数の物理的なパーティションからなる計算機において、
一部のパーティションで障害が発生してオペレーティングシステムが停止した場合に、その障害の発生したパーティションと空きメモリ領域とを接続することを示す情報と、保守パーティションと前記障害の発生したメモリ領域とを接続することを示す情報とを記憶装置に格納し、前記パーティションとメモリ領域との接続を示す情報を前記記憶装置から読み出してメモリ領域の電気的な接続の変更を接続切替装置へ要求し、当該接続切替装置により前記障害の発生したパーティションへ接続されたメモリ領域を使用してその障害の発生したパーティションを再起動する手段と、前記接続切替装置により前記保守パーティションへ接続された、前記障害の発生したメモリ領域の内容を参照し、その障害情報の解析を行う手段とを備えることを特徴とする計算機。
【請求項１４】
前記記憶装置は、計算機内の各リソースと使用しているパーティションとを対応付ける相互接続網管理テーブルを有し、障害が発生したタイミングで記憶装置により前記相互接続網管理テーブルの内容を書き換えるものであることを特徴とする請求項１３に記載された計算機。
【請求項１５】
障害発生を契機に前記記憶装置への情報の格納を行うことにより、障害が発生したパーティションに対しては、空きメモリ領域を割り当てて再起動させる手段と、障害解析プログラムを備えたパーティションに対しては、障害が発生してシステム停止になった際のパーティションのメモリ内容を参照させる手段とを備えることを特徴とする請求項１３または請求項１４のいずれかに記載された計算機。
【請求項１６】
障害解析終了後、前記障害の発生したメモリ領域が空きメモリ領域であることを示す情報を記憶装置に格納することにより、障害が発生してシステム停止になった際の当該パーティションのメモリを切り離し、空きメモリ領域として再利用する手段を備えることを特徴とする請求項１３乃至請求項１５のいずれか１項に記載された計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子計算機の障害発生時に障害情報の解析を行う障害情報解析技術に関し、特に複数のパーティション（仮想計算機）からなる電子計算機で障害が発生した場合にその障害情報を解析する障害情報解析技術に適用して有効な技術に関するものである。
【背景技術】
【０００２】
従来の電子計算機システムでは、システムパニック等の障害が発生してシステムが停止した場合、その原因を調査する上で有効となる障害が発生してシステムが停止になった際のメモリ内容を外部記憶装置に保存し（メモリダンプ採取）、メモリダンプ採取が完了してからシステムの再立ち上げを行なっていた。この様な従来例としては、特許文献１等が挙げられる。
【０００３】
採取されたメモリダンプを実際に解析する保守員は、遠隔地にいることが一般的である。また、顧客情報が入った顧客システムに保守員が直接ログインすることはできないため、その障害が発生してシステム停止になった際の当該パーティションのメモリ内容を遠隔地にいる保守作業者がいる場所まで運ぶ、もしくは、ユーザサイト側に保守用の電子計算機を別途用意し、その電子計算機に障害が発生してシステム停止になった際の当該パーティションのメモリ内容を転送し、保守員がそこにリモートログインして解析する。
【０００４】
また、１台の電子計算機内のリソース（CPU、メモリ、I/Oスロット、ハードディスク、ネットワークアダプタ、SCSIやFibre Channel等のストレージアダプタ、DVDドライブ、DATドライブ等）をグループに分け、複数のオペレーティングシステムを稼動させるパーティショニング技術が従来から知られている。
【０００５】
パーティショニングには様々なメリットがあり、第１に、複数のオペレーティングシステムが１台のサーバで同時に実行できるので、ハードウェアの購入コストの低減や設置面積の縮小等が挙げられる。
【０００６】
第２に、それぞれのパーティションは独立しているため、他のパーティションに対して影響を与えない。つまり、１つのパーティションで発生した障害は、そのパーティションにのみ影響を及ぼし、他のパーティションには一切影響を与えない。
【０００７】
第３に、電子計算機が持つリソースの範囲内において、自由にリソースの配分を決めることができるので、様々なリソース要求に合致する様に、パーティションを構成することができる。
【０００８】
第４に、それぞれのパーティションは独立しており、他のパーティションにアクセスしない構成とすることにより、部外者が無関係のパーティションにアクセスできないため、セキュリティが向上する。
【０００９】
計算機上のリソースを分割し、他のパーティションに自分のリソースを使用させない仕組みとして、論理パーティションと物理パーティションがある。論理パーティションに関する従来技術としては、例えば、特許文献２に記載されている。物理パーティションに関する従来技術としては、特許文献３等に記載されている。
【００１０】
論理パーティションは、電子計算機内のＣＰＵ、メモリ、I/Oスロットとパーティションが定義されたテーブルがあり、どのパーティションでどのリソースを使用するかをマッピングしている。各パーティションは、このテーブルのマッピングを遵守することで他のパーティションのリソースを使用できない様にしている。例えば、特許文献２が挙げられる。物理パーティションは、あるパーティションで使用するＣＰＵ、メモリ、I/Oスロットをクロスバー・スイッチで電気的に接続することで、他のパーティションで使用するＣＰＵ、メモリ、I/Oスロットと電気的に分離し、他のパーティションのリソースを使用できない様にしている。
【００１１】
パーティション割当てテーブルには、ＣＰＵ、メモリの他にI/Oスロットが定義されており、ディスクやネットワークも同様にパーティショニングされる。
【００１２】
電子計算機上で動作するプログラムのデバッグに、ダンプ解析システムを用いる方法がある。本発明では障害解析プログラムとして使用している。ダンプ解析システムは、ＯＳに標準で提供されることが多く、例えば非特許文献１のChapter 7で紹介されているadb等がある。
【００１３】
この様なダンプ解析システムは、ＯＳカーネルの内部構造情報を利用できるので、ＯＳカーネルのシンボル情報を用いたメモリ内容表示といった複雑な解析を行うことができる。
【００１４】
ダンプ解析システムは、メモリ内容をディスク等のメディアに保存したダンプファイルを参照し、障害が発生してシステムが停止した際のメモリの内容を出力する。また計算機上のメモリを、ダンプファイルへのアクセス方法と同じインタフェースを持つ擬似的なファイルとみなし、ダンプ解析システムから直接参照する方法がある。この擬似的なファイルは、/dev/memとして知られており、ダンプファイルを保存することなくダンプ解析ツールを用いてメモリ内容を解析することが可能である。
【００１５】
また、複数のオペレーティングシステムを稼働させる電子計算機システムにおいて、ハードウェア資源の構成管理、障害監視、制御を行い、パーティションの一部のハードウェアに障害が発生した際に、障害が発生した事実を管理コンソールに通知する方法が実現されており、従来の例としては、特許文献４等が挙げられている。
【００１６】
【特許文献１】特開平１０−３３３９４４号公報
【特許文献２】特開２００４−３０３２３７号公報
【特許文献３】特開２００３−６７３５２号公報
【特許文献４】特開２００２−２２９８０６号公報
【非特許文献１】Chris Drake, Kimberley Brown, "Panic！ UNIX SYSTEM CRASH DUMP ANALYSIS", Prentice Hall PTR, May 19, 1995
【発明の開示】
【発明が解決しようとする課題】
【００１７】
(１)基幹業務において障害が発生した場合、業務を継続する為の迅速な再起動と並行して、原因究明の為の障害が発生してシステム停止になった際の当該パーティションのメモリ内容の収集と解析を行なうことが重要な課題である。上記特許文献１の背景技術は、障害が発生してシステム停止になった際の当該パーティションのメモリ内容を業務用の電子計算機から保守用の電子計算機に転送する必要があり、転送に時間がかかり、結果として、障害解析作業開始が遅れる欠点があった。
【００１８】
(２)原因究明に必要な障害が発生してシステム停止になった際の当該パーティションのメモリ内容を外部記憶装置へ保存するメモリダンプのタイミングは、システム再起動時である。また、最近は大規模なメモリを持つ電子計算機システムが多くなり、メモリダンプを外部記憶装置へ保存する処理に費やす時間も膨大となり、メモリダンプを外部記憶装置へ保存する処理が終了しなければ、そのメモリ領域を利用してシステムの再起動を行うことができないため、システムが立ち上がる時間が遅れ、システムダウンタイムを増加させる問題がある。
【００１９】
本発明の目的は上記問題を解決し、障害の発生したパーティションのダウンタイムと障害解析時間を短縮することが可能な技術を提供することにある。
【課題を解決するための手段】
【００２０】
本発明は、複数のパーティションからなる電子計算機において、障害の発生したパーティションを未使用のメモリ領域により再起動すると共に、障害の発生したメモリ領域の内容を別パーティションから読み込むことで解析を行うものである。
【００２１】
本発明による障害情報解析機能を有する電子計算機は、１台の電子計算機を複数のパーティション（仮想計算機）に分け、各パーティション上でオペレーティングシステムを稼動させる電子計算機システムである。
【００２２】
その電子計算機システム内には、各パーティションが使用するメモリ領域と、どのパーティションにも使用されていない空きメモリ領域の情報を保持するメモリ管理テーブルを設けており、あるパーティションで障害が発生した時に、メモリ管理テーブルの内容を書き換えることで、障害が発生したパーティションには再起動に必要な空きメモリを割り当て即座に再起動させる。
【００２３】
一方、障害が発生したパーティションのメモリ領域には障害が発生してシステム停止になった際の当該パーティションのメモリの内容が含まれており、保守用パーティションに対してそのメモリ領域へのアクセスを許可する。保守員は保守用パーティションにログインし、障害解析プログラムを使用することで、障害が発生してシステム停止になった際の当該パーティションのメモリ内容を参照でき、課題を解決する。また、保守員の手動による解析ではなく、障害解析を自動化して効率的に解析を行なうことで課題を解決するものとしても良い。
【発明の効果】
【００２４】
本発明によれば、障害の発生したパーティションのダウンタイムと障害解析時間を短縮することが可能である。
【発明を実施するための最良の形態】
【００２５】
（実施形態１）
以下に複数の論理的なパーティションからなる電子計算機で障害情報を解析する実施形態１の障害情報解析方法について説明する。
【００２６】
図１は本実施形態の障害情報解析機能を有する電子計算機の構成を示す図である。図１に示す様に本実施形態の障害情報解析機能を有する計算機１０２は、障害情報解析機能を有する計算機全体を制御するＣＰＵ１０４〜１０７、データを格納しＣＰＵから直接読み書きするメモリ１１４、ブート手順が格納されているハードディスク１０８〜１１１で構成され、メモリ１１４内には、各パーティションで使用するメモリ領域１１５〜１１８の他に、未使用のメモリ領域１１９、各パーティションの管理を行なうパーティション管理部１２０、障害情報解析機能を有する計算機１０２の全メモリ領域と使用しているパーティションを対応付けるメモリ管理テーブル１２４、パーティションで障害が発生したことを検知し、また、障害によって停止したパーティションの再起動を実施するパーティション制御１２１、メモリ管理テーブル１２４に空きメモリ領域（以後、reserve領域と呼ぶ）があるかどうかの確認と空き領域が十分に存在する場合にテーブルの書き換えを行なう障害処理１２２、障害が発生してシステム停止になった際の当該パーティションのメモリ内容に対応した擬似ファイルの作成と消去を擬似ファイル処理１３２へ要求する処理やdump領域をreserve領域へ書き換える処理を行なう障害メモリ管理１２３、障害が発生してシステム停止になった際の当該パーティションのメモリ内容に対応した擬似ファイルの作成と消去を行う擬似ファイル処理１３２、障害が発生してシステム停止になった際の当該パーティションのメモリ内容をファイルへ保存するメモリダンププログラム１３３が含まれている。
【００２７】
パーティション制御１２１、障害処理１２２、障害メモリ管理１２３は一種のモニタプログラムであり、パーティションX２０８のＣＰＵ１０７を時分割で使用して動作する。障害発生でのＯＳ再起動ではなく、通常のＯＳ起動を行なう際には、起動メモリ管理１３１が、起動するパーティションのＣＰＵに対して使用すべきメモリ領域を通知する。ＯＳ起動のフローチャートを図１１に示す。
【００２８】
図１１は本実施形態のＯＳ起動の処理手順を示すフローチャートである。あるパーティションでＯＳの起動を開始すると(ステップ１１０１)、起動メモリ管理１３１がそのＯＳの起動を検知する(ステップ１１０２)。
【００２９】
ＯＳの起動を行うパーティションがパーティションA２０５である場合、起動メモリ管理１３１は、メモリ管理テーブル１２４を参照し、パーティションA２０５で使用するメモリ領域をＣＰＵ A１０４に通知する(ステップ１１０３)。パーティションA２０５は、通知されたメモリ領域を使用してＯＳを起動する(ステップ１１０４)。
【００３０】
なお、異なるパーティションであっても同様にそのパーティションで使用するメモリ領域をＣＰＵに通知し、そのメモリ領域を使用してＯＳを起動する。
【００３１】
本実施形態において、前記各処理を行う処理部として電子計算機を機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から電子計算機にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００３２】
またハードディスク１１１には、ＣＰＵ１０７に障害が発生してシステム停止になった際の当該パーティションのメモリ内容にアクセスして障害解析を行なわせる障害解析プログラム１１２、障害解析終了後に障害が発生してシステム停止になった際の当該パーティションのメモリ内容への参照を終了する通知を行なうメモリ参照終了通知プログラム１１３、障害が発生してシステム停止になった際の当該パーティションのメモリ内容に対応した擬似ファイルの作成と消去を行なう擬似ファイル処理１３２、障害が発生してシステム停止になった際の当該パーティションのメモリ内容をファイルへ保存するメモリダンププログラム１３３を備えている。これらの障害解析プログラム１１２、メモリ参照終了通知プログラム１１３、擬似ファイル処理１３２を行うプログラムやメモリダンププログラム１３３はハードディスク１１１からメモリ上にロードされ、ＣＰＵで実行される。
【００３３】
図２は本実施形態のパーティションの構成例を示す図である。図２では、図１の障害情報解析機能を有する計算機１０２におけるパーティション構成例を表している。
【００３４】
障害情報解析機能を有する計算機内の１つのＣＰＵ１０４とメモリ領域１１５とハードディスク１０８を使用して１つのパーティション２０５（以後、パーティションAと呼ぶ）を構成し、このパーティションA２０５ではオペレーティングシステムが動作している。
【００３５】
また、ＣＰＵ１０５とメモリ１１６とハードディスク１０９を使用してパーティション２０６（以後、パーティションBと呼ぶ）、ＣＰＵ１０６とメモリ１１７とハードディスク１１０を使用してパーティション２０７（以後、パーティションCと呼ぶ）、ＣＰＵ１０７とメモリ領域１１８とハードディスク１１１を使用してパーティション２０８（以後、パーティションXと呼ぶ）を構成している。
【００３６】
全てのパーティション内でオペレーティングシステムが動作しており、本実施形態では、パーティションA２０５、パーティションB２０６、パーティションC２０７を業務用のパーティションとして使用し、パーティションX２０８を保守用のパーティションとして使用することを想定している。
【００３７】
図５は本実施形態のメモリ管理テーブル１２４の構成例を示す図である。図５に示す様に本実施形態のメモリ管理テーブル１２４は、メモリ領域フィールド１２５とパーティションフィールド１２６から構成されている。本実施形態では、メモリ領域フィールド0〜9のエントリに対応するメモリ領域のサイズは全て等しいサイズであるものとする。また、計算機１０２上のメモリサイズに依存してメモリ領域フィールド１２５の数も増減する。
【００３８】
図５のメモリ管理テーブル１２４の例で説明すると、メモリ領域フィールド１２５が0のエントリはパーティションフィールド値がAになっている。これは、メモリ領域0が、パーティションA２０５に属することを意味し、パーティションA２０５のみアクセス対象であることを意味する。メモリ領域フィールド１２５が1のエントリもパーティションフィールド値がAになっているので、メモリ領域1はパーティションA２０５にのみアクセス対象である。
【００３９】
同様に、メモリ領域フィールド１２５が2〜4のエントリは、パーティションフィールド値がBになっているので、メモリ領域2〜4はパーティションB２０６のみアクセス対象である。
【００４０】
メモリ領域フィールド１２５が5のエントリは、パーティションフィールド値がCになっているので、メモリ領域5はパーティションC２０７のみアクセス対象である。
【００４１】
メモリ領域フィールド１２５が6のエントリは、パーティションフィールド値がXになっているので、メモリ領域6はパーティションX２０８のみアクセス対象である。
【００４２】
メモリ領域フィールド１２５が7〜9のエントリは、パーティションフィールド値がreserveになっている。これは、reserve領域であることを意味しており、どのパーティションもアクセス対象ではないことを意味する。
【００４３】
メモリ領域0〜9は、メモリ１１４の中に入っており、メモリ領域0,1がパーティションA用のメモリ領域１１５を構成する。同様に、メモリ領域2〜4がパーティションB２０６用のメモリ領域１１６、メモリ領域5がパーティションC２０７用のメモリ領域１１７、メモリ領域6がパーティションX２０８用のメモリ領域１１８、メモリ領域7〜9がreserveのメモリ領域１１９に属している。
【００４４】
上述の様に構成された本実施形態の動作を図８、図９、及び図１０のフロー図を用いて説明する。
【００４５】
図８は本実施形態の障害発生時のパーティション管理部１２０の処理手順を示すフローチャートである。例えば、パーティションA２０５で障害が発生した場合、パーティションA２０５のＯＳは、障害発生時にまずパーティション制御１２１に自身が障害検出したことを通知する。パーティション制御１２１にてパーティションA２０５が障害を起こしたことを検知し（ステップ８０１）、障害処理１２２を起動する。障害処理１２２では、まず最初に、メモリ管理テーブル１２４を参照し、障害が発生したパーティションA２０５で使用していたメモリ領域の合計サイズとreserve領域の合計サイズとを比較する（ステップ８０２）。
【００４６】
reserve領域の方が大きい場合、障害が発生したパーティションA２０５を再起動させる為のメモリ領域が確保できるものとし、障害発生前にパーティションA２０５で使用していた分だけメモリ管理テーブル１２４内のreserve領域となっているパーティションフィールド１２６の値をAに書き換え、障害が発生してシステム停止になった際のパーティションA２０５のメモリ内容を含むメモリ領域のパーティションフィールド１２６の値をdump_Aに書き換える（ステップ８０４）。
【００４７】
メモリ管理テーブル１２４内にdump_Aが定義されたことを受けて、障害メモリ管理１２３が、パーティションX２０８のＣＰＵ１０７（CPU X）からパーティションフィールド値dump_Aを付与されたメモリ領域を参照する為に、そのメモリ領域に対応する擬似ファイルをパーティションX２０８上に作成する要求をパーティションX２０８上の擬似ファイル処理１３２に出す(ステップ８０５)。要求を受けた擬似ファイル処理１３２では、ハードディスク１１１上に前記メモリ領域に対応する擬似ファイルを作成する。擬似ファイル処理１３２で作成された擬似ファイルを/dev/memAとする。
【００４８】
本実施形態のパーティション管理部１２０では、パーティションX２０８から障害解析プログラム１１２を使用して障害解析を行なっている最中に、他のパーティションからdump_Aと定義されたメモリ領域の内容変更を防ぐ目的で、他のパーティションのＣＰＵ１０４、ＣＰＵ１０５、ＣＰＵ１０６に対してはdump_Aと定義されたメモリ領域への参照は許可せず、パーティションX２０８にのみメモリ領域dump_Aの参照を許可する制御を行う。
【００４９】
また、メモリ管理テーブル１２４内で元々reserve領域であったメモリ領域フィールド7〜8がパーティションA２０５に定義され、パーティションフィールド１２６の値がAであるメモリ領域を使用してパーティションA２０５を再起動する（ステップ８０６）。
【００５０】
図９は本実施形態の障害解析プログラム１１２の処理手順を示すフローチャートである。図９では、保守用のパーティションであるパーティションX２０８内にある障害解析プログラム１１２を実行した際の処理を表している。
【００５１】
パーティションA２０５の障害発生を受けた保守員は、障害解析を行なう為にパーティションX２０８にログインし、障害解析プログラム１１２を実行する（ステップ９０１）。
【００５２】
障害解析プログラム１１２は、従来の使用方法として、メモリ内容をディスク等のメディアに保存したダンプファイルをプログラム実行時に指定することで、その内容を参照できる。また、計算機上のメモリをダンプファイルへのアクセス方法と同じインタフェースを持つ擬似的なファイルとみなし、プログラム実行時にその擬似ファイルを指定することで、その内容を参照できる。
【００５３】
前述の非特許文献１に記載されているadbについても、実行時には、ダンプファイルを指定できる、もしくは、計算機上のメモリをダンプファイルへのアクセス方法と同じインタフェースを持つ擬似的なファイル/dev/memを指定できる、と本書のChapter 7に書かれている。
【００５４】
本実施形態では、障害が発生してシステム停止になった際のメモリの情報を含んだメモリ領域であるdump領域を擬似的なファイルとみなし、プログラム実行時にその擬似ファイルを指定することで、その内容を参照できる。
【００５５】
障害解析プログラム１１２の入力として、dump_A領域に対応した擬似ファイル/dev/memAを指定して実行すると(ステップ９０１)、まず障害が発生してシステム停止になった際のパーティションA２０５のメモリ内容を含んだメモリ領域であるdump_A領域に対応した擬似ファイル/dev/memAが存在するかを確認する(ステップ９０２)。
【００５６】
擬似ファイル/dev/memAが存在する場合、障害解析プログラム１１２が、dump領域を参照し、解析を開始する(ステップ９０４)。擬似ファイル/dev/memAが存在しない場合、エラー終了する(ステップ９０３)。ここで擬似ファイル/dev/memAは、計算機１０２のメモリ１１４を擬似的なファイルとしてアクセスする為のファイルであり、擬似ファイル/dev/memAを介してメモリ１１４にアクセスする際にアドレスを指定することにより、dump_A領域等の特定のメモリ領域へのアクセスを行うものとする。またパーティション管理部１２０では、パーティションX２０８の障害解析プログラム１１２によりdump領域へのアクセスが行われると、そのアドレス値がdump領域のものであるかを調べ、dump領域以外のメモリ領域への障害解析プログラム１１２によるアクセスが行われない様に制御する。
【００５７】
図３は本実施形態の障害情報解析機能を有する計算機１０２の障害解析中の構成を示す図である。図６は本実施形態の障害解析中のメモリ管理テーブル１２４の状態を示す図である。図３及び図６に示す様にメモリ領域フィールドが0〜1のエントリはパーティションフィールド値がdump_Aになっている。これは、メモリ領域0〜1が、障害が発生してシステム停止になった際の、パーティションA２０５のメモリ内容を含んでいることを意味し、パーティションX２０８内の障害解析プログラム１１２の実行時にdump_A領域を指定することによってのみアクセスできることを意味している。
【００５８】
メモリ領域フィールド１２５が7〜8のエントリは、パーティションフィールド値がAになっており、メモリ領域7〜8はパーティションA２０５からのみアクセスできる。パーティションフィールド値がreserveになっているのは、メモリ領域フィールド１２５が9のエントリのみである。
【００５９】
もし、この状態で２度目の障害としてパーティションB２０６の障害を検知したとすると、パーティションB２０６で使用しているメモリ領域よりもreserve領域のサイズの方が小さいため(ステップ８０２)、通常のオペレーティングシステムのメモリダンプ処理が実行されることになる(ステップ８０３)。
【００６０】
通常のオペレーティングシステムのメモリダンプ処理が実行されると、パーティションB２０６が再起動する前にメモリの内容をパーティションX２０８上のハードディスク１１１に保存する。ハードディスク１１１への保存が完了するまでは、パーティションB２０６は起動しないため、ダウンタイムが増加する。
【００６１】
また、メモリダンプが保存されたハードディスク１１１が、保守員用の電子計算機からアクセスできない場合は、そのメモリダンプを保守員用の電子計算機がアクセスできる場所まで転送するか、もしくは、バイク便等で輸送することとなり、障害解析を行なうまでに時間が掛かる。
【００６２】
一方、メモリ領域フィールド１２５が9のエントリのみがreserveとなっている状態で、パーティションC２０７の障害を検知したとすると、パーティションC２０７で使用しているメモリ領域とreserve領域のサイズが等しいため、パーティションC２０７はreserve領域を使用して再起動できダウンタイムを短縮できると同時に、障害が発生してシステム停止になった際のパーティションC２０７のメモリ内容を保持しておき、そのメモリ領域を擬似ファイル/dev/memCとしてパーティションX２０８上に作成し、パーティションX２０８から障害解析プログラム１１２を使用してすぐに解析することができる。障害解析プログラム１１２実行時には、/dev/memCを指定する。
【００６３】
図４は本実施形態の図３の障害情報解析機能を有する計算機１０２におけるパーティションの構成例を示す図である。障害が発生したパーティションA２０５は、reserve領域を使用してすぐに再起動させ、業務を継続させるため、障害発生前と同じ状態となる。
【００６４】
保守用パーティションであるパーティションX２０８上の障害解析プログラム１１２を実行すると、障害解析プログラム４０２がメモリ上に展開される。dump_A領域３０１は、障害メモリ管理１２３によって、パーティションX２０８からの参照が許可されているので、障害解析プログラム１１２を使用して、dump_A領域３０１を解析することができる。
【００６５】
後日、別の観点で解析を行なう為には、障害が発生してシステム停止になった際の当該パーティションのメモリ内容をハードディスク１１１上のファイルへ保存しておく必要がある。メモリダンププログラム１３３を実行することで、メモリ内容をファイルへ保存することができる。メモリダンププログラム１３３は、従来技術として知られており、例えば、特開平６−３４８５５１号公報に記載されている。
【００６６】
図１０は本実施形態のメモリ参照終了通知プログラム１１３の処理手順を示すフローチャートである。図１０では、保守用のパーティションであるパーティションX２０８内にあるメモリ参照終了通知プログラム１１３を実行した際の処理を表している。
【００６７】
障害が発生してシステム停止になった際のメモリの情報を含んだメモリ領域であるdump領域に対応した擬似ファイル/dev/memAをメモリ参照終了通知プログラム１１３に指定することで、そのdump領域への参照終了を通知する。
【００６８】
メモリ参照終了通知プログラム１１３を実行すると(ステップ１００１)、まず障害が発生してシステム停止になった際のパーティションA２０５のメモリ内容を含んだメモリ領域であるdump領域に対応した擬似ファイル/dev/memAが存在するかを確認する(ステップ１００２)。
【００６９】
擬似ファイルが存在する場合、メモリ参照終了通知プログラム１１３が、dump_A領域であるパーティションフィールド１２６の値をreserveに書き換え(ステップ１００４)、擬似ファイル/dev/memAの消去をパーティションX上の擬似ファイル処理１３２に要求する(ステップ１００５)。そして、擬似ファイル処理１３２により擬似ファイル/dev/memAが消去される(ステップ１００６)。
擬似ファイル/dev/memAが存在しない場合は、エラー終了する(ステップ１００３)。
【００７０】
図７は本実施形態のメモリ管理テーブル１２４の書き換え後の状態を示す図である。図６にて、パーティションフィールド１２６の値がdump_Aだったメモリ領域のパーティションフィールド１２６の値をreserveに書き換えたことにより、今後、業務パーティションで障害が発生した場合に、パーティションフィールド１２６の値がreserveとなっているメモリ領域を使用して即座に再起動する。
【００７１】
なお、複数のオペレーティングシステムを稼働させる電子計算機システムのリソースの構成を管理し、電子計算機システムの一部のハードウェアに障害が発生した場合、障害発生を通知するという構成を取ることにより、障害通知と共に、障害が発生したパーティションを空きメモリ領域を使用してすぐに立ち上げて業務を復旧し、障害が発生してシステム停止になった際の当該パーティションのメモリ内容は保持しておき、その内容を解析することができる。
【００７２】
以上説明した様に本実施形態の障害情報解析方法によれば、障害の発生したパーティションを未使用のメモリ領域により再起動すると共に、障害の発生したメモリ領域の内容を別パーティションから読み込むことで解析を行うので、障害の発生したパーティションのダウンタイムと障害解析時間を短縮することが可能である。
【００７３】
（実施形態２）
以下に複数の物理的なパーティションからなる電子計算機で障害情報を解析する実施形態２の障害情報解析方法について説明する。
【００７４】
本発明の実施形態１では、１つの電子計算機システム内のハードウェア資源を論理パーティションで分割した構成を用いて説明したが、本発明は、１つの電子計算機を複数の物理パーティションに分けて、個々のパーティションにおいて別々のオペレーティングシステムを稼動させる構成においても適用できる。以下、本発明の実施形態２を説明する。
【００７５】
図１２は本実施形態の障害情報解析機能を有する計算機の構成を示す図である。図１に示した構成との違いは、各リソース（ＣＰＵ１０４〜１０７、メモリ１２０７〜１２１６、ハードディスク１０８〜１１１、ＮＩＣ１２７〜１３０）の電気的な接続を実施するクロスバー１２０２が設けられている。また、障害情報解析機能を有する計算機１２０１の全リソースと使用しているパーティションを対応付けるクロスバー管理テーブル１２０３がある。
【００７６】
クロスバー管理テーブル１２０３内のメモリ領域に関する内容をチェックし、reserve領域があるかどうかの確認と空き領域が十分に存在する場合にテーブルの書き換えを行なう障害処理１２２、クロスバーへ電気的な接続の変更を要求する処理や、dump領域をreserve領域へ書き換える処理を行なう障害クロスバー管理１２０５が含まれている。障害処理１２２と障害クロスバー管理１２０５は、パーティション管理部１２０４（SVP サービスプロセッサ）上で動作する。障害発生でのＯＳリブートではなく通常のＯＳ起動を行なう際には、起動クロスバー処理１２０６を実行する。ＯＳ起動のフローチャートを図１３に示す。
【００７７】
図１３は本実施形態のＯＳ起動の処理手順を示すフローチャートである。パーティションAでＯＳの起動を開始すると(ステップ１３０１)、起動クロスバー処理１２０６がそのＯＳの起動を検知する(ステップ１３０２)。
【００７８】
起動クロスバー処理１２０６は、クロスバー管理テーブル１２０３を参照し、パーティションAで使用するＣＰＵ、メモリ領域、ハードディスク、ＮＩＣ（ネットワークインタフェースカード）をＣＰＵ１０４（CPU A）に通知する(ステップ１３０３)。パーティションAは、通知されたリソースを使用してＯＳを起動する(ステップ１３０４)。
【００７９】
本実施形態において、前記各処理を行う処理部として電子計算機を機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から電子計算機にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００８０】
図１２の実施形態２における障害情報解析機能を有する計算機１２０１におけるパーティション構成例は、図２と同じ構成となる。
【００８１】
図１４は本実施形態のクロスバー管理テーブル１２０３の構成を示す図である。図１４に示す様にクロスバー管理テーブル１２０３は、リソースフィールド１２１７とパーティションフィールド１２１８から構成されている。リソースフィールド１２１７の中には、電子計算機上にあるＣＰＵ、メモリ領域、ハードディスク、ＮＩＣ等のリソースが示されており、どのリソースをクロスバーで電気的に接続して１つのパーティションを構成するかが定義されている。
【００８２】
図１５は本実施形態の障害発生時のパーティション管理部１２０４の処理手順を示すフローチャートである。図１５に示す様に障害処理でパーティションフィールド１２１８の値を書き換える(ステップ１５０４)までは実施形態１と同様である。
【００８３】
その後、障害クロスバー管理１２０５が、パーティションフィールド１２１８の値がAになったメモリ領域とパーティションAを電気的に接続する様にクロスバー１２０２へ要求する。障害クロスバー管理１２０５が、パーティションX２０８のＣＰＵ１０７からパーティションフィールド値dump_Aを付与されたメモリ領域アクセスできる様に、クロスバー１２０２へ電気的な接続の変更を要求し、そのメモリ領域に対応する擬似ファイルをパーティションX上に作成する要求をパーティションX上の擬似ファイル処理１３２に出す。(ステップ１５０５)。
【００８４】
電気的な接続の変更が完了すると、パーティションA２０５は電気的に接続されたメモリ領域を使用してＯＳを起動する(ステップ１５０６)。
【００８５】
保守用のパーティションであるパーティションX２０８内にある障害解析プログラムを実行した際のフローチャートは、実施形態１の図９と同様の流れとなる。
【００８６】
図１６は本実施形態のメモリ参照終了通知プログラム１１３の処理手順を示すフローチャートである。図１６では、保守用のパーティションであるパーティションX２０８内にあるメモリ参照終了通知プログラム１１３を実行した際の処理を表している。障害クロスバー管理１２０５が、障害が発生してシステム停止になった瞬間の、パーティションA２０５のメモリ内容を含んだメモリ領域であるdump領域に対応した擬似ファイル/dev/memAが存在するかを確認する(ステップ１６０２)までは、実施形態１と同じ流れである。
【００８７】
実施形態２では、/dev/memAが存在する場合、障害クロスバー管理１２０５が、dump領域であるパーティションフィールド１２１８の値をreserveに書き換え、クロスバーに電気的接続の変更を要求する(ステップ１６０４)。
【００８８】
要求を受けたクロスバーがreserveとなったメモリ領域をパーティションX２０８から電気的に切り離す(ステップ１６０５)。メモリホットプラグの従来例としては、特許第３６４９０１１号公報の「コンピュータシステム」で記載されている。
【００８９】
以上説明した様に本実施形態の障害情報解析方法によれば、障害の発生したパーティションを未使用のメモリ領域により再起動すると共に、障害の発生したメモリ領域の内容を別パーティションから読み込むことで解析を行うので、障害の発生したパーティションのダウンタイムと障害解析時間を短縮することが可能である。
【００９０】
（実施形態３）
以下に複数のパーティションからなる電子計算機で障害情報の解析を自動的に行う実施形態３の障害情報解析方法について説明する。
【００９１】
実施形態１と実施形態２では、保守員の手動による解析について言及していた。本発明では、障害解析を自動化して効率的に解析を行なう様にすることもできる。以下、本発明の実施形態３について説明する。
【００９２】
本実施形態における構成図やメモリ管理テーブル、パーティション管理部の処理の流れ、メモリ参照終了通知プログラムを実行した後の処理の流れは、実施形態１もしくは実施形態２と同様である。本実施形態では、実施形態１もしくは実施形態２と異なる処理である、障害発生から障害解析プログラムを自動で実行し、その後、メモリ参照終了通知プログラムを自動実行するまでの処理について図１７のフローチャートを用いて説明する。
【００９３】
図１７は本実施形態の障害発生から障害解析プログラムを自動で実行し、その後、メモリ参照終了通知プログラムを自動実行するまでの処理手順を示すフローチャートである。図１７に示す様に本実施形態において、パーティションA２０５で障害が発生すると(ステップ１７０１)、パーティションAのＯＳは、障害発生時にはまずパーティション制御１２１に自身が障害検出したことを通知する。これ以降のパーティション管理部の処理は、実施形態１での図８のフローチャート、もしくは、実施形態２での図１５のフローチャートと同様である。
【００９４】
障害が発生してシステム停止になった際のパーティションA２０５のメモリ内容を含んだメモリ領域であるdump_A領域に対応した擬似ファイル/dev/memAがパーティションX２０８上に作成されるまで待ち（ステップ１７０２）、/dev/memAが作成されると、パーティションX２０８のＣＰＵ１０７が障害解析プログラム１１２を自動実行する（ステップ１７０３）。
【００９５】
障害解析プログラム１１２の実行完了後、障害が発生してシステム停止になった際のパーティションA２０５のメモリ内容を含んだメモリ領域であるdump_A領域をファイルへ保存する（ステップ１７０４）。このファイルは、後日別の観点での解析が必要になった際に使用する。
【００９６】
ファイルへの保存が完了後、パーティションX２０８のＣＰＵ１０７が、メモリ参照終了通知プログラム１１３を自動実行する（ステップ１７０５）。メモリ参照終了通知プログラム１１３のフローチャートは、実施形態１での図１０のフローチャート、もしくは、実施形態２での図１６のフローチャートと同様である。
【００９７】
以上説明した様に本実施形態の障害情報解析方法によれば、障害の発生したパーティションを未使用のメモリ領域により再起動すると共に、障害の発生したメモリ領域の内容を別パーティションから読み込むことで解析を行うので、障害の発生したパーティションのダウンタイムと障害解析時間を短縮することが可能である。
【図面の簡単な説明】
【００９８】
【図１】実施形態１の障害情報解析機能を有する電子計算機の構成を示す図である。
【図２】実施形態１のパーティションの構成例を示す図である。
【図３】実施形態１の障害情報解析機能を有する計算機１０２の障害解析中の構成を示す図である。
【図４】実施形態１の図３の障害情報解析機能を有する計算機１０２におけるパーティションの構成例を示す図である。
【図５】実施形態１のメモリ管理テーブル１２４の構成例を示す図である。
【図６】実施形態１の障害解析中のメモリ管理テーブル１２４の状態を示す図である。
【図７】実施形態１のメモリ管理テーブル１２４の書き換え後の状態を示す図である。
【図８】実施形態１の障害発生時のパーティション管理部１２０の処理手順を示すフローチャートである。
【図９】実施形態１の障害解析プログラム１１２の処理手順を示すフローチャートである。
【図１０】実施形態１のメモリ参照終了通知プログラム１１３の処理手順を示すフローチャートである。
【図１１】実施形態１のＯＳ起動の処理手順を示すフローチャートである。
【図１２】実施形態２の障害情報解析機能を有する計算機の構成を示す図である。
【図１３】実施形態２のＯＳ起動の処理手順を示すフローチャートである。
【図１４】実施形態２のクロスバー管理テーブル１２０３の構成を示す図である。
【図１５】実施形態２の障害発生時のパーティション管理部１２０４の処理手順を示すフローチャートである。
【図１６】実施形態２のメモリ参照終了通知プログラム１１３の処理手順を示すフローチャートである。
【図１７】実施形態３の障害発生から障害解析プログラムを自動で実行し、その後、メモリ参照終了通知プログラムを自動実行するまでの処理手順を示すフローチャートである。
【符号の説明】
【００９９】
１０１…ネットワーク、１０２…計算機、１０４〜１０７…ＣＰＵ、１０８〜１１１…ハードディスク、１１２…障害解析プログラム、１１３…メモリ参照終了通知プログラム、１１４…メモリ、１１５〜１１９…メモリ領域、１２０…パーティション管理部、１２１…パーティション制御、１２２…障害処理、１２３…障害メモリ管理、１２４…メモリ管理テーブル、１２５…メモリ領域フィールド、１２６…パーティションフィールド、１２７〜１３０…ＮＩＣ、１３１…起動メモリ管理、１３２…擬似ファイル処理、１３３…メモリダンププログラム、２０５〜２０８…パーティション、３０１…dump_A領域、４０２…障害解析プログラム、１２０１…計算機、１２０２…クロスバー、１２０３…クロスバー管理テーブル、１２０４…パーティション管理部、１２０５…障害クロスバー管理、１２０６…起動クロスバー処理、１２０７〜１２１６…メモリ、１２１７…リソースフィールド、１２１８…パーティションフィールド。
【図１】
2007133544.tif 000003
【図２】
2007133544.tif 000004
【図３】
2007133544.tif 000005
【図４】
2007133544.tif 000006
【図５】
2007133544.tif 000007
【図６】
2007133544.tif 000008
【図７】
2007133544.tif 000009
【図８】
2007133544.tif 000010
【図９】
2007133544.tif 000011
【図１０】
2007133544.tif 000012
【図１１】
2007133544.tif 000013
【図１２】
2007133544.tif 000014
【図１３】
2007133544.tif 000015
【図１４】
2007133544.tif 000016
【図１５】
2007133544.tif 000017
【図１６】
2007133544.tif 000018
【図１７】
2007133544.tif 000019