JP2018518734A - 第1のストレージ・システムをミラーリングする第2のストレージ・システムへのフェイルオーバ後の第1のストレージ・システムへの再同期 - Google Patents

第1のストレージ・システムをミラーリングする第2のストレージ・システムへのフェイルオーバ後の第1のストレージ・システムへの再同期 Download PDF

Info

Publication number
JP2018518734A
JP2018518734A JP2017553352A JP2017553352A JP2018518734A JP 2018518734 A JP2018518734 A JP 2018518734A JP 2017553352 A JP2017553352 A JP 2017553352A JP 2017553352 A JP2017553352 A JP 2017553352A JP 2018518734 A JP2018518734 A JP 2018518734A
Authority
JP
Japan
Prior art keywords
storage system
storage
storage unit
volume
copy
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
JP2017553352A
Other languages
English (en)
Other versions
JP6734866B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2018518734A publication Critical patent/JP2018518734A/ja
Application granted granted Critical
Publication of JP6734866B2 publication Critical patent/JP6734866B2/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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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/2056Error 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 by mirroring
    • G06F11/2069Management of state, configuration or failover
    • 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/2056Error 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 by mirroring
    • G06F11/2082Data synchronisation
    • 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/2094Redundant storage or storage space
    • 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/2056Error 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 by mirroring
    • G06F11/2071Error 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 by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】 第1のストレージ・システムと第2のストレージ・システムとの間のフェイルオーバを行うためのコンピュータ・プログラム、システム及び方法を提供する。【解決手段】 データが、第1のストレージ・システムと第2のストレージ・システムとの間で同期される。データを同期する間、第1のストレージ・システムにおけるフェイルオーバ・イベントに応答して、第1のストレージ・システムから第2のストレージ・システムへフェイルオーバが行われる。フェイルオーバ・イベントに応答して、第1のストレージ・システムの第1のストレージ・ユニットが動作不能であること、及び、第1のストレージ・システムの第2のストレージ・ユニットが動作可能であることが判断される。第2のストレージ・ユニットが動作可能であると判断することに応答して、再同期を開始し、第2のストレージ・システムの第2のストレージ・ユニットを第1のストレージ・システムの第2のストレージ・ユニットにミラーリングすることによって、第1のストレージ・システムの第2のストレージ・ユニットに更新がコピーされる。【選択図】 図1

Description

