JP2014071668A - 情報処理装置、起動プログラム、および起動方法 - Google Patents

情報処理装置、起動プログラム、および起動方法 Download PDF

Info

Publication number
JP2014071668A
JP2014071668A JP2012217241A JP2012217241A JP2014071668A JP 2014071668 A JP2014071668 A JP 2014071668A JP 2012217241 A JP2012217241 A JP 2012217241A JP 2012217241 A JP2012217241 A JP 2012217241A JP 2014071668 A JP2014071668 A JP 2014071668A
Authority
JP
Japan
Prior art keywords
module
abnormality
information
processing
restart
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.)
Granted
Application number
JP2012217241A
Other languages
English (en)
Other versions
JP5910444B2 (ja
Inventor
Hideshi Kobayashi
秀史 小林
Tatsuya Yanagisawa
達也 柳澤
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
Priority to JP2012217241A priority Critical patent/JP5910444B2/ja
Priority to US14/034,068 priority patent/US9244773B2/en
Publication of JP2014071668A publication Critical patent/JP2014071668A/ja
Application granted granted Critical
Publication of JP5910444B2 publication Critical patent/JP5910444B2/ja
Expired - Fee Related 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/0727Error 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 storage system, e.g. in a DASD or network based storage system
    • 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/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • 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/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1428Reconfiguring to eliminate the error with loss of hardware functionality
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】冗長構成されたモジュールの起動時に異常を検出しても、モジュールの起動にかかる遅延時間を抑制する。
【解決手段】情報処理装置1は、複数のモジュール12を冗長構成にして備える。起動制御部2(起動処理実行部3)は、起動処理7を処理ブロックごとに逐次実行する。起動制御部2(異常情報生成部4)は、起動制御時に異常を生じたモジュール12を検出した場合に、異常情報10を生成し、メモリ9に保持する。起動制御部2(縮退運転判定部5)は、縮退運転の可否の判定をおこなう。起動制御部2(再起動実行部6)は、縮退運転ができない場合に、異常情報10にもとづいて選択した異常モジュールについて再起動処理8を実行する。
【選択図】図1

Description

本発明は、情報処理装置、起動プログラム、および起動方法に関する。
情報処理装置は、サービスを提供するための一部の処理を担うモジュールの冗長構成により、信頼性の高いサービス提供を図っている。このような冗長構成されたモジュールは、モジュールを統括制御する情報処理装置により起動制御がおこなわれる。
情報処理装置は、一部のモジュールに異常が発生した場合に、異常を検出したモジュールの切り離しをおこなったり、異常を検出したモジュールの再起動をおこなったりして、サービス提供をおこなえる状態で起動するように努める。
特開2002−6996号公報 特開平5−166287号公報 特開平9−198325号公報 特開2007−293448号公報
しかしながら、異常を検出したモジュールの切り離しをおこなった結果、サービス提供をおこなえる状態での起動に失敗して、全体として再起動をやり直すことになると、サービスの提供が可能になるまでの起動時間が大きくなる。
また、異常を検出したモジュールについて、その都度、再起動をおこなう場合も、サービスの提供が可能になるまでの起動時間が大きくなる。
このような起動時間の増大は、定期的に停止と起動をおこなう情報処理システムにおいて、タイムスケジュールにしたがう運用の遅延につながるおそれがある。
1つの側面では、本発明は、冗長構成されたモジュールの起動時に異常を検出しても、モジュールの起動にかかる遅延時間を抑制可能な情報処理装置、起動プログラム、および起動方法を提供することを目的とする。
上記目的を達成するために、以下に示すような、冗長構成のモジュールの起動制御をおこなう情報処理装置が提供される。情報処理装置は、メモリと、起動制御部と、を備える。メモリは、モジュールの起動制御時に生じた異常に関する異常情報を保持する。起動制御部は、複数の処理ブロックからなる起動処理を処理ブロックごとにシーケンシャルに実行し、起動制御時に異常を生じたモジュールを検出した場合に、異常情報の生成と、起動制御時に異常を生じたモジュールを除外した縮退運転の可否の判定とをおこない、縮退運転ができる場合に、実行中の処理ブロックの実行を完了し、縮退運転ができない場合に、起動制御時に異常を生じたすべてのモジュールのうち異常情報にもとづいて選択したモジュールの再起動処理を実行し、再起動処理を完了してから実行中の処理ブロックの実行を完了する。
また、上記目的を達成するために、冗長構成のモジュールの起動制御をおこなう情報処理装置を起動する起動プログラム、および起動方法が提供される。起動プログラム、および起動方法は、以下に示すような処理をコンピュータに実行させる。コンピュータは、複数の処理ブロックからなる起動処理を処理ブロックごとにシーケンシャルに実行し、起動制御時に異常を生じたモジュールを検出した場合に、異常に関する異常情報の生成と、起動制御時に異常を生じたモジュールを除外した縮退運転の可否の判定とをおこない、縮退運転ができる場合に、実行中の処理ブロックの実行を完了し、縮退運転ができない場合に、起動制御時に異常を生じたすべてのモジュールのうち異常情報にもとづいて選択したモジュールの再起動処理を実行し、再起動処理を完了してから実行中の処理ブロックの実行を完了する、処理を実行する。
1態様によれば、情報処理装置、起動プログラム、および起動方法において、冗長構成されたモジュールの起動時に異常を検出しても、モジュールの起動にかかる遅延時間を抑制できる。
第1の実施形態の情報処理装置の構成例を示す図である。 第2の実施形態のストレージ装置の構成例を示す図である。 第2の実施形態の管理モジュールの制御部のハードウェア構成例を示す図である。 第2の実施形態のチャネルアダプタモジュールの冗長構成例を示す図である。 第2の実施形態のCA接続先情報の一例を示す図である。 第2の実施形態のサーバグループ情報の一例を示す図である。 第2の実施形態の電源投入シーケンスの一例を示す図である。 第2の実施形態のCA再起動処理の一例を示す図である。 第2の実施形態の電源投入時起動処理のフローチャートである。 第2の実施形態のモジュール再起動処理のフローチャートである。 第2の実施形態の再起動モジュール選択処理のフローチャートである。 第2の実施形態の異常構成情報の一例を示す図である。 第2の実施形態の電源投入シーケンスにおいて冗長構成のチャネルアダプタモジュールの1つの異常検出例である。 図13に示す異常検出時の異常構成情報の一例を示す図である。 第2の実施形態の電源投入シーケンスにおいて冗長構成のチャネルアダプタモジュールのすべての異常検出例である。 図15に示す異常検出時の異常構成情報の一例を示す図である。 図15に示す異常検出時の異常構成情報の一例を示す図である。
以下、実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
まず、第1の実施形態の情報処理装置について図1を用いて説明する。図1は、第1の実施形態の情報処理装置の構成例を示す図である。
情報処理装置1は、所定の起動契機(たとえば、電源投入やリセット)に起動処理7を実行する。情報処理装置1は、起動プログラムにしたがい起動処理7を実行する。情報処理装置1は、情報処理装置1自身の起動制御をおこなうほかに、複数のモジュール12の起動制御をおこなう。
情報処理装置1は、複数のモジュール12を外部接続、あるいは内部接続する。複数のモジュール12は、情報処理装置1によるサービス提供に必要な最小限度の数に、余裕分を加えた数だけある。
情報処理装置1は、起動制御部2と、メモリ9を備える。起動制御部2は、起動処理実行部3と、異常情報生成部4と、縮退運転判定部5と、再起動実行部6とを備える。
起動処理実行部3は、起動処理7を実行する。起動処理(起動プログラム)7は、複数の処理ブロック(たとえば、処理ブロック#0、処理ブロック#1、・・・、処理ブロック#4)を有する。起動処理実行部3は、各処理ブロックをシーケンシャルに実行する。たとえば、起動処理実行部3は、最初の処理ブロック#0を実行し、処理ブロック#0の実行完了後に次の処理ブロック#1を実行する。同様にして、起動処理実行部3は、最後の処理ブロック#4を実行して、処理ブロック#4の実行完了により起動処理7の実行を終了する。
異常情報生成部4は、起動制御時に異常を生じたモジュール12(起動経過が正常でないモジュール12)を検出した場合に、異常情報10の生成をおこなう。異常情報10は、起動経過が正常でないモジュール12の起動制御時に生じた異常に関する情報である。異常情報10は、異常の程度(復旧優先度)を比較可能な情報を含む。異常情報生成部4が生成した異常情報10は、メモリ9に保持される。
異常情報生成部4は、起動処理7の各処理ブロックを実行する都度、起動制御時に異常を生じたモジュール12の検出と、異常情報10の生成をおこなうようにしてもよい。
縮退運転判定部5は、起動制御時に異常を生じたモジュール12を検出した場合に、起動制御時に異常を生じたモジュール12を除外した縮退運転の可否の判定をおこなう。縮退運転の可否の判定は、縮退運転に最低限必要とされる数のモジュール12の起動経過が正常であるか否かの判定によっておこなうことができる。たとえば、縮退運転に最低限必要とされる数は、メモリ9が保持する設定値や、装置構成を定義した構成情報から特定することができる。
縮退運転判定部5は、起動処理7の各処理ブロックを実行する都度、起動制御時に異常を生じたモジュール12を検出した場合に、縮退運転の可否の判定をおこなうようにしてもよい。
起動処理実行部3は、縮退運転ができる場合に実行中の処理ブロックの実行を完了し、縮退運転ができない場合に実行中の処理ブロックの実行を完了しない。
再起動実行部6は、縮退運転ができない場合に、すべての異常モジュール(起動経過が正常でないモジュール12)のうち異常情報10にもとづいて選択した異常モジュール(選択モジュール)について再起動処理8を実行する。異常情報10にもとづく選択は、たとえば、異常情報10から特定可能な復旧優先度を比較しておこなうことができる。復旧優先度は、検出した異常の種類に応じてあらかじめ複数段階で設定される。したがって、再起動実行部6は、異常モジュールごとの異常情報10を比較することで、復旧優先度を順序付けすることができる。再起動実行部6は、たとえば、最も復旧優先度の高い異常モジュールを選択モジュールとする。
再起動実行部6は、すべての異常モジュールのうちから選択モジュールを再起動処理8の実行対象とするので、異常モジュールのすべてを実行対象とする場合に比較して、選択モジュールの再起動処理8の実行完了の期待を大きくできる。また、再起動実行部6は、選択モジュールを1つとしてもよく、その場合に実行対象とした異常モジュールの再起動処理8の実行完了の期待をより大きくすることができる。
したがって、情報処理装置1は、再起動処理8を失敗する可能性を低減することができ、再起動処理8のやり直しにかかる処理時間を低減することができる。
このようにして、情報処理装置1は、冗長構成されたモジュール12の起動時に異常を検出しても、モジュール12の起動にかかる遅延時間を抑制できる。
[第2の実施形態]
次に、第2の実施形態のストレージ装置について図2を用いて説明する。図2は、第2の実施形態のストレージ装置の構成例を示す図である。
ストレージ装置16は、図示しないサーバからストレージデバイスへのアクセス要求(サービス要求)を受け付けて応答(サービス応答)する装置である。ストレージ装置16は、管理モジュール(CMモジュール:Central Management Module)17と、デバイスエンクロージャ(DE:Device Enclosure)18を備える。
ストレージ装置16は、CM#0とCM#1の2つの管理モジュール17を備える。管理モジュール17は、制御部19を備え、制御部19によりストレージ装置16を統括的に制御するとともに、ストレージ装置16の資源管理をおこなう。管理モジュール17によるストレージ装置16の統括的な制御には、ストレージ装置16の起動制御を含む。
CM#0とCM#1の2つの管理モジュール17のうちCM#0がストレージ装置16で唯一のマスターCMであり、CM#1がその余のスレーブCMである。ストレージ装置16は、2つの管理モジュール17を備えるが、管理モジュール17を3つ以上備えてもよく、その場合、1つの管理モジュール17がマスターCMとなり、その余の管理モジュール17がスレーブCMとなる。したがって、ストレージ装置16は、冗長構成の管理モジュール17を有する。
管理モジュール17は、それぞれが備える制御部19を接続し、制御部19間でネゴシエーションを図り、1つの管理モジュール17をマスターCMとする。いずれの管理モジュール17がマスターCMとなるかは、あらかじめ設定する決定順位により決定してもよいし、ストレージ装置16の起動時に管理モジュール17間で所定の決定ルールにしたがい決定してもよい。マスターCMに異常が生じた場合、残りのスレーブCMのうちの1つがマスターCMとなる。
マスターCMは、ストレージ装置16の起動処理を統括的に制御する。スレーブCMは、マスターCMの指示にしたがい起動処理を実行する。
管理モジュール17は、チャネルアダプタモジュール(CAモジュール:Channel Adapter Module)20と、デバイスアダプタモジュール(DAモジュール:Device Adapter Module)21と、制御部19とを備える。
チャネルアダプタモジュール20は、図示しないサーバとの接続制御(インタフェース制御)を担うインタフェースモジュールである。管理モジュール17は、4つのチャネルアダプタモジュール20を備える。CM#0は、CA#00、CA#01、CA#02、およびCA#03の4つのチャネルアダプタモジュール20を備え、CM#1は、CA#10、CA#11、CA#12、およびCA#13の4つのチャネルアダプタモジュール20を備える。各チャネルアダプタモジュール20は、属する管理モジュール17の制御部19と接続する。
デバイスアダプタモジュール21は、デバイスエンクロージャ18との接続制御(インタフェース制御)を担うインタフェースモジュールである。管理モジュール17は、4つのデバイスアダプタモジュール21を備える。CM#0は、DA#00、DA#01、DA#02、およびDA#03の4つのデバイスアダプタモジュール21を備え、CM#1は、DA#10、DA#11、DA#12、およびDA#13の4つのデバイスアダプタモジュール21を備える。各デバイスアダプタモジュール21は、属する管理モジュール17の制御部19と接続する。
デバイスエンクロージャ18は、複数のストレージデバイスを収容するストレージデバイスの集合体である。ストレージデバイス(記憶装置)は、所要の情報を記録可能であり、たとえば、HDD(Hard Disk Drive)やSSD(Solid State Drive:フラッシュメモリドライブ)などである。ストレージ装置16は、DE#0、DE#1、DE#2、およびDE#3の4つのデバイスエンクロージャ18を備える。デバイスエンクロージャ18は、複数の管理モジュール17と接続する。DE#0は、DA#00とDA#10に接続し、DE#1は、DA#01とDA#11に接続し、DE#2は、DA#02とDA#12に接続し、DE#3は、DA#03とDA#13に接続する。なお、ストレージ装置16がデバイスエンクロージャ18を内蔵した例を図2に示したが、デバイスエンクロージャ18は、ストレージ装置16に外部接続されるものであってもよい。
このように、ストレージ装置16は、管理モジュール17を冗長構成として、ストレージ装置16の統括的制御の信頼性向上を図っている。また、各ストレージ装置16は、チャネルアダプタモジュール20とデバイスアダプタモジュール21とをそれぞれ冗長構成として、サーバとの接続およびデバイスエンクロージャ18との接続の信頼性向上を図っている。
次に、第2の実施形態の制御部19のハードウェア構成について図3を用いて説明する。図3は、第2の実施形態の管理モジュールの制御部のハードウェア構成例を示す図である。
制御部19は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス105を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM102は、制御部19の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)のプログラムやファームウェア、アプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データ(たとえば、システム制御や起動制御の情報管理)が格納される。また、RAM102は、ストレージデバイスのキャッシュメモリを含むものであってもよい。
バス105に接続されている周辺機器としては、不揮発性メモリ103、および入出力インタフェース104がある。
不揮発性メモリ103は、ストレージ装置16の電源遮断時においても記憶内容を保持する。不揮発性メモリ103は、たとえば、EEPROM(Electrically Erasable Programmable Read-Only Memory)やフラッシュメモリなどの半導体記憶装置や、HDDなどである。また、不揮発性メモリ103は、制御部19の補助記憶装置として使用される。不揮発性メモリ103には、OSのプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。
入出力インタフェース104は、チャネルアダプタモジュール20、デバイスアダプタモジュール21、および他の管理モジュール17に属する制御部19と接続して入出力をおこなう。入出力インタフェース104は、他のモジュールから送られてくる信号やデータをプロセッサ101やキャッシュメモリ(RAM102)に送信する。
以上のようなハードウェア構成によって、第2の実施形態の制御部19の処理機能を実現することができる。なお、チャネルアダプタモジュール20、デバイスアダプタモジュール21の他、第1の実施形態に示した情報処理装置1も、図3に示した制御部19と同様のハードウェアにより実現することができる。
次に、第2の実施形態のチャネルアダプタモジュールの冗長構成について図4を用いて説明する。図4は、第2の実施形態のチャネルアダプタモジュールの冗長構成例を示す図である。
ストレージ装置16は、2つのサーバ15(サーバ#1、サーバ#2)と、それぞれ2つの経路で接続する。したがって、ストレージ装置16とサーバ15は、1つの通信経路が故障しても通信可能な冗長構成で接続する。
ストレージ装置16は、2つの管理モジュール17のそれぞれが、2つのサーバ15と接続し、一方の管理モジュール17が故障しても2つのサーバ15と通信可能にしている。CM#0は、CA#00がサーバ#1と接続し、CA#01がサーバ#2と接続する。CM#1は、CA#10がサーバ#1と接続し、CA#11がサーバ#2と接続する。
このように、ストレージ装置16は、CA#00とCA#10とでサーバ#1と接続し、CA#01とCA#11とでサーバ#2と接続することで、チャネルアダプタモジュール20の冗長構成を有する。
次に、第2の実施形態のCA接続先情報について図5を用いて説明する。図5は、第2の実施形態のCA接続先情報の一例を示す図である。
CA接続先情報50は、ストレージ装置16に属するチャネルアダプタモジュール20ごとの接続先情報である。CA接続先情報50は、ユーザシステム環境に合わせて工場出荷時に設定される設定情報として不揮発性メモリ103に保持される。なお、CA接続先情報50は、通信アドレスや通信ポートなどの設定情報を収集して生成されるものであってもよく、RAM102に保持されるものであってもよい。CA接続先情報50は、マスターCMによって保持される。
図5に示すCA接続先情報50によれば、CA#00とCA#10は、サーバ#1と接続し、CA#01とCA#11は、サーバ#2と接続し、CA#02、CA#03、CA#12、およびCA#13は、接続先がない。マスターCMは、CA接続先情報50によってチャネルアダプタモジュールの冗長構成を把握することができる。
次に、第2の実施形態のサーバグループ情報について図6を用いて説明する。図6は、第2の実施形態のサーバグループ情報の一例を示す図である。
サーバグループ情報51は、サーバ15ごとの所属CA(チャネルアダプタモジュール)を表したものである。サーバグループ情報51は、CA接続先情報50から生成される。サーバグループ情報51は、マスターCMによって保持される。
なお、マスターCMは、CA接続先情報50とサーバグループ情報51を保持するとしたが、一方から他方を生成可能であるため、いずれか一方を保持するものであってもよい。また、スレーブCMは、CA接続先情報50およびサーバグループ情報51をマスターCMと同期させて保持してもよい。
なお、図4から図6を用いて、チャネルアダプタモジュール20の冗長構成、CA接続先情報50、およびサーバグループ情報51を説明したが、デバイスアダプタモジュール21についても同様の冗長構成とすることができる。その場合、マスターCMは、デバイスアダプタモジュール21の接続先となるデバイスエンクロージャ18を示すDA接続先情報を保持する。また、マスターCMは、デバイスエンクロージャ18ごとの所属DA(デバイスアダプタモジュール)を表したデバイスエンクロージャグループ情報を保持する。
これら、CA接続先情報50、サーバグループ情報51、DA接続先情報、およびデバイスエンクロージャグループ情報などは、ストレージ装置16のモジュールの構成関係を特定可能な構成情報に相当する。
次に、第2の実施形態の電源投入シーケンスについて図7を用いて説明する。図7は、第2の実施形態の電源投入シーケンスの一例を示す図である。
電源投入シーケンス52は、ストレージ装置16が電源投入時におこなう起動処理である。なお、説明を簡単にするため、管理モジュール17とチャネルアダプタモジュール20を対象とした処理を示し、チャネルアダプタモジュール20を対象とした処理と同様のデバイスアダプタモジュール21を対象とした処理を省略する。
電源投入シーケンス52は、処理ブロックと、処理ブロックごとのCM処理番号およびCA処理番号、CM処理番号ごとの処理内容であるCM実行処理、CA処理番号ごとの処理内容であるCA実行処理を定義したテーブルデータである。電源投入シーケンス52は、RAM102に保持される。
電源投入シーケンス52は、処理ブロックという複数の処理単位に分かれている。処理ブロックは、シーケンシャルな識別番号を有し、初期値である「01」から「02」、「03」と昇順でシーケンシャルに処理(逐次処理)が実行される。
電源投入シーケンス52は、マスターCMが制御主体となる。マスターCMは、電源投入シーケンス52における処理ブロック単位の進行管理をおこなう。
処理ブロックは、「処理ブロック01」から「処理ブロック09」まで9つある。マスターCMは、「処理ブロック01」から実行を開始し、「処理ブロック01」の実行が完了すると、「処理ブロック02」の実行を開始する。このようにして、マスターCMは、「処理ブロック09」までの実行を完了すると、装置Readyとなり、ストレージ装置16は、サービスの提供が可能な状態となる。
より詳細に説明すると、マスターCMは、「処理ブロック01」において、CM処理番号「CM01」の処理であるCMハードウェア設定を実行する。CMハードウェア設定は、管理モジュール17のハードウェア設定をおこなう処理である。マスターCMは、CM処理番号「CM01」の処理を実行するとともに、スレーブCMに対してCM処理番号「CM01」の処理の実行を指示する。マスターCMは、CM処理番号「CM01」の処理の完了と、スレーブCMからのCM処理番号「CM01」の処理の完了報告とにより、CM処理番号「CM01」の処理を完了する。マスターCMは、「処理ブロック01」において、CM処理番号「CM01」の処理に続く処理がないことから、「処理ブロック01」の処理を完了する。
マスターCMは、完了した「処理ブロック01」の処理の次の処理である「処理ブロック02」の実行を開始する。「処理ブロック02」は、CM処理番号「CM02」、「CM03」の処理と、CA処理番号「CA01」、「CA02」の処理がある。CM処理番号「CM02」は、ファームウェア情報を取得する処理であり、CM処理番号「CM03」は、取得したファームウェア情報の正当性を確認する処理である。CA処理番号「CA01」は、チャネルアダプタモジュール20の電源を投入するCA電源投入処理であり、CA処理番号「CA02」は、チャネルアダプタモジュール20のリセット状態を解除するCAリセット状態解除処理である。
マスターCMは、CM処理番号「CM02」、「CM03」の処理を逐次実行するとともに、スレーブCMに対してCM処理番号「CM02」、「CM03」の処理の逐次実行を指示する。マスターCMは、マスターCMに属するチャネルアダプタモジュール20にCA処理番号「CA01」、「CA02」の処理の逐次実行を指示する。マスターCMは、スレーブCMに対して、スレーブCMに属するチャネルアダプタモジュール20のCA処理番号「CA01」、「CA02」の処理の逐次実行を指示する。なお、管理モジュール17の起動処理と、チャネルアダプタモジュール20の起動処理とは、並列に処理を実行可能である。
マスターCMは、CM処理番号「CM02」、「CM03」の処理の完了と、スレーブCMからのCM処理番号「CM02」、「CM03」の処理の完了報告とにより、CM処理番号「CM02」、「CM03」の処理を完了する。マスターCMは、マスターCMに属するチャネルアダプタモジュール20からのCA処理番号「CA01」、「CA02」の処理の完了報告と、スレーブCMからのCA処理番号「CA01」、「CA02」の処理の完了報告とにより、CA処理番号「CA01」、「CA02」の処理を完了する。マスターCMは、「処理ブロック02」において、CM処理番号「CM02」、「CM03」の処理、およびCA処理番号「CA01」、「CA02」の処理に続く処理がないことから、「処理ブロック02」の処理を完了する。
以下、「処理ブロック03」は、CM処理番号「CM04」の処理と、CA処理番号「CA03」の処理とがある。CM処理番号「CM04」の処理は、管理モジュール17のメモリ(RAM102)の診断をおこなうCMメモリ診断である。CA処理番号「CA03」の処理は、チャネルアダプタモジュール20のハードウェア設定をおこなう処理である。
「処理ブロック04」は、CM処理番号「CM05」の処理がある。CM処理番号「CM05」の処理は、ストレージデバイスのアクセス可能状態を確認するDisk Ready確認である。
「処理ブロック05」は、CA処理番号「CA04」の処理がある。CA処理番号「CA04」の処理は、アダプタ処理の開始を指示する処理である。
「処理ブロック06」は、CM処理番号「CM06」の処理がある。CM処理番号「CM06」の処理は、構成情報を更新する処理である。
「処理ブロック07」は、CA処理番号「CA05」の処理がある。CA処理番号「CA05」の処理は、構成情報の受領を指示する処理である。
「処理ブロック08」は、CA処理番号「CA06」の処理がある。CA処理番号「CA06」の処理は、通信可能にネットワークに接続するオンラインを指示する処理である。
「処理ブロック09」は、CM処理番号「CM07」の処理がある。CM処理番号「CM07」の処理は、ストレージ装置16によるサービス提供が可能となる装置Readyである。
なお、マスターCMは、電源投入シーケンスの実行中にチャネルアダプタモジュール20のモジュール異常を検出した場合、異常を検出したチャネルアダプタモジュール20の再起動の是非を判定する。マスターCMは、チャネルアダプタモジュール20の再起動をおこなわないとした場合、ストレージ装置16が装置Readyとなった後に、チャネルアダプタモジュール20の再起動をおこなう。マスターCMは、チャネルアダプタモジュール20の再起動をおこなうとした場合、処理ブロックの進行を止めて、チャネルアダプタモジュール20の再起動をおこなう。
次に、第2の実施形態のCA再起動処理について図8を用いて説明する。図8は、第2の実施形態のCA再起動処理の一例を示す図である。
CA再起動処理シーケンス53は、異常を検出したチャネルアダプタモジュール20の再起動処理である。なお、モジュールの再起動処理の一例としてCA再起動処理シーケンス53について説明するが、その他のモジュールについては、同様の再起動処理であるため説明を省略する。
CA再起動処理シーケンス53は、処理ブロックと、処理ブロックごとのCA処理番号、CA処理番号ごとの処理内容であるCA実行処理を定義したテーブルデータである。CA再起動処理シーケンス53は、RAM102に保持される。CA再起動処理シーケンス53は、電源投入シーケンス52と同様に、処理ブロックという複数の処理単位に分かれている。
CA再起動処理シーケンス53は、マスターCMが制御主体となる。マスターCMは、CA再起動処理シーケンス53における処理ブロック単位の進行管理をおこなう。
処理ブロックは、「処理ブロック01」から「処理ブロック05」まで5つある。マスターCMは、「処理ブロック01」から実行を開始し、「処理ブロック01」の実行が完了すると、「処理ブロック02」の実行を開始する。このようにして、マスターCMは、「処理ブロック05」までの実行の完了により、異常を検出したチャネルアダプタモジュール20の正常な再起動を確認する。
より詳細に説明すると、マスターCMは、「処理ブロック01」において、CA処理番号「CAR01」、「CAR02」、および「CAR03」処理の逐次実行を、異常を検出したチャネルアダプタモジュール20に指示する。なお、異常を検出したチャネルアダプタモジュール20がスレーブCMに属する場合は、マスターCMは、異常を検出したチャネルアダプタモジュール20を管理するスレーブCMに指示する。
CA処理番号「CAR01」は、チャネルアダプタモジュール20をリセットする処理である。CA処理番号「CAR02」は、チャネルアダプタモジュール20の電源切断と、電源切断後の電源投入とをおこなう処理である。CA処理番号「CAR03」は、チャネルアダプタモジュール20のリセット状態を解除する処理である。
マスターCMは、「処理ブロック01」において、CA処理番号「CAR03」の処理に続く処理がないことから、「処理ブロック01」の処理を完了する。
マスターCMは、完了した「処理ブロック01」の処理の次の処理である「処理ブロック02」の実行を開始する。「処理ブロック02」は、CA処理番号「CAR04」の処理がある。CA処理番号「CAR04」は、チャネルアダプタモジュール20のハードウェア設定をおこなう処理である。
「処理ブロック03」は、CA処理番号「CAR05」の処理がある。CA処理番号「CAR05」の処理は、アダプタ処理の開始を指示する処理である。
「処理ブロック04」は、CA処理番号「CAR06」の処理がある。CA処理番号「CAR06」の処理は、構成情報の受領を指示する処理である。
「処理ブロック05」は、CA処理番号「CAR07」の処理がある。CA処理番号「CAR07」の処理は、通信可能にネットワークに接続するオンラインを指示する処理である。
マスターCMは、チャネルアダプタモジュール20の再起動完了により、チャネルアダプタモジュール20の正常な再起動を確認することができる。
次に、第2の実施形態のマスターCMの制御部19が実行する電源投入時起動処理について図9を用いて説明する。図9は、第2の実施形態の電源投入時起動処理のフローチャートである。
電源投入時起動処理は、ストレージ装置16の起動を制御する処理である。電源投入時起動処理は、マスターCMの制御部19により電源投入時またはリセット時に実行される。
[ステップS11]マスターCMの制御部19は、電源投入シーケンス52の処理対象となる処理ブロックを「01」に初期化する。
[ステップS12]マスターCMの制御部19は、電源投入シーケンス52の最終処理ブロック(「処理ブロック09」)の起動処理が終了(完了)したか否かを判定する。マスターCMの制御部19は、電源投入シーケンス52の最終処理ブロックの起動処理が終了した場合に電源投入時起動処理を終了し、終了していない場合にステップS13にすすむ。
[ステップS13]マスターCMの制御部19は、処理ブロック起動処理を実行する。処理ブロック起動処理は、電源投入シーケンス52の処理対象となる処理ブロックを実行する処理である。マスターCMは、CM実行処理がある場合に、マスターCMのCM実行処理を実行するとともに、スレーブCMにCM実行処理の実行を指示する。また、マスターCMは、CA実行処理がある場合に、マスターCMに属するチャネルアダプタモジュール20とスレーブCMにCA実行処理の実行を指示する。スレーブCMは、CM実行処理の実行を指示された場合に、CM実行処理を実行して、CM実行処理の実行完了後にマスターCMに完了応答をおこなう。スレーブCMは、CA実行処理の実行を指示された場合に、スレーブCMに属するチャネルアダプタモジュール20にCA実行処理の実行を指示する。スレーブCMは、チャネルアダプタモジュール20からの完了応答を受けて、マスターCMに完了応答をおこなう。マスターCMの制御部19は、電源投入シーケンス52の処理対象となる処理ブロックの実行完了を確認して、処理ブロック起動処理を終了する。なお、完了応答は、正常に処理を終了したか、異常を生じて処理を終了しなかったかを判別可能な情報を含み、所定時間内に応答のない無応答を含む。
[ステップS14]マスターCMの制御部19は、電源投入シーケンス52の処理対象となる処理ブロックの実行による異常モジュールの検出の有無を判定する。マスターCMの制御部19は、自己の処理結果あるいは完了応答により異常モジュールの検出の有無を判定することができる。マスターCMの制御部19は、異常モジュールの検出がある場合にステップS15にすすみ、検出がない場合にステップS17にすすむ。
[ステップS15]マスターCMの制御部19は、モジュール再起動処理を実行する。モジュール再起動処理は、異常を検出したモジュールのうちから再起動対象のモジュールを選択し、再起動をおこなう処理である。モジュール再起動処理の詳細は、図10を用いて後述する。
[ステップS16]マスターCMの制御部19は、やり直し起動処理を実行する。やり直し起動処理は、再起動処理を実行したモジュールのうち正常に起動したモジュール(再起動モジュール)について、電源投入シーケンス52のやり直しをおこなう処理である。マスターCMの制御部19は、再起動モジュールについて、電源投入シーケンス52の「処理ブロック01」から実行中の処理ブロックまでの処理を再実行する。
[ステップS17]マスターCMの制御部19は、処理ブロックを1インクリメントしてステップS12にすすむ。
このようにして、ストレージ装置16は、電源投入時起動処理を実行し、異常を検出したモジュールのうち選択したモジュールについて再起動処理と、やり直し起動処理とを実行することで、早期の復旧可能性の向上を図る。
次に、第2の実施形態のマスターCMの制御部19が実行するモジュール再起動処理について図10を用いて説明する。図10は、第2の実施形態のモジュール再起動処理のフローチャートである。
モジュール再起動処理は、異常を検出したモジュールのうちから再起動対象のモジュールを選択し、再起動をおこなう処理である。モジュール再起動処理は、マスターCMの制御部19により電源投入時起動処理のステップS15で実行される。
[ステップS21]マスターCMの制御部19は、サーバグループ情報51を保持しているか否かを判定する。マスターCMの制御部19は、サーバグループ情報51を保持している場合にステップS23にすすみ、保持していない場合にステップS22にすすむ。なお、マスターCMの制御部19は、ストレージ装置16のモジュールの冗長構成を特定可能な構成情報を保持していればよく、サーバグループ情報51に代えてその他の構成情報で判定をおこなうようにしてもよい。
[ステップS22]マスターCMの制御部19は、モジュールの冗長構成を特定できないため、すべての異常モジュールを再起動して、モジュール再起動処理を終了する。異常モジュールは、チャネルアダプタモジュール20であるので、異常モジュールの再起動は、CA再起動処理シーケンス53にしたがっておこなう。
[ステップS23]マスターCMの制御部19は、サーバグループの番号を「1」に初期化する。
[ステップS24]マスターCMの制御部19は、サーバグループ所属のすべてのチャネルアダプタモジュール20の異常を検出したか否かを判定する。マスターCMの制御部19は、すべてのチャネルアダプタモジュール20の異常を検出した場合にステップS25にすすみ、いずれかのチャネルアダプタモジュール20の異常を検出していない場合にステップS26にすすむ。
なお、いずれかのチャネルアダプタモジュール20の異常を検出していない場合に、再起動モジュール選択処理を実行しなかったが、サーバグループごとのチャネルアダプタモジュール20の最低稼働台数が1台だからである。すなわち、モジュール再起動処理は、ステップS24において、サーバグループごとのチャネルアダプタモジュール20の最低稼働台数が確保可能か否かの判定をおこなっている。したがって、モジュール再起動処理は、ステップS24において、サーバグループごとのチャネルアダプタモジュール20の最低稼働台数(たとえば、2台など)に応じた判定をおこなうようにしてもよい。
[ステップS25]マスターCMの制御部19は、再起動モジュール選択処理を実行する。再起動モジュール選択処理は、異常を検出したモジュールの復旧優先度を比較して再起動対象のモジュールを選択し、再起動をおこなう処理である。再起動モジュール選択処理の詳細は、図11を用いて後述する。
[ステップS26]マスターCMの制御部19は、最終サーバグループまでのチャネルアダプタモジュール20の最低稼働台数の確保を確認したか否かを判定する。マスターCMの制御部19は、最終サーバグループまでのチャネルアダプタモジュール20の最低稼働台数の確保を確認していない場合にステップS27にすすみ、確認している場合にモジュール再起動処理を終了する。
[ステップS27]マスターCMの制御部19は、サーバグループの番号を1インクリメントしてステップS24にすすむ。
次に、第2の実施形態のマスターCMの制御部19が実行する再起動モジュール選択処理について図11を用いて説明する。図11は、第2の実施形態の再起動モジュール選択処理のフローチャートである。
再起動モジュール選択処理は、異常を検出したモジュールの復旧優先度を比較して再起動対象のモジュールを選択し、再起動をおこなう処理である。再起動モジュール選択処理は、マスターCMの制御部19によりモジュール再起動処理のステップS25で実行される。
[ステップS31]マスターCMの制御部19は、異常を検出したモジュール(異常モジュール)を再起動対象とするリストである異常構成情報を生成する。
ここで、異常構成情報について図12を用いて説明する。図12は、第2の実施形態の異常構成情報の一例を示す図である。異常構成情報55は、異常を検出したモジュールごとの異常に関する情報であり、位置情報、Status(状態)、エラー要因、重度、復旧可能性、およびポイントを含む。
位置情報は、異常を検出したモジュールが属するモジュールと、異常を検出したモジュールを特定可能な情報である。たとえば、位置情報「CM#0、CA#00」は、管理モジュール17(CM#0)に属するチャネルアダプタモジュール20(CA#00)で異常を検出したことを示す。
Status(状態)は、異常検出対象のモジュールの状態を示す情報である。たとえば、Status「Degrade」は、異常検出対象のモジュールが異常な状態であることを示す。
エラー要因は、異常の要因を示す情報である。異常の要因を示す情報は、たとえば、「ハードエラー」、「ソフトエラー」「致命的なハードエラー」などがある。エラー要因は、エラー(異常)の種別を特定可能な情報であってもよく、たとえば、エラーコードなどであってもよい。
重度は、異常の程度を相対的に比較可能な情報である。重度は、たとえば、「軽」、「中」、「重」があり、異常の程度が軽いのが「軽」、異常の程度が重いのが「重」、「軽」と「重」との中間程度の異常が「中」である。したがって、重度に応じてモジュールの復旧順序を決定する場合、重度は復旧優先度に相当する。復旧優先度は、復旧順序を決定に用いればよく、重度のほかに復旧可能性を含めてもよい。
なお、重度は、エラー要因に応じて一意に決定されるものであってもよいし、位置、タイミングなどの異常検出時の状況に応じて決定されるものであってもよい。
復旧可能性は、エラー復旧の可能性を示す情報である。たとえば、復旧可能性は、エラー復旧の可能性のある「復旧可能」と、エラー復旧の見込みのない「復旧不能」がある。
たとえば、異常構成情報55によれば、マスターCMは、復旧優先度の高い(重度の軽い)CA#01の復旧を優先し、CA#01の復旧に失敗した場合にCA#00の復旧をおこなう。CA#10は、復旧可能性が「復旧不能」であるため復旧対象とならない。
ポイントは、エラーを検出した処理番号を示す情報である。ポイント「CA04」は、電源投入シーケンス52の「処理ブロック05」において、CA処理番号「CA04」の処理中にエラーを検出したことを示す。
[ステップS32]マスターCMの制御部19は、再起動対象モジュールのうち、重度の軽いモジュールを1つ選択する。重度とは、異常の程度である。マスターCMの制御部19は、起動対象モジュールの重度を比較して最も重度の軽いモジュールを選択する。重度の軽重は、経験的に得られる復旧可能性の高低と相関を有するように、異常の種類ごとにあらかじめ設定される。したがって、起動対象モジュールの重度の比較は、復旧可能性の比較に相当する。
[ステップS33]マスターCMの制御部19は、選択した異常モジュールを再起動する。異常モジュールは、チャネルアダプタモジュール20であるので、異常モジュールの再起動は、CA再起動処理シーケンス53にしたがっておこなう。
[ステップS34]マスターCMの制御部19は、異常モジュールの再起動が正常に終了したか否かを判定する。マスターCMの制御部19は、異常モジュールの再起動が正常に終了した場合にステップS35にすすみ、正常に終了していない場合にステップS36にすすむ。
[ステップS35]マスターCMの制御部19は、異常モジュールの再起動が正常に終了したことを、RAM102の作業領域に記録して、再起動モジュール選択処理を終了する。正常に再起動が完了したモジュールは、作業領域の記録から特定可能であり、電源投入時起動処理のステップS16におけるやり直し起動処理の処理対象となる。
[ステップS36]マスターCMの制御部19は、異常モジュールの再起動に失敗したことを、RAM102の作業領域に記録する。
[ステップS37]マスターCMの制御部19は、異常構成情報にあるすべての異常モジュールの再起動を実施したか否かを判定する。マスターCMの制御部19は、すべての異常モジュールの再起動を実施していない場合にステップS32にすすみ、すべての異常モジュールの再起動を実施した場合に再起動モジュール選択処理を終了する。なお、異常が深刻で再起動可能性のない異常モジュールは、再起動対象からあらかじめ除外するようにしてもよい。
このようにして、マスターCMの制御部19は、異常を検出したモジュールのうちから復旧可能性の高い異常モジュールを選択して再起動をおこなう。したがって、ストレージ装置16は、復旧可能性の低いモジュールを再起動して異常を繰り返し検出することによる、起動処理の遅延を低減できる。
これにより、ストレージ装置16は、定時完了性の高い電源投入時起動処理を実行することができる。なお、ストレージ装置16は、電源投入時起動処理の終了時までに、異常モジュールのいくつかについて再起動をおこなっていない。マスターCMの制御部19は、ストレージ装置16が装置Readyとなった電源投入時起動処理の終了後に、異常モジュールの再起動をおこなうことで、サービス提供を可能な状態で冗長構成の復旧を図る。
次に、第2の実施形態のマスターCMの制御部19が実行する電源投入時起動処理において、冗長構成のチャネルアダプタモジュール20の第1の異常検出例について図13、図14を用いて説明する。図13は、第2の実施形態の電源投入シーケンスにおいて冗長構成のチャネルアダプタモジュールの1つの異常検出例である。
第1の異常検出例は、電源投入シーケンス52の「処理ブロック05」において、CA処理番号「CA04」の処理中に、冗長構成されたチャネルアダプタモジュール20の1つであるCA#00の起動失敗(異常)を検出したケースである。
このときに生成される異常構成情報を図14に示す。図14は、図13に示す異常検出時の異常構成情報の一例を示す図である。
異常構成情報56によれば、CA#00は、復旧可能な重度「中」のエラーである。CA#00は、サーバグループ情報51より、冗長構成されたチャネルアダプタモジュール20の1つであり、CA#00が稼働しなくてもCA#10が稼働する縮退運転が可能であることがわかる。したがって、マスターCMは、CA#00の異常を検出してもCA#00の復旧(CA再起動処理)をおこなわずに、ストレージ装置16の起動処理を進める。マスターCMは、ストレージ装置16を装置Readyにした後、CA#00の復旧をおこなう。したがって、ストレージ装置16は、CA#00の異常検出によって起動処理を遅延させることがない。
次に、第2の実施形態のマスターCMの制御部19が実行する電源投入時起動処理において、冗長構成のチャネルアダプタモジュール20の第2の異常検出例について図15、から図17を用いて説明する。図15は、第2の実施形態の電源投入シーケンスにおいて冗長構成のチャネルアダプタモジュールのすべての異常検出例である。
第2の異常検出例は、電源投入シーケンス52において、複数のチャネルアダプタモジュール20の起動失敗(異常)を検出したケースである。第2の異常検出例は、「処理ブロック02」において、CA処理番号「CA02」の処理中にCA#10の起動失敗(第1の起動失敗)を検出し、「処理ブロック05」において、CA処理番号「CA04」の処理中にCA#00の起動失敗(第2の起動失敗)を検出する。
第1の起動失敗時に生成される異常構成情報を図16に示す。図16は、図15に示す異常検出時の異常構成情報の一例を示す図である。
異常構成情報58によれば、CA#10は、復旧可能な重度「中」のエラーである。CA#10は、サーバグループ情報51より、冗長構成されたチャネルアダプタモジュール20の1つであり、CA#10が稼働しなくてもCA#00が稼働する縮退運転が可能であることがわかる。したがって、マスターCMは、CA#10の異常を検出してもCA#10の復旧(CA再起動処理)をおこなわずに、ストレージ装置16の起動処理を進める。
次に、第2の起動失敗時に生成される異常構成情報を図17に示す。図17は、図15に示す異常検出時の異常構成情報の一例を示す図である。
異常構成情報59によれば、CA#00は、復旧不能な重度「重」のエラーである。CA#00は、CA#10とともに冗長構成されたチャネルアダプタモジュール20であり、すでにCA#10の異常が検出済みであることから、CA#00が稼働しない場合、ストレージ装置16の縮退運転ができないことがわかる。
したがって、マスターCMは、CA#00とCA#10の異常検出により、ストレージ装置16の縮退運転を可能にするため、いずれか一方の復旧(CA再起動処理)をおこなう。ここで、マスターCMは、CA#00の重度「重」とCA#10の重度「中」を比較し、重度の軽いCA#10の復旧可能性が高いとして、CA#10を復旧対象とし、CA#00を復旧対象としない。なお、マスターCMは、CA#00の復旧可能性が「復旧不能」であることをもって、CA#00を復旧対象から外すようにしてもよい。
マスターCMは、復旧対象となったCA#10について、CA再起動処理を実行する。その後、マスターCMは、CA#10の正常な再起動を確認した場合に、電源投入時起動処理におけるやり直し起動処理を実行し、ストレージ装置16の起動処理を進める。
したがって、ストレージ装置16は、第1の起動失敗だけであれば起動処理を遅延させることがない。また、ストレージ装置16は、第2の起動失敗によりストレージ装置16の縮退運転ができなくなった場合においても、復旧可能性が高いモジュールの再起動を優先するため、復旧可能性の低いモジュールの再起動失敗に伴い起動処理を遅延させることがない。
以上、ストレージ装置16を例示して説明したが、その他の情報処理装置においても適用可能である。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、情報処理装置1、ストレージ装置16(制御部19)が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
1 情報処理装置
2 起動制御部
3 起動処理実行部
4 異常情報生成部
5 縮退運転判定部
6 再起動実行部
7 起動処理
8 再起動処理
9 メモリ
10 異常情報
12 モジュール
15 サーバ
16 ストレージ装置
17 管理モジュール
18 デバイスエンクロージャ
19 制御部
20 チャネルアダプタモジュール
21 デバイスアダプタモジュール
50 CA接続先情報
51 サーバグループ情報
52 電源投入シーケンス
53 CA再起動処理シーケンス
55,56,58,59 異常構成情報
101 プロセッサ
102 RAM
103 不揮発性メモリ
104 入出力インタフェース
105 バス

Claims (9)

  1. 冗長構成のモジュールの起動制御をおこなう情報処理装置であって、
    前記モジュールの起動制御時に生じた異常に関する異常情報を保持するメモリと、
    複数の処理ブロックからなる起動処理を前記処理ブロックごとにシーケンシャルに実行し、
    起動制御時に異常を生じたモジュールを検出した場合に、前記異常情報の生成と、起動制御時に異常を生じたモジュールを除外した縮退運転の可否の判定とをおこない、
    前記縮退運転ができる場合に、実行中の処理ブロックの実行を完了し、
    前記縮退運転ができない場合に、起動制御時に異常を生じたすべてのモジュールのうち前記異常情報にもとづいて選択したモジュールの再起動処理を実行し、前記再起動処理を完了してから実行中の処理ブロックの実行を完了する、
    起動制御部と、
    を備えることを特徴とする情報処理装置。
  2. 前記起動制御部は、起動制御時に異常を生じたすべてのモジュールのうちから前記異常情報より特定可能な復旧優先度を比較して選択したモジュールの再起動処理を実行することを特徴とする請求項1記載の情報処理装置。
  3. 前記起動制御部は、前記復旧優先度の高いモジュールを選択することを特徴とする請求項2記載の情報処理装置。
  4. 前記起動制御部は、起動制御時に異常を生じたすべてのモジュールのうちから1つのモジュールを選択して再起動処理を実行することを特徴とする請求項3記載の情報処理装置。
  5. 前記起動制御部は、前記再起動処理を正常に完了したモジュールについて、実行中の処理ブロックまで前記起動処理を再実行することを特徴とする請求項4記載の情報処理装置。
  6. 前記メモリは、前記モジュールの冗長構成を特定可能な構成情報を保持し、
    前記起動制御部は、前記構成情報に基づいて起動制御時に異常を生じたモジュールを除外した縮退運転の可否の判定をおこなうことを特徴とする請求項1乃至5のいずれか1つに記載の情報処理装置。
  7. 前記起動制御部は、前記起動処理の終了後に、起動制御時に異常を生じたモジュールのうち前記起動処理中に再起動処理を実行しなかったモジュールについて再起動処理をおこなうことを特徴とする請求項1乃至5のいずれか1つに記載の情報処理装置。
  8. 冗長構成のモジュールの起動制御をおこなう起動プログラムであって、
    コンピュータに、
    複数の処理ブロックからなる起動処理を前記処理ブロックごとにシーケンシャルに実行し、
    起動制御時に異常を生じたモジュールを検出した場合に、異常に関する異常情報の生成と、起動制御時に異常を生じたモジュールを除外した縮退運転の可否の判定とをおこない、
    前記縮退運転ができる場合に、実行中の処理ブロックの実行を完了し、
    前記縮退運転ができない場合に、起動制御時に異常を生じたすべてのモジュールのうち前記異常情報にもとづいて選択したモジュールの再起動処理を実行し、前記再起動処理を完了してから実行中の処理ブロックの実行を完了する、
    処理を実行させることを特徴とする起動プログラム。
  9. 冗長構成のモジュールの起動制御をおこなう起動方法であって、
    コンピュータが、
    複数の処理ブロックからなる起動処理を前記処理ブロックごとにシーケンシャルに実行し、
    起動制御時に異常を生じたモジュールを検出した場合に、異常に関する異常情報の生成と、起動制御時に異常を生じたモジュールを除外した縮退運転の可否の判定とをおこない、
    前記縮退運転ができる場合に、実行中の処理ブロックの実行を完了し、
    前記縮退運転ができない場合に、起動制御時に異常を生じたすべてのモジュールのうち前記異常情報にもとづいて選択したモジュールの再起動処理を実行し、前記再起動処理を完了してから実行中の処理ブロックの実行を完了する、
    処理を実行することを特徴とする起動方法。
JP2012217241A 2012-09-28 2012-09-28 情報処理装置、起動プログラム、および起動方法 Expired - Fee Related JP5910444B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012217241A JP5910444B2 (ja) 2012-09-28 2012-09-28 情報処理装置、起動プログラム、および起動方法
US14/034,068 US9244773B2 (en) 2012-09-28 2013-09-23 Apparatus and method for handling abnormalities occurring during startup

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012217241A JP5910444B2 (ja) 2012-09-28 2012-09-28 情報処理装置、起動プログラム、および起動方法

Publications (2)

Publication Number Publication Date
JP2014071668A true JP2014071668A (ja) 2014-04-21
JP5910444B2 JP5910444B2 (ja) 2016-04-27

Family

ID=50386439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012217241A Expired - Fee Related JP5910444B2 (ja) 2012-09-28 2012-09-28 情報処理装置、起動プログラム、および起動方法

Country Status (2)

Country Link
US (1) US9244773B2 (ja)
JP (1) JP5910444B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016042618A (ja) * 2014-08-13 2016-03-31 富士電機株式会社 制御装置及び制御方法
JP2020087242A (ja) * 2018-11-30 2020-06-04 株式会社デンソー 電子制御装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700965A (zh) * 2014-11-26 2016-06-22 英业达科技有限公司 系统错误排除方法
US10754719B2 (en) * 2015-12-09 2020-08-25 Nec Corporation Diagnosis device, diagnosis method, and non-volatile recording medium
CN108432219B (zh) * 2016-10-25 2020-09-11 华为技术有限公司 终端设备开机失败的恢复方法和终端设备
CN108595333B (zh) * 2018-04-26 2021-08-03 Oppo广东移动通信有限公司 PaaS平台中应用进程的健康检查方法及装置
CN109753321B (zh) * 2019-01-11 2022-02-08 武汉瓯越网视有限公司 基于协议注册的应用启动方法、装置、终端和存储介质
US11803446B2 (en) * 2020-07-13 2023-10-31 Samsung Electronics Co., Ltd. Fault resilient storage device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0247732A (ja) * 1988-08-08 1990-02-16 Nec Corp 情報処理システムの立上げ方法
JPH11126195A (ja) * 1997-10-22 1999-05-11 Mitsubishi Electric Corp 分散システム
JPH11134211A (ja) * 1997-10-30 1999-05-21 Nec Corp 二重化コンピュータシステムおよびその運用方法
JP2002132697A (ja) * 2000-08-03 2002-05-10 Internatl Business Mach Corp <Ibm> リソース回復により最適なシステム可用性を保つ方法
JP2010092458A (ja) * 2008-09-12 2010-04-22 Ricoh Co Ltd 画像処理装置、プログラム起動方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2597060B2 (ja) 1991-12-13 1997-04-02 富士通株式会社 アレイディスク装置
JPH09198325A (ja) 1996-01-23 1997-07-31 Mitsubishi Electric Corp 情報処理装置の高速起動方式
US6691225B1 (en) * 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
JP2002006996A (ja) 2000-06-16 2002-01-11 Hitachi Ltd 情報処理システムの電源投入方式
US7266727B2 (en) * 2004-03-18 2007-09-04 International Business Machines Corporation Computer boot operation utilizing targeted boot diagnostics
US7415634B2 (en) * 2004-03-25 2008-08-19 International Business Machines Corporation Method for fast system recovery via degraded reboot
JP2007293448A (ja) 2006-04-21 2007-11-08 Hitachi Ltd ストレージシステム及びその電源制御方法
US7747893B2 (en) * 2007-05-15 2010-06-29 International Business Machines Corporation Method and system for managing resources during system initialization and startup
GB2471480A (en) * 2009-06-30 2011-01-05 Nokia Corp Preventing boot crashes due to new files

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0247732A (ja) * 1988-08-08 1990-02-16 Nec Corp 情報処理システムの立上げ方法
JPH11126195A (ja) * 1997-10-22 1999-05-11 Mitsubishi Electric Corp 分散システム
JPH11134211A (ja) * 1997-10-30 1999-05-21 Nec Corp 二重化コンピュータシステムおよびその運用方法
JP2002132697A (ja) * 2000-08-03 2002-05-10 Internatl Business Mach Corp <Ibm> リソース回復により最適なシステム可用性を保つ方法
US6651182B1 (en) * 2000-08-03 2003-11-18 International Business Machines Corporation Method for optimal system availability via resource recovery
JP2010092458A (ja) * 2008-09-12 2010-04-22 Ricoh Co Ltd 画像処理装置、プログラム起動方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016042618A (ja) * 2014-08-13 2016-03-31 富士電機株式会社 制御装置及び制御方法
JP2020087242A (ja) * 2018-11-30 2020-06-04 株式会社デンソー 電子制御装置
JP7183745B2 (ja) 2018-11-30 2022-12-06 株式会社デンソー 電子制御装置

Also Published As

Publication number Publication date
US20140095921A1 (en) 2014-04-03
US9244773B2 (en) 2016-01-26
JP5910444B2 (ja) 2016-04-27

Similar Documents

Publication Publication Date Title
JP5910444B2 (ja) 情報処理装置、起動プログラム、および起動方法
US8458510B2 (en) LPAR creation and repair for automated error recovery
US20120054441A1 (en) Storage system, control apparatus and control method thereof
JP5659894B2 (ja) ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
WO2012119432A1 (zh) 提高计算机系统稳定性的方法及计算机系统
US9940211B2 (en) Resource system management
US20110173233A1 (en) Database system and database control method
JP5366184B2 (ja) データ記憶システム、データ記憶方法
US8732531B2 (en) Information processing apparatus, method of controlling information processing apparatus, and control program
JP2015210658A (ja) 記憶制御装置、データ復旧プログラム、およびデータ復旧方法
JP6124644B2 (ja) 情報処理装置および情報処理システム
JP5909948B2 (ja) 情報処理装置および情報処理装置の試験方法
JP2017078998A (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
JP2016066139A (ja) 車両制御装置
JP2018180982A (ja) 情報処理装置、およびログ記録方法
WO2011051999A1 (ja) 情報処理装置及び情報処理装置の制御方法
JP5910413B2 (ja) 情報処理装置、起動プログラム、および起動方法
JP2016212506A (ja) 情報処理システム、制御装置および制御プログラム
JP5913078B2 (ja) ディスクアレイシステム、データ復旧方法、および、データ復旧プログラム
JP6024742B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
TWI820814B (zh) 儲存系統與其硬碟恢復方法
TWI709030B (zh) 系統斷電紀錄方法
GB2559967A (en) Method for a computer system and computer system
JP2021150672A (ja) 通信装置、情報処理方法、およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160217

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: 20160301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160314

R150 Certificate of patent or registration of utility model

Ref document number: 5910444

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees