JP6933107B2 - ストレージシステム,ストレージ制御装置およびストレージ制御プログラム - Google Patents

ストレージシステム,ストレージ制御装置およびストレージ制御プログラム Download PDF

Info

Publication number
JP6933107B2
JP6933107B2 JP2017225027A JP2017225027A JP6933107B2 JP 6933107 B2 JP6933107 B2 JP 6933107B2 JP 2017225027 A JP2017225027 A JP 2017225027A JP 2017225027 A JP2017225027 A JP 2017225027A JP 6933107 B2 JP6933107 B2 JP 6933107B2
Authority
JP
Japan
Prior art keywords
storage
control device
firmware
storage control
redundant
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
JP2017225027A
Other languages
English (en)
Other versions
JP2019096065A (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
Priority to JP2017225027A priority Critical patent/JP6933107B2/ja
Priority to US16/173,444 priority patent/US11074144B2/en
Publication of JP2019096065A publication Critical patent/JP2019096065A/ja
Application granted granted Critical
Publication of JP6933107B2 publication Critical patent/JP6933107B2/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/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/2005Error 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 controllers
    • 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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ストレージシステム,ストレージ制御装置およびストレージ制御プログラムに関する。
近年、複数のストレージ装置上の論理ボリュームを統合して論理的なストレージプールを構成するストレージ仮想化技術が知られている。このようなストレージ仮想化技術により、システム運用の負担の軽減やストレージ装置間でのデータ移行を簡単にすることが可能となる。従って、複数のストレージを統合管理できるストレージ仮想化技術は重要な機能といえる。
ストレージ装置には多数のモジュール(電子部品,電子装置)が備えられている。例えば、HDD(Hard Disk Drive)等の記憶装置を格納するDE(Drive Enclosure)には、IOM(Input Output Module)やFEM(Fan Expander Module)等のモジュールが備えられている。また、近年のストレージの大容量化や高密度化に伴い、ストレージ装置に搭載されるモジュールの数も増加している。
これらのモジュールでは、それぞれファームウェアが実行されている。ストレージ装置の安定化や運用の効率化を図り、また、新機能を利用できるようにするためには、モジュールに最新のファームウェアを適用することが不可欠である。
また、ファームウェアの適用は、装置の運用状態を維持したまま、搭載された全てのモジュールに対して行なうことが望ましい。従って、モジュールにファームウェアを適用する機能の重要性は高い。
上述の如く、ストレージ装置は複数のモジュールを備え、各モジュールがそれぞれ独立したファームウェアで動作する。それぞれのモジュールは、一般に、ファームウェアを書き込む記憶領域として稼働面側領域と非稼働面側領域との2つの領域を有する。
モジュールに更新用のファームウェア(以下、新ファームウェアという)を適用する際には、先ず、非稼働面側領域に新ファームウェアを書き込む。その後、新ファームウェアが書き込まれた非稼働面側領域を稼働面側領域に切替えてから、モジュールのリセット(リブート,再起動)を行ない、稼働面側領域に書き込まれた新ファームウェアを用いて起動させる。なお、以下、新ファームウェアを適用することを、ファームウェアの交換または改版という場合がある。
また、システムを運用状態に維持したままファームウェアの交換を行なう処理を、活性ファームウェア交換処理という場合がある。活性ファームウェア交換処理においては、複数のモジュールを前半モジュール群と後半モジュール群との2つの系統のモジュール群に分けて、オンライン状態を維持したまま片系ずつファームウェア交換を行なうことが望ましい。
特開2008−186296公報 特開2005−63050号公報 特開2008−299709号公報 特開2012−79175号公報 特開2016−53855号公報
複数のストレージ装置を備えるストレージシステムにおいて、ストレージ装置間の冗長化されたパスのうち、片系のパスの接続が何らかの理由で切断状態となる場合がある。
活性ファームウェア交換処理を行なう過程において、ストレージ装置間の片系のパスの接続が切断した状態のまま、新ファームウェアの書き込み後に前半モジュール群を再起動させると、ストレージ装置間の両系のパス接続が切断した状態が生じる場合がある。
両系のパスが切断状態になると、ストレージ装置間の接続構成及びボリューム管理方法によっては、ストレージ装置間の接続情報が完全に失われ、運用中にシステムダウンに陥ることがある。
1つの側面では、本発明は、複数のストレージ装置を接続して備えるストレージシステムにおいて、活性ファームウェア交換処理を行なう際のシステムダウンの発生を抑止することを目的とする。
このため、このストレージシステムは、ホスト装置と通信可能に接続される第1ストレージ装置と、前記第1ストレージ装置と通信可能に接続され、前記ホスト装置からのアクセス要求に対して前記第1ストレージ装置を介して処理を実行する第2ストレージ装置と、を備える。前記第1ストレージ装置は、第1ストレージ制御装置と第2ストレージ制御装置を備え、前記第1ストレージ制御装置と前記第2ストレージ制御装置は前記ホスト装置に対して冗長的に接続する。前記第1ストレージ制御装置と前記第2ストレージ制御装置は前記第2ストレージ装置に対して冗長的に接続する。前記第1ストレージ制御装置は、前記第2ストレージ装置との接続を切断して活性プログラム交換を行なう前に、前記第2ストレージ制御装置と前記第2ストレージ装置との通信状態を確認し、前記第2ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記第1ストレージ制御装置の活性プログラム交換の実行を抑止する。
一実施形態によれば、複数のストレージ装置を接続して備えるストレージシステムにおいて、活性ファームウェア交換処理を行なう際のシステムダウンの発生を抑止することができる。
実施形態の一例としてのストレージシステムにおける複数のストレージ装置の接続状態の構成を模式的に示す図である。 実施形態の一例としてのストレージシステムのストレージ装置のハードウェア構成を例示する図である。 実施形態の一例としてのストレージシステムのローカルストレージの機能構成を示す図である。 実施形態の一例としてのストレージシステムにおいて、ローカルストレージのファームウェア交換を行なう場合の処理を説明するためのフローチャートである。 実施形態の一例としてのストレージシステムのローカルストレージにおけるスレーブCMと外部ストレージとの接続状態の確認方法を説明するためのフローチャートである。 実施形態の一例としてのストレージシステムのローカルストレージにおける、ファームウェア交換過程におけるCM組み込み時の処理を説明するためのフローチャートである。 ハイエンドのストレージシステムの構成を例示する図である。 ストレージ仮想化を実現するストレージシステムの構成を例示する図である。
以下、図面を参照して本ストレージシステム,ストレージ制御装置およびストレージ制御プログラムにかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)参考
図8はストレージ仮想化を実現するストレージシステム500の構成を例示する図である。
ストレージシステム500は、ローカルストレージ501−1と、このローカルストレージ501−1にネットワークを介して接続された外付けの外部ストレージ501−2とを備える。
ローカルストレージ501−1は、業務サーバ510に接続され、この業務サーバ510に対して論理ボリューム600−1を提供するストレージ装置である。
外部ストレージ501−2は、ローカルストレージ501−1を介して業務サーバ510に接続されている。すなわち、業務サーバ510に対して直接接続されたストレージ装置がローカルストレージ501−1であり、業務サーバ510にローカルストレージ501−1を介して間接的に接続されたストレージ装置が外部ストレージ501−2である。これらのローカルストレージ501−1と外部ストレージ501−2とは遠隔した場所に配置される必要はなく、例えば、同一のサーバルーム内に配置されてもよい。また、業務サーバ510も同一のサーバルーム内に配置されてもよい。
ローカルストレージ501−1は、冗長化されたCM(Controller Module)502a,502bおよび冗長化されたDE503a,503bを備える。
DE503a,503bには、図示しない1つ以上のHDD等の記憶装置が備えられる。DE503aをDE#0と、DE503bをDE#1と、それぞれ表す場合がある。
CM502a,502bは、種々の制御を行なうストレージ制御装置であり、業務サーバ510からのストレージアクセス要求(以下、ホストI/Oという場合がある)に従って、DE503a,503bの記憶装置へのアクセス制御等、各種制御を行なう。例えば、CM502a,502bは、DE503a,503bの記憶装置の記憶領域を用いて1つ以上の論理ボリューム600−1を生成し、業務サーバ510に提供する。
CM502a,502bは、業務サーバ510から論理ボリューム600−1に対して発行されたホストI/Oを処理し、DE503a,503bの記憶装置にデータのリードやライトを行なう。
CM502a,502bは二重化されており、例えばCM502aがプライマリとして各種制御を行なう。このプライマリCM502aの故障時等には、セカンダリのCM502bがプライマリとしてCM502aの動作を引き継ぐ。CM502aをCM#0と、CM502bをCM#1と、それぞれ表す場合がある。
外部ストレージ501−2はローカルストレージ501−1にネットワークを介して接続されている。
外部ストレージ501−2は、1つ以上の論理ボリューム600−2を生成する。
ローカルストレージ501−1は、外部ストレージ501−2の論理ボリューム600−2を仮想ボリュームとして組み込み、業務サーバ510からのホストI/Oをローカルストレージ501−1から外部ストレージ501−2に対して発行する。これにより、業務サーバ510による外部ストレージ501−2の論理ボリューム600−2の利用が可能となる。
また、ローカルストレージ501−1が外部ストレージ501−2のデバイス情報を引き継ぐことで、業務サーバ510はローカルストレージ501−1を外部ストレージ501−2のように認識することができる。
外部ストレージ501−2もローカルストレージ501−1と同様に、冗長化されたCM502a,502bおよび冗長化されたDE503a,503bを備える。なお、なお、図中、既述の符号と同一の符号は同様の部分を示しているので、その説明は省略する。
ローカルストレージ501−1と外部ストレージ501−2とは、ネットワークにおいて冗長化されたパスを介して接続されており、一方のパスが切断された場合においても、他方のパスを介して、I/Oを継続して通信することが可能である。
例えば、ローカルストレージ501−1や外部ストレージ501−2のファームウェア交換を実施する場合に、冗長構成となっているCM502a,502bを片方ずつリブートさせることで交換を実施する。CM502a,502bのリブート時にはボリュームの組み込み処理が再度行なわれる。
図8に示す構成において、ローカルストレージ501−1においてCM#0もしくはCM#1のリブートを行なうと、このリブートしたCM#0もしくはCM#1と外部ストレージ502a,502bとの各間のパス接続は一時的に喪失する。
例えば、ローカルストレージ501−1のCM#1のリブート中に、このCM#1と外部ストレージ501−2のCM#0,#1とを接続する各パスの接続が何らかの理由で切断状態となったとする(図8中の符号P1参照)。
そして、ローカルストレージ501−1のCM#1のリブート完了後に、上述したパスの切断状態が解消しない状態(符号P1参照)で、活性ファームウェア交換処理においてローカルストレージ501−1のCM#0のリブートが行なわれる場合を考える。
このような場合においては、ローカルストレージ501−1のCM#0と外部ストレージ501−2のCM#0,#1とを接続する各パス、つまり冗長パスも切断状態となる(図8中の符号P2参照)。これにより、ローカルストレージ501−1と外部ストレージ501−2との間をつなぐパス接続が喪失することになる。
このように、業務サーバ510からのホストI/Oを外部ストレージ501−2に流すパスが使用できなくなった場合には、ホストI/Oが異常終了し、システムダウンとなる。
(B)装置構成
図1は実施形態の一例としてのストレージシステム100のストレージ装置1−1,1−2の接続状態の構成を示す図である。図2は実施形態の一例としてのストレージシステム100のストレージ装置1−1,1−2のハードウェア構成を例示する図である。また、図3は実施形態の一例としてのストレージシステム100におけるローカルストレージ1−1の機能構成を示す図である。
本実施形態の一例におけるストレージシステム100は、1つ以上(図1に示す例では1つ)のホスト装置50と通信線51を介して通信可能に接続され、このホスト装置50に対して記憶領域を提供する。通信線51は、例えば、LAN(Local Area Network)ケーブルである。
図1に例示するストレージシステム100は、2つのストレージ装置1−1,1−2を備える。
ホスト装置50には、通信線51を介してストレージ装置1−1が接続され、このストレージ装置1−1には、通信線52を介してストレージ装置1−2が接続されている。従って、ストレージ装置1−2は、ストレージ装置1−1を介してホスト装置50に間接的に接続されている。ホスト装置50は業務サーバであってもよい。
ストレージ装置1−1,1−2は、ホスト装置50に記憶領域を提供するものであり、それぞれ1つ以上の論理ボリューム(図示省略)を作成し管理する機能を有する。
ストレージ装置1−1は、ホスト装置50に対して仮想化ボリューム(図示省略)を提供する。
また、ストレージ装置1−1はストレージ装置1−2に対して命令を発行するイニシエータとして機能し、ストレージ装置1−2はストレージ装置1−1に対してターゲットとして機能する。
以下、ストレージ装置1−1をローカルストレージ1−1という場合があり、ストレージ装置1−2を外部ストレージ(リモートストレージ)1−2という場合がある。
例えば、ローカルストレージ1−1に、外部ストレージ1−2の論理ボリューム(図示省略)を仮想化ボリュームとして組み込むことで、ホスト装置50に対して、外部ストレージ1−2のデータがローカルストレージ1−1にあるように見せることができる。なお、ここで示すストレージシステムは、別々のストレージ装置を統合管理するものであり、マスタストレージ装置もしくはマスタの制御筐体が複数のデバイス筐体を一元管理するものとは接続構成や管理方法が異なる。
ローカルストレージ1−1は、イニシエータとしての機能を用いて、ホスト装置50からのホストI/Oを外部ストレージ1−2に対して発行することで、ホスト装置50による外部ストレージ1−2の論理ボリュームの利用を可能とする。
また、例えば、ローカルストレージ1−1の論理ボリューム等を外部ストレージ1−2にミラーリングしてもよい。また、外部ストレージ1−2の論理ボリュームをローカルストレージ1−1に移行させるために、図1に示すストレージシステム100を構成してもよい。
ストレージ装置1−1とストレージ装置1−2とは同様の構成を有する。以下、ストレージ装置を示す符号としては、複数のストレージ装置のうち1つを特定する必要があるときには符号1−1,1−2を用いるが、任意のストレージ装置を指すときには符号1を用いる。
また、図中、既述の符号と同一の符号は同様の部分を示しているので、その説明は省略する。
ストレージ装置1は、後述する複数の記憶装置21(図2参照)を搭載し、RAID(Redundant Arrays of Inexpensive Disks)を用いて複数の記憶装置21にデータを分散し、冗長化した状態で保存する。ストレージ装置1はCE2を備え、各CE2には内部ストレージとしてDE20が接続される。
図2に示す例においては、各ストレージ装置1は、複数のDE20a−1〜20a−n,20b−1〜20b−mを備える(なお、n,mはそれぞれ自然数)。
以下、DEを示す符号としては、複数のDEのうち1つを特定する必要があるときには符号20a−1〜20a−n,20b−1〜20b−mを用いるが、任意のDEを指すときには符号20を用いる。
CE2は、複数(図1に示す例では2つ)のCM10a,10bを備える。
CM10a,10bは、ストレージ装置1内の動作を制御する制御装置(コントローラ,ストレージ制御装置)であり、ホスト装置50等から送信されるI/O要求に従って、DE20の記憶装置21へのデータアクセス制御等、各種制御を行なう。
CM10a,10bは二重化されており、通常は、一方のCM10(例えば、CM10a)がプライマリとして各種制御を行なう。しかし、このプライマリCM10aの故障時等には、セカンダリのCM10bがプライマリとしてCM10aの動作を引き継ぐ。CM10a,10bは冗長構成(冗長パス構成)を有する。
また、CM10a,10bは互いに同様の構成を有している。以下、CMを示す符号としては、複数のCMのうち1つを特定する場合には符号10a,10bを用い、任意のCMを指すときには符号10を用いる。また、CM10aをCM#0と、CM10bをCM#1と、それぞれ表す場合がある。
CM#0とCM#1とは、図示しない内部バスを介して通信可能に接続されている。内部バスは、例えばPCIe(Peripheral Component Interconnect Express)の規格に準じた通信を行なってもよく、また、他の規格に準じた通信を行なってもよい。また、各CM10と各DE20とは例えばバス線(データアクセスパス)を介して通信可能に接続されている。
DE20は、図2に示すように、記憶装置21やIOM23a−A1〜23a−An,23b−A1〜23b−An,23a−B1〜23a−Bm,23b−B1〜23b−Bmを搭載するデバイス筐体である。
DE20は、2つのCM#0,#1のそれぞれとデータアクセスパスで通信可能に接続されており、それぞれ、2つのIOM23と、複数の記憶装置21もしくはFEM22とを備える。
なお、IOMを示す符号としては、複数のIOMのうち1つを特定する必要があるときには符号23a−A1〜23a−An,23b−A1〜23b−An,23a−B1〜23a−Bm,23b−B1〜23b−Bmを用いるが、任意のIOMを指すときには符号23を用いる。
図2に示す例においては、DE20a−1およびDE20b−mに2つのFEM22−1,22−2が備えられ、これら以外のDE20に、複数の記憶装置21が備えられている。
記憶装置21は、データを読み書き可能に格納する既知の装置であり、例えば、HDDやSSD(Solid State Drive)である。これらの記憶装置21は、互いに同様の機能構成を備える。各DE20が備える複数の記憶装置21の一部はホットスペアとして機能する。
なお、以下、FEMを示す符号としては、複数のFEMのうち1つを特定する必要があるときには符号22−1,22−2を用いるが、任意のFEMを指すときには符号22を用いる。
FEM22は、IOM23で受領したSAS(Serial Attached Small Computer System Interface)フレームをCM10から指定された記憶装置21へ転送する処理を行なう。また、FEM22は、図示しないファンを搭載し、DE20内の冷却も行なう。FEM22は、例えば、3.5インチ用高密度(High Density)ドライブエンクロージャ用second tier expander搭載モジュールである。
また、FEM22は、1つ以上(図2に示す例では2つ)のFEM−EXP(FEM-Expander)221を備える。FEM−EXP221は、SAS/SATA(Serial Advanced Technology Attachment)接続用のExpanderチップである。
DE20a−1はIOM23a−A1,23b−A1を備えている。同様に、DE20a−2はIOM23a−A2,23b−A2を、DE20a−nはIOM23a−An,23b−Anを、DE20b−1はIOM23a−B1,23b−B1を、DE20b−2はIOM23a−B2,23b−B2を、DE20b−mはIOM23a−Bm,23b−Bmを、それぞれ備える。これらにより、各DE20において、IOM23が二重化されている。
DE20a−1において、IOM23a−A1はFEM22−1の制御を、IOM23b−A1はFEM22−2の制御を、それぞれ行なう。同様に、DE20b−mにおいて、IOM23a−BmはFEM22−1の制御を、IOM23b−BmはFEM22−2
の制御を、それぞれ行なう。
また、DE20a−2において、IOM23a−A2,23b−A2は、それぞれ記憶装置21へのデータアクセスを制御する。同様に、DE20a−nにおいて、IOM23a−An,23b−Anは、それぞれ記憶装置21へのデータアクセスを制御する。また、DE20b−1において、IOM23a−B1,23b−B1は、それぞれ記憶装置21へのデータアクセスを制御する。さらに、DE20b−2において、IOM23a−B2,23b−B2は、それぞれ記憶装置21へのデータアクセスを制御する。
後述するCM10a(CM#0)のCM−EXP14aには、IOM23a−A1,IOM23a−A2,・・・,IOM23a−Anが、この順にカスケード接続されている。また、CM−EXP14aには、IOM23a−B1,IOM23a−B2,・・・,IOM23a−Bmも、この順にカスケード接続されている。
このように、CM10aのCM−EXP14aからIOM23a−A1,IOM23a−A2,・・・,IOM23a−Amが接続される経路、およびCM−EXP14aからIOM23a−B1,IOM23a−B2,・・・,IOM23a−Bmが接続される経路を、0系の経路という場合がある。また、この0系の経路に接続されるIOM23を、IOM#0と表す場合がある。
0系の経路に接続された各IOM23は、0系のCM10a(CM#0)により管理される。
また、後述するCM10b(CM#1)のCM−EXP14bには、IOM23b−Bm,・・・,IOM23b−B2,IOM23b−B1が、この順にカスケード接続されている。また、CM−EXP14bには、IOM23b−An,・・・,IOM23b−A2,IOM23b−A1も、この順にカスケード接続されている。
このように、CM10bのCM−EXP14bからIOM23b−Bm,・・・,IOM23b−B2,IOM23b−B1が接続される経路、および、CM−EXP14bからIOM23b−An,・・・,IOM23b−A2,IOM23b−A1が接続される経路を、それぞれ1系の経路という場合がある。また、この1系の経路に接続されるIOM23を、IOM#1と表す場合がある。
1系の経路に接続された各IOM23は、1系のCM10b(CM#1)により管理される。また、1系の経路は、0系の経路に対してリバースケーブリングされている。
CM10は、種々の制御を行なうストレージ制御装置であり、ホスト装置50からのストレージアクセス要求(アクセス制御信号:以下、ホストI/Oという)に従って、各種制御を行なう。
CM10は、図1に示すように、CPU(Central Processing Unit)11,メモリ12,IOC13,CM−EXP14a(14b),BUD(Bootup and Utility Device)16,CM−BIOSメモリ17およびCA15a,15bを備える。
ローカルストレージ1−1において、各CM10のCA15aは、ホスト装置50から送信されたデータを受信したり、CM10から出力するデータをホスト装置50に送信したりするアダプタである。すなわち、CA15aはホスト装置50との間でのデータの入出力を制御する。
CA15aは、例えば、NAS(Network Attached Storage)を介してホスト装置50と通信可能に接続するネットワークアダプタであり、例えば、LANインタフェース等である。各CM10は、CA15aにより通信線51を介してホスト装置50とNASにより接続され、I/O要求の受信やデータの送受信等を行なう。図1に示す例においては、CM10a,10bのそれぞれに1つのCA15aが備えられている。
ローカルストレージ1−1の各CM10のCA15aは、それぞれホスト装置50に対するターゲットポートとして機能する。
また、これらのCA15aは、SAN(Storage Area Network)を介してホスト装置50と通信可能に接続するネットワークアダプタであってもよい。すなわち、例えば、iSCSI(Internet Small Computer System Interface)インタフェースやFC(Fibre Channel)インタフェースであってもよい。各CM10は、CA15aにより通信線51を介してホスト装置50とSANにより接続され、I/O要求の受信やデータの送受信等を行なってもよい。
一方、外部ストレージ1−2の各CM10のCA15aは、それぞれ、ローカルストレージ1−1の各CM10のCA15bと通信線52を介して通信可能に接続されている。
外部ストレージ1−2の各CM10のCA15aは、ローカルストレージ1−1の各CM10から送信されるデータを受信したり、外部ストレージ1−2の各CM10から出力する命令やデータをローカルストレージ1−1の各CM10に送信したりするアダプタである。すなわち、外部ストレージ1−2の各CM10のCA15aは、ローカルストレージ1−1との間でのデータの入出力を制御するものであり、それぞれローカルストレージ1−1に対するターゲットポートとして機能する。
これに対して、ローカルストレージ1−1の各CM10のCA15bは、外部ストレージ1−2との間でのデータの入出力を制御するものであり、それぞれ外部ストレージ1−2に対するイニシエータポートとして機能する。
各CM10において、複数のCA15a,15bは、CM10から脱着自在に構成されたライザーカード(ドータカード)151に備えられている。また、外部ストレージ1−2に接続されるインタフェースであるCA15bは、内部ストレージであるDE20へのインタフェースであるCM−EXP14a,14bとは異なる種類であってもよい。
CM−EXP14a,14bは、DE20と通信可能に接続するための拡張インタフェース(Expander)であり、例えば、IC(Integrated Circuit)チップとして構成されている。これらのCM−EXP14a,14bは、CM10とDE20に備えられた記憶装置とを接続するスイッチとして機能する。
なお、以下、CM−EXPを示す符号としては、複数のCM−EXPのうち1つを特定する必要があるときには符号14a,14bを用いるが、任意のCM−EXPを指すときには符号14を用いる。
CM−EXP14にはDE20の記憶装置21が接続され、各CM10は、ホスト装置50から受信したI/O要求に基づき、記憶装置21に対するアクセス制御を行なう。
各CM10は、CM−EXP14を介して、記憶装置21に対するデータの書き込みや読み出しを行なう。
本実施形態においては、例えば、各CE2に備えられるCM10や、各DE20に備えられるIOM23が、プログラムであるファームウェアの切替え対象のモジュール(電子部品)である。以下、IOM23をモジュールもしくは部品という場合がある。
これらのモジュールは、同系のCM10によって制御される。また、CM10の制御対象は、これらのモジュールの他、CM10内の電子部品や配下のDE20の電子部品をも含む。本ストレージシステム100においては、これらの全ての電子部品がファームウェア(プログラム)の交換対象となり得るものであり、これらの電子部品のうち一部または全部に対して活性ファームウェア(プログラム)交換が行なわれる。
例えば、各IOM23は交換後の新ファームウェアを格納する記録領域(メモリ,記憶部)を備える。IOM23は、その起動時(リセットによる起動時,リブート時;再起動時)に、この記録領域に格納された新ファームウェアを読み出して自身に適用することで、ファームウェアの交換が行なわれる。以下、IOM23のリセットには、リブート(再起動)が含まれるものとする。
CM−BIOSメモリ17は、CM10の起動時にCPU11によって実行されるBIOS(Basic Input Output System)を格納する。
メモリ12は、Read Only Memory(ROM)およびRandom Access Memory(RAM)を含む記憶装置である。メモリ12のROMには、ソフトウェアプログラムが書き込まれている。メモリ12上のソフトウェアプログラムは、CPU11に適宜読み込まれて実行される。また、メモリ12のRAMは、一次記録メモリあるいはワーキングメモリとして利用され、CM−BIOSメモリ17から読み出されたBIOSやソフトウェアプログラムが一時的に格納される。本実施形態の一例において、メモリ12には、後述するボリューム情報121およびボリュームステータス情報122等が格納される(図3参照)。
また、メモリ12には、ファームウェア交換処理の進捗状況を示す情報(ファームウェア交換進捗情報)やファームウェアの版数を示すファームウェア版数情報等が格納されてもよい。
IOC13は、CM10内におけるデータ転送を制御する制御装置であり、例えば、メモリ12に格納されたデータをCPU11を介することなく転送させるDMA(Direct Memory Access)転送を実現する。
BUD16は、例えば、CA15からコピーされたダンプデータを格納する記憶装置である。
CPU11は、種々の制御や演算を行なう処理装置であり、例えばマルチコアプロセッサ(マルチコアCPU)である。CPU11は、メモリ12等に格納されたOS(Operating System)やプログラムを実行することにより、種々の機能を実現する。特に、本実施形態において、ローカルストレージ1−1のCPU11は、図3に示すように、パワー制御部114,CA制御部111,外部ストレージ管理部112および保守制御部110として機能する。
なお、これらのパワー制御部114,CA制御部111,外部ストレージ管理部112および保守制御部110としての機能を実現するためのプログラム(ストレージ制御プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
パワー制御部114,CA制御部111,外部ストレージ管理部112および保守制御部110としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ12のRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU11)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
パワー制御部114は、CM10や各デバイスの電源制御を行なうものであり、例えば、ファームウェアを適用(組み込む)するために、CM10や各デバイスの電源のオフ/オンを制御する。
CA制御部111は、自身が機能するCM10(以下、自CM10という)において認識している外部ストレージ1−2のボリュームを他のCM10に通知する。例えば、CM10においては、メモリ12の所定の記憶領域にボリューム情報121を格納する。このボリューム情報121には、予め外部ストレージ1−2に形成されたボリュームを特定する情報(例えば、ボリュームID)が登録される。
CA制御部111は、ボリューム情報121に登録されたボリュームIDのボリュームに、通信線52を介してアクセス可能であるかを確認し、その確認結果(アクセス状態情報)を、同一CE2内において冗長構成を形成する他のCM10に通知する。
例えば、CA制御部111は、確認対象のボリュームに対して、SCSI(Small Computer System Interface)コマンドを発行し、このSCSIコマンドに対して行なわれる応答に基づいて、対象ボリュームにアクセス可能であるかを判断する。
CA制御部111は、例えば、SCSIコマンドとして、ターゲット・デバイスに関する基本情報の取得を目的とする“INQUIRY COMMAND”を発行する。この“INQUIRY COMMAND”に対して、外部ストレージ1−2から“Data/Status”が応答されると、次に、CA制御部111は、デバイスが作動可能であるかを確認する“TEST UNIT READY”コマンドを発行する。CA制御部111は、この“TEST UNIT READY”に対して、外部ストレージ1−2から応答される“Data/Status”に基づき、対象ボリュームにアクセス可能であるかを判断する。
CM10から外部ストレージ1−2のボリュームにアクセス可能である場合には、CM10から外部ストレージ1−2に対するアクセスパスが正常であると判断することができる。
CA制御部111は、自CM10における外部ストレージ1−2のボリュームへのアクセス状態を示すアクセス状態情報を、冗長化された他のCM10に通知する。
なお、CA制御部111は、外部ストレージ1−2のボリュームへアクセス状態の確認を定期的に行なってもよい。また、CA制御部111は、外部ストレージ1−2のボリュームへのアクセス状態の確認を、他のCM10からの確認要求を受信したタイミングや、ホスト装置50からI/Oアクセスが発生したタイミング等で行なってもよく、適宜変更して実施することができる。
外部ストレージ管理部112は、自CM10と冗長パス構成となっている他CM10(以下、冗長化CM10という場合がある)における、外部ストレージ1−2とのパス状態(接続状態)を管理する。
例えば、CM10においては、メモリ12の所定にボリュームステータス情報122を格納する。このボリュームステータス情報122には、外部ストレージ1−2において備えられる全てのボリューム(仮想ボリューム)を識別するボリュームIDが登録される。
そして、ボリュームステータス情報122には、冗長化CM10のCA制御部111から通知される、冗長化CM10がアクセス可能な外部ストレージ1−2のボリュームのボリュームIDも登録される。
これにより、このボリュームステータス情報122を参照することで、外部ストレージ1−2に備えられたボリュームのうち、冗長化CM10が認識できているものと、認識できていないものとを容易に判定することができる。
ボリュームステータス情報122は、冗長化CM10のCA制御部111から当該他冗長化CM10がアクセス可能な外部ストレージ1−2のボリュームのボリュームIDが通知される度に更新されることが望ましい。
また、外部ストレージ管理部112は、冗長化CM10に対して、外部ストレージ1−2のボリュームへアクセス状態の確認を要求する確認要求を送信し、この確認要求に対する冗長化CM10(CA制御部111)からの応答に基づき、ボリュームステータス情報122を更新してもよい。
外部ストレージ管理部112は、後述するファームウェア交換制御部113から外部ストレージ1−2について接続状態の確認要求を受信すると、ボリュームステータス情報122を参照する。これにより、外部ストレージ管理部112は、冗長化CM10における、外部ストレージ1−2とのパス接続状態を確認する。
確認の結果、冗長化CM10において、アクセスできない外部ストレージ1−2のボリュームがあった場合には、外部ストレージ管理部112は、外部ストレージ1−2とのパス状態(接続状態)に異常が生じていると判断し、その旨をファームウェア交換制御部113に通知する。
保守制御部110は、ユーザ等が図示しない管理端末のGUI(Graphical User Interface)やCLI(Command Line Interface)を介して入力したコマンドを受け付け、ストレージ装置1におけるファームウェアの更新等の保守に関する全体処理のシーケンスを管理する。
保守制御部110は、図3に示すように、ファームウェア交換制御部113としての機能を備える。
ファームウェア交換制御部113は、ストレージ装置1に備えられたデバイス(電子装置)に対して、システムを運用状態に維持したままファームウェアの交換(切替え,改版)を行なう処理である活性ファームウェア交換処理を行なう。活性ファームウェア交換処理は、活性ファームウェア切替え処理や活性ファームウェア適用処理,活性ファームウェア改版処理とも呼ばれる。
以下、ストレージ装置1に備えられた複数のCM10のうち、他CM10に対して活性ファームウェア交換処理を実行中のCM10をマスタCM10という場合がある。また、このマスタCM10により活性ファームウェア交換処理がされる他CM10をスレーブCM10という場合がある。スレーブCM10は、ファームウェア交換の対象である切替え対象CM10に相当する。マスタCM10はスレーブCM10に対して活性ファームウェア交換処理を行なう。
ファームウェア交換制御部113としての機能は、マスタCM10において実行される。
ストレージ装置1においては、活性ファームウェア交換処理において、ストレージ装置1−1に備えられた複数のモジュールを前半モジュール群と後半モジュール群との2つの系統のモジュール群に分けて、オンライン状態を維持したまま片系ずつファームウェア交換を行なう。
活性ファームウェア交換処理は、モジュールに備えられたメモリ等の記憶領域(非稼働面側領域)に予め新ファームウェアを書き込んでおいた状態から開始するものとする。活性ファームウェア交換処理は前半と後半との2つの段階に分けて実施される。
モジュールに更新用のファームウェア(以下、新ファームウェアという)を適用する際には、先ず、非稼働面側領域に新ファームウェアを書き込む。その後、新ファームウェアが書き込まれた非稼働面側領域を稼働面側領域に切替えてから、モジュールのリセット(リブート,再起動)を行ない、稼働面側領域に書き込まれた新ファームウェアを用いて起動させる。
活性ファームウェア交換処理においては、ファームウェア交換対象のCM10はシステムから一時的に切り離されることになる。そこで、ファームウェア交換対象のCM10のことを切り離し対象CM10と言ってもよい。
図2に例示するストレージ装置1においては、例えば、前半に、1系のモジュールの交換を行なった後に、CM#1に備えられた各モジュールの交換を行なう。これらの前半のファームウェア書き換えは、CM#0のファームウェア交換制御部113の制御の下で行なわれる。
そして、後半において、CM#0に備えられた各モジュールの交換を行なった後に、0系のモジュール交換を行なう。これらの後半のファームウェア書き換えは、CM#1のファームウェア交換制御部113の制御の下で行なわれる。
例えば、ファームウェア交換制御部113は、ファームウェアの切替え対象のIOM23に対してファームウェア切替コマンドを発行する。ファームウェア切替コマンドを受信したIOM23は、自身が正常に動作した状態であり、自身の記憶領域に新ファームウェアが格納された状態である場合には、ファームウェア交換制御部113に対して正常応答を行なう。また、IOM23は、自身の記憶領域に新ファームウェアが格納されていない場合には、その旨のエラー応答(異常応答)をファームウェア交換制御部113に対して行なう。
上述した例においては、前半のファームウェア書き換えは、CM#0がマスタCM10として機能し、後半のファームウェア書き換えは、CM#1がマスタCM10として機能する。
すなわち、ストレージ装置1に備えられた複数のCM10は、交互にマスタCM10となり他CM10(スレーブCM10)の活性ファームウェア交換処理を行なう。
また、活性ファームウェア交換処理には、自動モードとオペレータ連携モードとの2つのモードがある。
自動モードにおいては、ハードウェアの電源のオフ(Off)/オン(On)を伴わず、CM10内のOS,ファームウェアのみの更新を行なう。この自動モードでCM10の活性ファームウェア交換処理を行なう場合には、CA15a,15bやBIOSのファームウェアは更新されないが、短時間でファームウェア更新が可能であり、ホスト装置50側のI/Oに影響なく適用が可能となる。
オペレータ連携モードにおいては、ハードウェアの電源のオフ/オンを実施して更新を実施する。このオペレータ連携モードでCM10の活性ファームウェア交換を行なう場合には、CA15a,15bのリンクが切断され、CM10のリブートに時間がかかる。このため、ホスト装置50でI/Oパスのオフライン(Offline)/オンライン(Online)操作を実施する。このオペレータ連携モードでは、ハードウェアの電源のオフ/オンが必要なCA15a,15b,BIOSファーム等の更新が可能となる。
また、ファームウェア交換制御部113は、本ストレージ装置1の各モジュール(部品進)のファームウェアに関する各種情報を管理するファームウェア管理機能を備える。また、ファームウェア交換制御部113は、ファームウェアの切替え作業の進捗状態を管理する。なお、これらのファームウェア管理機能やファームウェア交換進捗管理機能は、既知の種々の手法を用いて実現することができ、その説明は省略する。
また、マスタCM10において、ファームウェア交換制御部113は、外部ストレージ管理部112に、外部ストレージ1−2とのパス状態(接続状態)を確認させる制御を行なう。
ファームウェア交換制御部113は、本ストレージシステム100において、ストレージ仮想化機能が有効であるかを確認する。本ストレージシステム100においては、例えば、各CM10のメモリ12の所定の記憶領域に、ストレージ仮想化機能が有効であるか否かを示す情報(フラグ等)が記録される。
ファームウェア交換制御部113は、このフラグの状態を確認することで、本ストレージシステム100において、ストレージ仮想化機能が有効であるかを確認する。
そして、ファームウェア交換制御部113は、本ストレージシステム100において、ストレージ仮想化機能が有効である場合に、上述の如く、外部ストレージ管理部112に、外部ストレージ1−2とのパス状態(パス接続状態)を確認させる。
スレーブCM10において、アクセスできない外部ストレージ1−2のボリュームがあった場合には、外部ストレージ1−2とのパス接続状態に異常が生じていると判断される。
ファームウェア交換制御部113は、外部ストレージ1−2とのパス接続状態に異常が生じていると判断された場合に、活性ファームウェア交換の進捗に応じて、以下の(1)〜(3)のいずれかの処理を異常処理として行なう。
(1)前半モジュール群のファームウェア交換前
前半モジュール群のファームウェア交換前において、スレーブCM10において、外部ストレージ1−2とのパス接続状態に異常が生じていると判断された場合に、活性ファームウェア交換処理が自動モードである場合には、ファームウェア交換制御部113は、ファームウェア交換を中止する。
一方、活性ファームウェア交換処理がオペレータ連携モードである場合には、ファームウェア交換制御部113は、オペレータに対してファームウェア交換を実行するか否かを確認する通知(確認通知)を行なう。この確認通知は、例えば、ファームウェア交換を実行するか否かを確認するメッセージを、スレーブCM10から外部ストレージ1−2のボリュームが見つからない旨の通知とともに図示しないディスプレイ装置に表示させることで行なってもよい。
(2)前半モジュール群のファームウェア交換後、且つ、後半モジュール群のファームウェア交換前
前半モジュール群のファームウェア交換後、且つ、後半モジュール群のファームウェア交換前において、スレーブCM10において、外部ストレージ1−2とのパス接続状態に異常が生じていると判断された場合には、ファームウェア交換制御部113は、交換した前半モジュール群の各モジュールのファームウェアをそれぞれ元の版に戻す。すなわち、ファームウェア交換制御部113はロールバック処理を行なう。また、後半モジュール群のファームウェア交換を中止する。
(3)後半モジュール群のファームウェア交換後
後半モジュール群のファームウェア交換後において、スレーブCM10において、外部ストレージ1−2とのパス接続状態に異常が生じていると判断された場合に、ファームウェア交換制御部113は、オペレータに対してスレーブCM10から外部ストレージ1−2のボリュームが見つからない旨の通知を行なう。この通知は、図示しないディスプレイ装置にスレーブCM10から外部ストレージ1−2のボリュームが見つからない旨の通知を表示させることで行なってもよい。
(C)動作
上述の如く構成された実施形態の一例としてのストレージシステム100において、ローカルストレージ1−1のファームウェア交換を行なう場合の処理を、図4に示すフローチャート(ステップA1〜A11)に従って説明する。
以下に示す例においては、先ず、前半モジュール群への活性ファームウェア交換として、1系の各モジュールのファームウェア交換を行なった後にCM#1に備えられた各モジュールのファームウェア交換を行なう。その後、後半モジュール群への活性ファームウェア交換として、CM#0に備えられた各モジュールのファームウェア交換を行なった後に0系の各モジュールのファームウェア交換を行なう。
ステップA1において、先ず、1系のモジュール群のファームウェア交換を制御するCM#0(マスタCM10)のファームウェア交換制御部113が、本ストレージシステム100においてストレージ仮想化機能が有効であるかを確認する。
確認の結果、ストレージ仮想化機能が有効である場合には(ステップA1のYESルート参照)、ステップA2に移行する。ステップA2において、マスタCM#0ファームウェア交換制御部113は、スレーブCM#1と外部ストレージ1−2との接続が正常であるかを確認する。
なお、スレーブCM10と外部ストレージ1−2との接続が正常であるかの確認手法の詳細は、図5に示すフローチャートを用いて後述する。
ステップA2における確認の結果、スレーブCM#1と外部ストレージ1−2との接続に異常が検出された場合には(ステップA2のNOルート参照)、ファームウェア交換制御部113は、ステップA3において異常処理を行なう。
このステップA3における処理は、前述した、前半モジュール群のファームウェア交換前において、スレーブCM10において、外部ストレージ1−2とのパス接続状態に異常が生じていると判断された場合に相当する。
ファームウェア交換制御部113は、活性ファームウェア交換処理が自動モードである場合には、ファームウェア交換制御部113は、ファームウェア交換を中止する。一方、活性ファームウェア交換処理がオペレータ連携モードである場合には、ファームウェア交換制御部113は、オペレータに対してファームウェア交換を実行するか否かの確認通知を行なう。その後、処理を終了する。
ステップA2における確認の結果、スレーブCM#1と外部ストレージ1−2との接続が正常である場合には(ステップA2のYESルート参照)、ステップA4に移行する。
また、ステップA1における確認の結果、ストレージ仮想化機能が有効でない場合にも(ステップA1のNOルート参照)、ステップA4に移行する。
ステップA4においては、マスタCM#0のファームウェア交換制御部113が、前半モジュール群の各デバイスのファームウェア交換を実行する。1系のモジュールのファームウェア交換が完了すると、今度は1系のCM#1が、0系のモジュール群のファームウェア交換を制御する新たなマスタCM10となる。
ステップA5において、CM#1(マスタCM10)のファームウェア交換制御部113が、本ストレージシステム100においてストレージ仮想化機能が有効であるかを確認する。
確認の結果、ストレージ仮想化機能が有効である場合には(ステップA5のYESルート参照)、ステップA6に移行する。ステップA6において、マスタCM#1のファームウェア交換制御部113は、スレーブCM#0と外部ストレージ1−2との接続が正常であるかを確認する。
ステップA6における確認の結果、スレーブCM#0と外部ストレージ1−2との接続に異常が検出された場合には(ステップA6のNOルート参照)、ファームウェア交換制御部113は、ステップA7において異常処理を行なう。
このステップA7の処理は、前述した、前半モジュール群のファームウェア交換後、且つ、後半モジュール群のファームウェア交換前において、スレーブCM10において、外部ストレージ1−2とのパス接続状態に異常が生じていると判断された場合に相当する。
マスタCM#1のファームウェア交換制御部113は、交換した前半モジュール群の各モジュールのファームウェアをそれぞれ元の版に戻す。すなわち、ファームウェア交換制御部113はロールバック処理を行なう。また、後半モジュール群のファームウェア交換を中止する。その後、処理を終了する。
ステップA6における確認の結果、スレーブCM#0と外部ストレージ1−2との接続が正常である場合には(ステップA6のYESルート参照)、ステップA8に移行する。
また、ステップA5における確認の結果、ストレージ仮想化機能が有効でない場合にも(ステップA5のNOルート参照)、ステップA8に移行する。
ステップA8においては、マスタCM#1のファームウェア交換制御部113が、後半モジュール群の各デバイスのファームウェア交換を実行する。
ステップA9において、ステップA8においてファームウェア交換を行なったCM#1(マスタCM10)のファームウェア交換制御部113が、本ストレージシステム100においてストレージ仮想化機能が有効であるかを確認する。
確認の結果、ストレージ仮想化機能が有効である場合には(ステップA9のYESルート参照)、ステップA10に移行する。ステップA10において、マスタCM#1のファームウェア交換制御部113は、スレーブCM#0と外部ストレージ1−2との接続が正常であるかを確認する。
ステップA10における確認の結果、スレーブCM#0と外部ストレージ1−2との接続に異常が検出された場合には(ステップA10のNOルート参照)、ファームウェア交換制御部113は、ステップA11において異常処理を行なう。
このステップA11の処理は、前述した、後半モジュール群のファームウェア交換後において、スレーブCM10において、外部ストレージ1−2とのパス接続状態に異常が生じていると判断された場合に相当する。
マスタCM#1のファームウェア交換制御部113は、オペレータに対してスレーブCM10から外部ストレージ1−2のボリュームが見つからない旨の通知を行なう。その後、処理を終了する。
ステップA10における確認の結果、スレーブCM#0と外部ストレージ1−2との接続が正常である場合には(ステップA10のYESルート参照)、処理を終了する。
また、ステップA9における確認の結果、トレージ仮想化機能が有効でない場合にも(ステップA9のNOルート参照)、処理を終了する。
次に、実施形態の一例としてのストレージシステム100のローカルストレージ1−1におけるスレーブCM10と外部ストレージ1−2との接続状態の確認方法を、図5に示すフローチャート(ステップB1〜B7)に従って説明する。
ステップB1において、マスタCM10のファームウェア交換制御部113は、ファームウェア交換対象のCM10(切替え対象CM10)を抽出する。
ストレージシステム100においては、4つ以上(例えば、12個)のCM10が備えられる場合がある。これらの複数のCM10には任意の識別番号が設定される。例えば、12台のCM#0〜#11において、CM#0,#2,#4,・・・,#10には、識別番号10,11,12,・・・1Bをそれぞれ設定してもよい。また、CM#1,#3,#5,・・・,#11には、識別番号20,21,22,・・・2Bをそれぞれ設定してもよい。
これらの複数のCM10のそれぞれは、他の1つのCM10と冗長構成(ペア)にすることが望ましい。これらのペアを構成するCM10どうしを同一のCE2に搭載してもよい。例えば、12個のCM10(CM#0〜#11)が備えられたストレージシステム100においては、CM#0とCM#1とでペアを構成し、CE#0に搭載してもよい。同様に、CM#2とCM#3とをCE#1に、CM#4とCM#5とをCE#2に、CM#6とCM#7とをCE#3に、CM#8とCM#9とをCE#4に、CM#10とCM#11とをCE#5に、それぞれ搭載してもよい。なお、これらの複数のCM10の識別番号や、ペア構成等は適宜変更して実施することができる。
各CM10のペアにおいて、一方のCM10をファームウェア交換の対象である切替え対象CM10とした場合に、他方のCM10はこの切替え対象CM10と接続パスが冗長化された冗長化CM10となる。切替え対象CM10は切り離し対象CM10と同意である。
また、各CM10のペアにおいて、偶数で特定されるCM#0,#2,#4,#6,#8,#10を0系とし、奇数で特定されるCM#1,#3,#5,#7,#9,#11を1系とする。
ストレージシステム100において、ファームウェア交換を行なう対象のCM10が複数ある場合には、これらの複数の切替え対象CM10の中から切替え対象CM10が一つずつ抽出(選択)される。切替え対象CM10はスレーブCM10である。
ステップB2において、ファームウェア交換制御部113は、外部ストレージ管理部112に対して、切替え対象CM10を通知して、当該切替え対象CM10と冗長構成を有する冗長化CM10と外部ストレージ1−2とのパス接続状態の確認を依頼する。
ステップB3において、外部ストレージ管理部112は、ボリュームステータス情報122を参照して、スレーブCM10が、外部ストレージ1−2に備えられた個々のボリューム(仮想ボリューム)をそれぞれ認識できているかを確認する。
この確認は、外部ストレージ1−2に備えられた全てのボリュームの確認が完了するまで行なわれる(ステップB5)、未確認のボリュームがある場合には(ステップB5のNOルート参照)、ステップB3の処理が繰り返し行なわれる。
ステップB3における確認の結果、スレーブCM10において、外部ストレージ1−2に備えられたボリュームのうち認識できていないものがある場合には(ステップB3のNOルート参照)、ステップB4において、ファームウェア交換制御部113に対して異常応答が行なわれ、処理を終了する。
一方、外部ストレージ1−2に備えられた全てのボリュームについて、スレーブCM10から認識できていることが確認された場合には(ステップB5のYESルート参照)、ステップB6に移行する。
ステップB6においては、ステップB3〜B5の処理が全ての切替え対象CM10について行なわれたが確認される。全ての切替え対象CM10についてボリュームの認識確認が行なわれていない場合には(ステップB6のNOルート参照)、ステップB1に戻る。
また、全ての切替え対象CM10についてボリュームの認識確認が行なわれた場合には(ステップB6のYESルート参照)、ステップB7において、ファームウェア交換制御部113に対して正常応答が行なわれ、処理を終了する。
次に、実施形態の一例としてのストレージシステム100のローカルストレージ1−1における、ファームウェア交換過程におけるCM10の組み込み時の処理を、図6に示すフローチャート(ステップC1〜C7)に従って説明する。
ローカルストレージ1−1における活性ファームウェア交換処理においては、パワー制御部114が、冗長構成となっているCM10を片CM10ずつリブートさせる。ステップC1において、CM10の起動時に、パワー制御部114は、外部ストレージ管理部112に対してパワーオン通知を発行する。
ステップC2において、外部ストレージ管理部112はパワーオン通知を受信する。
ステップC3において、外部ストレージ管理部112は、ボリュームステータス情報122の更新を行なう。
ボリュームステータス情報122においては、CM10のリブート時には外部ストレージ1−2の各ボリュームに対して、異常ステータスを初期値として保持する。
外部ストレージ管理部112は、他CM10のCA制御部111に対して、外部ストレージ1−2のボリュームへアクセス状態の確認を要求する確認要求を送信する。
ステップC4において、各CM10のCA制御部111は、それぞれ外部ストレージ1−2の各ボリュームに対してSCSIコマンドを発行することでパス接続状態の確認を行なう。
各CA制御部111は、SCSIコマンド発行が成功し、認識に成功した外部ストレージ1−2のボリュームに関する情報を、確認要求の送信元の外部ストレージ管理部112に通知する。
ステップC5において、外部ストレージ管理部112は、CA制御部111から通知されたボリュームに関する情報を、ボリュームステータス情報122にCM10ごとに登録して管理する。
ステップC6において、外部ストレージ管理部112は、パワー制御部114に対してパワーオン通知に対する応答を行ない、ステップC7において、パワー制御部114は、CM10のパワーオンの完了応答を行ない、処理を終了する。
(D)効果
このように、実施形態の一例としてのストレージ装置1によれば、ローカルストレージ1−1のCM10に活性ファームウェア交換を行なうに際して、ファームウェア交換の対象の切替え対象CM10(例えばCM#0)と冗長化された冗長化CM10(例えばCM#1)の外部ストレージ1−2とのパス接続状態を確認する。
そして、このパス接続状態の確認の結果、冗長化CM10において、外部ストレージ1−2との接続状態に異常が検出された場合には、切替え対象CM10に対するファームウェア交換処理の実行を中止する。冗長化CM10において、外部ストレージ1−2との接続状態に異常が検出されない場合に、切替え対象CM10に対するファームウェア交換処理を実行する。
これにより、冗長化CM10において外部ストレージ1−2との接続が正常である状態で、切替え対象CM10に活性ファームウェア交換処理が行なわれる。従って、この活性ファームウェア交換処理の過程で切替え対象CM10のリブートが行なわれても、ローカルストレージ1−1と外部ストレージ1−2との間においてパス接続が喪失することがない。これにより、システムの信頼性を向上させることができる。
また、パス接続状態の確認の結果、冗長化CM10において、外部ストレージ1−2との接続状態に異常が検出された場合に、活性ファームウェア交換処理がオペレータ連携モードである場合に、オペレータに対してファームウェア交換を実行するか否かの確認通知を行なう。これにより、オペレータの意向に沿った対応を行なうことができ、利便性が高い。
また、前半モジュール群のファームウェア交換後、且つ、後半モジュール群のファームウェア交換前において、冗長化CM10において、外部ストレージ1−2とのパス接続状態に異常が検出された場合に、後半モジュール群のファームウェア交換を中止する。また、交換した前半モジュール群の各モジュールのファームウェアをそれぞれ元の版に戻すロールバック処理を行なう。本ストレージシステム100をファームウェア交換により異常が生じる前の正常な状態に速やかに戻すことができ、信頼性を向上させることができる。
後半モジュール群のファームウェア交換後において、冗長化CM10において、外部ストレージ1−2とのパス接続状態に異常が検出された場合には、オペレータに対してスレーブCM10から外部ストレージ1−2のボリュームが見つからない旨の通知を行なう。かかる場合には、本ストレージシステム100においては新ファームウェアの適用は完了した状態であるが、冗長化CM10から外部ストレージ1−2のボリュームにアクセスできない異常状態であるので、オペレータがかかる異常状態を速やかに認識することができ、利便性が高い。
マスタCM10の外部ストレージ管理部112が、冗長化CM10における外部ストレージ1−2とのパス接続状態を、冗長化CM10が外部ストレージ1−2に備えられたボリュームにアクセス可能であるか否かに基づき判断する。これにより、冗長化CM10における外部ストレージ1−2とのパス接続状態を容易に把握することができ、利便性が高い。
(E)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、ストレージ装置1のハードウェア構成は、図1および図2に例示した構成に限定されるものではなく、適宜変更して実施することができる。
すなわち、図1および図2に例示したローエンドもしくはミドルレンジの装置構成を有するストレージ装置1に限定されるものではなく、例えば、図7に例示するような、所謂ハイエンドのストレージシステム100に備えられるストレージ装置1に適用してもよい。
図7に例示するストレージシステム100に備えられるローカルストレージ1−1は、FE(Front Enclosure)301と、複数(図7に示す例では2つ)のCE2を備えている。なお、図中、既述の符号の同一の符号は同様の部分を示しているのでその説明は省略する。また、この図7においては、便宜上、一部の構成の図示を省略している。
FE301は、複数のCM10を接続するための接続装置であり、1つのSVC(Service Controller)302と、2つのFRT(Front-End Router)303とを組み合わせたユニットを2組(#0,#1)備える。FE301における、各SVC302,FRT303は、NTB(Non Transparent Bridge)304を介して各CM10a,10bに接続されている。
そして、このローカルストレージ1−1の各CE2において、各CM10はCA15aを介してホスト装置(図示省略)に接続される。また、各CM10はCA15bを介して、同様に構成された外部ストレージ(図示省略)のCM10に接続される。
なお、この図7に例示するストレージ装置1−1においては、便宜上、一部の配線等の図示を省略している。例えば、CE#0のCM#1やCE#1のCM#0,#1からFE301への配線の図示は省略されている。また、ローカルストレージ1−1の各CE2においては、CM#0のCA15aがホスト装置50に接続され、CA15bが外部ストレージ1−2に接続されている。
このような構成により、各CM10a,10bは、いずれかのFRT303を経由して、他のCM10a,10bとの間で通信を行なうことができる。このように、ストレージシステム100においてはCM10a,10b間通信の経路の冗長化が図られている。
また、この図7に例示するストレージシステム100において、外部ストレージ1−2に接続されるインタフェースであるCA15bは、内部ストレージであるDE20へのインタフェースであるCM−EXP14a,14bとは異なる種類であってもよい。
上述した実施形態においては、CM10内の電子部品やCM10の配下のDE20の電子部品のファームウェアを交換する例について示したが、これに限定されるものではない。例えば、ファームウェア以外のプログラムの交換に適用することができる。また、CM10内の電子部品やDE20の電子部品以外の電子部品のプログラムの交換に用いてもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(F)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
ホスト装置と通信可能に接続される第1ストレージ装置と、
前記第1ストレージ装置と通信可能に接続され、前記ホスト装置からのアクセス要求に対して、前記第1ストレージ装置を介して処理を実行する第2ストレージ装置と、を備え、
前記第1ストレージ装置は、第1ストレージ制御装置と第2ストレージ制御装置を備え、前記第1ストレージ制御装置と前記第2ストレージ制御装置は前記ホスト装置に対して冗長的に接続し、
前記第1ストレージ制御装置と前記第2ストレージ制御装置とは、前記第2ストレージ装置に対して冗長的に接続し、
前記第1ストレージ制御装置は、前記第2ストレージ装置との接続を切断して活性プログラム交換を行なう前に、前記第2ストレージ制御装置と前記第2ストレージ装置との通信状態を確認し、
前記第2ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記第1ストレージ制御装置の活性プログラム交換の実行を抑止する
ことを特徴とする、ストレージシステム。
(付記2)
前記第2ストレージ制御装置は、前記第2ストレージ装置との接続を切断して活性プログラム交換を行なう前に、前記第1ストレージ制御装置と前記第2ストレージ装置との通信状態を確認し、
前記第1ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記第2ストレージ制御装置の活性プログラム交換の実行を抑止する、
ことを特徴とする、付記1記載のストレージシステム。
(付記3)
前記第2ストレージ制御装置から前記第2ストレージ装置の配下の論理ボリュームへのデータアクセスの状況に基づいて、前記通信状態を確認する
ことを特徴とする、付記1または2記載のストレージシステム。
(付記4)
前記第1ストレージ制御装置が制御する複数の電子部品のうち一部または全部の活性プログラム交換の実施後に、第2ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記活性プログラム交換により前記電子部品に対して適用されたプログラムを、前記活性プログラム交換前に適用されていたプログラムに戻す
ことを特徴とする、付記1〜3のいずれか1項に記載のストレージシステム。
(付記5)
前記第1ストレージ制御装置が制御する複数の電子部品のうち一部または全部の活性プログラム交換の実施後に、第2ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、通信状態に異常が検出された旨の警告を出力する
ことを特徴とする、付記1〜4のいずれか1項に記載のストレージシステム。
(付記6)
ホスト装置および第2ストレージ装置と通信可能に接続される第1ストレージ装置に備えられるストレージ制御装置であって、
前記ホスト装置と通信可能に接続される第1通信部と、
前記第2ストレージ装置と通信可能に接続される第2通信部と、
前記第2ストレージ装置との接続を切断して活性プログラム交換を行なう保守制御部とを備え、
前記保守制御部は、
前記活性プログラム交換を行なう前に、前記ストレージ制御装置と冗長構成にある冗長ストレージ制御装置と前記第2ストレージ装置との通信状態を確認し、
前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記ストレージ制御装置の活性プログラム交換の実行を抑止する
ことを特徴とする、ストレージ制御装置。
(付記7)
前記保守制御部は、前記冗長ストレージ制御装置から前記第2ストレージ装置の配下の論理ボリュームへのデータアクセスの状況に基づいて、前記通信状態を確認する
ことを特徴とする、付記6記載のストレージ制御装置。
(付記8)
前記保守制御部は、前記ストレージ制御装置が制御する複数の電子部品のうち一部または全部の活性プログラム交換の実施後に、前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記活性プログラム交換により前記電子部品に対して適用されたプログラムを、前記活性プログラム交換前に適用されていたプログラムに戻す
ことを特徴とする、付記6または7記載のストレージ制御装置。
(付記9)
前記保守制御部は、前記ストレージ制御装置が制御する複数の電子部品のうち一部または全部の活性プログラム交換の実施後に、前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、通信状態に異常が検出された旨の警告を出力する
ことを特徴とする、付記6〜8のいずれか1項に記載のストレージ制御装置。
(付記10)
ホスト装置および第2ストレージ装置と通信可能に接続される第1ストレージ装置に備えられるストレージ制御装置のプロセッサに、
前記第2ストレージ装置との接続を切断して活性ファームウェア交換を行なう前に、前ストレージ制御装置と冗長構成にある冗長ストレージ制御装置と前記第2ストレージ装置との通信状態を確認し、
前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記ストレージ制御装置の活性プログラム交換の実行を抑止する
処理を実行させる、ストレージ制御プログラム。
(付記11)
前記冗長ストレージ制御装置から前記第2ストレージ装置の配下の論理ボリュームへのデータアクセスの状況に基づいて、前記通信状態を確認する
処理を、前記プロセッサに実行させる、付記10記載のストレージ制御プログラム。
(付記12)
前記ストレージ制御装置が制御する複数の電子部品のうち一部または全部の活性プログラム交換の実施後に、前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記活性プログラム交換により前記電子部品に対して適用されたプログラムを、前記活性プログラム交換前に適用されていたプログラムに戻す
処理を、前記プロセッサに実行させる、付記10または11記載のストレージ制御プログラム。
(付記13)
前記ストレージ制御装置が制御する複数の電子部品のうち一部または全部の活性プログラム交換の実施後に、前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、通信状態に異常が検出された旨の警告を出力する
処理を、前記プロセッサに実行させる、付記10〜12のいずれか1項に記載のストレージ制御プログラム。
1−1,1 ローカルストレージ,ストレージ装置
1−2,1 外部ストレージ,ストレージ装置
2 CE
10a,10b,10 CM
11 CPU
12 メモリ
13 IOC
14 CM−EXP
15 CA
151 ライザーカード
16 BUD
20a−1〜20a−n,20b−1〜20b−m,20 DE
22−1,22−2,22 FEM
21 記憶装置
23a−A1〜23a−An,23b−A1〜23b−An,23a−B1〜23b−Bm,23b−B1〜23b−Bn,23 IOM
51,52 通信線
100 ストレージシステム
110 保守制御部
111 CA制御部
112 外部ストレージ管理部
113 ファームウェア交換制御部
114 パワー制御部
121 ボリューム情報
122 ボリュームステータス情報

Claims (7)

  1. ホスト装置と通信可能に接続される第1ストレージ装置と、
    前記第1ストレージ装置と通信可能に接続され、前記ホスト装置からのアクセス要求に対して前記第1ストレージ装置を介して処理を実行する第2ストレージ装置と、を備え、
    前記第1ストレージ装置は、第1ストレージ制御装置と第2ストレージ制御装置を備え、前記第1ストレージ制御装置と前記第2ストレージ制御装置は前記ホスト装置に対して冗長的に接続し、
    前記第1ストレージ制御装置と前記第2ストレージ制御装置は前記第2ストレージ装置に対して冗長的に接続し、
    前記第1ストレージ制御装置は、前記第2ストレージ装置との接続を切断して活性プログラム交換を行なう前に、前記第2ストレージ制御装置と前記第2ストレージ装置との通信状態を確認し、
    前記第2ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記第1ストレージ制御装置の活性プログラム交換の実行を抑止する、
    ことを特徴とする、ストレージシステム。
  2. 前記第2ストレージ制御装置は、前記第2ストレージ装置との接続を切断して活性プログラム交換を行なう前に、前記第1ストレージ制御装置と前記第2ストレージ装置との通信状態を確認し、
    前記第1ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記第2ストレージ制御装置の活性プログラム交換の実行を抑止する、
    ことを特徴とする、請求項1記載のストレージシステム。
  3. ホスト装置および第2ストレージ装置と通信可能に接続される第1ストレージ装置に備えられるストレージ制御装置であって、
    前記ホスト装置と通信可能に接続される第1通信部と、
    前記第2ストレージ装置と通信可能に接続される第2通信部と、
    前記第2ストレージ装置との接続を切断して活性プログラム交換を行なう保守制御部とを備え、
    前記保守制御部は、
    前記活性プログラム交換を行なう前に、前記ストレージ制御装置と冗長構成にある冗長ストレージ制御装置と前記第2ストレージ装置との通信状態を確認し、
    前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記ストレージ制御装置の活性プログラム交換の実行を抑止する
    ことを特徴とする、ストレージ制御装置。
  4. 前記保守制御部は、前記冗長ストレージ制御装置から前記第2ストレージ装置の配下の論理ボリュームへのデータアクセスの状況に基づいて、前記通信状態を確認する
    ことを特徴とする、請求項3記載のストレージ制御装置。
  5. 前記保守制御部は、前記ストレージ制御装置が制御する複数の電子部品のうち一部または全部の活性プログラム交換の実施後に、前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記活性プログラム交換により前記電子部品に対して適用されたプログラムを、前記活性プログラム交換前に適用されていたプログラムに戻す
    ことを特徴とする、請求項3または4記載のストレージ制御装置。
  6. 前記保守制御部は、前記ストレージ制御装置が制御する複数の電子部品のうち一部または全部の活性プログラム交換の実施後に、前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、通信状態に異常が検出された旨の警告を出力する
    ことを特徴とする、請求項3〜5のいずれか1項に記載のストレージ制御装置。
  7. ホスト装置および第2ストレージ装置と通信可能に接続される第1ストレージ装置に備えられるストレージ制御装置のプロセッサに、
    前記第2ストレージ装置との接続を切断して活性プログラム交換を行なう前に、前記ストレージ制御装置と冗長構成にある冗長ストレージ制御装置と前記第2ストレージ装置との通信状態を確認し、
    前記冗長ストレージ制御装置と前記第2ストレージ装置との通信状態に異常が検出された場合に、前記ストレージ制御装置の活性プログラム交換の実行を抑止する
    処理を実行させる、ストレージ制御プログラム。
JP2017225027A 2017-11-22 2017-11-22 ストレージシステム,ストレージ制御装置およびストレージ制御プログラム Active JP6933107B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017225027A JP6933107B2 (ja) 2017-11-22 2017-11-22 ストレージシステム,ストレージ制御装置およびストレージ制御プログラム
US16/173,444 US11074144B2 (en) 2017-11-22 2018-10-29 Active firmware replacement in storage system and in storage controller, and computer-readable recording medium having stored therein program for active firmware replacement in controlling storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017225027A JP6933107B2 (ja) 2017-11-22 2017-11-22 ストレージシステム,ストレージ制御装置およびストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2019096065A JP2019096065A (ja) 2019-06-20
JP6933107B2 true JP6933107B2 (ja) 2021-09-08

Family

ID=66532696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017225027A Active JP6933107B2 (ja) 2017-11-22 2017-11-22 ストレージシステム,ストレージ制御装置およびストレージ制御プログラム

Country Status (2)

Country Link
US (1) US11074144B2 (ja)
JP (1) JP6933107B2 (ja)

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954881B1 (en) * 2000-10-13 2005-10-11 International Business Machines Corporation Method and apparatus for providing multi-path I/O in non-concurrent clustering environment using SCSI-3 persistent reserve
US7529180B1 (en) * 2002-03-29 2009-05-05 Marvell International Ltd. Switch failover for aggregated data communication links
JP4438048B2 (ja) 2003-08-08 2010-03-24 キヤノン株式会社 周辺装置及びその周辺装置のファームウェア更新方法、プログラム
US8443119B1 (en) * 2004-02-26 2013-05-14 Symantec Operating Corporation System and method for disabling auto-trespass in response to an automatic failover
US20080215910A1 (en) * 2005-08-17 2008-09-04 Nortel Networks Limited High-Availability Networking with Intelligent Failover
US7318138B1 (en) * 2005-08-30 2008-01-08 Symantec Operating Corporation Preventing undesired trespass in storage arrays
US7937617B1 (en) * 2005-10-28 2011-05-03 Symantec Operating Corporation Automatic clusterwide fail-back
US7500134B2 (en) * 2005-12-27 2009-03-03 Emc Corporation Virtual array failover
JP4940967B2 (ja) * 2007-01-30 2012-05-30 富士通株式会社 ストレージシステム、ストレージ装置、ファームウェアの活***換方法、ファームウェアの活***換プログラム
WO2008114360A1 (ja) * 2007-03-16 2008-09-25 Fujitsu Limited ストレージシステム、ストレージ装置、ファームウェアの活***換方法
JP2008299709A (ja) 2007-06-01 2008-12-11 Nec Corp ファームウェア更新システム、ネットワーク接続機器、ファームウェア更新方法及びプログラム
JP4430093B2 (ja) * 2007-08-29 2010-03-10 富士通株式会社 記憶制御装置およびファームウェア更新方法
JP2009129261A (ja) * 2007-11-26 2009-06-11 Hitachi Ltd ストレージシステム及びストレージシステムの外部ボリューム接続経路探索方法
JP2010152508A (ja) * 2008-12-24 2010-07-08 Fujitsu Ltd 制御装置、ディスクアレイ装置および制御方法
US8381208B2 (en) * 2009-06-11 2013-02-19 International Business Machines Corporation Tracking application installation among a plurality of client devices
US8239705B2 (en) * 2009-06-30 2012-08-07 At&T Intellectual Property I, L.P. Method and apparatus for managing communication services for user endpoint devices
JP5152603B2 (ja) 2010-10-04 2013-02-27 日本電気株式会社 ディスクアレイ装置及びそのファームウェア更新方法
US8745614B2 (en) * 2011-05-13 2014-06-03 Lsi Corporation Method and system for firmware upgrade of a storage subsystem hosted in a storage virtualization environment
US8707085B2 (en) * 2011-06-30 2014-04-22 International Business Machines Corporation High availability data storage systems and methods
US9015519B2 (en) * 2012-01-31 2015-04-21 Symantec Corporation Method and system for cluster wide adaptive I/O scheduling by a multipathing driver
US8966466B2 (en) * 2012-04-04 2015-02-24 Avago Technologies General Ip (Singapore) Pte. Ltd. System for performing firmware updates on a number of drives in an array with minimum interruption to drive I/O operations
JP6287495B2 (ja) * 2014-03-31 2018-03-07 富士通株式会社 ストレージシステム、ストレージ装置
JP6281413B2 (ja) * 2014-05-28 2018-02-21 富士通株式会社 ファームウェア更新装置、ストレージ制御装置およびプログラム
US9672124B2 (en) * 2014-06-13 2017-06-06 International Business Machines Corporation Establishing copy pairs from primary volumes to secondary volumes in multiple secondary storage systems for a failover session
JP6484965B2 (ja) 2014-09-03 2019-03-20 富士通株式会社 ストレージ装置、ファームウェアの更新方法、およびファームウェアの更新プログラム
US10445197B1 (en) * 2017-05-25 2019-10-15 Amazon Technologies, Inc. Detecting failover events at secondary nodes

Also Published As

Publication number Publication date
JP2019096065A (ja) 2019-06-20
US20190155704A1 (en) 2019-05-23
US11074144B2 (en) 2021-07-27

Similar Documents

Publication Publication Date Title
US9411764B2 (en) Optimized redundant high availability SAS topology
US8839030B2 (en) Methods and structure for resuming background tasks in a clustered storage environment
US7870093B2 (en) Storage subsystem
JP5511960B2 (ja) 情報処理装置、及びデータの転送方法
US9361262B2 (en) Redundant storage enclosure processor (SEP) implementation for use in serial attached SCSI (SAS) environment
JP6850331B2 (ja) マルチノードストレージシステムにおけるファームウェアアップグレード方法
WO2014132373A1 (ja) ストレージシステム及び記憶デバイス障害回復方法
JP2016057795A (ja) ストレージ制御装置,ストレージシステム及びストレージ制御プログラム
JP2006139339A (ja) プログラム、記憶制御方法及び記憶装置
US11573737B2 (en) Method and apparatus for performing disk management of all flash array server
JP2015099438A (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
US20170220249A1 (en) Systems and Methods to Maintain Consistent High Availability and Performance in Storage Area Networks
JP2008027312A (ja) ストレージ装置及び変換ボード
JP6201674B2 (ja) ストレージ制御装置,プログラム及び制御方法
US20180307427A1 (en) Storage control apparatus and storage control method
JP6933107B2 (ja) ストレージシステム,ストレージ制御装置およびストレージ制御プログラム
JP6838299B2 (ja) ストレージ装置、ストレージ制御装置、及びストレージ制御プログラム
JP6277878B2 (ja) ストレージ装置の制御装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
JP6863037B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JP5913078B2 (ja) ディスクアレイシステム、データ復旧方法、および、データ復旧プログラム
JP5729043B2 (ja) ストレージ装置および制御装置
JP2017041110A (ja) マルチコンピュータシステム,管理装置および管理プログラム
JP6957845B2 (ja) ストレージ制御装置及びストレージ装置
JP7371483B2 (ja) ストレージ制御装置及び制御プログラム
US9639417B2 (en) Storage control apparatus and control method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210630

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210802

R150 Certificate of patent or registration of utility model

Ref document number: 6933107

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150