JP2018169863A - Storage system, storage control device and copy control method - Google Patents
Storage system, storage control device and copy control method Download PDFInfo
- Publication number
- JP2018169863A JP2018169863A JP2017067429A JP2017067429A JP2018169863A JP 2018169863 A JP2018169863 A JP 2018169863A JP 2017067429 A JP2017067429 A JP 2017067429A JP 2017067429 A JP2017067429 A JP 2017067429A JP 2018169863 A JP2018169863 A JP 2018169863A
- Authority
- JP
- Japan
- Prior art keywords
- copy
- volume
- restore
- pairs
- management information
- 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
Links
Images
Abstract
Description
本発明は、ストレージシステム、ストレージ制御装置およびコピー制御方法に関する。 The present invention relates to a storage system, a storage control device, and a copy control method.
ストレージシステムにおけるデータのバックアップ手法の1つとして、コピー元ボリュームのブロックのうち、更新されたブロックのデータのみを、コピー先ボリュームにコピーする手法がある。また、バックアップ用のボリュームを複数用意し、これらのボリュームを利用して過去の複数世代のバックアップデータを保存しておく手法もある。後者の手法によれば、コピー元ボリュームの状態を、過去の複数世代の中から選択された世代の状態にリストアすることができる。 As one of data backup methods in the storage system, there is a method of copying only the updated block data among the blocks of the copy source volume to the copy destination volume. There is also a method of preparing a plurality of backup volumes and storing past generations of backup data using these volumes. According to the latter method, the state of the copy source volume can be restored to the state of a generation selected from a plurality of past generations.
後者の手法を用いた技術の一例として、リストアの対象となるリストア世代から最新の世代までの各世代に対応する更新情報を生成し、最も古い世代の更新情報に基づき、当該世代のバックアップボリュームに記憶された更新前データをリストア世代のデータとして抽出するストレージ装置が提案されている。 As an example of the technology using the latter method, update information corresponding to each generation from the restoration generation to be restored to the latest generation is generated, and the backup volume of the generation is stored based on the update information of the oldest generation. A storage device that extracts stored pre-update data as restore generation data has been proposed.
また、他の一例として、正サイトの正ボリュームの更新が行われて発生した差分データと差分管理情報とが、副サイトに送信され、副サイトでは、差分データが世代ごとに区切られて世代管理ボリュームに記憶されるようにしたストレージシステムが提案されている。 As another example, the difference data and difference management information generated by updating the primary volume of the primary site are sent to the secondary site, and the difference data is divided into generations at the secondary site. A storage system that is stored in a volume has been proposed.
ところで、過去の複数世代のバックアップデータを保存する手法として、次のような手法が考えられる。この手法では、コピー元ボリュームからコピー先ボリュームへのコピーセッションを複数設定しておく。これとともに、ある1つのコピーセッションにおけるコピー先ボリュームが他の1つのコピーセッションにおけるコピー元ボリュームとなるように、複数のコピーセッションをカスケード状に接続する。なお、各コピーセッションでは、コピー元ボリュームにおいて更新されたブロックを管理する管理情報を用いて、差分コピーが行われるものとする。 By the way, as a method for storing past multiple generations of backup data, the following method can be considered. In this method, a plurality of copy sessions from the copy source volume to the copy destination volume are set in advance. At the same time, a plurality of copy sessions are connected in cascade so that the copy destination volume in one copy session becomes the copy source volume in another one copy session. In each copy session, it is assumed that differential copying is performed using management information for managing blocks updated in the copy source volume.
このような構成では、コピー方向(コピー元からコピー先への方向)に対して前方のコピーセッションから順にコピー処理を実行していくことで、各ボリュームは世代の異なるバックアップデータを保存しておくことができる。 In such a configuration, each volume stores backup data of different generations by executing copy processing in order from the preceding copy session in the copy direction (direction from the copy source to the copy destination). be able to.
しかし、この構成において、最新世代から2世代以上前のバックアップデータを用いてリストアを行う場合には、次のような問題がある。リストア方法の1つとしては、リストア元ボリュームのすべてのデータをリストア先ボリュームにコピーする方法がある。しかし、この方法では、コピーされるデータ量が膨大になるため、リストア処理にかかる時間が長いという問題がある。 However, in this configuration, when restoration is performed using backup data two or more generations before the latest generation, there are the following problems. One of the restore methods is a method of copying all data of the restore source volume to the restore destination volume. However, this method has a problem in that the amount of data to be copied becomes enormous and the time required for restoration processing is long.
一方、差分コピーを用いる方法としては、上記のコピー方向に対して前方のコピーセッションから順に、コピー先ボリュームのデータをコピー元ボリュームに差分コピーしていく方法がある。しかし、この方法では、ボリューム間のコピー処理が複数回実行されるため、リストア処理にかかる時間が長いという問題がある。 On the other hand, as a method using differential copy, there is a method of differentially copying the data of the copy destination volume to the copy source volume in order from the copy session ahead in the copy direction. However, this method has a problem that the restore process takes a long time because the copy process between volumes is executed a plurality of times.
1つの側面では、本発明は、リストア処理時間が短縮されたストレージシステム、ストレージ制御装置およびコピー制御方法を提供することを目的とする。 In one aspect, an object of the present invention is to provide a storage system, a storage control device, and a copy control method in which restore processing time is shortened.
1つの案では、第1のストレージ装置と、第2のストレージ装置とを有するストレージシステムが提供される。このストレージシステムでは、第1のストレージ装置と第2のストレージ装置のいずれかに含まれる複数のボリュームから選択されるコピー元ボリュームとコピー先ボリュームとをそれぞれ有する複数のボリュームペアであって、コピー元ボリュームが第1のストレージ装置に含まれコピー先ボリュームが第2のストレージ装置に含まれるボリュームペアを含む複数のボリュームペアが存在する。また、データのコピー方向に対して後方側のボリュームペアのコピー先ボリュームが前方側のボリュームペアのコピー元ボリュームとして設定され、かつ、コピー方向が第1のストレージ装置から第2のストレージ装置への方向となるように、複数のボリュームペアがカスケード状に接続される。 In one proposal, a storage system having a first storage device and a second storage device is provided. In this storage system, a plurality of volume pairs each having a copy source volume and a copy destination volume selected from a plurality of volumes included in either the first storage device or the second storage device, There are a plurality of volume pairs including a volume pair whose volume is included in the first storage device and whose copy destination volume is included in the second storage device. Also, the copy destination volume of the rear volume pair with respect to the data copy direction is set as the copy source volume of the front volume pair, and the copy direction is changed from the first storage device to the second storage device. A plurality of volume pairs are connected in cascade so as to be in the direction.
このような状態において、第1のストレージ装置は、第1の記憶部、バックアップ制御部および第1のリストア制御部を有する。第1の記憶部は、複数のボリュームペアのそれぞれに対応し、複数のボリュームペアのそれぞれのコピー元ボリュームにおける更新されたブロックを示す複数のコピー管理情報のうち、コピー元ボリュームが第1のストレージ装置に含まれる1以上の第1のボリュームペアにそれぞれ対応する1以上の第1のコピー管理情報を記憶する。バックアップ制御部は、複数のボリュームペアのそれぞれについて、コピー方向に対して前方側のボリュームペアから順に、複数のコピー管理情報のうちの対応するコピー管理情報に基づいてコピー元ボリュームからコピー先ボリュームに対して差分コピーするバックアップ処理を実行させる。第1のリストア制御部は、リストア実行指示に応じて、複数のボリュームペアの中から1以上の第1のボリュームペアを特定し、1以上の第1のコピー管理情報に基づいて、1以上の第1のボリュームペアに含まれるコピー元ボリュームの間で1回以上データが更新されたブロックを示す第1のリストア制御情報を生成し、第1のリストア制御情報を第2のストレージ装置に送信する。 In such a state, the first storage device has a first storage unit, a backup control unit, and a first restore control unit. The first storage unit corresponds to each of the plurality of volume pairs, and the copy source volume of the plurality of copy management information indicating the updated block in each copy source volume of the plurality of volume pairs is the first storage One or more first copy management information respectively corresponding to one or more first volume pairs included in the apparatus is stored. For each of the plurality of volume pairs, the backup control unit sequentially changes from the copy source volume to the copy destination volume based on the corresponding copy management information of the plurality of copy management information in order from the volume pair on the front side in the copy direction. The backup process for differential copy is executed. The first restore control unit identifies one or more first volume pairs from the plurality of volume pairs in response to the restore execution instruction, and determines one or more first volume pairs based on the one or more first copy management information. First restore control information indicating a block whose data has been updated at least once between copy source volumes included in the first volume pair is generated, and the first restore control information is transmitted to the second storage device. .
また、第2のストレージ装置は、第2の記憶部と第2のリストア制御部を有する。第2の記憶部は、複数のコピー管理情報のうち、コピー元ボリュームが第2のストレージ装置に含まれる1以上の第2のボリュームペアにそれぞれ対応する1以上の第2のコピー管理情報を記憶する。第2のリストア制御部は、第1のリストア制御情報を受信し、複数のボリュームペアの中から1以上の第2のボリュームペアを特定し、受信した第1のリストア制御情報と1以上の第2のコピー管理情報とに基づいて、複数のボリュームペアに含まれるコピー元ボリュームの間で1回以上データが更新されたブロックを示す第2のリストア制御情報を生成し、複数のボリュームペアのうちコピー方向に対して最も前方側の第3のボリュームペアに含まれるコピー先ボリュームから、複数のボリュームペアのうち最も後方側の第4のボリュームペアに含まれるコピー元ボリュームに対して、第2のリストア制御情報に基づいて差分コピーするリストア処理を実行する。 Further, the second storage device has a second storage unit and a second restore control unit. The second storage unit stores one or more second copy management information corresponding to one or more second volume pairs in which the copy source volume is included in the second storage device among the plurality of copy management information. To do. The second restore control unit receives the first restore control information, identifies one or more second volume pairs from the plurality of volume pairs, and receives the received first restore control information and one or more first restore control information. Based on the second copy management information, second restore control information indicating a block whose data has been updated at least once among copy source volumes included in the plurality of volume pairs is generated. From the copy destination volume included in the third volume pair on the foremost side with respect to the copy direction, to the copy source volume included in the fourth volume pair on the most rear side among the plurality of volume pairs, the second A restore process for differential copy is executed based on the restore control information.
また、1つの案では、上記の第1のストレージ装置と同様の処理を実行するストレージ制御装置が提供される。
さらに、1つの案では、上記の第2のストレージ装置と同様の処理を実行するストレージ制御装置が提供される。
Further, in one proposal, a storage control device that performs the same processing as the first storage device is provided.
Furthermore, in one proposal, a storage control device that performs the same processing as that of the second storage device is provided.
また、1つの案では、上記のストレージシステムと同様の処理が実行されるコピー制御方法が提供される。 Further, in one proposal, a copy control method is provided in which processing similar to that of the above storage system is executed.
1つの側面では、リストア処理時間を短縮できる。 In one aspect, restore processing time can be reduced.
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。図1に示すストレージシステムは、ストレージ装置1とストレージ装置2とを有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a configuration example and a processing example of the storage system according to the first embodiment. The storage system shown in FIG. 1 includes a
ストレージ装置1は、ボリューム11,12を有する。ボリューム11,12は、例えば、ストレージ装置1が備える記憶装置(図示せず)によって実現される記憶領域である。ストレージ装置2は、ボリューム13,14を有する。ボリューム13,14は、例えば、ストレージ装置2が備える記憶装置(図示せず)によって実現される記憶領域である。なお、本実施の形態では、ボリューム11〜14は同じ容量であり、それぞれブロックBL0〜BL3に分割されるものとする。
The
また、ストレージシステムでは、コピーが行われるボリュームのペアであるボリュームペア21〜23が設定されている。ボリュームペア21は、ボリューム11をコピー元とし、ボリューム12をコピー先とするペアである。ボリュームペア22は、ボリューム12をコピー元とし、ボリューム13をコピー先とするペアである。ボリュームペア23は、ボリューム13をコピー元とし、ボリューム14をコピー先とするペアである。
In the storage system, volume pairs 21 to 23 that are pairs of volumes to be copied are set. The
さらに、ストレージシステムでは、コピー方向Dに対して後方側のボリュームペアのコピー先ボリュームが前方側のボリュームペアのコピー元ボリュームとなるように、ボリュームペア21〜23がカスケード状に接続されている。具体的には、ボリュームペア21のコピー先であるボリューム12は、ボリュームペア22のコピー元として設定されている。また、ボリュームペア22のコピー先であるボリューム13は、ボリュームペア23のコピー元として設定されている。なお、本実施の形態では、コピー方向Dは、ストレージ装置1からストレージ装置2への方向である。
Further, in the storage system, the volume pairs 21 to 23 are connected in cascade so that the copy destination volume of the rear volume pair with respect to the copy direction D becomes the copy source volume of the front volume pair. Specifically, the
また、ボリュームペア21,22,23には、それぞれコピー管理情報21a,22a,23aが対応付けられている。コピー管理情報21aは、ボリュームペア21のコピー元のボリューム11における更新されたブロックを示す情報を保持する。コピー管理情報22aは、ボリュームペア22のコピー元のボリューム12における更新されたブロックを示す情報を保持する。コピー管理情報23aは、ボリュームペア23のコピー元のボリューム13における更新されたブロックを示す情報を保持する。コピー管理情報21a,22a,23aは、それぞれボリュームペア21,22,23でのコピー処理で差分コピーを実行するために利用される。
Further,
本実施の形態では、例として、コピー管理情報21a〜23aは、ボリューム内のブロックごとのビットを有する。ビットには、対応するブロックが更新されている場合には「1」がセットされ、更新されていない場合には「0」がセットされる。なお、本実施の形態では、ボリューム11〜14は4つのブロックを含むので、コピー管理情報21a〜23aはいずれも4ビットのビット値を有する。
In the present embodiment, as an example, the
カスケード接続されたボリュームペア21〜23では、通常は、コピー元ボリュームとコピー先ボリュームが切り離された状態とされる。そして、この状態で、ストレージ装置1は、図示しないホスト装置などからのボリューム11に対する読み書きのアクセスを受け付ける。そして、後述するバックアップ処理の実行により、ボリューム13のデータがボリューム14に、ボリューム12のデータがボリューム13に、ボリューム11のデータがボリューム12に、それぞれバックアップされる。
In the cascade-connected volume pairs 21 to 23, the copy source volume and the copy destination volume are usually separated. In this state, the
ストレージ装置1は、記憶部1a、バックアップ制御部1bおよびリストア制御部1cを有する。記憶部1aは、例えば、ストレージ装置1が有する制御装置(図示せず)の記憶装置の記憶領域として実装される。バックアップ制御部1bおよびリストア制御部1cの処理は、例えば、ストレージ装置1が有する制御装置(図示せず)のプロセッサが、所定のプログラムを実行することで実現される。
The
一方、ストレージ装置2は、記憶部2aおよびリストア制御部2bを有する。記憶部2aは、例えば、ストレージ装置2が有する制御装置(図示せず)の記憶装置の記憶領域として実装される。リストア制御部2bの処理は、例えば、ストレージ装置2が有する制御装置(図示せず)のプロセッサが、所定のプログラムを実行することで実現される。
On the other hand, the
ストレージ装置1の記憶部1aには、コピー管理情報21a,22aが記憶される。一方、ストレージ装置2の記憶部2aには、コピー管理情報23aが記憶される。ここで、コピー管理情報21a,22aが記憶部1aに記憶され、コピー管理情報23aが記憶部2aに記憶される理由は、各ボリュームペアでのコピー処理が、コピー元ボリュームを含むストレージ装置が主体となって制御されるからである。すなわち、ボリュームペア21,22でのコピー処理はストレージ装置1が主体となって制御され、その際にコピー管理情報21a,22aが参照される。また、ボリュームペア23でのコピー処理はストレージ装置2が主体となって制御され、その際にコピー管理情報23aが参照される。
ストレージ装置1のバックアップ制御部1bは、カスケード状に接続されたボリュームペア21〜23を用いたバックアップ処理を実行させる(ステップS1)。このバックアップ処理では、ボリュームペア23,22,21の順に差分コピーが行われることで、ボリューム11〜14に、それぞれ異なる世代のバックアップデータが保持される。バックアップ処理は、具体的には次のように実行される。
The
まず、ストレージ装置2は、コピー管理情報23aを用いて、ボリューム13からボリューム14への差分コピーを実行する(ステップS1a)。この処理では、ストレージ装置2は、ボリューム13のブロックのうち、コピー管理情報23aにおいて「1」がセットされているビットに対応するブロックのデータだけを、ボリューム14にコピーする。また、ストレージ装置2は、コピー管理情報23aのビットのうち、コピーが完了したブロックに対応するビットのビット値を「0」に更新する。
First, the
次に、ストレージ装置1は、コピー管理情報22aを用いて、ボリューム12からボリューム13への差分コピーを実行する(ステップS1b)。この処理では、ストレージ装置1は、ボリューム12のブロックのうち、コピー管理情報22aにおいて「1」がセットされているビットに対応するブロックのデータだけを、ボリューム13にコピーする。また、ストレージ装置1は、コピー管理情報22aのビットのうち、コピーが完了したブロックに対応するビットのビット値を「0」に更新する。一方、ストレージ装置2は、コピー管理情報23aのビットのうち、ボリューム13においてコピーが行われたブロックに対応するビット値を「1」に更新する。
Next, the
次に、ストレージ装置1は、コピー管理情報21aを用いて、ボリューム11からボリューム12への差分コピーを実行する(ステップS1c)。この処理では、ストレージ装置1は、ボリューム11のブロックのうち、コピー管理情報21aにおいて「1」がセットされているビットに対応するブロックのデータだけを、ボリューム12にコピーする。また、ストレージ装置1は、コピー管理情報21aのビットのうち、コピーが完了したブロックに対応するビットのビット値を「0」に更新する。さらに、ストレージ装置1は、コピー管理情報22aのビットのうち、ボリューム12においてコピーが行われたブロックに対応するビット値を「1」に更新する。
Next, the
ストレージ装置1は、以上の処理が完了し、ボリューム11〜14が切り離された状態で、ボリューム11に対するアクセスの受け付けを再開する。これにより、ボリューム11に最新世代のデータが保持され、ボリューム12,13,14の順により古い世代のバックアップボリュームが保持される。
The
リストア制御部1c,2bは、互いに連携しながらリストア処理を実行する。以下、ボリューム14をリストア元とし、ボリューム11をリストア先としてリストア処理が実行される場合について説明する。
The restore
まず、リストア制御部1cは、リストア実行指示に応じて、ボリュームペア21〜23の中から、コピー元ボリュームがストレージ装置1に含まれるボリュームペア21,22を特定する。そして、リストア制御部1cは、ボリュームペア21,22に対応するコピー管理情報21a,22aに基づいて、ボリュームペア21,22に含まれるコピー元のボリューム11,12の間で1回以上データが更新されたブロックを示すリストア制御情報31を作成する(ステップS2a)。本実施の形態では、コピー管理情報21a,22aについてビットごとに論理和(OR)が演算されることで、リストア制御情報31が作成される。
First, the restore
次に、リストア制御部1cは、生成されたリストア制御情報31をストレージ装置2に送信する(ステップS2b)。
リストア制御部2bは、送信されたリストア制御情報31を受信すると、ボリュームペア21〜23の中から、コピー元ボリュームがストレージ装置2に含まれるボリュームペア23を特定する。そして、リストア制御部2bは、受信したリストア制御情報31と、特定されたボリュームペア23に対応するコピー管理情報23aとに基づいて、ボリュームペア21〜23に含まれるコピー元のボリューム11〜13の間で1回以上データが更新されたブロックを示すリストア制御情報32を作成する(ステップS2c)。本実施の形態では、リストア制御情報31とコピー管理情報23aについてビットごとに論理和が演算されることで、リストア制御情報32が作成される。
Next, the restore
Upon receiving the transmitted restore
次に、リストア制御部2bは、リストア元のボリューム14からリストア先のボリューム11に対して、作成されたリストア制御情報32に基づいて差分コピーを行う(ステップS2d)。すなわち、リストア制御部2bは、ボリューム14のブロックのうち、リストア制御情報32において「1」がセットされているビットに対応するブロックのデータだけを、ボリューム11にコピーする。
Next, the restore
以上のリストア制御部1c,2bの処理によれば、リストアのためのボリューム間のコピー処理が1回だけに抑えられ、しかも、リストア制御情報32を用いて差分コピーを実行できる。このため、リストア処理時間を短縮できる。
According to the processing of the restore
また、リストア元のボリューム14とリストア先のボリューム11との間のボリューム12,13のデータを維持したまま、リストア処理を実行できる。このため、リストア処理を実行しても、ボリューム12,13に保持された、ボリューム14とは異なる世代のバックアップデータを、必要に応じて利用することができる。
Further, the restore process can be executed while maintaining the data of the
〔第2の実施の形態〕
図2は、第2の実施の形態に係るストレージシステムの構成例を示す図である。図2に示すストレージシステムは、ストレージ装置100,200とホスト装置301,302を含む。ストレージ装置100は、CM(Controller Module)110とDE(Drive Enclosure)150を有する。ストレージ装置200は、CM210とDE250を有する。ホスト装置301はCM110に接続されており、ホスト装置302はCM210に接続されている。
[Second Embodiment]
FIG. 2 is a diagram illustrating a configuration example of a storage system according to the second embodiment. The storage system shown in FIG. 2 includes
なお、ホスト装置301とCM110との間、および、ホスト装置302とCM210との間は、例えば、ファイバチャネル(FC:Fibre Channel)やiSCSI(Internet Small Computer System Interface)などを用いたSAN(Storage Area Network)を介して接続されている。また、ストレージ装置100,200は、それぞれ個別の筐体の中に実装されるものとする。
Note that, between the
CM110は、ホスト装置301からの要求に応じて、DE150に搭載された記憶装置へのアクセスを制御するストレージ制御装置である。DE150には、ホスト装置301からのアクセス対象となる記憶装置が複数台搭載されている。本実施の形態では例として、DE150は、記憶装置として複数台のHDD(Hard Disk Drive)151,152,153,・・・が搭載されたディスクアレイ装置である。
The
CM210も同様に、ホスト装置302からの要求に応じて、DE250に搭載された記憶装置へのアクセスを制御するストレージ制御装置である。本実施の形態では例として、DE250は、ホスト装置302からのアクセス対象となる記憶装置として複数台のHDD251,252,253,・・・が搭載されたディスクアレイ装置である。
Similarly, the
また、CM110とCM210は、互いに接続され、データを送受信できるようになっている。CM110とCM210との間は、例えば、FCやiSCSIなどを用いたSANを介して接続されている。
The
ホスト装置301は、業務処理などの所定の処理に伴って、ストレージ装置100内のDE150に対してアクセスする。より具体的には、CM110によって、DE150内のHDDを用いたボリューム(論理記憶領域)が提供され、ホスト装置301は、そのボリュームに対するアクセスをCM110に要求することで、DE150内のHDDにアクセスする。同様に、ホスト装置302は、CM210によって提供されるボリュームに対するアクセスをCM210に要求することで、DE250内のHDDにアクセスする。
The
以下、CM110,210のハードウェア構成例について説明する。
CM110は、プロセッサ111、RAM(Random Access Memory)112、SSD(Solid State Drive)113、CA(Channel Adapter)114,115、DI(Disk Interface)116,117およびRA(Remote Adapter)118,119を有する。なお、図示しないが、RAM112、SSD113、CA114,115、DI116,117およびRA118,119は、バスやバスコントローラを介してプロセッサ111と接続されている。
Hereinafter, a hardware configuration example of the
The
プロセッサ111は、CM110全体を統括的に制御する。プロセッサ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以上の要素の組み合わせであってもよい。
The
RAM112は、CM110の主記憶装置として使用される。RAM112には、プロセッサ111に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM112には、プロセッサ111による処理に必要な各種データが格納される。
The
SSD113は、CM110の補助記憶装置として使用される。SSD113には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、HDDなどの他の種類の不揮発性記憶装置が用いられてもよい。
The
CA114,115は、ホスト装置301と通信するためのインタフェースである。DI116,117は、DE150内のHDD151,152,153,・・・と通信するためのインタフェースである。RA118,119は、他方のCM210と通信するためのインタフェースである。
The
CM210も、CM110と同様のハードウェア構成を有している。すなわち、CM210は、RAM212、SSD213、CA214,215、DI216,217およびRA218,219を有する。
The
なお、ホスト装置301,302も、CM110,210と同様に、プロセッサやRAMなどを有するコンピュータとして実現することができる。
次に、本実施の形態のストレージシステムにおいて実行されるコピー処理について説明する。
Note that the
Next, copy processing executed in the storage system of this embodiment will be described.
図3は、基本的なコピー処理について説明するための図である。本実施の形態のストレージシステムでは、ボリューム間でのデータのコピー処理を実行できるようになっている。コピー処理を実行する場合には、コピー元ボリュームとコピー先ボリュームとを指定したコピーセッションが設定される。図3の例では、コピー元としてボリュームVL0が指定され、コピー先としてボリュームVL1が指定されたコピーセッションCS0が設定されている。 FIG. 3 is a diagram for explaining basic copy processing. In the storage system of this embodiment, data copy processing between volumes can be executed. When executing copy processing, a copy session specifying a copy source volume and a copy destination volume is set. In the example of FIG. 3, a copy session CS0 is set in which the volume VL0 is designated as the copy source and the volume VL1 is designated as the copy destination.
なお、コピー元ボリュームとコピー先ボリュームは、同一のストレージ装置に設定されたボリュームであってもよいし、異なるストレージ装置に設定されたボリュームであってもよい。同一のストレージ装置に設定されたコピー元ボリュームからコピー先ボリュームへのコピーを、「ローカルコピー」と呼ぶ。また、一方のストレージ装置に設定されたコピー元ボリュームから他方のストレージ装置に設定されたコピー先ボリュームへのコピーを、「リモートコピー」と呼ぶ。 Note that the copy source volume and the copy destination volume may be volumes set in the same storage apparatus, or may be volumes set in different storage apparatuses. Copying from a copy source volume set to the same storage device to a copy destination volume is called “local copy”. A copy from a copy source volume set in one storage apparatus to a copy destination volume set in the other storage apparatus is referred to as “remote copy”.
また、1つのコピーセッションには、1つのビットマップが対応付けて記録される。ビットマップは、ボリューム内の単位領域ごとにコピーの要否を管理するためのコピー管理情報である。以下、ボリューム内の単位領域を「ブロック」と呼び、ブロックをLBA(Logical Block Address)によって識別する。 In addition, one bitmap is recorded in association with one copy session. The bitmap is copy management information for managing the necessity of copying for each unit area in the volume. Hereinafter, the unit area in the volume is referred to as “block”, and the block is identified by LBA (Logical Block Address).
図3の例では、コピーセッションCS0に対してビットマップBM0が対応付けられている。また、ボリュームVL0,VL1はともに、LBA#0〜LBA#3という4つのブロックを有するものとする。この場合、ビットマップBM0は、4つのブロックにそれぞれ対応するビット値を有する4ビットデータとして実現される。
In the example of FIG. 3, the bitmap BM0 is associated with the copy session CS0. Further, both the volumes VL0 and VL1 are assumed to have four
コピーセッションは、切り離し状態と同期状態という2つの状態をとり得る。切り離し状態は、コピー元ボリュームとコピー先ボリュームとが切り離された状態である。この状態では、コピー先ボリュームにバックアップされたデータを維持したまま、ホスト装置からのコピー元ボリュームに対するアクセスを受け付けることができる。このとき、コピー元ボリュームにおいて更新されたブロックが、ビットマップに記録される。 A copy session can take two states: a disconnected state and a synchronized state. The detached state is a state in which the copy source volume and the copy destination volume are separated. In this state, it is possible to accept access to the copy source volume from the host device while maintaining the data backed up in the copy destination volume. At this time, the updated block in the copy source volume is recorded in the bitmap.
一方、同期状態は、コピー元ボリュームのデータをコピー先ボリュームに二重化するためのコピー処理が実行される状態である。この状態では、ビットマップを用いることで、コピー元ボリュームのうち更新されたブロックのデータのみがコピー先ボリュームにコピーされる「差分コピー」を実行することができる。 On the other hand, the synchronization state is a state in which copy processing for duplicating the data of the copy source volume to the copy destination volume is executed. In this state, by using the bitmap, it is possible to execute “differential copy” in which only the updated block data in the copy source volume is copied to the copy destination volume.
図3の上段は、コピーセッションCS0が切り離し状態である場合を示す。切り離し状態に遷移した時点では、ボリュームVL0とボリュームVL1とは等価な状態であり、このとき、ビットマップBM0のすべてのビットは「0」にセットされる。この状態から、例えば、ボリュームVL0のLBA#0,#2のブロックに、ホスト装置からの要求によってデータが書き込まれたとする。この場合、ビットマップBM0におけるLBA#0,#2のブロックに対応するビット値が「1」に更新される。
The upper part of FIG. 3 shows a case where the copy session CS0 is in a disconnected state. At the time of transition to the detached state, the volume VL0 and the volume VL1 are in an equivalent state, and at this time, all the bits of the bitmap BM0 are set to “0”. From this state, for example, it is assumed that data is written to the blocks of
この状態から、図3の下段に示すように、コピーセッションCS0が同期状態に遷移したとする。この状態では、ビットマップBM0が参照され、ボリュームVL0のブロックのうち、対応するビット値が「1」であるブロックのデータのみが、ボリュームVL1にコピーされる。また、ビットマップBM0においては、コピーが完了したブロックに対応するビット値が「0」に更新される。 Assume that from this state, as shown in the lower part of FIG. 3, the copy session CS0 transitions to a synchronous state. In this state, the bitmap BM0 is referred to, and only the data of the block whose corresponding bit value is “1” among the blocks of the volume VL0 is copied to the volume VL1. In the bitmap BM0, the bit value corresponding to the block for which copying has been completed is updated to “0”.
図4は、カスケードコピーセッションの一例を示す図である。本実施の形態のストレージシステムでは、あるコピーセッションのコピー先ボリュームを、別のコピーセッションのコピー元ボリュームとして用いることができる。このように、コピーセッションをカスケード状に接続して実行されるコピーを「カスケードコピー」と呼ぶ。また、カスケード状に接続されたコピーセッションのグループを「カスケードコピーセッション」と呼ぶ。 FIG. 4 is a diagram illustrating an example of a cascade copy session. In the storage system of this embodiment, a copy destination volume of a certain copy session can be used as a copy source volume of another copy session. In this way, copying executed by connecting copy sessions in cascade is called “cascade copy”. A group of copy sessions connected in cascade is called a “cascade copy session”.
図4の例では、それぞれ同じ大きさのボリュームVL0〜VL3がストレージ装置100に設定されている。ここで、「ボリュームがストレージ装置100に設定されている」とは、ストレージ装置100のDE150内のHDDによってそのボリュームが実現されることを指す。
In the example of FIG. 4, volumes VL <b> 0 to VL <b> 3 having the same size are set in the
また、図4の例では、カスケード状に接続された3つのコピーセッションCS0〜CS2が設定されている。コピーセッションCS0では、ボリュームVL0をコピー元とし、ボリュームVL1をコピー先としたローカルコピーが、ビットマップBM0を用いて実行される。コピーセッションCS1では、ボリュームVL1をコピー元とし、ボリュームVL2をコピー先としたローカルコピーが、ビットマップBM1を用いて実行される。コピーセッションCS2では、ボリュームVL2をコピー元とし、ボリュームVL3をコピー先としたローカルコピーが、ビットマップBM2を用いて実行される。 In the example of FIG. 4, three copy sessions CS0 to CS2 connected in cascade are set. In the copy session CS0, local copy using the volume VL0 as the copy source and the volume VL1 as the copy destination is executed using the bitmap BM0. In the copy session CS1, local copy using the volume VL1 as the copy source and the volume VL2 as the copy destination is executed using the bitmap BM1. In the copy session CS2, local copy using the volume VL2 as the copy source and the volume VL3 as the copy destination is executed using the bitmap BM2.
また、次の図5に例示するように、カスケードコピーセッションには、ローカルコピーセッションだけでなくリモートコピーセッションが含まれていてもよい。
図5は、カスケードコピーセッションの他の例を示す図である。図5の例では、ボリュームVL0,VL1がストレージ装置100に設定され、ボリュームVL2,VL3がストレージ装置200に設定されている。そして、コピーセッションCS0は、ストレージ装置100内でのローカルコピーセッションとなっている。コピーセッションCS1は、ストレージ装置100とストレージ装置200との間のリモートコピーセッションとなっている。コピーセッションCS2は、ストレージ装置200内でのローカルコピーセッションとなっている。
Further, as illustrated in FIG. 5 below, the cascade copy session may include a remote copy session as well as a local copy session.
FIG. 5 is a diagram illustrating another example of the cascade copy session. In the example of FIG. 5, the volumes VL0 and VL1 are set in the
なお、リモートコピーセッションにおけるコピー処理は、コピー元のボリュームが設定されたストレージ装置のCMが制御主体となって実行される。図5の例では、コピーセッションCS1に対応するビットマップBM1は、少なくともストレージ装置100のCM110に記憶される。そして、CM110は、ビットマップBM1を用いて、コピーセッションCS1におけるボリュームVL1からボリュームVL2へのデータコピーを制御する。
Note that the copy processing in the remote copy session is executed by the CM of the storage apparatus in which the copy source volume is set as the controlling entity. In the example of FIG. 5, the bitmap BM1 corresponding to the copy session CS1 is stored in at least the
以上のようなカスケードコピーセッションでは、コピーの方向とは逆方向に対して各コピーセッションのコピー処理を実行していくことで、ボリュームごとに異なる世代のバックアップデータを保持することができる。図4、図5の例では、ボリュームVL0に最新世代のデータが保持され、以下、ボリュームVL1,VL2,VL3の順に古い世代のデータが保持される。 In the cascade copy session as described above, by executing copy processing of each copy session in the direction opposite to the copy direction, it is possible to hold backup data of different generations for each volume. 4 and 5, the latest generation data is held in the volume VL0, and the old generation data is held in the order of the volumes VL1, VL2, and VL3.
以下、図4に示したカスケードコピーセッションにおけるコピー処理手順の例について、図6、図7を用いて説明する。
図6、図7は、カスケードコピーセッションにおけるコピー処理手順の例を示す図である。なお、図6、図7では、同じ世代のデータが格納されたブロックに対して、同じ種類のハッチングを施して示す。
Hereinafter, an example of a copy processing procedure in the cascade copy session shown in FIG. 4 will be described with reference to FIGS.
6 and 7 are diagrams illustrating an example of a copy processing procedure in a cascade copy session. In FIGS. 6 and 7, the same type of hatching is applied to the blocks storing the same generation of data.
まず、初期状態では、すべてのボリュームVL0〜VL3を等価にするための処理が実行される。具体的には、ストレージ装置100のCM110は、すべてのビットマップBM0〜BM2のすべてのビットに「1」を設定する。そして、CM110は、コピーの方向(世代の新しいボリュームから世代の古いボリュームへの方向)に沿って順番にコピーセッションを同期状態に遷移させて、各コピーセッションのコピー処理を実行する。
First, in an initial state, processing for making all the volumes VL0 to VL3 equivalent is executed. Specifically, the
図6の状態ST1では、1番目のコピーセッションCS0におけるボリュームVL0からボリュームVL1へのコピー処理が実行されている。ビットマップBM0のすべてのビットが「1」なので、ボリュームVL0のすべてのブロックのデータがボリュームVL1にコピーされる。コピーセッションCS0のコピー処理が完了したとき、ビットマップBM0のすべてのビットは「0」に更新されている。 In the state ST1 in FIG. 6, the copy process from the volume VL0 to the volume VL1 in the first copy session CS0 is executed. Since all the bits of the bitmap BM0 are “1”, the data of all the blocks of the volume VL0 are copied to the volume VL1. When the copy process of the copy session CS0 is completed, all the bits of the bitmap BM0 are updated to “0”.
以下、CM110は、コピーセッションCS1のコピー処理を実行し、さらにコピーセッションCS2のコピー処理を実行する。これにより、状態ST2に示すように、ボリュームVL0〜VL3に同じデータが格納され、ビットマップBM0〜BM2のすべてのビットに「0」がセットされた状態になる。そして、この状態で、CM110は、すべてのコピーセッションCS0〜CS2を切り離し状態に遷移させ、最新世代のボリュームVL0に対するホスト装置301からのアクセスを受け付ける。
Thereafter, the
状態ST3では、ボリュームVL0のLBA#0のブロックに新たなデータが書き込まれたとする。このとき、CM110は、ビットマップBM0のビットのうち、LBA#0のブロックに対応するビットを「1」に更新する。そして、この状態でカスケードコピーの実行が要求されたとする。
In state ST3, it is assumed that new data is written in the block of
この場合、CM110は、まず、コピーセッションCS2を同期状態に遷移させて、ビットマップBM2に基づいて、ボリュームVL2からボリュームVL3へのコピー処理を実行する。状態ST4は、このときの状態を示す。次に、CM110は、コピーセッションCS2を切り離し状態に遷移させ、コピーセッションCS1を同期状態に遷移させて、ビットマップBM1に基づいて、ボリュームVL1からボリュームVL2へのコピー処理を実行する。なお、ビットマップBM1,BM2のすべてのビットが「0」であるので、これら2つのコピー処理では実体的なデータのコピーは行われない。
In this case, the
次に、CM110は、コピーセッションCS1を切り離し状態に遷移させ、コピーセッションCS0を同期状態に遷移させて、ビットマップBM0に基づいて、ボリュームVL0からボリュームVL1へのコピー処理を実行する。この処理では、状態ST5に示すように、CM110は、ビットマップBM0に基づいて、ボリュームVL0のLBA#0のブロックからボリュームVL1のLBA#0のブロックへのデータコピーを実行する。そして、CM110は、ビットマップBM0のビットのうち、LBA#0のブロックに対応するビットを「0」に更新する。また、コピーセッションCS1は切り離し状態なので、CM110は、ビットマップBM1のビットのうち、LBA#0のブロックに対応するビットを「1」に更新する。状態ST6は、このときの状態を示す。
Next, the
この状態から、CM110は、コピーセッションCS0を切り離し状態に遷移させて、最新世代のボリュームVL0に対するホスト装置301からのアクセスの受け付けを再開する。すなわち、CM110は、ボリュームVL1に前世代のバックアップデータを保持したまま、ボリュームVL0に新たなデータの書き込みを受け付けることができる。図7の状態ST7では、ボリュームVL0のLBA#1のブロックに新たなデータが書き込まれたとする。このとき、CM110は、ビットマップBM0のビットのうち、LBA#1のブロックに対応するビットを「1」に更新する。
From this state, the
次に、この状態でカスケードコピーの実行が要求されたとする。この場合、状態ST4〜ST6の遷移時と同様に、CM110は、まず、コピーセッションCS2を同期状態に遷移させ、ビットマップBM2に基づいて、ボリュームVL2からボリュームVL3へのコピー処理を実行する。ただし、ビットマップBM2のすべてのビットが「0」であるので、実体的なデータコピーは実行されない。
Next, assume that execution of cascade copy is requested in this state. In this case, as in the transition of the states ST4 to ST6, the
次に、CM110は、コピーセッションCS2を切り離し状態に遷移させ、コピーセッションCS1を同期状態に遷移させて、ビットマップBM1に基づいて、ボリュームVL1からボリュームVL2へのコピー処理を実行する。これにより、ボリュームVL1のLBA#0のブロックからボリュームVL2のLBA#0のブロックへのデータコピーが実行される。また、ビットマップBM1のビットのうち、LBA#0のブロックに対応するビットが「0」に更新され、ビットマップBM2のビットのうち、LBA#0のブロックに対応するビットが「1」に更新される。
Next, the
次に、CM110は、コピーセッションCS1を切り離し状態に遷移させ、コピーセッションCS0を同期状態に遷移させて、ビットマップBM0に基づいて、ボリュームVL0からボリュームVL1へのコピー処理を実行する。これにより、ボリュームVL0のLBA#1のブロックからボリュームVL2のLBA#1のブロックへのデータコピーが実行される。また、ビットマップBM0のビットのうち、LBA#1のブロックに対応するビットが「0」に更新され、ビットマップBM1のビットのうち、LBA#1のブロックに対応するビットが「1」に更新される。状態ST8は、このときの状態を示す。
Next, the
さらに、この状態から、CM110は、コピーセッションCS0を切り離し状態に遷移させて、最新世代のボリュームVL0に対するホスト装置301からのアクセスの受け付けを再開する。このとき、CM110は、ボリュームVL1に前世代のバックアップデータを保持し、ボリュームVL2にさらに前の世代のバックアップデータを保持したまま、ボリュームVL0に新たなデータの書き込みを受け付けることができる。状態ST9では、ボリュームVL0のLBA#0,#1のブロックに新たなデータが書き込まれたとする。このとき、CM110は、ビットマップBM0のビットのうち、LBA#0,#1のブロックに対応するビットを「1」に更新する。
Further, from this state, the
そして、この状態でカスケードコピーの実行が要求されたとする。この場合、状態ST4〜ST6の遷移時や状態ST7〜ST8の遷移時と同様に、CM110は、コピーセッションCS2,CS1,CS0の順にコピー処理を実行する。これにより、状態ST10に示す状態となる。
Assume that execution of cascade copy is requested in this state. In this case, the
この状態から、CM110は、最新世代のボリュームVL0に対するホスト装置301からのアクセスの受け付けを再開する。状態ST11では、ボリュームVL0のLBA#0,#2のブロックに新たなデータが書き込まれたとする。この状態では、ボリュームVL0〜VL3にそれぞれ異なる世代のバックアップデータが保持される。
From this state, the
以上のように、カスケードコピーを実行することで、バックアップデータを3世代以上の世代別に管理することができる。また、カスケードコピーセッションにおける各ボリュームには、コピーの方向に沿って順に1つ前の世代のバックアップデータが保持される。このため、最新世代を基準としてどの世代のバックアップデータがどのボリュームに保持されているかが固定的に設定されている。したがって、どのボリュームに保持されたデータがどの世代であるかの判別が容易であり、世代の管理効率が高いという特徴を有する。 As described above, by executing the cascade copy, the backup data can be managed for each of three or more generations. Each volume in the cascade copy session holds backup data of the previous generation in order along the copy direction. For this reason, which generation of backup data is held in which volume with the latest generation as a reference is fixedly set. Therefore, it is easy to determine which generation the data stored in which volume is, and the management efficiency of the generation is high.
しかしながら、カスケードコピーでは、データのリストアの処理効率が低いという問題がある。例えば、図7の状態ST11から、ボリュームVL3に格納されたデータを用いてボリュームVL0をリストアする場合を考える。1つの方法としては、ボリュームVL3のすべてのブロックのデータをボリュームVL0にコピーする方法が考えられる。しかし、この方法ではコピーされるデータ量が膨大になり、リストア処理にかかる時間が長くなる。また、ボリュームVL0のすべてのブロックが更新されてしまうので、その後に図6、図7のようなバックアップ処理を実行しようとすると、ボリュームVL0のすべてのブロックについてのデータコピーが発生してしまう。 However, the cascade copy has a problem that the processing efficiency of data restoration is low. For example, consider a case where the volume VL0 is restored using the data stored in the volume VL3 from the state ST11 of FIG. As one method, a method of copying data of all blocks of the volume VL3 to the volume VL0 can be considered. However, with this method, the amount of data to be copied becomes enormous and the time required for the restoration process becomes longer. Further, since all the blocks in the volume VL0 are updated, if the backup process as shown in FIGS. 6 and 7 is subsequently executed, data copy for all the blocks in the volume VL0 occurs.
これに対して、差分コピーを用いる方法としては、次のような方法が考えられる。CM110は、カスケードコピーセッションに含まれる各コピーセッションについてのリストアを、コピー方向とは逆方向に順次実行する。具体的には、CM110は、まず、ボリュームVL3からボリュームVL2へのデータコピーを実行し、次に、ボリュームVL2からボリュームVL1へのデータコピーを実行し、次に、ボリュームVL1からボリュームVL0へのデータコピーを実行する。
On the other hand, as a method using differential copy, the following method can be considered. The
この方法では、ボリュームVL0のリストアが完了するまでにボリューム間のコピー処理が3回実行されることになり、リストア完了までの処理時間が長くなるという問題がある。リストア完了までの処理時間は、リストア元のボリュームとリストア先のボリュームとの世代の差に比例して増大する。 This method has a problem that the copy process between the volumes is executed three times until the restoration of the volume VL0 is completed, and the processing time until the restoration is completed becomes long. The processing time until the restoration is completed increases in proportion to the difference in generation between the restore source volume and the restore destination volume.
さらに、この方法では、ボリュームVL0〜VL3のすべてのバックアップデータが同一になってしまうので、ボリュームVL1,VL2に保持されていた途中の世代のバックアップデータが失われてしまうという問題もある。 Further, in this method, since all backup data of the volumes VL0 to VL3 are the same, there is a problem that the backup data of the middle generation held in the volumes VL1 and VL2 is lost.
このような問題に対し、本実施の形態では、カスケードコピーセッションに含まれる各コピーセッションのビットマップをマージすることにより、リストア用のビットマップが作成される。そして、作成されたビットマップを用いることで、リストア元のボリュームからリストア先のボリュームに対する直接的なコピー処理が実行される。これにより、リストア処理過程で実行されるボリューム間コピーの回数が1回のみに抑制され、リストア処理にかかる時間を短縮できる。また、データの書き込みがリストア先のボリュームだけに行われ、最新世代を除くすべての世代のバックアップデータを残しておくことができる。 In order to deal with such a problem, in the present embodiment, a bitmap for restoration is created by merging the bitmaps of the copy sessions included in the cascade copy session. Then, by using the created bitmap, direct copy processing from the restore source volume to the restore destination volume is executed. As a result, the number of inter-volume copies executed in the restore process is suppressed to only one, and the time required for the restore process can be shortened. Further, data is written only to the restore destination volume, and backup data of all generations except the latest generation can be left.
図8は、CMが備える処理機能の構成例を示すブロック図である。まず、CM110は、記憶部120、IO(Input/Output)制御部131、コピー制御部132およびリストア制御部133を有する。なお、記憶部120は、例えば、RAM112やSSD113など、CM110が備える記憶装置の記憶領域として実現される。また、IO制御部131、コピー制御部132およびリストア制御部133の処理は、例えば、プロセッサ111が所定のプログラムを実行することにより実現される。
FIG. 8 is a block diagram illustrating a configuration example of processing functions included in the CM. First, the
記憶部120には、ボリューム管理テーブル121、セッション管理テーブル122およびカスケード管理テーブル123の各種情報が記憶される。ボリューム管理テーブル121には、CM110,210に設定されたボリュームに関する情報が登録される。セッション管理テーブル122には、CM110,210に設定されたコピーセッションに関する情報が登録される。なお、コピーセッションに関する情報としては、ビットマップが含まれる。カスケード管理テーブル123は、CM110,210に設定されたカスケードコピーセッションに関する情報が登録される。
The
IO制御部131は、ホスト装置301からの要求に応じて、CM110に設定されたボリュームに対するIOアクセスを実行する。ここで言う「CM110に設定されたボリューム」とは、DE150内のHDDの記憶領域によって実現されるボリュームである。また、アクセス先のボリュームがコピーセッションのコピー元として設定されている場合、IO制御部131は、ボリュームにデータを書き込む際、そのコピーセッションに対応するビットマップを更新する。
The
コピー制御部132は、コピーセッションのコピー処理を制御する。基本的に、コピー制御部132は、CM110,210に設定されたコピーセッションのうち、少なくともコピー元ボリュームがCM110に設定されているコピーセッションについて、主体的にコピー処理を制御する。また、コピー制御部132は、コピー先ボリュームがCM110に設定されているリモートコピーセッションについては、CM210からの指示に応じて、CM210から送信されたデータをコピー先ボリュームに書き込む。
The
さらに、コピー制御部132は、最新世代のバックアップデータを保持するボリュームがCM110に設定されているカスケードコピーセッションのコピー処理を、主体的に制御する。逆に、コピー制御部132は、最新世代のバックアップデータを保持するボリュームがCM210に設定されているカスケードコピーセッションのコピー処理の一部を、CM210からの指示に応じて実行する。
Further, the
リストア制御部133は、ボリュームのリストア処理を制御する。特に、リストア制御部133は、CM110,210にそれぞれ設定されたボリューム間のリストアが行われる際には、CM210と協調しながらリストア処理を制御する。
The restore
一方、CM210は、記憶部220、IO制御部231、コピー制御部232およびリストア制御部233を有する。なお、記憶部220は、例えば、RAM212やSSD213など、CM210が備える記憶装置の記憶領域として実現される。また、IO制御部231、コピー制御部232およびリストア制御部233の処理は、例えば、プロセッサ211が所定のプログラムを実行することにより実現される。
On the other hand, the
記憶部220には、ボリューム管理テーブル221、セッション管理テーブル222およびカスケード管理テーブル223が記憶される。ボリューム管理テーブル221、セッション管理テーブル222およびカスケード管理テーブル223には、基本的に、ボリューム管理テーブル121、セッション管理テーブル122およびカスケード管理テーブル123とそれぞれ同じ情報が登録される。
The
IO制御部231、コピー制御部232およびリストア制御部233の各機能は、基本的に、IO制御部131、コピー制御部132およびリストア制御部133の機能とそれぞれ同様である。ただし、IO制御部231は、ホスト装置302からの要求に応じて、CM210に設定されたボリュームに対するIOアクセスを実行する。また、コピー制御部232は、CM110,210に設定されたコピーセッションのうち、少なくともコピー元ボリュームがCM210に設定されているコピーセッションについて、主体的にコピー処理を制御する。
The functions of the
図9は、ボリューム管理テーブルの構成例を示す図である。図9は、例として、CM110の記憶部120に記憶されたボリューム管理テーブル121を示す。
ボリューム管理テーブル121は、設定されたボリュームごとのレコード121a,121b,・・・を有する。レコード121a,121b,・・・のそれぞれには、ボリュームID、サイズ、筐体ID、先頭セッションおよび末尾セッションが登録される。
FIG. 9 is a diagram illustrating a configuration example of a volume management table. FIG. 9 shows a volume management table 121 stored in the
The volume management table 121 includes
ボリュームIDは、ボリュームの識別番号を示す。サイズは、ボリュームの記憶容量を示す。筐体IDは、ボリュームがストレージ装置100,200のどちらに設定されているかを示す識別番号である。
The volume ID indicates a volume identification number. The size indicates the storage capacity of the volume. The case ID is an identification number that indicates which of the
先頭セッションは、対応するボリュームをコピー元とするコピーセッションのうち、最初に作成されたコピーセッションの識別番号を示す。末尾セッションは、対応するボリュームをコピー元とするコピーセッションのうち、最後に作成されたコピーセッションの識別番号を示す。先頭セッションは、対応するボリュームをコピー元とする最初のコピーセッションが設定されたときに設定され、末尾セッションは、対応するボリュームをコピー元とするコピーセッションが設定されるたびに更新される。これらの先頭セッションおよび末尾セッションは、コピーセッション間のリンク状況を示す情報の1つであり、後述するように、カスケードコピーセッションを特定するために用いられる。 The first session indicates the identification number of the copy session created first among the copy sessions whose copy source is the corresponding volume. The end session indicates the identification number of the copy session created last among the copy sessions whose copy source is the corresponding volume. The first session is set when the first copy session with the corresponding volume as the copy source is set, and the last session is updated each time a copy session with the corresponding volume as the copy source is set. These head session and tail session are one piece of information indicating the link status between copy sessions, and are used to specify a cascade copy session, as will be described later.
なお、CM110,210の間では、一方のCMに対して新たにボリュームが設定され、その内容が一方のCMのボリューム管理テーブルに登録されると、その登録内容によって他方のCMのボリューム管理テーブルが更新される。これにより、ボリューム管理テーブル121,221の記憶内容が同一になるようにされる。
When a new volume is set for one CM between the
図10は、セッション管理テーブルの構成例を示す図である。図10では、例として、CM110の記憶部120に記憶されたセッション管理テーブル122を示す。
セッション管理テーブル122は、設定されたコピーセッションごとのレコード122a,122b,・・・を有する。ここで言うコピーセッションには、ローカルコピーセッションとリモートコピーセッションとが含まれる。レコード122a,122b,・・・のそれぞれには、セッションID、コピー元ボリューム、コピー先ボリューム、ビットマップ、リンク前方セッションおよびリンク後方セッションが登録される。
FIG. 10 is a diagram illustrating a configuration example of the session management table. FIG. 10 shows a session management table 122 stored in the
The session management table 122 includes
セッションIDは、コピーセッションの識別番号を示す。コピー元ボリュームは、コピー元として設定されたボリュームの識別番号を示す。コピー先ボリュームは、コピー先として設定されたボリュームの識別番号を示す。ビットマップは、ブロックごとにコピーの要否(更新の有無)を管理するためのコピー管理情報である。 The session ID indicates a copy session identification number. The copy source volume indicates the identification number of the volume set as the copy source. The copy destination volume indicates the identification number of the volume set as the copy destination. The bitmap is copy management information for managing the necessity of copying (presence / absence of update) for each block.
リンク前方セッションは、対応するコピーセッションとコピー元ボリュームが同じである他のコピーセッションのうち、時間的に1つ前に作成されたコピーセッションの識別番号を示す。リンク後方セッションは、対応するコピーセッションとコピー元ボリュームが同じである他のコピーセッションのうち、時間的に1つ後に作成されたコピーセッションの識別番号を示す。これらのリンク前方セッションおよびリンク後方セッションは、後述するように、カスケードコピーセッションを特定するために用いられる。 The link forward session indicates the identification number of the copy session created one time earlier among the other copy sessions having the same copy source volume as the corresponding copy session. The link backward session indicates an identification number of a copy session created one time later among other copy sessions having the same copy source volume as the corresponding copy session. These link forward session and link backward session are used to specify a cascade copy session, as will be described later.
なお、CM110,210の間では、一方のCMにおいて新たにコピーセッションが設定され、その内容が一方のCMのセッション管理テーブルに登録されると、その登録内容によって他方のCMのセッション管理テーブルが更新される。これにより、セッション管理テーブル122,222の記憶内容が同一になるようにされる。ただし、ビットマップについては、コピー元ボリュームが設定されているCMのセッション管理テーブルにのみ登録されていればよい。
When a copy session is newly set in one CM and registered in the session management table of one CM between the
図11は、カスケード管理テーブルの構成例を示す図である。図11では、例として、CM110の記憶部120に記憶されたカスケード管理テーブル123を示す。
カスケード管理テーブル123は、設定されたカスケードコピーセッションごとのレコード123a,123b,・・・を有する。レコード123a,123b,・・・のそれぞれには、カスケードコピーセッションIDと、複数のセッションIDとが登録される。
FIG. 11 is a diagram illustrating a configuration example of the cascade management table. FIG. 11 shows a cascade management table 123 stored in the
The cascade management table 123 includes
カスケードコピーセッションIDは、カスケードコピーセッションの識別番号を示す。セッションIDは、カスケードコピーセッションに含まれる各コピーセッションの識別番号を示す。例えば、レコードには、カスケードコピーに含まれるコピーセッションのセッションIDが、コピーセッションの接続順に登録される。 The cascade copy session ID indicates an identification number of the cascade copy session. The session ID indicates the identification number of each copy session included in the cascade copy session. For example, the session IDs of the copy sessions included in the cascade copy are registered in the record in the connection order of the copy sessions.
なお、CM110,210の間では、一方のCMにおいて新たにカスケードコピーセッションが設定され、その内容が一方のCMのカスケード管理テーブルに登録されると、その登録内容によって他方のCMのカスケード管理テーブルが更新される。これにより、カスケード管理テーブル123,223の記憶内容が同一になるようにされる。
When a cascade copy session is newly set in one CM between the
図12は、カスケードコピーセッションの特定方法について説明するための図である。CM110,210は、コピーセッションが設定されると、それらの設定情報に基づいてカスケードコピーセッションを特定できる。図12では例として、CM110により、ボリューム管理テーブル121およびセッション管理テーブル122を用いてカスケードコピーセッションが特定される場合の処理例を説明する。
FIG. 12 is a diagram for explaining a method for specifying a cascade copy session. When the copy session is set, the
図12に示すように、ボリューム#A〜#Dと、コピーセッション#00〜#02が設定されているとする。コピーセッション#00では、ボリューム#Aがコピー元として設定され、ボリューム#Bがコピー先として設定されている。コピーセッション#01では、ボリューム#Bがコピー元として設定され、ボリューム#Cがコピー先として設定されている。コピーセッション#02では、ボリューム#Aがコピー元として設定され、ボリューム#Dがコピー先として設定されている。
Assume that volumes #A to #D and copy sessions # 00 to # 02 are set as shown in FIG. In
また、コピーセッションについては、コピーセッション#00,#01,#02の順で設定されたとする。この場合、ボリューム管理テーブル121には、先頭セッションおよび末尾セッションとして次のような情報が登録される。ボリューム#Aに対応するレコード121aには、先頭セッションとしてコピーセッション#00が登録され、末尾セッションとしてコピーセッション#02が登録される。ボリューム#Bに対応するレコード121bには、先頭セッションとしてコピーセッション#01が登録され、末尾セッションとしてコピーセッション#01が登録される。ボリューム#Cに対応するレコード121cおよびボリューム#Dに対応するレコード121dには、先頭セッションおよび末尾セッションの両方ともは登録されない。
Also, assume that the copy sessions are set in the order of
また、セッション管理テーブル122には、リンク前方セッションおよびリンク後方セッションとして次のような情報が登録される。コピーセッション#00に対応するレコード122aには、リンク前方セッションは登録されないが、リンク後方セッションとしてコピーセッション#02が登録される。コピーセッション#01に対応するレコード122bには、リンク前方セッションおよびリンク後方セッションの両方とも登録されない。コピーセッション#02に対応するレコード122cには、リンク前方セッションとしてコピーセッション#00が登録され、リンク後方セッションは登録されない。
In the session management table 122, the following information is registered as a link forward session and a link backward session. Although the link forward session is not registered in the
CM110のコピー制御部132は、例えば、コピーセッション#00を検索の起点として選択した場合、次のようにしてカスケードコピーセッションを検索する。コピー制御部132は、まず、セッション管理テーブル122から、コピーセッション#00のコピー先としてボリューム#Bを特定する。次に、コピー制御部132は、ボリューム管理テーブル121のボリューム#Bに対応するレコード121bから、ボリューム#Bをコピー元とするコピーセッションを検索する。レコード121bには、該当するコピーセッションとしてコピーセッション#01のみが登録されているので、コピーセッション#00,#01がカスケードの関係にあることがわかる。
For example, when the
次に、コピー制御部132は、セッション管理テーブル122から、コピーセッション#01のコピー先としてボリューム#Cを特定する。次に、コピー制御部132は、ボリューム管理テーブル121のボリューム#Cに対応するレコード121cから、ボリューム#Cをコピー元とするコピーセッションを特定する。レコード121cには、該当するコピーセッションが登録されていないので、コピーセッション#00をコピー元側の末端としてカスケードの関係にあるコピーセッションは、コピーセッション#01だけであることがわかる。
Next, the
コピー制御部132は、設定された各コピーセッションを起点として上記の検索処理を実行することで、カスケードの関係にあるコピーセッションの組み合わせを特定することができる。図12の例では、コピー元側から順にコピーセッション#00,#01を含むカスケードコピーセッションが特定される。コピー制御部132は、特定されたコピーセッションに関する情報をカスケード管理テーブル123に登録する。
The
次に、リストア処理について説明する。まず、図13を用いて、ローカルコピーセッションだけを含むカスケードコピーセッションにおけるリストア処理について説明する。
まず、図13は、リストア処理の第1の例を示す図である。図13では、図4に示したようにストレージ装置100にカスケードコピーセッションが設定されているとする。そして、図7の状態ST11の時点で、ボリュームVL3からボリュームVL0に対するリストアを行うものとする。
Next, the restore process will be described. First, a restore process in a cascade copy session including only a local copy session will be described with reference to FIG.
First, FIG. 13 is a diagram illustrating a first example of restore processing. In FIG. 13, it is assumed that a cascade copy session is set in the
CM110のリストア制御部133は、セッション管理テーブル122から、コピーセッションCS0,CS1,CS2にそれぞれ対応するビットマップBM0,BM1,BM2を読み出す。リストア制御部133は、これらのビットマップBM0,BM1,BM2をマージして、リストア用のビットマップBM10を作成する(ステップS11)。マージ処理では、ビットマップBM0,BM1,BM2のビットごとに、ビット値の論理和が計算される。
The restore
また、リストア制御部133は、コピー元をボリュームVL3とし、コピー先をボリュームVL0としたリストア用のコピーセッション#10を設定する(ステップS12)。ビットマップBM10は、コピーセッション#10用のコピー管理情報として設定される。
Further, the restore
そして、リストア制御部133は、作成されたビットマップBM10を用いて、コピーセッション#10のコピー処理を実行する(ステップS13)。すなわち、このコピー処理では、リストア制御部133は、ボリュームVL3のブロックのうち、ビットマップBM10においてビット値が「1」であるLBA#0〜#2のブロックのデータだけを、ボリュームVL0にコピーする。リストア制御部133は、ビットマップBM10のビット値のうち、コピーが実行されたブロックに対応するビット値を「0」に更新する。
Then, the restore
ここで、ビットマップBM0,BM1,BM2をマージして生成されたリストア用のビットマップBM10は、ボリュームVL3の世代からボリュームVL0の世代までの間でデータが更新されたブロックの位置を表すことになる。このため、上記のようにビットマップBM10を用いることで、リストア元のボリュームVL3からリストア先のボリュームVL0に対して直接的にコピー処理を実行することが可能となる。 Here, the restore bitmap BM10 generated by merging the bitmaps BM0, BM1, and BM2 represents the position of the block whose data has been updated between the generation of the volume VL3 and the generation of the volume VL0. Become. Therefore, by using the bitmap BM10 as described above, it is possible to directly execute the copy process from the restore source volume VL3 to the restore destination volume VL0.
これにより、リストア処理過程で実行されるボリューム間コピーの回数が1回のみに抑制され、リストア処理にかかる時間を短縮できる。また、データの書き込みがリストア先のボリュームVL0だけに行われるので、ボリュームVL1,VL2に格納された途中の世代のバックアップデータを残しておくことができる。 As a result, the number of inter-volume copies executed in the restore process is suppressed to only one, and the time required for the restore process can be shortened. In addition, since data is written only to the restore destination volume VL0, it is possible to leave backup data of a generation in the middle stored in the volumes VL1 and VL2.
また、リストア制御部133は、コピーセッション#10のコピー処理の実行に伴い、コピー先のボリュームVL0をコピー元とするコピーセッションCS0のビットマップBM0を更新する(ステップS14)。具体的には、リストア制御部133は、ビットマップBM0のビット値のうち、ボリュームVL3からデータがコピーされたブロックに対応するビット値を「1」に更新する。図13の例では、ビットマップBM0のビット値のうちLBA#0〜#2に対応するビット値が更新の対象となるが、LBA#0,#2に対応するビット値はすでに「1」であるので、LBA#1に対応するビット値のみが「0」から「1」に更新される。
Further, the restore
これにより、その後にボリュームVL0からボリュームVL1への差分コピーがビットマップBM0を用いて行われる際に、ボリュームVL0における更新されたブロックのデータをボリュームVL1に確実にコピーすることができる。 As a result, when the differential copy from the volume VL0 to the volume VL1 is subsequently performed using the bitmap BM0, the updated block data in the volume VL0 can be reliably copied to the volume VL1.
ただし、リストア元のボリュームからリストア先のボリュームへのコピー処理により、全世代のボリュームにおいてデータが同じになるブロックが発生する場合がある。このようなブロックについては、その後の差分コピー時にデータのコピーが行われないように、ビットマップBM0の対応するビット値を更新しておく方が望ましい。 However, a copy process from the restore source volume to the restore destination volume may generate blocks with the same data in all generation volumes. For such a block, it is desirable to update the corresponding bit value of the bitmap BM0 so that data is not copied during the subsequent differential copy.
そこで、リストア制御部133は、カスケードコピーセッションに含まれるコピーセッションのうち、コピー元側の末端以外のコピーセッションに対応するビットマップBM1,BM2を参照する。リストア制御部133は、ビットマップBM1,BM2のすべてにおいてビット値が「0」であるブロックを特定する。
Therefore, the restore
図13の例では、このようなブロックとしてLBA#2のブロックが特定される。特定されたブロックでは、ボリュームVL1〜VL3のいずれにも同じデータが格納されており、上記のリストア処理によってボリュームVL0にも同じデータがコピーされている。このため、リストア制御部133は、ビットマップBM0におけるLBA#2に対応するビット値を「0」に更新する(ステップS15)。これにより、その後にボリュームVL0からボリュームVL1への差分コピーがビットマップBM0を用いて行われる際に、LBA#2のブロック間でのデータコピーが実行されなくなり、コピー処理効率を向上させることができる。
In the example of FIG. 13, the block of
次に、図14、図15を用いて、リモートコピーセッションを含むカスケードコピーセッションにおけるリストア処理について説明する。
図14は、リストア処理の第2の例を示す図である。図14では、図5に示したようにストレージ装置100,200にカスケードコピーセッションが設定されているとする。すなわち、ボリュームVL0,VL1がストレージ装置100に設定され、ボリュームVL2,VL3がストレージ装置200に設定されている。そして、ボリュームVL0,VL1のペア、ボリュームVL1,VL2のペア、ボリュームVL2,VL3のペアに対して、それぞれコピーセッションCS0,CS1,CS2が設定されている。また、コピーセッションCS0,CS2はローカルコピーセッションであり、コピーセッションCS1はリモートコピーセッションである。この場合、コピーセッションCS1に対応するビットマップBM1は、ストレージ装置100のCM110に保持されている。
Next, restore processing in a cascade copy session including a remote copy session will be described with reference to FIGS.
FIG. 14 is a diagram illustrating a second example of the restore process. In FIG. 14, it is assumed that a cascade copy session is set in the
なお、図14では、ボリュームVL0〜VL3に記憶されたデータの状態が図7の状態ST11のようになっている時点で、リストアの実行が指示されたものとする。
この場合、まず、CM110のリストア制御部133は、コピーセッションCS0〜CS2のうち、コピー元ボリュームがCM110に設定されているコピーセッションCS0,CS1を特定する。そして、リストア制御部133は、セッション管理テーブル122から、コピーセッションCS0,CS1に対応するビットマップBM0,BM1を読み出す。リストア制御部133は、これらのビットマップBM0,BM1をマージして、リストア用のビットマップを仮作成する(ステップS21)。図14の例では、「1110」というビットマップが仮作成される。
In FIG. 14, it is assumed that restoration execution is instructed when the state of the data stored in the volumes VL0 to VL3 is in the state ST11 of FIG.
In this case, first, the restore
次に、リストア制御部133は、仮作成されたビットマップ「1110」をストレージ装置200のCM210に転送して、リストア元をボリュームVL3とし、リストア先をボリュームVL0として指定したリストア処理の実行を指示する(ステップS22)。CM210のリストア制御部233は、実行指示に応じて、セッション管理テーブル222から、コピーセッションCS2に対応するビットマップBM2を読み出す。そして、リストア制御部233は、読み出したビットマップBM2と、CM110から転送されたビットマップ「1110」とをマージして、リストア用のビットマップBM11を作成する(ステップS23)。
Next, the restore
また、リストア制御部233は、コピー元をボリュームVL3とし、コピー先をボリュームVL0としたリストア用のコピーセッション#11を設定する。ビットマップBM11は、コピーセッション#11用のコピー管理情報として設定される。
In addition, the restore
そして、リストア制御部233は、CM110のリストア制御部133と連携しながら、作成されたビットマップBM11を用いて、コピーセッション#11のコピー処理を実行する(ステップS24)。このコピー処理では、ボリュームVL3のブロックのうち、ビットマップBM11においてビット値が「1」であるLBA#0〜#2のブロックのデータのみが、ボリュームVL0にコピーされる。また、リストア制御部133は、コピー処理の実行に伴うボリュームVL0へのデータ書き込みに応じて、ボリュームVL0をコピー元とするコピーセッションCS0のビットマップBM0を更新する(ステップS25)。
Then, the restore
さらに、コピー処理が完了すると、リストア制御部133は、リストア制御部233からビットマップBM2を取得する。そして、リストア制御部133は、ビットマップBM1,BM2のすべてにおいてビット値が「0」であるブロックを特定する。図14の例では、このようなブロックとしてLBA#2のブロックが特定されるので、リストア制御部133は、ビットマップBM0におけるLBA#2に対応するビット値を「0」に更新する(ステップS26)。
Further, when the copy process is completed, the restore
以上の処理により、図13の場合と同様に、リストア処理過程で実行されるボリューム間コピーの回数が1回のみに抑制され、リストア処理にかかる時間を短縮できる。また、データの書き込みがリストア先のボリュームVL0だけに行われるので、ボリュームVL1,VL2に格納された途中の世代のバックアップデータを残しておくことができる。 With the above processing, as in the case of FIG. 13, the number of inter-volume copies executed in the restore process is suppressed to only one, and the time required for the restore process can be shortened. In addition, since data is written only to the restore destination volume VL0, it is possible to leave backup data of a generation in the middle stored in the volumes VL1 and VL2.
さらに、ステップS25でのビットマップBM0の更新により、その後にボリュームVL0からボリュームVL1への差分コピーがビットマップBM0を用いて行われる際に、ボリュームVL0における更新されたブロックのデータをボリュームVL1に確実にコピーすることができる。また、ステップS26でのビットマップBM0の更新により、その後にボリュームVL0からボリュームVL1への差分コピーがビットマップBM0を用いて行われる際に、LBA#2のブロック間でのデータコピーが実行されなくなる。その結果、コピー処理効率を向上させることができる。
Further, the update of the bitmap BM0 in step S25 ensures that the updated block data in the volume VL0 is stored in the volume VL1 when a differential copy from the volume VL0 to the volume VL1 is subsequently performed using the bitmap BM0. Can be copied to. In addition, when the differential copy from the volume VL0 to the volume VL1 is subsequently performed using the bitmap BM0 due to the update of the bitmap BM0 in step S26, the data copy between the blocks of the
図15は、リストア処理の第3の例を示す図である。図15では、図5、図14に示したようにカスケードコピーセッションが設定されている状況において、リストア元としてボリュームVL2が指定され、リストア先としてボリュームVL0が指定され、リストアの実行が指示されたものとする。なお、図15では、ボリュームVL0〜VL2に記憶されたデータの状態が図7の状態ST11のようになっている時点で、リストアの実行が指示されたものとする。 FIG. 15 is a diagram illustrating a third example of the restore process. In FIG. 15, in the situation where the cascade copy session is set as shown in FIGS. 5 and 14, the volume VL2 is specified as the restore source, the volume VL0 is specified as the restore destination, and execution of the restore is instructed. Shall. In FIG. 15, it is assumed that restoration execution is instructed when the data stored in the volumes VL0 to VL2 is in the state ST11 in FIG.
この場合、まず、CM110のリストア制御部133は、カスケードコピーセッションに含まれるコピーセッションCS0〜の中から、リストア元のボリュームVL2からリストア先のボリュームVL0までのコピー経路に含まれるコピーセッションCS0,CS1を特定する。次に、リストア制御部133は、特定されたコピーセッションCS0,CS1のうち、コピー元ボリュームがCM110に設定されているコピーセッションCS0,CS1を特定する。
In this case, first, the restore
そして、リストア制御部133は、セッション管理テーブル122から、コピーセッションCS0,CS1に対応するビットマップBM0,BM1を読み出す。リストア制御部133は、これらのビットマップBM0,BM1をマージして、リストア用のビットマップ「1110」を仮作成する(ステップS31)。
Then, the restore
次に、リストア制御部133は、仮作成されたビットマップ「1110」をストレージ装置200のCM210に転送して、リストア元をボリュームVL2とし、リストア先をボリュームVL0として指定したリストア処理の実行を指示する(ステップS32)。実行指示を受けたCM210のリストア制御部233は、リストア元のボリュームVL2からリストア先のボリュームVL0までのコピー経路に、コピー元ボリュームがCM210に設定されているコピーセッションが含まれないことを認識する。この場合、リストア制御部233は、リストア制御部133から転送されたビットマップ「1110」を、そのままリストア用ビットマップBM12として設定する(ステップS33)。
Next, the restore
また、リストア制御部233は、コピー元をボリュームVL2とし、コピー先をボリュームVL0としたリストア用のコピーセッション#12を設定する。ビットマップBM12は、コピーセッション#12用のコピー管理情報として設定される。
Further, the restore
そして、リストア制御部233は、CM110のリストア制御部133と連携しながら、作成されたビットマップBM12を用いて、コピーセッション#12のコピー処理を実行する(ステップS34)。また、リストア制御部133は、コピー処理の実行に伴うボリュームVL0へのデータ書き込みに応じて、ボリュームVL0をコピー元とするコピーセッションCS0のビットマップBM0を更新する(ステップS35)。
Then, the restore
さらに、コピー処理が完了すると、リストア制御部133は、リストア元のボリュームVL2からリストア先のボリュームVL0までのコピー経路に、コピー元ボリュームがCM210に設定されているコピーセッションが含まれないことを認識する。この場合、リストア制御部133は、ビットマップBM1のみを参照し、ビット値が「0」であるブロックを特定する。図15の例では、このようなブロックとしてLBA#2のブロックが特定されるので、リストア制御部133は、ビットマップBM0におけるLBA#2に対応するビット値を「0」に更新する(ステップS36)。
Further, when the copy process is completed, the restore
以上の処理により、図13、図14の場合と同様の効果が得られる。
次に、CM110,210の処理についてフローチャートを用いて説明する。
まず、図16は、バックアップ処理手順の例を示すフローチャートである。バックアップ処理とは、図6、図7の例のように、カスケードコピーセッションにおけるコピー先側の末端のコピーセッションからコピー処理を順に実行することで世代別のバックアップデータを保存する処理を示す。図16では例として、ストレージ装置100に設定されたボリュームが最新世代のコピー元ボリュームとなっているカスケードコピーセッションにおけるバックアップ処理の実行が指示されたものとする。
By the above processing, the same effect as in the case of FIGS. 13 and 14 can be obtained.
Next, processing of the
First, FIG. 16 is a flowchart illustrating an example of a backup processing procedure. The backup process refers to a process for saving generation-specific backup data by sequentially executing the copy process from the copy session on the copy destination side in the cascade copy session, as in the examples of FIGS. 6 and 7. In FIG. 16, as an example, it is assumed that execution of backup processing in a cascade copy session in which the volume set in the
[ステップS51]CM110のコピー制御部132は、例えばホスト装置301からバックアップ処理の実行指示を受信する。このとき、コピー制御部132は、例えば、バックアップ処理を実行させるカスケードコピーセッションの識別番号の指定を受け付ける。
[Step S51] The
[ステップS52]コピー制御部132は、指定されたカスケードコピーセッションに含まれるコピーセッションの中に、他方のストレージ装置200のCM210の制御下にあるコピーセッションがあるかを判定する。CM210の制御下にあるコピーセッションとは、CM210に設定されたボリュームをコピー元とするローカルコピーセッションである。
[Step S52] The
コピー制御部132は、カスケード管理テーブル123、セッション管理テーブル122およびボリューム管理テーブル121を参照することで、上記の判定を実行する。コピー制御部132は、該当するコピーセッションがある場合、ステップS53の処理を実行し、該当するコピーセッションがない場合、ステップS54の処理を実行する。
The
[ステップS53]コピー制御部132は、他方のストレージ装置200のCM210に対して、CM210の制御下にあるコピーセッションのコピー処理の実行を指示する。CM210のコピー制御部232は、この指示に応じて、該当するコピーセッションのコピー処理を実行する。例えば、図5に示すようなカスケードコピーセッションの場合、コピーセッションCS2のコピー処理が、コピー制御部232によって実行される。
[Step S <b> 53] The
CM110のコピー制御部132は、CM210のコピー制御部232からコピー処理の完了通知を受信すると、ステップS54の処理を実行する。
[ステップS54]コピー制御部132は、CM110の制御下にあるコピーセッションのコピー処理を実行する。コピーセッションが複数存在する場合、コピー制御部132は、コピー先側の末端のコピーセッションから順にコピー処理を実行する。例えば、図5に示すようなカスケードコピーセッションの場合、まず、コピーセッションCS1のコピー処理が実行され、次にコピーセッションCS0のコピー処理が実行される。なお、図6、図7で説明したように、コピーセッションのコピー処理は、コピーセッションに対応するビットマップを参照、更新しながら実行される。
When the
[Step S54] The
図17は、他方のCMにおけるバックアップ処理手順の例を示すフローチャートである。この図17では例として、図16のようにCM110のコピー制御部132がバックアップ処理の実行指示を受信した場合におけるCM210のコピー制御部232の処理について説明する。ただし、バックアップ処理の対象として指定されたカスケードコピーセッションには、CM210の制御下にあるコピーセッション(CM210に設定されたボリュームをコピー元とするローカルコピーセッション)を含むものとする。
FIG. 17 is a flowchart illustrating an example of a backup processing procedure in the other CM. In FIG. 17, as an example, the process of the
[ステップS61]コピー制御部232は、他方のストレージ装置100のCM110から、CM210の制御下にあるコピーセッションのコピー処理の実行指示を受信する。この実行指示は、図16のステップS53で出力されるものである。コピー制御部232はこのとき、バックアップ処理の対象とするカスケードコピーセッションの識別番号の指定を受ける。
[Step S61] The
[ステップS62]コピー制御部232は、指定されたカスケードコピーセッションに含まれるコピーセッションのうち、CM210の制御下にあるコピーセッション(ローカルコピーセッション)を特定する。この特定処理は、カスケード管理テーブル223、セッション管理テーブル222およびボリューム管理テーブル221を参照することで行われる。例えば、図5に示すようなカスケードコピーセッションの場合、コピーセッションCS3が特定される。
[Step S62] The
コピー制御部232は、特定されたコピーセッションのコピー処理を実行する。コピーセッションが複数特定された場合、コピー制御部232は、末尾側のコピーセッションから順にコピー処理を実行する。なお、図6、図7で説明したように、コピーセッションのコピー処理は、コピーセッションに対応するビットマップを参照、更新しながら実行される。
The
次に、図18〜図20を用いて、リストア処理手順について説明する。なお、図18、図19では、カスケードコピーセッションに限らず、単独のコピーセッションにおけるリストアの実行が指示された場合の処理も包含されている。 Next, the restore processing procedure will be described with reference to FIGS. Note that FIGS. 18 and 19 include not only the cascade copy session but also processing when an instruction to restore is issued in a single copy session.
図18、図19は、リストア処理手順の例を示すフローチャートである。
[ステップS81]CM110のリストア制御部133は、例えばホスト装置301からリストア処理の実行指示を受信する。このとき、リストア制御部133は、例えば、リストア処理を実行させるカスケードコピーセッションの識別番号と、リストア元ボリュームの識別番号、または、何世代前のバックアップデータでリストアするかを示す情報を受け付ける。なお、リストア処理の対象が単独のコピーセッションの場合、リストア制御部133は、そのコピーセッションの識別番号を受け付ける。
18 and 19 are flowcharts showing an example of the restore processing procedure.
[Step S81] The restore
[ステップS82]リストア制御部133は、カスケード管理テーブル123を参照して、該当するカスケードコピーセッションにおけるリストア元ボリュームとリストア先ボリュームとの間の接続経路を特定する。なお、リストア処理の対象として単独のコピーセッションが指定された場合、ステップS82の処理はスキップされる。
[Step S82] The restore
[ステップS83]リストア制御部133は、ステップS82での特定結果に基づいて、リストア元ボリュームとリストア先ボリュームとの間において複数のコピーセッションがカスケード接続されているかを判定する。リストア制御部133は、カスケード接続されている場合、ステップS85の処理を実行し、カスケード接続されていない場合、ステップS84の処理を実行する。なお、リストア処理の対象として単独のコピーセッションが指定された場合、無条件でステップS84の処理が実行される。
[Step S83] The restore
[ステップS84]リストア制御部133は、リストア元ボリュームとリストア先ボリュームとの間に含まれる1つのコピーセッションに対応するビットマップを、セッション管理テーブル122から読み出す。リストア制御部133は、読み出したビットマップをそのままリストア用ビットマップにすることで、リストア用ビットマップを作成する。
[Step S84] The restore
[ステップS85]リストア制御部133は、セッション管理テーブル122とボリューム管理テーブル121とを参照して、リストア元ボリュームとリストア先ボリュームとの間に含まれるコピーセッションのうち、CM110の制御下にあるコピーセッションを特定する。リストア制御部133は、特定されたコピーセッションに対応するビットマップをセッション管理テーブル122から読み出す。リストア制御部133は、読み出されたビットマップをマージして、リストア用ビットマップを仮作成する。なお、前述のように、マージとは、ビットごとのビット値の論理和を演算することである。
[Step S85] The restore
[ステップS86]リストア制御部133は、リストア元ボリュームとリストア先ボリュームとの間に含まれるコピーセッションの中にリモートコピーセッションがあるかを判定する。リストア制御部133は、リモートコピーセッションがある場合、図19のステップS101の処理を実行し、リモートコピーセッションがない場合、ステップS87の処理を実行する。
[Step S86] The restore
[ステップS87]リストア制御部133は、リストア元ボリュームをコピー元とし、リストア先ボリュームをコピー先としたリストア用コピーセッションを設定する。具体的には、リストア制御部133は、このリストア用コピーセッションに対応するレコードをセッション管理テーブル122に追加設定する。このレコードのビットマップの欄には、ステップS84,S85のいずれかで作成されたリストア用ビットマップが設定される。
[Step S87] The restore
[ステップS88]リストア制御部133は、設定されたリストア用ビットマップを用いて、リストア用コピーセッションのコピー処理を実行する。ステップS88が実行されるケースでは、リストア元とリストア先の各ボリュームはCM110に設定されている。リストア制御部133は、リストア元ボリュームのブロックのうち、リストア用ビットマップにおいて対応するビット値が「1」であるブロックのデータを、リストア先ボリュームの対応するブロックにコピーする。また、リストア制御部133は、リストア用ビットマップのビット値のうち、コピーが完了したブロックに対応するビット値を「0」に更新する。
[Step S88] The restore
[ステップS89]リストア制御部133は、リストア先側ビットマップのビット値のうち、ステップS88でデータがコピーされたブロックに対応するビット値を「1」に更新する。このリストア先側ビットマップとは、リストア先ボリュームをコピー元としたコピーセッションに対応するビットマップである。なお、このビット値の更新は、ステップS88で各ブロックにデータがコピーされるたびに行われてもよい。
[Step S89] The restore
[ステップS90]リストア制御部133は、リストア元ボリュームとリストア先ボリュームとの間に含まれるコピーセッションのうち、コピー元側の末端以外のコピーセッションに対応するビットマップを、セッション管理テーブル122から読み出す。リストア制御部133は、読み出されたビットマップのビット値をビットごとに比較し、すべてのビットマップでビット値が「0」であるビットを特定する。リストア制御部133は、該当するビットが特定された場合、ステップS89で更新対象としたリストア先側ビットマップのビット値のうち、特定されたビットのビット値を「1」に更新する。
[Step S90] The restore
[ステップS91]リストア制御部133は、ステップS87で設定されたリストア用コピーセッションを削除する。これにより、作成されたリストア用ビットマップも削除される。
[Step S91] The restore
以下、図19を用いて説明を続ける。
[ステップS101]リストア制御部133は、他方のCM210に対してリストア制御の引き継ぎを指示する。このとき、リストア制御部133は、カスケードコピーセッションの識別番号、リストア元とリストア先の各ボリュームの識別番号、および、図18のステップS85で仮作成されたリストア用ビットマップをCM210に送信する。この後、リストア制御部133は、CM210からの送信情報を待機する状態となる。
Hereinafter, the description will be continued with reference to FIG.
[Step S101] The restore
[ステップS102]CM210のリストア制御部233では、リストア用コピーセッションが設定され、このリストア用コピーセッションをCM110側にも設定するための設定指示が送信される。CM110のリストア制御部133は、設定指示を受信する。
[Step S102] The restore
[ステップS103]リストア制御部133は、リストア元ボリュームのブロックから読み出されたデータがCM210のリストア制御部233から送信されると、このデータを受信し、リストア先ボリュームの対応するブロックに書き込む。また、リストア制御部133は、リストア先ボリュームをコピー元とするコピーセッションに対応するビットマップ(リストア先側ビットマップ)のビットのうち、データを書き込んだブロックに対応するビットのビット値を「1」に更新する。
[Step S103] When the data read from the block of the restore source volume is transmitted from the restore
このステップS103の処理は、CM210のリストア制御部233からブロックのデータが送信されるたびに実行される。そして、リストア制御部133は、CM210のリストア制御部233からデータ送信の完了通知を受信すると、次のステップS104の処理を実行する。
The process of step S103 is executed every time block data is transmitted from the restore
[ステップS104]リストア制御部133は、CM210のリストア制御部233からビットマップを受信する。このビットマップは、リストア元ボリュームとリストア先ボリュームとの間に含まれるコピーセッションのうち、コピー元ボリュームがCM210に設定されているコピーセッションに対応するビットマップである。なお、該当するビットマップが存在しない場合、CM210のリストア制御部233からは、その旨を示す情報が送信される。
[Step S104] The restore
[ステップS105]リストア制御部133は、リストア元ボリュームとリストア先ボリュームとの間に含まれるコピーセッションのうち、コピー元ボリュームがCM110に設定され、かつ、コピー元側の末端以外のコピーセッションに対応するビットマップを、セッション管理テーブル122から読み出す。リストア制御部133は、読み出されたビットマップおよびステップS104で受信したビットマップをビットごとに比較し、すべてのビットマップでビット値が「0」であるビットを特定する。リストア制御部133は、該当するビットが特定された場合、ステップS104で更新対象としたリストア先側ビットマップのビット値のうち、特定されたビットのビット値を「1」に更新する。
[Step S105] The restore
[ステップS106]リストア制御部133は、ステップS85で仮作成されたリストア用ビットマップと、ステップS102で設定されたリストア用コピーセッションとを削除する。
[Step S106] The restore
[ステップS107]リストア制御部133は、処理の完了通知をCM210のリストア制御部233に送信する。リストア制御部133は、処理の完了通知の送信が完了し、かつ、CM210のリストア制御部233から処理の完了通知を受信すると、処理を終了する。
[Step S <b> 107] The restore
図20は、他方のCMにおけるリストア処理手順の例を示すフローチャートである。この図20では例として、図18のようにCM110のリストア制御部133がリストア処理の実行指示を受信した場合におけるCM210のリストア制御部233の処理について説明する。なお、図20の処理は、リストア元のボリュームとリストア先のボリュームとの間にリモートコピーセッションが含まれる場合のみ実行される。
FIG. 20 is a flowchart illustrating an example of a restore processing procedure in the other CM. As an example, FIG. 20 describes the processing of the restore
[ステップS111]リストア制御部233は、CM110のリストア制御部133からリストア制御の引き継ぎ指示を受信する。この引き継ぎ指示は、図19のステップS101で送信されるものである。リストア制御部233は、引き継ぎ指示とともに、カスケードコピーセッションの識別番号、リストア元とリストア先の各ボリュームの識別番号、および、図18のステップS85で仮作成されたリストア用ビットマップを受信する。
[Step S111] The restore
[ステップS112]リストア制御部233は、カスケード管理テーブル223を参照して、該当するカスケードコピーセッションにおけるリストア元ボリュームとリストア先ボリュームとの間の接続経路を特定する。そして、リストア制御部133は、セッション管理テーブル122とボリューム管理テーブル121とを参照して、リストア元ボリュームとリストア先ボリュームとの間に含まれるコピーセッションの中に、CM210の制御下にあるコピーセッションがあるかを判定する。CM210の制御下にあるコピーセッションとは、コピー元ボリュームがCM210に設定されているコピーセッションである。
[Step S112] The restore
リストア制御部233は、該当するコピーセッションがある場合、ステップS113の処理を実行し、該当するコピーセッションがない場合、ステップS114の処理を実行する。
The restore
[ステップS113]リストア制御部233は、ステップS112で存在すると判定された、CM210の制御下にあるコピーセッションに対応するビットマップを、セッション管理テーブル222から読み出す。リストア制御部233は、ステップS111で受信したビットマップと、セッション管理テーブル222から読み出したビットマップとをマージして、リストア用ビットマップを作成する。
[Step S113] The restore
[ステップS114]リストア制御部233は、ステップS111で受信したビットマップをそのままリストア用ビットマップにすることで、リストア用ビットマップを作成する。
[Step S114] The restore
[ステップS115]リストア制御部233は、リストア元ボリュームをコピー元とし、リストア先ボリュームをコピー先としたリストア用コピーセッションを設定する。具体的には、リストア制御部233は、このリストア用コピーセッションに対応するレコードをセッション管理テーブル222に追加設定する。このレコードのビットマップの欄には、ステップS113,S114のいずれかで作成されたリストア用ビットマップが設定される。
[Step S115] The restore
また、リストア制御部233は、設定されたリストア用コピーセッションの情報をCM110に送信し、リストア用コピーセッションの設定を指示する。なお、CM110のリストア制御部133では、送信された設定指示に応じて図19のステップS102の処理が実行される。
In addition, the restore
[ステップS116]リストア制御部233は、設定されたリストア用ビットマップを用いて、リストア用コピーセッションのコピー処理を実行する。具体的には、リストア制御部233は、リストア元ボリュームのブロックのうち、リストア用ビットマップで対応するビット値が「1」であるブロックからデータを読み出す。リストア制御部233は、読み出したデータをCM110のリストア制御部133に送信して、リストア先ボリュームへの書き込みを要求する。また、リストア制御部233は、リストア用ビットマップのビットのうち、リストア先ボリュームへのコピーが完了したビットのビット値を「0」に更新する。
[Step S116] The restore
上記処理の実行に伴い、CM110のリストア制御部133では、図19のステップS103の処理が実行される。そして、リストア制御部233は、リストア用ビットマップで対応するビット値が「1」であるすべてのブロックについてのコピーが完了すると、データ転送の完了通知をCM110に送信する。
Along with the execution of the above process, the restore
[ステップS117]リストア制御部233は、リストア元ボリュームとリストア先ボリュームとの間に含まれるコピーセッションのうち、コピー元ボリュームがCM210に設定されているコピーセッションに対応するビットマップを、CM110のリストア制御部133に送信する。ただし、該当するコピーセッションが存在しない場合(ステップS112でNoと判定された場合)には、リストア制御部233は、その旨を示す情報を送信する。
[Step S117] The restore
[ステップS118]リストア制御部233は、ステップS115で設定されたリストア用コピーセッションを削除する。これにより、ステップS113,S114のいずれかで作成されたリストア用ビットマップも削除される。
[Step S118] The restore
[ステップS119]リストア制御部233は、処理の完了通知をCM110のリストア制御部133に送信する。リストア制御部233は、処理の完了通知の送信が完了し、かつ、CM110のリストア制御部133から処理の完了通知を受信すると、処理を終了する。
[Step S119] The restore
なお、上記の各実施の形態に示した装置(例えば、ストレージ装置1,2、CM110,210)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
Note that the processing functions of the devices (for example, the
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。 The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.
1,2 ストレージ装置
1a,2a 記憶部
1b バックアップ制御部
1c,2b リストア制御部
11〜14 ボリューム
21〜23 ボリュームペア
21a〜23a コピー管理情報
31,32 リストア制御情報
D コピー方向
S1,S1a〜S1c,S2a〜S2d ステップ
1, 2
Claims (6)
前記第1のストレージ装置と前記第2のストレージ装置のいずれかに含まれる複数のボリュームから選択されるコピー元ボリュームとコピー先ボリュームとをそれぞれ有する複数のボリュームペアであって、コピー元ボリュームが前記第1のストレージ装置に含まれコピー先ボリュームが前記第2のストレージ装置に含まれるボリュームペアを含む前記複数のボリュームペアが存在し、かつ、データのコピー方向に対して後方側のボリュームペアのコピー先ボリュームが前方側のボリュームペアのコピー元ボリュームとして設定され、かつ、前記コピー方向が前記第1のストレージ装置から前記第2のストレージ装置への方向となるように、前記複数のボリュームペアがカスケード状に接続されている状態において、
前記第1のストレージ装置は、
前記複数のボリュームペアのそれぞれに対応し、前記複数のボリュームペアのそれぞれのコピー元ボリュームにおける更新されたブロックを示す複数のコピー管理情報のうち、コピー元ボリュームが前記第1のストレージ装置に含まれる1以上の第1のボリュームペアにそれぞれ対応する1以上の第1のコピー管理情報を記憶する第1の記憶部と、
前記複数のボリュームペアのそれぞれについて、前記コピー方向に対して前方側のボリュームペアから順に、前記複数のコピー管理情報のうちの対応するコピー管理情報に基づいてコピー元ボリュームからコピー先ボリュームに対して差分コピーするバックアップ処理を実行させるバックアップ制御部と、
リストア実行指示に応じて、前記複数のボリュームペアの中から前記1以上の第1のボリュームペアを特定し、前記1以上の第1のコピー管理情報に基づいて、前記1以上の第1のボリュームペアに含まれるコピー元ボリュームの間で1回以上データが更新されたブロックを示す第1のリストア制御情報を生成し、前記第1のリストア制御情報を前記第2のストレージ装置に送信する第1のリストア制御部と、
を有し、
前記第2のストレージ装置は、
前記複数のコピー管理情報のうち、コピー元ボリュームが前記第2のストレージ装置に含まれる1以上の第2のボリュームペアにそれぞれ対応する1以上の第2のコピー管理情報を記憶する第2の記憶部と、
前記第1のリストア制御情報を受信し、前記複数のボリュームペアの中から前記1以上の第2のボリュームペアを特定し、受信した前記第1のリストア制御情報と前記1以上の第2のコピー管理情報とに基づいて、前記複数のボリュームペアに含まれるコピー元ボリュームの間で1回以上データが更新されたブロックを示す第2のリストア制御情報を生成し、前記複数のボリュームペアのうち前記コピー方向に対して最も前方側の第3のボリュームペアに含まれるコピー先ボリュームから、前記複数のボリュームペアのうち最も後方側の第4のボリュームペアに含まれるコピー元ボリュームに対して、前記第2のリストア制御情報に基づいて差分コピーするリストア処理を実行する第2のリストア制御部と、
を有するストレージシステム。 A storage system having a first storage device and a second storage device,
A plurality of volume pairs each having a copy source volume and a copy destination volume selected from a plurality of volumes included in any of the first storage device and the second storage device, wherein the copy source volume is Copying of a volume pair on the rear side with respect to the data copy direction, wherein the plurality of volume pairs including the volume pair included in the first storage device and the copy destination volume included in the second storage device exists The plurality of volume pairs are cascaded so that the destination volume is set as the copy source volume of the front volume pair and the copy direction is from the first storage device to the second storage device. When connected in a
The first storage device
Of the plurality of copy management information corresponding to each of the plurality of volume pairs and indicating an updated block in each copy source volume of the plurality of volume pairs, the copy source volume is included in the first storage device. A first storage unit that stores one or more first copy management information respectively corresponding to one or more first volume pairs;
For each of the plurality of volume pairs, from the copy source volume to the copy destination volume based on the corresponding copy management information of the plurality of copy management information in order from the volume pair on the front side with respect to the copy direction. A backup control unit for executing a backup process for differential copying;
In response to a restore execution instruction, the one or more first volume pairs are identified from the plurality of volume pairs, and the one or more first volumes are based on the one or more first copy management information. First restore control information indicating a block whose data has been updated at least once between copy source volumes included in a pair is generated, and the first restore control information is transmitted to the second storage device. Restore control unit of
Have
The second storage device
Second storage for storing one or more second copy management information corresponding to one or more second volume pairs in which the copy source volume is included in the second storage device among the plurality of copy management information. And
The first restore control information is received, the one or more second volume pairs are specified from the plurality of volume pairs, and the received first restore control information and the one or more second copies are received. Based on management information, generates second restore control information indicating a block whose data has been updated at least once between copy source volumes included in the plurality of volume pairs, and out of the plurality of volume pairs, From the copy destination volume included in the third volume pair on the foremost side with respect to the copy direction to the copy source volume included in the fourth volume pair on the most rear side among the plurality of volume pairs, A second restore control unit that executes a restore process for differential copying based on the restore control information of No. 2;
Storage system.
請求項1記載のストレージシステム。 The first restore control unit is further configured to indicate that the block to which data has been copied by the restore process among the blocks of the copy source volume included in the fourth volume pair has been updated. Updating the third copy management information corresponding to the fourth volume pair in the copy management information of
The storage system according to claim 1.
請求項2記載のストレージシステム。 The first restore control unit further acquires the one or more second copy management information from the second storage device, and acquires the acquired one or more second copy management information and the one or more second copy management information. Based on one or more fourth copy management information excluding the third copy management information in the first copy management information, the one or more second copy management information and the one or more fourth copy management information. Identifying a block indicating that none of the information has been updated, and updating the third copy management information to indicate that the identified block has not been updated;
The storage system according to claim 2.
前記ストレージ制御装置と他のストレージ制御装置のいずれかに設定された複数のボリュームから選択されるコピー元ボリュームとコピー先ボリュームとをそれぞれ有する複数のボリュームペアであって、コピー元ボリュームが前記ストレージ制御装置に設定されコピー先ボリュームが前記他のストレージ制御装置に設定されたボリュームペアを含む前記複数のボリュームペアが存在し、かつ、データのコピー方向に対して後方側のボリュームペアのコピー先ボリュームが前方側のボリュームペアのコピー元ボリュームとして設定され、かつ、前記コピー方向が前記ストレージ制御装置から前記他のストレージ制御装置への方向となるように、前記複数のボリュームペアがカスケード状に接続されている状態において、
前記複数のボリュームペアのそれぞれに対応し、前記複数のボリュームペアのそれぞれのコピー元ボリュームにおける更新されたブロックを示す複数のコピー管理情報のうち、コピー元ボリュームが前記ストレージ装置に設定された1以上の第1のボリュームペアにそれぞれ対応する1以上の第1のコピー管理情報を記憶する記憶部と、
前記複数のボリュームペアのそれぞれについて、前記コピー方向に対して前方側のボリュームペアから順に、前記複数のコピー管理情報のうちの対応するコピー管理情報に基づいてコピー元ボリュームからコピー先ボリュームに対して差分コピーするバックアップ処理を実行させるバックアップ制御部と、
リストア実行指示に応じて、前記複数のボリュームペアの中から前記1以上の第1のボリュームペアを特定し、前記1以上の第1のコピー管理情報に基づいて、前記1以上の第1のボリュームペアに含まれるコピー元ボリュームの間で1回以上データが更新されたブロックを示す第1のリストア制御情報を生成し、前記第1のリストア制御情報を前記他のストレージ制御装置に送信するリストア制御部と、
を有するストレージ制御装置。 In the storage controller
A plurality of volume pairs each having a copy source volume and a copy destination volume selected from a plurality of volumes set in either the storage control device or another storage control device, wherein the copy source volume is the storage control There exists the plurality of volume pairs including a volume pair that is set in the device and the copy destination volume is set in the other storage control device, and the copy destination volume of the volume pair on the rear side with respect to the data copy direction The plurality of volume pairs are connected in cascade so that the copy source volume of the front volume pair is set and the copy direction is the direction from the storage controller to the other storage controller. In the state that
One or more of the plurality of copy management information corresponding to each of the plurality of volume pairs and indicating an updated block in each copy source volume of the plurality of volume pairs, wherein the copy source volume is set in the storage device A storage unit for storing one or more first copy management information respectively corresponding to each of the first volume pairs;
For each of the plurality of volume pairs, from the copy source volume to the copy destination volume based on the corresponding copy management information of the plurality of copy management information in order from the volume pair on the front side with respect to the copy direction. A backup control unit for executing a backup process for differential copying;
In response to a restore execution instruction, the one or more first volume pairs are identified from the plurality of volume pairs, and the one or more first volumes are based on the one or more first copy management information. Restore control for generating first restore control information indicating a block whose data has been updated at least once between copy source volumes included in a pair, and transmitting the first restore control information to the other storage control device And
A storage control device.
前記ストレージ制御装置と他のストレージ制御装置のいずれかに設定された複数のボリュームから選択されるコピー元ボリュームとコピー先ボリュームとをそれぞれ有する複数のボリュームペアであって、コピー元ボリュームが前記他のストレージ制御装置に設定されコピー先ボリュームが前記ストレージ制御装置に設定されたボリュームペアを含む前記複数のボリュームペアが存在し、かつ、データのコピー方向に対して後方側のボリュームペアのコピー先ボリュームが前方側のボリュームペアのコピー元ボリュームとして設定され、かつ、前記コピー方向が前記他のストレージ制御装置から前記ストレージ制御装置への方向となるように、前記複数のボリュームペアがカスケード状に接続されている状態において、
前記複数のボリュームペアのそれぞれに対応し、前記複数のボリュームペアのそれぞれのコピー元ボリュームにおける更新されたブロックを示す複数のコピー管理情報のうち、コピー元ボリュームが前記ストレージ装置に設定された1以上の第1のボリュームペアにそれぞれ対応する1以上の第1のコピー管理情報を記憶する記憶部と、
前記複数のボリュームペアのうち前記1以上の第1のボリュームペア以外の1以上の第2のボリュームペアにそれぞれ対応する1以上の第2のコピー管理情報に基づいて生成された、前記1以上の第2のボリュームペアに含まれるコピー元ボリュームの間で1回以上データが更新されたブロックを示す第1のリストア制御情報を、前記他のストレージ制御装置から受信し、前記複数のボリュームペアの中から前記1以上の第1のボリュームペアを特定し、受信した前記第1のリストア制御情報と前記1以上の第1のコピー管理情報とに基づいて、前記複数のボリュームペアに含まれるコピー元ボリュームの間で1回以上データが更新されたブロックを示す第2のリストア制御情報を生成し、前記複数のボリュームペアのうち前記コピー方向に対して最も前方側の第3のボリュームペアに含まれるコピー先ボリュームから、前記複数のボリュームペアのうち最も後方側の第4のボリュームペアに含まれるコピー元ボリュームに対して、前記第2のリストア制御情報に基づいて差分コピーするリストア処理を実行するリストア制御部と、
を有するストレージ制御装置。 In the storage controller
A plurality of volume pairs each having a copy source volume and a copy destination volume selected from a plurality of volumes set in either the storage control device or another storage control device, wherein the copy source volume is the other volume There is a plurality of volume pairs including a volume pair that is set in the storage controller and the copy destination volume is set in the storage controller, and the copy destination volume of the volume pair on the rear side with respect to the data copy direction is The plurality of volume pairs are connected in cascade so that the copy source volume of the front volume pair is set and the copy direction is the direction from the other storage control device to the storage control device. In the state that
One or more of the plurality of copy management information corresponding to each of the plurality of volume pairs and indicating an updated block in each copy source volume of the plurality of volume pairs, wherein the copy source volume is set in the storage device A storage unit for storing one or more first copy management information respectively corresponding to each of the first volume pairs;
The one or more of the plurality of volume pairs generated based on one or more second copy management information respectively corresponding to one or more second volume pairs other than the one or more first volume pairs The first restore control information indicating a block whose data has been updated at least once between copy source volumes included in the second volume pair is received from the other storage control device, The one or more first volume pairs are identified from the copy source volumes included in the plurality of volume pairs based on the received first restore control information and the one or more first copy management information. Second restore control information indicating a block in which data has been updated at least once in between, and in the copy direction of the plurality of volume pairs The second restore is performed from the copy destination volume included in the foremost third volume pair to the copy source volume included in the foremost fourth volume pair among the plurality of volume pairs. A restore control unit that executes a restore process for differential copy based on the control information;
A storage control device.
前記第1のストレージ装置と前記第2のストレージ装置のいずれかに含まれる複数のボリュームから選択されるコピー元ボリュームとコピー先ボリュームとをそれぞれ有する複数のボリュームペアであって、コピー元ボリュームが前記第1のストレージ装置に含まれコピー先ボリュームが前記第2のストレージ装置に含まれるボリュームペアを含む前記複数のボリュームペアが存在し、かつ、データのコピー方向に対して後方側のボリュームペアのコピー先ボリュームが前方側のボリュームペアのコピー元ボリュームとして設定され、かつ、前記コピー方向が前記第1のストレージ装置から前記第2のストレージ装置への方向となるように、前記複数のボリュームペアがカスケード状に接続されており、かつ、前記複数のボリュームペアのそれぞれのコピー元ボリュームにおける更新されたブロックを示す複数のコピー管理情報が、前記複数のボリュームペアのそれぞれに対応付けられている状態において、
前記第1のストレージ装置が、
前記複数のボリュームペアのそれぞれについて、前記コピー方向に対して前方側のボリュームペアから順に、前記複数のコピー管理情報のうちの対応するコピー管理情報に基づいてコピー元ボリュームからコピー先ボリュームに対して差分コピーするバックアップ処理を実行させ、
リストア実行指示に応じて、前記複数のボリュームペアの中からコピー元ボリュームが前記第1のストレージ装置に含まれる1以上の第1のボリュームペアを特定し、前記複数のコピー管理情報のうち、前記1以上の第1のボリュームペアにそれぞれ対応する1以上の第1のコピー管理情報に基づいて、前記1以上の第1のボリュームペアに含まれるコピー元ボリュームの間で1回以上データが更新されたブロックを示す第1のリストア制御情報を生成し、前記第1のリストア制御情報を前記第2のストレージ装置に送信し、
前記第2のストレージ装置が、
前記第1のリストア制御情報を受信し、前記複数のボリュームペアの中からコピー元ボリュームが前記第2のストレージ装置に含まれる1以上の第2のボリュームペアを特定し、受信した前記第1のリストア制御情報と、前記複数のコピー管理情報のうち前記1以上の第2のボリュームペアにそれぞれ対応する1以上の第2のコピー管理情報とに基づいて、前記複数のボリュームペアに含まれるコピー元ボリュームの間で1回以上データが更新されたブロックを示す第2のリストア制御情報を生成し、前記複数のボリュームペアのうち前記コピー方向に対して最も前方側の第3のボリュームペアに含まれるコピー先ボリュームから、前記複数のボリュームペアのうち最も後方側の第4のボリュームペアに含まれるコピー元ボリュームに対して、前記第2のリストア制御情報に基づいて差分コピーするリストア処理を実行する、
コピー制御方法。 A copy control method in a storage system having a first storage device and a second storage device,
A plurality of volume pairs each having a copy source volume and a copy destination volume selected from a plurality of volumes included in any of the first storage device and the second storage device, wherein the copy source volume is Copying of a volume pair on the rear side with respect to the data copy direction, wherein the plurality of volume pairs including the volume pair included in the first storage device and the copy destination volume included in the second storage device exists The plurality of volume pairs are cascaded so that the destination volume is set as the copy source volume of the front volume pair and the copy direction is from the first storage device to the second storage device. Connected to each other, and A plurality of copy management information indicating the updated block in the respective copy source volume, in the state associated with the each of the plurality of volume pairs,
The first storage device is
For each of the plurality of volume pairs, from the copy source volume to the copy destination volume based on the corresponding copy management information of the plurality of copy management information in order from the volume pair on the front side with respect to the copy direction. Execute the backup process to perform differential copy,
In response to the restore execution instruction, the copy source volume specifies one or more first volume pairs included in the first storage device from the plurality of volume pairs, and the plurality of copy management information includes: Based on one or more first copy management information respectively corresponding to one or more first volume pairs, data is updated one or more times between copy source volumes included in the one or more first volume pairs. Generating first restore control information indicating the block, and transmitting the first restore control information to the second storage device;
The second storage device is
The first restore control information is received, the copy source volume identifies one or more second volume pairs included in the second storage device from the plurality of volume pairs, and the received first first Based on the restore control information and one or more second copy management information respectively corresponding to the one or more second volume pairs among the plurality of copy management information, the copy sources included in the plurality of volume pairs Second restore control information indicating a block whose data has been updated at least once between the volumes is generated, and included in the third volume pair on the foremost side in the copy direction among the plurality of volume pairs. From the copy destination volume to the copy source volume included in the fourth volume pair on the rearmost side among the plurality of volume pairs A restore process for the differential copy based on the second restoration control information,
Copy control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017067429A JP6839358B2 (en) | 2017-03-30 | 2017-03-30 | Storage system, storage controller and copy control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017067429A JP6839358B2 (en) | 2017-03-30 | 2017-03-30 | Storage system, storage controller and copy control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018169863A true JP2018169863A (en) | 2018-11-01 |
JP6839358B2 JP6839358B2 (en) | 2021-03-10 |
Family
ID=64018849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017067429A Active JP6839358B2 (en) | 2017-03-30 | 2017-03-30 | Storage system, storage controller and copy control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6839358B2 (en) |
-
2017
- 2017-03-30 JP JP2017067429A patent/JP6839358B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP6839358B2 (en) | 2021-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678686B2 (en) | Managing sequentiality of tracks for asynchronous PPRC tracks on secondary | |
US10169163B2 (en) | Managing backup operations from a client system to a primary server and secondary server | |
US8332687B1 (en) | Splitter used in a continuous data protection environment | |
US9658798B2 (en) | Grouping of tracks for copy source to target destage on global mirror secondary | |
US10769035B2 (en) | Key-value index recovery by log feed caching | |
US8090917B2 (en) | Managing storage and migration of backup data | |
US8335771B1 (en) | Storage array snapshots for logged access replication in a continuous data protection system | |
US7958372B1 (en) | Method and apparatus to convert a logical unit from a first encryption state to a second encryption state using a journal in a continuous data protection environment | |
US8694700B1 (en) | Using I/O track information for continuous push with splitter for storage device | |
US9996421B2 (en) | Data storage method, data storage apparatus, and storage device | |
US7373470B2 (en) | Remote copy control in a storage system | |
JP6136629B2 (en) | Storage control device, storage system, and control program | |
US10459813B2 (en) | System and device for synchronizing data in a plurality of devices | |
JP2018190376A (en) | Sas/sata hard disk drive update by management controller | |
WO2022151593A1 (en) | Data recovery method, apapratus and device, medium and program product | |
US20160139842A1 (en) | Storage control apparatus and storage system | |
US20130031320A1 (en) | Control device, control method and storage apparatus | |
JP6839358B2 (en) | Storage system, storage controller and copy control method | |
JP4272465B2 (en) | BACKUP DATA RECOVERY METHOD, NETWORK STORAGE DEVICE, AND NETWORK STORAGE PROGRAM | |
US8972634B2 (en) | Storage system and data transfer method | |
US10310954B2 (en) | Control device and method for controlling storage devices | |
JP5963324B2 (en) | Virtual sequential access volume data copy method and system | |
JP2017208113A (en) | Data storage method, data storage apparatus, and storage device | |
US20170090823A1 (en) | Storage system, control device, memory device, data access method, and program recording medium | |
US8667243B2 (en) | Storage apparatus, controller, and method of controlling controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200115 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200123 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200123 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201027 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201215 |
|
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: 20210112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210125 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6839358 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |