JP2017167602A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2017167602A
JP2017167602A JP2016049351A JP2016049351A JP2017167602A JP 2017167602 A JP2017167602 A JP 2017167602A JP 2016049351 A JP2016049351 A JP 2016049351A JP 2016049351 A JP2016049351 A JP 2016049351A JP 2017167602 A JP2017167602 A JP 2017167602A
Authority
JP
Japan
Prior art keywords
data
buffer
area
control unit
control device
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
JP2016049351A
Other languages
English (en)
Other versions
JP6708923B2 (ja
Inventor
秀憲 山田
Hidenori Yamada
秀憲 山田
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 JP2016049351A priority Critical patent/JP6708923B2/ja
Priority to US15/450,086 priority patent/US10007467B2/en
Publication of JP2017167602A publication Critical patent/JP2017167602A/ja
Application granted granted Critical
Publication of JP6708923B2 publication Critical patent/JP6708923B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/065Replication mechanisms
    • 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
    • G06F11/2074Asynchronous techniques
    • 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
    • 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
    • G06F11/2076Synchronous techniques
    • 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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

【課題】非同期コピーが未実行のデータの順序性を保証する。【解決手段】制御部13は、ホスト装置からのライトデータを、記録媒体11に書き込むとともに制御装置20に送信し、ホスト装置に応答する同期コピー処理と、記録媒体11に書き込まれたデータを領域12aに格納し、所定の条件が満たされると、バッファ切り替えを制御装置20に通知するとともに、バッファ12におけるデータの格納先を領域12bに切り替える格納処理と、領域12aのデータをまとめて制御装置30に送信し、領域12bのデータをまとめて制御装置30に送信する非同期コピー処理とを実行する。制御部23は、制御部13から送信されたデータを記録媒体21と領域22aとに格納し、バッファ切り替えが通知されると、その通知後に制御部13から送信されたデータを記録媒体21と領域22bとに格納する。【選択図】図1

Description

本発明は、ストレージシステムに関する。
ストレージ装置に記録されたデータをバックアップのために他のストレージ装置にコピーするリモートコピーの方法として、同期コピーと非同期コピーとが知られている。同期コピーでは、コピー元装置は、ホスト装置から書き込みが要求されたデータを記憶するとともに、そのデータをコピー先装置にコピーし、コピーが完了した後にホスト装置に書き込みの完了を通知する。一方、非同期コピーでは、コピー元装置は、書き込みが要求されたデータを記憶した段階でホスト装置に対して書き込みの完了を通知し、これとは非同期のタイミングでデータをコピー先装置にコピーする。
同期コピーは、データを常に二重化できる反面、装置間の距離が長いほどRTT(Round-Trip Time)が増加して書き込みの応答性能が悪化するという特性を有する。このため、広範囲に及ぶ大規模な災害を想定してコピー先装置を遠距離に配置する用途には、非同期コピーが適している。
これに関連して、ストレージ装置を3拠点に配置し、第1のストレージ装置から第2のストレージ装置に対して同期コピーが行われ、第1のストレージ装置から第3のストレージ装置に対して非同期コピーが行われるシステムが提案されている。このシステムによれば、バックアップ拠点の増加によってデータロストの可能性を低減できるだけでなく、第1のストレージ装置でのホスト装置に対する応答性能に影響を与えずに、第3のストレージ装置を遠距離に配置できる。
また、非同期コピー技術の一例として、順序性が保証されたコピーが可能な次のような方法が提案されている。この方法では、コピー元装置は、第1の記録媒体のデータを第1の記録専用バッファに格納し、このバッファがフルになるとバッファ内のデータをまとめてコピー先装置に送信する。コピー先装置は、受信したデータを第2の記録専用バッファに格納し、データの受信を完了するとこのバッファ内のデータを第2の記録媒体に展開する。
特開2003−122509号公報 特開2006−260292号公報
ここで、上記のようにストレージ装置を3拠点に配置したシステムにおいて、第1のストレージ装置から第3のストレージ装置に対して、記録専用バッファを用いた上記方法を適用して順序性が保証された非同期コピーを行うことを考える。この構成によれば、第1のストレージ装置が障害などによって停止した場合、ホスト装置からの要求に応じたI/O(In/Out)処理を第2のストレージ装置が引き継ぐことができる。しかし、第1のストレージ装置が停止した時点では、第2のストレージ装置と第3のストレージ装置にそれぞれ記憶されたデータが等価になっていない可能性がある。非同期コピーを開始するためにこれらのデータを等価にしようすると、書き込みの順序性が失われる可能性がある。順序性を保証したままこれらのデータを等価にするためには、同期コピーのコピー先に、非同期コピーが未実行のデータについての順序性を保証するための何らかの仕組みを設ける必要がある。
1つの側面では、本発明は、非同期コピーが未実行のデータの順序性を保証可能なストレージシステムを提供することを目的とする。
1つの案では、第1の制御装置と、第2の制御装置と、第3の制御装置とを有するストレージシステムが提供される。このストレージシステムにおいて、第1の制御装置は、第1のバッファと第1の制御部とを有する。第1のバッファは、第1の領域と第2の領域とを有する。第1の制御部は、ホスト装置から書き込みが要求されたデータを、第1の記録媒体に書き込むとともに第2の制御装置に送信し、ホスト装置に書き込み完了を通知する同期コピー処理と、第1の記録媒体に書き込まれたデータを第1の領域に格納し、所定の条件が満たされると、バッファ切り替えを第2の制御装置に通知するとともに、その通知後に第1の記録媒体に書き込まれるデータの第1のバッファにおける格納先を第2の領域に切り替える格納処理と、第1の領域に格納された第1のデータをまとめて第3の制御装置に送信し、第2の領域に格納された第2のデータをまとめて第3の制御装置に送信する非同期コピー処理と、を実行する。また、第2の制御装置は、第2のバッファと第2の制御部とを有する。第2のバッファは、第3の領域と第4の領域とを有する。第2の制御部は、第1の制御部から送信された第1のデータを第2の記録媒体と第3の領域とに格納し、バッファ切り替えが通知されると、その通知後に第1の制御部から送信された第2のデータを第2の記録媒体と第4の領域とに格納する。また、第3の制御装置は、第3のバッファと第3の制御部とを有する。第3のバッファは、第5の領域と第6の領域とを有する。第3の制御部は、第1のデータを受信して第5の領域を介して第3の記録媒体に格納し、第2のデータを受信して第6の領域を介して第3の記録媒体に格納する。
1つの側面では、非同期コピーが未実行のデータの順序性を保証できる。
図1は、第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。 第2の実施の形態に係るストレージシステムの構成例を示す図である。 CMのハードウェア構成例を示す図である。 順序性が保証された非同期コピー技術を説明するための参考図である。 各CMが備える処理機能の構成例を示すブロック図である。 コピーセッションテーブルの構成例を示す図である。 バッファ部およびバッファセットテーブルの構成例を示す図である。 ストレージ装置がいずれも正常に動作している状態でのコピー処理例の概要を示す図(その1)である。 ストレージ装置がいずれも正常に動作している状態でのコピー処理例の概要を示す図(その2)である。 ストレージ装置がいずれも正常に動作している状態でのコピー処理例の概要を示す図(その3)である。 フェイルオーバしたときの処理例を示す図である。 バッファ初期設定プロセスの処理手順の例を示すシーケンス図である。 ライトI/Oプロセスの処理手順の例を示すシーケンス図である。 バッファ格納プロセスの処理手順の例を示すシーケンス図である。 切り替え・解放プロセスの処理手順の例を示すシーケンス図(その1)である。 切り替え・解放プロセスの処理手順の例を示すシーケンス図(その2)である。 フェイルオーバプロセスの処理手順の例を示すシーケンス図である。 切り替え前世代についてのライトI/O再開プロセスの処理手順を示すシーケンス図である。 切り替え前世代についての切り替え・解放プロセスの処理手順を示すシーケンス図である。 切り替え済み世代についての再同期プロセスの処理手順を示すシーケンス図である。
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。図1に示すストレージシステムは、制御装置10,20,30を有する。また、制御装置10,20のいずれかにはホスト装置1が接続可能である。
制御装置10,20,30は、記録媒体11,21,31をそれぞれ有する。なお、図1では例として、記録媒体11,21,31はそれぞれ制御装置10,20,30の内部に搭載されているが、それぞれ制御装置10,20,30の外部に接続されていてもよい。
制御装置10は、ホスト装置1からの要求に応じて記録媒体11へのアクセスを制御する。また、制御装置10は、記録媒体11に書き込まれたデータを、バックアップのために制御装置20,30の記録媒体21,31にコピーする機能を備える。制御装置10から制御装置20へは同期コピーが実行され、制御装置10から制御装置30へは非同期コピーが実行される。
制御装置20は、記録媒体11に書き込まれたデータを制御装置10から受信し、記録媒体21に書き込む。また、制御装置20は、障害の発生などによって制御装置10の動作が停止すると、ホスト装置1からの書き込み要求に応じた処理を制御装置10から引き継ぐ。すなわち、この状態では、制御装置20は、ホスト装置1からの要求に応じて記録媒体21へのアクセスを制御する。これとともに、制御装置20は、記録媒体21に書き込まれたデータを、非同期コピーによって制御装置30の記録媒体31にバックアップする。
制御装置30は、制御装置10または制御装置20から送信されたデータを記録媒体31に書き込む。
また、制御装置10はさらに、バッファ12と制御部13を有する。バッファ12は、例えば、制御装置10が備えるRAM(Random Access Memory)に確保される。制御部13は、例えば、制御装置10が備えるプロセッサとして実現される。制御装置20はさらに、バッファ22と制御部23を有する。バッファ22は、例えば、制御装置20が備えるRAMに確保される。制御部23は、例えば、制御装置20が備えるプロセッサとして実現される。制御装置30はさらに、バッファ32と制御部33を有する。バッファ32は、例えば、制御装置30が備えるRAMに確保される。制御部33は、例えば、制御装置30が備えるプロセッサとして実現される。
バッファ12には、記録媒体11から制御装置30に送信されるデータが一時的に格納される。バッファ22には、記録媒体21に書き込まれたデータが一時的に格納される。バッファ32には、制御装置10または制御装置20から送信されたデータが一時的に格納される。これらのバッファ12,22,32は、それぞれ複数の領域を有している。図1の例では、バッファ12は領域12a,12bを有し、バッファ22は領域22a,22bを有し、バッファ32は領域32a,32bを有する。
制御部13は、次に示す「同期コピー処理」、「格納処理」および「非同期コピー処理」を実行する。
同期コピー処理では、制御部13は、ホスト装置1から書き込みが要求されたデータを、記録媒体11に書き込むとともに制御装置20に送信し、ホスト装置1に書き込み完了を通知する。
制御部23は、制御部13から送信されたデータを、記録媒体21とバッファ22の領域22aとに格納する。なお、領域22aへのデータの格納は、記録媒体21への格納とは非同期のタイミングで実行されてもよい。すなわち、同期コピー処理により、少なくとも、記録媒体11に格納されたデータと記録媒体21に格納されたデータとは常に等価となる。
格納処理では、制御部13は、記録媒体11に書き込まれたデータをバッファ12の領域12aに格納する。そして、制御部13は、所定の条件が満たされると、バッファ切り替えを制御装置20に通知するとともに、ホスト装置1から記録媒体11に書き込まれるデータの格納先をバッファ12の領域12aから領域12bに切り替える。したがって、バッファ切り替えの通知後における格納処理では、記録媒体11に書き込まれたデータが領域12bに格納される。
制御部23は、制御部13からバッファ切り替えが通知されると、その通知後に制御部13から送信されるデータを、記録媒体21とバッファ22の領域22bとに格納する。すなわち、制御部23は、バッファ切り替えが通知された後に記録媒体21に書き込まれるデータの格納先を、領域22aから領域22bに切り替える。
非同期コピー処理では、制御部13は、領域12aに格納されたデータをまとめて制御装置30に送信する。すなわち、制御部13は、領域12aに対するデータの格納が完了した後、領域12a内のデータを制御装置30に送信する。また、制御部13は、領域12bに格納されたデータをまとめて制御装置30に送信する。
制御部33は、制御部13から送信された領域12aのデータを受信し、受信したデータをバッファ32の領域32aに一時的に格納した後、記録媒体31に格納する。また、制御部33は、制御部13から送信された領域12bのデータを受信し、受信したデータをバッファ32の領域32bに一時的に格納した後、記録媒体31に格納する。
このような非同期コピーによれば、バッファの領域単位でデータがコピーされる。したがって、制御装置10と制御装置30との間では、ホスト装置1からの書き込みの順序性が保証された非同期コピーを実行できる。
一方、制御装置10と制御装置20との間の同期コピーでは、バッファ切り替えの通知により、バッファにおける使用領域の切り替えタイミングが同期される。これにより、制御装置10から制御装置20に対しても、バッファの領域単位でデータをコピーできるようになる。その結果、制御装置10から制御装置30への非同期コピーが未実行のデータについても、制御装置20が保持するデータによって書き込みの順序性を保証できる。
このように制御装置10から制御装置20,30の両方に対してバッファの領域単位でデータがコピーされることにより、障害などによって制御装置10の動作が停止した場合に、制御装置20と制御装置30との間で順序性が保証された非同期コピーを実行できるようになる。
例えば、バッファ切り替えの通知後に制御装置10が停止すると、制御装置20は、ホスト装置1からの書き込み要求の受信処理を制御部13から引き継ぐ。そして、制御装置20は、ホスト装置1から書き込みが要求されたデータを、記録媒体21とバッファ22の領域22bとに格納する。これとともに、制御装置20は、領域22aに格納されたデータを制御装置30に送信する。制御装置30は、制御部23から送信された領域22aのデータを受信し、領域32aを介して記録媒体31に格納する。
このように、制御装置10が停止した後、制御装置20から制御装置30に対してバッファの領域単位で非同期コピーが実行される。したがって、制御装置20と制御装置30との間で順序性が保証された非同期コピーを実行できる。
〔第2の実施の形態〕
図2は、第2の実施の形態に係るストレージシステムの構成例を示す図である。図2に示すストレージシステムは、ストレージ装置100,200,300およびホスト装置400を含む。ホスト装置400とストレージ装置100,200とは、例えば、SAN(Storage Area Network)51を介して接続されている。ストレージ装置100とストレージ装置200とは、例えば、専用の通信回線を介して接続され、ストレージ装置100,200とストレージ装置300とは、例えば、WAN(Wide Area Network)52を介して接続されている。ストレージ装置100とストレージ装置200との距離と比較して、ストレージ装置300は遠距離に配置されている。
ストレージ装置100は、CM(Controller Module)110,110aとDE(Drive Enclosure)120,120aを有する。DE120,120aのそれぞれには、複数の記憶装置が搭載されている。それらの記憶装置は、例えばHDD(Hard Disk Drive)であり、その場合、DE120,120aはディスクアレイ装置である。CM110は、DE120内の記憶装置に対するアクセスを制御する制御装置であり、CM110aは、DE120a内の記憶装置に対するアクセスを制御する制御装置である。
同様に、ストレージ装置200は、CM210,210aとDE220,220aを有しており、ストレージ装置300は、CM310,310aとDE320,320aを有している。なお、図2のストレージシステムにおいては、CM110,110a,210,210a,310,310aが相互に接続されている。
CM110は、ホスト装置400からの要求に応じて、DE120内の記憶装置によって実現される論理ボリュームに対するアクセスを制御できるようになっている。同様に、CM110aは、ホスト装置400からの要求に応じて、DE120a内の記憶装置によって実現される論理ボリュームに対するアクセスを制御できるようになっている。CM110,110aは、対応する論理ボリュームに対するアクセス時に利用するキャッシュをそれぞれが保持する分散キャッシュ方式でアクセス制御を行う。
ストレージ装置200は、ストレージ装置100が運用状態のとき、待機状態になっている。この状態では、CM210,210aは、それぞれCM110,110a内のキャッシュのデータを受信してバックアップする。ストレージ装置100内のキャッシュのデータは、同期コピーによってストレージ装置200にバックアップされる。そして、ストレージ装置100に障害が発生したとき、ストレージ装置200は待機状態から運用状態に遷移し(すなわちフェイルオーバし)、ホスト装置400からの要求に応じた論理ボリュームへのアクセス制御を短時間で引き継ぐ。
ストレージ装置300も、ストレージ装置100が運用状態のとき、ストレージ装置100内のキャッシュのデータを受信してバックアップする。具体的には、CM310,310aは、それぞれCM110,110a内のキャッシュのデータを受信してバックアップする。ただし、ストレージ装置100内のキャッシュのデータは、非同期コピーによってストレージ装置200にバックアップされる。そして、ストレージ装置100に障害が発生したとき、ストレージ装置300は,運用状態に遷移したストレージ装置200内のキャッシュのデータをバックアップする。
このように、図2に示すストレージシステムでは、ストレージ装置100,200,300が正常に動作しているとき、キャッシュのデータが三重にバックアップされ、これによってキャッシュのデータが失われるリスクが低減されている。また、遠隔地に配置されたストレージ装置300に同期コピーによってデータをバックアップした場合、RTTが増大してホスト装置400に対する応答速度が大きく低下してしまう。しかし、図2のストレージシステムによれば、ストレージ装置300には非同期コピーによってデータがバックアップされるので、このような応答速度の低下を防止できる。換言すると、ホスト装置400に対する応答性能を落とさずに、ストレージ装置300を遠隔地に配置することができるので、影響が広範囲に及ぶ大きな災害が発生した場合にデータが失われるリスクを低減できる。
図3は、CMのハードウェア構成例を示す図である。この図3では、CM110を例示する。
CM110は、プロセッサ111、RAM112、SSD(Solid State Drive)113、CA(Channel Adapter)114、DI(Drive Interface)115およびRA(Remote Adapter)116,117を有する。これらの構成要素は、バス118を介して接続されている。
プロセッサ111は、CM110全体を統括的に制御する。プロセッサ111は、マルチプロセッサであってもよい。プロセッサ111は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。また、プロセッサ111は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM112は、CM110の主記憶装置として使用される。RAM112には、プロセッサ111に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM112には、プロセッサ111による処理に必要な各種データが格納される。
SSD113は、CM110の補助記憶装置として使用される。SSD113には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、HDDなどの他の種類の記憶装置が用いられてもよい。
CA114は、ホスト装置400と通信するためのインタフェースである。DI115は、DE120と通信するためのインタフェースである。DI115は、例えば、SAS(Serial Attached SCSI)インタフェースである。RA116は、ストレージ装置200と通信するためのインタフェースであり、RA117は、ストレージ装置300と通信するためのインタフェースである。
以上のハードウェア構成によってCM110の処理機能が実現される。なお、CM110a,210,210a,310,310aについても、図3と同様のハードウェア構成によって実現される。
ところで、前述のように、ストレージ装置100のキャッシュに書き込まれたデータは、ストレージ装置200,300にリモートコピーされる。また、ストレージ装置100とストレージ装置200との間では同期コピーが行われ、ストレージ装置100とストレージ装置300との間では非同期コピーが行われる。特に、ストレージ装置100とストレージ装置300との間では、データ書き込みの順序性が保証された非同期コピーが行われる。
ここで、本実施の形態で利用される、順序性が保証された非同期コピー技術について、図4を用いて説明する。
図4は、順序性が保証された非同期コピー技術を説明するための参考図である。図4では例として、ホスト装置(図示せず)から送信されたライトデータをコピー元装置500が受信し、そのライトデータが非同期コピーによってコピー先装置600にバックアップされる構成とする。
コピー元装置500はCM510,520を有し、コピー先装置600はCM610,620を有する。CM510,520は、コピー元となる記録媒体511,521と、非同期コピーの際に利用されるバッファ512,522とをそれぞれ有する。CM610,620は、コピー先となる記録媒体611,621と、非同期コピーの際に利用されるバッファ611,621とをそれぞれ有する。バッファ512,522,612,622はそれぞれ、複数の分割領域に分割されている。
なお、図4において各分割領域に記載された数字は、各分割領域のIDを示す。以下の説明では、IDが「xxx」の分割領域を「分割領域(xxx)」と表記する。
非同期コピー処理においては、バッファ512,522,612,622のそれぞれから分割領域が1つずつ選択され、選択された分割領域が、ホスト装置から同一期間に書き込まれたライトデータの格納に利用される。そこで、以下の説明では、各分割領域を「世代」という概念で識別する場合がある。図4の例では、分割領域(000),(010),(100),(110)が同一世代に属する。また、分割領域(001),(011),(101),(111)が同一世代に属する。また、分割領域(002),(012),(102),(112)が同一世代に属する。また、分割領域(003),(013),(103),(113)が同一世代に属する。また、同一世代に属する分割領域の組み合わせを「バッファセット」と呼ぶ。
CM510は、ホスト装置からライト要求を受信すると、ホスト装置から送信されたライトデータを記録媒体511に書き込み(ステップS11a)、ホスト装置にライト完了を通知する。CM520も同様に、ホスト装置から送信されたライトデータを所定の記録媒体521に書き込み(ステップS11b)、ホスト装置にライト完了を通知する。
CM510は、記録媒体511への書き込みとは非同期のタイミングで、記録媒体511に書き込まれたデータを分割領域(000)に格納(コピー)する(ステップS12a)。CM520も同様に、記録媒体522への書き込みとは非同期のタイミングで、記録媒体522に書き込まれたデータを分割領域(010)に格納(コピー)する(ステップS12b)。
その後、コピー元装置500では、分割領域(000),(010)の少なくとも一方の残容量がなくなるか、または一定時間が経過すると、バッファセットの切り替えが行われる。バッファセットの切り替えとは、ライトデータの格納先とする分割領域を切り替えることを指す。バッファセットの切り替え発生により、記録媒体511,512に書き込まれたデータの格納先は、次世代のバッファセットに属する分割領域(001),(011)にそれぞれ切り替えられる。これとともに、前世代のバッファセットに属する分割領域(000),(010)は、転送の対象となる。
CM510は、分割領域(000)の残容量がなくなるか、または一定時間が経過すると、分割領域(000)の分割領域に格納されたデータをまとめてコピー先装置600のCM610に転送する(ステップS13a)。CM520も同様に、分割領域(010)に格納されたデータをまとめてコピー先装置600のCM620に転送する(ステップS13b)。
CM610は、CM510から受信したデータを分割領域(100)に一時的に格納し、すべてのデータを格納すると、分割領域(100)に格納されたデータを記録媒体611に書き込む(ステップS14a)。CM620も同様に、CM520から受信したデータを分割領域(110)に一時的に格納し、すべてのデータを格納すると、分割領域(110)に格納されたデータを記録媒体621に書き込む(ステップS14b)。以下、バッファ612,622から記録媒体611,621への書き込みを「展開」と呼ぶ。
分割領域(100),(110)に格納されたデータの展開が完了すると、分割領域(000),(010),(100),(110)が属するバッファセットは未使用領域に戻される。このように分割領域が未使用領域に戻されることを「解放」と呼ぶ。
以上のように、コピー用のバッファを用い、バッファセット単位で装置間のデータ転送およびバッファから記録媒体へのデータの展開を行うことで、順序性が保証される。
ここで、図2を参照しながら説明を続ける。図2に示した本実施の形態に係るストレージシステムにおいても、ストレージ装置100とストレージ装置300との間では、基本的に図4に示した技術を用いて、順序性が保証された非同期コピーが行われる。また、ストレージ装置100に障害が発生した場合には、ホスト装置400からの要求に応じたアクセス制御をストレージ装置200が引き継ぐ。このとき、ストレージ装置200とストレージ装置300との間で、順序性が保証された非同期コピーをできるだけ短時間に引き継ぐことが、このストレージシステムでの1つの課題となる。
ストレージ装置100とストレージ装置200との間では、同期コピーにより常に同じデータが保持された状態となる。一方、ストレージ装置100とストレージ装置300との間で非同期コピーによるデータの転送中にストレージ装置100に障害が発生すると、ストレージ装置200とストレージ装置300との間ではデータが等価にならない。1つの方法として、ストレージ装置200とストレージ装置300との間でデータを等価にした後、ストレージ装置200がホスト装置400からの要求に応じたアクセス制御を再開する方法が考えられる。しかしこの場合、アクセス制御の再開までに時間がかかる。それに加えて、データを等価にする際に順序性が保証されるような制御が行われる必要がある。
このような問題に対して、本実施の形態では、ストレージ装置100が運用状態のとき、ストレージ装置200とストレージ装置300との間で「デルタコピーセッション」と呼ぶ擬似的なコピーセッションが設定される。このデルタコピーセッションでは、フェイルオーバ後の非同期コピーで利用するためのバッファをストレージ装置200にもあらかじめ設けておく。そして、バッファセットの切り替えや解放をストレージ装置100とストレージ装置200とで同期させることで、ストレージ装置200のバッファの制御状態をストレージ装置100のバッファと等価の状態に保つ。
これにより、フェイルオーバの直前にストレージ装置300との間で実行中であった、非同期コピーに係るデータ転送を、フェイルオーバ後にストレージ装置200が短時間で引き継ぐことを可能にする。これとともに、引き継いだデータ転送をバックグラウンドで実行しながら、ホスト装置400からの要求に応じたアクセス制御をストレージ装置200が短時間で引き継ぐことを可能にする。
図5は、各CMが備える処理機能の構成例を示すブロック図である。
まず、CM110は、制御部130、キャッシュ140、バッファ部150および管理情報記憶部160を有する。制御部130の処理は、プロセッサ111が所定のプログラムを実行することで実現される。キャッシュ140およびバッファ部150は、RAM112の記憶領域の一部によって実現される。管理情報記憶部160は、RAM112またはSSD113の記憶領域の一部によって実現される。
制御部130は、ホスト装置400からの要求に応じた論理ボリュームに対するアクセスを、キャッシュ140を用いて制御する。例えば、制御部130は、論理ボリュームに対するアクセスをライトスルー方式を用いて制御する。また、制御部130は、キャッシュ140に書き込んだデータのCM210,310に対するコピー処理を実行する。
キャッシュ140には、ホスト装置400からのアクセス対象の論理ボリュームに含まれる少なくとも一部のデータが、一時的に格納される。バッファ部150には、キャッシュ140からCM210,310に転送されるデータが一時的に格納される。管理情報記憶部160には、コピー処理で参照される各種の情報が格納される。
なお、図示しないが、CM110aもCM110と同様の処理機能を備える。ただし、バッファの世代管理といったリモートコピー処理全体の制御に関しては、CM110はマスタとして動作し、CM110aはスレーブとして動作する。
CM210は、制御部230、キャッシュ240、バッファ部250および管理情報記憶部260を有する。制御部230の処理は、CM210が備えるプロセッサが所定のプログラムを実行することで実現される。キャッシュ240およびバッファ部250は、CM210が備えるRAMの記憶領域の一部によって実現される。管理情報記憶部260は、CMが備えるRAMまたはSSDの記憶領域の一部によって実現される。
制御部230は、ストレージ装置100が運用状態のとき、CM110から転送されるデータをキャッシュ240に格納する処理を実行する。このとき、制御部230は、キャッシュ240に格納したデータについてのインデックス情報を、データ照合のためにCM310に送信する。また、障害発生によりストレージ装置100が停止すると、制御部230は、論理ボリュームに対するアクセス制御をCM110の制御部130から引き継ぐ。このとき、制御部230は、ホスト装置400からの要求に応じた論理ボリュームに対するアクセスを、キャッシュ240を用いて制御する。これとともに、制御部230は、キャッシュ240のデータを非同期でCM310にコピーする処理を実行する。
ストレージ装置100が運用状態のとき、キャッシュ240には、CM110のキャッシュ140に格納されたデータに対応するコピーデータが格納される。また、バッファ部250には、CM110から転送されたデータが一時的に格納される。ストレージ装置200が運用状態に遷移すると、キャッシュ240は論理ボリュームに対するアクセスのために利用され、バッファ部250には、キャッシュ240からCM310に転送されるデータが一時的に格納される。
管理情報記憶部260には、コピー処理で参照される各種の情報が格納される。
なお、図示しないが、CM210aもCM210と同様の処理機能を備える。
CM310は、制御部330、キャッシュ340、バッファ部350および管理情報記憶部360を有する。制御部330の処理は、CM310が備えるプロセッサが所定のプログラムを実行することで実現される。キャッシュ340およびバッファ部350は、CM310が備えるRAMの記憶領域の一部によって実現される。管理情報記憶部360は、CMが備えるRAMまたはSSDの記憶領域の一部によって実現される。
制御部330は、CM110,210のうち運用状態のCMから転送されたデータを、キャッシュ340に格納する。キャッシュ340には、CM110のキャッシュ140またはCM210のキャッシュ240に格納されたデータに対応するコピーデータが格納される。バッファ部350には、CM110またはCM210から転送されたデータが一時的に格納される。管理情報記憶部360には、コピー処理、すなわち受信したデータをキャッシュ340に格納する処理において参照される各種の情報が格納される。
なお、図示しないが、CM310aもCM310と同様の処理機能を備える。
図6は、コピーセッションテーブルの構成例を示す図である。本実施の形態では、ストレージ装置100が正常に運用されている状態において、ストレージ装置100とストレージ装置200との間では、同期コピーセッションが設定される。また、ストレージ装置100とストレージ装置300との間では、非同期コピーセッションが設定される。さらに、ストレージ装置200とストレージ装置300との間では、前述したデルタコピーセッションが設定される。
CM110の管理情報記憶部160には、ストレージ装置100に設定されたコピーセッションの情報を保持するコピーセッションテーブル161が保持される。同様に、CM210の管理情報記憶部260には、ストレージ装置200に設定されたコピーセッションの情報を保持するコピーセッションテーブル261が保持される。また、CM310の管理情報記憶部360には、ストレージ装置300に設定されたコピーセッションの情報を保持するコピーセッションテーブル361が保持される。
コピーセッションテーブル161,261,361は、対象装置、セッション種別、自装置の種別およびデルタ関連情報の項目を有する。対象装置の項目には、コピーセッションが設定されたストレージ装置の識別情報が登録される。なお、図6において、装置「A」,「B」,「C」は、それぞれストレージ装置100,200,300を示す。セッション種別の項目には、コピーセッションの種別が登録される。自装置の種別の項目には、自装置がコピーセッションにおけるコピー元かコピー先かを示す情報が登録される。
デルタ関連情報の項目には、同期コピーセッションまたは非同期コピーセッションが設定された装置が、デルタコピーセッションにおけるコピー元とコピー先のどちらになっているかを示す情報が登録される。デルタコピーセッションでは、デルタコピーセッションが設定されたストレージ装置間だけでなく、もう1台のストレージ装置との間で行われる処理がある。同期コピーセッションまたは非同期コピーセッションが設定されたCMは、デルタ関連情報を参照することで、デルタコピーセッションに関係するどのような処理を実行すべきかを認識することができる。
なお、図示しないが、CM110aの管理情報記憶部にも、コピーセッションテーブル161と同じ情報が登録されたコピーセッションテーブルが保持される。同様に、CM210aの管理情報記憶部には、コピーセッションテーブル261と同じ情報が登録されたコピーセッションテーブルが保持される。また、CM310aの管理情報記憶部には、コピーセッションテーブル361と同じ情報が登録されたコピーセッションテーブルが保持される。
図7は、バッファ部およびバッファセットテーブルの構成例を示す図である。
CM110のバッファ部150は、バッファ151とバッファインデックステーブル(BIT)152を含む。同様に、CM210のバッファ部250は、バッファ251とバッファインデックステーブル252を含み、CM310のバッファ部350は、バッファ351とバッファインデックステーブル352を含む。
バッファ151には、CM110からCM310に送信されるデータが一時的に格納される。バッファ251には、CM210がCM110から受信したデータが一時的に格納される。また、フェイルオーバ後には、バッファ251には、CM210からCM310に送信されるデータが一時的に格納される。バッファ351には、CM310がCM110またはCM210から受信したデータが一時的に格納される。バッファ151,251,351は、それぞれ同数の分割領域に分割されている。なお、各分割領域に記載された数字は、分割領域のIDを示す。
バッファインデックステーブル152には、バッファ151の各分割領域に格納されるデータのインデックスが登録される。インデックスは、データのアドレス情報を示し、具体的には論理ボリューム名、LBA(Logical Block Address)およびサイズを含む。同様に、バッファインデックステーブル252には、バッファ251の各分割領域に格納されるデータのインデックスが登録され、バッファインデックステーブル352には、バッファ351の各分割領域に格納されるデータのインデックスが登録される。
なお、図示しないが、CM110a,210a,310aのバッファ部も、バッファとインデックステーブルを含む。
CM110の管理情報記憶部160には、バッファセットテーブル162が保持される。バッファセットテーブル162には、非同期コピーセッションの処理において利用されるバッファセットを示す情報が登録される。バッファセットを示す情報は、コピー元の分割領域のIDとコピー先の分割領域のIDを含む。例えば図7では、コピー元が分割領域(0000)、コピー先が分割領域(2000)の組み合わせと、コピー元が分割領域(0100)、コピー先が分割領域(2100)の組み合わせとが、同一世代のバッファセットとして登録されている。
CM210の管理情報記憶部260には、バッファセットテーブル262が保持される。バッファセットテーブル262には、デルタコピーセッションの処理において利用されるバッファセットを示す情報が登録される。例えば図7では、コピー元が分割領域(1000)、コピー先が分割領域(2000)の組み合わせと、コピー元が分割領域(1100)、コピー先が分割領域(2100)の組み合わせとが、同一世代のバッファセットとして登録されている。
バッファセットテーブル162とバッファセットテーブル262との間では、コピー先として同じIDの分割領域が登録されたバッファセットが登録されており、このようなバッファセットが同一世代のバッファセットとして利用される。このような情報登録方法によれば、CM110からCM210に対してコピー先の分割領域のIDを送信することで、世代を通知できる。これにより、CM110とCM210との間で世代(バッファセット)の切り替えや解放の処理を同期させることができる。
なお、CM110aの管理情報記憶部にも、バッファセットテーブル162と同一の情報が登録されたバッファセットテーブルが保持される。また、CM210aの管理情報記憶部にも、バッファセットテーブル262と同一の情報が登録されたバッファセットテーブルが保持される。
次に、図8〜図10は、ストレージ装置がいずれも正常に動作している状態でのコピー処理例の概要を示す図である。
図8に示すように、初期状態では、ホスト装置400は書き込み要求をストレージ装置100に送信する。例えば、CM110は、ホスト装置400から書き込みが要求されたライトデータを受信すると(ステップS21a)、ライトデータをキャッシュ140に格納するとともに、ライトデータをCM210に送信する(ステップS21b)。送信されたライトデータは、CM210のキャッシュ240に格納される。CM110は、キャッシュ140,240にライトデータが格納されると、書き込み完了通知をホスト装置400に送信する。このようにしてCM110とCM210との間での同期コピーが実現される。なお、実際には、この時点でライトデータのインデックスがCM110のバッファインデックステーブル152とCM210のバッファインデックステーブル252とに登録される。
また、キャッシュ140,240へのライトデータの書き込みとは非同期のタイミングで、次のような処理が実行される。CM110は、非同期コピーセッションの処理として、ライトデータをインデックス情報に基づいてバッファ151の分割領域に格納する(ステップS22a)。また、CM210は、デルタコピーセッションの処理として、ライトデータをインデックス情報に基づいてバッファ251の分割領域に格納する(ステップS22b)。図8の例では、分割領域(0000),(1000)にライトデータが格納される。
上記手順により、ホスト装置400から送信されたデータがキャッシュ140,240に書き込まれる。これにより、キャッシュ140,240に格納されたデータは常に等価となる。また、この書き込みと並列に、キャッシュ140に書き込まれたデータがバッファ151に格納されるとともに、キャッシュ240に書き込まれたデータがバッファ251に格納される。インデックスが分割領域に対応付けて記録されていることから、バッファセットの切り替えが発生するまでにキャッシュ140,240にそれぞれ格納されたデータは、それぞれ分割領域(0000),(1000)に格納可能な状態となる。したがって、バッファ151,251に格納されるデータも実質的に常に等価となる。
なお、ホスト装置400はCM110aに対しても書き込み要求を送信できる。この書き込み要求に応じて、CM110a,210aは、それぞれCM110,210と同様の処理を実行する。
この後、図9に示すように、CM110は、ホスト装置400からデータの書き込み要求を受信したとき(ステップS31a)に、分割領域(0000)に空き領域がなく、そのデータを格納できないと判定したとする。このとき、CM110は、CM210に対してバッファセットの切り替えを通知する(ステップS31b)。これにより、これ以後にキャッシュ140,240に書き込まれるデータの書き込み先となる分割領域が、CM110とCM210とで同期して切り替えられる。換言すると、バッファセットの世代がCM110とCM210とで同期して切り替えられる。
すなわち、切り替え通知の後、キャッシュ140に書き込まれたライトデータはCM210に送信されてキャッシュ240に格納され(ステップS31c)、格納が完了すると、CM110からホスト装置400へ書き込み完了通知が送信される。そして、この後の非同期のタイミングで、ライトデータは、キャッシュ140,240から次世代のバッファセット、すなわち、分割領域(0001),(1001)にそれぞれ格納される(ステップS32a,S32b)。
なお、バッファセットの切り替え通知は、CM110a,210aにも通知される。これにより、CM110a,210aでもデータの格納先の分割領域が切り替えられる。
一方、前世代のバッファセットのデータについては次のような処理が実行される。CM110は、非同期コピーセッションの処理として、切り替えの発生前までにキャッシュ140に書き込まれたすべてのデータが分割領域(0000)に格納されると、その分割領域内のデータをCM310に転送する(ステップS33a)。すなわち、CM110は、分割領域単位でデータをまとめてCM310に転送する。このとき、CM110は、バッファ351における格納先の分割領域のID「2000」をデータとともに転送する。CM310は、受信したデータをバッファ351の分割領域(2000)に一時的に格納し、格納が完了すると、格納されたデータをキャッシュ340に書き込む(ステップS33b)。
また、CM210は、デルタコピーセッションの処理として、切り替えの発生前までにキャッシュ240に書き込まれたすべてのデータが分割領域(1000)に格納されると、格納されたデータを示すインデックスをCM310に転送する(ステップS33c)。すなわち、インデックスのみ転送され、格納されたデータの転送が抑止される点が、非同期コピーセッションとは異なるデルタコピーセッションの1つの特徴である。
CM310は、CM110から受信したデータとCM210から受信したインデックスとを照合する。そして、CM310は、照合に成功すると、図10に示すように、バッファセットの解放をCM110,210に通知する(ステップS41a,S41b)。CM110,210,310は、それぞれ分割領域(0000),(0001),(2001)を解放、すなわち未使用領域に戻す。
なお、CM310aも同様に、分割領域からキャッシュへのデータ格納が完了し、かつ、インデックスを用いた照合に成功すると、バッファセットの解放をCM110a,210aに通知する。これにより、CM110a,210a,310aでも同世代に属する分割領域が同期して解放される。
このように、本実施の形態のストレージシステムによれば、バッファセットの切り替えおよび解放のタイミングがストレージ装置100,200,300の間で同期される。これにより、どのようなタイミングでストレージ装置100の動作が停止した場合でも、ホスト装置400から書き込みが要求されたデータが世代ごとに確実に保存される。そのため、ストレージ装置200がフェイルオーバし、ストレージ装置200からストレージ装置300への非同期コピーセッションを、順序性を保証したまま再開することができる。
図11は、フェイルオーバしたときの処理例を示す図である。この図11を用いて、フェイルオーバしたときの処理の具体例を説明する。図11では、図9のように分割領域(0000)から分割領域(2000)へデータが転送されている途中で、ストレージ装置100の動作が停止した場合の処理例を示す。
ストレージ装置100の動作が停止すると、ホスト装置400が備えるアクセス先制御機能により、ホスト装置400からの書き込み要求先は、ストレージ装置100からストレージ装置200へ自動的に変更される。このとき、ホスト装置400が備える業務サーバ機能が認識する論理的な書き込み先ボリュームが変更されることなく、物理的な書き込み先が変更される。
また、ストレージ装置200は、ストレージ装置300との間に設定されていたデルタコピーセッションを、非同期コピーセッションに変更する(ステップS51)。そして、CM210は、現世代のデータ格納先として分割領域(1000)が使用中であることを認識し、ホスト装置400からの書き込み要求の受信を開始する。
CM210は、ホスト装置400から受信したライトデータをキャッシュ240に書き込む(ステップS52)とともに、そのライトデータのインデックスを分割領域(1001)に対応付けてバッファインデックステーブル252に記録する。CM210は、インデックスの記録が完了すると、ホスト装置400に書き込み完了通知を送信する。このようにして、ホスト装置400からの要求に応じたアクセス制御がCM110からCM210に引き継がれる。さらに、CM210は、所定のタイミングで、キャッシュ240に書き込まれたデータを分割領域(1001)に格納する(ステップS53)。
一方、前世代、すなわち分割領域(1000),(2000)に関する処理としては、次のような処理が実行される。ストレージ装置100の動作が停止した時点では、キャッシュ240から分割領域(1000)へのデータ格納が完了しているものとすると、分割領域(1000),(2000)にそれぞれ格納されているデータには差分がある。ここで、CM210は、分割領域(1000)に格納すべきすべてのデータのインデックスを保持している。このため、CM210は、CM310が保持している分割領域(2000)に対応するインデックスと、CM210が保持している分割領域(1000)とを比較して、分割領域(2000)と分割領域(1000)との差分データを判別できる。
CM210は、判別された差分データだけを分割領域(1000)からCM310の分割領域(2000)に転送する(ステップS54)。転送が完了し、かつ、分割領域(2000)のデータがキャッシュ340に書き込まれると、分割領域(1000),(2000)は解放される。
このように、バッファ(0000)からバッファ(2000)へのデータ転送が未完了であっても、バッファ(0000)と同一のデータがバッファ(1000)に保持されている。このため、CM210は、バッファ(1000)に保持されたデータを用いて未完了分のデータ転送を継続できる。この後、バッファ(1001)へのデータ格納が完了すると、バッファ(1001)のデータがバッファ(2001)に転送されるが、バッファ(2000)のデータがキャッシュ340に書き込まれる前にバッファ(2001)のデータがキャッシュ340に書き込まれることはない。したがって、CM310は、ホスト装置400からの書き込みの順序性を保証した状態のまま、キャッシュ340にデータを書き込むことができる。
また、上記のようなCM210による差分データの判別や転送の処理は、ホスト装置400からの書き込み要求に応じたキャッシュ240への書き込み制御と並行して実行できる。このため、ストレージ装置100の動作が停止したとき、CM210は、ホスト装置400からの要求に応じたアクセス制御を時間を空けずに引き継ぐとともに、そのバックグラウンドで、前世代のバッファセットに関する残りの処理を実行できる。なお、CM210aとCM310aについても同様である。
次に、ストレージシステムの処理手順についてシーケンス図を用いて説明する。以下の説明では、主としてCM110,210,310の処理について説明し、必要に応じてCM110a,210a,310aの処理についても補足して説明する。
まず、図12〜図16を用いて、ストレージ装置100,200,300が正常に動作している場合の処理を説明する。
図12は、バッファ初期設定プロセスの処理手順の例を示すシーケンス図である。
CM110の制御部130は、CM310に対してバッファ要求を送信する(ステップS101a)。CM210の制御部230も同様に、CM310に対してバッファ要求を送信する(ステップS101b)。CM310の制御部330は、バッファ351の領域をRAM上に確保し、確保した領域の情報、具体的にはバッファ351内の各分割領域のIDをCM110,210に通知する(ステップS102a,S102b)。
なお、実際には、CM110a,210aとCM310aとの間でも同様の処理が実行される。また、CM110aは、CM310aから通知されたバッファの情報と、CM110aに確保したバッファの情報とをCM110に通知する。同様に、CM210aは、CM310aから通知されたバッファの情報と、CM210aに確保したバッファの情報とをCM210に通知する。
これにより、CM110,210,310においてバッファセットが設定される。すなわち、CM110の制御部130は、バッファセットテーブル162を作成して、管理情報記憶部160に登録するとともに、CM110aに通知する(ステップS103a)。また、CM210の制御部230は、バッファセットテーブル262を作成して、管理情報記憶部260に登録するとともに、CM210aに通知する(ステップS103b)。CM310の制御部330は、確保したバッファの情報を図示しない管理情報に登録する(ステップS103c)。
図13は、ライトI/Oプロセスの処理手順の例を示すシーケンス図である。
CM110の制御部130は、現世代で使用するバッファセットを獲得する(ステップS111)。具体的には、制御部130は、バッファセットテーブル162から未使用のバッファセットを選択する。なお、図示しないが、制御部130は、獲得したバッファセットをCM110aに通知する。
次に、制御部130は、獲得したバッファセットに含まれるコピー先の分割領域のIDを、CM210に通知する(ステップS112)。CM210の制御部230は、通知された分割領域のIDに基づいて、現世代で使用するバッファセットを獲得する(ステップS113)。具体的には、制御部230は、バッファセットテーブル262から、通知された分割領域がコピー先として登録されたバッファセットを選択する。なお、図示しないが、制御部230は、獲得したバッファセットをCM210に通知する。制御部230は、バッファセット獲得の完了通知をCM110に送信する(ステップS114)。
以上の処理により、ストレージ装置100とストレージ装置200との間で、同じ世代に属する分割領域が対応付けられる。なお、ステップS112ではコピー先の分割領域のIDが通知されるが、他の例として、世代を識別する世代番号が通知されてもよい。
上記手順により現世代のバッファセットが獲得されると、ホスト装置400からの要求に応じたI/O処理が開始または再開される。制御部130は、ホスト装置400からデータの書き込み要求を受信し、ライトデータを受信する(ステップS115)。すると、制御部130は、現世代のバッファセットにおけるコピー元の分割領域に、受信したライトデータを格納できるだけの空き領域があるかを判定する(ステップS116)。
ステップS116で空き領域がないと判定された場合、図15に示す切り替え・解放プロセスが開始され(ステップS117)、ライトI/Oプロセスは終了する。この場合、CM110a,210,210aでのライトI/Oプロセスも終了する。
一方、ステップS116で空き領域があると判定された場合、制御部130は、ライトデータについてのインデックスをバッファインデックステーブル152における現世代の分割領域に対応する領域に書き込む。これとともに、制御部130は、ライトデータをキャッシュ140に書き込む(ステップS118)。そして、制御部130は、ライトデータをCM210に送信する(ステップS119)。このとき、バッファセットにおけるコピー先の分割領域のIDが、ライトデータに付加されて送信される。なお、コピー先の分割領域のIDの代わりに世代番号が付加されてもよい。
制御部230は、受信したライトデータについてのインデックスを、バッファインデックステーブル252における現世代の分割領域、すなわちライトデータに付加されたIDの分割領域に対応する領域に書き込む。これとともに、制御部230は、ライトデータをキャッシュ240に書き込む(ステップS120)。制御部230は、インデックスおよびライトデータの書き込みが完了すると、CM110に完了通知を送信する(ステップS121)。制御部130は、完了通知を受信すると、ホスト装置400に書き込みが完了したことを示す応答を送信する(ステップS122)。
以上のステップS115〜S122の処理は、一定時間が経過するまで繰り返し実行される。また、一定時間が経過した場合には、ステップS117と同様に切り替え・解放プロセスが開始され、ライトI/Oプロセスは終了する。
図14は、バッファ格納プロセスの処理手順の例を示すシーケンス図である。図14に示すバッファ格納プロセスは、図13に示したライトI/Oプロセスが開始された後の任意のタイミングで、ライトI/Oプロセスと並行して実行される。
CM110の制御部130は、ライトI/Oプロセスにおいてホスト装置400からの1回目の書き込み要求に対して応答した後(すなわち、図13のステップS122が1回目に実行された後)の任意のタイミングで、以下の処理を実行する。制御部130は、バッファインデックステーブル152に登録された現世代のバッファセットに対応するインデックスに基づいて、キャッシュ140に書き込まれたデータをバッファ151における現世代のバッファセットに属する分割領域に格納する(ステップS131a)。なお、現世代のバッファセットとは、図13のステップS111で獲得されたバッファセットである。制御部130は、該当するインデックスに対応するすべてのデータをバッファ151に格納したかを判定し(ステップS132a)、未格納のデータがある場合はステップS131aを再度実行し、すべてのデータの格納が完了すると処理を終了する。なお、CM110aの制御部も上記と同様の処理を実行する。
一方、CM210の制御部230は、ライトI/OプロセスにおいてCM110から受信した最初のデータをキャッシュ240に格納した後(すなわち、図13のステップS120が1回目に実行された後)の任意のタイミングで、以下の処理を実行する。制御部230は、バッファインデックステーブル252に登録された現世代のバッファセットに対応するインデックスに基づいて、キャッシュ240に書き込まれたデータをバッファ251における現世代のバッファセットに属する分割領域に格納する(ステップS131b)。なお、現世代のバッファセットとは、図13のステップS113で獲得されたバッファセットである。制御部230は、該当するインデックスに対応するすべてのデータをバッファ251に格納したかを判定し(ステップS132b)、未格納のデータがある場合はステップS131bを再度実行し、すべてのデータの格納が完了すると処理を終了する。なお、CM210aの制御部も上記と同様の処理を実行する。
図15、図16は、切り替え・解放プロセスの処理手順の例を示すシーケンス図である。図13に示したライトI/Oプロセスにおいてバッファセットの切り替え条件が満たされると、以下の切り替え・解放プロセスが開始される。切り替え条件が満たされる場合とは、図13のステップS116で空き領域がないと判定された場合か、または、図13の処理開始から一定時間が経過した場合である。
CM110の制御部130は、CM210に対してバッファセットの切り替えを通知する(ステップS141)。このとき、制御部130は、CM110a,210aに対してもバッファセットの切り替えを通知する。これにより、CM110,110a,210,210aにおいて、次世代のバッファセットを用いて図13のライトI/Oプロセスが開始される(ステップS142)。
次に、制御部130は、図14のステップS131aにおけるバッファ151へのデータ格納処理が完了したかを判定し(ステップS143a)、完了していない場合にはデータ格納処理の完了を待ち合わせる。そして、データ格納処理が完了すると、制御部130は、バッファ151における現世代のバッファセットに対応する分割領域に格納されたデータを、CM310に送信する(ステップS144a)。このとき、制御部130は、データの格納先とする分割領域のID(現世代のバッファセットにおけるコピー先の分割領域のID)を、データに付加して送信する。CM310の制御部330は、データを受信し、バッファ351の分割領域のうち、データに付加されたIDが示す分割領域に、受信したデータを格納する(ステップS144b)。
一方、CM210の制御部230は、図14のステップS131bにおけるバッファ251へのデータ格納処理が完了したかを判定し(ステップS143b)、完了していない場合にはデータ格納処理の完了を待ち合わせる。そして、データ格納処理が完了すると、制御部230は、バッファインデックステーブル252に登録された現世代のバッファセットに対応するインデックスを、CM310に送信する(ステップS145a)。CM310の制御部330は、CM210からのインデックスを受信し、例えばRAMに一時的に格納する(ステップS145b)。
制御部330は、ステップS145bで受信したインデックスを用いてデータの照合を行う(ステップS146)。具体的には、制御部330は、受信したすべてのインデックスに対応するデータを、ステップS144bで受信できたかを判定する。受信できたと判定されると、制御部330は、ステップS144bでバッファ351の分割領域に格納されたデータを、キャッシュ340に展開する(ステップS147)。
このようにステップS146の照合を行うことにより、CM210が保持するデータとCM310が保持するデータとを確実に等価にすることができ、ストレージシステムにおけるコピー処理の信頼性を向上させることができる。なお、ステップS146で照合に失敗した場合には、例えば、差分データがCM210からCM310に転送される。
ステップS147の展開が完了すると、制御部330は、バッファセットの解放をCM110,220に通知する(ステップS148a,S148b)。制御部130,230,330は、現世代のバッファセットに属する分割領域を解放する(ステップS149a,S149b,S149c)。制御部230は、解放が完了すると、解放の完了をCM110に通知する(ステップS150a)。また、制御部330は、解放が完了すると、解放の完了をCM110に通知する(ステップS150b)。
なお、図15、図16におけるステップS143a,S143b以後の処理は、CM110a,210a,310aでも実行される。ただし、ステップS149a〜S149cの解放が完了すると、解放の完了がCM110に通知される。
次に、図17〜図20を用いて、障害などによってストレージ装置100の動作が停止した場合の処理について説明する。
図17は、フェイルオーバプロセスの処理手順の例を示すシーケンス図である。
CM210の制御部230は、ストレージ装置100が停止したことを検知すると(ステップS161)、有効なバッファセットの世代を確認する(ステップS162)。有効なバッファセットとは、解放されていない使用中のバッファセットを指す。また、制御部230は、CM310に対してデルタコピーセッションのサスペンドを通知する(ステップS163)。さらに、制御部230は、CM310に対してデルタコピーセッションの動作モードを非同期モードに変更することを通知する(ステップS164)。なお、ステップS163,S164の通知は、CM210a,310aに対しても行われる。
これにより、CM210の制御部230およびCM310の制御部330は、デルタコピーセッションの動作モードを非同期コピーモードに変更する(ステップS165a,S165b)。非同期コピーモードでは、CM210とCM310との間で非同期コピーセッションと同様のコピー処理が行われる。CM210a,310aでも同様に、デルタコピーセッションの動作モードが非同期コピーモードに変更される。
この後、CM210,210a,310,310aでは、有効なバッファセットの世代のそれぞれについての処理が開始される(ステップS166)。有効なバッファセットの世代には、そのバッファセットの使用が開始されてからバッファセットの切り替えが行われていない「切り替え前世代」と、バッファセットの切り替えが行われた「切り替え済み世代」とがある。切り替え前世代については図18の処理が開始され、切り替え済み世代については図20の処理が開始される。
図18は、切り替え前世代についてのライトI/O再開プロセスの処理手順を示すシーケンス図である。切り替え前世代では、対応する分割領域が満たされる量のデータの書き込みがホスト装置400から要求される前に、ストレージ装置100が停止している。このため、CM210は、次のようなライトI/Oプロセスによって、ホスト装置400からの要求に応じた書き込み制御部をCM110から引き継ぐ。
ライトI/Oプロセスでは、まず、CM210の制御部230は、CM110から受信してキャッシュ240に書き込み済みのデータの中に、バッファ251の分割領域に格納済みのデータがあるかを判定する(ステップS171)。キャッシュ240に書き込み済みのデータとは、バッファインデックステーブル252に登録された該当世代(切り替え前世代)についてのインデックスに対応するデータである。また、格納済みのデータがある場合とは、キャッシュ240から分割領域への格納処理がすでに開始されている場合である。
格納済みのデータがある場合、制御部230は、キャッシュ240に書き込み済みのデータを分割領域に格納する、図18の右側に示すバッファ格納プロセスを、ライトI/Oプロセスと並行して即座に開始する(ステップS172)。一方、格納済みのデータがない場合、制御部230は、任意のタイミングでバッファ格納プロセスを開始する。
次に、制御部230は、ホスト装置400からの書き込み要求の送信先がストレージ装置200に変更されると、ホスト装置400からの書き込み要求の受信を開始する。すなわち、制御部230は、ホスト装置400からデータの書き込み要求を受信し、ライトデータを受信する(ステップS173)。制御部230は、ライトデータについてのインデックスをバッファインデックステーブル152における該当世代の分割領域に対応する領域に書き込む。これとともに、制御部230は、ライトデータをキャッシュ240に書き込む(ステップS174)。そして、制御部230は、ホスト装置400に書き込みが完了したことを示す応答を送信する(ステップS175)。
ステップS173〜S175の処理は、バッファセットの切り替え条件が満たされるまで繰り返される。切り替え条件が満たされる場合とは、該当世代の分割領域の残容量がなくなる場合か、または一定時間が経過した場合である。
一方、バッファ格納プロセスでは、制御部230は、バッファインデックステーブル252に登録された該当世代のバッファセットに対応するインデックスに基づいて、キャッシュ140に書き込まれたデータをバッファ251における該当世代の分割領域に格納する(ステップS181)。制御部230は、該当するインデックスに対応するすべてのデータを分割領域に格納したかを判定し(ステップS182)、未格納のデータがある場合はステップS181を再度実行し、すべてのデータの格納が完了すると処理を終了する。
図19は、切り替え前世代についての切り替え・解放プロセスの処理手順を示すシーケンス図である。
CM210の制御部230は、図18のライトI/O再開プロセスの実行中にバッファセットの切り替え条件が満たされたかを監視する(ステップS191)。そして、切り替え条件が満たされると、制御部230は、バッファセットの切り替え処理を実行する(ステップS192)。具体的には、制御部230は、CM210aにバッファセットの切り替えを通知し、新たなバッファセットを用いたライトI/Oプロセスを開始する。これにより、図19の処理と並行して、CM210,220でそれぞれ新たなバッファセットが獲得され、獲得されたバッファセットを用いて図18のステップS173〜S175の処理が実行される。
次に、制御部230は、図18のステップS181におけるバッファ251へのデータ格納処理が完了したかを判定し(ステップS193)、完了していない場合にはデータ格納処理の完了を待ち合わせる。そして、データ格納処理が完了すると、制御部230は、バッファ251における該当世代のバッファセットに対応する分割領域に格納されたデータを、CM310に送信する(ステップS194a)。このとき、制御部230は、データの格納先とする分割領域のIDを、データに付加して送信する。
CM310の制御部330は、データを受信し、バッファ351の分割領域のうち、データに付加されたIDが示す分割領域に、受信したデータを格納する(ステップS194b)。そして、制御部330は、分割領域へのデータの格納が完了すると、分割領域のデータをキャッシュ340に展開する(ステップS195)。
展開が完了すると、制御部330は、バッファセットの解放をCM210に通知する(ステップS196)。制御部230,330は、該当世代のバッファセットに属する分割領域を解放する(ステップS197a,197b)。制御部330は、解放が完了すると、解放の完了をCM210に通知する(ステップS198)。これにより、該当世代についてのコピー処理が完了する。
以上の図18、図19の処理により、ホスト装置400からの要求に応じたアクセス制御をCM210が短時間で引き継ぐことができる。これとともに、CM210は、引き継ぎ直前に獲得されていた最新世代のバッファセットを用いて非同期コピーを実行することができる。
図20は、切り替え済み世代についての再同期プロセスの処理手順を示すシーケンス図である。
CM210のキャッシュ240には、動作を停止したCM110のキャッシュ240と同じデータが書き込まれている。また、CM210のバッファインデックステーブル252には、該当する分割領域に格納すべきデータのインデックスが記録されている。そこで、CM210の制御部230は、このインデックスに基づいて、キャッシュ240から該当する分割領域に対するデータの格納が完了しているかを判定する(ステップS201)。完了していない場合、制御部230は、インデックスに基づいて、キャッシュ240から該当する分割領域に対してデータを格納する(ステップS202)。一方、完了している場合にはステップS202の処理はスキップされる。
次に、制御部230は、該当世代のバッファセットに属するコピー先の分割領域のIDを指定して、この分割領域に対応するインデックスの送信をCM310に要求する。CM310の制御部330は、指定された分割領域に対応するインデックスをバッファインデックステーブル352から読み出し、CM210に送信する(ステップS203)。
制御部230は、ステップS201で参照したインデックスと、CM310から受信したインデックスとを比較する。制御部230は、その比較結果に基づいて、CM210の該当する分割領域に格納されているデータとCM310の該当する分割領域に格納されているデータとの差分データを判別する。制御部230は、差分データを分割領域から読み出し、格納先の分割領域のIDとともにCM310に送信する(ステップS204a)。制御部330は、差分データを受信して、該当する分割領域に格納する(ステップS204b)。これにより、該当世代のバッファセットに属するコピー元の分割領域とコピー先の分割領域とが等価になる。
差分データの格納が完了すると、制御部330は、分割領域に格納されているすべてのデータをキャッシュ340に展開する(ステップS205)。展開が完了すると、制御部330は、バッファセットの解放をCM210に通知する(ステップS206)。そして、制御部230,330は、該当世代のバッファセットに属する分割領域を解放する(ステップS207a,S207b)。制御部330は、解放が完了すると、解放の完了をCM210に通知する(ステップS208)。
なお、以上の図20の処理は、CM210a,310aでも実行される。ただし、ステップS207a,S207bの解放が完了すると、解放の完了がCM210に通知される。
以上の処理では、図18、図19の処理と、図20の処理のそれぞれにおいて、バッファセット単位でCM210からCM310へのデータ転送が行われる。これにより、フェイルオーバ後も順序性が保証された非同期コピーを実行できる。
また、図18、図19の処理と図20の処理とは並行して実行される。これにより、例えば、図18のステップS173〜S175におけるホスト装置400からの要求に応じたアクセス制御処理を開始したとき、そのバックグラウンドで、図20における異なる世代についてのデータコピー処理を実行できる。したがって、順序性を保った状態でデータをストレージ装置300にバックアップできるだけでなく、ホスト装置400からの要求に応じたアクセス制御をストレージ装置200が短時間で引き継ぐことができる。
なお、上記の各実施の形態に示した装置(例えば、制御装置10,20,30、CM110,110a,210,210a,310,310a)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
1 ホスト装置
10,20,30 制御装置
11,21,31 記録媒体
12,22,32 バッファ
12a,12b,22a,22b,32a,32b 領域
13,23,33 制御部

Claims (6)

  1. 第1の制御装置と、第2の制御装置と、第3の制御装置とを有するストレージシステムであって、
    前記第1の制御装置は、
    第1の領域と第2の領域とを有する第1のバッファと、
    ホスト装置から書き込みが要求されたデータを、第1の記録媒体に書き込むとともに前記第2の制御装置に送信し、前記ホスト装置に書き込み完了を通知する同期コピー処理と、前記第1の記録媒体に書き込まれたデータを前記第1の領域に格納し、所定の条件が満たされると、バッファ切り替えを前記第2の制御装置に通知するとともに、その通知後に前記第1の記録媒体に書き込まれるデータの前記第1のバッファにおける格納先を前記第2の領域に切り替える格納処理と、前記第1の領域に格納された第1のデータをまとめて前記第3の制御装置に送信し、前記第2の領域に格納された第2のデータをまとめて前記第3の制御装置に送信する非同期コピー処理と、を実行する第1の制御部と、
    を有し、
    前記第2の制御装置は、
    第3の領域と第4の領域とを有する第2のバッファと、
    前記第1の制御部から送信された前記第1のデータを第2の記録媒体と前記第3の領域とに格納し、前記バッファ切り替えが通知されると、その通知後に前記第1の制御部から送信された前記第2のデータを前記第2の記録媒体と前記第4の領域とに格納する第2の制御部と、
    を有し、
    前記第3の制御装置は、
    第5の領域と第6の領域とを有する第3のバッファと、
    前記第1のデータを受信して前記第5の領域を介して第3の記録媒体に格納し、前記第2のデータを受信して前記第6の領域を介して前記第3の記録媒体に格納する第3の制御部と、
    を有するストレージシステム。
  2. 前記第2の制御部は、前記バッファ切り替えの通知後に前記第1の制御装置が停止すると、前記ホスト装置からの書き込み要求の受信処理を前記第1の制御部から引き継いで、書き込みが要求されたデータを前記第2の記録媒体と前記第4の領域とに格納するとともに、前記第3の領域に格納された前記第1のデータを前記第3の制御装置に送信し、
    前記第3の制御部は、前記第2の制御部から送信された前記第1のデータを受信し、前記第5の領域を介して前記第3の記録媒体に格納する、
    請求項1記載のストレージシステム。
  3. 前記第2の制御部は、前記バッファ切り替えの通知後に前記第1の制御装置が停止すると、前記第1のデータのうち前記第3の制御装置が前記第1の制御装置から未受信のデータを、前記第3の領域から前記第3の制御装置に送信する、
    請求項2記載のストレージシステム。
  4. 前記第2の制御部は、前記ホスト装置から書き込みが要求されたデータの受信および前記第2の記録媒体と前記第4の領域とに対する格納と、前記第3の領域から前記第3の制御装置に対する前記未受信のデータの送信とを、並行して実行する、
    請求項3記載のストレージシステム。
  5. 前記第1の制御装置が動作中の状態において、前記第3の制御部は、前記第1の制御部から受信した前記第1のデータを前記第5の領域を介して前記第3の記録媒体に格納する処理が完了すると、バッファ解放を前記第1の制御装置と前記第2の制御装置とに通知するとともに、前記第5の領域を未使用領域に変更し、
    前記第1の制御部は、前記バッファ解放の通知に応じて前記第1の領域を未使用領域に変更し、
    前記第2の制御部は、前記バッファ解放の通知に応じて前記第3の領域を未使用領域に変更する、
    請求項1乃至4のいずれか1項に記載のストレージシステム。
  6. 前記所定の条件は、前記第1のデータとして前記第1の領域と同容量のデータが前記第1の記録媒体に書き込まれることである、
    請求項1乃至5のいずれか1項に記載のストレージシステム。
JP2016049351A 2016-03-14 2016-03-14 ストレージシステム Active JP6708923B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016049351A JP6708923B2 (ja) 2016-03-14 2016-03-14 ストレージシステム
US15/450,086 US10007467B2 (en) 2016-03-14 2017-03-06 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016049351A JP6708923B2 (ja) 2016-03-14 2016-03-14 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2017167602A true JP2017167602A (ja) 2017-09-21
JP6708923B2 JP6708923B2 (ja) 2020-06-10

Family

ID=59786738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016049351A Active JP6708923B2 (ja) 2016-03-14 2016-03-14 ストレージシステム

Country Status (2)

Country Link
US (1) US10007467B2 (ja)
JP (1) JP6708923B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019191801A (ja) * 2018-04-23 2019-10-31 富士通株式会社 ストレージシステムおよび制御装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10620868B1 (en) * 2019-03-22 2020-04-14 Hitachi, Ltd. Storage system and data transfer method
JP6898393B2 (ja) 2019-03-22 2021-07-07 株式会社日立製作所 ストレージシステム及びデータ転送方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119745A (ja) * 2004-10-19 2006-05-11 Hitachi Ltd コンピュータシステム及びコンピュータシステムの制御方法
JP2007066154A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd データをコピーして複数の記憶装置に格納するストレージシステム
JP2011158948A (ja) * 2010-01-29 2011-08-18 Fujitsu Ltd ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
JP4422519B2 (ja) 2004-03-18 2010-02-24 株式会社日立製作所 情報処理システム
JP4355674B2 (ja) 2005-03-17 2009-11-04 富士通株式会社 リモートコピー方法及びストレージシステム
JP4774085B2 (ja) 2008-07-31 2011-09-14 富士通株式会社 ストレージシステム
JP5387315B2 (ja) 2009-10-13 2014-01-15 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
JP5397148B2 (ja) 2009-10-16 2014-01-22 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
JP5593718B2 (ja) 2010-02-05 2014-09-24 富士通株式会社 ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法
JP5593792B2 (ja) 2010-03-31 2014-09-24 富士通株式会社 Raid装置、記憶制御方法、および、記憶制御プログラム
JP5521816B2 (ja) 2010-06-18 2014-06-18 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
JP5263237B2 (ja) 2010-08-02 2013-08-14 富士通株式会社 ストレージシステム
JP6011153B2 (ja) * 2012-08-22 2016-10-19 富士通株式会社 ストレージシステム、ストレージ制御方法およびストレージ制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119745A (ja) * 2004-10-19 2006-05-11 Hitachi Ltd コンピュータシステム及びコンピュータシステムの制御方法
JP2007066154A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd データをコピーして複数の記憶装置に格納するストレージシステム
JP2011158948A (ja) * 2010-01-29 2011-08-18 Fujitsu Ltd ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019191801A (ja) * 2018-04-23 2019-10-31 富士通株式会社 ストレージシステムおよび制御装置

Also Published As

Publication number Publication date
US10007467B2 (en) 2018-06-26
US20170262184A1 (en) 2017-09-14
JP6708923B2 (ja) 2020-06-10

Similar Documents

Publication Publication Date Title
US7613749B2 (en) System and method for application fault tolerance and recovery using topologically remotely located computing devices
US9471449B2 (en) Performing mirroring of a logical storage unit
US8639976B2 (en) Power failure management in components of storage area network
JP5192226B2 (ja) 待機系計算機の追加方法、計算機及び計算機システム
US9983935B2 (en) Storage checkpointing in a mirrored virtual machine system
TWI522807B (zh) 利用儲存區域網路回復電腦系統的系統及方法
KR20110044858A (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
US10459813B2 (en) System and device for synchronizing data in a plurality of devices
CN106537364A (zh) 存储事务
JP6708923B2 (ja) ストレージシステム
CN111158955B (zh) 一种基于卷复制的高可用系统以及多服务器数据同步方法
JP2016212506A (ja) 情報処理システム、制御装置および制御プログラム
JP2016119062A (ja) ストレージ装置、ストレージシステムおよびストレージ制御プログラム
JP2009265973A (ja) データ同期システム、障害復旧方法、及び、プログラム
JP6237925B2 (ja) クラスタシステム及びクラスタ制御方法
US11675673B2 (en) System and method for promoting fractured volumes
JP2014032515A (ja) ストレージ装置及びストレージシステム
US10656867B2 (en) Computer system, data management method, and data management program
CN107515723B (zh) 用于管理存储系统中的存储器的方法和系统
JP7050707B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム
US8930485B2 (en) Information processing apparatus and non-transitory computer-readable recording medium having program stored thereon
JP2009205630A (ja) フォールトトレラントサーバ、フルバックアップ方法、およびフルバックアッププログラム
JP6701846B2 (ja) 管理装置、バックアップシステム、バックアップ管理方法、プログラム
JP2019191801A (ja) ストレージシステムおよび制御装置
JP2016110173A (ja) フォールトトレラントシステム、稼働系装置、待機系装置、フェイルオーバー方法、および、フェイルオーバープログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191225

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20191225

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20191225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200504

R150 Certificate of patent or registration of utility model

Ref document number: 6708923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150