本発明は、第1のストレージ・システムをミラーリングする第2のストレージ・システムへのフェイルオーバ後、第1のストレージ・システムに再同期するためのコンピュータ・プログラム、システム及び方法に関する。
ストレージ環境において、ストレージ・コントローラは、ミラー・コピー関係を維持することができ、そこで、ミラー・コピー関係における一次ボリュームは、そこからデータが二次ストレージ又はボリュームに物理的にコピーされるストレージ又はボリュームを含む。インターナショナル・ビジネス・マシーンズ・オペレーション(「IBM」)のHyperSwap(登録商標)などのフェイルオーバ・プログラムは、z/OS(登録商標)オペレーティング・システムにおける機能であり、ミラー・コピー関係を維持して、1つ又は複数の一次ストレージ・システム上の全ての一次ディスク・ボリュームの同期コピーを1つ又は複数のターゲット(すなわち二次)ストレージ・システムに提供することによって、ディスク障害(disk failure)に対する連続可用性を提供する。(HyperSwap及びz/OSは、世界中の国々におけるIBMの登録商標である。)ディスク障害が検出されると、オペレーティング・システム内のコードがHyperSwapにより管理されるボリュームを識別し、I/O要求を失敗させる代わりに、HyperSwapは、情報を内部制御ブロック内にスイッチする(又はスワップする)ので、I/O要求は、ミラー・コピー関係の二次ボリュームに対して推進される。フェイルオーバは非常に迅速に行われ、ホスト・アプリケーションに対してごく僅かな影響しか伴わない。ホスト・アプリケーションは、一次ディスクの障害を通知されず、そのアクセスがデータの二次コピーにスワップされたことに気付かない。二次ボリュームは、障害発生前の一次ボリュームと同一のコピーであるので、I/O要求は、I/O要求を発行している、アプリケーション・プログラム若しくはオペレーティング・システムの一部とすることができるプログラムに影響を及ぼすことなく、成功する。従って、これにより、ディスク障害をプログラムから遮断し、アプリケーション及び/又はシステム機能の停止が回避される。
一次ディスクの障害が発生すると、フェイルオーバ機能は、ホスト・システムのアクセスを、障害が発生している一次ディスク制御ユニットから、データの二次コピーを含む二次制御ユニットに自動的にスワップする。フェイルオーバが行われた後、2つのストレージ・システムの対の間のミラーリングはサスペンドされ、そのことは、アプリケーションにより現行の一次コピーに対して行われている更新が二次コピーにミラーリングされていないことを意味する。このサスペンド状態にある間、別のフェイルオーバ動作は可能でない。これにより、顧客は、残っているデータの唯一の正常なコピーに影響を及ぼす、何らかの種類の別の障害に曝されたままになる。
現行の当技術分野において、一次及び二次ボリュームをフェイルオーバ対応可能状態に戻すために、管理者又はユーザは、障害が発生した一次ストレージ・システムから診断情報を収集及び分析し、必要に応じて修復を行う。次に、管理者/ユーザは、現行の二次サイトから、フェイルオーバを経験した一次ストレージへのデータの再同期を開始することができる。管理者/ユーザは、一次ストレージ・デバイスのポイント・イン・タイム(point-in-time、PiT)コピーを開始し、データの整合したコピー(consistentcopy)を提供することによって、再同期動作を行うことができる。再同期が完了するまで、一次ストレージ・システム・デバイスは整合性がなく、従って、回復に有用でない。ポイント・イン・タイム・コピーは、再同期中に生じる二次ストレージ・システムの障害を保護する。
一次ストレージ・デバイスのいずれかにおいてデータ損失が発生した場合(障害の結果として)、障害が発生した一次ストレージ・システム・デバイスに対応する二次ストレージ・システム・デバイスから完全なコピーを行うことによって、障害が発生したデバイスを再同期する。データ損失が生じなかった一次ストレージ・システムについては、再同期中、二次ストレージ・システムの更新されたトラックだけを、一次ストレージ・システムにコピーし戻す。再同期動作が完了すると、ミラーリング対は再び互いに同期した状態に戻る。
管理者/ユーザにより管理される再同期プロセスは、何時間もかかることがあり、又は何日もかかることもある。顧客は、プロセスが完了するまで第2の障害発生の恐れがある。
第1のストレージ・システムと第2のストレージ・システムとの間のフェイルオーバを行うためのコンピュータ・プログラム、システム及び方法を提供する。
第1のストレージ・システムと第2のストレージ・システムとの間のフェイルオーバを行うためのコンピュータ・プログラム、システム及び方法が提供される。データが、第1のストレージ・システムと第2のストレージ・システムとの間で同期される。データを同期する間、第1のストレージ・システムにおけるフェイルオーバ・イベントに応答して、第1のストレージ・システムから第2のストレージ・システムへフェイルオーバが行われる。フェイルオーバ・イベントに応答して、第1のストレージ・システムの第1のストレージ・ユニットが動作不能であること、及び、フェイルオーバ・イベントに応答して、第1のストレージ・システムの第2のストレージ・ユニットが動作可能であることが判断される。第2のストレージ・ユニットが動作可能であると判断することに応答して、再同期を開始し、I/O要求が第2のストレージ・システムにリダイレクトされる間、第2のストレージ・システムの第2のストレージ・ユニットを第1のストレージ・システムの第2のストレージ・ユニットにミラーリングすることによって、第1のストレージ・システムの第2のストレージ・ユニットの更新がコピーされる。
第2のストレージ・システムへのフェイルオーバの間、第2のストレージ・ユニットにおける更新を再同期の一部としてそれらの動作可能な第1のストレージ・ユニットに自動的に非同期的にコピーする二次複製マネージャを有することにより、第1のストレージ・ユニットにおけるデータは可能な限り最新のものにされ、その結果、ひとたび第1のストレージ・システムが修復され、完全に動作可能になると、第1のストレージ・システムの再同期はより迅速に完了し得る。
更に別の実施形態において、第1のストレージ・システムと第2のストレージ・システムとの間のデータの同期は、同期コピー・モードで行われ、I/O要求が第2のストレージ・システムにリダイレクトされる間、再同期中の更新のコピーは、非同期コピー・モードで行われる。
更に別の実施形態において、第1のストレージ・ユニットが動作不能であると判断することは、第1のストレージ・システムの第1のストレージ・ユニットのポイント・イン・タイム・コピーを開始することと、第1のストレージ・ユニットのポイント・イン・タイム・コピーが失敗したと判断することとを含む。第1のストレージ・ユニットのポイント・イン・タイム・コピーが失敗したと判断することに応答して、第1のストレージ・ユニットは動作不能であると判断される。さらに、第2のストレージ・ユニットが動作可能であると判断することは、第1のストレージ・システムの第2のストレージ・ユニットのポイント・イン・タイム・コピーを開始することと、第2のストレージ・ユニットのポイント・イン・タイム・コピーが成功したと判断することとを含み、第2のストレージ・ユニットのポイント・イン・タイム・コピーが成功したと判断することに応答して、第2のストレージ・ユニットは動作可能であると判断される。
動作可能な第2のストレージ・ユニットのポイント・イン・タイム・コピーをとることによって、第1のストレージ・システム内のアクセス可能なデータのコピーが保持される。
更に別の実施形態において、フェイルオーバ・イベントに応答して、第1のストレージ・システムについてのソフト・フェンス状態を確立して、第1のストレージ・システムにおけるストレージ・ユニットへのI/Oアクセスを防止し、ポイント・イン・タイム・コピーは、第1のストレージ・システムのソフト・フェンス状態の間、ポイント・イン・タイム・コピー動作が進行するのを可能にするためのパラメータを有するコマンドで開始される。
更に別の実施形態において、再同期は第1の再同期を含み、ヘルス・クエリを第1のストレージ・システムに発行し、第1のストレージ・システムが完全に動作可能かどうかが判断される。第1のストレージ・システムが完全に動作可能であるとき、第1のストレージ・システムの第1及び第2のストレージ・ユニットの両方とも動作可能である。ヘルス・クエリへの応答が、第1のストレージ・システムが完全に動作可能であることを示すと判断することに応答して、第2のストレージ・システムの第1のストレージの更新を第1のストレージ・システムの第1のストレージ・ユニットに再同期する。
更に別の実施形態において、第1のストレージ・ユニットは、第1及び第2のストレージ・システムの第1のボリュームを含み、第2のストレージ・ユニットは、第1及び第2のストレージ・システムの第2のボリュームを含む。動作不能であると判断された第1のボリュームは、データ損失が生じたトラックのサブセットを含む。再同期は、ヘルス・クエリが、第1のストレージが完全に動作可能であると示すことに応答して、第2のストレージ・システムの第1のボリューム内のトラックのサブセットを、第1のストレージ・システムの第1のボリューム内のトラックの対応するサブセットにコピーすることをさらに実行する。データ損失が生じず、I/O要求が第2のストレージ・システムにリダイレクトされる間、更新される第2のストレージ・システムの第1のボリューム内のトラックに対応しない、第1のストレージ・システムの第1のボリューム内のトラックは、再同期の対象でない。
修復及び回復後、フェイルオーバ中に更新された又はデータ損失が生じた、回復された動作不能な第1のボリューム内のトラックしか同期する必要はない。さらに、動作可能なボリュームに対するフェイルオーバ中に再同期を開始することにより、データの大部分が既に再同期されている可能性があるので、第1のストレージ・システムが回復した後の同期は、ずっと迅速に完了する。
更に別の実施形態において、ヘルス・クエリへの応答が、第1のストレージ・システムが完全に動作可能であると示す前、第1のストレージ・システムへの第2のストレージ・システムの第2のストレージ・ユニットの再同期が非同期コピー・モードで行われる。クエリが、第1のストレージ・システムが完全に動作可能であると示すことに応答して、第1のストレージ・システムへの第2のストレージ・システムの第2のストレージ・ユニットの再同期を同期コピー・モードに移行する。
ここで、添付図面を参照して、本発明の実施形態を単なる例として説明する。
ストレージ複製(replication)環境の1つの実施形態を示す。 コピー関係の1つの実施形態を示す。 ポイント・イン・タイム・コピー・コマンドの1つの実施形態を示す。 フェイルオーバ動作を行うための動作の1つの実施形態を示す。 回復した一次ストレージ・システムにまた再同期するための動作の1つの実施形態を示す。 図1のコンポーネントを実装することができるコンピューティング環境を示す。
説明される実施形態は、一次ストレージ・システムから二次ストレージ・システムへのフェイルオーバの場合に、データを再同期するための技術を提供する。フェイルオーバに応答して、動作可能な(operable)一次ボリューム又はストレージ・ユニットについて、一次ストレージ・システムが回復される前に、対応する二次ボリュームの更新が、動作可能な一次ボリュームに再同期される。動作不能な(inoperable)又はデータ損失が生じる一次ストレージ・システム・ボリュームについては、対応する二次ボリュームの更新は、変更記録ビットマップ等において示され、次に、一次ストレージ・システムが回復又は修復された後、また一次ボリュームに再同期される。
説明される実施形態の場合、データは、障害が発生した一次ストレージ・システムの動作可能なボリュームへの自動プログラムにより制御される再同期を即座に開始し、一次ストレージ・システムを完全に同期された状態にし、かつ、二次ストレージ・システムにおける第2のフェイルオーバの処理に利用できるようにするために必要な時間を最小にする。このように、一次ストレージ・システムが回復した後、自動化された再同期プロセスに従って、多くの動作可能な一次ボリュームが既に再同期されているので、一次ストレージ・システムが回復した後に再同期するまでの時間が短くなる。
図1は、一次ストレージ・システム102a及び二次ストレージ・システム102bに接続されるホスト・システム100を有する、データ・ミラーリング及びフェイルオーバ環境の1つの実施形態を示す。一次ストレージ・システム102aは、ミラーリング対又はコピー関係で、二次ストレージ・システム102b内の対応するボリューム106bにミラーリングされるボリューム106aを有する一次ストレージ104aを含む。ホスト100、並びにストレージ・システム102a及び102bは、ネットワーク108上で通信することができる。入力/出力(I/O)要求を一次ボリューム106a及び二次ボリューム106bに提供する付加的なホスト(図示せず)があってもよい。
一次ストレージ・システム102a及び二次ストレージ・システム102bは、それぞれ、一次ボリューム106a及び二次ボリューム106bに向けられるI/O動作を管理するための入力/出力(I/O)マネージャ112a、112bを含む。ホスト・システム100は、異なるボリューム106a、106b間にミラー・コピー関係200を確立するための複製マネージャ114を含む。ストレージ・システム102a、102bは、一次ボリューム106aと二次ボリューム106bとの間のデータの複製又はミラーリングを管理し、ホスト複製マネージャ114と複製を調整するための複製マネージャ114a、114bを含む。
ホスト100は、一次ストレージ・システム102aにおけるストレージ又はコンポーネントの障害発生のようなフェイルオーバ・イベントに応答する、一次ストレージ・システム102aから二次ストレージ・システム102bへのI/O動作のフェイルオーバを管理し、かつ、二次ストレージ・システム102bがI/O動作を管理しており、エラーが発生した際の、二次ストレージ・システム102bから一次ストレージ・システム102aへのフェイルオーバを管理するためのフェイルオーバ・マネージャ116を含む。一次ストレージ・システム102a及び二次ストレージ・システム102bは、それぞれ、ホスト・フェイルオーバ・マネージャ116と調整してフェイルオーバ動作を実施するためのフェイルオーバ・マネージャ116a、116bを含む。
一次ストレージ・システム102a及び二次ストレージ・システム102bは、ホスト複製マネージャ114により確立されたコピー関係200a、200b上に情報を保持する。一次ストレージ・システム102aが機能しており、ボリューム106aに向けられたI/O動作を管理している間、コピー関係200、200a、200bは、データが、一次ボリューム106aから対応する二次ボリューム106bへミラーリング又は同期されることを示す。一実施形態において、一次ボリューム106aからのデータは、データが同期コピー・モードで対応する二次ボリューム106bにコピーされる整合性グループとしてミラーリングすることができ、そこで、書き込みが二次ストレージ104bに格納されたと確認されるまで、書き込みは完了しない。
フェイルオーバ・イベントに応答して、フェイルオーバ・マネージャ116、116a、116bは、二次ストレージ・システム102bへのフェイルオーバを調整し、そこで、二次ストレージ・システム102bは、I/O要求の管理を、一次ボリューム106aから複製されたデータを有する二次ボリューム106bへ引き継ぐ。フェイルオーバ後、ホスト複製マネージャ114は、二次ストレージ・システム102bにおけるコピー関係200bを作成して、二次ボリューム106bの更新をまた一次ボリューム106aに再同期する。従って、実働サイト(production site)が二次ストレージ104bに移動する間、二次複製マネージャ114bは、一次ストレージ・システム102aにおける動作可能な一次ボリューム106aに対応する二次ボリューム106bの更新を再同期する。
一実施形態において、コピー関係200は、ホスト複製マネージャ114により作成され、コピー関係200a、200bのローカル・コピーとして、一次ストレージ・システム102a及び二次ストレージ・システム102bに提供される。このように、ホスト100は、一次ストレージ・システム102a及び二次ストレージ・システム102bの複製、フェイルオーバ、及び再同期動作を管理する。代替的な実施形態において、一次ストレージ・システム102a及び二次ストレージ・システム102bは、ホスト100の関与なしに、それ自体の複製及びフェイルオーバを管理することができる。
ストレージ・システム102a及び102bは、これらに限定されるものではないが、インターナショナル・ビジネス・マシーンズ・コーポレーション(「IBM」)のDS8000(登録商標)ストレージ・システム又は当技術分野において周知の他の供給業者のストレージ・サーバのような、アタッチト・ストレージ・デバイスへのアクセスを管理するのに適したエンタープライズ・ストレージ・コントローラ/サーバを含むことができる。(DS8000は、世界中の国々におけるIBMの登録商標である。)一実施形態において、複製マネージャ114、114a、114bは、これらに限定されるものではないが、IBMのミラーリング・プログラムのGeographically Dispersed Parallel Sysplex(GDPS(登録商標))及び複製セッション及びコピー対200を定めるTivoli(登録商標)Storage Productivity Center for Replication(TPC−R)のような、システムにわたるボリュームのミラーリングを管理するためのプログラムを含む。異なるタイプの技術を、同期ミラーリング、非同期ミラーリング、又はポイント・イン・タイム・コピー、又はこれらの異なる複数のミラーリング・タイプの組み合わせのような、データのコピーのために選択することができる。フェイルオーバ・マネージャ116、116a、116bは、これに限定されるものではないが、確立されたコピー対からフェイルオーバ・セッションを確立する、IBM(登録商標)HyperSwap製品のような、ストレージ・システム102a、102bの一方から他方へのフェイルオーバを処理するのに適したプログラムを含むことができる。(IBM、GDPS、Tivoli、及びHyperSwapは、世界中の国々におけるIBMの登録商標である。)
ネットワーク108は、ストレージ・エリア・ネットワーク(SAN)、ローカル・エリア・ネットワーク(LAN)、イントラネット、インターネット、広域エリア・ネットワーク(WAN)、ピア・ツー・ピア・ネットワーク、無線ネットワーク、アービトレーテッド・ループ・ネットワーク(arbitrated loop network)等を含むことができる。ストレージ104a、104bはそれぞれ、Just a Bunch of Disks(JBOD、単純ディスク束)、ダイレクト・アクセス・ストレージ・デバイス(Direct Access Storage Device、DASD)、Redundant Array of Independent Disks(RAID、独立ディスクの冗長アレイ)アレイ、仮想化デバイス、テープ・ストレージ、フラッシュ・メモリ等として構成される1つ又は複数のストレージ・デバイス又はストレージ・デバイスのアレイ内に実装することができる。ストレージ・デバイスは、ハードディスク・ドライブ、ソリッド・ステート・エレクトロニクスからなるソリッド・ステート・ストレージ・デバイス(SSD)、EEPROM(電気的に消去可能なプログラム可能読み取り専用メモリ)、フラッシュ・メモリ、フラッシュ・ディスク、ランダム・アクセス・メモリ(RAM)ドライブ、ストレージ・クラス・メモリ(SCM)等、相変化メモリ(PCM)、抵抗変化型ランダム・アクセス・メモリ(RRAM)、スピン・トランスファ・トルク・メモリ(STM−RAM)、導電ブリッジRAM(CBRAM)、磁気ハードディスク・ドライブ、光ディスク、テープ等を含むことができる。ノード・グループ、管理コンポーネント、メールボックス等のような、特定数の要素のインスタンスが示されるが、任意の数のこれらのコンポーネントが存在し得る。
図2は、コピー関係200のインスタンスの1つの実施形態を示し、このコピー関係200は、コピー対の識別子(ID)202と、データがコピーされる一次ボリューム204(ボリューム106a又は106bの一方を含むことができる)と、データがミラーリングされる二次ボリューム206(ボリューム106a又は106bの一方を含むことができる)と、二次ボリューム206にコピー又は同期する必要がある、一次ボリューム204内のデータ・ユニット又はトラックを示す変更記録ビットマップ208とを含むものとして、コピー関係200、200a、200bのインスタンスを含むことができる。変更記録ビットマップ208内に示される全ての更新が二次ボリューム206にコピーされると、コピー関係200は、二重化(duplex)又は同期された状態に達する。変更記録ビットマップ208を初期化して、同期する必要があるトラックがないことを示すことができる。トラックが更新されると、ビットマップ208内の対応するビットは、トラックを二次ボリューム206にコピーする必要があることを示すように設定される。
図3は、ポイント・イン・タイム・コピー・コマンド・オペレータ302と、PiTコピー動作の対象となるソース・ボリューム304と、ソース・ボリューム304がI/O動作からフェンスオフ(fence-off)される場合でも、PiTコピー・コマンドが進行するのを可能にするよう、I/Oマネージャ112a、112bに命令するソフト・フェンス・オーバーライド306とを含む、ポイント・イン・タイム・コピー・コマンド300の1つの実施形態を示す。別のストレージ・システムにおける対応するボリュームへのソース・ボリューム304におけるフェイルオーバがある場合、ソース・ボリューム304がフェンスオフを受けることがある。フェンスオフ状態は、該状態にあるボリューム304に対する読み取り及び書き込みをブロックする。パラメータ306は、ソース・ボリューム304がフェンスオフ状態にある場合でも、ポイント・イン・タイム・コピーの進行を可能にする。パラメータ306が、ボリューム304がフェンスオフ状態にあるとき、ポイント・イン・タイム・コピー・コマンドの進行が可能であることを示していない場合、ポイント・イン・タイム・コピー・コマンドは、フェンスオフ状態によりブロックされ得る。
ポイント・イン・タイム・コピーは、瞬間的に現れる(appear instantaneous)方法でデータを複製し、コピー・ボリュームへの実際のデータ転送を後に延期する間、ホストが、ソース・ボリュームにアクセスし続けるのを可能にする。ソースからターゲット・ボリュームへデータをコピーすることなく、関係データ構造を生成することに応答して入力/出力(I/O)の完了がコピー動作に返されるので、ポイント・イン・タイム・コピーは瞬間的に現れる。ポイント・イン・タイム・コピー技術は、一般に、ポイント・イン・タイム・コピー関係がコピー・ターゲット・ボリュームに対して確立された時点で、書き込み動作がソース・ボリューム上のそのデータ・ブロックに要求されるまで、ソース・ボリューム内のデータの転送を延期する。データ転送はまた、システム性能への影響が最小の状態で、バックグラウンド・コピー・プロセスとして進行することもできる。ポイント・イン・タイム・コピー・コマンドに応答して即座に確立されるポイント・イン・タイム・コピー・コマンド関係は、ソース・ボリューム若しくはコピー・ボリュームのいずれかにおけるボリューム内のブロックの位置を示すビットマップ又は他のデータ構造を含む。ポイント・イン・タイム・コピーは、ソース・ボリューム内のデータと、ターゲット・ボリュームに転送される更新により上書きされるデータの組み合わせを含む。
図4は、一次ストレージ・システム102aから二次ストレージ・システム102bへのフェイルオーバを実行するために、ホスト100内のコンポーネント、一次ストレージ・システム102a及び二次ストレージ・システム102bのコンポーネントにより実行される動作の1つの実施形態を示す。フェイルオーバのために、システム102aは、一次ストレージ・システムとして機能し、システム102bは、二次ストレージ・システムとして機能することができる。制御は、(ブロック400において)ホスト複製マネージャ114がミラー・コピー操作を開始し、一次ボリューム106aと二次ボリューム106bとの間でデータを同期することから開始する。(ブロック402において)ホスト複製マネージャ114は、一次ストレージ・ボリューム106aと対応する二次ストレージ・ボリューム106bとの間にコピー関係200を確立し、一次ボリューム106aから対応する二次ボリューム106bへと同期コピー・モードでデータ及び更新をミラーリングすることができる。コピー関係200は、データのミラーリング/同期に使用するために、一次複製マネージャ114aに与えられる。同期コピー・モードでは、二次ストレージ・システム102bが、データが対応する二次ボリューム106b内に格納されたことを確認するまで、コピーされるデータは完了したものとして示されない。一実施形態において、データは、整合性グループ・モードで一次ボリューム106aから二次ボリューム106bにミラーリングすることができるので、二次ボリューム106bにおけるデータは、一次ボリューム106aにおけるデータの時点のものと整合性があるように維持される。
(ブロック404において)フェイルオーバ・マネージャ116aは、一次ストレージ104aのストレージ・デバイスを含む、一次ストレージ・システム102aの1つ又は複数のコンポーネントの障害発生のような、一次ストレージ・システム102aにおける障害発生イベントを検出し得る。(ブロック404において)フェイルオーバ・イベントを検出すると、(ブロック406において)一次フェイルオーバ・マネージャ116a又はホスト・フェイルオーバ・マネージャ116aは、データ損失が生じる一次ボリューム106a内のトラックを判断し、一次ストレージ・システム102a内の障害が発生したトラックを記録することができる。その後、一次ストレージ・システム102aは、二次ストレージ・システム102bから一次ストレージ・システム102aへ再同期する際に使用するために、障害が発生したトラックに関する情報をホスト・フェイルオーバ・マネージャ116又は二次フェイルオーバ・マネージャ116bに報告することができる。動作不能な一次ボリューム106a内のトラックは、ボリューム内のトラックのサブセットを含み、他のトラックはデータ損失が生じないことがある。
次に、ホスト・フェイルオーバ・マネージャ116は、一次フェイルオーバ・マネージャ116a及び二次フェイルオーバ・マネージャ116bと調整して、(ブロック408において)一次ストレージ・システム102aにおける一次ボリューム106aからのフェイルオーバを開始し、I/O要求を二次ストレージ・システム102bにおける対応する二次ボリューム106bにリダイレクトすることができる。フェイルオーバの一部分として、ホスト複製マネージャ114は、コピー関係200aをサスペンドし、データを一次ボリューム106aから二次ボリューム106bに同期することができる。(ブロック410において)ホスト・フェイルオーバ・マネージャ116は、一次ボリューム106aに対するソフト・フェンス状態をさらに確立することができる。ソフト・フェンス状態は、二次ボリューム106bにスワップされた1つ又は複数の一次ボリューム106aに対するI/O動作を防止し、フェイルオーバ後のそれらのボリューム106aへのあらゆる意図しないアクセスを防止する。
次に、ブロック412乃至422において、ホスト複製マネージャ114又はフェイルオーバ・マネージャ116は、一次ストレージ・システム102aの各々の一次ボリュームiに対する動作のループを実施することができる。一次ボリュームiについて、ホスト複製マネージャ114又はフェイルオーバ・マネージャ116は、(ブロック414において)ボリュームiに対するPiTコピー動作を開始し、ソフト・フェンス・オーバーライド・パラメータ306は、ソフト・フェンス状態がボリュームiに対してアクティブである場合でもPiTコピー動作は続行すべきであることを示すように設定される。ホスト複製マネージャ114又はフェイルオーバ・マネージャ116は、(ブロック416において)ボリュームiが動作可能かどうかを判断する。一実施形態において、この判断は、ボリュームiがソフト・フェンス状態にある場合、ポイント・イン・タイム・コピー・コマンド300の進行を可能にするように指定して設定されたソフト・フェンス・オーバーライド・パラメータ306を有するポイント・イン・タイム・コピー・コマンド300を開始することにより、行うことができ、これはブロック406の動作の結果にも当てはまる。ポイント・イン・タイム・コピー動作がボリュームiに対して成功する場合、ボリュームiは動作可能であると判断され、さもなければポイント・イン・タイム・コピー動作が失敗した場合、ボリュームiは動作不能であると判断される。動作可能な一次ボリューム106aのポイント・イン・タイム・コピーをとることによって、これらの一次ボリューム106aについてのデータが、フェイルオーバ・イベント時点のものとして保存される。これらのポイント・イン・タイム・コピーは、他の回復オプションが失敗した場合にデータ回復のために用いることができる。他の技術を用いて、ブロック414における動作の一部として一次ボリューム106aが動作可能であるかどうかを判断することができる。
(ブロック416において)一次ボリュームiが動作可能な場合、ホスト複製マネージャ114(又は、フェイルオーバ・マネージャ116)は、(ブロック418において)コピー関係200を作成し、一次ボリュームiに対応する二次ストレージ102bにおける二次ボリュームiからの再同期動作を開始し、変更記録ビットマップ内に示される更新のために、二次ボリュームiの更新を一次ボリュームに非同期モードで転送する。二次ボリューム106bの更新を受信すると、二次ボリュームiについての変更記録ビットマップ208内の対応するビットが設定される。二次複製マネージャ114bは、変更記録ビットマップ208を走査して、二次ボリューム106bにおける更新を探し、フェイルオーバ中に動作可能なままである対応する一次ボリューム106aに再同期又はコピーする。非同期コピー・モードにおいて、コピーは、データを受信したという確認を一次ボリュームiから受け取る必要なしに完了する。一実施形態において、非同期モードは、非整合性グループ・モード(CGM)を含むことができるので、データは、二次ボリューム106bと一次ボリューム106aとの間に整合性があることは確実ではない。二次ストレージ・システム102bへのフェイルオーバ中、二次ボリューム106bにおける更新を再同期の一部として動作可能な一次ボリューム106aに自動的に非同期的にコピーする二次複製マネージャ114を有することにより、一次ボリューム106aにおけるデータは、可能な限り最新に維持され、その結果、ひとたび一次ストレージ・システム102aが修復され、完全に動作可能になると、一次ストレージ・システム102aの再同期がより迅速に完了できる。説明される実施形態において、動作可能なボリュームへの再同期は、フェイルオーバ・マネージャ116又は116bによって制御されるフェイルオーバ・プロセスにより自動的に開始される。
さらに、再同期コピーを非同期的に行うことで、同期的にコピーを行うのに比べて、二次ボリュームにアクセスするホスト・アプリケーションへの性能の影響が著しく低減する。さらに、非同期コピーは、何らかの障害分析及び機器の修理(必要な場合)が行われる前、フェイルオーバ直後に開始することができる。
(ブロック416において)ボリュームiが動作可能でない場合、ホスト複製マネージャ114又はフェイルオーバ・マネージャ116は、(ブロック420において)二次ボリュームiから一次ボリュームiへの再同期のために、サスペンドされたコピー関係200iを作成し、ボリュームiについての変更記録ビットマップ208を更新し、データ損失を有するものとして報告されたあらゆるトラックを更新されたものとして示す。データ損失が生じるボリュームi内のトラックを、変更記録ビットマップ208内の更新されたものとして示すことにより、二次複製マネージャ114bは、フェイルオーバ中、ボリュームiが修復され、動作可能になった後のその後の再同期中、それらが更新されていてもいなくても、データ損失を有するトラックのデータにわたってコピーする。
図4の動作の結果、フェイルオーバ後、二次ストレージ・システム102bは、二次ボリューム106bの更新の、動作可能なままの一次ボリューム106aへの再同期を即座に開始する。動作不能な一次ボリューム106aについては、対応する二次ボリューム106bについての変更記録ビットマップ208は、データ損失が生じたトラックを更新されたものとして示すように設定され、動作不能な一次ボリュームが動作可能であると判断されるまで、再同期がサスペンドされる。フェイルオーバ中、動作可能なそれらの一次ボリュームを再同期することにより、二次ストレージ・システム102bにおけるフェイルオーバ中、二次ストレージ・システム102bにおける更新の相当量が既に一次ボリューム106aに再同期されているので、一次ストレージ・システム102aが完全に動作可能になった直後、一次ストレージ・システムはフェイルオーバの準備ができている。
図4の動作において、ストレージ・システムのボリュームに対して、操作性を判断する。代替的な実施形態において、ミラーリング及び操作性は、ストレージ・デバイス、論理パーティション、物理パーティション、論理ドライブ等のような、ボリューム以外のストレージ・ユニットに関して判断することができる。
図5は、障害発生イベント後、一次ストレージ・システム102aを回復させるためにホスト複製マネージャ114及びフェイルオーバ・マネージャ116により実施される動作の1つの実施形態を示す。(ブロック500において)ホスト・フェイルオーバ・マネージャ114は、フェイルオーバからの所定の遅延後、ヘルス・クエリ(health query)を一次ストレージ・システム102aに発行し、一次ストレージ・システム102aが動作可能かどうかを判断する。多くの障害タイプの場合、一定時間が経過した後、一次ストレージ・システム102aは、内部回復動作及び手順を通して回復され得る。(ブロック502において)一次ストレージ・システム102aからヘルス・クエリへの応答を受信すると、(ブロック504において)応答が、一次ストレージ・システム102aが完全に動作可能であることを示す場合、(ブロック506において)ホスト複製マネージャ114は、前に動作不能であった一次ボリューム106aに対応する二次ボリューム106bの各々のポイント・イン・コピー動作を行って、必要に応じて回復のために用いることができる整合したコピーを提供する。(ブロック508において)ホスト複製マネージャ114は、再同期を開始し、前に動作不能として示された一次ボリューム106aに対応する各々の二次ボリューム106bについての、変更記録ビットマップ208において更新されたものとして示されるデータを、同期的にコピーする。再同期は、コピー関係200bのサスペンドを解除し、二次ボリュームを前に動作不能であった一次ボリューム106aに再同期することによって、開始することができる。前に動作不能であった一次ボリューム106aへの再同期についての変更記録ビットマップ208は、更新された対応する二次ボリューム106b内の更新されたトラック、及び、データ損失が生じたものとして報告された動作不能な一次ボリューム内のトラックとして示される。このように、回復した動作不能な一次ボリューム106aに対する再同期では、更新されたデータ、及びデータ損失が生じるトラックについてのデータしかコピーせず、回復した動作不能なボリューム全体にわたるコピーを行わない。このことは、フェイルオーバ中に更新されず、データ損失が生じなかった、回復した一次ボリューム106a内のトラックに対応する二次ボリューム内のトラックのコピーを回避することにより、再同期を促進する。
(ブロック514において)二次複製マネージャ114bはさらに、I/O要求が二次ストレージ・システム102bにリダイレクトされる間、フェイルオーバの開始から非同期的にコピーされた、動作可能なボリュームに対する更新の再同期を同期コピー・モードに変換するので、一次ストレージ・システム102aが回復された後、再同期すべき残りのデータは同期的にコピーされる。
(ブロック504において)ヘルス・クエリへの応答が、一次ストレージ・システム102aは完全に動作可能ではないことを示す場合、(ブロック510において)ホスト・フェイルオーバ・マネージャ114は、一次ストレージ・システム102aの修復のための診断情報を集め、管理者に報告する。次に、管理者は、一次ストレージ・システム102a内のユニット、コンポーネント及びストレージ・デバイスを置き換える及び/又は修理することなどにより、集めた診断情報に基づいて障害が発生した一次ストレージ・システム102aの修復を進める。修復を完了した後、管理者は再同期コマンドを開始し、再同期を実施する。ブロック512において、ホスト複製マネージャ114又は二次複製マネージャ114bは、管理者から手動再同期コマンドを受信し、次にブロック506に進んで、前に動作不能として示されたボリュームに対する再同期を開始することができる。
説明される実施形態において、修復及び回復後、障害が発生したボリューム106aに対して確立されたコピー関係200について変更記録ビットマップ内に示される、フェイルオーバ中に更新された又はデータ損失が生じる、回復された動作不能な一次ボリューム106a内のトラックしか同期する必要はない。さらに、動作可能な一次ボリューム106aに対するフェイルオーバ中に再同期を開始することにより、データの大部分が既に再同期されている可能性があるので、一次ストレージ・システム102aが回復した後の同期は、ずっと迅速に完了する。
本発明は、システム、方法、及び/又はコンピュータ・プログラムとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用するための命令を保持及び格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、即ち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク型読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカード又は命令がその上に記録された溝の中の隆起構造などの機械的にエンコードされるデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で用いられる場合、コンピュータ可読ストレージ媒体は、電波若しくは他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルの中を通る光パルス)、又は配線を介して伝送される電気信号などの、一時的な信号自体と解釈されるべきではない。
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスにダウンロードしてもよく、又は、例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び/又は無線ネットワークなどのネットワークを介して外部コンピュータ若しくは外部ストレージ・デバイスにダウンロードしてもよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び/又はエッジ・サーバを含むことができる。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カード又はネットワーク・インタフェースが、ネットワークからコンピュータ可読プログラム命令を受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するように、コンピュータ可読プログラム命令を転送する。
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データとすることができ、又は、Java、Smalltalk、C++等のようなオブジェクト指向プログラミング言語、及び、「C」プログラミング言語若しくは類似のプログラミング言語のような従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組み合わせで書かれたソース・コード若しくはオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、全体をユーザのコンピュータ上で実行することができ、独立型ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で実行されることができ、一部をユーザのコンピュータ上で実行し、一部を遠隔コンピュータ上で実行することができ、又は全体を遠隔コンピュータ若しくはサーバ上で実行することができる。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、又は、外部コンピュータに対して(例えば、インターネット・サービス・プロバイダを使用してインターネット経由で)接続が行われてもよい。幾つかの実施形態においては、例えばプログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電子回路が、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人化することによって、コンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本明細書において、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラムのフローチャート図及び/又はブロック図を参照して説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、その結果、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するための手段を生成するようにすることができる。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、及び/又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読ストレージ媒体内に格納し、その結果、命令をその内部に格納したコンピュータ可読ストレージ媒体が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する命令を含む製品を含むようにすることもできる。
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、そのコンピュータ、他のプログラム可能装置、又は他のデバイス上で一連の動作ステップを行わせてコンピュータ実装プロセスを生成し、それにより、そのコンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実施するようにすることもできる。
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法及びコンピュータ・プログラムの可能な実装のアーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実行するための1つ又は複数の実行可能な命令を含む、モジュール、セグメント又は命令の一部を表すことができる。幾つかの代替的な実施において、ブロック内に記された機能は、図面内に記された順序とは異なる順序で行われることもある。例えば、連続して示された2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックは、ときには逆の順序で実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を行う専用ハードウェアベースのシステムにより実装すること、又は専用ハードウェアとコンピュータ命令との組み合わせによって実施することができることにも留意されたい。
ホスト100及びストレージ・システム102a、102bを含む図1の計算コンポーネントは、図6に示されるコンピュータ・システム602のような1つ又は複数のコンピュータ・システムにおいて実装することができる。コンピュータ・システム/サーバ602は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム/サーバ602は、通信ネットワークを通じてリンクされた遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施することができる。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル及び遠隔両方のコンピュータ・システム・ストレージ媒体に配置することができる。
図6に示されるように、コンピュータ・システム/サーバ602は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム/サーバ602のコンポーネントは、これらに限定されるものではないが、1つ又は複数のプロセッサ若しくは処理ユニット604、システム・メモリ606、及びシステム・メモリ606を含む種々のシステム・コンポーネントをプロセッサ604に結合するバス608を含むことができる。バス608は、メモリ・バス又はメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、及び種々のバス・アーキテクチャのいずれかを用いるプロセッサ又はローカル・バスを含む、幾つかのタイプのバス構造のうちのいずれかの1つ又は複数を表す。限定ではなく例としては、このようなアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture、ISA)バス、マイクロ・チャネル・アーキテクチャ(Micro Channel Architecture、MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカル・バス、及びPeripheral Component Interconnect(PCI)バスを含む。
コンピュータ・システム/サーバ602は、典型的には、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ602がアクセス可能ないずれかの利用可能媒体とすることができ、揮発性媒体及び不揮発性媒体の両方と、取り外し可能媒体及び取り外し不能媒体の両方とを含む。
システム・メモリ606は、ランダム・アクセス・メモリ(RAM)610及び/又はキャッシュ・メモリ612など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ602は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取り外し不能の不揮発性磁気媒体(図示されておらず、典型的には「ハードドライブ」と呼ばれる)との間の読み出し及び書き込みのために、ストレージ・システム613を設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピー・ディスク」)との間の読み出し及び書き込みのための磁気ディスク・ドライブと、CD−ROM、DVD−ROM又は他の光媒体などの取り外し可能な不揮発性光ディスクとの間の読み出し及び書き込みのための光ディスク・ドライブとを設けることができる。このような例においては、それぞれを、1つ又は複数のデータ媒体インターフェースによってバス608に接続することができる。以下でさらに示され説明されるように、メモリ606は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
限定ではなく例として、メモリ606内に、プログラム・モジュール616のセット(少なくとも1つ)を有するプログラム/ユーティリティ614、並びにオペレーティング・システム、1つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを格納することができる。オペレーティング・システム、1つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの何らかの組み合わせの各々は、ネットワーキング環境の実装形態を含むことができる。コンピュータ602のコンポーネントは、一般に、本明細書で説明される本発明の実施形態の機能及び/又は方法を実行する。図1のシステムは、1つ又は複数のコンピュータ・システム602において実装することができ、それらが複数のコンピュータ・システム602において実装される場合、コンピュータ・システムはネットワーク上で通信することができる。
コンピュータ・システム/サーバ602は、キーボード、ポインティング・デバイス、ディスプレイ620等のような1つ又は複数の外部デバイス618;ユーザがコンピュータ・システム/サーバ602と対話することを可能にする1つ又は複数のデバイス;及び/又はコンピュータ・システム/サーバ602が1つ又は複数の他のコンピューティング・デバイスと通信することを可能にするいずれかのデバイス(例えば、ネットワーク・カード、モデム等)と通信することもできる。このような通信は、入力/出力(I/O)インターフェース622を経由して行うことができる。さらにまた、コンピュータ・システム/サーバ602は、ネットワーク・アダプタ624を介して、ローカル・エリア・ネットワーク(LAN)、汎用広域ネットワーク(WAN)、及び/又はパブリック・ネットワーク(例えば、インターネット)などの1つ又は複数のネットワークと通信することもできる。示されるように、ネットワーク・アダプタ624は、バス608を介して、コンピュータ・システム/サーバ602の他のコンポーネントと通信する。図示されないが、コンピュータ・システム/サーバ602と共に他のハードウェア及び/又はソフトウェア・コンポーネントを使用できることを理解されたい。例としては、これらに限定されるものではないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部のディスク・ドライブ・アレイ、RAIDシステム、テープドライブ、及びデータ・アーカイブ・ストレージ・システムなどが含まれる。
本明細書で用いられるiなどの参照文字は、本明細書では、同じ又は異なる値を表し得る可変数の要素のインスタンスを示すために用いられ、説明される異なるインスタンスにおいて異なる又は同じ要素と共に用いられる場合、同じ又は異なる値を表し得る。
「1つの実施形態」、「実施形態」、「(複数の)実施形態」、「その実施形態」、「(複数の)その実施形態」、「1つ又は複数の実施形態」、「幾つかの実施形態」及び「一実施形態」という用語は、特に明示的に断らない限り、本発明の1つ又は複数の(しかし、全てではない)実施形態を意味する。
「含んでいる(including)」、「備えている(comprising)」、「有している(having)」という用語及びその変形は、特に明示的に断らない限り、「含むが、それらに限定されない」ことを意味する。
項目の列挙リストは、特に明示的に断らない限り、項目のいずれか又は全てが相互排除的であることを意味しない。
「1つの(a)」、「1つの(an)」及び「その(the)」という用語は、特に明示的に断らない限り、「1つ又は複数(one or more)」を指す。
互いに通信するデバイスは、特に明示的に断りのない限り、互いに連続的に通信する必要はない。さらに、互いに通信するデバイスは、直接又は1つ又は複数の中間物を介して間接的に通信することもある。
互いに通信する幾つかのコンポーネントを用いる1つの実施形態の説明は、全てのこうしたコンポーネントが必要とされることを意味するものではない。これに反して、種々の随意的なコンポーネントは、本発明の多種多様の可能な実施形態を示すために説明される。
本明細書では単一のデバイス又は物品が説明されるが、単一のデバイス/物品の代わりに、1つより多いデバイス/物品を(これらが協働しても又はしなくても)用い得ることは容易に明らかであろう。同様に、1つより多いデバイス又は物品が本明細書で説明される場合(これらが協働しても又はしなくても)、1つより多いデバイス又は物品の代わりに単一のデバイス/物品を用いてもよく、又は示される数のデバイス又は物品の代わりに異なる数のデバイス/物品を用いてもよいことは、容易に明らかであろう。デバイスの機能及び/又は特徴を、そうした機能/特徴を有するものとして明示的に説明されていない1つ又は複数の他のデバイスによって代替的に具体化することもできる。従って、本発明の他の実施形態が、デバイス自体を含む必要はない。
本発明の種々の実施形態の上記の記載は、例示及び説明のために提示されている。これは、網羅的であること又は本発明を開示された正確な形態に限定することを意図していない。上記の教示に照らして、多くの修正及び変形が可能である。本発明の範囲は、詳細な説明により制限されるものではなく、むしろ、これに添付される特許請求の範囲により制限されることが意図される。上記の詳述、例及びデータは、本発明の構成の製造及び使用の完全な説明を提供する。本発明の趣旨及び範囲から逸脱することなく、本発明の多くの実施形態を作成できるので、本発明は、以下に添付する本明細書における特許請求の範囲内にある。
100:ホスト
102a:一次ストレージ・システム
102b:二次ストレージ・システム
104a:一次ストレージ
104b:二次ストレージ
106a、204:一次ボリューム
106b、206:二次ボリューム
108:ネットワーク
112a、112b:入力/出力(I/O)マネージャ
114、114a、114b:ホスト複製マネージャ
116、116a、116b:フェイルオーバ・マネージャ
200、200a、200b、200i:コピー関係
202:コピー対識別子(ID)
208:変更記録ビットマップ
300:ポイント・イン・タイム・コピー・コマンド
302:ポイント・イン・タイム・コピー・コマンド・オペレータ
304:ソース・ボリューム
306:パラメータ
602:コンピュータ・システム/サーバ
606:システム・メモリ
608:バス
616:プログラム・モジュール
622:入力/出力(I/O)インターフェース
624:ネットワーク・アダプタ

Claims (26)

  1. 第1のストレージ・システムと第2のストレージ・システムとの間のフェイルオーバを行うためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、動作を行わせるためのプロセッサにより実行可能なプログラム命令を有し、前記動作は、
    前記第1のストレージ・システムと前記第2のストレージ・システムとの間でデータを同期することと、
    前記データを同期する間、前記第1のストレージ・システムにおけるフェイルオーバ・イベントに応答して、前記第1のストレージ・システムから前記第2のストレージ・システムへフェイルオーバを行うことであって、前記第1のストレージ・システムへの入力/出力(I/O)要求は、前記フェイルオーバの一部として前記第2のストレージ・システムにリダイレクトされる、行うことと、
    前記フェイルオーバ・イベントに応答して、前記第1のストレージ・システムの第1のストレージ・ユニットが動作不能であると判断することと、
    前記フェイルオーバ・イベントに応答して、前記第1のストレージ・システムの第2のストレージ・ユニットが動作可能であると判断することと、
    前記第2のストレージ・ユニットが動作可能であると判断することに応答して、再同期を開始し、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、前記第2のストレージ・システムの前記第2のストレージ・ユニットを前記第1のストレージ・システムの前記第2のストレージ・ユニットにミラーリングすることによって、前記第1のストレージ・システムの第2のストレージ・ユニットの更新をコピーすることと、
    を含む、コンピュータ・プログラム。
  2. 前記第1のストレージ・システムと前記第2のストレージ・システムとの間の前記データの前記同期は、同期コピー・モードで行われ、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、前記再同期中の前記更新の前記コピーは、非同期コピー・モードで行われる、請求項1に記載のコンピュータ・プログラム。
  3. 前記第1のストレージ・ユニットが動作不能であると判断することは、
    前記第1のストレージ・システムの前記第1のストレージ・ユニットのポイント・イン・タイム・コピーを開始することと、
    前記第1のストレージ・ユニットの前記ポイント・イン・タイム・コピーが失敗したと判断することであって、前記第1のストレージ・ユニットの前記ポイント・イン・コピーが失敗したと判断することに応答して、前記第1のストレージ・ユニットは動作不能であると判断される、判断することと、
    を含み、
    前記第2のストレージ・ユニットが動作可能であると判断することは、
    前記第1のストレージ・システムの前記第2のストレージ・ユニットのポイント・イン・タイム・コピーを開始することと、
    前記第2のストレージ・ユニットの前記ポイント・イン・タイム・コピーが成功したと判断することであって、前記第2のストレージ・ユニットの前記ポイント・イン・タイム・コピーが成功したと判断することに応答して、前記第2のストレージ・ユニットは動作可能であると判断される、判断することと、
    を含む、請求項1に記載のコンピュータ・プログラム。
  4. 前記動作は、
    前記フェイルオーバ・イベントに応答して、前記第1のストレージ・システムに対するソフト・フェンス状態を開始し、前記第1のストレージ・システムにおける前記ストレージ・ユニットへのI/Oアクセスを防止することであって、前記ポイント・イン・タイム・コピーは、前記第1のストレージ・システムの前記ソフト・フェンス状態の間、前記ポイント・イン・タイム・コピー動作の進行を可能にするためのパラメータを有するコマンドで開始される、開始すること、
    をさらに含む、請求項3に記載のコンピュータ・プログラム。
  5. 前記第1のストレージ・ユニットは、前記第1及び第2のストレージ・システムの第1のボリュームを含み、前記第2のストレージ・ユニットは、前記第1及び第2のストレージ・システムの第2のボリュームを含む、請求項3に記載のコンピュータ・プログラム。
  6. 前記再同期は第1の再同期を含み、前記動作は、
    ヘルス・クエリを前記第1のストレージ・システムに発行し、前記第1のストレージ・システムが完全に動作可能かどうかを判断することであって、前記第1のストレージ・システムが完全に動作可能であるとき、前記第1のストレージ・システムの前記第1及び第2のストレージ・ユニットの両方とも動作可能である、発行することと、
    前記ヘルス・クエリへの前記応答が、前記第1のストレージ・システムが完全に動作可能であることを示すと判断することに応答して、前記第2のストレージ・システムの前記第1のストレージの更新を前記第1のストレージ・システムの前記第1のストレージ・ユニットに再同期することと、
    をさらに含む、請求項1に記載のコンピュータ・プログラム。
  7. 前記ヘルス・クエリは、前記フェイルオーバを行った後、所定の期間後に発行される、請求項6に記載のコンピュータ・プログラム。
  8. 前記第1のストレージ・ユニットは、前記第1及び第2のストレージ・システムの第1のボリュームを含み、前記第2のストレージ・ユニットは、前記第1及び第2のストレージ・システムの第2のボリュームを含み、動作不能であると判断された前記第1のボリュームは、データ損失が生じるトラックのサブセットを含み、前記再同期は、前記ヘルス・クエリが、前記第1のストレージが完全に動作可能であると示すことに応答して、
    前記第2のストレージ・システムの前記第1のボリューム内のトラックのサブセットを、前記第1のストレージ・システムの前記第1のボリューム内の前記トラックの対応するサブセットにコピーすることであって、データ損失が生じず、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、更新される前記第2のストレージ・システムの前記第1のボリューム内のトラックに対応しない、前記第1のストレージ・システムの前記第1のボリューム内のトラックは再同期の対象でない、コピーすることをさらに実行する、請求項6に記載のコンピュータ・プログラム。
  9. 前記ヘルス・クエリへの前記応答が、前記第1のストレージ・システムが完全に動作可能であると示す前に、前記第1のストレージ・システムへの前記第2のストレージ・システムの前記第2のストレージ・ユニットの前記再同期は非同期コピー・モードで行われ、前記動作は、
    前記クエリが、前記第1のストレージ・システムが完全に動作可能であると示すことに応答して、前記第1のストレージ・システムへの前記第2のストレージ・システムの前記第2のストレージ・ユニットの前記再同期を前記同期コピー・モードに移行すること、
    をさらに含む、請求項6に記載のコンピュータ・プログラム。
  10. 前記動作は、
    前記ヘルス・クエリが、前記第1のストレージが動作可能であると示すことに応答して、前記第1のストレージ・システムの前記第1のストレージ・ユニットのポイント・イン・タイム・コピーを開始することであって、前記ポイント・イン・タイム・コピーが成功したと判断することに応答して、前記同期再同期動作が行われる、開始することをさらに含む、請求項9に記載のコンピュータ・プログラム。
  11. 前記動作は、
    前記ヘルス・クエリが、前記第1のストレージ・システムは完全に動作可能ではないと示すことに応答して、前記第1のストレージ・システムの修復のための診断情報を集めることと、
    前記集められた診断情報に基づいて、前記第1のストレージ・システムに修理が行われることに応答して、前記第1のストレージ・システムの管理者から発行された再同期コマンドを受信することであって、前記受信した再同期コマンドは、前記第2のストレージ・システムの前記第1のストレージ・ユニットへの更新の、前記第1のストレージ・システムの前記第1のストレージ・ユニットへの前記コピーを開始する、受信することと、
    をさらに含む、請求項6に記載のコンピュータ・プログラム。
  12. 前記第1のストレージ・システムの前記第1のストレージ・ユニットをミラーリングする前記第2のストレージ・システムの第1のストレージの更新は、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、前記第1のストレージ・システムの前記第1のストレージ・ユニットにコピーされない、請求項1に記載のコンピュータ・プログラム。
  13. 第1のストレージ・システムと第2のストレージ・システムとの間のフェイルオーバを行うためのシステムであって、
    少なくとも1つのプロセッサと、
    動作を行うために前記少なくとも1つのプロセッサにより実行されるプログラム命令を有するコンピュータ可読ストレージ媒体と、
    を備え、前記動作は、
    前記第1のストレージ・システムと前記第2のストレージ・システムとの間でデータを同期することと、
    前記データを同期する間、前記第1のストレージ・システムにおけるフェイルオーバ・イベントに応答して、前記第1のストレージ・システムから前記第2のストレージ・システムへフェイルオーバを行うことであって、前記第1のストレージ・システムへの入力/出力(I/O)要求は、前記フェイルオーバの一部として前記第2のストレージ・システムにリダイレクトされる、行うことと、
    前記フェイルオーバ・イベントに応答して、前記第1のストレージ・システムの第1のストレージ・ユニットが動作不能であると判断することと、
    前記フェイルオーバ・イベントに応答して、前記第1のストレージ・システムの第2のストレージ・ユニットが動作可能であると判断することと、
    前記第2のストレージ・ユニットが動作可能であると判断することに応答して、再同期を開始し、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、前記第2のストレージ・システムの前記第2のストレージ・ユニットを前記第1のストレージ・システムの前記第2のストレージ・ユニットにミラーリングすることによって、前記第1のストレージ・システムの第2のストレージ・ユニットの更新をコピーすることと、
    を含む、システム。
  14. 前記第1のストレージ・システムと前記第2のストレージ・システムとの間の前記データの前記同期は、同期コピー・モードで行われ、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、前記再同期中の前記更新の前記コピーは、非同期コピー・モードで行われる、請求項13に記載のシステム。
  15. 前記第1のストレージ・ユニットが動作不能であると判断することは、
    前記第1のストレージ・システムの前記第1のストレージ・ユニットのポイント・イン・タイム・コピーを開始することと、
    前記第1のストレージ・ユニットの前記ポイント・イン・コピーが失敗したと判断することであって、前記第1のストレージ・ユニットの前記ポイント・イン・コピーが失敗したと判断することに応答して、前記第1のストレージ・ユニットは動作不能であると判断される、判断することと、
    を含み、
    前記第2のストレージ・ユニットが動作可能であると判断することは、
    前記第1のストレージ・システムの前記第1のストレージ・ユニットのポイント・イン・タイム・コピーを開始することと、
    前記第2のストレージ・ユニットの前記ポイント・イン・タイム・コピーが成功したと判断することであって、前記第2のストレージ・ユニットの前記ポイント・イン・タイム・コピーが成功したと判断することに応答して、前記第2のストレージ・ユニットは動作可能であると判断される、判断することと、
    を含む、請求項13に記載のシステム。
  16. 前記動作は、
    前記フェイルオーバ・イベントに応答して、前記第1のストレージ・システムに対するソフト・フェンス状態を開始し、前記第1のストレージ・システムにおける前記ストレージ・ユニットへのI/Oアクセスを防止することであって、前記ポイント・イン・タイム・コピーは、前記第1のストレージ・システムの前記ソフト・フェンス状態の間、前記ポイント・イン・タイム・コピー動作の進行可能にするためのパラメータを有するコマンドで開始される、開始すること、
    をさらに含む、請求項15に記載のシステム。
  17. 前記再同期は第1の再同期を含み、前記動作は、
    ヘルス・クエリを前記第1のストレージ・システムに発行し、前記第1のストレージ・システムが完全に動作可能かどうかを判断することであって、前記第1のストレージ・システムが完全に動作可能であるとき、前記第1のストレージ・システムの前記第1及び第2のストレージ・ユニットの両方とも動作可能である、発行することと、
    前記ヘルス・クエリへの前記応答が、前記第1のストレージ・システムが完全に動作可能であることを示すと判断することに応答して、前記第2のストレージ・システムの前記第1のストレージの更新を前記第1のストレージ・システムの前記第1のストレージ・ユニットに再同期することと、
    をさらに含む、請求項13に記載のシステム。
  18. 前記第1のストレージ・ユニットは、前記第1及び第2のストレージ・システムの第1のボリュームを含み、前記第2のストレージ・ユニットは、前記第1及び第2のストレージ・システムの第2のボリュームを含み、動作不能であると判断された前記第1のボリュームは、データ損失が生じるトラックのサブセットを含み、前記再同期は、前記ヘルス・クエリが、前記第1のストレージが完全に動作可能であると示すことに応答して、
    前記第2のストレージ・システムの前記第1のボリューム内のトラックのサブセットを、前記第1のストレージ・システムの前記第1のボリューム内の前記トラックの対応するサブセットにコピーすることであって、データ損失が生じず、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、更新される前記第2のストレージ・システムの前記第1のボリューム内のトラックに対応しない、前記第1のストレージ・システムの前記第1のボリューム内のトラックは再同期の対象でない、コピーすることをさらに実行する、請求項17に記載のシステム。
  19. 前記ヘルス・クエリへの前記応答が、前記第1のストレージ・システムが完全に動作可能であると示す前、前記第1のストレージ・システムへの前記第2のストレージ・システムの前記第2のストレージ・ユニットの前記再同期は非同期コピー・モードで行われ、前記動作は、
    前記クエリが、前記第1のストレージ・システムが完全に動作可能であると示すことに応答して、前記第1のストレージ・システムへの前記第2のストレージ・システムの前記第2のストレージ・ユニットの前記再同期を前記同期コピー・モードに移行すること、
    をさらに含む、請求項17に記載のシステム。
  20. 第1のストレージ・システムと第2のストレージ・システムとの間のフェイルオーバを行うための方法であって、
    前記第1のストレージ・システムと前記第2のストレージ・システムとの間でデータを同期することと、
    前記データを同期する間、前記第1のストレージ・システムにおけるフェイルオーバ・イベントに応答して、前記第1のストレージ・システムから前記第2のストレージ・システムへフェイルオーバを行うことであって、前記第1のストレージ・システムへの入力/出力(I/O)要求は、前記フェイルオーバの一部として前記第2のストレージ・システムにリダイレクトされる、行うことと、
    前記フェイルオーバ・イベントに応答して、前記第1のストレージ・システムの第1のストレージ・ユニットが動作不能であると判断することと、
    前記フェイルオーバ・イベントに応答して、前記第1のストレージ・システムの第2のストレージ・ユニットが動作可能であると判断することと、
    前記第2のストレージ・ユニットが動作可能であると判断することに応答して、再同期を開始し、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、前記第2のストレージ・システムの前記第2のストレージ・ユニットを前記第1のストレージ・システムの前記第2のストレージ・ユニットにミラーリングすることによって、前記第1のストレージ・システムの第2のストレージ・ユニットの更新をコピーすることと、
    を含む、方法。
  21. 前記第1のストレージ・システムと前記第2のストレージ・システムとの間の前記データの前記同期は、同期コピー・モードで行われ、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、前記再同期中の前記更新の前記コピーは、非同期コピー・モードで行われる、請求項20に記載の方法。
  22. 前記第1のストレージ・ユニットが動作不能であると判断することは、
    前記第1のストレージ・システムの前記第1のストレージ・ユニットのポイント・イン・タイム・コピーを開始することと、
    前記第1のストレージ・ユニットの前記ポイント・イン・コピーが失敗したと判断することであって、前記第1のストレージ・ユニットの前記ポイント・イン・コピーが失敗したと判断することに応答して、前記第1のストレージ・ユニットは動作不能であると判断される、判断することと、
    を含み、
    前記第2のストレージ・ユニットが動作可能であると判断することは、
    前記第1のストレージ・システムの前記第2のストレージ・ユニットのポイント・イン・タイム・コピーを開始することと、
    前記第2のストレージ・ユニットの前記ポイント・イン・タイム・コピーが成功したと判断することであって、前記第2のストレージ・ユニットの前記ポイント・イン・タイム・コピーが成功したと判断することに応答して、前記第2のストレージ・ユニットは動作可能であると判断される、判断することと、
    を含む、請求項20に記載の方法。
  23. 前記動作は、
    前記フェイルオーバ・イベントに応答して、前記第1のストレージ・システムに対するソフト・フェンス状態を開始し、前記第1のストレージ・システムにおける前記ストレージ・ユニットへのI/Oアクセスを防止することであって、前記ポイント・イン・タイム・コピーは、前記第1のストレージ・システムの前記ソフト・フェンス状態の間、前記ポイント・イン・タイム・コピー動作の進行を可能にするためのパラメータを有するコマンドで開始される、開始すること、
    をさらに含む、請求項22に記載の方法。
  24. 前記再同期は第1の再同期を含み、前記動作は、
    ヘルス・クエリを前記第1のストレージ・システムに発行し、前記第1のストレージ・システムが完全に動作可能かどうかを判断することであって、前記第1のストレージ・システムが完全に動作可能であるとき、前記第1のストレージ・システムの前記第1及び第2のストレージ・ユニットの両方とも動作可能である、発行することと、
    前記ヘルス・クエリへの前記応答が、前記第1のストレージ・システムが完全に動作可能であることを示すと判断することに応答して、前記第2のストレージ・システムの前記第1のストレージの更新を前記第1のストレージ・システムの前記第1のストレージ・ユニットに再同期することと、
    をさらに含む、請求項20に記載の方法。
  25. 前記第1のストレージ・ユニットは、前記第1及び第2のストレージ・システムの第1のボリュームを含み、前記第2のストレージ・ユニットは、前記第1及び第2のストレージ・システムの第2のボリュームを含み、動作不能であると判断された前記第1のボリュームは、データ損失が生じるトラックのサブセットを含み、前記再同期は、前記ヘルス・クエリが、前記第1のストレージが完全に動作可能であると示すことに応答して、
    前記第2のストレージ・システムの前記第1のボリューム内のトラックのサブセットを、前記第1のストレージ・システムの前記第1のボリューム内の前記トラックの対応するサブセットにコピーすることであって、データ損失が生じず、I/O要求が前記第2のストレージ・システムにリダイレクトされる間、更新される前記第2のストレージ・システムの前記第1のボリューム内のトラックに対応しない、前記第1のストレージ・システムの前記第1のボリューム内のトラックは再同期の対象でない、コピーすること、
    をさらに実行する、請求項24に記載の方法。
  26. 前記ヘルス・クエリへの前記応答が、前記第1のストレージ・システムが完全に動作可能であると示す前、前記第1のストレージ・システムへの前記第2のストレージ・システムの前記第2のストレージ・ユニットの前記再同期は非同期コピー・モードで行われ、
    前記クエリが、前記第1のストレージ・システムが完全に動作可能であると示すことに応答して、前記第1のストレージ・システムへの前記第2のストレージ・システムの前記第2のストレージ・ユニットの前記再同期を前記同期コピー・モードに移行すること、
    をさらに含む、請求項24に記載の方法。
JP2017553352A 2015-05-05 2016-05-03 第1のストレージ・システムをミラーリングする第2のストレージ・システムへのフェイルオーバ後の第1のストレージ・システムへの再同期 Active JP6734866B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/704,893 US10133643B2 (en) 2015-05-05 2015-05-05 Resynchronizing to a first storage system after a failover to a second storage system mirroring the first storage system
US14/704,893 2015-05-05
PCT/IB2016/052502 WO2016178138A1 (en) 2015-05-05 2016-05-03 Resynchronizing to first storage system after failover to second storage system mirroring first storage system

Publications (2)

Publication Number Publication Date
JP2018518734A true JP2018518734A (ja) 2018-07-12
JP6734866B2 JP6734866B2 (ja) 2020-08-05

Family

ID=57217591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017553352A Active JP6734866B2 (ja) 2015-05-05 2016-05-03 第1のストレージ・システムをミラーリングする第2のストレージ・システムへのフェイルオーバ後の第1のストレージ・システムへの再同期

Country Status (6)

Country Link
US (2) US10133643B2 (ja)
JP (1) JP6734866B2 (ja)
CN (1) CN107533499B (ja)
DE (1) DE112016001295T5 (ja)
GB (1) GB2554605B (ja)
WO (1) WO2016178138A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210106165A (ko) * 2020-02-20 2021-08-30 엘에스일렉트릭(주) 휴먼 머신 인터페이스 시스템에서 저장장치의 교체 방법

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10133643B2 (en) * 2015-05-05 2018-11-20 International Business Machines Corporation Resynchronizing to a first storage system after a failover to a second storage system mirroring the first storage system
US10423588B2 (en) * 2015-08-25 2019-09-24 International Business Machines Corporation Orchestrated disaster recovery
US10083099B2 (en) * 2016-06-20 2018-09-25 International Business Machines Corporation After swapping from a first storage to a second storage, mirroring data from the second storage to the first storage for data in the first storage that experienced data errors
US10078566B2 (en) * 2016-06-20 2018-09-18 International Business Machines Corporation Managing health conditions to determine when to restart replication after a swap triggered by a storage health event
US10769040B2 (en) * 2016-11-21 2020-09-08 Sap Se Logical equivalent replication with snapshot based fallback of database systems
US10572357B2 (en) * 2017-03-29 2020-02-25 International Business Machines Corporation Switching over from using a first primary storage to using a second primary storage when the first primary storage is in a mirror relationship
US10394641B2 (en) * 2017-04-10 2019-08-27 Arm Limited Apparatus and method for handling memory access operations
JP6901677B2 (ja) * 2017-04-17 2021-07-14 富士通株式会社 管理プログラム、管理装置および管理方法
CN107153589B (zh) * 2017-06-14 2020-08-04 苏州浪潮智能科技有限公司 一种镜像数据的读写方法
US10496674B2 (en) * 2017-08-07 2019-12-03 International Business Machines Corporation Self-describing volume ancestry for data synchronization
JP6782210B2 (ja) * 2017-09-01 2020-11-11 株式会社日立製作所 計算機システム、データ管理方法、及びデータ管理プログラム
US10579285B2 (en) 2018-02-07 2020-03-03 International Business Machines Corporation Automatic data healing by I/O
US10585767B2 (en) 2018-02-07 2020-03-10 International Business Machines Corporation Automatic data healing using a storage controller
US10437517B2 (en) 2018-02-15 2019-10-08 International Business Machines Corporation Enhanced soft fence of devices
JP2019191843A (ja) * 2018-04-24 2019-10-31 富士通株式会社 接続制御プログラム、接続制御方法、及び接続制御装置
US11099934B2 (en) * 2018-08-24 2021-08-24 International Business Machines Corporation Data rebuilding
US11061750B2 (en) * 2018-09-06 2021-07-13 International Business Machines Corporation Corrupted track analyzer
US11132339B2 (en) * 2018-11-13 2021-09-28 Netapp Inc. Synchronous replication for synchronous mirror copy guarantee
CN111858143A (zh) * 2019-04-24 2020-10-30 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机可读存储介质
US10997084B2 (en) 2019-08-30 2021-05-04 International Business Machines Corporation Virtual to physical translation and media repair in storage class memory
US11164650B2 (en) 2019-08-30 2021-11-02 International Business Machines Corporation Scrub management in storage class memory
US11327858B2 (en) * 2020-08-11 2022-05-10 Seagate Technology Llc Preserving data integrity during controller failure
US11665046B2 (en) * 2021-01-15 2023-05-30 Western Digital Technologies, Inc. Failover port forwarding between peer storage nodes
KR20240106044A (ko) * 2022-12-29 2024-07-08 주식회사 알티스트 자율 주행 차량용 이중화 저장 장치
CN117234811B (zh) * 2023-11-14 2024-02-20 苏州元脑智能科技有限公司 数据备份方法、装置、设备及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330731A (ja) 1999-05-19 2000-11-30 Toshiba Corp 記録媒体制御装置
US6785838B2 (en) 2001-02-13 2004-08-31 Sun Microsystems, Inc. Method and apparatus for recovering from failure of a mirrored boot device
US7631066B1 (en) * 2002-03-25 2009-12-08 Symantec Operating Corporation System and method for preventing data corruption in computer system clusters
US7278049B2 (en) 2003-09-29 2007-10-02 International Business Machines Corporation Method, system, and program for recovery from a failure in an asynchronous data copying system
US7376859B2 (en) 2003-10-20 2008-05-20 International Business Machines Corporation Method, system, and article of manufacture for data replication
JP4583075B2 (ja) 2004-06-11 2010-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーション サイト間でデータをミラーリングする方法、システム、およびプログラム
US20060015764A1 (en) * 2004-07-13 2006-01-19 Teneros, Inc. Transparent service provider
US7941602B2 (en) 2005-02-10 2011-05-10 Xiotech Corporation Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks
US7437601B1 (en) 2005-03-08 2008-10-14 Network Appliance, Inc. Method and system for re-synchronizing an asynchronous mirror without data loss
US7877628B2 (en) 2006-06-08 2011-01-25 International Business Machines Corporation Mirroring data between primary and secondary sites
US7627729B2 (en) 2006-09-07 2009-12-01 International Business Machines Corporation Apparatus, system, and method for an improved synchronous mirror swap
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US8020037B1 (en) * 2008-09-23 2011-09-13 Netapp, Inc. Creation of a test bed for testing failover and failback operations
US8099623B1 (en) * 2008-10-08 2012-01-17 Netapp, Inc. Efficient distributed hot sparing scheme in a parity declustered RAID organization
US9203900B2 (en) * 2011-09-23 2015-12-01 Netapp, Inc. Storage area network attached clustered storage system
US9904721B1 (en) * 2013-01-25 2018-02-27 Gravic, Inc. Source-side merging of distributed transactions prior to replication
US9052833B2 (en) 2013-03-11 2015-06-09 International Business Machines Corporation Protection of former primary volumes in a synchronous replication relationship
US20160048408A1 (en) * 2014-08-13 2016-02-18 OneCloud Labs, Inc. Replication of virtualized infrastructure within distributed computing environments
US9639439B2 (en) * 2015-04-14 2017-05-02 Sap Se Disaster recovery framework for cloud delivery
CN106155846B (zh) * 2015-04-15 2019-06-28 伊姆西公司 对块对象执行批量故障回复的方法和装置
US10133643B2 (en) * 2015-05-05 2018-11-20 International Business Machines Corporation Resynchronizing to a first storage system after a failover to a second storage system mirroring the first storage system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210106165A (ko) * 2020-02-20 2021-08-30 엘에스일렉트릭(주) 휴먼 머신 인터페이스 시스템에서 저장장치의 교체 방법
KR102323844B1 (ko) * 2020-02-20 2021-11-08 엘에스일렉트릭(주) 휴먼 머신 인터페이스 시스템에서 저장장치의 교체 방법

