JP5716830B2 - 情報処理装置及び方法、プログラム - Google Patents

情報処理装置及び方法、プログラム Download PDF

Info

Publication number
JP5716830B2
JP5716830B2 JP2013530954A JP2013530954A JP5716830B2 JP 5716830 B2 JP5716830 B2 JP 5716830B2 JP 2013530954 A JP2013530954 A JP 2013530954A JP 2013530954 A JP2013530954 A JP 2013530954A JP 5716830 B2 JP5716830 B2 JP 5716830B2
Authority
JP
Japan
Prior art keywords
diagnosis
hardware
module
diagnosed
logical domain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013530954A
Other languages
English (en)
Other versions
JPWO2013030976A1 (ja
Inventor
悠一 武捨
悠一 武捨
昭宏 山▲崎▼
昭宏 山▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013030976A1 publication Critical patent/JPWO2013030976A1/ja
Application granted granted Critical
Publication of JP5716830B2 publication Critical patent/JP5716830B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本技術は、仮想化環境におけるハードウェアリソースの管理技術に関する。
コンピュータに電源が投入されると、OS(Operating System)が起動する前にPOST(Power On Self Test)が行われ、例えばプロセッサやメモリといったハードウェアの診断が行われる。POSTは、ハードウェアの診断に関する特別な権限を有するファームウェアにより、ハードウェアを占有して行われる診断であるため、ハードウェアの診断を詳細に行うことができる。これに対し、OSの起動後OSによって行われるハードウェア診断は、ハードウェアへのアクセスの制限等のため、診断の内容が限定されている。また、もしシステムの稼働中にOSによって無理にハードウェア診断を行うと、OSが正常に動作しなくなることがある。
従来、ハードウェアの診断に関して、以下のような従来技術が存在する。具体的には、サービスプロセッサが、待機中である予備プロセッサに対して故障診断を行う。そして、故障診断の結果が正常である場合に、OSが、稼働中の運用プロセッサをコンピュータシステムから切り離して待機させると共に、故障診断が行われた予備プロセッサを、コンピュータシステムに組み込んで稼働させるようにする。しかし、この技術では、サービスプロセッサを搭載しているシステム(サブシステム)がダウンした場合、稼働中のシステム(メインシステム)に搭載されている運用プロセッサに対しては、診断を行うことができなくなる。近年では、部品数が増えたこと等に伴って、サブシステムにおける故障の発生率が増加する傾向にあるため、このような技術では問題がある。
また、装置の動作検証に関して、以下のような技術が存在する。具体的には、仮想計算機制御部が、仮想計算機の創成、削除、中断及び再開の試験を行う。また、仮想計算機が共有する共有装置の情報を仮想計算機制御部が保持することにより、各仮想計算機が共有装置の共有状態を確認しながら動作検証を行えるようにする。しかし、このような技術では、各仮想計算機に割り当てられているハードウェアについては診断を行うことができない。
特開2006−252429号公報 特開平8−305596号公報
従って、本技術の目的は、一側面において、システムの稼働中に適切なハードウェア診断を行えるようにするための技術を提供することである。
本技術の一側面に係る情報処理装置は、メモリと、オペレーティングシステムを実行し、計算機として所定の機能を提供する論理ドメインと、理ドメインの管理を行うハイパバイザとの処理を実行する処理装置とを有する。そして、上記オペレーティングシステムが、診断を行うべきハードウェアを検出する検出モジュールと、検出モジュールにより診断を行うべきハードウェアが検出された場合、診断のための処理においてオペレーティングシステムが利用する、メモリにおけるメモリ領域を確保し、オペレーティングシステムのカーネルに対して、当該メモリ領域で発生したエラーを看過するように指示する第1指示モジュールと、検出モジュールにより診断を行うべきハードウェアが検出された場合、ハイパバイザに対して、診断において利用する、メモリにおけるメモリ領域で発生したエラーを看過するように指示し且つ診断を行うべきハードウェアの指定を含む診断要求を出力する第2指示モジュールとを有する。そして、上記ハイパバイザが、診断要求を受信した場合、診断を行うべきハードウェアに対して診断を行う診断モジュールと、診断要求を受信した場合、診断モジュールが診断において利用する、メモリにおけるメモリ領域で発生したエラーを看過するための設定を行う設定モジュールと有する。
図1は、ハードウェアリソースの診断を行う際の問題点を説明するための図である。 図2は、ハードウェアリソースの診断を行う際の問題点を説明するための図である。 図3Aは、第1の実施の形態における情報処理装置のハードウェア構成を示す図である。 図3Bは、第1の実施の形態におけるメインシステムの構成を示す図である。 図4は、第1の実施の形態に係る診断定義テーブルに格納されているデータの一例を示す図である。 図5は、管理テーブに格納されているデータの一例を示す図である。 図6は、割当テーブに格納されているデータの一例を示す図である。 図7は、第1の実施の形態におけるメインの処理フローを示す図である。 図8は、第1の実施の形態におけるメインの処理フローを示す図である。 図9は、第1の実施の形態における診断処理の処理フローを示す図である。 図10は、第1の実施の形態に係るハードウェアリソースの診断方法の概要を示す図である。 図11は、第2の実施の形態に係る診断定義テーブルに格納されているデータの一例を示す図である。 図12は、第2の実施の形態におけるメインの処理フローを示す図である。 図13は、第2の実施の形態における診断処理の処理フローを示す図である。 図14は、管理テーブに格納されているデータの一例を示す図である。
例えば図1に示すような情報処理装置においてハードウェアリソースの診断を行うことを考える。図1の情報処理装置は、メインシステムと、サブシステムとを含む。ここで、メインシステムは業務処理を実行するためのシステムであり、メインシステムは論理ドメイン1、論理ドメイン2及び各論理ドメインの管理を行うハイパバイザ等のプログラムを含む。メインシステムに含まれる各プログラムは、ハードウェアリソースに含まれるプロセッサにより実行される。サブシステムは、メインシステムを運用及び管理するためのシステムである。POST実行モジュールは、POSTを実行するためのソフトウェアである。ハイパバイザ(hypervisor)は、論理ドメインを起動するためのファームウェアである。オープンファームウェア(オープンブートとも呼ばれる)は、OSを起動するためのソフトウェアである。
このような情報処理装置におけるハードウェアリソースの診断は、例えば図2に示すようにして行われる。具体的には、まず情報処理装置に電源を投入すると、サブシステムが起動し、当該サブシステムからメインシステムの起動指示が出される。そして、メインシステムが起動を開始し、POST実行モジュールによるハードウェアリソースの診断(POST)が行われる。
なお、POSTが行われると、ハイパバイザが起動し、当該ハイパバイザが論理ドメインを起動する。すると、オープンファームウェアがOS起動の前処理を開始し、さらにOSを起動する。そして、論理ドメインの起動が完了し、論理ドメインにおいて業務処理が行われる。
ここで、論理ドメインの稼動中に、論理ドメインをリセットする旨の指示がユーザからあった場合には、指示に係る論理ドメインのみが再起動される。ところが、論理ドメインをリセットしただけでは、メインシステム自体がリセットされるわけではないため、POSTが行われない。そこで、POSTを行うためにメインシステムを再起動することが考えられるが、このようにすると全ての論理ドメインを再起動することになる。
しかし、各論理ドメインでは別々の業務処理が行われているため、複数の論理ドメインを同時に再起動することができるようなタイミングは限られてしまうことが多い。そのため、実際にはメインシステムの再起動をすることができず、ハードウェアリソースの故障の検出が遅れてしまうことがある。
そこで、以下システム稼働中にも適切にハードウェアの診断を行う2つの実施の形態を具体的に説明する。
[実施の形態1]
本実施の形態における情報処理装置1000のハードウェア構成を図3Aに示す。図3Aの例では、情報処理装置1000は、ハードウェアリソース1を有し、ハードウェアリソース1により、業務処理を実行するためのメインシステムと、メインシステムを運用及び管理するためのサブシステムとを実行する。ハードウェアリソース1は、例えばプロセッサ、メモリ、PCI(Peripheral Component Interconnect)等のハードウェアリソースを含む。各ハードウェアリソースの数は1又は複数であるが、診断が行われるハードウェアリソースについては、数は2以上である。なお、サブシステムは、本実施の形態における主要な処理を行うわけではないので、サブシステムについての詳細な説明は省略する。
図3Bに、メインシステムの構成を示す。メインシステムは、論理ドメイン11と、論理ドメイン12と、ハイパバイザ13と、POST実行モジュール14とを含む。論理ドメイン11及び12は、ハイパバイザ13により仮想的に実現されたシステムである。
論理ドメイン11は、オープンファームウェア1101と、OS1102とを含む。また、OS1102は、カーネル1103と、管理モジュール1104と、診断定義テーブル1109と、管理テーブル1110と、割当テーブル1111とを含む。また、管理モジュール1104は、検出モジュール1105と、第1指示モジュール1106と、第2指示モジュール1107と、通知モジュール1108とを含む。
なお、オープンファームウェア1101、OS1102、カーネル1103及び各モジュールは、例えばハードウェアリソース1に含まれるプロセッサに実行されると、以下で説明する機能を実現する。
オープンファームウェア1101は、OS1102を起動するための処理を行う。カーネル1103は、例えば情報処理装置1000におけるリソースの管理やプロセス間通信の提供等、一般的なOSのカーネルが行う周知の処理を行う。検出モジュール1105は、診断定義テーブル1109及び管理テーブル1110に格納されているデータを用いて、診断を行うべきハードウェアリソースを検出する処理を行う。第1指示モジュール1106は、カーネル1103に対して後述のマスク指示を出力する処理等を行う。第2指示モジュール1107は、ハイパバイザ3に対して後述のマスク指示を出力する処理等を行う。通知モジュール1108は、ハードウェアリソースの異常をユーザ(例えば情報処理装置1000の管理者)に提示するための処理等を行う。
論理ドメイン12は、オープンファームウェア121と、カーネル123を含むOS122とを含む。これらの機能は、論理ドメイン11におけるオープンファームウェア1101及びOS1102の機能と同じであるので、説明を省略する。
なお、図3Bでは論理ドメインを2つ示しているが、論理ドメインの数に限定は無い。また、本実施の形態では、論理ドメイン11と同様の機能を有する論理ドメインは他には無いとする。すなわち、論理ドメイン11において一元的に診断を管理している。
ハイパバイザ13は、設定モジュール131及び診断モジュール132を含む管理モジュール130と、割当テーブル133とを含む。ハイパバイザ13及び当該ハイパバイザ13に含まれる各モジュールは、例えばハードウェアリソース1に含まれるプロセッサに実行されると、以下で説明する機能を実現する。
設定モジュール131は、所定のメモリ領域で発生したエラーをハイパバイザ13が看過するための設定等を行う。診断モジュール132は、ハードウェアリソースの故障を検出するための診断を行う。
図4に、診断定義テーブル1109に格納されているデータの一例を示す。図4の例では、診断を実施するか否かを指定するためのデータと、診断対象を指定するためのデータと、診断間隔を指定するためのデータとが格納されている。これらのデータは、情報処理装置1000のユーザによって指定されたデータである。
図5に、管理テーブル1110に格納されているデータの一例を示す。図5の例では、ハードウェアリソースに付与された番号と、ハードウェアリソース名と、最終診断時刻のデータと、診断結果と、追加診断をするか否かを示すデータとが格納されるようになっている。ハードウェアリソースが正常であれば診断結果は「OK」となり、ハードウェアリソースが故障していれば診断結果が「NG」となる。また、再度診断を行うべきであれば追加診断は「OK」となり、再度診断を行うべきでなければ追加診断は「NG」となる。
図6に、割当テーブル1111に格納されているデータの一例を示す。図6の例では、割り当て先の情報と、ハードウェアリソース名とが格納されるようになっている。割当テーブルは、情報処理装置1000が有するハードウェアリソースの割り当てを管理するためのテーブルであり、割り当てが変更された場合には内容が更新される。なお、割当テーブル133にも、割当テーブル1111と同じデータが格納されている。
次に、第1の実施の形態における情報処理装置1000の処理内容について説明する。まず、論理ドメイン11における検出モジュール1105は、診断を行うべきハードウェアリソース(以下、対象リソースと呼ぶ)を検出する(図7:ステップS1)。ステップS1においては、管理テーブル1110に格納されている最終診断時刻のデータと、診断定義テーブル1109に格納されている診断間隔のデータとを用いて、最後に診断を行ってから所定時間以上診断が行われていないハードウェアリソースを検出する。但し、追加診断の欄に「NG」が格納されているハードウェアリソースは検出されない。
そして、第1指示モジュール1106は、対象リソースに対する診断のための処理においてOS1102が利用するメモリ領域を確保する(ステップS3)。そして、第1指示モジュール1106は、ステップS3において確保されたメモリ領域のアドレス及びステップS1において検出された対象リソースの指定(ここでは、ハードウェアリソース名)を含むマスク指示をカーネル1103に出力する(ステップS5)。
カーネル1103は、第1指示モジュール1106からマスク指示を受信する(ステップS7)。また、カーネル1103は、通知されたメモリ領域上で発生したエラーをOS1102が看過するための設定を行う(ステップS9)。
また、第2指示モジュール1107は、マスク指示をハイパバイザ13に出力する(ステップS11)。
ハイパバイザ13は、第2指示モジュール1107からマスク指示を受信する(ステップS13)。そして、ハイパバイザ13における設定モジュール131は、診断モジュール132のためのメモリ領域(すなわち、診断モジュール132を実現するためのプログラムが配置されるメモリ領域)で発生したエラーを看過するための設定を行う(ステップS15)。処理は端子A及びBを介して図8の処理に移行する。
図8の処理の説明に移行して、第2指示モジュール1107は、ステップS1において検出された対象リソースの指定を含む診断要求をハイパバイザ13に出力する(図8:ステップS17)。
ハイパバイザ13における診断モジュール132は、第2指示モジュール1107から診断要求を受信する(ステップS19)。そして、診断モジュール132は、診断処理を実施する(ステップS21)。診断処理については、図9を用いて詳細に説明する。
まず、診断モジュール132は、診断要求において指定されている対象リソース名で割当テーブル133を検索することにより、対象リソースがいずれかの論理ドメインに割り当て済みであるか判断する(図9:ステップS41)。いずれの論理ドメインにも割り当てられていない場合(ステップS41:Noルート)、対象リソースに対する診断を行っても問題は無いため、診断モジュール132は対象リソースに対する診断を行う(ステップS43)。そして元の処理に戻る。
なお、本実施の形態においては、診断モジュール132はハードウェアリソースの診断に関する特別な権限を利用して、例えば対象リソースのレジスタにアクセスすることにより、対象リソースに対する診断を行う。
一方、対象リソースがいずれかの論理ドメインに割り当てられている場合(ステップS41:Yesルート)、診断モジュール132は、割当テーブル133において未割り当てのハードウェアリソースが有るか判断する(ステップS45)。未割り当てのハードウェアリソースが有ると判断された場合(ステップS45:Yesルート)、診断モジュール132は、当該未割り当てのリソースに対して診断を行う(ステップS47)。
そして、診断モジュール132は、診断結果が「正常」を示しているか判断する(ステップS49)。診断結果が「正常」を示していない場合(ステップS49:Noルート)、当該未割り当てリソースを論理ドメインに割り当てると論理ドメインに不具合が生じる可能性があるので、ステップS45に戻る。
一方、診断結果が「正常」を示している場合(ステップS49:Yesルート)、診断モジュール132は、当該未割り当てリソースを対象リソースの代わりに論理ドメインに割り当てる(ステップS51)。そして、診断モジュール132は、割り当てから解放された対象リソースに対する診断を行う(ステップS53)。そして元の処理に戻る。
一方、未割り当てのハードウェアリソースが無いと判断された場合(ステップS45:Noルート)、対象リソースを割り当てから解放することができず、診断を行うことができないため、元の処理に戻る。
このようにすれば、対象リソースが割り当て済みであったとしても、稼働中の論理ドメインに影響を与えることなく、対象リソースの診断を行うことができるようになる。
また、未割り当てのハードウェアリソースが正常であることを確認したうえで論理ドメインに割り当てるので、論理ドメインに不具合が発生することを防止できる。さらに、対象リソースを割り当てから解放して診断を行った後、対象リソースを再度割り当てることをしていないので、論理ドメインに割り当てられるハードウェアリソースが入れ替わることになる。これにより、特定のハードウェアリソースが論理ドメインに割り当てられ続けるような、使用の偏りを抑制することができるようになる。
図8の説明に戻り、診断モジュール132は、診断結果をOS1102における管理モジュール1104に出力する(ステップS23)。
管理モジュール1104における通知モジュール1108は、診断結果を診断モジュール132から受信する(ステップS25)。そして、通知モジュール1108は、管理テーブル1110に格納されているデータを更新する(ステップS27)。なお、診断結果が「正常」を示している場合には、診断結果及び追加診断の欄に「OK」を格納し、診断結果が「正常」を示していない場合には、診断結果及び追加診断の欄に「NG」を格納する。また、診断が行われていない、すなわちステップS45のNoルートを経由している場合には、追加診断の欄に「NG」を格納する。
そして、通知モジュール1108は、診断結果が「正常」を示していない場合には、故障の発生をユーザに認識させるためのデータを生成し、生成したデータを表示部(図示せず)に表示させることにより、ユーザに対する通知を行う(ステップS29)。また、通知モジュール1108は、イベントログテーブル(図示せず)に、故障が発生したハードウェアリソースの名前と発生日時とを登録しておく。
以上のような処理を実施することにより、ハードウェアリソースの診断中に所定のメモリ領域で発生したエラーによって、OS1102及びハイパバイザ13が悪影響(例えばパニック状態に陥る等)を受けることなくなる。よって、論理ドメインの稼働中であっても、ハイパバイザ13の特権を利用して適切なハードウェア診断を行うことができ、故障の検出が遅れてしまうことを防ぐことができるようになる。すなわち、早期にハードウェアリソースの故障を検出し、メインシステムの安定稼働を実現できるようになる。
ここで、第1の実施の形態に係るハードウェアリソースの診断方法の概要を図10に示す。第1の実施の形態によれば、論理ドメインの稼働中に各ハードウェアリソースに対して定期的な診断を行うことができるようになる。すなわち、メインシステム又は論理ドメインをリセットしなくても、ハードウェアリソースに対する診断を行うことができるようになっている。
[実施の形態2]
次に、第2の実施の形態について説明する。第2の実施の形態は、対象リソースが割り当て済みであり且つ未割り当てのハードウェアリソースが無い場合であっても、対象リソースに対して強制的に診断を行える点で第1の実施の形態とは異なっている。
第2の実施の形態における情報処理装置1000の構成について、第1の実施の形態との相違点を説明する。
図11に、診断定義テーブル1109に格納されているデータの一例を示す。図11の例では、診断を実施するか否かを指定するためのデータと、診断対象を指定するためのデータと、診断間隔を指定するためのデータと、強制診断を有効にするか否かを指定するためのデータとが格納されている。
その他の部分については、第1の実施の形態と同様である。
次に、第2の実施の形態における情報処理装置1000の処理内容について説明する。まず、論理ドメイン11における検出モジュール1105は、診断を行うべきハードウェアリソース(以下、対象リソースと呼ぶ)を検出する(図12:ステップS61)。検出の方法については、ステップS1の説明で述べたとおりである。
そして、検出モジュール1105は、割当テーブル1111において未割り当てのハードウェアリソースが有るか判断する(ステップS63)。未割り当てのハードウェアリソースが有ると判断された場合(ステップS63:Yesルート)、強制診断の可否について判断するまでもなく、対象リソースに対する診断を行うことができるので、ステップS69の処理に移行する。
一方、未割り当てのハードウェアリソースが無いと判断された場合(ステップS63:Noルート)、検出モジュール1105は、診断定義テーブル1109において強制診断が有効になっているか判断する(ステップS65)。強制診断が有効ではないと判断された場合(ステップS65:Noルート)、対象リソースに対する診断を行うことはできないので、処理を終了する(ステップS67)。
一方、強制診断が有効であると判断された場合(ステップS65:Yesルート)、割り当て済みであるハードウェアリソースを未割り当てのハードウェアリソースであるとみなして診断を行うことができる。よって、第1指示モジュール1106は、対象リソースに対する診断のための処理においてOS1102が利用するメモリ領域を確保する(ステップS69)。そして、第1指示モジュール1106は、ステップS69において確保されたメモリ領域のアドレスを含むマスク指示をカーネル1103に出力する(ステップS71)。
カーネル1103は、第1指示モジュール1106からマスク指示を受信する(ステップS73)。また、カーネル1103は、通知されたメモリ領域上で発生したエラーをOS1102が看過するための設定を行う(ステップS75)。
また、第2指示モジュール1107は、マスク指示をハイパバイザ13に出力する(ステップS77)。
ハイパバイザ13は、第2指示モジュール1107からマスク指示を受信する(ステップS79)。そして、ハイパバイザ13における設定モジュール131は、診断モジュール132のためのメモリ領域(すなわち、診断モジュール132を実現するためのプログラムが配置されるメモリ領域)で発生したエラーを看過するための設定を行う(ステップS81)。そして処理は端子A及びBを介して図8の処理に移行する。
このような処理を実施することにより、ハイパバイザ13における診断モジュール132に強制診断を行わせることができるようになる。
また、第2の実施の形態における診断処理は、第1の実施の形態における診断処理とは異なっている。そこで、第2の実施の形態における診断処理について図13を用いて説明する。
まず、診断モジュール132は、診断要求において指定されている対象リソースのハードウェアリソース名で割当テーブル133を検索することにより、対象リソースがいずれかの論理ドメインに割り当て済みであるか判断する(図13:ステップS91)。いずれの論理ドメインにも割り当てられていない場合(ステップS91:Noルート)、対象リソースに対する診断を行っても問題は無いため、診断モジュール132は対象リソースに対する診断を行う(ステップS93)。そして元の処理に戻る。
なお、第1の形態と同様に、診断モジュール132はハードウェアリソースの診断に関する特別な権限を利用して、例えば対象リソースのレジスタにアクセスすることにより、対象リソースに対する診断を行う。
一方、対象リソースがいずれかの論理ドメインに割り当てられている場合(ステップS91:Yesルート)、診断モジュール132は、割当テーブル133において未割り当てのハードウェアリソースが有るか判断する(ステップS95)。未割り当てのハードウェアリソースが有ると判断された場合(ステップS95:Yesルート)、診断モジュール132は、当該未割り当てのリソースに対して診断を行う(ステップS97)。
そして、診断モジュール132は、診断結果が「正常」を示しているか判断する(ステップS99)。診断結果が「正常」を示していない場合(ステップS99:Noルート)、当該未割り当てリソースを論理ドメインに割り当てると論理ドメインに不具合が生じる可能性があるので、ステップS95に戻る。
一方、診断結果が「正常」を示している場合(ステップS99:Yesルート)、診断モジュール132は、当該未割り当てリソースを対象リソースの代わりに論理ドメインに割り当てる(ステップS101)。そして、診断モジュール132は、割り当てから解放された対象リソースに対する診断を行う(ステップS103)。そして元の処理に戻る。
一方、未割り当てのハードウェアリソースが無いと判断された場合(ステップS95:Noルート)、診断モジュール132は、診断定義テーブル1109において強制診断が有効になっているか判断する(ステップS105)。強制診断が有効ではない場合(ステップS105:Noルート)、対象リソースを割り当てから解放できず、診断を行うことができないため、元の処理に戻る。
一方、強制診断が有効である場合(ステップS105:Yesルート)、診断モジュール132は、割当テーブル133において割り当て済みであるハードウェアリソースを1つ特定し(ステップS107)、当該ハードウェアリソースに対して診断を行う(ステップS97)。ステップS99以降の処理は上で述べたとおりである。
このような処理を実施すれば、対象リソースが論理ドメインに割り当て済みであり且つ未割り当てのハードウェアリソースが無いような場合、すなわち余剰のハードウェアリソースが少ないような場合においても、確実に診断を行うことができるようになる。
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した情報処理装置1000の構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した処理フローは、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、図5に示した管理テーブルにおいては、最終診断時刻を管理するような例を示したが、図14に示すように、最後に診断を行ってから経過した時間(すなわち稼働時間)を管理するようにしてもよい。このような場合には、稼働時間が診断間隔を超えた場合に診断を行うようにすることで、ハードウェアリソースに対する定期的な診断を行えるようになる。
また、第2の実施の形態では、OS1102における検出モジュール1105がステップS65において強制診断が有効であるかを確認した際に、強制診断が有効であるか否かをハイパバイザ13における診断モジュール132に通知するようにしてもよい。このようにすれば、診断モジュール132がステップS105において強制診断が有効であるかを判断しなくても済む。
また、上で述べた例では、対象リソースがいずれかの論理ドメインに割り当て済みである場合に、他のハードウェアリソースを対象リソースの代わりに割り当てた後、対象リソースに対する診断を行っている。そして、対象リソースに対する診断の終了後に、対象リソースを論理ドメインに再度割り当てるようにはしていなかったが、対象リソースが故障していないのであれば、論理ドメインに再度割り当てるようにしてもよい。
また、ステップS17においては、第2指示モジュール1107からハイパバイザ13に対して対象リソースの指定を通知するようにしているが、マスク指示を受信したカーネル1103が、ハイパバイザ13に対して対象リソースの指定を通知するようにしてもよい。
以上述べた本実施の形態をまとめると以下のようになる。
本情報処理装置は、(A)メモリと、(B)オペレーティングシステムを実行し、計算機として所定の機能を提供する論理ドメインと、理ドメインの管理を行うハイパバイザとの処理を実行する処理装置(例えばプロセッサ)とを有する。そして、上記オペレーティングシステムが、(b1−1)処理装置に実行されるときには、診断を行うべきハードウェアを検出する検出モジュールと、(b1−2)処理装置に実行されるときには、検出モジュールにより診断を行うべきハードウェアが検出された場合、診断のための処理においてオペレーティングシステムが利用する、メモリにおけるメモリ領域を確保し、オペレーティングシステムのカーネルに対して、当該メモリ領域で発生したエラーを看過するように指示する第1指示モジュールと、(b1−3)処理装置に実行されるときには、検出モジュールにより診断を行うべきハードウェアが検出された場合、ハイパバイザに対して、診断において利用する、メモリにおけるメモリ領域で発生したエラーを看過するように指示し且つ診断を行うべきハードウェアの指定を含む診断要求を出力する第2指示モジュールとを有する。そして、上記ハイパバイザが、(b2−1)処理装置に実行されるときには、診断要求を受信した場合、診断モジュールが診断において利用する、メモリにおけるメモリ領域で発生したエラーを看過するための設定を行う設定モジュールと、(b2−2)処理装置に実行されるときには、診断要求を受信した場合、診断を行うべきハードウェアに対して診断を行う診断モジュールとを有する。
このような構成であれば、論理ドメインの稼動中であっても、オペレーティングシステム及びハイパバイザの処理に対して悪影響を及ぼすことなく、ハイパバイザによる適切なハードウェア診断を行えるようになる。なお、上で述べた処理装置は、例えばプロセッサと当該プロセッサにより実行されるプログラムとにより実現される。
また、上で述べた診断モジュールが、(b2−21)処理装置に実行されるときには、診断を行うべきハードウェアがいずれかの論理ドメインに割り当てられている場合、情報処理装置が有するハードウェアのうちいずれの論理ドメインにも割り当てられていないハードウェアを、診断を行うべきハードウェアの代わりに割り当てた後、診断を行うべきハードウェアに対して診断を行うようにしてもよい。このようにすれば、診断を行うべきハードウェアが論理ドメインに割り当てられている場合であっても、論理ドメインの稼動を継続しつつ診断を行うことができるようになる。また、特定のハードウェアが論理ドメインに割り当てられ続けるような、ハードウェアの使用の偏りを防ぐことができるようになる。
また、上で述べた診断モジュールが、(b2−22)処理装置に実行されるときには、情報処理装置が有するハードウェアのうちいずれの論理ドメインにも割り当てられていないハードウェアに対して診断を行い、当該診断の結果が正常である場合に、当該ハードウェアを診断を行うべきハードウェアの代わりに割り当てるようにしてもよい。このようにすれば、故障しているハードウェアを論理ドメインに割り当ててしまうことによる不具合の発生を防ぐことができる。
また、上で述べた診断モジュールが、(b2−23)処理装置に実行されるときには、診断を行うべきハードウェアがいずれかの論理ドメインに割り当てられており且ついずれの論理ドメインにも割り当てられていないハードウェアが無い場合、診断方法を定義する定義データをテーブルから読み出し、強制診断が指定されているか判断し、強制診断が指定されていると判断した場合、既にいずれかの論理ドメインに割り当てられているハードウェアを、診断を行うべきハードウェアの代わりに割り当てるようにしてもよい。このようにすれば、余剰のハードウェアが少ないような場合においても、確実に診断を行うことができるようになる。
また、上で述べた診断モジュールが、(b2−24)処理装置に実行されるときには、診断の結果をオペレーティングシステムに出力するようにしてもよい。そして、オペレーティングシステムが、(b1−3)処理装置に実行されるときには、診断の結果が、診断が行われたハードウェアが故障していることを示している場合、当該故障を理ドメインのユーザに通知するためのデータを生成する通知モジュールをさらに有するようにしてもよい。このようにすれば、ユーザが故障に対する対処を行うことができるようになる。
また、上で述べた検出モジュールは、(b1−11)処理装置に実行されるときには、情報処理装置が有するハードウェアのうち、所定時間以上診断が行なわれていないハードウェアを検出するようにしてもよい。これにより、定期的な診断が行えるようになる。
また、上で述べた検出モジュールは、(b1−12)処理装置に実行されるときには、情報処理装置が有するハードウェアのうち、所定時間以上診断が行なわれておらず且つ前回診断において正常であると診断されたハードウェアを検出するようにしてもよい。これにより、前回診断において故障があると診断されたハードウェアに対して再度診断を行ってしまう無駄を解消することができるようになる。
また、ハイパバイザにより実現された論理ドメインのうちいずれか1つの論理ドメインに含まれるオペレーティングシステムが、検出モジュール、第1指示モジュール及び第2指示モジュールを有するようにしてもよい。これにより、ハードウェア診断を適切に管理できるようになる。
本情報処理方法は、(C)診断を行うべきハードウェアを検出するステップと、(D)仮想的に実現されたシステムである論理ドメインに含まれるオペレーティングシステムが診断のための処理において利用するメモリ領域を確保し、オペレーティングシステムのカーネルに対して、当該メモリ領域で発生したエラーを看過するように指示するステップと、(E)論理ドメインを実現するためのハイパバイザに対して、診断において利用するメモリ領域で発生したエラーを看過するように指示し且つ診断を行うべきハードウェアの指定を含む診断要求を出力するステップとを含む。
このようにすれば、論理ドメインの稼働中にハードウェアの診断を行ったとしても、オペレーティングシステム及びハイパバイザの処理に悪影響を及ぼすことがなくなる。
本実施の形態の第2の態様に係る情報処理方法は、(F)ハードウェアの診断において利用するメモリ領域で発生したエラーを看過するように指示し且つ診断を行うべきハードウェアの指定を含む診断要求を、仮想的に実現されたシステムである論理ドメインに含まれるオペレーティングシステムから受信した場合、論理ドメインを実現するためのハイパバイザが診断において利用するメモリ領域で発生したエラーを看過するための設定を行うステップと、(G)診断を行うべきハードウェアに対して診断を行うステップとを含む。
このようにすれば、ハイパバイザの処理に悪影響を及ぼすことなく、ハイパバイザによる適切なハードウェア診断を行えるようになる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。

Claims (8)

  1. メモリと、
    オペレーティングシステムを実行し、計算機として所定の機能を提供する論理ドメインと、前記論理ドメインの管理を行うハイパバイザとの処理を実行する処理装置と、
    を有し、
    前記オペレーティングシステムが、
    診断を行うべきハードウェアを検出する検出モジュールと、
    前記検出モジュールにより前記診断を行うべきハードウェアが検出された場合、前記診断のための処理において前記オペレーティングシステムが利用する、前記メモリにおけるメモリ領域を確保し、前記オペレーティングシステムのカーネルに対して、当該メモリ領域で発生したエラーを看過するように指示する第1指示モジュールと、
    前記検出モジュールにより前記診断を行うべきハードウェアが検出された場合、前記ハイパバイザに対して、前記診断において利用するメモリ領域で発生したエラーを看過するように指示し且つ前記診断を行うべきハードウェアの指定を含む診断要求を出力する第2指示モジュールと、
    を有し、
    前記ハイパバイザが、
    前記診断要求を受信した場合、前記診断を行うべきハードウェアに対して前記診断を行う診断モジュールと、
    前記診断要求を受信した場合、前記診断モジュールが前記診断において利用するメモリ領域で発生したエラーを看過するための設定を行う設定モジュールと、
    を有する
    情報処理装置。
  2. 前記診断モジュールが、
    前記診断を行うべきハードウェアがいずれかの論理ドメインに割り当てられている場合、前記情報処理装置が有するハードウェアのうちいずれの論理ドメインにも割り当てられていないハードウェアを、前記診断を行うべきハードウェアの代わりに割り当てた後、前記診断を行うべきハードウェアに対して前記診断を行う
    請求項1記載の情報処理装置。
  3. 前記診断モジュールが、
    前記情報処理装置が有するハードウェアのうちいずれの論理ドメインにも割り当てられていないハードウェアに対して診断を行い、当該診断の結果が正常である場合に、当該ハードウェアを前記診断を行うべきハードウェアの代わりに割り当てる
    請求項2記載の情報処理装置。
  4. 前記診断モジュールが、
    前記診断を行うべきハードウェアがいずれかの論理ドメインに割り当てられており且ついずれの論理ドメインにも割り当てられていないハードウェアが無い場合、診断方法を定義する定義データをテーブルから読み出し、強制診断が指定されているか判断し、
    前記強制診断が指定されていると判断した場合、既にいずれかの論理ドメインに割り当てられているハードウェアを、前記診断を行うべきハードウェアの代わりに割り当てる
    請求項1記載の情報処理装置。
  5. 前記診断モジュールが、
    前記診断の結果を前記オペレーティングシステムに出力し、
    前記オペレーティングシステムが、
    前記診断の結果が、前記診断が行われたハードウェアが故障していることを示している場合、当該故障を前記論理ドメインのユーザに通知するためのデータを生成する通知モジュール
    をさらに有する
    請求項1乃至4のいずれか1つ記載の情報処理装置。
  6. コンピュータにおいて仮想的に実現されたシステムである論理ドメイン内のオペレーティングシステムに含まれる管理プログラムであって、
    前記コンピュータ内のプロセッサに、
    診断を行うべきハードウェアを検出し、
    記診断のための処理において利用するメモリ領域を確保し、前記オペレーティングシステムのカーネルに対して、当該メモリ領域で発生したエラーを看過するように指示し、
    前記論理ドメインの管理を行うハイパバイザに対して、前記診断において利用するメモリ領域で発生したエラーを看過するように指示し且つ前記診断を行うべきハードウェアの指定を含む診断要求を出力する
    処理を行させるための管理プログラム。
  7. コンピュータにおいて仮想的に実現されたシステムである論理ドメインの管理を行うためのプログラムであって、
    前記コンピュータ内のプロセッサに、
    ハードウェアの診断において利用するメモリ領域で発生したエラーを看過するように指示し且つ前記診断を行うべきハードウェアの指定を含む診断要求を、前記論理ドメインに含まれるオペレーティングシステムから受信した場合、記診断において利用するメモリ領域で発生したエラーを看過するための設定を行い、
    前記診断を行うべきハードウェアに対して前記診断を行う
    処理を行させるためのプログラム。
  8. 仮想的に実現されたシステムである論理ドメイン内のオペレーティングシステムに含まれる検出モジュール及び指示モジュールと、前記論理ドメインの管理を行うハイパバイザに含まれる診断モジュール及び設定モジュールとを含むコンピュータにおいて実行される情報処理方法であって、
    前記検出モジュールが、
    診断を行うべきハードウェアを検出し、
    前記指示モジュールが、
    記診断のための処理において利用するメモリ領域を確保し、前記オペレーティングシステムのカーネルに対して、当該メモリ領域で発生したエラーを看過するように指示し、
    前記設定モジュールが、
    記診断において利用するメモリ領域で発生したエラーを看過するための設定を行い、
    前記診断モジュールが、
    前記診断を行うべきハードウェアに対して前記診断を行う
    処理を行する情報処理方法。
JP2013530954A 2011-08-31 2011-08-31 情報処理装置及び方法、プログラム Active JP5716830B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/069755 WO2013030976A1 (ja) 2011-08-31 2011-08-31 情報処理装置及び方法、プログラム

Publications (2)

Publication Number Publication Date
JPWO2013030976A1 JPWO2013030976A1 (ja) 2015-03-23
JP5716830B2 true JP5716830B2 (ja) 2015-05-13

Family

ID=47755526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013530954A Active JP5716830B2 (ja) 2011-08-31 2011-08-31 情報処理装置及び方法、プログラム

Country Status (3)

Country Link
US (1) US20140149795A1 (ja)
JP (1) JP5716830B2 (ja)
WO (1) WO2013030976A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013080288A1 (ja) * 2011-11-28 2013-06-06 富士通株式会社 メモリ縮退方法及び情報処理装置
JP6060781B2 (ja) * 2013-04-03 2017-01-18 三菱電機株式会社 障害診断装置およびプログラム
JP6033183B2 (ja) * 2013-07-31 2016-11-30 京セラドキュメントソリューションズ株式会社 画像形成装置、及び画像形成装置の起動方法
CN108196990B (zh) * 2017-12-19 2022-05-13 超聚变数字技术有限公司 一种自检方法和服务器
US11714736B2 (en) * 2020-07-30 2023-08-01 Micron Technology, Inc. Relative humidity sensor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03252829A (ja) * 1990-03-02 1991-11-12 Fujitsu Ltd 仮想計算機のテスト方式
JPH08305596A (ja) * 1995-04-28 1996-11-22 Fujitsu Ltd 仮想計算機システムおよびその試験方法
JP2002268912A (ja) * 2001-03-09 2002-09-20 Toshiba Corp ディジタル形保護制御装置およびプログラム
JP2006252429A (ja) * 2005-03-14 2006-09-21 Nec Corp コンピュータシステム、コンピュータシステムの診断方法およびコンピュータシステムの制御プログラム
JP2009259108A (ja) * 2008-04-18 2009-11-05 Toshiba Corp 情報処理装置および情報処理装置の制御方法
EP2360594B1 (en) * 2008-11-27 2014-12-17 Fujitsu Limited Information processing apparatus, processing unit switching method, and processing unit switching program

Also Published As

Publication number Publication date
US20140149795A1 (en) 2014-05-29
WO2013030976A1 (ja) 2013-03-07
JPWO2013030976A1 (ja) 2015-03-23

Similar Documents

Publication Publication Date Title
JP6530774B2 (ja) ハードウェア障害回復システム
US8713350B2 (en) Handling errors in a data processing system
US8839032B2 (en) Managing errors in a data processing system
JP4489802B2 (ja) マルチcpuコンピュータおよびシステム再起動方法
US8135985B2 (en) High availability support for virtual machines
WO2013094048A1 (ja) 試験サーバ、情報処理システム、試験プログラムおよび試験方法
JP5716830B2 (ja) 情報処理装置及び方法、プログラム
US20050229042A1 (en) Computer boot operation utilizing targeted boot diagnostics
JP2004318885A (ja) 故障プロセッサを置き換える方法、媒体およびシステム
US20030163744A1 (en) Information processing system, and method and program for controlling the same
JP2007226413A (ja) メモリダンプ方法、メモリダンププログラム、及び、計算機システム
US7984219B2 (en) Enhanced CPU RASUM feature in ISS servers
WO2011027382A1 (en) Request processing system provided with multi-core processor
US8166273B2 (en) Degeneration method and information processing apparatus
KR20090081405A (ko) 파티션 유닛을 교체하는 방법 및 컴퓨터 판독가능 매체
JP2007133544A (ja) 障害情報解析方法及びその実施装置
JP5842683B2 (ja) 情報処理装置、メモリダンププログラム及びメモリダンプ方法
JP2006252429A (ja) コンピュータシステム、コンピュータシステムの診断方法およびコンピュータシステムの制御プログラム
JP5696492B2 (ja) 故障検出装置、故障検出方法、及び、故障検出プログラム
JP4787551B2 (ja) デバッグシステム、デバッグ方法およびプログラム
TWI777259B (zh) 開機方法
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
JP2007004364A (ja) デバッグシステム、デバッグ方法およびプログラム
JP2016076152A (ja) エラー検出システム、エラー検出方法およびエラー検出プログラム
JP2017062697A (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150302

R150 Certificate of patent or registration of utility model

Ref document number: 5716830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150