Also Published As

Publication number Publication date
GB201719444D0 (en) 2018-01-10
GB2554605A (en) 2018-04-04
GB2554605B (en) 2018-09-26
US20160328303A1 (en) 2016-11-10
US10133643B2 (en) 2018-11-20
DE112016001295T5 (de) 2017-12-14
CN107533499B (zh) 2020-09-08
CN107533499A (zh) 2018-01-02
JP6734866B2 (ja) 2020-08-05
WO2016178138A1 (en) 2016-11-10
US20190012243A1 (en) 2019-01-10
US10936447B2 (en) 2021-03-02

Similar Documents

Publication Publication Date Title
US10936447B2 (en) Resynchronizing to a first storage system after a failover to a second storage system mirroring the first storage system
US10146453B2 (en) Data migration using multi-storage volume swap
US11734306B2 (en) Data replication method and storage system
US11829607B2 (en) Enabling data integrity checking and faster application recovery in synchronous replicated datasets
US10733060B2 (en) Asynchronous local and remote generation of consistent point-in-time snap copies in consistency groups
CN108496153B (zh) 同步复制关系的非破坏性基线和再同步
US9400611B1 (en) Data migration in cluster environment using host copy and changed block tracking
US10915406B2 (en) Storage unit replacement using point-in-time snap copy
US10162563B2 (en) Asynchronous local and remote generation of consistent point-in-time snap copies
US9921764B2 (en) Using inactive copy relationships to resynchronize data between storages
US9727243B2 (en) Using inactive copy relationships to resynchronize data between storages
US9514013B2 (en) Maintaining inactive copy relationships for secondary storages of active copy relationships having a common primary storage for use in case of a failure of the common primary storage
CN106326030B (zh) 用于存储系统中的软切换的方法和装置
Rizzo et al. Database Mirroring

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200529

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200710

R150 Certificate of patent or registration of utility model

Ref document number: 6734866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150