JP4618777B2 - Data processing system and storage subsystem provided in the data processing system - Google Patents
Data processing system and storage subsystem provided in the data processing system Download PDFInfo
- Publication number
- JP4618777B2 JP4618777B2 JP2004248256A JP2004248256A JP4618777B2 JP 4618777 B2 JP4618777 B2 JP 4618777B2 JP 2004248256 A JP2004248256 A JP 2004248256A JP 2004248256 A JP2004248256 A JP 2004248256A JP 4618777 B2 JP4618777 B2 JP 4618777B2
- Authority
- JP
- Japan
- Prior art keywords
- storage
- storage subsystem
- data
- storage device
- data set
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データの記憶処理技術に関し、例えば、複数の記憶サブシステム間でのデータの複製に関する。 The present invention relates to data storage processing technology, for example, data replication between a plurality of storage subsystems.
従来、第一の記憶サブシステムに障害が発生した場合でも、それを備えるデータ処理システムがサービスを提供できるよう、第一の記憶サブシステムに記憶されたデータを第二及び第三の記憶サブシステムに複製する技術が考えられている。その種の技術として、例えば、特開2003−122509号公報に開示されている技術がある。この技術によれば、第一の記憶サブシステムは、第一の論理ボリュームを保持し、第二の記憶サブシステムは、第二の論理ボリュームを保持し、第三の記憶サブシステムは、第三の論理ボリュームを保持しており、第一の記憶サブシステムは、第一の論理ボリュームにデータ(以下、これを「データA」と言う)を書き込んだ場合、データAの書込みと同期のタイミングで、第二の記憶サブシステムにデータAを転送して第二の論理ボリュームにデータAを書込み、且つ、データAの書込みと非同期のタイミングで、第三の記憶サブシステムにデータAを転送して第三の論理ボリュームにデータAを書込む。 Conventionally, even if a failure occurs in the first storage subsystem, the data stored in the first storage subsystem is transferred to the second and third storage subsystems so that the data processing system including the failure can provide services. The technology to duplicate is considered. As such a technique, for example, there is a technique disclosed in Japanese Patent Laid-Open No. 2003-122509. According to this technique, the first storage subsystem holds the first logical volume, the second storage subsystem holds the second logical volume, and the third storage subsystem And the first storage subsystem writes data (hereinafter referred to as “data A”) to the first logical volume at the timing of data A write and synchronization. Transfer data A to the second storage subsystem, write data A to the second logical volume, and transfer data A to the third storage subsystem at a timing asynchronous with the data A write. Data A is written to the third logical volume.
上記の従来技術では、第二の記憶サブシステムと第三の記憶サブシステムとの間でデータ転送・受領・更新の進捗状況を把握する機能が、第二の記憶サブシステムと第三の記憶サブシステムの各々に設けられる。しかし、そのような機能を設けること無く、第二と第三の記憶サブシステム間で、データの整合性のとれる複製が行われることが望ましい場合が有り得る。 In the above prior art, the function of grasping the progress status of data transfer / reception / update between the second storage subsystem and the third storage subsystem is the second storage subsystem and the third storage subsystem. Provided in each of the systems. However, there may be a case where it is desirable to perform data-consistent replication between the second and third storage subsystems without providing such a function.
従って、本発明の目的は、少なくとも三以上の記憶サブシステムを備えるデータ処理システムにおいて、第一の記憶サブシステムに書き込まれたデータが第二及び第三の記憶サブシステムの各々に転送されて保持される場合、第二及び第三の記憶サブシステムの各々が互いのデータ更新に関する進捗状況を問い合わせなくても、第二及び第三の記憶サブシステム間でデータの整合性がとれるようにすることにある。 Accordingly, an object of the present invention is to provide a data processing system having at least three or more storage subsystems, in which data written in the first storage subsystem is transferred to and retained in each of the second and third storage subsystems. The second and third storage subsystems can ensure data consistency between the second and third storage subsystems without having to query each other's progress regarding data updates. It is in.
本発明の他の目的は、後述の説明から明らかになるであろう。 Other objects of the present invention will become clear from the following description.
本発明の第一の側面に従うデータ処理システムは、書込み対象のデータであるライトデータを送信する第一ホスト端末から前記ライトデータを受信し、前記受信したライトデータを記憶する第一記憶サブシステムと、前記第一記憶サブシステムに接続された第二記憶サブシステムと、前記第一記憶サブシステムに接続された第三記憶サブシステムとを備える。 A data processing system according to a first aspect of the present invention includes a first storage subsystem that receives the write data from a first host terminal that transmits write data that is data to be written, and stores the received write data. A second storage subsystem connected to the first storage subsystem and a third storage subsystem connected to the first storage subsystem.
前記第一記憶サブシステムは、第一複製元としての属性が割り当てられた第一記憶デバイスと、前記第一記憶デバイスに対応付けられ、第二複製元としての属性が割り当てられた一以上の第二記憶デバイスとを備える。前記第一記憶サブシステムは、前記第一ホスト端末から受信したライトデータを前記第一記憶デバイスに格納する。また、前記第一記憶サブシステムは、前記ライトデータが前記第一記憶デバイスに格納されることによって前記第一記憶デバイスが更新された順序を表す更新番号を発行し、前記発行した更新番号と前記ライトデータとを含んだデータセットを生成して、前記生成したデータセットを前記一以上の第二記憶デバイスに格納する。また、前記第一記憶サブシステムは、前記一以上の第二記憶デバイスからデータセットを読み出し、前記読み出したデータセットを前記第二記憶サブシステムに送信する。また、前記第一記憶サブシステムは、前記一以上の第二記憶デバイスからデータセットを読み出し、前記読み出したデータセットを前記第三記憶サブシステムに送信する。 The first storage subsystem includes a first storage device assigned with an attribute as a first replication source, and one or more first storage devices associated with the first storage device and assigned with an attribute as a second replication source. And two storage devices. The first storage subsystem stores the write data received from the first host terminal in the first storage device. The first storage subsystem issues an update number indicating the order in which the first storage device is updated by storing the write data in the first storage device, and the issued update number and the A data set including write data is generated, and the generated data set is stored in the one or more second storage devices. The first storage subsystem reads a data set from the one or more second storage devices, and transmits the read data set to the second storage subsystem. The first storage subsystem reads a data set from the one or more second storage devices, and transmits the read data set to the third storage subsystem.
前記第二記憶サブシステムが、前記一以上の第二記憶デバイスのうちの少なくとも一つに対応付けられ、前記第二複製元のペアとなる第二複製先としての属性が割り当てられた第三記憶デバイスと、前記第三記憶デバイスに対応付けられ、前記第一複製元のペアとなる第一複製先としての属性が割り当てられた第四記憶デバイスとを備える。前記第二記憶サブシステムは、前記データセットを前記第一記憶サブシステムから受信し、前記受信したデータセットを前記第三記憶デバイスに格納する。また、前記第二記憶サブシステムは、前記第三記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号に基づいて、前記第三記憶デバイス内から読み出し対象のデータセットを選択し、前記選択したデータセットを前記三記憶デバイスから読み出し、前記読み出したデータセット内のライトデータを前記四記憶デバイスに格納する。 A third storage in which the second storage subsystem is associated with at least one of the one or more second storage devices and assigned an attribute as a second replication destination that is a pair of the second replication source A fourth storage device associated with the third storage device and assigned with an attribute as a first replication destination that is a pair of the first replication source. The second storage subsystem receives the data set from the first storage subsystem and stores the received data set in the third storage device. The second storage subsystem selects a data set to be read from the third storage device based on an update number included in each of the one or more data sets in the third storage device. The selected data set is read from the three storage devices, and the write data in the read data set is stored in the four storage devices.
前記第三記憶サブシステムが、前記一以上の第二記憶デバイスのうちの少なくとも一つに対応付けられ、前記第二複製先としての属性が割り当てられた第五記憶デバイスと、前記第五記憶デバイスに対応付けられ、前記第一複製先としての属性が割り当てられた第六記憶デバイスとを備える。前記第三記憶サブシステムは、前記データセットを前記第一記憶サブシステムから受信し、前記受信したデータセットを前記第五記憶デバイスに格納する。また、前記第三記憶サブシステムは、前記第五記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号に基づいて、前記第五記憶デバイス内から読み出し対象のデータセットを選択し、前記選択したデータセットを前記五記憶デバイスから読み出し、前記読み出したデータセット内のライトデータを前記六記憶デバイスに格納する。 A fifth storage device in which the third storage subsystem is associated with at least one of the one or more second storage devices and assigned an attribute as the second replication destination; and the fifth storage device And a sixth storage device to which the attribute as the first replication destination is assigned. The third storage subsystem receives the data set from the first storage subsystem and stores the received data set in the fifth storage device. Further, the third storage subsystem selects a data set to be read from the fifth storage device based on an update number included in each of the one or more data sets in the fifth storage device. The selected data set is read from the five storage devices, and the write data in the read data set is stored in the six storage devices.
第三又は第五記憶デバイスからは、例えば、未だ読み出されていないデータセットのうち更新番号が最も若いデータセットが読み出される。すなわち、第三又は第五記憶デバイスからのデータセットの読み出しは、更新番号順に行われる。 From the third or fifth storage device, for example, a data set with the smallest update number is read out of data sets that have not been read out yet. That is, reading of the data set from the third or fifth storage device is performed in the order of update numbers.
上記のデータ処理システムの第一の実施態様では、ライトデータを送信する第二ホスト端末に前記第二記憶サブシステムが接続されており、前記第一ホスト端末で障害が発生した場合、前記第一記憶サブシステムは、前記一以上の第二記憶デバイス内の前記一以上のデータセットのうち、少なくとも前記第二記憶サブシステムに未送信のデータセットを読み出し、前記読み出した未送信のデータセットを前記第二記憶サブシステムに送信する。前記第二記憶サブシステムは、前記未送信のデータセットを前記第一記憶サブシステムから受信し、前記受信したデータセットを前記第三記憶デバイスに格納し、且つ、前記第三記憶デバイス内の未だ読み出していない一以上のデータセットを、更新番号の順に読み出し、前記読み出したデータセット内のライトデータを前記四記憶デバイスに格納する。前記データ処理システムが、前記第一記憶デバイスの属性である前記第一複製元と、前記第四記憶デバイスの属性である前記第一複製先とを入れ替え、且つ、前記一以上の第二記憶デバイスの属性である前記第二複製元と、前記第三記憶デバイスの属性である前記第二複製先とを入れ替える。前記第二記憶サブシステムは、前記第二ホスト端末からライトデータを受信し、前記受信したライトデータを前記第四記憶デバイスに格納する。また、前記第二記憶サブシステムは、前記ライトデータが前記第四記憶デバイスに格納されることによって前記第四記憶デバイスが更新された順序を表す更新番号を発行し、前記発行した更新番号と前記ライトデータとを含んだデータセットを生成して、前記生成したデータセットを前記第三記憶デバイスに格納する。また、前記第二記憶サブシステムは、前記第三記憶デバイスからデータセットを読み出し、前記読み出したデータセットを第一記憶サブシステムに送信する。前記第一記憶サブシステムが、前記データセットを前記第二記憶サブシステムから受信し、前記受信したデータセットを前記一以上の第二記憶デバイスに格納する。また、前記第一記憶サブシステムが、前記一以上の第二記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号に基づいて、前記一以上の第二記憶デバイス内から読み出し対象のデータセットを選択し、前記選択したデータセットを前記一以上の第二記憶デバイスから読み出し、前記読み出したデータセット内のライトデータを前記一記憶デバイスに格納する。 In the first embodiment of the data processing system, when the second storage subsystem is connected to a second host terminal that transmits write data, and a failure occurs in the first host terminal, the first host The storage subsystem reads an unsent data set to at least the second storage subsystem among the one or more data sets in the one or more second storage devices, and the read unsent data set is To the second storage subsystem. The second storage subsystem receives the untransmitted data set from the first storage subsystem, stores the received data set in the third storage device, and is still in the third storage device One or more data sets that have not been read are read in the order of update numbers, and the write data in the read data sets are stored in the four storage devices. The data processing system replaces the first replication source that is the attribute of the first storage device and the first replication destination that is the attribute of the fourth storage device, and the one or more second storage devices The second replication source that is the attribute of the second storage device and the second replication destination that is the attribute of the third storage device are switched. The second storage subsystem receives write data from the second host terminal and stores the received write data in the fourth storage device. Further, the second storage subsystem issues an update number indicating an order in which the fourth storage device is updated by storing the write data in the fourth storage device, and the issued update number and the A data set including write data is generated, and the generated data set is stored in the third storage device. The second storage subsystem reads a data set from the third storage device and transmits the read data set to the first storage subsystem. The first storage subsystem receives the data set from the second storage subsystem and stores the received data set in the one or more second storage devices. In addition, the first storage subsystem is a read target from the one or more second storage devices based on update numbers respectively included in the one or more data sets in the one or more second storage devices. The selected data set is read from the one or more second storage devices, and the write data in the read data set is stored in the one storage device.
上記のデータ処理システムの第二の実施態様では、前記第一の実施態様において、前記第二記憶サブシステムに前記第三記憶サブシステムが接続されている。前記第一記憶サブシステム又は前記第二記憶サブシステムは、前記一以上の第二記憶デバイス内の前記一以上のデータセットのうち、少なくとも前記第三記憶サブシステムに未送信のデータセットを読み出し、前記読み出した未送信のデータセットを前記第三記憶サブシステムに送信する。前記第三記憶サブシステムは、前記未送信のデータセットを前記第一記憶サブシステムから受信し、前記受信したデータセットを前記第五記憶デバイスに格納し、且つ、前記第五記憶デバイス内の未だ読み出していない一以上のデータセットを、更新番号の順に読み出し、前記読み出したデータセット内のライトデータを前記六記憶デバイスに格納する。前記データ処理システムが、前記第二複製先と前記第二複製元の入れ替えにより前記第二複製元が割り当てられた前記第三記憶デバイスに、前記第二複製先が割り当てられている前記第五記憶デバイスを対応付ける。前記第二記憶サブシステムは、前記第三記憶デバイスからデータセットを読み出し、前記読み出したデータセットを第三記憶サブシステムに送信する。前記第三記憶サブシステムが、前記データセットを前記第二記憶サブシステムから受信し、前記受信したデータセットを前記第五記憶デバイスに格納する。 In the second embodiment of the data processing system described above, in the first embodiment, the third storage subsystem is connected to the second storage subsystem. The first storage subsystem or the second storage subsystem reads a data set that has not been transmitted to at least the third storage subsystem among the one or more data sets in the one or more second storage devices, The read untransmitted data set is transmitted to the third storage subsystem. The third storage subsystem receives the untransmitted data set from the first storage subsystem, stores the received data set in the fifth storage device, and is still in the fifth storage device One or more data sets that have not been read are read in the order of update numbers, and the write data in the read data sets are stored in the six storage devices. In the data processing system, the fifth storage in which the second replication destination is allocated to the third storage device to which the second replication source is allocated by exchanging the second replication destination and the second replication source. Associate devices. The second storage subsystem reads a data set from the third storage device and transmits the read data set to the third storage subsystem. The third storage subsystem receives the data set from the second storage subsystem and stores the received data set in the fifth storage device.
上記のデータ処理システムの第三の実施態様では、前記第一記憶サブシステム及び前記第三記憶サブシステムは、前記第一記憶サブシステムと前記第二記憶サブシステムとの通信が中止しても、それとは独立して、前記第一記憶サブシステムと前記第三記憶サブシステムとの通信を維持する。 In the third embodiment of the data processing system, the first storage subsystem and the third storage subsystem may be configured to stop communication between the first storage subsystem and the second storage subsystem. Independently, communication between the first storage subsystem and the third storage subsystem is maintained.
具体的には、例えば、前記第二記憶サブシステム及び前記第一記憶サブシステムの少なくとも一方は、前記第三記憶デバイスから最近読出されたデータセットの更新番号の次の更新番号のデータセットを読み出すことができない場合には、前記第一記憶サブシステムと前記第二記憶サブシステムとの通信を中心する。前記第一記憶サブシステム及び前記第三記憶サブシステムは、前記第一記憶サブシステムと前記第二記憶サブシステムとの通信が中止しても、前記第五記憶デバイスから最近読出されたデータセットの更新番号の次の更新番号のデータセットを読み出すことができれば、前記第一記憶サブシステムと前記第三記憶サブシステムとの通信を維持する。 Specifically, for example, at least one of the second storage subsystem and the first storage subsystem reads the data set having the update number next to the update number of the data set that has been recently read from the third storage device. If this is not possible, communication between the first storage subsystem and the second storage subsystem is centered. The first storage subsystem and the third storage subsystem can store a data set recently read from the fifth storage device even if communication between the first storage subsystem and the second storage subsystem is interrupted. If the data set of the update number next to the update number can be read, the communication between the first storage subsystem and the third storage subsystem is maintained.
上記のデータ処理システムの第四の実施態様では、前記第二記憶サブシステム及び前記第三記憶サブシステムの少なくとも一方が、前記第一記憶サブシステムにリード命令を送信する。前記第一記憶サブシステムが、前記リード命令を受信し、前記リード命令に応答して、前記第二記憶サブシステム及び前記第三記憶サブシステムの少なくとも一方に、前記読み出したデータセットを送信する。 In the fourth embodiment of the data processing system, at least one of the second storage subsystem and the third storage subsystem transmits a read command to the first storage subsystem. The first storage subsystem receives the read command, and transmits the read data set to at least one of the second storage subsystem and the third storage subsystem in response to the read command.
上記のデータ処理システムの第五の実施態様では、前記一以上の第二記憶デバイスには、前記第三記憶デバイスに対応付けられた第一の第二記憶デバイスと、前記第五記憶デバイスに対応付けられた第二の第二記憶デバイスとが含まれており、前記第一記憶サブシステムは、前記生成したデータセットを、前記第一及び第二の両方の第二記憶デバイスに格納する。 In the fifth embodiment of the data processing system, the one or more second storage devices correspond to the first second storage device associated with the third storage device and the fifth storage device. The first storage subsystem stores the generated data set in both the first and second second storage devices.
上記のデータ処理システムの第六の実施態様では、前記第一乃至第三記憶サブシステムのうちの少なくとも一つが、前記第二複製元又は前記第二複製先が割り当てられた記憶デバイスに、空きの記憶領域が無くなった場合には、その記憶デバイスに格納されている一以上のデータセットのうち、更新番号が最も古いデータセットを消去する。 In the sixth embodiment of the above data processing system, at least one of the first to third storage subsystems is free on a storage device to which the second replication source or the second replication destination is assigned. When the storage area runs out, the data set with the oldest update number is deleted from one or more data sets stored in the storage device.
上記のデータ処理システムの第七の実施態様では、前記第二記憶サブシステムが前記第三記憶サブシステムに接続されており、前記第一記憶サブシステムで障害が発生した場合、前記第二記憶サブシステム及び前記第三記憶サブシステムの少なくとも一方が、前記第二複製元としての属性が割り当てられた前記第三記憶デバイスと、前記第二複製先としての属性が割り当てられた前記第五記憶デバイスとを対応付ける。前記第二記憶サブシステムが、前記第三記憶デバイスから読み出されたデータセットを、前記第三記憶サブシステムに送信する。前記第三記憶サブシステムが、前記第二記憶サブシステムからデータセットを受信し、前記受信したデータセットを前記第五記憶デバイスに格納する。 In a seventh embodiment of the above data processing system, when the second storage subsystem is connected to the third storage subsystem and a failure occurs in the first storage subsystem, the second storage subsystem At least one of the system and the third storage subsystem includes the third storage device to which the attribute as the second replication source is assigned, and the fifth storage device to which the attribute as the second replication destination is assigned. Associate. The second storage subsystem transmits the data set read from the third storage device to the third storage subsystem. The third storage subsystem receives a data set from the second storage subsystem and stores the received data set in the fifth storage device.
本発明の第二の側面に従う記憶サブシステムは、書込み対象のデータであるライトデータを送信するホスト端末と、第二記憶サブシステムと、第三記憶サブシステムとに接続可能であり、第一記憶デバイスと、一以上の第二記憶デバイスと、前記第一記憶デバイス及び前記一以上の第二記憶デバイスへのアクセスを制御する制御装置とを備える。前記制御装置は、前記第一ホスト端末から受信したライトデータを前記第一記憶デバイスに格納する。また、前記制御装置は、前記ライトデータが前記第一記憶デバイスに格納されることによって前記第一記憶デバイスが更新された順序を表す更新番号を発行し、前記発行した更新番号と前記ライトデータとを含んだデータセットを生成して、前記生成したデータセットを前記一以上の第二記憶デバイスに格納する。また、前記制御装置は、前記一以上の第二記憶デバイスからデータセットを読み出し、前記読み出したデータセットを前記第二記憶サブシステムに送信する。また、前記制御装置は、前記一以上の第二記憶デバイスからデータセットを読み出し、前記読み出したデータセットを前記第三記憶サブシステムに送信する。 The storage subsystem according to the second aspect of the present invention is connectable to a host terminal that transmits write data that is data to be written, a second storage subsystem, and a third storage subsystem, and the first storage A device; one or more second storage devices; and a control device that controls access to the first storage device and the one or more second storage devices. The control device stores the write data received from the first host terminal in the first storage device. Further, the control device issues an update number indicating an order in which the first storage device is updated by storing the write data in the first storage device, and the issued update number, the write data, Is generated, and the generated data set is stored in the one or more second storage devices. The control device reads a data set from the one or more second storage devices, and transmits the read data set to the second storage subsystem. In addition, the control device reads a data set from the one or more second storage devices, and transmits the read data set to the third storage subsystem.
本発明の第三の側面に従うデータ処理方法は、書込み対象のデータであるライトデータを送信する第一ホスト端末から前記ライトデータを受信し、前記受信したライトデータを記憶する第一記憶サブシステムと、前記第一記憶サブシステムに接続された第二記憶サブシステムと、前記第一記憶サブシステムに接続された第三記憶サブシステムとが備えられるデータ処理システムで実現される。前記第一記憶サブシステムが、第一記憶デバイスと、一以上の第二記憶デバイスとを備えている。前記第二記憶サブシステムが、第三記憶デバイスと、第四記憶デバイスとを備えている。前記第三記憶サブシステムが、第五記憶デバイスと、第六記憶デバイスとを備えている。データ処理方法は、前記第一ホスト端末から送信されたライトデータを第一記憶デバイスに格納するステップと、前記ライトデータが前記第一記憶デバイスに格納されることによって前記第一記憶デバイスが更新された順序を表す更新番号を発行するステップと、前記発行した更新番号と前記ライトデータとを含んだデータセットを生成して、前記生成したデータセットを一以上の第二記憶デバイスに格納するステップと、前記一以上の第二記憶デバイスからデータセットを読み出すステップと、前記読み出したデータセットを、前記第三記憶デバイスと前記第五記憶デバイスとに格納するステップと、前記第三記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号に基づいて、前記第三記憶デバイスからデータセットを読み出し、前記読み出したデータセット内のライトデータを前記第四記憶デバイスに格納するステップと、前記第五記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号に基づいて、前記第五記憶デバイスからデータセットを読み出し、前記読み出したデータセット内のライトデータを前記第六記憶デバイスに格納するステップとを有する。 A data processing method according to a third aspect of the present invention includes a first storage subsystem that receives the write data from a first host terminal that transmits write data that is data to be written, and stores the received write data. The data processing system includes a second storage subsystem connected to the first storage subsystem and a third storage subsystem connected to the first storage subsystem. The first storage subsystem includes a first storage device and one or more second storage devices. The second storage subsystem includes a third storage device and a fourth storage device. The third storage subsystem includes a fifth storage device and a sixth storage device. The data processing method includes a step of storing write data transmitted from the first host terminal in a first storage device, and the first storage device is updated by storing the write data in the first storage device. Issuing an update number representing the order, and generating a data set including the issued update number and the write data, and storing the generated data set in one or more second storage devices; Reading a data set from the one or more second storage devices; storing the read data set in the third storage device and the fifth storage device; and one in the third storage device Based on the update number included in each of the above data sets, the data set is stored from the third storage device. And storing the write data in the read data set in the fourth storage device, and the update number included in each of the one or more data sets in the fifth storage device, Reading a data set from the fifth storage device, and storing write data in the read data set in the sixth storage device.
本発明によれば、第一乃至第三の記憶サブシステムを備えるデータ処理システムにおいて、第一の記憶サブシステムに書き込まれたデータが第二及び第三の記憶サブシステムの各々に転送されて保持される場合、第二及び第三の記憶サブシステムの各々が互いのデータ更新に関する進捗状況を問い合わせなくても、第二及び第三の記憶サブシステム間でデータの整合性がとれる。 According to the present invention, in a data processing system including first to third storage subsystems, data written to the first storage subsystem is transferred to and retained in each of the second and third storage subsystems. In this case, data consistency can be obtained between the second and third storage subsystems without each of the second and third storage subsystems inquiring about the progress of the data update with respect to each other.
以下、図面を参照して、本発明の一実施形態やその実施形態に基づく幾つかの実施例を説明する。 Hereinafter, with reference to the drawings, an embodiment of the present invention and some examples based on the embodiment will be described.
図1Aは、本発明の一実施形態に係るデータ処理システムが行う第一の複製処理の概要を示し、図1Bは、そのデータ処理システムが行う第二の複製処理の概要を示す。 FIG. 1A shows an overview of a first replication process performed by a data processing system according to an embodiment of the present invention, and FIG. 1B shows an overview of a second replication process performed by the data processing system.
データ処理システム1には、少なくとも三つの記憶サブシステム100として、例えば、第一記憶サブシステム100A、第二記憶サブシステム100B、及び第三記憶サブシステム100Cが備えられる。以下、説明を分かりやすくするため、第一記憶サブシステム100Aに関する要素には、参照番号に加えて「A」という枝符号を付し、第二記憶サブシステム100Bに関する要素には、参照番号に加えて「B」という枝符号を付し、第三記憶サブシステム100Cに関する要素には、参照番号に加えて「C」という枝符号を付す。 The data processing system 1 includes at least three storage subsystems 100, for example, a first storage subsystem 100A, a second storage subsystem 100B, and a third storage subsystem 100C. Hereinafter, in order to make the explanation easier to understand, elements related to the first storage subsystem 100A are given a branch code “A” in addition to the reference number, and elements related to the second storage subsystem 100B are added to the reference number. The branch code “B” is attached, and the element related to the third storage subsystem 100C is assigned the branch code “C” in addition to the reference number.
記憶サブシステム100A、100B及び100Cの各々は、ホスト端末180と通信することができる。ホスト端末180は、CPUやメモリ等をハードウェア資源として備えるコンピュータであり、具体的には、例えば、パーソナルコンピュータ或いはサーバマシンである。以下、第一記憶サブシステム100Aの通信相手となるホスト端末180を「第一ホスト端末180A」とし、第二記憶サブシステム100Bの通信相手となるホスト端末180を「第二ホスト端末180B」とし、第三記憶サブシステム100Cの通信相手となるホスト端末180を「第三ホスト端末180C」とする。 Each of the storage subsystems 100A, 100B, and 100C can communicate with the host terminal 180. The host terminal 180 is a computer that includes a CPU, memory, and the like as hardware resources, and is specifically a personal computer or a server machine, for example. Hereinafter, the host terminal 180 serving as the communication partner of the first storage subsystem 100A is referred to as “first host terminal 180A”, and the host terminal 180 serving as the communication partner of the second storage subsystem 100B is referred to as “second host terminal 180B”. The host terminal 180 that is the communication partner of the third storage subsystem 100C is referred to as “third host terminal 180C”.
また、記憶サブシステム100A、100B及び100Cの各々は、図示しない物理的な記憶装置(例えばハードディスクドライブ)を一又は複数台備えており、それら一又は複数台の記憶装置に、論理的な記憶装置である論理ボリューム(以下、単に「VOL」と表記する)6を複数個備える。例えば、第一記憶サブシステム100Aは、三個のVOL6A1〜6A3を備え、第二記憶サブシステム100Bは、二個のVOL6B1〜6B2を備え、第三記憶サブシステム100Cは、二個のVOL6C1〜6C2を備える。 Each of the storage subsystems 100A, 100B, and 100C includes one or a plurality of physical storage devices (for example, hard disk drives) (not shown), and a logical storage device is included in the one or the plurality of storage devices. A plurality of logical volumes (hereinafter simply referred to as “VOL”) 6 are provided. For example, the first storage subsystem 100A includes three VOLs 6A1 to 6A3, the second storage subsystem 100B includes two VOLs 6B1 to 6B2, and the third storage subsystem 100C includes two VOLs 6C1 to 6C2. Is provided.
VOL6には、複数種類のVOL属性のうちの少なくとも一種類のVOL属性が割り当てられる。割り当て可能な複数種類のVOL属性としては、例えば、PVOL、SVOL、PJNLVOL及びSJNLVOLの四種類がある。 At least one type of VOL attribute among a plurality of types of VOL attributes is assigned to VOL6. There are four types of VOL attributes that can be assigned, for example, PVOL, SVOL, PJNLVOL, and SJNLVOL.
VOL属性が「PVOL」であるVOL6は、ホスト端末180から記憶サブシステム100が受信した書込み対象のデータ(以下、ライトデータ)2の書き込み先となるVOL(以下、ライトデータVOL)であり、且つ、ライトデータ2の複製元となるプライマリのライトデータVOLである。以下、VOL属性が「PVOL」であるVOL6を、「PVOL6」と記す。 VOL 6 having a VOL attribute “PVOL” is a VOL (hereinafter, write data VOL) that is a write destination of write target data (hereinafter, write data) 2 received by the storage subsystem 100 from the host terminal 180, and , Primary write data VOL that is a copy source of write data 2. Hereinafter, VOL6 whose VOL attribute is “PVOL” will be referred to as “PVOL6”.
VOL属性が「SVOL」であるVOL6は、PVOL6に格納されているライトデータ2の複製先となるセカンダリのライトデータVOLである。以下、VOL属性が「SVOL」であるVOL6を、「SVOL6」と記す。 A VOL 6 with a VOL attribute “SVOL” is a secondary write data VOL that is a copy destination of the write data 2 stored in the PVOL 6. Hereinafter, VOL6 having the VOL attribute “SVOL” is referred to as “SVOL6”.
VOL属性が「PJNLVOL」であるVOL6は、ライトデータ2に基づいて生成されたジャーナル(以下、「JNL」と略記)3が格納されるVOL(以下、JNLVOL)であり、且つ、JNLの複製元となるプライマリのJNLVOLである。以下、VOL属性が「PJNLVOL」であるVOL6を、「PJNLVOL6」と記す。 A VOL 6 having a VOL attribute “PJNLVOL” is a VOL (hereinafter referred to as “JNLVOL”) 3 in which a journal (hereinafter abbreviated as “JNL”) 3 generated based on the write data 2 is stored, and a JNL replication source Is the primary JNLVOL. Hereinafter, VOL6 whose VOL attribute is “PJNLVOL” will be referred to as “PJNLVOL6”.
VOL属性が「SJNLVOL」であるVOL6は、PJNLVOL6に格納されているJNL3の複製先となるセカンダリのJNLVOLである。以下、VOL属性が「SJNLVOL」であるVOL6を、「SJNLVOL6」と記す。 VOL6 with a VOL attribute “SJNLVOL” is a secondary JNLVOL that is a replication destination of JNL3 stored in PJNLVOL6. Hereinafter, VOL6 whose VOL attribute is “SJNLVOL” will be referred to as “SJNLVOL6”.
VOL6は、VOL属性「SVOL」と「PVOL」の両方を有する場合もある。この場合、そのVOL6は、SVOL6(つまりライトデータ2の複製先)として、ライトデータ2が書かれる場合もあるし、PVOL6(つまりライトデータ2の複製元)として、ライトデータ2が読み出される場合もある。同様に、VOL6は、VOL属性「SJNLVOL」と「PJNLVOL」の両方を有する場合もある。この場合、そのVOL6は、SJNLVOL6(つまりJNL3の複製先)として、JNL3が書かれる場合もあるし、PJNLVOL6(つまりJNL3の複製元)として、JNL3が読み出される場合もある。以下、VOL属性「SVOL」と「PVOL」の両方を有するVOL6を、「SPVOL6」と記し、VOL属性「SJNLVOL」と「PJNLVOL」の両方を有するVOL6を、「SPJNLVOL6」と記す。 VOL 6 may have both VOL attributes “SVOL” and “PVOL”. In this case, the write data 2 may be written to the VOL 6 as the SVOL 6 (that is, the copy destination of the write data 2), or the write data 2 may be read out as the PVOL 6 (that is, the copy source of the write data 2). is there. Similarly, VOL 6 may have both VOL attributes “SJNLVOL” and “PJNLVOL”. In this case, JNL3 may be written as SJNLVOL6 (that is, the copy destination of JNL3), and JNL3 may be read out as PJNLVOL6 (that is, the copy source of JNL3). Hereinafter, VOL6 having both VOL attributes “SVOL” and “PVOL” will be referred to as “SPVOL6”, and VOL6 having both VOL attributes “SJNLVOL” and “PJNLVOL” will be referred to as “SPJNLVOL6”.
JNL3は、ライトデータ2に基づき記憶サブシステム100によって生成されるデータ群である。JNL3には、ライトデータ2と、更新データ4とが含まれている。更新データ4は、ライトデータ2の格納位置や更新順序等を管理するためのデータである。 JNL 3 is a data group generated by the storage subsystem 100 based on the write data 2. JNL 3 includes write data 2 and update data 4. The update data 4 is data for managing the storage position and update order of the write data 2.
図2は、更新データ4の構成例を示す。図3は、ライトデータVOL及びJNLVOLの構成例であって、特に、図2に例示した更新データ4が表す構成例を示す。以下、VOL6の記憶領域の先頭からの位置(換言すれば、先頭を基準とした位置)を便宜上「アドレス」と表記する。また、更新データ4を含んだJNL3に含まれているライトデータ2を「JNLライトデータ2」と言い、ライト命令に従って書かれるライトデータ2を「オリジナルライトデータ2」と言う。 FIG. 2 shows a configuration example of the update data 4. FIG. 3 is a configuration example of the write data VOL and JNLVOL, and particularly shows a configuration example represented by the update data 4 illustrated in FIG. Hereinafter, the position from the beginning of the storage area of the VOL 6 (in other words, the position relative to the beginning) will be referred to as “address” for convenience. The write data 2 included in the JNL 3 including the update data 4 is referred to as “JNL write data 2”, and the write data 2 written according to the write command is referred to as “original write data 2”.
更新データ4を構成するデータ要素の項目として、例えば、以下の(1)乃至(5)のデータ要素項目、
(1)ライト命令を受信した時刻、
(2)更新番号、
(3)ライト命令の論理アドレス(例えば、オリジナルライトデータ2が書かれるVOLのVOLIDと、そのVOLのアドレスとのセット)、
(4)ライトデータのデータサイズ、
(5)ライトデータを格納したJNLVOLの論理アドレス、
がある。図2に記載の更新データ4の例によれば、JNLライトデータ2が、1999年3月17日の22時20分10秒に受信したライト命令に従って書き込まれたオリジナルライトデータ2に対応したものであることがわかる。また、当該ライト命令は、図3に示すように、VOLID(VOL6の識別子)が「1」であるライトデータVOL6のアドレス700からオリジナルライトデータ2を書き始めることを意味する命令であり、オリジナルライトデータ2のデータサイズは300KBであることがわかる。また、そのオリジナルライトデータ2に対応したJNLライトデータ2は、図3に示すように、VOLIDが「4」であるJNLVOL6のアドレス1500から書き始められることがわかる。JNLライトデータ2が、4番目の更新の際に書かれたライトデータ2であることがわかる。なお、更新データ4は、ライト命令を受信した時刻と更新番号のどちらか一方のみを保持してもよい。また、ホスト端末180からのライト命令内にライト命令の作成時刻が存在する場合は、ライト命令を受信した時刻の代わりに、当該ライト命令内の作成時刻が更新データ4に保持されてもよい。
As data element items constituting the update data 4, for example, the following data element items (1) to (5),
(1) Time when the write command is received,
(2) Update number,
(3) Logical address of write instruction (for example, set of VOLID of VOL where original write data 2 is written and address of VOL),
(4) Write data size,
(5) JNLVOL logical address storing the write data,
There is. According to the example of the update data 4 shown in FIG. 2, the JNL write data 2 corresponds to the original write data 2 written according to the write command received at 22:20:10 on March 17, 1999. It can be seen that it is. Further, as shown in FIG. 3, the write command is a command that means to start writing the original write data 2 from the address 700 of the write data VOL6 whose VOLID (identifier of VOL6) is “1”. It can be seen that the data size of data 2 is 300 KB. Further, it can be seen that the JNL write data 2 corresponding to the original write data 2 can be written from the address 1500 of JNLVOL 6 whose VOLID is “4” as shown in FIG. It can be seen that the JNL write data 2 is the write data 2 written at the time of the fourth update. The update data 4 may hold only one of the time when the write command is received and the update number. Further, when the write instruction creation time exists in the write instruction from the host terminal 180, the creation time in the write instruction may be held in the update data 4 instead of the time when the write instruction is received.
JNLVOL6は、例えば、図3に示すように、更新データ4を格納する記憶領域(更新データ領域)7と、ライトデータを格納する記憶領域(ライトデータ領域)8とに分割されている。更新データ領域7には、更新データ領域7の先頭から、更新番号の順に更新データが格納され、更新データ領域7の終端に達すると、次の更新番号が更新データ領域7の先頭から格納される。ライトデータ領域8には、ライトデータ領域8の先頭から順にJNLライトデータ2が格納され、ライトデータ領域8の終端に達すると、次のJNLライトデータ2がライトデータ領域8の先頭から格納される。更新データ領域7およびライトデータ領域8の大きさの比は、固定値でもよいし、後述するSVP(保守端末)あるいはホスト端末180等の特定の端末により設定変更可能としてもよい。これらの構成に関する情報は、後述するポインタ管理データ700内に含めることができる。以下の説明では、JNLVOL6は、更新データ領域7とライトデータ領域8とに分割して使用されるが、JNLVOL6の先頭から、更新データ4とライトデータ2のセットを連続的に格納する方式が採用されてもよい(つまり、更新データ領域7とライトデータ領域8とに分かれていなくても良い)。 For example, as shown in FIG. 3, the JNLVOL 6 is divided into a storage area (update data area) 7 for storing update data 4 and a storage area (write data area) 8 for storing write data. Update data is stored in the update data area 7 in the order of update numbers from the top of the update data area 7. When the end of the update data area 7 is reached, the next update number is stored from the top of the update data area 7. . JNL write data 2 is stored in the write data area 8 in order from the top of the write data area 8. When the end of the write data area 8 is reached, the next JNL write data 2 is stored from the top of the write data area 8. . The ratio of the sizes of the update data area 7 and the write data area 8 may be a fixed value or may be set and changed by a specific terminal such as an SVP (maintenance terminal) or a host terminal 180 described later. Information regarding these configurations can be included in pointer management data 700 described later. In the following description, the JNLVOL 6 is used by being divided into the update data area 7 and the write data area 8, but a method of continuously storing the set of update data 4 and write data 2 from the beginning of the JNLVOL 6 is adopted. (That is, it may not be divided into the update data area 7 and the write data area 8).
さて、再び図1A及び図1Bを参照する。 Now refer to FIGS. 1A and 1B again.
データ処理システム1では、PVOL6とSVOL6とによってVOLペア14が構成され、且つ、PJNLVOL6とSJNLVOL6とによって別のVOLペア(以下、便宜上「ミラーペア」と言う)12が構成される。そして、ミラーペア12のPJNLVOL6には、或るVOLペア14を構成するPVOL6が対応付けられ、同一のミラーペア12のSJNLVOL6には、そのVOLペア14を構成するSVOL6が対応付けられる。これにより、PVOL6、PJNLVOL6、SVJNLVOL6及びSVOL6から成るVOLグループ16、換言すれば、VOLペア14とミラーペア12とを含んだVOLグループ16が構築される。そして、この構成の下では、以下の順序、すなわち、PVOL6にオリジナルライトデータ2が格納され、そのオリジナルライトデータ2に基づいてJNL3が生成されてPJNLVOL6に格納され、PJNLVOL6からJNL3が読み出されてSJNLVOL6に格納され、SJNLVOL6に格納されたJNL3に基づいてSVOL6内にオリジナルライトデータ2がリストアされるといった順序で、PVOL6に格納されたオリジナルライトデータ2のSVOL6への複製が行われる。なお、VOLペアの組み合わせによって、PVOLの数対SVOLの数(及び/又は、SVOLの数対PVOLの数)を一対二以上にすることができる。また、ミラーペアの組み合わせによって、PJNLVOLの数対SJNLVOLの数(及び/又は、SJNLVOLの数対PJNLVOLの数)を一対二以上にすることができる。 In the data processing system 1, the VOL pair 14 is configured by the PVOL 6 and the SVOL 6, and another VOL pair (hereinafter referred to as “mirror pair” for convenience) 12 is configured by the PJNLVOL 6 and the SJNLVOL 6. A PVOL 6 constituting a certain VOL pair 14 is associated with the PJNLVOL 6 of the mirror pair 12, and an SVOL 6 constituting the VOL pair 14 is associated with the SJNLVOL 6 of the same mirror pair 12. Thus, a VOL group 16 composed of PVOL6, PJNLVOL6, SVJNLVOL6, and SVOL6, in other words, a VOL group 16 including the VOL pair 14 and the mirror pair 12 is constructed. Under this configuration, the original write data 2 is stored in the following order, that is, PVOL6, JNL3 is generated based on the original write data 2, stored in PJNLVOL6, and JNL3 is read from PJNLVOL6. The original write data 2 stored in the PVOL 6 is copied to the SVOL 6 in the order in which the original write data 2 is restored in the SVOL 6 based on the JNL 3 stored in the SJNLVOL 6 and stored in the SJNLVOL 6. It should be noted that the number of PVOLs versus the number of SVOLs (and / or the number of SVOLs versus the number of PVOLs) can be increased to one or more by the combination of VOL pairs. Further, the number of PJNLVOLs versus the number of SJNLVOLs (and / or the number of SJNLVOLs vs. the number of PJNLVOLs) can be increased to one or more by the combination of mirror pairs.
本実施形態では、どのPJNLVOL6とどのSJNLVOL6とでミラーペア12を構成するかや、どのミラーペア12のPJNLVOL6にどんなPVOL6を対応付けるかや、どのミラーペア12のSJNLVOL6にどんなSVOL6を対応付けるかによって、PVOL6、PJNLVOL6、SJNLVOL6及びSVOL6を含んだVOLグループ16を定義することができる。また、本実施形態では、複数のVOLグループ16をどのように組み合わせるかによって、具体的には、例えば、或るVOLグループ16のPVOLと別のVOLグループ16のPVOLとを同一にするか、又は、或るグループ16のPVOLと別のVOLグループ16のSVOLとを同一にするかによって、データの複製経路及び複製方向(換言すれば、ライトデータ2の流れる経路及び方向)を二つ以上にするか一つにするかを定義することができる。以下、データの複製経路及び複製方向が二つ以上であるデータの複製方式を、便宜上、「マルチターゲット方式」と称し、データの複製経路及び複製方向が一つであるデータの複製方式を、「マルチホップ方式」と称する。 In the present embodiment, PVOL6, PJNLVOL6, PJNLVOL6, PJNLVOL6, PJNLVOL6, PJNLVOL6, PJNLVOL6, PJNLVOL6, PJNLVOL6, PJNLVOL6, PJNLVOL6, which PJNLVOL6 is associated with PJNLVOL6 A VOL group 16 including SJNLVOL6 and SVOL6 can be defined. Further, in the present embodiment, depending on how the plurality of VOL groups 16 are combined, specifically, for example, a PVOL of one VOL group 16 and a PVOL of another VOL group 16 are made the same, or Depending on whether the PVOL of one group 16 and the SVOL of another VOL group 16 are the same, the data replication path and the replication direction (in other words, the path and direction in which the write data 2 flows) are set to two or more. You can define whether or not Hereinafter, a data replication method having two or more data replication paths and replication directions is referred to as a “multi-target method” for convenience, and a data replication method having one data replication path and replication direction is referred to as “ This is referred to as “multi-hop method”.
まず、図1Aを参照して、マルチターゲット方式によるデータ複製処理の概要を説明する。 First, with reference to FIG. 1A, an outline of data replication processing by the multi-target method will be described.
図1Aに例示するように、第一の記憶サブシステム100Aが備える一つのPVOL6A1に、同記憶サブシステム100Aが備える第一のPJNLVOL6A2及び第二のPJNLVOL6A3が対応付けられる。第一のPJNLVOL6A2には、第二の記憶サブシステム100Bが備える第一のSJNLVOL6B1が対応付けられ、その第一のSJNLVOL6B1には、同記憶サブシステム100Bが備える第一のSVOL6B2が対応付けられる。一方、第二のPJNLVOL6A3には、第三の記憶サブシステム100Cが備える第二のSJNLVOL6C1が対応付けられ、その第二のSJNLVOL6C1には、同記憶サブシステム100Cが備える第二のSVOL6C2が対応付けられる。この構成により、第一と第二のデータ複製経路及び複製方向が定義され、データ処理システム1では、以下の処理が行われる。 As illustrated in FIG. 1A, the first PJNLVOL 6A2 and the second PJNLVOL 6A3 included in the storage subsystem 100A are associated with one PVOL 6A1 included in the first storage subsystem 100A. The first SJNLVOL 6B1 included in the second storage subsystem 100B is associated with the first PJNLVOL 6A2, and the first SVOL 6B2 included in the storage subsystem 100B is associated with the first SJNLVOL 6B1. On the other hand, the second SJNLVOL6C1 provided in the third storage subsystem 100C is associated with the second PJNLVOL6A3, and the second SVOL6C2 provided in the storage subsystem 100C is associated with the second SJNLVOL6C1. . With this configuration, the first and second data replication paths and the replication direction are defined, and the data processing system 1 performs the following processing.
第一記憶サブシステム100Aは、第一ホスト端末180Aからオリジナルライトデータ2を受信し、そのオリジナルライトデータ2を、PVOL6A1に格納する。また、第一の記憶サブシステム100Aは、その際のPVOL6A1への更新順番を表す更新番号を含んだ二重化されたJNL(以下、第一と第二のJNL)3を生成し、第一のJNL3を第一のPJNLVOL6A2に格納し、第二のJNL3を第二のJNLVOL6A3に格納する(JNLの二重化は、例えば、後述するキャッシュメモリ130上で行うことができる)。第一と第二のJNL3に含まれている更新番号は、同一の更新番号となっている。なお、同一の更新番号が含まれた第一と第二のJNL3は、二重化処理とは異なる処理によって生成されてもよい。 The first storage subsystem 100A receives the original write data 2 from the first host terminal 180A and stores the original write data 2 in the PVOL 6A1. Also, the first storage subsystem 100A generates a duplicated JNL (hereinafter referred to as the first and second JNL) 3 including an update number indicating the update order to the PVOL 6A1 at that time, and the first JNL3 Are stored in the first PJNLVOL 6A2 and the second JNL3 is stored in the second JNLVOL 6A3 (JNL duplication can be performed, for example, on the cache memory 130 described later). The update numbers included in the first and second JNL 3 are the same update number. Note that the first and second JNLs 3 including the same update number may be generated by a process different from the duplex process.
この処理の後、第一の複製経路及び複製方向、すなわち、PVOL6A1を複製スタートVOLとし、第一PJNLVOL6A2及び第一SJNLVOL6B1を中継VOLとし、第一SVOL6B2を複製ゴールVOLとした経路に従う複製処理が行われることで、第一のSVOL6B2に、PVOL6A1に書かれたオリジナルライトデータ2がリストアされる。具体的には、第二の記憶サブシステム100Bが、所定の又は任意のタイミングで、第一のJNL3を第一のPJNLVOL6A2から読み出すためのJNLリード命令を生成し、そのJNLリード命令を第一記憶サブシステム100Aに送信する。そのJNLリード命令は、例えば、単にJNLを読み出すことの命令を意味するものであってもよいし、未だ読み出していない第一のJNL3のうち最も若い更新番号(換言すれば、直前の回に読み出した第一JNL3に含まれていた更新番号の次の更新番号)を含んだ第一のJNL3を読み出すための命令(具体的には、例えば、第一のPJNLVOL6A2のVOLIDと更新番号とを含んだリード命令)であってもよい。第一の記憶サブシステム100Aは、そのリード命令に応答して、そのリード命令中で指定された更新番号を有する第一JNL3を第一PJNLVOL6A2から読み出し、読み出した第一JNL3を、リード命令の送信元である第二の記憶サブシステム100Bに返送する。第二の記憶サブシステム100Bは、第一の記憶サブシステム100Aから受信した第一JNL3を、第一のSJNLVOL6B1に格納する。また、第二の記憶サブシステム100Bは、所定の又は任意のタイミングで、リストア処理の済んでいない一以上の第一JNL3のうち最も若い更新番号(換言すれば、直前の回に読み出した第一JNL3に含まれていた更新番号の次の更新番号)を含んだ第一JNL3を第一SJNLVOL6B1から読み出し、読み出した第一JNL3に含まれているJNLライトデータ2をオリジナルライトデータ2として第一SVOL6B2に格納する。なお、第一のSJNLVOL6B1に第一JNL3が書き込まれるタイミングと、第一のSJNLVOL6B1から第一JNL3が読み出されるタイミングは同じあっても異なっていてもよい。換言すれば、例えば、或るタイミングで第一のSJNLVOL6B1に書き込まれた第一JNL3中の更新番号と、そのタイミングと同じ或いは直近のタイミングで第一のSJNLVOL6B1から読み出された第一JNL3中の更新番号とは、同一であっても異なっていても良い。 After this processing, replication processing is performed in accordance with the first replication path and the replication direction, that is, the path with PVOL6A1 as the replication start VOL, first PJNLVOL6A2 and first SJNLVOL6B1 as the relay VOL, and first SVOL6B2 as the replication goal VOL. As a result, the original write data 2 written in the PVOL 6A1 is restored to the first SVOL 6B2. Specifically, the second storage subsystem 100B generates a JNL read instruction for reading the first JNL3 from the first PJNLVOL6A2 at a predetermined or arbitrary timing, and stores the JNL read instruction in the first storage Transmit to subsystem 100A. The JNL read instruction may mean, for example, an instruction for simply reading JNL, or the youngest update number of the first JNL 3 that has not yet been read (in other words, read in the immediately preceding round). An instruction for reading the first JNL3 including the update number next to the update number included in the first JNL3 (specifically, for example, including the VOLID of the first PJNLVOL6A2 and the update number) Read command). In response to the read command, the first storage subsystem 100A reads the first JNL3 having the update number specified in the read command from the first PJNLVOL6A2, and transmits the read first JNL3 to the read command. Return to the original second storage subsystem 100B. The second storage subsystem 100B stores the first JNL3 received from the first storage subsystem 100A in the first SJNLVOL 6B1. In addition, the second storage subsystem 100B has the smallest update number (in other words, the first read out in the immediately preceding time) among the one or more first JNL3s that have not been restored at a predetermined or arbitrary timing. The first JNL3 including the update number next to the update number included in the JNL3 is read from the first SJNLVOL6B1, and the JNL write data 2 included in the read first JNL3 is used as the original write data 2 as the first SVOL6B2. To store. The timing at which the first JNL3 is written to the first SJNLVOL 6B1 and the timing at which the first JNL3 is read from the first SJNLVOL 6B1 may be the same or different. In other words, for example, the update number in the first JNL3 written in the first SJNLVOL 6B1 at a certain timing and the first JNL3 in the first JNL3 read out from the first SJNLVOL 6B1 at the same timing or the latest timing. The update number may be the same or different.
また、第二の複製経路及び複製方向、すなわち、PVOL6A1を複製スタートVOLとし、第二PJNLVOL6A3及び第二SJNLVOL6C1を中継VOLとし、第二SVOL6C2を複製ゴールVOLとした経路に従う複製処理が行われることで、第二のSVOL6C2に、PVOL6A1に書かれたオリジナルライトデータ2がリストアされる。具体的な処理流れ例は、第一の複製経路及び複製方向に従う複製処理と同様である。なお、第一及び第二の複製経路及び複製方向の少なくとも一つにおいて、第一の記憶サブシステム100Aが、書き込み対象のJNL3とライト命令とをSJNLVOL6B1又は6B2を宛先として送信することで、JNL3がSJNLVOL6B1又は6B2に格納されてもよい。 Also, by performing replication processing according to the second replication path and the replication direction, that is, the path in which PVOL6A1 is the replication start VOL, the second PJNLVOL6A3 and the second SJNLVOL6C1 are the relay VOL, and the second SVOL6C2 is the replication goal VOL. The original write data 2 written in the PVOL 6A1 is restored to the second SVOL 6C2. A specific processing flow example is the same as the replication processing according to the first replication path and the replication direction. In at least one of the first and second duplication paths and duplication directions, the first storage subsystem 100A sends the write target JNL3 and the write command to the SJNLVOL 6B1 or 6B2 as the destination. It may be stored in SJNLVOL 6B1 or 6B2.
以上が、マルチターゲット方式に従う複製処理の概要である。この複製処理によれば、PVOL6A1に書かれたオリジナルライトデータ2に基づいて、同一の更新番号が付された複数のJNL3が生成され、それら複数のJNL3は、PVOL6A1に対応付けられた複数のPJNLVOL6A2及び6A3にそれぞれ格納される。その後、JNL3中の更新番号に従う順序で、PJNLVOL6A2及び6A3から、そのPJNLVOL6A2及び6A3とそれぞれミラーペア12を構成するSJNLVOL6B1及び6C1にJNL3がそれぞれ読み出され、そのJNL3を基に、PVOL6A1とVOLペア14を構成するSVOL6B2及び6C2(換言すれば、JNL3の複製先であるSJNLVOL6B1及び6C1にそれぞれ対応付けられたSVOL6B2及び6C2)に、PVOL6A1に書かれたオリジナルライトデータ2と同一のオリジナルライトデータ2がリストアされる。これにより、第二記憶サブシステム100Bと第三記憶サブシステム100Cが互いにデータの更新状況を問い合わせなくても、二つの記憶サブシステム100B、100C間でのデータの整合性を保つことができる。 The above is the outline of the duplication processing according to the multi-target method. According to this duplication processing, a plurality of JNLs 3 having the same update number are generated based on the original write data 2 written in the PVOL 6A1, and the plurality of JNLs 3 are a plurality of PJNLVOLs 6A2 associated with the PVOL 6A1. And 6A3, respectively. Thereafter, JNL3 is read from PJNLVOL6A2 and 6A3 to SJNLVOL6B1 and 6C1, respectively, which constitute mirror pair 12 from PJNLVOL6A2 and 6A3 in the order according to the update number in JNL3, and PVOL6A1 and VOL pair are based on JNL3. The same original write data 2 as the original write data 2 written in the PVOL 6A1 is restored to the SVOLs 6B2 and 6C2 (in other words, the SVOLs 6B2 and 6C2 respectively associated with the JNL3 replication destinations SJNLVOL 6B1 and 6C1). The As a result, the consistency of data between the two storage subsystems 100B and 100C can be maintained without the second storage subsystem 100B and the third storage subsystem 100C inquiring about the data update status.
次に、図1Bを参照して、マルチホップ方式によるデータ複製処理の概要を説明する。 Next, with reference to FIG. 1B, the outline of the data replication processing by the multi-hop method will be described.
図1Bに例示するように、第二の記憶サブシステム100Bが備えるPVOL6B2に、同記憶サブシステム100Bが備えるPJNLVOL6B2が対応付けられる。そのPJNLVOL6B1には、第一の記憶サブシステム100Aが備えるSJNLVOL6A2が対応付けられ、そのSJNLVOL6A2には、同記憶サブシステム100Aが備えるSPVOL6A1がSVOL(PVOL6B2とVOLペア14を構成するSVOL)として対応付けられる。また、そのSPVOL6A1には、そのSPVOL6A1がPVOLであるとして、同記憶サブシステム100Aが備えるPJNLVOL6A3が対応付けられる。そのPJNLVOL6A3には、第三の記憶サブシステム100Cが備えるSJNLVOL6B1が対応付けられ、そのSJNLVOL6B1には、同記憶サブシステム100Cが備えるSVOL(PVOLとしたSPVOL6A1とVOLペア14を構成するSVOL)6C2が対応付けられる。この構成により、第二記憶サブシステム100Bが備えるPVOL6B2を複製スタートVOLとし、第三記憶サブシステム100Cが備えるSVOL6C2を複製ゴールVOLとし、VOL6B2、6A2、6A1、6B3及び6A2を中継VOLとした一つのデータ複製経路及び複製方向が定義され、データ処理システム1では、以下の処理が行われる。 As illustrated in FIG. 1B, PJNLVOL6B2 included in the storage subsystem 100B is associated with PVOL6B2 included in the second storage subsystem 100B. The SJNLVOL6A2 included in the first storage subsystem 100A is associated with the PJNLVOL6B1, and the SPVOL6A1 included in the storage subsystem 100A is associated with the SJNLVOL6A2 as an SVOL (SVOL that constitutes the VOL pair 14 with the PVOL6B2). . Further, the SPVOL 6A1 is associated with the PJNLVOL 6A3 provided in the storage subsystem 100A, assuming that the SPVOL 6A1 is a PVOL. The SJNLVOL6B1 provided in the third storage subsystem 100C is associated with the PJNLVOL6A3, and the SVOL provided in the storage subsystem 100C (the SVOL constituting the PVOL and the SVOL constituting the VOL pair 14) 6C2 is associated with the SJNLVOL6B1. Attached. With this configuration, the PVOL 6B2 included in the second storage subsystem 100B is set as the replication start VOL, the SVOL 6C2 included in the third storage subsystem 100C is set as the replication goal VOL, and the VOLs 6B2, 6A2, 6A1, 6B3, and 6A2 are set as the relay VOL. A data replication path and a replication direction are defined, and the data processing system 1 performs the following processing.
第二記憶サブシステム100Bは、第二ホスト端末180Bからオリジナルライトデータ2を受信し、そのオリジナルライトデータ2を、PVOL6B2に格納する。また、第二記憶サブシステム100Bは、その際のPVOL6B2の更新順番を表す更新番号を含んだJNL3を生成し、そのJNL3をPJNLVOL6B1に格納する。 The second storage subsystem 100B receives the original write data 2 from the second host terminal 180B and stores the original write data 2 in the PVOL 6B2. The second storage subsystem 100B generates JNL3 including an update number indicating the update order of the PVOL 6B2 at that time, and stores the JNL3 in the PJNLVOL 6B1.
第一の記憶サブシステム100Aが、所定の又は任意のタイミングで、JNL3をPJNLVOL6B1から読み出すためのJNLリード命令を生成し、そのJNLリード命令を第二記憶サブシステム100Bに送信する。そのJNLリード命令は、例えば、単にJNLを読み出すことの命令を意味するものであってもよいし、未だ読み出していないJNL3うち最も若い更新番号(換言すれば、直前の回に読み出したJNLに含まれていた更新番号の次の更新番号)を含んだJNLを読み出すための命令(具体的には、例えば、PJNLVOL6B1のVOLIDと更新番号とを含んだリード命令)であってもよい。第二記憶サブシステム100Bは、そのリード命令に応答して、そのリード命令中で指定された更新番号を有するJNL3をPJNLVOL6B1から読み出し、読み出したJNL3を、リード命令の送信元である第一記憶サブシステム100Bに返送する。第一記憶サブシステム100Aは、第二記憶サブシステム100Bから受信したJNL3を、SJNLVOL6A2に格納する。また、第一記憶サブシステム100Aは、所定の又は任意のタイミングで(例えば、SJNLVOL6A2へのJNLの格納と同じタイミングで)、リストア処理の済んでいない一以上のJNL3のうち最も若い更新番号(換言すれば、直前の回に読み出した第一JNL3に含まれていた更新番号の次の更新番号)を含んだJNL3を、SJNLVOL6A2から読み出し、読み出したJNL3に含まれているJNLライトデータ2をオリジナルライトデータ2としてSPVOL6A1に格納する。なお、SJNLVOL6A2にJNL3が書き込まれるタイミングと、SJNLVOL6A2からJNL3が読み出されるタイミングは同じであっても異なっていてもよい。換言すれば、例えば、或るタイミングでSJNLVOL6A2に書き込まれたJNL3中の更新番号と、そのタイミングと同じ或いは直近のタイミングでSJNLVOL6A2から読み出されたJNL3中の更新番号とは、同一であっても異なっていても良い。 The first storage subsystem 100A generates a JNL read instruction for reading JNL3 from the PJNLVOL6B1 at a predetermined or arbitrary timing, and transmits the JNL read instruction to the second storage subsystem 100B. The JNL read instruction may mean, for example, an instruction for simply reading the JNL, or the smallest update number among the JNLs 3 that have not yet been read (in other words, included in the JNL read in the previous round) An instruction for reading JNL including the update number next to the update number (specifically, for example, a read instruction including the VOLID of PJNLVOL6B1 and the update number) may be used. In response to the read command, the second storage subsystem 100B reads JNL3 having the update number specified in the read command from PJNLVOL6B1, and reads the read JNL3 from the first storage sub that is the source of the read command. Return to system 100B. The first storage subsystem 100A stores the JNL3 received from the second storage subsystem 100B in the SJNLVOL6A2. Further, the first storage subsystem 100A has the smallest update number (in other words, one or more JNLs 3 that have not been restored) at a predetermined or arbitrary timing (for example, at the same timing as the storage of JNL in the SJNLVOL 6A2). Then, JNL3 including the update number next to the update number included in the first JNL3 read immediately before is read from SJNLVOL6A2, and the JNL write data 2 included in the read JNL3 is the original write. The data 2 is stored in the SPVOL 6A1. Note that the timing at which JNL3 is written to SJNLVOL6A2 and the timing at which JNL3 is read from SJNLVOL6A2 may be the same or different. In other words, for example, the update number in JNL3 written to SJNLVOL6A2 at a certain timing and the update number in JNL3 read from SJNLVOL6A2 at the same timing or the latest timing are the same. It may be different.
PVOL6B2、PJNLVOL6B1、SJNLVOL6A2及びSPVOL6A1を有するVOLグループ16において行われたデータ複製処理と同様の処理が、SPVOL6A1、PJNLVOL6A3、SJNLVOL6C1及びSPVOL6A1を有する別のVOLグループ16についても行われる。すなわち、第一記憶サブシステム100Aが、SPVOL6A1から、SPVOL6A1の更新順番を表す更新番号を含んだJNL3を生成し、そのJNL3をPJNLVOL6A3に格納する。その後、第一記憶サブシステム100Aは、第三記憶サブシステム100CからJNL3のリード命令を受信し、それに応答して、PJNLVOL6A3からJNL3を読み出して第三記憶サブシステム100Cに転送する。それにより、第三記憶サブシステム100Cにおいて、そのJNL3がSJNLVOL6C1に書き込まれ、且つ、そのJNL3に含まれているJNLライトデータ2がオリジナルライトデータ2としてSVOL6C2にリストアされる。 A process similar to the data replication process performed in the VOL group 16 having PVOL6B2, PJNLVOL6B1, SJNLVOL6A2 and SPVOL6A1 is similar to the SPVOL6A1, PJNLVOL6A3, SJNLVOL6C1 and the other VOL of the 16th. That is, the first storage subsystem 100A generates JNL3 including an update number indicating the update order of SPVOL6A1 from SPVOL6A1, and stores the JNL3 in PJNLVOL6A3. Thereafter, the first storage subsystem 100A receives the JNL3 read command from the third storage subsystem 100C, and in response to this, reads the JNL3 from the PJNLVOL 6A3 and transfers it to the third storage subsystem 100C. Thereby, in the third storage subsystem 100C, the JNL3 is written to the SJNLVOL6C1, and the JNL write data 2 included in the JNL3 is restored to the SVOL6C2 as the original write data 2.
以上が、マルチホップ方式に従う複製処理の概要である。なお、PJNLVOLからSJNLVOLへのJNLの複製は、SJNLVOLを有する記憶サブシステム100がPJNLVOLを有する記憶サブシステム100にリード命令を送信することによって行われたが、それとは逆に、PJNLVOLを有する記憶サブシステム100がSJNLVOLを有する記憶サブシステム100にライト命令を送信することによって行われてもよい。 The above is the outline of the duplication processing according to the multi-hop method. Note that JNL replication from PJNLVOL to SJNLVOL was performed by the storage subsystem 100 having SJNLVOL sending a read instruction to the storage subsystem 100 having PJNLVOL. Conversely, the storage subsystem having PJNLVOL is This may be done by the system 100 sending a write command to the storage subsystem 100 having SJNLVOL.
このマルチホップ方式に従う複製処理によれば、第二記憶サブシステム100BのPVOL6B2に書かれたオリジナルライトデータ2に基づいて、更新番号を含んだJNL3が生成され、そのJNL3は、PVOL6B2に対応付けられたPJNLVOL6B1に格納される。その後、定義された一つの複製経路及び複製方向に沿って下流側に、ライトデータ2が転送されていき、やがて、その複製経路及び複製方向の複製ゴールVOLである、第三記憶サブシステム100CのSVOL6C2に、複製スタートVOLであるPVOL6B2に書かれたオリジナルライトデータ2と同一のデータが複製される。これにより、第二記憶サブシステム100Bと第三記憶サブシステム100Cが互いにデータの更新状況を問い合わせなくても、二つの記憶サブシステム100B、100C間でのデータの整合性を保つことができる。 According to the replication processing according to this multi-hop method, JNL3 including the update number is generated based on the original write data 2 written in PVOL6B2 of the second storage subsystem 100B, and the JNL3 is associated with PVOL6B2. Stored in the PJNLVOL6B1. Thereafter, the write data 2 is transferred downstream along the defined one replication path and replication direction, and eventually the replication goal VOL in the replication path and the replication direction of the third storage subsystem 100C. The same data as the original write data 2 written in the PVOL 6B2, which is the duplication start VOL, is duplicated in the SVOL 6C2. As a result, the consistency of data between the two storage subsystems 100B and 100C can be maintained without the second storage subsystem 100B and the third storage subsystem 100C inquiring about the data update status.
データ処理システム1は、上述したマルチターゲット方式とマルチホップ方式とを切り替えたり、或いは、マルチターゲット方式とマルチホップ方式とを組み合わせたりすることを動的に行うことができる。例えば、図1Aに例示したマルチターゲット方式が採用されている場合に、第一ホスト端末180Aで障害が発生した場合には、図1Bに例示したマルチホップ方式に切替えることができる。また、例えば、図1Bに例示したマルチホップ方式が採用されている場合に、第二ホスト端末180Bで障害が発生した場合には、図1Aに例示したマルチターゲット方式に切り替えることができる。また、例えば、記憶サブシステム100の数が四以上の場合のマルチターゲット方式では、第一の複製経路及び複製方向と第二の複製経路及び複製方向の少なくとも一方が、マルチホップ方式に従う複製経路及び複製方向とすることができる。 The data processing system 1 can dynamically perform switching between the multi-target method and the multi-hop method described above, or combining the multi-target method and the multi-hop method. For example, when the multi-target method illustrated in FIG. 1A is adopted and a failure occurs in the first host terminal 180A, it is possible to switch to the multi-hop method illustrated in FIG. 1B. Further, for example, when the multi-hop method exemplified in FIG. 1B is adopted and a failure occurs in the second host terminal 180B, the multi-target method exemplified in FIG. 1A can be switched. Further, for example, in the multi-target method when the number of storage subsystems 100 is four or more, at least one of the first replication route and the replication direction and the second replication route and the replication direction is a replication route according to the multi-hop method. It can be a replication direction.
以下、図4乃至図20を参照して、本実施形態に係るデータ処理システム1の基本的な構成や処理を説明し、その後、その実施形態の第一実施例として、マルチターゲット方式について詳細に説明し、更に、その後、その実施形態の第二実施例として、マルチホップ方式について詳細に説明することにする。 Hereinafter, the basic configuration and processing of the data processing system 1 according to the present embodiment will be described with reference to FIGS. 4 to 20, and then the multi-target method will be described in detail as a first example of the embodiment. The multi-hop scheme will be described in detail as a second example of the embodiment.
図4は、データ処理システム1の構成例を示す。なお、この図には、第一記憶サブシステム100Aの構成を詳細に示し、他の記憶サブシステム100B及び100Cの構成は第一記憶サブシステム100Aと同様なので、それについては概略的に示している。以下、第一記憶サブシステム100Aを代表的に例に採り説明し、適宜、他の記憶サブシステム100B及び100Cについても説明する。 FIG. 4 shows a configuration example of the data processing system 1. In this figure, the configuration of the first storage subsystem 100A is shown in detail, and the configuration of the other storage subsystems 100B and 100C is the same as that of the first storage subsystem 100A, so it is schematically shown. . Hereinafter, the first storage subsystem 100A will be described as a representative example, and the other storage subsystems 100B and 100C will be described as appropriate.
第一記憶サブシステム100Aは、例えばRAID(Redundant Array of Independent Disks)システムのようなディスクアレイシステムである。第一記憶サブシステム100Aは、例えば、第一記憶サブシステム100Aが行う処理を制御する制御装置101Aと、RAIDグループ210Aと、サービスプロセッサ(SVP)281Aとを備える。制御装置101Aは、例えば、複数のディスクアダプタ(以下、DKA)120Aと、複数のチャネルアダプタ(以下、CHA)110Aと、キャッシュメモリ130Aと、共有メモリ140Aと、スイッチング制御部270Aとを備える。 The first storage subsystem 100A is a disk array system such as a RAID (Redundant Array of Independent Disks) system. The first storage subsystem 100A includes, for example, a control device 101A that controls processing performed by the first storage subsystem 100A, a RAID group 210A, and a service processor (SVP) 281A. The control device 101A includes, for example, a plurality of disk adapters (hereinafter referred to as DKA) 120A, a plurality of channel adapters (hereinafter referred to as CHAs) 110A, a cache memory 130A, a shared memory 140A, and a switching control unit 270A.
RAIDグループ210Aは、複数の記憶装置150Aを含んでおり、例えば、RAID1やRAID5等のRAIDに基づく冗長記憶を提供する。各記憶装置150Aは、例えば、ハードディスクドライブ(或いはハードディスクそれ自体)、半導体メモリ装置、光磁気ディスクドライブ(或いは光磁気ディスクそれ自体)等の記憶デバイスから構成することができる。各記憶装置150Aが提供する物理的な記憶領域上には、論理的な記憶領域であるVOL6Aを少なくとも一つ以上設定可能である。VOL6Aには、ホスト端末180Aから利用される複数のライトデータが記憶することができる。また、別のVOL6Aには、後述する第一制御情報141A等を格納し、システム領域として利用することもできる。なお、記憶装置150Aは、その全てが第一記憶サブシステム100Aの筐体内に位置する必要はない。例えば、他の記憶サブシステム100B又は100Cが有するVOLを、第一記憶サブシステム100AのVOLとして使用することもできる。 The RAID group 210A includes a plurality of storage devices 150A and provides, for example, redundant storage based on RAID such as RAID1 or RAID5. Each storage device 150A can be composed of a storage device such as a hard disk drive (or hard disk itself), a semiconductor memory device, a magneto-optical disk drive (or magneto-optical disk itself), and the like. At least one or more VOL 6A, which is a logical storage area, can be set on the physical storage area provided by each storage device 150A. A plurality of write data used from the host terminal 180A can be stored in the VOL 6A. Further, in another VOL 6A, first control information 141A and the like described later can be stored and used as a system area. Note that all of the storage devices 150A need not be located within the housing of the first storage subsystem 100A. For example, a VOL that the other storage subsystem 100B or 100C has can be used as a VOL of the first storage subsystem 100A.
各DKA120Aは、各記憶装置150Aとの間のデータ授受を制御するものである。各DKA120Aは、例えば、CPU、ROM、RAM等を含んだマイクロコンピュータシステムとして構成される。各DKA120Aは、第一記憶サブシステム100A内に複数設けられる。DKA120は、例えば、SCSIやiSCSI等に基づいて、記憶装置150Aとの間でブロックレベルのデータ転送を行う。 Each DKA 120A controls data exchange with each storage device 150A. Each DKA 120A is configured as a microcomputer system including a CPU, a ROM, a RAM, and the like, for example. A plurality of each DKA 120A is provided in the first storage subsystem 100A. The DKA 120 performs block-level data transfer with the storage device 150A based on, for example, SCSI or iSCSI.
複数のCHA110Aの各々は、DKA120Aと同様に、マイクロコンピュータシステムとして構成可能である。複数のCHA110Aには、ホスト端末180Aと接続パス190Aを介してデータ通信を行う1以上の複数のホストCHA110HAと、他の記憶サブシステム100B及び100Cとそれぞれ接続パス200A、200Bを介してデータ通信を行うシステムCHA110SA1、110SA2とが含まれている。なお、接続パス190A、200A及び200Bの少なくとも一方は、通信ネットワークであっても良いし、専用のパスラインであっても良い。また、ホストCHA110HAは、ホスト端末180の種類(例えば、サーバかメインフレームか等)に応じて、それぞれ用意されてもよい。 Each of the plurality of CHAs 110A can be configured as a microcomputer system similarly to the DKA 120A. The plurality of CHAs 110A communicate data with one or more host CHAs 110HA that perform data communication with the host terminal 180A via the connection path 190A, and the other storage subsystems 100B and 100C via the connection paths 200A and 200B, respectively. The systems CHA110SA1 and 110SA2 to be performed are included. Note that at least one of the connection paths 190A, 200A, and 200B may be a communication network or a dedicated path line. The host CHA 110HA may be prepared according to the type of the host terminal 180 (for example, a server or a mainframe).
キャッシュメモリ130Aは、例えば、揮発または不揮発の半導体メモリから構成することができる。キャッシュメモリ130Aは、ホスト端末180Aからのライトデータ2(VOLに書き込まれるデータ)や、VOL6Aから読み出されたライトデータ2を記憶する。 The cache memory 130A can be composed of, for example, a volatile or non-volatile semiconductor memory. The cache memory 130A stores write data 2 (data written to the VOL) from the host terminal 180A and write data 2 read from the VOL 6A.
共有メモリ140Aは、例えば、不揮発または揮発の半導体メモリから構成することができる。共有メモリ140Aは、例えば、ホスト端末180Aから受信した各種コマンドや、第一記憶サブシステム100Aの制御に使用する第一制御情報141A等を記憶する。コマンドや後述の第一制御情報141A等は、複数の共有メモリ140Aによって、冗長記憶されてもよい。なお、キャッシュメモリ130Aと共有メモリ140Aとは、それぞれ別々のメモリとして構成することもできるし、あるいは、一つのメモリの一部をキャッシュメモリ領域として使用し、残りを共有メモリ領域として使用することもできる。 The shared memory 140A can be configured from, for example, a nonvolatile or volatile semiconductor memory. The shared memory 140A stores, for example, various commands received from the host terminal 180A, first control information 141A used for controlling the first storage subsystem 100A, and the like. Commands, first control information 141A described later, and the like may be redundantly stored by the plurality of shared memories 140A. Note that the cache memory 130A and the shared memory 140A can be configured as separate memories, respectively, or a part of one memory can be used as a cache memory area and the rest can be used as a shared memory area. it can.
スイッチング制御部270Aは、各DKA120Aと、ホストCHA110HAと、システムCHA110SA1及びSA2と、キャッシュメモリ130Aと、共有メモリ140Aとを、それぞれ相互に接続するものである。スイッチング制御部270Aは、例えば、超高速クロスバスイッチ等から構成することができる。 The switching control unit 270A connects each DKA 120A, the host CHA 110HA, the systems CHA 110SA1 and SA2, the cache memory 130A, and the shared memory 140A to each other. The switching control unit 270A can be composed of, for example, an ultrahigh-speed crossbar switch.
SVP(Service Processor)281Aは、例えば内部ネットワーク(例えばLAN)282Aを介して、第一記憶サブシステム100A内の各部の状態を収集し監視する。SVP281A、収集した内部状態の情報を生データのままで、あるいは、統計処理したデータとして、外部の管理端末(不図示)に出力する。SVP281Aが収集可能な情報としては、例えば、装置構成、電源アラーム、温度アラーム、入出力速度等が挙げられる。システム管理者は、管理端末からSVP281Aを介して、RAID構成の設定変更や、各種パッケージ(例えば、CHA110AやDKA120A)の閉塞処理等を行うことができる。また、SVP281Aは、通信ネットワーク(例えばLAN又はインターネット)108を介して管理端末109から遠隔操作されてもよい。 The SVP (Service Processor) 281A collects and monitors the state of each unit in the first storage subsystem 100A via, for example, an internal network (for example, LAN) 282A. The SVP 281A outputs the collected internal state information as raw data or as statistically processed data to an external management terminal (not shown). Examples of information that can be collected by the SVP 281A include device configuration, power supply alarm, temperature alarm, input / output speed, and the like. The system administrator can change the setting of the RAID configuration, block various types of packages (for example, CHA 110A and DKA 120A), etc. from the management terminal via the SVP 281A. Further, the SVP 281A may be remotely operated from the management terminal 109 via a communication network (for example, a LAN or the Internet) 108.
次に、第一記憶サブシステム100Aが行う処理の一例について説明する。ホストCHA110HAは、接続パス190Aを介して、ホスト端末180Aからライト命令及びライトデータ2を受信する。受信されたライト命令は共有メモリ140Aに記憶され、受信されたライトデータ2はキャッシュメモリ130Aに記憶される。DKA120Aは、共有メモリ140Aを随時参照している。DKA120Aは、共有メモリ140Aに記憶されている未処理のライト命令を発見すると、このライト命令に従って、キャッシュメモリ130Aからライトデータ2を読み出し、アドレス変換等を行う。DKA120Aは、ライト命令によって指定されたVOL6Aを構成する各記憶装置150Aに、ライトデータ2を記憶させる。 Next, an example of processing performed by the first storage subsystem 100A will be described. The host CHA 110HA receives the write command and the write data 2 from the host terminal 180A via the connection path 190A. The received write command is stored in the shared memory 140A, and the received write data 2 is stored in the cache memory 130A. The DKA 120A refers to the shared memory 140A as needed. When the DKA 120A finds an unprocessed write instruction stored in the shared memory 140A, the DKA 120A reads the write data 2 from the cache memory 130A according to the write instruction, and performs address conversion and the like. The DKA 120A stores the write data 2 in each storage device 150A constituting the VOL 6A designated by the write command.
ホスト端末180Aからのリード命令を処理する場合を説明する。ホストCHA110HAは、ホスト端末180Aからリード命令を受信すると、このリード命令を共有メモリ140Aに記憶させる。DKA120Aは、共有メモリ140A内で未処理のリード命令を発見すると、このリード命令によって指定されたVOL6Aを構成する各記憶装置150Aからライトデータ2を読み出す。DKA120Aは、読み出したライトデータ2をキャッシュメモリ130Aに記憶させる。また、DKA120Aは、要求されたライトデータ2の読出しが完了した旨を、共有メモリ140Aを介して、ホストCHA110HAに通知する。ホストCHA110HAは、キャッシュメモリ130Aからライトデータ2を読み込み、ホスト端末180Aに送信する。 A case where a read command from the host terminal 180A is processed will be described. When the host CHA 110HA receives a read command from the host terminal 180A, the host CHA 110HA stores the read command in the shared memory 140A. When the DKA 120A finds an unprocessed read instruction in the shared memory 140A, the DKA 120A reads the write data 2 from each storage device 150A constituting the VOL 6A designated by the read instruction. The DKA 120A stores the read write data 2 in the cache memory 130A. Further, the DKA 120A notifies the host CHA 110HA via the shared memory 140A that the reading of the requested write data 2 has been completed. The host CHA 110HA reads the write data 2 from the cache memory 130A and transmits it to the host terminal 180A.
第一記憶サブシステム100Aと第二記憶サブシステム100Bとの間で接続パス200A(リモートコピーラインと呼んでも良い)を介して行われるデータ複製(以下、「リモートコピー」と呼ぶ場合がある)の一例について説明する。なお、その説明は、第一記憶サブシステム100Aと第三記憶サブシステム100Cとの間で接続パス200Bを介して行われるデータ複製や、第二記憶サブシステム100Bと第三記憶サブシステム100Cとの間で接続パス200Cを介して行われ得るデータ複製にも適用することができる。 Data replication (hereinafter sometimes referred to as “remote copy”) performed between the first storage subsystem 100A and the second storage subsystem 100B via the connection path 200A (which may be referred to as a remote copy line). An example will be described. Note that the explanation is based on data replication performed between the first storage subsystem 100A and the third storage subsystem 100C via the connection path 200B, and between the second storage subsystem 100B and the third storage subsystem 100C. The present invention can also be applied to data replication that can be performed via the connection path 200C.
リモートコピーは、ホスト端末180Aからのライト命令或いはリード命令ではなく、記憶サブシステム100A、100B間で送受信されるライト命令或いはリード命令に応答して行われるものであり、ホスト端末180Aを不要としたデータ複製処理である。 Remote copy is performed in response to a write command or a read command transmitted / received between the storage subsystems 100A and 100B, not a write command or a read command from the host terminal 180A, thus eliminating the need for the host terminal 180A. Data replication processing.
具体的には、例えば、第一記憶サブシステム100Aの制御装置101Aは、PVOL6Aを更新する都度に、上述したJNL3を生成してPJNLVOL6Aに格納し、第二記憶サブシステム100Bからリード命令を受けた場合(或いは、自分がライト命令を第二記憶サブシステム100Bに発行した場合)には、PJNLVOL6A内のJNL3を接続パス200Aを介して第二記憶サブシステム100Bに送信する。これにより、第一記憶サブシステム100AにおけるJNL3の格納とは非同期で、そのJNL3が第二記憶サブシステム100Bに格納される。また、そのJNL3を用いたリストア処理が第二記憶サブシステム100Bで行われることにより、SVOL6BがPVOL6Aの複製となる。 Specifically, for example, every time the PVOL 6A is updated, the control device 101A of the first storage subsystem 100A generates the above-described JNL3, stores it in the PJNLVOL 6A, and receives a read command from the second storage subsystem 100B. In the case (or when the write command is issued to the second storage subsystem 100B), JNL3 in the PJNLVOL 6A is transmitted to the second storage subsystem 100B through the connection path 200A. As a result, the JNL 3 is stored in the second storage subsystem 100B asynchronously with the storage of the JNL 3 in the first storage subsystem 100A. Further, the restore process using the JNL 3 is performed in the second storage subsystem 100B, so that the SVOL 6B becomes a copy of the PVOL 6A.
以上が、本実施形態における記憶サブシステム100の構成例である。なお、言うまでも無いが、記憶サブシステム100は、上述した構成に限定する必要は無い。例えば、接続パス200Cは、無くてもよい。また、管理端末109は、通信ネットワーク108を介して、各記憶サブシステム100A〜100Cの各SVP281A〜281Cを遠隔操作し、各記憶サブシステム100A〜100Cに第一〜第三の制御情報141A〜141Cをそれぞれ登録しても良い。また、制御装置101は、上記の構成に限らず、例えば、制御情報やライトデータ等を記憶することができるメモリと、ホスト端末180に対するインターフェース装置(以下、「I/F」と略記)と、他の記憶サブシステムに対するI/Fと、記憶装置150に対するI/Fと、メモリ上の情報に基づきそれらのI/Fを介した通信等を制御する制御部(例えばCPU)とにより構成されてもよい。また、記憶サブシステム100では、ホスト端末180(もしくは、他の記憶サブシステム)からCHA110及びスイッチング制御部270を介してキャッシュメモリ130へ行う第一データ転送や、キャッシュメモリ130からスイッチング制御部270及びCHA110を介してホスト端末(もしくは、他の記憶サブシステム)へ行う第二データ転送は、第一データ転送を制御するCHA110と第二データ転送を制御するCHA110とが異なれば、及び/又は、データの転送元と転送先となるキャッシュが異なれば(例えば、転送元のキャッシュメモリアドレスと転送先のキャッシュメモリアドレスとが異なれば)、同時に行うことができる。同様に、記憶サブシステム100では、記憶装置150からDKA120及びスイッチング制御部270を介してキャッシュメモリ130へ行う第三データ転送や、キャッシュメモリ130からスイッチング制御部270及びDKA120を介して記憶装置150へ行う第四データ転送は、第三データ転送を制御するDKA120と第四データ転送を制御するDKA120とが異なれば、及び/又は、データの転送元と転送先となるキャッシュが異なれば(例えば、転送元のキャッシュメモリアドレスと転送先のキャッシュメモリアドレスとが異なれば)、同時に行うことができる。また、上述した第一データ転送での転送先又は第二データ転送での転送元と、第三データ転送での転送先及び/又は第四データ転送での転送元とが異なれば、第一データ転送又は第二データ転送と、第三データ転送及び/又は第四データ転送とを同時に行うことができる。また、上記のような同時転送を行うために、各転送経路(例えば、CHA110とスイッチング制御部270との間の転送経路、DKA120とスイッチング制御部270との間の転送経路、スイッチング制御部270とキャッシュメモリ130との間の転送経路)には、適切な帯域(転送速度)が必要となる。例えば、1つのスイッチング制御部270が、2つのCHA110と、2つのDKA120と、2つのキャッシュメモリ130とに接続されている場合、スイッチング制御部270とキャッシュメモリ130との間の帯域は、CHA110(又はDKA120)とスイッチング制御部270との間の帯域の1倍以上でなければ、多重伝送のメリットはなく、2倍以上の帯域があることが望ましい。また、記憶装置150の書込み速度や読出し速度、及び、キャッシュメモリ130の書込み速度や読出し速度は、記憶装置150とキャッシュメモリ130との間のパスの転送速度に比べて速い速度であり、且つ、互いにアンダーランエラーやオーバーランエラーが生じないような速度になっているのが好ましい。また、ホスト端末180A〜180C及び記憶サブシステム100A〜100Cは、同一の通信ネットワーク(例えばSAN(Storage Area Network))に接続されていても良い。 The above is the configuration example of the storage subsystem 100 in the present embodiment. Needless to say, the storage subsystem 100 need not be limited to the configuration described above. For example, the connection path 200C may not be provided. Also, the management terminal 109 remotely operates the SVPs 281A to 281C of the storage subsystems 100A to 100C via the communication network 108, and the first to third control information 141A to 141C are stored in the storage subsystems 100A to 100C. May be registered respectively. The control device 101 is not limited to the above-described configuration, for example, a memory that can store control information, write data, and the like, an interface device for the host terminal 180 (hereinafter abbreviated as “I / F”), An I / F for other storage subsystems, an I / F for the storage device 150, and a control unit (for example, a CPU) that controls communication via those I / Fs based on information on the memory. Also good. In the storage subsystem 100, the first data transfer from the host terminal 180 (or another storage subsystem) to the cache memory 130 via the CHA 110 and the switching control unit 270, the switching control unit 270 from the cache memory 130, and The second data transfer to the host terminal (or other storage subsystem) via the CHA 110 is performed if the CHA 110 that controls the first data transfer is different from the CHA 110 that controls the second data transfer and / or data. If the transfer source cache and the transfer destination cache are different (for example, if the transfer source cache memory address and the transfer destination cache memory address are different), it can be performed simultaneously. Similarly, in the storage subsystem 100, third data transfer is performed from the storage device 150 to the cache memory 130 via the DKA 120 and the switching control unit 270, and from the cache memory 130 to the storage device 150 via the switching control unit 270 and the DKA 120. The fourth data transfer to be performed is different if the DKA 120 that controls the third data transfer is different from the DKA 120 that controls the fourth data transfer and / or the data transfer source and the transfer destination cache are different (for example, transfer If the original cache memory address and the transfer destination cache memory address are different), they can be performed simultaneously. In addition, if the transfer destination in the first data transfer or the transfer source in the second data transfer is different from the transfer destination in the third data transfer and / or the transfer source in the fourth data transfer, the first data The transfer or the second data transfer and the third data transfer and / or the fourth data transfer can be performed simultaneously. Further, in order to perform the simultaneous transfer as described above, each transfer path (for example, a transfer path between the CHA 110 and the switching control unit 270, a transfer path between the DKA 120 and the switching control unit 270, and the switching control unit 270) An appropriate bandwidth (transfer speed) is required for the transfer path to and from the cache memory 130. For example, when one switching control unit 270 is connected to two CHAs 110, two DKAs 120, and two cache memories 130, the bandwidth between the switching control unit 270 and the cache memory 130 is CHA 110 ( Alternatively, if the bandwidth between the DKA 120) and the switching control unit 270 is not 1 or more times, there is no merit of multiplex transmission, and it is desirable that there is a bandwidth that is 2 or more times. Further, the writing speed and reading speed of the storage device 150 and the writing speed and reading speed of the cache memory 130 are faster than the transfer speed of the path between the storage device 150 and the cache memory 130, and It is preferable that the speed is such that no underrun error or overrun error occurs. Further, the host terminals 180A to 180C and the storage subsystems 100A to 100C may be connected to the same communication network (for example, SAN (Storage Area Network)).
ところで、CHA110A及びDKA120Aから参照可能なメモリ、例えば、共有メモリ140Aには、第一制御情報141Aが格納される。第一制御情報141Aは、第一記憶制御システム100Aに固有の内容であっても良いし、データ処理システム1に備えられる全ての記憶サブシステム100A〜100Cに共通の内容であってもよい。第一制御情報141Aは、SVP281Aから入力しても良いし、管理端末109から通信ネットワーク108及びSVP281Aを介して入力しても良い。SVP281Aから入力された第一制御情報141Aの全部又は一部は、例えば、共有メモリ140、キャッシュメモリ130、CHA110、DKA120、及び記憶装置150の少なくとも一つに集中してまたは分散して格納されても良い。本実施形態では、第一の制御情報141Aは、例えば、CHA110A又はDKA120Aから内部ネットワーク282Aを介して共有メモリ140Aに登録される。第一制御情報141Aには、例えば、図5に示すように、VOL管理データ400A、パス管理データ500A、及びポインタ管理データ700Aが含まれる。以下、それらについて説明する。 Incidentally, the first control information 141A is stored in a memory that can be referred to from the CHA 110A and the DKA 120A, for example, the shared memory 140A. The first control information 141A may be content specific to the first storage control system 100A, or may be content common to all the storage subsystems 100A to 100C provided in the data processing system 1. The first control information 141A may be input from the SVP 281A, or may be input from the management terminal 109 via the communication network 108 and the SVP 281A. All or part of the first control information 141A input from the SVP 281A is stored in a centralized or distributed manner in at least one of the shared memory 140, the cache memory 130, the CHA 110, the DKA 120, and the storage device 150, for example. Also good. In the present embodiment, the first control information 141A is registered in the shared memory 140A from the CHA 110A or DKA 120A via the internal network 282A, for example. For example, as shown in FIG. 5, the first control information 141A includes VOL management data 400A, path management data 500A, and pointer management data 700A. These will be described below.
図6Aは、図1Aに例示したマルチターゲット方式が採用された場合のVOL管理データ400Aの構成例を示す。図6Bは、図1Bに例示したマルチホップ方式が採用された場合のVOL管理データ400Aの構成例を示す。なお、図6Bでは、図6Aに示した内容と異なる場所を点線枠で示している。 FIG. 6A shows a configuration example of the VOL management data 400A when the multi-target method exemplified in FIG. 1A is adopted. FIG. 6B shows a configuration example of the VOL management data 400A when the multi-hop method exemplified in FIG. 1B is adopted. Note that, in FIG. 6B, a location different from the content shown in FIG. 6A is indicated by a dotted frame.
VOL管理データ400Aは、複数のVOL6Aを管理するためのデータであり、例えば、各VOL6A毎に対応付けられたVOLID、VOL状態、フォーマット形式、VOL容量(例えば単位はギガバイト)、及び物理アドレスをデータ要素として含んでいる。 The VOL management data 400A is data for managing a plurality of VOLs 6A. For example, VOL ID, VOL status, format format, VOL capacity (for example, gigabytes) and physical address associated with each VOL 6A are data. Contains as an element.
VOLIDは、VOL6Aを識別するための識別子である。その識別子は、例えば、番号である。なお、この図6A及び図6Bでは、VOLID「1」が、図1A及び図1Bに例示したVOL6A1であり、VOLID「4」が、図1A及び図1Bに例示したVOL6A2であり、VOLID「5」が、図1A及び図1Bに例示したVOL6A3である。 The VOLID is an identifier for identifying the VOL 6A. The identifier is, for example, a number. 6A and 6B, the VOLID “1” is the VOL6A1 illustrated in FIGS. 1A and 1B, the VOLID “4” is the VOL6A2 illustrated in FIGS. 1A and 1B, and the VOLID “5”. Is the VOL6A3 illustrated in FIGS. 1A and 1B.
VOL状態は、VOL6Aの状態を表すデータ要素であり、例えば、“正常”、“正”、“副”、“異常”、又は“未使用”などで表すことができる。VOL状態が“正常”もしくは“正”であるVOL6Aは、ホスト端末180Aから正常にアクセス可能なVOL6Aである。VOL状態が“副”であるVOL6Aは、ホスト端末180Aからのアクセスが許可されてもよいVOL6Aである。VOL状態が“正”であるVOL6Aは、PVOL又はPJNLVOLである。VOL状態が“副”であるVOL6Aは、SVOL又はSJNLVOLである。VOL状態が“異常”のVOL6Aは、障害により正常にアクセスできないVOL6Aである。ここで言う「障害」とは、例えば、VOL6Aを保持する記憶装置150Aの故障である。VOL状態が“未使用”のVOL6Aは、使用していないVOL6Aであることを示す。なお、VOL状態が“正”であるVOL6Aが、PVOLとPJNLVOLのどちらであるかや、VOL状態が“副”であるVOL6Aが、SVOL又はSJNLVOLのどちらであるかは、後述のペア管理サブデータ501Aを参照することにより特定することができる。 The VOL state is a data element that represents the state of the VOL 6A, and can be represented by, for example, “normal”, “normal”, “secondary”, “abnormal”, or “unused”. The VOL 6A whose VOL state is “normal” or “normal” is a VOL 6A that can be normally accessed from the host terminal 180A. The VOL 6A whose VOL state is “secondary” is a VOL 6A to which access from the host terminal 180A may be permitted. The VOL 6A in which the VOL state is “positive” is a PVOL or a PJNLVOL. The VOL 6A in which the VOL state is “secondary” is SVOL or SJNLVOL. The VOL 6A whose VOL state is “abnormal” is a VOL 6A that cannot be normally accessed due to a failure. The “failure” mentioned here is, for example, a failure of the storage device 150A that holds the VOL 6A. A VOL 6A whose VOL status is “unused” indicates that the VOL 6A is not in use. Note that whether the VOL 6A whose VOL state is “primary” is PVOL or PJNLVOL, and whether the VOL 6A whose VOL state is “secondary” is SVOL or SJNLVOL, will be described later. It can be specified by referring to 501A.
VOL容量は、VOL6Aの記憶容量を表す。 The VOL capacity represents the storage capacity of VOL 6A.
物理アドレスは、第一記憶サブシステム100A内の物理的な格納位置であり、例えば、図示のように、記憶サブシステム100A内の記憶装置150を識別するID(例えば番号)と、記憶装置150内の記憶領域を一意に示す数値(例えば、記憶装置150の記憶領域の先頭からの位置)とから構成される。なお、一つのVOL6Aは、論理アドレスと物理アドレスの変換(換言すれば対応付け)により、1つの記憶装置150Aに設けられた記憶領域であってもよいし、複数の記憶装置150Aに設けられた記憶領域であってもよい。 The physical address is a physical storage position in the first storage subsystem 100A. For example, as shown in the figure, an ID (for example, a number) for identifying the storage device 150 in the storage subsystem 100A and the storage device 150 Of the storage area (for example, the position from the beginning of the storage area of the storage device 150). One VOL 6A may be a storage area provided in one storage device 150A or a plurality of storage devices 150A by converting logical addresses and physical addresses (in other words, associating). It may be a storage area.
図6Aに例示するVOL管理データ400Aによれば、例えば、VOLIDが「1」であるVOL6Aは、VOL容量が3GBであり、記憶装置IDが「1」である記憶装置150Aの記憶領域の先頭からデータが格納されており、PVOL又はPJNLVOLであることがわかる。また、図6Bに例示するVOL管理データ400Aによれば、VOLIDが「1」であるVOL6Aは、SPVOL又はSPJNLVOLであることがわかる。 According to the VOL management data 400A illustrated in FIG. 6A, for example, a VOL 6A having a VOLID “1” has a VOL capacity of 3 GB and a storage device ID “1” from the beginning of the storage area of the storage device 150A. It can be seen that the data is stored and is PVOL or PJNLVOL. Further, according to the VOL management data 400A illustrated in FIG. 6B, it can be seen that the VOL 6A whose VOLID is “1” is SPVOL or SPJNLVOL.
図7Aは、図1Aに例示したマルチターゲット方式が採用された場合のパス管理データ500Aの構成例を示す。図7Bは、図1Bに例示したマルチホップ方式が採用された場合のパス管理データ500Aの構成例を示す。なお、図7Bでは、図7Aに示した内容と異なる場所を点線枠で示している。 FIG. 7A shows a configuration example of the path management data 500A when the multi-target method exemplified in FIG. 1A is adopted. FIG. 7B shows a configuration example of the path management data 500A when the multi-hop method exemplified in FIG. 1B is adopted. In FIG. 7B, a different location from the content shown in FIG. 7A is indicated by a dotted frame.
パス管理データ500Aは、VOLペアを管理するためのペア管理サブデータ501Aと、ミラーペアを管理するためのミラー管理サブデータ502Aとを含んでいる。 The path management data 500A includes pair management sub data 501A for managing a VOL pair and mirror management sub data 502A for managing a mirror pair.
ペア管理サブデータ501Aは、例えば、各VOLペア毎に対応付けられたVOLペアID、ペア状態、正記憶サブシステムID、PVOL−ID、PJNLVOL−ID、副記憶サブシステムID、SVOL−ID、SJNLVOL−ID及びコピー済みアドレスをサブデータ要素として含んでいる。 The pair management sub-data 501A includes, for example, a VOL pair ID, pair status, primary storage subsystem ID, PVOL-ID, PJNLVOL-ID, secondary storage subsystem ID, SVOL-ID, SJNLVOL associated with each VOL pair. -Includes ID and copied address as sub-data elements.
VOLペアIDは、VOLペアを識別するための識別子(例えば番号)である。 The VOL pair ID is an identifier (for example, a number) for identifying the VOL pair.
VOLペア状態は、そのVOLペアの状態を示すサブデータ要素であり、例えば、“正常”、“異常”、“未使用”,“コピー未”、又は“コピー中”などで表すことができる。VOLペア状態“正常”とは、PVOL6Aのデータ複製が正常に行われていることを示す。VOLペア状態“異常”とは、障害によりPVOL6Aの複製が行えないことを示す。ここで言う「障害」とは、例えば、接続パス200の断線などである。VOLペア状態“未使用”とは、そのVOLペア状態に対応するペア番号の情報は有効でないことを示す。VOLペア状態“コピー中”とは、後述する初期コピー処理中であることを示す。VOLペア状態“コピー未”とは、後述する初期コピー処理が未だ行われていないことを示す。 The VOL pair status is a sub-data element indicating the status of the VOL pair, and can be represented by, for example, “normal”, “abnormal”, “unused”, “not copied”, or “copying”. The VOL pair status “normal” indicates that data replication of the PVOL 6A is normally performed. The VOL pair status “abnormal” indicates that the PVOL 6A cannot be replicated due to a failure. The “failure” mentioned here is, for example, disconnection of the connection path 200. The VOL pair status “unused” indicates that the information on the pair number corresponding to the VOL pair status is not valid. The VOL pair status “copying” indicates that an initial copy process described later is being performed. The VOL pair status “copy not yet” indicates that an initial copy process described later has not been performed yet.
正記憶サブシステムIDは、PVOLを保持する記憶サブシステム100を特定するための識別子である。その識別子としては、例えば、番号、WWN(World Wide Name)、iSCSIネーム及びMACアドレスのうちの少なくとも一つを採用することができる。 The primary storage subsystem ID is an identifier for specifying the storage subsystem 100 that holds the PVOL. As the identifier, for example, at least one of a number, a WWN (World Wide Name), an iSCSI name, and a MAC address can be adopted.
PVOL−IDは、PVOLの識別子である。 PVOL-ID is an identifier of PVOL.
PJNLVOL−IDは、そのPVOLに対応付けられたPJNLVOLの識別子である。 PJNLVOL-ID is an identifier of PJNLVOL associated with the PVOL.
副記憶サブシステムIDは、SVOLを保持する記憶サブシステム100Bを特定するための識別子である。 The secondary storage subsystem ID is an identifier for specifying the storage subsystem 100B that holds the SVOL.
SVOL−IDは、SVOLの識別子である。 SVOL-ID is an identifier of SVOL.
SJNLVOL−IDは、そのSVOLに対応付けられたSJNLVOLの識別子である。 SJNLVOL-ID is an identifier of SJNLVOL associated with the SVOL.
コピー済みアドレスは、後述する初期コピー処理(図10参照)の際に使用される。コピー済みアドレスについては後述する。 The copied address is used in an initial copy process (see FIG. 10) described later. The copied address will be described later.
ミラー管理サブデータ502Aは、例えば、各ミラーペア毎に対応付けられたミラーID、PJNLVOL−ID、SJNLVOL−ID、JNL生成更新番号、JNL複製更新番号、及びリストア更新番号をサブデータ要素として含んでいる。 The mirror management sub-data 502A includes, for example, a mirror ID, PJNLVOL-ID, SJNLVOL-ID, JNL generation update number, JNL replication update number, and restore update number associated with each mirror pair as sub-data elements. .
ミラーIDは、ミラーペアを識別するための識別子(例えば番号)である。 The mirror ID is an identifier (for example, a number) for identifying a mirror pair.
PJNLVOL−IDは、PJNLVOLを特定するための識別子(例えば番号)である。 PJNLVOL-ID is an identifier (for example, a number) for specifying PJNLVOL.
SJNLVOL−IDは、SJNLVOLを特定するための識別子(例えば番号)である。 SJNLVOL-ID is an identifier (for example, a number) for specifying SJNLVOL.
JNL生成更新番号は、対応するミラーペアにおいて何番までのJNLの生成が行われたかを表す(換言すれば、生成されたJNL中の更新番号のうち最も新しい番号を示す)。例えば、図7Aでは、ミラーID「1」に対応したJNL生成更新番号は「12」になっているが、これは、ミラーID「1」に対応したミラーペアにおいて、PJNLVOLに、更新番号「11」までのJNL3が格納されており、そのため、次回は、更新番号「12」を含んだJNL3が生成されてPJNLVOLに格納されるべきであることを意味する。 The JNL generation update number indicates how many JNLs have been generated in the corresponding mirror pair (in other words, indicates the newest number among the update numbers in the generated JNL). For example, in FIG. 7A, the JNL generation update number corresponding to the mirror ID “1” is “12”. This is because the update number “11” is assigned to the PJNLVOL in the mirror pair corresponding to the mirror ID “1”. This means that next time, JNL3 including the update number “12” should be generated and stored in PJNLVOL.
JNL複製更新番号は、対応するミラーペアにおいて何番までのJNLの複製が行われたかを表す(換言すれば、複製されたJNL中の更新番号のうち最も新しい番号を示す)。例えば、図7Aでは、ミラーID「1」に対応したJNL複製更新番号は「9」になっているが、これは、ミラーID「1」に対応したミラーペアにおいて、SJNLVOLに、更新番号「8」までのJNL3が読み出されており、そのため、次回は、更新番号「9」を含んだJNL3がPJNLVOLから読み出されるべきであることを意味する。 The JNL replication update number indicates how many JNL replications have been performed in the corresponding mirror pair (in other words, the JNL replication update number indicates the newest number among the update numbers in the replicated JNL). For example, in FIG. 7A, the JNL replication update number corresponding to the mirror ID “1” is “9”. This is because the update number “8” is assigned to the SJNLVOL in the mirror pair corresponding to the mirror ID “1”. This means that JNL3 including the update number “9” should be read from PJNLVOL next time.
リストア更新番号は、対応するミラーペアにおいて何番までのJNLに基づくリストアが行われたかを表す(換言すれば、リストアのために読み出されたJNL中の更新番号のうち最も新しい番号を示す)。例えば、リストア更新番号は「8」となっている場合、これは、更新番号「7」のJNL3に基づくリストア処理まで済んでおり、そのため、次回は、更新番号「8」を含んだJNL3がSJNLVOLから読み出されてリストア処理が行われるべきであることを意味する。なお、図7Aは、SVOLを備えていてない第一記憶サブシステム100Aが備えるミラー管理サブデータ502Aの例なので、リストア更新番号の意味は無い。また、図7Bでは、ミラーID「1」については、第一記憶サブシステム100AでJNLが生成されることはないので、JNL生成更新番号の意味は無い。 The restore update number indicates how many JNL-based restores have been performed in the corresponding mirror pair (in other words, indicates the newest update number in the JNL read out for restore). For example, when the restore update number is “8”, this means that the restore process based on the JNL3 with the update number “7” has already been completed. Therefore, next time, the JNL3 including the update number “8” will be SJNLVOL. Means that the restoration processing should be performed. Note that FIG. 7A is an example of the mirror management sub-data 502A provided in the first storage subsystem 100A that does not include the SVOL, so there is no meaning of the restore update number. In FIG. 7B, for the mirror ID “1”, a JNL generation update number is meaningless because no JNL is generated in the first storage subsystem 100A.
第一記憶サブシステム100Aの各CHA110Aや各DKA120Aは、以上のようなパス管理データ500Aを参照することにより、ホスト端末180AからのライトデータをどのVOLに格納し、どのVOLから更新番号が何番のJNL3を読み出してどのVOLに格納すれば良いかや、どのVOLから更新番号が何番のJNL3を読み出してどのVOLにリストア処理を行えば良いか等を特定することができる。例えば、図7Aのパス管理データ500Aでは、VOLペアID「1」、「2」、ミラーID「1」及び「2」に対応付けられた各サブデータ要素を参照することにより、図1Aに例示したマルチターゲット方式の構成を特定することができる。また、図7Bのパス管理データ500Aでは、VOLペアID「1」、「2」、ミラーID「1」及び「2」に対応付けられた各サブデータ要素を参照することにより、図1Bに例示したマルチホップ方式の構成を特定することができる。 Each CHA 110A and each DKA 120A of the first storage subsystem 100A store the write data from the host terminal 180A in which VOL by referring to the path management data 500A as described above, and from which VOL the update number is what number It is possible to specify which VOL3 should be read out and stored in which VOL, from which VOL the update number of JNL3 should be read out, and in which VOL the restoration process should be performed. For example, the path management data 500A in FIG. 7A is illustrated in FIG. 1A by referring to the sub data elements associated with the VOL pair IDs “1” and “2” and the mirror IDs “1” and “2”. The configuration of the multi-target method can be specified. Further, in the path management data 500A in FIG. 7B, the sub-data elements associated with the VOL pair IDs “1” and “2” and the mirror IDs “1” and “2” are referred to in FIG. 1B. The configuration of the multi-hop method can be specified.
第一記憶サブシステム100Aの第一制御装置101Aは、例えば、第一ホスト端末180Aに障害が発生した場合に、パス管理データ500Aの内容を、図7Aに例示した内容から図7Bに例示した内容に変えることによって(換言すれば、VOLID「1」に対応したPVOLとSVOLとを反転し、且つ、ミラーID「1」に対応したPJNLVOLとSJNLVOLとを反転することによって)、図1Aに例示したマルチターゲット方式を図1Bに例示したマルチホップ方式に切り替えることができる。また、例えば、第一制御装置101Aは、第二ホスト端末180Bに障害が発生した場合に、パス管理データ500Aの内容を、図7Bに例示した内容から図7Aに例示した内容に変えることによって(換言すれば、VOLID「1」に対応したPVOLとSVOLとを反転し、且つ、ミラーID「1」に対応したPJNLVOLとSJNLVOLとを反転することによって)、図1Bに例示したマルチホップ方式を図1Aに例示したマルチターゲット方式に切り替えることができる。 For example, when a failure occurs in the first host terminal 180A, the first control device 101A of the first storage subsystem 100A changes the content of the path management data 500A from the content illustrated in FIG. 7A to the content illustrated in FIG. 7B. (In other words, by inverting PVOL and SVOL corresponding to VOLID “1” and inverting PJNLVOL and SJNLVOL corresponding to mirror ID “1”) as illustrated in FIG. 1A The multi-target method can be switched to the multi-hop method illustrated in FIG. 1B. For example, when a failure occurs in the second host terminal 180B, the first control apparatus 101A changes the content of the path management data 500A from the content illustrated in FIG. 7B to the content illustrated in FIG. 7A ( In other words, by reversing the PVOL and SVOL corresponding to VOLID “1” and reversing the PJNLVOL and SJNLVOL corresponding to mirror ID “1”), the multi-hop method illustrated in FIG. 1B is illustrated. It is possible to switch to the multi-target method exemplified in 1A.
なお、例えば、データ処理システム1に備えられる記憶サブシステム100の四以上になった場合、パス管理データ500Aの内容が第一記憶サブシステム100Aに固有の内容であると、第一記憶サブシステム100Aは、複製スタートVOL或いは複製ゴールVOLがどこに存在するかを特定することができず、故に、マルチターゲット方式或いはマルチホップ方式の全ての構成を特定することができないことが有り得る。しかし、他の各記憶サブシステム100には、その記憶サブシステム100に固有のパス管理データ500が備えられ、そのパス管理データ500には、JNLの複製元及び複製先のJNLVOLに関する情報(例えば、VOLID及び記憶サブシステムID)が登録されるので、記憶サブシステム100の数に関わらず、マルチターゲット方式、マルチホップ方式及びそれらの組み合わせのうちの少なくとも一つの方式に従う複製処理の実現が可能である。 For example, when the number of storage subsystems 100 provided in the data processing system 1 is four or more, if the contents of the path management data 500A are specific to the first storage subsystem 100A, the first storage subsystem 100A Cannot specify where the replication start VOL or the replication goal VOL exists, and therefore it may not be possible to specify all configurations of the multi-target method or the multi-hop method. However, each of the other storage subsystems 100 is provided with path management data 500 unique to the storage subsystem 100, and the path management data 500 includes information related to the JNL replication source and replication destination JNLVOL (for example, VOLID and storage subsystem ID) are registered, so that regardless of the number of storage subsystems 100, it is possible to realize replication processing according to at least one of the multi-target method, multi-hop method, and combinations thereof. .
図8は、ポインタ管理データ700の構成例を示す。図9は、図8に例示したポインタ管理データ700から特定されるJNLVOL構成を示す。 FIG. 8 shows a configuration example of the pointer management data 700. FIG. 9 shows a JNLVOL configuration specified from the pointer management data 700 illustrated in FIG.
図8に示すように、ポインタ管理データ700は、各JNLVOL毎に用意されるデータである。ポインタ管理データ700は、例えば、更新データ領域先頭アドレス、ライトデータ領域先頭アドレス、更新データ最新アドレス、更新データ最古アドレス、ライトデータ最新アドレス、ライトデータ最古アドレス、リード開始アドレス及びリトライ開始アドレスをデータ要素として含む。 As shown in FIG. 8, the pointer management data 700 is data prepared for each JNLVOL. The pointer management data 700 includes, for example, an update data area start address, write data area start address, update data latest address, update data oldest address, write data latest address, write data oldest address, read start address, and retry start address. Include as a data element.
更新データ領域先頭アドレスは、JNLVOLの更新データ4を格納する記憶領域(更新データ領域)の先頭の論理アドレスである。 The update data area start address is the top logical address of the storage area (update data area) for storing the update data 4 of JNLVOL.
ライトデータ領域先頭アドレスは、JNLVOLのライトデータ2を格納する記憶領域(ライトデータ領域)の先頭の論理アドレスである。 The write data area start address is the logical address of the start of the storage area (write data area) for storing the write data 2 of JNLVOL.
更新データ最新アドレスは、次にJNL3を格納する場合に、そのJNL3中の更新データ4の保存に使用される先頭の論理アドレス(すなわち、次のJNL3中の更新データ4をどこから書き始めるかを表す情報)である。 The latest update data address indicates the beginning logical address used for storing the update data 4 in the JNL 3 when the JNL 3 is stored next (that is, where the update data 4 in the next JNL 3 starts to be written). Information).
更新データ最古アドレスは、最古の(更新番号が小さい)JNL3の更新データ4を保存する領域における先頭の論理アドレスである。 The update data oldest address is the first logical address in the area for storing the update data 4 of the oldest (small update number) JNL3.
ライトデータ最新アドレスは、次にJNL3を格納する場合に、そのJNL3中のライトデータ2の保存に使用する先頭の論理アドレス(すなわち、次のJNL3中のライトデータ2をどこから書き始めるかを表す情報)である。 The latest write data address is the first logical address used to save the write data 2 in the JNL3 when storing the next JNL3 (that is, information indicating where to start writing the write data 2 in the next JNL3. ).
ライトデータ最古アドレスは、最古の(更新番号が小さい)JNL3中のライトデータ2を保存する領域における先頭の論理アドレスである。 The oldest write data address is the first logical address in the area for storing the write data 2 in the oldest (small update number) JNL3.
リード開始アドレスとリトライ開始アドレスは、第一記憶サブシステム100Aのみで使用されるデータ要素であって、後述するジャーナルリード受信処理にて使用される。リード開始アドレスとリトライ開始アドレスについての詳細な説明は後述する。 The read start address and the retry start address are data elements used only in the first storage subsystem 100A, and are used in journal read reception processing described later. A detailed description of the read start address and the retry start address will be described later.
図8および図9に例示したポインタ管理データ700によれば、更新データ領域7は、JNLVOL−ID「4」のVOL6におけるアドレス0(先頭)からアドレス699までの範囲であり、ライトデータ領域8は、JNLVOL−ID「4」のVOL6におけるアドレス700からアドレス2699までの範囲であることがわかる。また、或るJNL3の更新データ4は、JNLVOL−ID「4」のVOL6におけるアドレス200からアドレス499の範囲内に保存されており、更新番号が次のJNL3の更新データ4は、JNLVOL−ID「4」のVOL6におけるアドレス500から書き込まれることがわかる。また、上記或るJNL3のライトデータ2は、JNLVOL−ID「4」のVOL6におけるアドレス1300からアドレス2199の範囲内に保存されており、その次のJNL3のライトデータ2は、JNLVOL−ID「4」のVOL6におけるアドレス2200から書き込まれることがわかる。 According to the pointer management data 700 illustrated in FIGS. 8 and 9, the update data area 7 is a range from address 0 (start) to address 699 in VOL 6 with JNLVOL-ID “4”. , JNLVOL-ID “4” in VOL6, address 700 to address 2699. The update data 4 of a certain JNL3 is stored in the range of the address 200 to the address 499 in the VOL6 of the JNLVOL-ID “4”, and the update data 4 of the next update number JNL3 is the JNLVOL-ID “ It can be seen that data is written from the address 500 in the VOL6 of “4”. The write data 2 of a certain JNL3 is stored in the range of the address 1300 to the address 2199 in the VOL6 of the JNLVOL-ID “4”, and the write data 2 of the next JNL3 is the JNLVOL-ID “4”. As can be seen from the address 2200 in the VOL6.
さて、以下、図10〜図20を参照して、第一記憶サブシステム100Aを正記憶サブシステム(つまりPVOLを備える記憶サブシステム)とし、第二記憶サブシステム100Bを副記憶サブシステム(つまりSVOLを備える記憶サブシステム)とし、第一記憶サブシステム100Aから第二記憶サブシステム100Bに対してのデータの複製に関する処理について説明する。なお、以下の説明では、第一記憶サブシステム100Aが備えるPVOLを「PVOL6A1」とし、その第一記憶サブシステム100Aが備えるPJNLVOLを「PJNLVOL6A2」とし、第二記憶サブシステム100Bが備えるSJNLVOLを「SJNLVOL6B1」とし、その第二記憶サブシステム100Bが備えるSVOLを「SVOL6B2」とする。 Now, referring to FIG. 10 to FIG. 20, the first storage subsystem 100A is a primary storage subsystem (that is, a storage subsystem having a PVOL), and the second storage subsystem 100B is a secondary storage subsystem (that is, a SVOL). The processing related to data replication from the first storage subsystem 100A to the second storage subsystem 100B will be described. In the following description, the PVOL included in the first storage subsystem 100A is “PVOL6A1,” the PJNLVOL included in the first storage subsystem 100A is “PJNLVOL6A2,” and the SJNLVOL included in the second storage subsystem 100B is “SJNLVOL6B1. The SVOL included in the second storage subsystem 100B is “SVOL6B2.”
図10は、初期コピー処理のフローチャートである。 FIG. 10 is a flowchart of the initial copy process.
初期コピー処理とは、複製処理の済んでないPVOL6A1についてJNL3を用意するための処理である。初期コピー処理では、PVOL6A1の全記憶領域について、パス管理データ500Aのコピー済みアドレスを用い、記憶領域の先頭から順に、単位サイズ毎にJNL3が作成される。コピー済みアドレスは、初期値は0であり、JNL3の作成毎に、作成されたデータ量が加算される。VOL6Aの記憶領域の先頭から、コピー済みアドレスの一つ前までは、初期コピー処理にてJNL3は作成済みである。初期コピー処理を行うことにより、PVOL6A1の更新されていないライトデータ2を、そのPVOL6A1とVOLペアを構成するSVOL6B2に転送することが可能となる。以下の説明では、第一記憶サブシステム100A内のホストCHA110HAが処理を行うように記載しているが、代わりに、DKA120Aが行ってもよい。 The initial copy process is a process for preparing JNL3 for PVOL6A1 that has not been copied. In the initial copy process, JNL3 is created for each unit size in order from the beginning of the storage area using the copied address of the path management data 500A for all the storage areas of PVOL6A1. The copied address has an initial value of 0, and the created data amount is added every time JNL3 is created. From the beginning of the storage area of the VOL 6A to the previous address before the copied address, the JNL 3 has been created in the initial copy process. By performing the initial copy processing, it is possible to transfer the unupdated write data 2 of the PVOL 6A1 to the SVOL 6B2 that constitutes the VOL pair with the PVOL 6A1. In the following description, it is described that the host CHA 110HA in the first storage subsystem 100A performs the processing, but the DKA 120A may perform the processing instead.
第一記憶サブシステム100A内のホストCHA110HAは、第一記憶サブシステム100A内のパス管理データ500Aに基づいて、VOLペア状態が“コピー未”であるPVOL6A1を把握し、把握されたPVOL6A1に関するVOLペア状態を“コピー中”に変更し、以下の処理を繰り返す(ステップ1010、1020)。もし、VOLペア状態が“コピー未”であるPVOL6A1が存在しない場合は、ホストCHA110HAは、処理を終了する(ステップ1030)。 Based on the path management data 500A in the first storage subsystem 100A, the host CHA 110HA in the first storage subsystem 100A grasps the PVOL 6A1 whose VOL pair status is “not copied”, and the VOL pair related to the grasped PVOL 6A1 The state is changed to “copying”, and the following processing is repeated (steps 1010 and 1020). If there is no PVOL 6A1 whose VOL pair status is “not copied”, the host CHA 110HA ends the process (step 1030).
ステップ1020にて、VOLペア状態“コピー未”のPVOL6A1が存在した場合、ホストCHA110HAは、単位サイズ(例えば、1MB)のデータを対象にJNL3を作成する。ジャーナル作成処理は後述する(ステップ1040)。 If there is a PVOL 6A1 in the VOL pair status “not copied” in step 1020, the host CHA 110HA creates JNL 3 for the data of the unit size (for example, 1 MB). The journal creation process will be described later (step 1040).
ホストCHA110HAは、コピー済みアドレスに作成したJNL3のデータサイズを加算する(ステップ1050)。 The host CHA 110HA adds the created JNL3 data size to the copied address (step 1050).
ホストCHA110HAは、コピー済みアドレスがPVOL6A1の容量に達するまで、上記処理を繰り返す(ステップ1060)。コピー済みアドレスが、PVOL6A1の容量と等しくなった場合、PVOL6A1の全記憶領域に対してJNL3を作成したため、VOLペア状態を“正常”に更新し、他のPVOLの処理を開始する(ステップ1070)。 The host CHA 110HA repeats the above processing until the copied address reaches the capacity of the PVOL 6A1 (Step 1060). When the copied address becomes equal to the capacity of PVOL6A1, JNL3 has been created for all storage areas of PVOL6A1, so the VOL pair status is updated to “normal” and processing of other PVOLs is started (step 1070). .
前記のフローチャートでは、PVOLを1つずつ対象とするように説明したが、複数のPVOLにそれぞれ格納されている複数のデータについて同時にJNL3が生成されてもよい。 In the flowchart described above, the PVOL is described as being targeted one by one. However, the JNL 3 may be simultaneously generated for a plurality of data respectively stored in the plurality of PVOLs.
図11は、第一の記憶サブシステム100Aが行う命令受信処理210の流れの概要を示す。図12は、その命令受信処理210のフローチャートを示す。図13は、第一記憶サブシステム100Aが行うJNL作成処理のフローチャートを示す。以下、これらを用いて、第一記憶サブシステム100Aが、ホスト端末180AからPVOL6A1に対するアクセス命令を受信した場合に行う処理について説明する。 FIG. 11 shows an outline of the flow of the command reception process 210 performed by the first storage subsystem 100A. FIG. 12 shows a flowchart of the command reception process 210. FIG. 13 shows a flowchart of the JNL creation process performed by the first storage subsystem 100A. Hereinafter, the processing performed when the first storage subsystem 100A receives an access command for the PVOL 6A1 from the host terminal 180A will be described using these.
ホストCHA110HAは、ホスト端末180Aからアクセス命令を受信する(ステップ1200)。アクセス命令は、例えば、命令の種類(例えば、リード、ライト、又は後述するJNLリード)を表す識別子、命令対象(例えば書き込み先又は読み出し元)の論理アドレス、及びデータ量等を含んでいる。以下、ステップ1200で受信したアクセス命令から特定される論理アドレスを「論理アドレス「A」」とし、そのアクセス命令から特定されるVOLIDを「VOLID「A」」とし、そのアクセス命令から特定されるVOL内位置を「VOL内位置「A」」とし、そのアクセス命令から特定されるデータ量を「データ量「A」」とする。また、VOLID「A」から特定されるVOLが、VOL「A」であるとする。 The host CHA 110HA receives an access command from the host terminal 180A (step 1200). The access command includes, for example, an identifier indicating the type of command (for example, read, write, or JNL read described later), a logical address of a command target (for example, a write destination or a read source), a data amount, and the like. Hereinafter, the logical address specified from the access command received in step 1200 is “logical address“ A ””, the VOLID specified from the access command is “VOLID“ A ””, and the VOL specified from the access command is specified. The internal position is “VOL internal position“ A ””, and the data amount specified from the access command is “data amount“ A ””. Further, it is assumed that the VOL specified from the VOLID “A” is the VOL “A”.
ホストCHA110HAは、アクセス命令を調べる(ステップ1210、1215)。ステップ1215の調べで、アクセス命令がJNLリード命令の場合は、後述するJNLリード受信処理が行われる(ステップ1220)。アクセス命令がJNLリード命令およびライト命令以外、例えば、リード命令の場合は、そのリード命令に応じたリード処理が行われる(ステップ1230)。 The host CHA 110HA checks the access command (Steps 1210 and 1215). If it is determined in step 1215 that the access instruction is a JNL read instruction, a JNL read reception process described later is performed (step 1220). If the access instruction is other than a JNL read instruction and a write instruction, for example, a read instruction, a read process corresponding to the read instruction is performed (step 1230).
ステップ1210の調べで、アクセス命令がライト命令の場合は、ホストCHA110HAは、VOL管理データ400Aを参照し、そのライト命令から特定されるVOL「A」のVOL状態を調べる(ステップ1240)。ステップ1240の調べで、VOL「A」のVOL状態が、“正常”もしくは“正”以外の場合は、そのVOL「A」へのアクセスは不可能なため、ホストCHA110HAは、ホスト端末180に異常終了を報告する(ステップ1245)。 If the access instruction is a write instruction in the examination in step 1210, the host CHA 110HA refers to the VOL management data 400A and examines the VOL state of the VOL “A” identified from the write instruction (step 1240). If the VOL state of the VOL “A” is other than “normal” or “normal” in step 1240, the access to the VOL “A” is impossible, and the host CHA 110HA has an error in the host terminal 180. The end is reported (step 1245).
ステップ1240の調べで、命令特定VOLのVOL状態が、“正常”、“正”のいずれかの場合は、ホストCHA110HAは、キャッシュメモリ130上に或るサイズの記憶領域(以下、キャッシュ領域)を確保し、ホスト端末180Aにデータ受信の準備ができたことを通知する。ホスト端末180Aは、その通知を受け、ライトデータ2を第一記憶サブシステム100Aに送信する。ホストCHA110HAは、ライトデータ2を受信し、上記確保されたキャッシュ領域にそのライトデータ2を保存する(ステップ1250、図11の1100)。 If it is determined in step 1240 that the VOL state of the instruction specific VOL is “normal” or “normal”, the host CHA 110HA allocates a storage area of a certain size (hereinafter referred to as a cache area) on the cache memory 130. And notifies the host terminal 180A that it is ready to receive data. The host terminal 180A receives the notification and transmits the write data 2 to the first storage subsystem 100A. The host CHA 110HA receives the write data 2, and stores the write data 2 in the secured cache area (step 1250, 1100 in FIG. 11).
ホストCHA110HAは、VOL管理テーブル400A及びパス管理テーブル500Aを参照し、VOL「A」がPVOL6A1か否かを調べる(ステップ1260)。ステップ1260の調べで、肯定的な結果が得られた場合は、ホストCHA110HAは、後述するJNL作成処理を行う(ステップ1265)。 The host CHA 110HA refers to the VOL management table 400A and the path management table 500A and checks whether or not the VOL “A” is PVOL 6A1 (step 1260). If an affirmative result is obtained in step 1260, the host CHA 110HA performs a JNL creation process described later (step 1265).
ステップ1260の調べで、否定的な結果が得られた場合(又は、ステップ1265のJNL作成処理の終了後)、ホストCHA110HAは、VOL「A」にライトデータ2を書き込むことをDKA120Aに命令し(図11の1140)、ホスト端末180Aに終了報告する(ステップ1270、1280)。その後、ライトデータ2の書込み命令を受けたDKA120Aは、リードライト処理220を実行することにより、キャッシュ領域上のライトデータ2をVOL「A」に保存する(図11の1110)。 If a negative result is obtained in the examination in Step 1260 (or after the JNL creation process in Step 1265 is completed), the host CHA 110HA instructs the DKA 120A to write the write data 2 to the VOL “A” ( In FIG. 11, 1140), an end report is sent to the host terminal 180A (steps 1270 and 1280). Thereafter, the DKA 120A that has received the write command for the write data 2 executes the read / write process 220, thereby saving the write data 2 in the cache area in the VOL “A” (1110 in FIG. 11).
次に、図13を参照してJNL作成処理について説明する。 Next, the JNL creation process will be described with reference to FIG.
ホストCHA110HAは、VOL管理データ400A及びパス管理データ500Aに基づいて、PVOL6A1に対応付けられたJNLVOL6A2のVOL状態を調べる(ステップ1310)。ステップ1310の調べで、JNLVOL6A2のVOL状態が、“異常”の場合は、JNLVOL6A2にJNL3の格納が不可能なため、ホストCHA110HAは、処理を終了する(ステップ1315)。この場合、ホストCHA110HAは、JNLVOL6A2を正常なVOLに変更する等の処理を行っても良い。 The host CHA 110HA checks the VOL status of the JNLVOL 6A2 associated with the PVOL 6A1 based on the VOL management data 400A and the path management data 500A (Step 1310). If the VOL status of the JNLVOL 6A2 is “abnormal” as determined in step 1310, the host CHA 110HA terminates the process because the JNL 3 cannot be stored in the JNLVOL 6A2 (step 1315). In this case, the host CHA 110HA may perform processing such as changing the JNLVOL 6A2 to a normal VOL.
ステップ1310の調べで、JNLVOL6A2が正常である場合、ホストCHA110HAは、JNL作成処理を継続する。JNL作成処理の内容は、初期コピー処理内の処理であるか、命令受信処理210内での処理であるかによって異なる(ステップ1320)。JNL作成処理が命令受信処理210内の処理の場合は、ホストCHA110HAは、ステップ1330からの処理を行う。JNL作成処理が初期コピー処理内の場合は、ホストCHA110HAは、ステップ1370からの処理を行う。 If it is determined in step 1310 that JNLVOL 6A2 is normal, the host CHA 110HA continues the JNL creation process. The contents of the JNL creation process differ depending on whether the process is in the initial copy process or the instruction reception process 210 (step 1320). If the JNL creation process is a process in the instruction reception process 210, the host CHA 110HA performs the process from step 1330. If the JNL creation process is in the initial copy process, the host CHA 110 HA performs the process from step 1370.
JNL作成処理が命令受信処理210内の処理の場合、ホストCHA110HAは、ライト対象の論理アドレス「A」が、初期コピー処理の処理対象となったかを調べる(ステップ1330)。VOL「A」のVOLペア状態が“コピー未”の場合は、後に初期コピー処理にてJNL作成処理が行われるため、ホストCHA110HAは、JNL3を作成せずに処理を終了する(ステップ1335)。VOL「A」のVOLペア状態が“コピー中”の場合は、コピー済みアドレスが論理アドレス内位置「A」と等しい(又はそれよりも小さい)場合は、後に初期コピー処理にてJNL作成処理が行われるため、ホストCHA110HAは、JNL3を作成せずに処理を終了する(ステップ1335)。上記以外、つまり、VOL「A」のVOLペア状態が“コピー中”かつコピー済みアドレスが論理アドレス内位置「A」以上の場合(又は、VOL「A」のVOLペア状態が“正常”の場合)、既に初期コピー処理が完了しているため、ホストCHA110HAは、JNL作成処理を継続する。 When the JNL creation process is a process in the instruction reception process 210, the host CHA 110HA checks whether the write target logical address “A” is a process target of the initial copy process (step 1330). If the VOL pair status of VOL “A” is “not copied”, the JNL creation process will be performed later in the initial copy process, so the host CHA 110 HA ends the process without creating JNL 3 (step 1335). When the VOL pair status of VOL “A” is “Copying”, if the copied address is equal to (or smaller than) the position “A” in the logical address, the JNL creation process is performed later in the initial copy process. Therefore, the host CHA 110HA ends the process without creating the JNL 3 (step 1335). Other than the above, that is, when the VOL pair status of VOL “A” is “copying” and the copied address is greater than or equal to the position “A” in the logical address (or the VOL pair status of VOL “A” is “normal” ) Since the initial copy process has already been completed, the host CHA 110HA continues the JNL creation process.
次に、ホストCHA110HAは、JNL3をJNLVOL6A2に格納可能であるかどうかを調べる。具体的には、ホストCHA110HAは、ポインタ管理データ700を参照して、更新データ領域の未使用領域の有無を調べる(ステップ1340)。ポインタ管理データ700の更新データ最新アドレスと更新データ最古アドレスが等しい場合は、更新データ領域に未使用領域が存在しないため、ホストCHA110HAは、JNL作成失敗として処理を終了する(ステップ1390)。 Next, the host CHA110HA checks whether JNL3 can be stored in JNLVOL6A2. Specifically, the host CHA 110HA refers to the pointer management data 700 and checks whether there is an unused area in the update data area (step 1340). If the update data latest address of the pointer management data 700 is equal to the update data oldest address, there is no unused area in the update data area, so the host CHA 110HA terminates the process as JNL creation failure (step 1390).
ステップ1340の調べで、更新データ領域に未使用領域が存在する場合は、ホストCHA110HAは、ポインタ管理データ700を用いて、ライトデータ領域にライトデータが格納できるかどうかを調べる(ステップ1345)。ホストCHA110HAは、ライトデータ最新アドレスとデータ量「A」の和が、ライトデータ最古アドレスと等しい(又はそれよりも大きい)場合は、ライトデータ領域に格納できないため、JNL作成失敗として処理を終了する(ステップ1390)。 If there is an unused area in the update data area in step 1340, the host CHA 110HA uses the pointer management data 700 to check whether write data can be stored in the write data area (step 1345). When the sum of the write data latest address and the data amount “A” is equal to (or larger than) the write data oldest address, the host CHA 110 HA cannot store the data in the write data area, and terminates the processing as a JNL creation failure. (Step 1390).
JNL3が格納可能である場合、ホストCHA110HAは、最新の更新番号(具体的には、JNLVOL6A2に格納済みの一以上の更新番号のうちの最新の更新番号)と、更新データ4の格納先とする論理アドレスと、ライトデータ2の格納先とする論理アドレスとを取得し、更新データ4をキャッシュ領域に作成する。また、ホストCHA110HAは、取得された更新番号に1を足した数値を、新たな更新番号としてペア管理テーブル500Aに設定する。更新データ4の格納先となる論理アドレスは、ポインタ管理データ700の更新データ最新アドレスであり、ホストCHA110HAは、更新データ4のサイズを足した数値を新たな更新データ最新アドレスとしてポインタ管理データ700Aに設定する。ライトデータ2の格納先となる論理アドレスは、ポインタ管理データ700Aのライトデータ最新アドレスであり、ホストCHA110HAは、ライトデータ最新アドレスにデータ量「A」を足した数値を新たなライトデータ最新アドレスとしてポインタ管理データ700Aに設定する。 When JNL3 can be stored, the host CHA 110HA uses the latest update number (specifically, the latest update number of one or more update numbers stored in JNLVOL 6A2) and the storage location of the update data 4. A logical address and a logical address as a storage destination of the write data 2 are acquired, and update data 4 is created in the cache area. In addition, the host CHA 110HA sets a numerical value obtained by adding 1 to the acquired update number as a new update number in the pair management table 500A. The logical address that is the storage destination of the update data 4 is the latest update data address of the pointer management data 700, and the host CHA 110HA uses the value obtained by adding the size of the update data 4 as a new update data latest address in the pointer management data 700A. Set. The logical address that is the storage destination of the write data 2 is the latest write data address of the pointer management data 700A, and the host CHA 110HA uses a value obtained by adding the data amount “A” to the write data latest address as a new write data latest address. The pointer management data 700A is set.
ホストCHA110HAは、上記取得した数値、ライト命令を受信した時刻、ライト命令内の論理アドレスA、データ量「A」を更新データ4に設定する(ステップ1350、図11の1120)。 The host CHA 110HA sets the obtained numerical value, the time when the write command is received, the logical address A and the data amount “A” in the write command to the update data 4 (step 1350, 1120 in FIG. 11).
ホストCHA110HAは、DKA120Aに、JNL3の更新データ4とライトデータ2をJNLVOL6A2に書き込むことを命令し、正常終了する(ステップ1360、図11の1130、1140、1150)。 The host CHA 110HA instructs the DKA 120A to write the update data 4 and the write data 2 of JNL3 into the JNLVOL 6A2, and terminates normally (step 1360, 1130, 1140, 1150 in FIG. 11).
JNL作成処理が、初期コピー処理内の処理の場合は、ステップ1370からの処理を行う。ホストCHA110HAは、JNL3が作成可能であるかどうかを調べる。具体的には、ホストCHA110HAは、ポインタ管理データ700を用いて、更新データ領域の未使用領域の有無を調べる(ステップ1370)。ポインタ管理データ700の更新データ最新アドレスと更新データ最古アドレスが等しい場合は、更新データ領域に未使用領域が存在しないため、ホストCHA110HAは、JNL作成失敗として処理を終了する(ステップ1390)。本実施形態で示した初期コピー処理の場合、JNLのライトデータは、正VOLからリードし、ライトデータ領域は使用しないため、ライトデータ領域の未使用領域の確認は不要である。 If the JNL creation process is a process within the initial copy process, the process from step 1370 is performed. The host CHA 110HA checks whether JNL 3 can be created. Specifically, the host CHA 110HA uses the pointer management data 700 to check whether there is an unused area in the update data area (step 1370). If the update data latest address of the pointer management data 700 is equal to the update data oldest address, there is no unused area in the update data area, so the host CHA 110HA terminates the process as JNL creation failure (step 1390). In the case of the initial copy processing shown in the present embodiment, JNL write data is read from the primary VOL and the write data area is not used, so it is not necessary to check the unused area of the write data area.
ステップ1370の調べで、JNL3が作成可能である場合、ホストCHA110HAは、更新データ4に設定する更新番号(例えば、ペア管理テーブル500Aに書かれている更新番号)を取得し、更新データ4をキャッシュ領域に作成する。ホストCHA110HAは、その最新の更新番号に1を足した数値を新たな更新番号としてペア管理テーブル500Aに設定する。更新データ4を格納する論理アドレスは、ポインタ管理データ700の更新データ最新アドレスの位置であり、ホストCHA110HAは、更新データ4のサイズを足した数値をポインタ管理データ700に新たな更新データ最新アドレスとして設定する。 If the JNL 3 can be created in step 1370, the host CHA 110HA acquires the update number set in the update data 4 (for example, the update number written in the pair management table 500A) and caches the update data 4 Create in the area. The host CHA 110HA sets a numerical value obtained by adding 1 to the latest update number as a new update number in the pair management table 500A. The logical address for storing the update data 4 is the position of the update data latest address of the pointer management data 700, and the host CHA 110HA adds a numerical value obtained by adding the size of the update data 4 to the pointer management data 700 as a new update data latest address. Set.
ホストCHA110HAは、上記取得した更新番号、本処理の開始時刻、初期コピー処理対象の論理アドレス等を、キャッシュ領域に作成した更新データ4に設定する(ステップ1380、図11の1120)。 The host CHA 110HA sets the acquired update number, the start time of this process, the logical address of the initial copy process target, and the like in the update data 4 created in the cache area (step 1380, 1120 in FIG. 11).
ホストCHA110HAは、DKA120Aに、更新データ4をJNLVOL6A2に書き込むことを命令し(換言すれば、JNLVOL6A2における上記新たな更新データ最新アドレスから書き込むことを命令し)、正常終了する(ステップ1385、図11の1140、1160)。 The host CHA 110HA commands the DKA 120A to write the update data 4 to the JNLVOL 6A2 (in other words, commands to write from the new update data latest address in the JNLVOL 6A2), and ends normally (step 1385, FIG. 11). 1140, 1160).
以上が、図11〜図13についての説明である。 The above is an explanation of FIGS. 11 to 13.
図14は、JNLリード命令を受信した第一記憶サブシステム100AのホストCHA110HAの動作(JNLリード受信処理)を説明する図であり、図15は、JNLリード受信処理のフローチャートである。以下、これらを用いて、第一記憶サブシステム100Aが、第二記憶サブシステム100BからJNLリード命令を受信した場合の動作について説明する。 FIG. 14 is a diagram for explaining the operation (JNL read reception processing) of the host CHA 110HA of the first storage subsystem 100A that has received the JNL read command, and FIG. 15 is a flowchart of the JNL read reception processing. Hereinafter, the operation when the first storage subsystem 100A receives a JNL read command from the second storage subsystem 100B will be described using these.
システムCHA110SA1は、システムCHA110SB2からアクセス命令を受信する。アクセス命令は、JNLリード命令であることを示す識別子、読み出し元(例えば、PPJNLVOL6A2のVOLID)、リトライ指示の有無を含んでいる(ステップ1220、図14の1410)。 System CHA110SA1 receives an access command from system CHA110SB2. The access command includes an identifier indicating that it is a JNL read command, a read source (for example, VOLID of PPJNLVOL6A2), and presence / absence of a retry instruction (step 1220, 1410 in FIG. 14).
システムCHA110SA1は、PJNLVOL6A2の状態を調べる(ステップ1520)。ステップ1520の調べで、PJNLVOL6A2のVOL状態が“正常”でない場合、例えば、“障害”の場合は、システムCHA110SA1は、処理を終了する(ステップ1525)。システムCHA110SB2は、JNLリード処理を終了する。 System CHA110SA1 checks the state of PJNLVOL6A2 (step 1520). If it is determined in step 1520 that the VOL state of the PJNLVOL 6A2 is not “normal”, for example, “failure”, the system CHA 110SA1 ends the process (step 1525). The system CHA110SB2 ends the JNL read process.
ステップ1520の調べで、PJNLVOL6A2のVOL状態が“正常”の場合は、システムCHA110SA1は、JNLリード命令がリトライ指示かを調べる(ステップ1530)。 If the VOL state of the PJNLVOL 6A2 is “normal” in the check in step 1520, the system CHA110SA1 checks whether the JNL read instruction is a retry instruction (step 1530).
ステップ1530の調べで、JNLリード命令がリトライ指示の場合、システムCHA110SA1は、前回送信したJNL3を再度、第二記憶サブシステム100Bに送信する。システムCHA110SA1は、キャッシュ領域を確保し、DKA120に、ポインタ管理データ700のリトライ開始アドレスから、更新データ4のサイズの情報をキャッシュ領域に読み込むことを命令する(図14の1420)。 If it is determined in step 1530 that the JNL read instruction is a retry instruction, the system CHA110SA1 transmits the previously transmitted JNL3 to the second storage subsystem 100B again. The system CHA 110SA1 secures the cache area, and instructs the DKA 120 to read the size information of the update data 4 from the retry start address of the pointer management data 700 into the cache area (1420 in FIG. 14).
DKA120は、システムCHA110SA1からの命令に応答して、リードライト処理220を実行することにより、PJNLVOL6A2から更新データ4を読み込み、キャッシュ領域に保存し、命令元であるシステムCHA110SA1にリード終了を通知する(図14の1430)。 The DKA 120 executes the read / write process 220 in response to the instruction from the system CHA 110SA1, thereby reading the update data 4 from the PJNLVOL 6A2, storing it in the cache area, and notifying the instruction source system CHA 110SA1 of the end of reading ( 14 of FIG. 14).
システムCHA110SA1は、更新データ4のリード終了の通知を受け、キャッシュ領域に保存されている更新データ4から、ライトデータ2の論理アドレスおよびライトデータのデータサイズを取得し、その後、キャッシュ領域を確保し、確保されたキャッシュ領域に上記取得された論理アドレスからライトデータを読み込むことをDKA120に命令する(ステップ1540、図14の1440)。 The system CHA110SA1 receives the notification of the completion of reading of the update data 4, acquires the logical address of the write data 2 and the data size of the write data from the update data 4 stored in the cache area, and then secures the cache area. The DKA 120 is instructed to read the write data from the acquired logical address into the secured cache area (step 1540, 1440 in FIG. 14).
DKA120は、リードライト処理220により、PJNLVOL6A2(具体的には、上記命令された論理アドレス)からライトデータ2を読み込み、確保されたキャッシュ領域にそのライトデータ2を保存し、命令元であるシステムCHA110SA1にリード終了を通知する(図14の1450)。 The DKA 120 reads the write data 2 from the PJNLVOL 6A2 (specifically, the instructed logical address) by the read / write processing 220, stores the write data 2 in the secured cache area, and the system CHA110SA1 that is the instruction source Is notified of the end of reading (1450 in FIG. 14).
システムCHA110SA1は、ライトデータのリード終了の通知を受け、更新データ4とライトデータ2とを第二記憶サブシステム100Bに送信し(つまりJNL3を送信し)、JNL3を保持しているキャッシュ領域を開放し、処理を終了する(ステップ1545、図14の1460)。 The system CHA110SA1 receives the read end notification of the write data, transmits the update data 4 and the write data 2 to the second storage subsystem 100B (that is, transmits JNL3), and releases the cache area holding the JNL3. Then, the process ends (step 1545, 1460 in FIG. 14).
ステップ1530の調べで、リトライ指示でない場合、システムCHA110SA1は、送信していないJNL3が存在するかを調べ、存在すれば、JNL3を第二記憶サブシステム100Bに送信する。システムCHA110SA1は、ポインタ管理データ700のリード開始アドレスと更新データ最新アドレスを比較する(ステップ1550)。 If it is not a retry instruction in the check in step 1530, the system CHA 110SA1 checks whether there is a JNL 3 that has not been transmitted, and if it exists, transmits the JNL 3 to the second storage subsystem 100B. The system CHA110SA1 compares the read start address of the pointer management data 700 with the latest update data address (step 1550).
リード開始アドレスが更新データ最新アドレスと等しい場合は、全てのJNL3を第二記憶サブシステム100Bに送信済みであるため、システムCHA110SA1は、第二記憶サブシステム100Bに“JNL無“を送信し(ステップ1560)、前回のJNLリード命令の時に、第二記憶サブシステム100Bに送信したJNL3の記憶領域を開放する(ステップ1590)。 When the read start address is equal to the update data latest address, all the JNL3s have been transmitted to the second storage subsystem 100B, and therefore the system CHA110SA1 transmits "no JNL" to the second storage subsystem 100B (step 1560), the storage area of JNL3 transmitted to the second storage subsystem 100B at the time of the previous JNL read command is released (step 1590).
JNLの記憶領域の開放処理では、システムCHA110SA1は、ポインタ管理データ700の更新データ最古アドレスに、リトライ開始アドレスを設定する。更新データ最古アドレスがライトデータ領域先頭アドレスとなった場合は、システムCHA110SA1は、更新データ最古アドレスを0とする。システムCHA110SA1は、ポインタ管理データ700のライトデータ最古アドレスを、前回のリードJNL命令に応じて送信したライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、JNLVOLの容量以上の論理アドレスとなった場合は、システムCHA110SA1は、ライトデータ領域先頭アドレスを減じ、補正する。 In the JNL storage area release processing, the system CHA 110SA1 sets a retry start address as the oldest update data address of the pointer management data 700. When the update data oldest address becomes the write data area start address, the system CHA 110SA1 sets the update data oldest address to 0. The system CHA110SA1 changes the write data oldest address of the pointer management data 700 to a value obtained by adding the size of the write data transmitted in response to the previous read JNL command. When the oldest address of the write data becomes a logical address greater than the capacity of JNLVOL, the system CHA 110SA1 subtracts and corrects the write data area head address.
ステップ1550の調べで、未送信のJNLが存在する場合、システムCHA110SA1は、キャッシュ領域を確保し、ポインタ管理データ700のリード開始アドレスから更新データを上記確保されたキャッシュ領域に読み込むこと(換言すれば、リード開始アドレスから所定サイズ分の情報を読み出すこと)を、DKA120に命令する(図14の1420)。 If there is an untransmitted JNL in step 1550, the system CHA 110SA1 reserves a cache area and reads update data from the read start address of the pointer management data 700 into the secured cache area (in other words, , Reading information for a predetermined size from the read start address) (step 1420 in FIG. 14).
DKA120は、その命令に応答してリードライト処理220を実行することにより、PJNLVOL6A2から更新データを読み込み、キャッシュメモリ130に保存し、命令元であるシステムCHA110SA1にリード終了を通知する(図14の1430)。 The DKA 120 executes the read / write process 220 in response to the instruction, thereby reading the update data from the PJNLVOL 6A2, storing it in the cache memory 130, and notifying the instruction source system CHA110SA1 of the end of reading (1430 in FIG. 14). ).
システムCHA110SA1は、更新データのリード終了の通知を受け、読み出された更新データから、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュ領域を確保し、取得された論理アドレスから取得されたサイズ分のライトデータを上記確保されたキャッシュ領域に読み込むことをDKA120に命令する(ステップ1570、図14の1440)。 The system CHA 110SA1 receives the notification of the completion of reading the update data, acquires the logical address of the write data and the size of the write data from the read update data, secures the cache area, and is acquired from the acquired logical address The DKA 120 is instructed to read the write data of the specified size into the secured cache area (step 1570, 1440 in FIG. 14).
DKA120は、リードライト処理220を行うことにより、その命令に従って、PJNLVOL6A2(換言すれば、JNLVOL6A2の上記命令された論理アドレス)からライトデータを読み込み、上記確保されたキャッシュ領域にそのライトデータを保存し、リード終了をシステムCHA110SA1に通知する(図14の1450)。 The DKA 120 reads and writes the write data from the PJNLVOL6A2 (in other words, the instructed logical address of the JNLVOL6A2) in accordance with the instruction by performing the read / write process 220, and stores the write data in the reserved cache area. Then, the end of reading is notified to the system CHA110SA1 (1450 in FIG. 14).
システムCHA110SA1は、ライトデータのリード終了の通知を受け、更新データとライトデータを第二記憶サブシステム100Bに送信(ステップ1580)し、JNLを保持しているキャッシュ領域を開放する(図14の1460)。そして、システムCHA110SA1は、ポインタ管理データ700のリトライ開始アドレスにリード開始アドレスを設定し、且つ、そのリード開始アドレスに上記送信したJNLの更新データサイズを足した数値をポインタ管理データ700に新たなリード開始アドレスとして設定する。 The system CHA 110SA1 receives the write data read completion notification, transmits the update data and the write data to the second storage subsystem 100B (step 1580), and releases the cache area holding the JNL (1460 in FIG. 14). ). Then, the system CHA 110SA1 sets a read start address as the retry start address of the pointer management data 700, and adds a new value to the pointer management data 700 by adding the update data size of the transmitted JNL to the read start address. Set as start address.
システムCHA110SA1は、前回のJNLリード命令の処理時に、第二記憶サブシステム100Bに送信したJNLの記憶領域を開放する(ステップ1590)。 The system CHA 110SA1 releases the storage area of the JNL transmitted to the second storage subsystem 100B when the previous JNL read command was processed (step 1590).
以上が、図14〜図15についての説明である。なお、前述したJNLリード受信処理では、第一記憶サブシステム100Aは、JNLを一つずつ第二記憶サブシステム100Bに送信していたが、複数のJNLを同時に第二記憶サブシステム100Bに送信してもよい。1つのJNLリード命令で、送信するJNL数は、第二記憶サブシステム100BがJNLリード命令内に指定してもよいし、ユーザが第一記憶サブシステム100A又は第二記憶サブシステム100Bに指定してもよい。さらに、第一記憶サブシステム100Aと副記憶サブシステム100Bの接続パス200Aの転送能力又は負荷等により、1つのJNLリード命令で送信するJNL数を、第一記憶サブシステム100A又は第二記憶サブシステム100Bが動的に変更してもよい。また、JNL数でなく、JNLのライトデータのサイズを考慮し、JNLの転送量を指定してもよい。その転送量も、動的に変更されても良い。 The above is an explanation of FIGS. 14 to 15. In the JNL read reception process described above, the first storage subsystem 100A transmits JNL one by one to the second storage subsystem 100B, but simultaneously transmits a plurality of JNLs to the second storage subsystem 100B. May be. The number of JNLs to be transmitted in one JNL read command may be specified by the second storage subsystem 100B in the JNL read command, or specified by the user in the first storage subsystem 100A or the second storage subsystem 100B. May be. Further, the number of JNLs transmitted by one JNL read command is determined by the transfer capacity or load of the connection path 200A between the first storage subsystem 100A and the secondary storage subsystem 100B, and the first storage subsystem 100A or the second storage subsystem. 100B may change dynamically. In addition, the JNL transfer amount may be specified in consideration of the size of JNL write data instead of the number of JNLs. The transfer amount may also be changed dynamically.
また、前述したJNLリード受信処理では、JNLを記憶装置150からキャッシュメモリ130に読み込んでいたが、キャッシュメモリ130にそのJNLが存在する場合は、当該処理は行わなくても良い。 In the above-described JNL read reception process, JNL is read from the storage device 150 into the cache memory 130. However, when the JNL exists in the cache memory 130, the process may not be performed.
また、前述したJNLリード受信処理内のJNLの記憶領域の開放処理は、次のJNLリード命令の処理時としたが、第二記憶サブシステム100BにJNLを送信した直後に行われても良い。また、第二記憶サブシステム100Bが、JNLリード命令内に開放してよい更新番号を設定し、第一記憶サブシステム100Aは、その指示に従って、JNLの記憶領域を開放してもよい。 Further, the JNL storage area release processing in the JNL read reception processing described above is performed at the time of processing of the next JNL read instruction, but it may be performed immediately after the JNL is transmitted to the second storage subsystem 100B. Further, the second storage subsystem 100B may set an update number that may be released in the JNL read instruction, and the first storage subsystem 100A may release the JNL storage area in accordance with the instruction.
図16は、JNLリード命令処理240の概要を説明する図であり、図17は、JNLリード命令処理240のフローチャートであり、図18は、JNL格納処理のフローチャートである。以下、これらを用いて、第二記憶サブシステム100BのシステムCHA110SB2が、第一記憶サブシステム100AのPJNLVOL6A2からJNLを読み出し、そのJNLに基づいて、第二記憶サブシステム100B内のSJNLVOL6B1にJNLを格納する動作について説明する。 FIG. 16 is a diagram for explaining the outline of the JNL read instruction process 240, FIG. 17 is a flowchart of the JNL read instruction process 240, and FIG. 18 is a flowchart of the JNL storage process. Hereinafter, using these, the system CHA110SB2 of the second storage subsystem 100B reads the JNL from the PJNLVOL6A2 of the first storage subsystem 100A, and stores the JNL in the SJNLVOL6B1 in the second storage subsystem 100B based on the JNL The operation to be performed will be described.
システムCHA110SB2は、JNLを格納するキャッシュ領域を確保し、JNLリード命令のためのアクセス命令(例えば、JNLリード命令であることを示す識別子と、PJNLVOL6A2のVOLIDと、リトライ指示の有無とを含む命令)を生成し、そのアクセス命令を第一記憶サブシステム100Aに送信する(ステップ1700、図16の1610)。 The system CHA110SB2 secures a cache area for storing the JNL, and an access instruction for a JNL read instruction (for example, an instruction including an identifier indicating a JNL read instruction, a VOLID of the PJNLVOL6A2, and a retry instruction) And the access command is transmitted to the first storage subsystem 100A (step 1700, 1610 in FIG. 16).
システムCHA110SB2は、第一記憶サブシステム100Aの応答およびJNLを受信する(図16の1620)。システムCHA110SB2は、受信した応答を調べ、その応答が、“JNL無”の場合は、第一記憶サブシステム100Aには、PJNLVOL6A2にJNL3が存在しないため、一定時間後、第一記憶サブシステム100AにリードJNL命令を送信する(ステップ1720、1725)。 The system CHA110SB2 receives the response and JNL of the first storage subsystem 100A (1620 in FIG. 16). The system CHA110SB2 examines the received response. If the response is “JNL absent”, the first storage subsystem 100A does not have JNL3 in the PJNLVOL6A2, and therefore after a certain time, the system CHA110SB2 A read JNL command is transmitted (steps 1720 and 1725).
第一記憶サブシステム100Aの応答が、例えば正常終了の場合は、システムCHA110SB2は、VOL管理データ400Bを参照し、複製先となるSJNLVOL6B1のVOL状態を調べる(ステップ1740)。SJNLVOL6B2のVOL状態が“異常”の場合は、SJNLVOL6B2にJNLの格納が不可能なため、システムCHA110SB2は、処理を終了する(ステップ1745)。 If the response of the first storage subsystem 100A is, for example, normal termination, the system CHA 110SB2 refers to the VOL management data 400B and checks the VOL status of the SJNLVOL 6B1 that is the replication destination (step 1740). If the VOL status of the SJNLVOL 6B2 is “abnormal”, the system CHA110SB2 ends the process because the JNL cannot be stored in the SJNLVOL 6B2 (step 1745).
ステップ1740の調べで、SJNLVOL6B1のVOL状態が“正常”の場合は、システムCHA110SB2は、後述するJNL格納処理1800を行う。JNL格納処理1800が正常に終了した場合は、システムCHA110SB2は、次のJNLリード命令を送信する(ステップ1760)。それに代えて、システムCHA110SB2は、JNL格納処理1800が正常に終了してから一定時間経過後に、次のJNLリード命令を生成して送信してもよい。なお、システムCHA110SB2は、次のJNL命令を送信するタイミングを、一定の時間間隔で定期的に送信するものでも良いし、受信したJNLの個数、接続パス200の通信量、第二記憶サブシステム100Bが保持しているJNLVOLの記憶容量、又は第二記憶サブシステム100Bの負荷等によって決めてもよいし、第一記憶サブシステム100Aが保持しているJNLの記憶容量(もしくは、第一記憶サブシステム100Aのポインタ管理データ700)を取得し、取得された記憶容量に基づいて決めてもよい。上記情報の転送は、専用のコマンドで行ってもよいし、JNLリード命令の応答に含んでもよい。その後の処理は、ステップ1710以降と同じである。 If it is determined in step 1740 that the VOL state of the SJNLVOL 6B1 is “normal”, the system CHA 110SB2 performs a JNL storage process 1800 described later. If the JNL storage process 1800 is completed normally, the system CHA 110SB2 transmits the next JNL read command (step 1760). Instead, the system CHA 110SB2 may generate and transmit the next JNL read command after a predetermined time has elapsed after the JNL storage processing 1800 has ended normally. The system CHA 110SB2 may periodically transmit the timing for transmitting the next JNL command at regular time intervals, or the number of received JNLs, the communication amount of the connection path 200, the second storage subsystem 100B. May be determined by the storage capacity of the JNLVOL held by the memory, the load of the second storage subsystem 100B, or the storage capacity of the JNL held by the first storage subsystem 100A (or the first storage subsystem) 100A pointer management data 700) may be acquired and determined based on the acquired storage capacity. The information transfer may be performed by a dedicated command or may be included in a response to the JNL read command. The subsequent processing is the same as that after step 1710.
ステップ1800のJNL格納処理が正常に終了しない場合は、SJNLVOL6B1の未使用領域が足りないため、システムCHA110SB2は、受信したJNLを破棄し、一定時間後にリトライ指示のJNLリード命令を送信する(ステップ1755)。もしくは、システムCHA110SB2は、JNLをキャッシュ領域に保持しておき、一定時間後に、再度JNL格納処理を行っても良い。これは、後述するリストア処理250が行われることにより、一定時間後には、SJNLVOL6B1に未使用領域が増える可能性があるためである。この方式の場合は、JNLリード命令にリトライ指示の有無は含めなくてもよい。 If the JNL storage process in step 1800 does not end normally, the unused area of SJNLVOL6B1 is insufficient, and therefore the system CHA110SB2 discards the received JNL and transmits a JNL read command for a retry instruction after a certain time (step 1755). ). Alternatively, the system CHA110SB2 may hold the JNL in the cache area and perform the JNL storage process again after a certain time. This is because an unused area may increase in the SJNLVOL 6B1 after a certain time by performing a restore process 250 described later. In the case of this method, it is not necessary to include the retry instruction in the JNL read instruction.
次に、図18に示すJNL格納処理1800について説明する。 Next, the JNL storage process 1800 shown in FIG. 18 will be described.
システムCHA110SB2は、JNLがSJNLVOL6B1に格納可能であるか否かを調べる。具体的には、システムCHA110SB2は、第二記憶サブシステム100Bに備えられるポインタ管理データ700B(図5参照)を用いて、SJNLVOL6B1の更新データ領域に未使用領域が有るか無いかを調べる(ステップ1810)。ポインタ管理データ700の更新データ最新アドレスと更新データ最古アドレスが等しい場合は、更新データ領域に未使用領域が存在しないため、システムCHA110SB2は、JNL作成失敗として処理を終了する(ステップ1820)。 System CHA110SB2 checks whether JNL can be stored in SJNLVOL6B1. Specifically, the system CHA110SB2 checks whether there is an unused area in the update data area of the SJNLVOL6B1 using the pointer management data 700B (see FIG. 5) provided in the second storage subsystem 100B (step 1810). ). If the update data latest address and the update data oldest address of the pointer management data 700 are equal, there is no unused area in the update data area, and the system CHA 110SB2 ends the process as JNL creation failure (step 1820).
ステップ1810の調べで、SJNLVOL6B1の更新データ領域に未使用領域が存在する場合は、システムCHA110SB2は、ポインタ管理データ700を用い、ライトデータ領域にライトデータが格納できるか否かを調べる(ステップ1830)。ライトデータ最新アドレスと受信したJNLのライトデータのデータ量の和が、ライトデータ最古アドレスと等しいもしくは大きい場合は、ライトデータ領域にライトデータを格納できないため、システムCHA110SB2は、JNL作成失敗として処理を終了する(ステップ1820)。 If there is an unused area in the update data area of SJNLVOL6B1 as a result of the check in step 1810, the system CHA110SB2 uses the pointer management data 700 to check whether write data can be stored in the write data area (step 1830). . If the sum of the data amount of the write data latest address and the received JNL write data is equal to or larger than the write data oldest address, the write data cannot be stored in the write data area, and the system CHA110SB2 treats this as a JNL creation failure. Is finished (step 1820).
JNLが格納可能である場合、システムCHA110SB2は、上記JNLリード処理240により受信したJNLの更新データに含まれているライトデータ論理アドレスを変更する。具体的には、システムCHA110SB2は、更新データ4中のライトデータ論理アドレスを、第二記憶サブシステム100Bが備えるポインタ管理データ700Bのライトデータ最新アドレスに変更する。システムCHA110SB2は、そのポインタ管理データ700Bの更新データ最新アドレスを、現在の更新データ最新アドレスに更新データのサイズを足した数値に変更する(ステップ1840)。 When the JNL can be stored, the system CHA 110SB2 changes the write data logical address included in the JNL update data received by the JNL read process 240. Specifically, the system CHA 110SB2 changes the write data logical address in the update data 4 to the latest write data address of the pointer management data 700B provided in the second storage subsystem 100B. The system CHA110SB2 changes the update data latest address of the pointer management data 700B to a value obtained by adding the size of the update data to the current update data latest address (step 1840).
システムCHA110SB2は、キャッシュ領域を確保し、確保されたキャッシュ領域に、更新後の更新データと、上記受信したJNL中のライトデータとを格納し、且つ、それら更新データとライトデータとをSJNLVOL6B1に書き込むことをDKA120に命令し、JNL作成成功として処理を終了する(ステップ1850、図16の1630)。その後、DKA120は、リードライト処理220により、キャッシュ領域に格納されている更新データとライトデータとをSJNLVOL6B1に書き込み、その後、上記確保されたキャッシュ領域を開放する(図16の1640)。 The system CHA110SB2 secures a cache area, stores the updated data updated and the received write data in the JNL in the secured cache area, and writes the updated data and write data to the SJNLVOL6B1. This is instructed to the DKA 120, and the processing is terminated as a successful JNL creation (step 1850, 1630 in FIG. 16). Thereafter, the DKA 120 writes the update data and write data stored in the cache area to the SJNLVOL 6B1 by the read / write process 220, and then releases the secured cache area (1640 in FIG. 16).
前述したJNL格納処理では、JNLをSJNLVOL6B1(換言すれば、それを有する記憶装置150)に保存するとしていたが、JNL用に予め一定量のキャッシュ領域を用意しておき、当該キャッシュ領域を全て使用してから、その全てのキャッシュ領域からSJNLVOL6B1にJNLが保存されてもよい。JNL用のキャッシュ領域サイズは、例えば、SVP281Bから指定されてもよい。 In the JNL storage process described above, JNL is stored in SJNLVOL6B1 (in other words, storage device 150 having the JNL), but a certain amount of cache area is prepared in advance for JNL, and all the cache areas are used. Then, the JNL may be stored in the SJNLVOL 6B1 from all the cache areas. The cache area size for JNL may be specified from, for example, SVP 281B.
図19は、リストア処理250を説明する図であり、図20は、リストア処理250のフローチャートである。以下、これらを用いて、第二記憶サブシステム100BのホストCHA110HBが、JNLを利用し、データの更新を行う動作について説明する。なお、リストア処理250は、別のCHA110B(例えばシステムCHA110SB2)が行っても良いし、第二記憶サブシステム100BのDKA120が行ってもよい。 FIG. 19 is a diagram for explaining the restore process 250, and FIG. 20 is a flowchart of the restore process 250. Hereinafter, an operation in which the host CHA 110HB of the second storage subsystem 100B updates data using JNL will be described using these. The restore processing 250 may be performed by another CHA 110B (for example, the system CHA 110SB2), or may be performed by the DKA 120 of the second storage subsystem 100B.
ホストCHA110HBは、VOL管理データ400Bやパス管理データ500Bなどを参照し、SJNLVOL6B1に対応したVOL状態を調べる(ステップ2020)。ステップ2020の調べで、JNLVOL6B1のVOL状態が、“異常”の場合は、アクセス不可能なため、ホストCHA110HBは、処理を終了する(ステップ2025)。 The host CHA 110HB refers to the VOL management data 400B, the path management data 500B, etc., and checks the VOL state corresponding to the SJNLVOL 6B1 (step 2020). If the VOL status of JNLVOL 6B1 is “abnormal” as determined in step 2020, the host CHA 110HB ends the processing because access is impossible (step 2025).
ステップ2020の調べで、SJNLVOL6B1のVOL状態が、“正常”の場合は、ホストCHA110HBは、リストア対象のJNLがSJNLVOL6B1に存在するかを調べる。具体的には、ホストCHA110HBは、ポインタ管理データ700Bの更新データ最古アドレスと更新データ最新アドレスを取得し、それらを比較する。ホストCHA110HBは、更新データ最古アドレスと更新データ最新アドレスが等しい場合、JNLは存在しないため、リストア処理は一旦終了し、一定時間後、リストア処理を再開する(ステップ2030)。 If the VOL status of the SJNLVOL 6B1 is “normal” in step 2020, the host CHA 110HB checks whether the JNL to be restored exists in the SJNLVOL 6B1. Specifically, the host CHA 110HB acquires the update data oldest address and the update data latest address of the pointer management data 700B and compares them. When the update data oldest address and the update data latest address are equal, the host CHA 110HB does not have JNL, so the restore process is temporarily ended, and after a certain time, the restore process is resumed (step 2030).
ステップ2030の調べで、リストア対象のJNLが存在する場合、ホストCHA110HBは、最古(最小)の更新番号を持つJNLに対して次の処理を行う。最古(最小)の更新番号を持つJNLの更新データは、ポインタ管理データ700Bの更新データ最古アドレスから保存されている。ホストCHA110HBは、キャッシュ領域を確保し、更新データ最古アドレスから更新データサイズ分の情報(つまり更新データそれ自体)をSJNLVOL6B1から読み出すことをDKA120Bに命令する(図19の1910)。 If it is determined in step 2030 that there is a JNL to be restored, the host CHA 110HB performs the following process on the JNL having the oldest (minimum) update number. The JNL update data having the oldest (minimum) update number is stored from the oldest update data address of the pointer management data 700B. The host CHA 110HB reserves a cache area, and instructs the DKA 120B to read information corresponding to the update data size (that is, the update data itself) from the SJNLVOL 6B1 from the oldest address of the update data (1910 in FIG. 19).
DKA120Bは、その命令に応答して、リードライト処理220により、SJNLVOL6B1から更新データを読み込み、その更新データを、上記確保されたキャッシュ領域に保存し、ホストCHA110HBにリード終了を通知する(図19の1920)。 In response to the instruction, the DKA 120B reads the update data from the SJNLVOL 6B1 by the read / write processing 220, stores the update data in the secured cache area, and notifies the host CHA 110HB of the read completion (FIG. 19). 1920).
ホストCHA110HBは、更新データのリード終了の通知を受け、キャッシュ領域内の更新データから、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュ領域を確保し、その論理アドレスからそのサイズ分のデータ(つまり一つのライトデータ)をSJNLVOL6B1から読出すことをDKA120Bに命令する(図19の1930)。 The host CHA 110HB receives the notification of the completion of the read of the update data, acquires the logical address of the write data and the size of the write data from the update data in the cache area, secures the cache area, and allocates the size of the size from the logical address. The DKA 120B is instructed to read data (that is, one write data) from the SJNLVOL 6B1 (1930 in FIG. 19).
DKA120Bは、その命令に応答して、リードライト処理220により、SJNLVOL6B2(換言すれば指定された論理アドレス)からライトデータを読み込み、そのライトデータをキャッシュ領域に保存し、リード終了をホストCHA110HBに通知する(ステップ2040、図19の1940)。 In response to the command, the DKA 120B reads the write data from SJNLVOL6B2 (in other words, the specified logical address) by the read / write processing 220, stores the write data in the cache area, and notifies the host CHA 110HB of the end of the read. (Step 2040, 1940 in FIG. 19).
ホストCHA110HBは、更新するSVOL6B2の論理アドレス(換言すれば、ライト命令の論理アドレス(図2参照))を更新データから求め、その論理アドレスから特定されるSVOL6B2のアドレスにライトデータを書き込むことをDKA120Bに命令する(ステップ2050、図19の1950)。DKA120は、その命令に応答して、リードライト処理220により、SVOL6B2の論理アドレス(ライト命令の論理アドレス)に対応する記憶装置150の記憶領域に、キャッシュ領域に保存されたライトデータを書き込み、キャッシュ領域を開放し、ライト処理終了をホストCHA110HBに通知する(図19の1960)。 The host CHA 110HB obtains the logical address of the SVOL 6B2 to be updated (in other words, the logical address of the write instruction (see FIG. 2)) from the update data, and writes the write data to the address of the SVOL 6B2 specified from the logical address. (Step 2050, 1950 in FIG. 19). In response to the instruction, the DKA 120 writes the write data stored in the cache area to the storage area of the storage device 150 corresponding to the logical address of the SVOL6B2 (logical address of the write instruction) by the read / write process 220, and The area is released, and the end of the write process is notified to the host CHA 110HB (1960 in FIG. 19).
ホストCHA110HBは、DKA120Bからライト処理完了の通知を受け、JNLの記憶領域を開放する。JNLの記憶領域の開放処理では、ホストCHA110HBは、第二記憶サブシステム100Bに備えられるポインタ管理データ700Bの更新データ最古アドレスを、現在の更新データ最古アドレスに更新データのサイズを足した数値に変更する。ホストCHA110HBは、更新データ最古アドレスが、ライトデータ領域先頭アドレスとなった場合は、ライトデータ領域先頭アドレスは0とする。ホストCHA110HBは、そのポインタ管理データ700Bのライトデータ最古アドレスを、現在のライトデータ最古アドレスに上記書き込んだライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、SJNLVOL6B1の容量以上の論理アドレスとなった場合は、ホストCHA110HBは、ライトデータ領域先頭アドレスを減じ、補正する。その後、ホストCHA110HBは、次のリストア処理を開始する(ステップ2060)。 The host CHA 110HB receives a write processing completion notification from the DKA 120B and releases the JNL storage area. In the JNL storage area release processing, the host CHA 110HB adds the update data oldest address of the pointer management data 700B provided in the second storage subsystem 100B to the current update data oldest address plus the size of the update data. Change to The host CHA 110HB sets the write data area start address to 0 when the update data oldest address becomes the write data area start address. The host CHA 110HB changes the oldest write data address of the pointer management data 700B to a value obtained by adding the size of the written data to the oldest write data address. When the oldest address of the write data becomes a logical address greater than or equal to the capacity of SJNLVOL6B1, the host CHA 110HB subtracts and corrects the write data area start address. Thereafter, the host CHA 110HB starts the next restore process (step 2060).
以上が、図19〜図20についての説明である。なお、前述したリストア処理250では、SJNLVOL6B1からキャッシュメモリ130にJNLを読み込んでいたが、キャッシュメモリ130に存在する場合は、当該処理は行わなくても良い。 The above is an explanation of FIGS. In the restore process 250 described above, the JNL is read from the SJNLVOL 6B1 into the cache memory 130. However, if the JNL exists in the cache memory 130, the process may not be performed.
また、前述したJNLリード受信処理とJNLリード命令処理240では、第二記憶サブシステム100Bが、受信するJNLを決めてもよい。例えば、システムCHA110SB2が、JNLリード命令に更新番号を追加する。この場合、そのJNLリード命令を受信するシステムCHA110SA1が、JNLリード受信処理にて、第二記憶サブシステム100Bが指定した更新番号を含んだ更新データの論理アドレスを求めるために、第一記憶サブシステム100Aの共有メモリ140内に、更新データを格納した論理アドレスを更新番号から求めるテーブルもしくは検索方法を設けてもよい。 In the JNL read reception process and the JNL read instruction process 240 described above, the second storage subsystem 100B may determine the JNL to be received. For example, the system CHA110SB2 adds an update number to the JNL read command. In this case, the system CHA 110SA1 that receives the JNL read command obtains the logical address of the update data including the update number designated by the second storage subsystem 100B in the JNL read reception process. In the shared memory 140 of 100A, a table or search method for obtaining a logical address storing update data from an update number may be provided.
また、前述したJNLリード受信処理とJNLリード命令処理240では、JNLリード命令を用いていたが、通常のリード命令を用いてもよい。例えば、第一記憶サブシステム100Aのポインタ管理データ700Aを予め第二記憶サブシステム100Bに転送しておき、第二記憶サブシステム100Bは、第一記憶サブシステム100AのPJNLVOL6A2のJNLをリードしてもよい。 In the JNL read reception process and the JNL read instruction process 240 described above, the JNL read instruction is used, but a normal read instruction may be used. For example, the pointer management data 700A of the first storage subsystem 100A is transferred to the second storage subsystem 100B in advance, and the second storage subsystem 100B reads the JNL of the PJNLVOL6A2 of the first storage subsystem 100A. Good.
また、前述したJNLリード受信処理では、更新番号の順に、第一記憶サブシステム100Aから第二記憶サブシステム100BにJNLを送信すると説明したが、更新番号の順に送信せずともよい。また、第一記憶サブシステム100Aから第二記憶サブシステム100Bに複数のJNLリード命令を送信してもよい。この場合、リストア処理にて更新番号順にJNLを処理するために、第二記憶サブシステム100Bに、更新番号から更新データを格納した論理アドレスを求めるテーブルもしくは検索方法を設けることができる。 Further, in the above-described JNL read reception process, it has been described that JNL is transmitted from the first storage subsystem 100A to the second storage subsystem 100B in the order of update numbers. A plurality of JNL read instructions may be transmitted from the first storage subsystem 100A to the second storage subsystem 100B. In this case, in order to process JNL in the order of update numbers in the restore process, the second storage subsystem 100B can be provided with a table or search method for obtaining a logical address storing update data from the update number.
以上が、JNLを利用したデータ処理の基本に関する実施形態の説明である。これまでに説明した方法で、PVOLに格納されるオリジナルライトデータ2に基づくJNLの生成や、生成されたJNLのPJNLVOLへの格納や、PJNLVOLからSJNLVOLへのJNLの複製や、SJNLVOLに格納されたJNLに基づくSVOLへのライトデータのリストアが行われる。このような仕組みを応用することで、マルチターゲット方式に従う複製処理や、マルチホップ方式に従う複製処理や、マルチターゲット方式とマルチホップ方式との動的な切り替え等を実現することができる。以下、上述した実施形態の第一実施例として、マルチターゲット方式について詳細に説明し、その後、その実施形態の第二実施例として、マルチホップ方式について詳細に説明する。 The above is the description of the embodiment relating to the basics of data processing using JNL. In the method described so far, JNL generation based on the original write data 2 stored in the PVOL, storage of the generated JNL in the PJNLVOL, JNL replication from the PJNLVOL to the SJNLVOL, and storage in the SJNLVOL Write data is restored to SVOL based on JNL. By applying such a mechanism, replication processing according to the multi-target method, replication processing according to the multi-hop method, dynamic switching between the multi-target method and the multi-hop method, and the like can be realized. Hereinafter, the multi-target method will be described in detail as a first example of the above-described embodiment, and then the multi-hop method will be described in detail as a second example of the embodiment.
図21Aは、本発明の一実施形態の第一実施例に係るデータ処理システムで通常時に行われる複製処理の概要を示し、図21Bは、そのデータ処理システムにおいて第一ホスト端末で障害が発生した後の複製処理の概要を示し、図22は、第一ホスト端末で障害が発生した場合に行われる、マルチターゲット方式からマルチホップ方式への切り替え処理の流れを示す。以下、上述した実施形態との相違点を主に説明し、共通点については説明を省略或いは簡略する。 FIG. 21A shows an overview of replication processing that is normally performed in the data processing system according to the first example of one embodiment of the present invention, and FIG. 21B shows a failure in the first host terminal in the data processing system. FIG. 22 shows a flow of a switching process from the multi-target method to the multi-hop method performed when a failure occurs in the first host terminal. Hereinafter, differences from the above-described embodiment will be mainly described, and description of common points will be omitted or simplified.
図21Aに示すように、第一実施例に係るデータ処理システム1では、第一ホスト端末180Aとそれに接続された第一記憶サブシステム100Aは、第一サイト840Aに存在し、第二ホスト端末180Bとそれに接続された第二記憶サブシステム100Bは、第二サイト840Bに存在し、第三ホスト端末180Cとそれに接続された第三記憶サブシステム100Cは、第三サイト840Cに存在する。 As shown in FIG. 21A, in the data processing system 1 according to the first embodiment, the first host terminal 180A and the first storage subsystem 100A connected thereto exist in the first site 840A and the second host terminal 180B. The second storage subsystem 100B connected to the second storage subsystem 100B exists at the second site 840B, and the third host terminal 180C and the third storage subsystem 100C connected thereto exist at the third site 840C.
通常時は(例えば、データ処理システム1において何の障害も発生していない場合は)、図21Aに示すように、第一記憶サブシステム100AのPVOL6A1に書かれたオリジナルデータ2は、そのPVOL6A1を複製スタートVOLとして、二つの複製経路及び複製方向に沿って、それら二つの複製経路及び複製方向のそれぞれの複製ゴールVOLである第一SVOL6B2と第二SVOL6C2に複製される。すなわち、通常時は、第一記憶サブシステム100AのVOL6A1を複製スタートVOLとし、第二記憶サブシステム100BのVOL6B2と、第三記憶サブシステム100CのVOL6C2とを複製ゴールVOLとして、マルチターゲット方式に従う複製処理が行われる。 At normal times (for example, when no failure has occurred in the data processing system 1), as shown in FIG. 21A, the original data 2 written in the PVOL 6A1 of the first storage subsystem 100A is stored in the PVOL 6A1. As the replication start VOL, replication is performed along the two replication paths and the replication direction to the first SVOL 6B2 and the second SVOL 6C2, which are the respective replication goal VOLs in the two replication paths and the replication direction. That is, in the normal state, the VOL 6A1 of the first storage subsystem 100A is set as the replication start VOL, the VOL 6B2 of the second storage subsystem 100B, and the VOL 6C2 of the third storage subsystem 100C is set as the replication goal VOL. Processing is performed.
この場合において、複製スタートVOLを備える第一記憶サブシステム100Aに接続された第一ホスト端末180Aで障害が発生した場合、マルチターゲット方式に従う複製処理からマルチホップ方式に従う複製処理に切り替えられる。以下、図21B及び図22を参照して、マルチターゲット方式に従う複製処理からマルチホップ方式に従う複製処理に切り替えられる場合に行われる処理流れを説明する。 In this case, when a failure occurs in the first host terminal 180A connected to the first storage subsystem 100A having the replication start VOL, the replication processing according to the multi-target method is switched to the replication processing according to the multi-hop method. Hereinafter, with reference to FIG. 21B and FIG. 22, a processing flow performed when switching from a replication process according to the multi-target method to a replication process according to the multi-hop method will be described.
第一ホスト端末180Aで障害が発生した場合(ステップS100)、データ処理システム1においてそれが検出される。具体的には、例えば、第一記憶サブシステム100Aが、定期的に所定の信号を第一ホスト端末180Aに送信しても何の応答も得られなかった場合に、第一ホスト端末180Aに障害が発生したと判断しても良いし、第二ホスト端末180B(又は別の装置)が、ハートビート通信等の方法により、第一ホスト端末180Aで障害が発生したことを検出しても良い。 When a failure occurs in the first host terminal 180A (step S100), the data processing system 1 detects it. Specifically, for example, if the first storage subsystem 100A does not receive any response even if a predetermined signal is periodically transmitted to the first host terminal 180A, the first host terminal 180A may fail. The second host terminal 180B (or another device) may detect that a failure has occurred in the first host terminal 180A by a method such as heartbeat communication.
第一ホスト端末180Aで障害が発生した場合、第二ホスト端末180B(又は第三ホスト端末180C)に第一ホスト端末180Aの処理が引き継がれるテイクオーバ処理が実行される。処理の引継ぎ先となるホスト端末は、予め決められていても良いし、リストア処理の進行が最も遅い又は最も早いSVOLを有する記憶サブシステムに接続されたホスト端末であってもよい。以下、処理の引継ぎ先が第二ホスト端末180Bである場合を例に採って説明をする。 When a failure occurs in the first host terminal 180A, a takeover process is performed in which the process of the first host terminal 180A is taken over by the second host terminal 180B (or the third host terminal 180C). The host terminal that takes over the processing may be determined in advance, or may be a host terminal connected to the storage subsystem having the SVOL with the slowest or fastest progress of the restore process. Hereinafter, the case where the process takeover destination is the second host terminal 180B will be described as an example.
第一ホスト端末180Aで障害が発生した場合、第二ホスト端末180Bに第一ホスト端末180Aの処理が引き継がれる(S101)。また、その後、第二ホスト端末180Bは、第二記憶サブシステム100Bに、処理開始指示を送信する(S102)。 When a failure occurs in the first host terminal 180A, the processing of the first host terminal 180A is taken over by the second host terminal 180B (S101). Thereafter, the second host terminal 180B transmits a processing start instruction to the second storage subsystem 100B (S102).
第二記憶サブシステム100Bは、処理開始指示に応答して、第一PJNLVOL6A2に対するJNLリード命令を第一記憶サブシステム100Aに送信し、第一PJNLVOL6A2からJNL3を読み出し、読み出されたJNL3を第一SJNLVOL6B1に格納する(S103A)。第二記憶サブシステム100Bは、第一PJNLVOL6A2に格納されている全てのJNL3を読み出し終えるまで、この処理を繰り返す。第一記憶サブシステム100Aは、ミラー管理サブデータ502AのJNL複製更新番号と同一の番号を含んだJNLを第一PJNLVOL6A2から探して第二記憶サブシステム100Bに送信し、且つ、そのJNL複製更新番号の値を1つ増やす。また、第一記憶サブシステム100Aは、ミラー管理サブデータ502AのJNL複製更新番号とJNL生成更新番号(例えば更新番号「16」)とが同一になった場合には、第一PJNLVOL6A2には複製対象のJNLは存在しない旨を第二記憶サブシステム100Bに通知し、それにより、第二記憶サブシステム100Bは、全てのJNLの複製が完了したことを認識してもよい。また、第一記憶サブシステム100Aは、第一PJNLVOL6A2からJNL3が読み出された場合、読み出されたJNL3を第一PJNLVOL6A2から消去しても良い。すなわち、第一PJNLVOL6A2から全てのJNLが読み出された場合、第一PJNLVOL6A2を空にしても良い。 In response to the processing start instruction, the second storage subsystem 100B transmits a JNL read command for the first PJNLVOL6A2 to the first storage subsystem 100A, reads JNL3 from the first PJNLVOL6A2, and reads the read JNL3 to the first It stores in SJNLVOL6B1 (S103A). The second storage subsystem 100B repeats this process until all the JNL3 stored in the first PJNLVOL 6A2 has been read. The first storage subsystem 100A searches the first PJNLVOL 6A2 for a JNL that includes the same number as the JNL replication update number of the mirror management sub-data 502A, transmits the JNL to the second storage subsystem 100B, and the JNL replication update number. Increase the value of by 1. Further, when the JNL replication update number of the mirror management sub-data 502A and the JNL generation update number (for example, update number “16”) become the same, the first storage subsystem 100A stores the replication target in the first PJNLVOL 6A2. The second storage subsystem 100B may notify the second storage subsystem 100B that there is no JNL, so that the second storage subsystem 100B may recognize that the replication of all JNLs has been completed. In addition, when JNL3 is read from the first PJNLVOL 6A2, the first storage subsystem 100A may erase the read JNL3 from the first PJNLVOL 6A2. That is, when all JNLs are read from the first PJNLVOL 6A2, the first PJNLVOL 6A2 may be emptied.
第二記憶サブシステム100Bは、第一PJNLVOL6A2から読み出されたJNL3を第一SJNLVOL6B1に書き込むことと同じ(又は異なる)タイミングで、第一SJNLVOL6B1に格納されたJNL3に基づく第一SVOL6B2へのリストア処理を実行する(S103B)。第二記憶サブシステム100Bは、第一SJNLVOL6B1に格納されている全てのJNL3を読み出し終えるまで、この処理を繰り返す。 The second storage subsystem 100B restores to the first SVOL6B2 based on JNL3 stored in the first SJNLVOL6B1 at the same (or different) timing as writing the JNL3 read from the first PJNLVOL6A2 to the first SJNLVOL6B1. Is executed (S103B). The second storage subsystem 100B repeats this process until all the JNL3 stored in the first SJNLVOL 6B1 has been read.
以上のS103A及びS103Bの処理が行われることにより、複製ゴールVOL6B2の内容を、複製スタートVOL6A2の内容と完全に同じにすることができる。 By performing the processes of S103A and S103B described above, the content of the replication goal VOL6B2 can be made completely the same as the content of the replication start VOL6A2.
その後、第二記憶サブシステム100Bは、SJNLVOL6B1を含んだVOLグループにおける複製方向を反転させるためのコピー反転処理を実行する(S104A)。具体的には、例えば、第二記憶サブシステム100Bは、SJNLVOL6B1が構成するミラーペアのミラーID「1」を含んだJNLコピー反転指示を生成し、且つ、パス管理データ500Bを参照して、そのSJNLVOL6B1とミラーペアを構成するPJNLVOLとそれを備える正記憶サブシステムを特定し、上記生成したJNLコピー反転指示を、特定された正記憶サブシステム(つまり第一記憶サブシステム)100Aに送信する。また、例えば、第二記憶サブシステム100Bは、パス管理データ500Bにおいて、ミラーID「1」に関連したPJNLVOL−ID、PVOL−ID及び正記憶サブシステムIDと、SJNLVOL−ID、SVOL−ID及び副記憶サブシステムIDとを入れ替える。また、例えば、第二記憶サブシステム100Bは、第一記憶サブシステム100Aの後述のコピー反転処理によって受信したJNL生成更新番号を、反転後のPJNLVOL6B1に対応付けてパス管理データ500Bに設定する。 Thereafter, the second storage subsystem 100B executes a copy inversion process for inverting the replication direction in the VOL group including the SJNLVOL 6B1 (S104A). Specifically, for example, the second storage subsystem 100B generates a JNL copy inversion instruction including the mirror ID “1” of the mirror pair that the SJNLVOL 6B1 configures, and refers to the path management data 500B, and the SJNLVOL 6B1 The PJNLVOL constituting the mirror pair and the primary storage subsystem including the same are identified, and the generated JNL copy inversion instruction is transmitted to the identified primary storage subsystem (that is, the first storage subsystem) 100A. Further, for example, the second storage subsystem 100B includes the PJNLVOL-ID, PVOL-ID and primary storage subsystem ID related to the mirror ID “1”, the SJNLVOL-ID, SVOL-ID, and the secondary in the path management data 500B. Replace storage subsystem ID. Further, for example, the second storage subsystem 100B sets the JNL generation update number received by the copy inversion process described later of the first storage subsystem 100A in the path management data 500B in association with the inverted PJNLVOL 6B1.
第二記憶サブシステム100BからJNLコピー反転指示を受信した第一記憶サブシステム100Aは、その指示に応答して、コピー反転処理を実行する(S104B)。具体的には、例えば、第一記憶サブシステム100Aは、パス管理データ500Aを参照し、PJNLVOL6A2に関するJNL生成更新番号(例えば更新番号「16」)を第二記憶サブシステム100Bに通知する。また、例えば、第一記憶サブシステム100Aは、パス管理データ500Aにおいて、ミラーID「1」に関連したPJNLVOL−ID、PVOL−ID及び正記憶サブシステムIDと、SJNLVOL−ID、SVOL−ID及び副記憶サブシステムIDとを入れ替える。また、第一記憶サブシステム100Aは、反転後のPJNLVOL6B1に対するJNLリード命令を第二記憶サブシステム100Bに送信し、それにより、PJNLVOL6B1内のJNLを読み出し、そのJNLを反転後のSJNLVOL6A2に格納してもよい。 The first storage subsystem 100A that has received the JNL copy inversion instruction from the second storage subsystem 100B executes a copy inversion process in response to the instruction (S104B). Specifically, for example, the first storage subsystem 100A refers to the path management data 500A and notifies the second storage subsystem 100B of the JNL generation update number (for example, update number “16”) related to the PJNLVOL6A2. Further, for example, the first storage subsystem 100A includes the PJNLVOL-ID, PVOL-ID and primary storage subsystem ID related to the mirror ID “1”, the SJNLVOL-ID, SVOL-ID, and the secondary in the path management data 500A. Replace storage subsystem ID. Also, the first storage subsystem 100A sends a JNL read instruction for the inverted PJNLVOL6B1 to the second storage subsystem 100B, thereby reading the JNL in the PJNLVOL6B1, and storing the JNL in the inverted SJNLVOL6A2. Also good.
第二記憶サブシステム100Bは、第二ホスト端末180Bに、使用可能通知を送信する(S105)。なお、第二記憶サブシステム100Bは、第二ホスト端末180BがVOL6B2に対するライト命令を送信できるよう、SVOL6B2のVOL−IDを第二ホスト端末180Bに通知してもよい。 The second storage subsystem 100B transmits an availability notification to the second host terminal 180B (S105). Note that the second storage subsystem 100B may notify the VOL-ID of the SVOL 6B2 to the second host terminal 180B so that the second host terminal 180B can send a write command to the VOL 6B2.
以後、図21Bに示した、マルチホップ方式に従う複製処理が行われる。具体的には、例えば、反転後のPVOL6B2を含んだVOLグループでは、以下の複製処理が行われる。 Thereafter, the duplication processing according to the multi-hop method shown in FIG. 21B is performed. Specifically, for example, in the VOL group including the inverted PVOL 6B2, the following replication process is performed.
すなわち、第二ホスト端末180Bは、第二記憶サブシステム100BのS104の処理により使用可能通知を受信した後、ライトデータを生成し、生成したライトデータと、反転後のPVOL6B2のVOL−IDを有するライト命令とを、第二記憶サブシステム100Bに送信する。第二記憶サブシステム100Bは、受信したライトデータを反転後のPVOL6B2に格納し、且つ、そのライトデータと、第一記憶サブシステム100Aから通知されたJNL生成更新番号(例えば更新番号「16」)とを含んだJNLを生成し、そのJNLを反転後のPJNLVOL6B1に格納する。 That is, the second host terminal 180B generates the write data after receiving the usable notification by the processing of S104 of the second storage subsystem 100B, and has the generated write data and the VOL-ID of the inverted PVOL6B2. The write command is transmitted to the second storage subsystem 100B. The second storage subsystem 100B stores the received write data in the inverted PVOL 6B2, and the write data and the JNL generation update number (for example, update number “16”) notified from the first storage subsystem 100A. Is generated, and the JNL is stored in the inverted PJNLVOL6B1.
また、第一記憶サブシステム100Aは、反転後のSJNLVOL6A2にJNLを格納したタイミングと同じ(又は異なる)タイミングで、SJNLVOL6A2内のJNLを読み出し、そのJNLに含まれているライトデータを、反転後のSVOL(正確にはSVPOL)6A1に格納する。 Further, the first storage subsystem 100A reads the JNL in the SJNLVOL 6A2 at the same timing (or different) from the timing when the JNL is stored in the inverted SJNLVOL 6A2, and the write data included in the JNL is read The data is stored in SVOL (specifically, SVPOL) 6A1.
以上の流れにより、反転後のPVOL6B2を含んだVOLグループでは、反転後のPVOL6B2から反転後のSVOL6A1にかけて、ライトデータの複製が行われる。なお、コピー反転処理が行われていない別のVOLグループでは、図21A及び図21Bに示すように、通常時と同様の処理が行われる。 With the above flow, in the VOL group including the inverted PVOL 6B2, the write data is duplicated from the inverted PVOL 6B2 to the inverted SVOL 6A1. In another VOL group that has not been subjected to the copy inversion process, the same process as in the normal state is performed as shown in FIGS. 21A and 21B.
以上、この第一実施例では、複製スタートVOLを有する第一記憶サブシステム100Aに接続された第一ホスト端末180Aで障害が発生した場合、第一記憶サブシステム100Aのパス管理データ500Aと、第二記憶サブシステム100Bのパス管理データ500Bとに基づいて、複製スタートVOL6A1に対応付けられたJNLVOL6A2と、複製ゴールVOL6B2に対応付けられたJNLVOL6B1とのVOL属性が反転され、且つ、それに応じて、複製スタートVOL6A1と複製ゴールVOL6B2とのVOL属性も反転される。この処理により、複製方向が反転される。そして、その際、反転前のPJNLVOLについてのJNL生成更新番号と、反転前のSJNLVOLについてのJNL複製更新番号及びリストア更新番号とが一致するまで、PJNLVOL6A2からSJNLVOL6B1へのJNL複製処理と、SJNLVOL6B1からSVOL6B2へのリストア処理とが繰り返されて、反転前の複製スタートVOLの内容と、反転前の複製ゴールVOLの内容とが同一にされる。このように、第一実施例では、第一ホスト端末180Aで障害が発生した場合には、PVOL6A1を含んだ二つのVOLグループ16、16のうちのいずれかのVOLグループの複製方向が自動的に反転されて、信頼性の高い冗長性のある複製処理が維持される。 As described above, in the first embodiment, when a failure occurs in the first host terminal 180A connected to the first storage subsystem 100A having the replication start VOL, the path management data 500A of the first storage subsystem 100A, and the first Based on the path management data 500B of the secondary storage subsystem 100B, the VOL attributes of the JNLVOL 6A2 associated with the replication start VOL 6A1 and the JNLVOL 6B1 associated with the replication goal VOL 6B2 are inverted, and the replication is performed accordingly. The VOL attributes of the start VOL 6A1 and the replication goal VOL 6B2 are also inverted. By this process, the duplication direction is reversed. At that time, until the JNL generation update number for the PJNLVOL before the inversion matches the JNL replication update number and the restore update number for the SJNLVOL before the inversion, the JNL replication processing from the PJNLVOL6A2 to the SJNLVOL6B1, and the SJNLVOL6B1 to SVOL The contents of the replication start VOL before inversion and the contents of the replication goal VOL before inversion are made the same. As described above, in the first embodiment, when a failure occurs in the first host terminal 180A, the replication direction of one of the two VOL groups 16 and 16 including the PVOL 6A1 is automatically set. Inverted to maintain a reliable and redundant replication process.
以上が、第一実施例についての説明である。この第一実施例を抽象的に説明すると、以下の通りである。すなわち、第一記憶サブシステム100Aが、第一記憶デバイス6A1と、一以上の第二記憶デバイス6A2、6A3とを備え、第二記憶サブシステム100Bが、第三記憶デバイス6B1と、第四記憶デバイス6B2とを備え、第三記憶サブシステム100Cが、第五記憶デバイス6C1と、第六記憶デバイス6C2とを備える。第一記憶サブシステム100Aは、第一記憶デバイス6A1の更新順序を表す更新番号と、第一記憶デバイス6A1に格納されるライトデータとを含んだデータセットを生成し、一以上の第二記憶デバイス6A2、6A3に格納し、そのデータセットを、第二及び第三記憶サブシステム100B、100Cに送信する。第二及び第三記憶サブシステム100B、100Cの各々は、受信したデータセットを第三又は第五記憶デバイス6B1、6C1に格納し、第三又は第五記憶デバイス6B1、6C1から、更新番号に従ってデータセットを読み出し、そのデータセット内のライトデータを、第四又は第六記憶デバイス6B2、6C2に格納する。 The above is the description of the first embodiment. An abstract description of the first embodiment is as follows. That is, the first storage subsystem 100A includes a first storage device 6A1 and one or more second storage devices 6A2 and 6A3, and the second storage subsystem 100B includes a third storage device 6B1 and a fourth storage device. The third storage subsystem 100C includes a fifth storage device 6C1 and a sixth storage device 6C2. The first storage subsystem 100A generates a data set including an update number indicating the update order of the first storage device 6A1 and the write data stored in the first storage device 6A1, and one or more second storage devices 6A2 and 6A3, and the data set is transmitted to the second and third storage subsystems 100B and 100C. Each of the second and third storage subsystems 100B, 100C stores the received data set in the third or fifth storage device 6B1, 6C1, and the data from the third or fifth storage device 6B1, 6C1 according to the update number. The set is read, and the write data in the data set is stored in the fourth or sixth storage device 6B2, 6C2.
ところで、この第一実施例について、幾つかの変形例が考えられる。以下、それらの変形例について説明する。 By the way, several modifications can be considered for the first embodiment. Hereinafter, these modifications will be described.
(A)第一実施例の第一変形例。 (A) A first modification of the first embodiment.
図23は、図21Aに示したマルチターゲット方式に従う複製処理が行われている際に、この第一変形例において、第一ホスト端末180Aで障害が発生した後の複製処理の概要を示し、図24は、第一ホスト端末180Aで障害が発生した場合に行われる、マルチターゲット方式から別のマルチターゲット方式への切り替え処理の流れを示す。以下、上述した第一実施例との相違点を主に説明し、共通点については説明を省略或いは簡略する。 FIG. 23 shows an outline of replication processing after a failure occurs in the first host terminal 180A in this first modification example when replication processing according to the multi-target method shown in FIG. 21A is performed. Reference numeral 24 denotes a flow of switching processing from the multi-target method to another multi-target method performed when a failure occurs in the first host terminal 180A. Hereinafter, differences from the above-described first embodiment will be mainly described, and description of common points will be omitted or simplified.
この第一変形例で言う「別のマルチターゲット方式」では、一つのPVOLに対して複数のPJNLVOLが対応付けられるのではなく、図23に示すように、一つのPVOL6B2に対しては一つのPJNLVOL6B1が対応付けられ、一つのPJNLVOL6B1に対して複数のSJNLVOL6A2、6C1が対応付けられる。 In “another multi-target method” referred to in the first modification, a plurality of PJNLVOLs are not associated with one PVOL, but as shown in FIG. 23, one PJNLVOL 6B1 is associated with one PVOL6B2. Are associated with each other, and a plurality of SJNLVOLs 6A2 and 6C1 are associated with one PJNLVOL6B1.
この第一変形例では、図24に示すように、第一ホスト端末180Aで障害が発生した場合、S101〜S105と同様の処理が行われ、それに加えて、VOLグループ再構築処理(S106)が行われる。以下、それについて詳述する。 In this first modification, as shown in FIG. 24, when a failure occurs in the first host terminal 180A, the same processing as S101 to S105 is performed, and in addition, the VOL group restructuring processing (S106) is performed. Done. This will be described in detail below.
第一記憶サブシステム100Aは、コピー反転後のPJNLVOL6B1のVOLIDと、第二SJNLVOL6C1のVOLIDとをパス管理データ500Aから特定し、それら2つのVOLIDの対応付けを行うことのミラー形成指示、換言すれば、PJNLVOL6B1と第二SJNLVOL6C1のミラーペアを形成することの指示を、第二記憶サブシステム100B及び第三記憶サブシステム100Cに送信する。また、第一記憶サブシステム100Aは、PJNLVOL6A3のVOLIDと、SJNLVOL6C1のVOLIDとをパス管理データ500Aから特定し、それら2つのVOLIDの対応付けを解除することのミラー解除指示、換言すれば、PJNLVOL6A3とSJNLVOL6C1のミラーペアを解除することの指示を、第三記憶サブシステム100Cに送信する。 The first storage subsystem 100A identifies the VOLID of the PJNLVOL6B1 after copy inversion and the VOLID of the second SJNLVOL6C1 from the path management data 500A, and in other words, a mirror formation instruction for associating these two VOLIDs, in other words , An instruction to form a mirror pair of PJNLVOL6B1 and second SJNLVOL6C1 is transmitted to the second storage subsystem 100B and the third storage subsystem 100C. Further, the first storage subsystem 100A identifies the VOLID of PJNLVOL6A3 and the VOLID of SJNLVOL6C1 from the path management data 500A, and cancels the correspondence between these two VOLIDs, in other words, PJNLVOL6A3. An instruction to release the mirror pair of SJNLVOL6C1 is transmitted to the third storage subsystem 100C.
第二記憶サブシステム100Bは、第一記憶サブシステム100Aからのミラー形成指示に応答して、PJNLVOL6B1とSJNLVOL6C1とのミラーペアを表す情報をパス管理データ500Bに設定する。 In response to the mirror formation instruction from the first storage subsystem 100A, the second storage subsystem 100B sets information representing the mirror pair of the PJNLVOL 6B1 and SJNLVOL 6C1 in the path management data 500B.
第三記憶サブシステム100Cは、第一記憶サブシステム100Aからのミラー解除指示に応答して、PJNLVOL6A3とSJNLVOL6C1とのミラーペアを表す情報をパス管理データ500Bから除去する。また、第三記憶サブシステム100Cは、第一記憶サブシステム100Aからのミラー形成指示に応答して、PJNLVOL6B1とSJNLVOL6C1とのミラーペアを表す情報をパス管理データ500Cに設定する。 In response to the mirror cancellation instruction from the first storage subsystem 100A, the third storage subsystem 100C removes information representing the mirror pair of the PJNLVOL 6A3 and SJNLVOL 6C1 from the path management data 500B. Further, in response to the mirror formation instruction from the first storage subsystem 100A, the third storage subsystem 100C sets information representing the mirror pair of PJNLVOL 6B1 and SJNLVOL 6C1 in the path management data 500C.
以上の一連の処理により、複製スタートVOLをVOL6B2とし、中継JNLVOLを6B1及び6C1とし、複製ゴールVOLをVOL6C2とした新たなVOLグループが構築される。 Through the series of processes described above, a new VOL group is constructed in which the replication start VOL is set to VOL6B2, the relay JNLVOL is set to 6B1 and 6C1, and the replication goal VOL is set to VOL6C2.
その後、別のマルチターゲット方式に従う複製処理が実行される。 Thereafter, replication processing according to another multi-target method is executed.
例えば、第二ホスト端末180Bは、第二記憶サブシステム100BのS104の処理により使用可能通知を受信した後、ライトデータを生成し、生成したライトデータと、PJNLVOL6B2に対するライト命令とを、第二記憶サブシステム100Bに送信する。第二記憶サブシステム100Bは、受信したライトデータをPVOL6B2に格納し、且つ、そのライトデータと、第一記憶サブシステム100Aから通知されたJNL生成更新番号(例えば更新番号「16」)とを含んだJNLを生成し、そのJNLをPJNLVOL6B1に格納する。 For example, the second host terminal 180B generates the write data after receiving the usable notification by the process of S104 of the second storage subsystem 100B, and generates the generated write data and the write command for the PJNLVOL6B2 in the second storage. Transmit to subsystem 100B. The second storage subsystem 100B stores the received write data in the PVOL 6B2, and includes the write data and the JNL generation update number (for example, update number “16”) notified from the first storage subsystem 100A. JNL is generated, and the JNL is stored in PJNLVOL6B1.
第一記憶サブシステム100Aは、更新後のパス管理データ500Aに基づいて、PJNLVOL6B1に対するJNLリード命令を第二記憶サブシステム100Bに送信し、その命令に応答して、PJNLVOL6B1内のJNLを第二記憶サブシステム100Bから受信し、受信したJNLを、PJNLVOL6B1とミラーペアを構成するSJNLVOL6A2に格納する。また、第一記憶サブシステム100Aは、SJNLVOL6A2にJNLを格納したタイミングと同じ(又は異なる)タイミングで、SJNLVOL6A2内のJNLを読み出し、そのJNLに含まれているライトデータを、SVOL6A1に格納する。 Based on the updated path management data 500A, the first storage subsystem 100A transmits a JNL read command for the PJNLVOL 6B1 to the second storage subsystem 100B, and in response to the command, the JNL in the PJNLVOL 6B1 is stored in the second storage subsystem 100A. The received JNL is received from the subsystem 100B and stored in the SJNLVOL 6A2 constituting the mirror pair with the PJNLVOL 6B1. The first storage subsystem 100A reads the JNL in the SJNLVOL 6A2 at the same (or different) timing as the JNL is stored in the SJNLVOL 6A2, and stores the write data included in the JNL in the SVOL 6A1.
第三記憶サブシステム100Cは、更新後のパス管理データ500Cに基づいて、PJNLVOL6B1に対するJNLリード命令を第二記憶サブシステム100Bに送信し、その命令に応答して、PJNLVOL6B1内のJNLを第二記憶サブシステム100Bから受信し、受信したJNLを、PJNLVOL6B1とミラーペアを構成するSJNLVOL6C1に格納する。また、第三記憶サブシステム100Cは、SJNLVOL6C1にJNLを格納したタイミングと同じ(又は異なる)タイミングで、SJNLVOL6C1内のJNLを読み出し、そのJNLに含まれているライトデータを、SVOL6C2に格納する。 Based on the updated path management data 500C, the third storage subsystem 100C transmits a JNL read command for the PJNLVOL 6B1 to the second storage subsystem 100B, and in response to the command, stores the JNL in the PJNLVOL 6B1 in the second storage The received JNL is received from the subsystem 100B and stored in the SJNLVOL 6C1 that constitutes the mirror pair with the PJNLVOL 6B1. Further, the third storage subsystem 100C reads the JNL in the SJNLVOL 6C1 at the same timing (or different) from the timing at which the JNL is stored in the SJNLVOL 6C1, and stores the write data included in the JNL in the SVOL 6C2.
以上、この第一実施例の第一変形例では、第一ホスト端末180Aで障害が発生した場合には、PVOL6A1を含んだ二つのVOLグループ16、16のうちのいずれかのVOLグループの複製方向が自動的に反転され、且つ、反転後のPJNLVOLに対して複数のSJNLVOLが対応付けられることにより、別のマルチターゲット方式が構築され、複製処理が継続される。これにより、第一ホスト端末180Aで障害が発生しても、データ処理システム1全体がダウンすることが無いので、信頼性の高い複製処理が維持される。 As described above, in the first modification of the first embodiment, when a failure occurs in the first host terminal 180A, the replication direction of one of the two VOL groups 16 and 16 including the PVOL 6A1. Are automatically inverted, and a plurality of SJNLVOLs are associated with the inverted PJNLVOL, whereby another multi-target method is constructed and the duplication process is continued. Thereby, even if a failure occurs in the first host terminal 180A, the entire data processing system 1 does not go down, so that highly reliable replication processing is maintained.
(B)第一実施例の第二変形例。 (B) A second modification of the first embodiment.
図25は、図21Aに示したマルチターゲット方式に従う複製処理において、第一記憶サブシステム100Aで障害が発生した後の複製処理の概要を示し、図26は、第一記憶サブシステム100Aで障害が発生した場合に行われる処理の流れを示す。 FIG. 25 shows an overview of replication processing after a failure occurs in the first storage subsystem 100A in the replication processing according to the multi-target method shown in FIG. 21A. FIG. 26 shows a failure in the first storage subsystem 100A. The flow of processing performed when it occurs is shown.
第一記憶サブシステム100Aで障害が発生した場合(S110)、第二ホスト端末180Bに第一ホスト端末180Aの処理が引き継がれる(S111)。なお、第一記憶サブシステム100Aで障害が発生したことは、例えば、第二記憶サブシステム100B又は第三記憶サブシステム100Cが、第一記憶サブシステム100AにJNLリード命令を送信してから一定時間経過してもそれに応答してJNLを受信できない場合に、第一記憶サブシステム100Aで障害が発生したと判断することができる。この場合、その判断をした記憶サブシステムは、自分に接続されているホスト端末にその旨を通知し、その通知を受けたホスト端末が、第一ホスト端末100Aとの間でテイクオーバ処理を行っても良い。 When a failure occurs in the first storage subsystem 100A (S110), the processing of the first host terminal 180A is taken over by the second host terminal 180B (S111). Note that a failure has occurred in the first storage subsystem 100A, for example, a certain time after the second storage subsystem 100B or the third storage subsystem 100C sends a JNL read command to the first storage subsystem 100A. If JNL cannot be received in response to the elapse of time, it can be determined that a failure has occurred in the first storage subsystem 100A. In this case, the storage subsystem that made the determination notifies the host terminal connected to the storage subsystem to that effect, and the host terminal that received the notification performs a takeover process with the first host terminal 100A. Also good.
この後、VOLグループの再構築処理が行われる(S112)。以下、この処理の具体例を説明する。 Thereafter, a VOL group reconstruction process is performed (S112). Hereinafter, a specific example of this process will be described.
第一ホスト端末100Aから処理を引き継いだ第二ホスト端末100Bに接続されている第二記憶サブシステム100Bは、JNLVOL6B1の属性をSJNLVOLからPJNLVOLへ変更し、それに伴い、VOL6B2の属性をSVOLからPVOLに変更し、パス管理データ500Bに、PJNLVOL6B1とSJNLVOL6C1とによる新たなミラーペアに関する情報を追記する。また、第二記憶サブシステム100Bは、以下のペア相手変更指示、すなわち、SJNLVOL6C1のミラーペア相手を第二PJNLVOL6A3からPJNLVOL6B1に変更し、且つ、SVOL6C2のVOLペア相手をPVOL6A1からPVOL6B2に変更することのペア相手変更指示を、第三記憶サブシステム100Cに送信する。第三記憶サブシステム100Cは、第二記憶サブシステム100Bからのペア相手変更指示に応答して、パス管理データ500Cの内容を、SJNLVOL6C1のミラーペア相手がPJNLVOL6B1であり、且つ、SVOL6C2のVOLペア相手がPVOL6B2であることを表す内容に更新する。 The second storage subsystem 100B connected to the second host terminal 100B that has taken over the processing from the first host terminal 100A changes the attribute of JNLVOL6B1 from SJNLVOL to PJNLVOL, and accordingly the attribute of VOL6B2 is changed from SVOL to PVOL. The information about the new mirror pair by PJNLVOL6B1 and SJNLVOL6C1 is added to the path management data 500B. Further, the second storage subsystem 100B changes the following pair partner change instruction, that is, a pair of changing the mirror pair partner of SJNLVOL6C1 from the second PJNLVOL6A3 to PJNLVOL6B1, and changing the VOL pair partner of SVOL6C2 from PVOL6A1 to PVOL6B2. A partner change instruction is transmitted to the third storage subsystem 100C. In response to the pair partner change instruction from the second storage subsystem 100B, the third storage subsystem 100C changes the contents of the path management data 500C, the mirror pair partner of SJNLVOL6C1 is PJNLVOL6B1, and the VOL pair partner of SVOL6C2 The content is updated to indicate that it is PVOL6B2.
以上の一連の処理により、複製スタートVOLをVOL6B2とし、中継JNLVOLを6B1及び6C1とし、複製ゴールVOLをVOL6C2とした新たなVOLグループが構築される。この後、その新たなVOLグループに従う処理が実行される。例えば、第二記憶サブシステム100Bは、新たなVOLグループ構築後、PJNLVOL6B1に格納するJNLを初めて生成する場合、そのJNLには、PJNLVOL6B1中の一以上のJNLのうちの最新の更新番号の次の更新番号を含める。また、第二記憶サブシステム100Bは、新たなVOLグループ構築後、PJNLVOL6B1内のJNLを初めて読み出して第三記憶サブシステム100Cに送信する場合、第三記憶サブシステム100Cに指定された更新番号を有するJNLか、或いは、PJNLVOL6B1中の一以上のJNLのうち最も古い更新番号を有するJNLを読み出して、第三記憶サブシステム100Cに送信する。第三記憶サブシステム100Cは、その最も古い更新番号を有するJNLを受信したとき、その更新番号を含んだJNLがSJNLVOL6C1に存在する場合(又はそのJNLに基づくリストア処理が済んでいた場合)には、その受信したJNLを破棄する(上記の場合であるか否かは、例えば、パス管理データ500Cを参照することにより判別することができる)。また、第三記憶サブシステム100Cは、JNLを受信した場合、そのJNL中の更新番号が、SJNLVOL6C1中の一以上のJNLの最新の更新番号(例えば「7」)の次の番号(例えば「8」)である場合には、そのJNLをSJNLVOL6C1に格納する。また、第三記憶サブシステム100Cは、最も古い更新番号を有するJNLを受信した場合、その最も古い更新番号が、SJNLVOL6C1中の一以上のJNLの最新の更新番号(例えば「7」)の次の番号よりも大きい番号(例えば「9」)である場合には、複製処理を停止する。連続した更新番号順のリストア処理が行えないためである。 Through the series of processes described above, a new VOL group is constructed in which the replication start VOL is set to VOL6B2, the relay JNLVOL is set to 6B1 and 6C1, and the replication goal VOL is set to VOL6C2. Thereafter, processing according to the new VOL group is executed. For example, when the second storage subsystem 100B generates a JNL to be stored in the PJNLVOL6B1 for the first time after a new VOL group is constructed, the JNL includes the next update number of the one or more JNLs in the PJNLVOL6B1. Include update number. Further, when the second storage subsystem 100B first reads the JNL in the PJNLVOL6B1 and transmits it to the third storage subsystem 100C after constructing a new VOL group, the second storage subsystem 100B has the update number specified for the third storage subsystem 100C. The JNL or the JNL having the oldest update number among one or more JNLs in the PJNLVOL6B1 is read and transmitted to the third storage subsystem 100C. When the third storage subsystem 100C receives the JNL having the oldest update number, if the JNL including the update number exists in the SJNLVOL6C1 (or if the restore process based on the JNL has been completed) The received JNL is discarded (whether or not this is the case can be determined by referring to the path management data 500C, for example). Further, when the third storage subsystem 100C receives the JNL, the update number in the JNL is a number next to the latest update number (eg, “7”) of one or more JNLs in the SJNLVOL6C1 (eg, “8”). ”), The JNL is stored in SJNLVOL6C1. In addition, when the third storage subsystem 100C receives the JNL having the oldest update number, the oldest update number is the next update number (for example, “7”) of one or more JNLs in the SJNLVOL6C1. If the number is larger than the number (for example, “9”), the replication process is stopped. This is because restoration processing in the order of consecutive update numbers cannot be performed.
以上、この第一実施例の第二変形例では、第一記憶サブシステム100Aで障害が発生した場合には、第一記憶サブシステム100Aに備えられるVOLを除去した新たなVOLグループが再構築され、その新たなVOLグループに従って、複製処理が継続される。 As described above, in the second modification of the first embodiment, when a failure occurs in the first storage subsystem 100A, a new VOL group from which the VOL provided in the first storage subsystem 100A is removed is reconstructed. The replication process is continued in accordance with the new VOL group.
(C)第一実施例の第三変形例。 (C) A third modification of the first embodiment.
図27は、第一実施例の第三変形例に係るマルチターゲット方式に従う複製処理の概要を示す。 FIG. 27 shows an overview of the duplication processing according to the multi-target method according to the third modification of the first embodiment.
この第三変形例では、一つのPVOL6A1に対して複数のPJNLVOLが対応付けられるのではなく、図27に示すように、一つのPVOL6A1に対しては一つのPJNLVOL6A2が対応付けられ、一つのPJNLVOL6B1に対して複数のSJNLVOL6B1、6C1が対応付けられる。この場合、第二記憶サブシステム100Bも第三記憶サブシステム100Cも、PJNLVOL6A2に対するJNLリード命令を送信し、それにより、PJNLVOL6A2から読み出されたJNLを第一記憶サブシステム1000Aから受信する。 In this third modified example, a plurality of PJNLVOLs are not associated with one PVOL6A1, but as shown in FIG. 27, one PJNLVOL6A2 is associated with one PJNLVOL6B1, and one PJNLVOL6B1 is associated with one PJNLVOL6B1. A plurality of SJNLVOLs 6B1 and 6C1 are associated with each other. In this case, both the second storage subsystem 100B and the third storage subsystem 100C transmit a JNL read command to the PJNLVOL 6A2, thereby receiving the JNL read from the PJNLVOL 6A2 from the first storage subsystem 1000A.
この第三変形例によれば、第一記憶サブシステム100Aは、一つのオリジナルライトデータ2について複数のJNLを作成する必要がなくなるので、第一記憶サブシステム100Aの負荷を軽減することができる。また、この第三変形例によれば、一つのPVOL6A1に対して一つのPJNLVOL6A2を用意すれば良いので、記憶容量を削減することができる。 According to the third modification, the first storage subsystem 100A does not need to create a plurality of JNLs for one original write data 2, so the load on the first storage subsystem 100A can be reduced. Further, according to the third modification, it is sufficient to prepare one PJNLVOL 6A2 for one PVOL 6A1, so that the storage capacity can be reduced.
(D)第一実施例の第四変形例。 (D) Fourth modification of the first embodiment.
図28Aは、図21Aに示したマルチターゲット方式に従う複製処理において、第一記憶サブシステム100Aから第二記憶サブシステム100BへのJNLの複製を行うことができなくなった場合の例を示す。 FIG. 28A shows an example of a case where JNL replication from the first storage subsystem 100A to the second storage subsystem 100B can no longer be performed in the replication processing according to the multi-target method shown in FIG. 21A.
図21Aに示したマルチターゲット方式に従う複製処理において、第一記憶サブシステム100Aから第二記憶サブシステム100BへのJNLの複製を行うことができなくなる場合が有り得る。その場合としては、例えば、第一記憶サブシステム100Aと第二記憶サブシステム100Bとを互いに接続する接続パス200Aで障害が発生した場合や、或いは、図28Bに示すように、第二記憶サブシステム100Bの読み出し対象であるJNLがPJNLVOL6A2に存在しない場合などが考えられる。また、第二記憶サブシステム100Bの読み出し対象であるJNLがPJNLVOL6A2に存在しないという事態は、例えば、PJNLVOL6A2にJNLが満杯になった後、更新番号が最も古いJNLがそのPJNLVOL6A2から消去されるようになっている場合に生じ得る(これは、マルチホップ方式に従う複製処理においても同様である)。 In the replication process according to the multi-target method shown in FIG. 21A, there may be a case where JNL cannot be replicated from the first storage subsystem 100A to the second storage subsystem 100B. In this case, for example, when a failure occurs in the connection path 200A that connects the first storage subsystem 100A and the second storage subsystem 100B to each other, or as shown in FIG. 28B, the second storage subsystem A case where the JNL that is the read target of 100B does not exist in the PJNLVOL 6A2 can be considered. In addition, the situation where the JNL that is the read target of the second storage subsystem 100B does not exist in the PJNLVOL6A2 is such that, for example, the JNL with the oldest update number is deleted from the PJNLVOL6A2 after the JNL becomes full in the PJNLVOL6A2. (This also applies to the replication process according to the multi-hop method).
このような場合、図28に示すように、第一記憶サブシステム100Aは、第二記憶サブシステム100BへのJNLの複製を行うことを停止しても、第三記憶サブシステム100CへのJNLの複製は継続する。 In such a case, as shown in FIG. 28, even if the first storage subsystem 100A stops replicating the JNL to the second storage subsystem 100B, the JNL to the third storage subsystem 100C is stopped. Replication continues.
この第一実施例の第四変形例によれば、或る複製経路及び複製方向に従う複製処理が停止しても、別の複製経路及び複製方向に従う複製処理には影響がない。 According to the fourth modified example of the first embodiment, even if the replication process according to a certain replication path and the replication direction is stopped, the replication process according to another replication path and the replication direction is not affected.
(E)第一実施例の第五変形例。 (E) A fifth modification of the first embodiment.
図29は、第一実施例の第五変形例に係るマルチターゲット方式に従う複製処理の概要を示す。 FIG. 29 shows an overview of a replication process according to the multi-target method according to the fifth modification of the first embodiment.
第五変形例に従うマルチターゲット方式によれば、第一記憶サブシステム100Aにおいて、PVOL6A1に、第三PJNLVOL6A4が用意され、その第三PJNLVOL6A4に、第四記憶サブシステム100Dが備える第三SJNLVOL6D1が対応付けられる。第三SJNLVOL6D1には、第三SVOL6D2が対応付けられる。 According to the multi-target method according to the fifth modification, in the first storage subsystem 100A, the third PJNLVOL 6A4 is prepared in the PVOL 6A1, and the third SJNLVOL 6D1 provided in the fourth storage subsystem 100D is associated with the third PJNLVOL 6A4. It is done. The third SJNLVOL 6D1 is associated with the third SVOL 6D2.
本発明の一実施形態及び第一実施例に基づいて、どのPVOLにどのPJNLVOLを対応付けるか、どのPJNLVOLにどのSJNLVOLを対応付けてミラーペアを構成するか、どのSJNLVOLにどのSVOLを対応付けるかにより、記憶サブシステムの数に関わらず、マルチターゲット方式に従う複製処理を実現することができる。 Based on one embodiment and first example of the present invention, depending on which PJNLVOL is associated with which PVOL, which SJNLVOL is associated with which PJNLVOL, a mirror pair is configured, and which SVOL is associated with which SJNLVOL Regardless of the number of subsystems, replication processing according to the multi-target method can be realized.
次に、本発明の一実施形態の第二実施例、すなわち、マルチホップ方式について、詳細に説明する。 Next, the second example of the embodiment of the present invention, that is, the multi-hop method will be described in detail.
図30Aは、本発明の一実施形態の第二実施例に係るデータ処理システムで通常時に行われる、マルチホップ方式に従う複製処理の概要を示し、図30Bは、そのデータ処理システムにおいて第二ホスト端末で障害が発生した後の複製処理の概要を示し、図31は、第二ホスト端末で障害が発生した場合に行われる、マルチホップ方式からマルチターゲット方式への切り替え処理の流れを示す。 FIG. 30A shows an overview of replication processing according to the multi-hop method that is normally performed in the data processing system according to the second example of one embodiment of the present invention, and FIG. 30B shows the second host terminal in the data processing system. FIG. 31 shows a flow of a switching process from the multi-hop method to the multi-target method performed when a failure occurs in the second host terminal.
図30Aに示すように、通常時は(例えば、データ処理システム1において何の障害も発生していない場合は)、第二記憶サブシステム100BのPVOL6B2に書かれたオリジナルデータ2は、そのPVOL6B2を複製スタートVOLとし、且つ、第三記憶サブシステム100CのVOL6C2を複製ゴールVOLとして、一つの複製経路及び複製方向に沿って下流側に流れていく。具体的には、例えば、第二記憶サブシステム100Bは、PVOL6B2に書かれたオリジナルライトデータ2に基づいてJNL3を生成し、そのJNL3を、PJNLVOL6B1に格納する。第一記憶サブシステム100Aは、PJNLVOL6B1に対するJNLリード命令を送信し、それに応答してPJNLVOL6B1から読み出されたJNLを第二記憶サブシステム100Bから受信し、SJNLVOL6A2に格納する。また、例えば、第一記憶サブシステム100Aは、SJNLVOL6A2へのJNL3の格納と同じタイミングで、そのJNL3に含まれるライトデータ2をSPVOL6A1にリストアする。また、例えば、第一記憶サブシステム100Aは、そのライトデータ2のSPVOL6A1へのリストア処理と同じ(又は異なる)タイミングで、そのライトデータ2と、それに対応した更新番号とを含んだJNLを生成し、そのJNLをPJNLVOL6A3に格納する。すなわち、同一のサイト140Aでは、SJNLVOL6A2へのJNL3の複製と、そのJNL3内のライトデータ2のSPVOL6A1へのリストアと、リストアされたライトデータ2を含んだJNL3の生成及びPJNLVOL6A3への格納とが、実質的に同じタイミングで行われる(異なるタイミングで行われても良い)。PJNLVOL6A3に格納されたJNLは、第三記憶サブシステム100CからのJNLリード命令により読み出され、その読み出されたJNL中のライトデータ2は、SPVOL6A1とVOLペアを構成する複製ゴールVOL(SVOL)6C2にリストアされる。 As shown in FIG. 30A, in normal times (for example, when no failure has occurred in the data processing system 1), the original data 2 written in the PVOL 6B2 of the second storage subsystem 100B is stored in the PVOL 6B2. As a replication start VOL and VOL6C2 of the third storage subsystem 100C as a replication goal VOL, the data flows downstream along one replication path and replication direction. Specifically, for example, the second storage subsystem 100B generates JNL3 based on the original write data 2 written in PVOL6B2, and stores the JNL3 in PJNLVOL6B1. The first storage subsystem 100A transmits a JNL read command to the PJNLVOL 6B1, and in response, receives the JNL read from the PJNLVOL 6B1 from the second storage subsystem 100B and stores it in the SJNLVOL 6A2. For example, the first storage subsystem 100A restores the write data 2 included in the JNL3 to the SPVOL 6A1 at the same timing as the storage of the JNL3 in the SJNLVOL 6A2. Further, for example, the first storage subsystem 100A generates a JNL including the write data 2 and the update number corresponding thereto at the same (or different) timing as the restore processing of the write data 2 to the SPVOL 6A1. The JNL is stored in the PJNLVOL6A3. That is, in the same site 140A, the JNL3 replication to the SJNLVOL6A2, the restoration of the write data 2 in the JNL3 to the SPVOL6A1, the generation of the JNL3 including the restored write data 2 and the storage to the PJNLVOL6A3 are as follows: It is performed at substantially the same timing (may be performed at different timings). The JNL stored in the PJNLVOL 6A3 is read by the JNL read instruction from the third storage subsystem 100C, and the read data 2 in the read JNL is the replication goal VOL (SVOL) that constitutes the VOL pair with the SPVOL 6A1. Restored to 6C2.
この場合において、複製スタートVOLを備える第二記憶サブシステム100Bに接続された第二ホスト端末180Bで障害が発生した場合、マルチホップ方式に従う複製処理からマルチターゲット方式に従う複製処理に切り替えられる。以下、図30B及び図31を参照して、マルチホップ方式に従う複製処理からマルチターゲット方式に従う複製処理に切り替えられる場合に行われる処理流れを説明する。 In this case, when a failure occurs in the second host terminal 180B connected to the second storage subsystem 100B having the replication start VOL, the replication processing according to the multi-hop method is switched to the replication processing according to the multi-target method. Hereinafter, with reference to FIG. 30B and FIG. 31, a processing flow performed when switching from a replication process according to a multi-hop scheme to a replication process according to a multi-target scheme will be described.
第二ホスト端末180Bで障害が発生した場合(S200)、データ処理システム1においてそれが検出される。それの検出方法は、第一実施例と同様の方法を採用することができる。 When a failure occurs in the second host terminal 180B (S200), the data processing system 1 detects it. As the detection method, the same method as in the first embodiment can be adopted.
第二ホスト端末180Bで障害が発生した場合、第一ホスト端末180A(又は第三ホスト端末180C)に第二ホスト端末180Bの処理が引き継がれるテイクオーバ処理が実行される。処理の引継ぎ先となるホスト端末は、予め決められていても良いし、リストア処理の進行が最も遅い又は最も早いSVOLを有する記憶サブシステムに接続されたホスト端末であってもよい。以下、処理の引継ぎ先が第一ホスト端末180Aである場合を例に採って説明をする。 When a failure occurs in the second host terminal 180B, a takeover process is performed in which the process of the second host terminal 180B is taken over by the first host terminal 180A (or the third host terminal 180C). The host terminal that takes over the processing may be determined in advance, or may be a host terminal connected to the storage subsystem having the SVOL with the slowest or fastest progress of the restore process. Hereinafter, a case where the process takeover destination is the first host terminal 180A will be described as an example.
第二ホスト端末180Bで障害が発生した場合、第一ホスト端末180Aに第二ホスト端末180Bの処理が引き継がれる(S201)。また、その後、第一ホスト端末180Aは、第一記憶サブシステム100Aに、処理開始指示を送信する(S202)。 When a failure occurs in the second host terminal 180B, the processing of the second host terminal 180B is taken over by the first host terminal 180A (S201). Thereafter, the first host terminal 180A transmits a process start instruction to the first storage subsystem 100A (S202).
第一記憶サブシステム100Aは、処理開始指示に応答して、PJNLVOL6B1に対するJNLリード命令を第二記憶サブシステム100Bに送信し、PJNLVOL6B1からJNL3を読み出し、読み出されたJNL3をSJNLVOL6A2に格納する(S203A)。第一記憶サブシステム100Aは、PJNLVOL6B1に格納されている全てのJNL3を読み出し終えるまで、この処理を繰り返す。第二記憶サブシステム100Bは、ミラー管理サブデータ502BのJNL複製更新番号と同一の番号を含んだJNLをPJNLVOL6B1から探して第一記憶サブシステム100Aに送信し、且つ、そのJNL複製更新番号の値を1つ増やす。また、第二記憶サブシステム100Bは、ミラー管理サブデータ502BのJNL複製更新番号とJNL生成更新番号(例えば更新番号「16」)とが同一になった場合には、PJNLVOL6B1には複製対象のJNLは存在しない旨を第一記憶サブシステム100Aに通知し、それにより、第一記憶サブシステム100Aは、全てのJNLの複製が完了したことを認識してもよい。また、第二記憶サブシステム100Bは、PJNLVOL6B1からJNL3が読み出された場合、読み出されたJNL3をPJNLVOL6B1から消去しても良い。すなわち、PJNLVOL6B1から全てのJNLが読み出された場合、PJNLVOL6B1を空にしても良い。 In response to the processing start instruction, the first storage subsystem 100A transmits a JNL read command for the PJNLVOL6B1 to the second storage subsystem 100B, reads JNL3 from the PJNLVOL6B1, and stores the read JNL3 in the SJNLVOL6A2 (S203A ). The first storage subsystem 100A repeats this process until all the JNL3 stored in the PJNLVOL6B1 has been read. The second storage subsystem 100B searches the PJNLVOL6B1 for a JNL containing the same number as the JNL replication update number of the mirror management sub-data 502B, sends it to the first storage subsystem 100A, and the value of the JNL replication update number Increase by one. Further, when the JNL replication update number of the mirror management sub-data 502B and the JNL generation update number (for example, update number “16”) become the same, the second storage subsystem 100B stores the JNL to be replicated in the PJNLVOL6B1. May be notified to the first storage subsystem 100A, so that the first storage subsystem 100A may recognize that all of the JNL replication has been completed. Further, when the JNL3 is read from the PJNLVOL 6B1, the second storage subsystem 100B may erase the read JNL3 from the PJNLVOL 6B1. That is, when all JNLs are read from the PJNLVOL 6B1, the PJNLVOL 6B1 may be emptied.
第一記憶サブシステム100Aは、PJNLVOL6B1から読み出されたJNL3をSJNLVOL6A2に書き込むことと同じ(又は異なる)タイミングで、SJNLVOL6A2に格納されたJNL3に基づくSPVOL6A1へのリストア処理を実行する(S203B)。第一記憶サブシステム100Aは、SJNLVOL6A2に格納されている全てのJNL3を読み出し終えるまで、この処理を繰り返す。 The first storage subsystem 100A executes a restore process to SPVOL6A1 based on JNL3 stored in SJNLVOL6A2 at the same (or different) timing as writing JNL3 read from PJNLVOL6B1 to SJNLVOL6A2 (S203B). The first storage subsystem 100A repeats this process until all the JNL3 stored in the SJNLVOL 6A2 has been read.
以上のS203A及びS203Bの処理が行われることにより、SPVOL6A1の内容を、複製スタートVOL6B2の内容と完全に同じにすることができる。 By performing the processes of S203A and S203B described above, the contents of SPVOL6A1 can be made completely the same as the contents of replication start VOL6B2.
その後、第一記憶サブシステム100Aは、第一ホスト端末180Aに、使用可能通知を送信する(S205)。なお、第一記憶サブシステム100Aは、第一ホスト端末180AがVOL6A1に対するライト命令を送信できるよう、VOL6A1のVOL−IDを第一ホスト端末180Aに通知してもよい。 Thereafter, the first storage subsystem 100A transmits an availability notification to the first host terminal 180A (S205). The first storage subsystem 100A may notify the first host terminal 180A of the VOL-ID of the VOL 6A1 so that the first host terminal 180A can send a write command to the VOL 6A1.
以後、図30Bに示した、マルチターゲット方式に従う複製処理が行われる。具体的には、例えば、反転後のSVOL6B2を含んだVOLグループでは、以下の複製処理が行われる。 Thereafter, the duplication process according to the multi-target method shown in FIG. 30B is performed. Specifically, for example, in the VOL group including the inverted SVOL 6B2, the following replication process is performed.
すなわち、第一ホスト端末180Aは、第一記憶サブシステム100AのS204の処理により使用可能通知を受信した後、ライトデータを生成し、生成したライトデータと、反転後のPVOL6A1のVOL−IDを有するライト命令とを、第一記憶サブシステム100Aに送信する。その場合、図1A及び図21Aを参照して説明した、マルチターゲット方式に従う複製処理が実行される。 That is, the first host terminal 180A receives the usable notification by the process of S204 of the first storage subsystem 100A, generates write data, and has the generated write data and the VOL-ID of the inverted PVOL6A1. The write command is transmitted to the first storage subsystem 100A. In that case, the duplication processing according to the multi-target method described with reference to FIGS. 1A and 21A is executed.
以上、この第二実施例では、複製スタートVOLを有する第二記憶サブシステム100Bに接続された第二ホスト端末180Aで障害が発生した場合、第二記憶サブシステム100Bのパス管理データ500Bと、第一記憶サブシステム100Aのパス管理データ500Aとに基づいて、複製スタートVOL6B2に対応付けられたJNLVOL6B1と、SPVOL6A1に対応付けられたJNLVOL6A2とのVOL属性が反転され、且つ、それに応じて、複製スタートVOL6B2とSPVOL6A1とのVOL属性も反転される。この処理により、複製方向が反転される。そして、その際、反転前のPJNLVOLについてのJNL生成更新番号と、反転前のSJNLVOLについてのJNL複製更新番号及びリストア更新番号とが一致するまで、PJNLVOL6B1からSJNLVOL6A2へのJNL複製処理と、SJNLVOL6A2からSPVOL6A1へのリストア処理とが繰り返されて、反転前の複製スタートVOLの内容と、SPVOLの内容とが同一にされる。このように、第二実施例では、第二ホスト端末180Aで障害が発生した場合には、PVOL6B2を含んだVOLグループ16の複製方向が自動的に反転されて、信頼性の高い冗長性のある複製処理が維持される。 As described above, in the second embodiment, when a failure occurs in the second host terminal 180A connected to the second storage subsystem 100B having the replication start VOL, the path management data 500B of the second storage subsystem 100B, Based on the path management data 500A of the single storage subsystem 100A, the VOL attributes of the JNLVOL 6B1 associated with the replication start VOL 6B2 and the JNLVOL 6A2 associated with the SPVOL 6A1 are inverted, and accordingly, the replication start VOL 6B2 And the VOL attribute of SPVOL6A1 are also inverted. By this process, the duplication direction is reversed. At that time, until the JNL generation update number for the PJNLVOL before the inversion matches the JNL replication update number and the restore update number for the SJNLVOL before the inversion, the JNL replication processing from the PJNLVOL6B1 to the SJNLVOL6A2, and the SJNLVOL6A1 to SPVOL The contents of the replication start VOL before inversion and the contents of SPVOL are made the same. As described above, in the second embodiment, when a failure occurs in the second host terminal 180A, the replication direction of the VOL group 16 including the PVOL 6B2 is automatically reversed, so that there is a highly reliable redundancy. Replication processing is maintained.
以上が、第二実施例についての説明である。なお、この第二実施例について、幾つかの変形例が考えられる。以下、それらの変形例について説明する。 The above is the description of the second embodiment. Note that several variations of the second embodiment are possible. Hereinafter, these modifications will be described.
(A)第二実施例の第一変形例。 (A) A first modification of the second embodiment.
図32は、図30Aに示したマルチホップ方式に従う複製処理が行われている際に、この第一変形例において、第二ホスト端末180Bで障害が発生した後の複製処理の概要を示し、図33は、第二ホスト端末180Bで障害が発生した場合に行われる、マルチホップ方式から別のマルチホップ方式への切り替え処理の流れを示す。以下、上述した第二実施例との相違点を主に説明し、共通点については説明を省略或いは簡略する。 FIG. 32 shows an overview of replication processing after a failure has occurred in the second host terminal 180B in this first modification when replication processing according to the multi-hop method shown in FIG. 30A is being performed. 33 shows the flow of the switching process from the multi-hop method to another multi-hop method performed when a failure occurs in the second host terminal 180B. Hereinafter, differences from the above-described second embodiment will be mainly described, and description of common points will be omitted or simplified.
この第一変形例で言う「別のマルチホップ方式」では、複製経路は、図32に示すように、図30Aに例示した複製経路と同一であるが、複製方向が、図30Aに例示した複製方向と反対になる。換言すれば、各VOLグループの複製方向が反転することにより、複製スタートVOLと複製ゴールVOLが反転し、且つ、各VOLグループにおける各VOLの属性も反転する。 In the “another multi-hop scheme” referred to in the first modification, the replication route is the same as the replication route illustrated in FIG. 30A as shown in FIG. 32, but the replication direction is the replication example illustrated in FIG. 30A. It is opposite to the direction. In other words, when the replication direction of each VOL group is reversed, the replication start VOL and the replication goal VOL are reversed, and the attributes of each VOL in each VOL group are also reversed.
この第一変形例では、複製スタートVOLを有する第二記憶サブシステム100Bに接続された第二ホスト端末180Bで障害が発生した場合、複製ゴールVOLを有する第三記憶サブシステム100Cに接続された第三ホスト端末180Cに、第二ホスト端末180Bの処理が引き継がれる(S211)。また、その後、第三ホスト端末180Cは、第一記憶サブシステム100A及び第三記憶サブシステム100Cに、処理開始指示を送信する(S212)。 In the first modification, when a failure occurs in the second host terminal 180B connected to the second storage subsystem 100B having the replication start VOL, the first storage subsystem 100C connected to the third storage subsystem 100C having the replication goal VOL. The processing of the second host terminal 180B is taken over by the three host terminals 180C (S211). Thereafter, the third host terminal 180C transmits a processing start instruction to the first storage subsystem 100A and the third storage subsystem 100C (S212).
第一記憶サブシステム100Aに対する処理開始指示により、上述したS203A及びS203Bと同様の処理が行われる(S213A及びS213B)。それに加えて、第一記憶サブシステム100Aは、SJNLVOL6A2へのJNL3に含まれているライトデータ2をSPVOL6A1にリストアするタイミングと同じタイミングで、そのライトデータ2に基づくJNLを生成し、そのJNLをPJNLVOL6A3に格納する(S213C)。これにより、SJNLVOL6A2に格納されている一以上のJNL中の最新の更新番号と、PJNLVOL6A3に格納されている一以上のJNL中の最新の更新番号とが同じになる。 In response to the processing start instruction to the first storage subsystem 100A, the same processing as S203A and S203B described above is performed (S213A and S213B). In addition, the first storage subsystem 100A generates a JNL based on the write data 2 at the same timing as when the write data 2 included in the JNL3 to the SJNLVOL6A2 is restored to the SPVOL6A1, and generates the JNL as PJNLVOL6A3. (S213C). As a result, the latest update number in one or more JNLs stored in the SJNLVOL 6A2 and the latest update number in one or more JNLs stored in the PJNLVOL 6A3 are the same.
第三記憶サブシステム100Cは、処理開始指示に応答して、PJNLVOL6A3に対するJNLリード命令を第一記憶サブシステム100Aに送信し、PJNLVOL6A3からJNL3を読み出し、読み出されたJNL3をSJNLVOL6C1に格納する(S213D)。第三記憶サブシステム100Cは、PJNLVOL6A3に格納されている全てのJNL3を読み出し終えるまで、この処理を繰り返す。第一記憶サブシステム100Aは、ミラー管理サブデータ502AのJNL複製更新番号と同一の番号を含んだJNLをPJNLVOL6A3から探して第三記憶サブシステム100Cに送信し、且つ、そのJNL複製更新番号の値を1つ増やす。また、第一記憶サブシステム100Aは、ミラー管理サブデータ502AのJNL複製更新番号とJNL生成更新番号(例えば更新番号「16」)とが同一になった場合には、PJNLVOL6A3には複製対象のJNLは存在しない旨を第三記憶サブシステム100Cに通知し、それにより、第三記憶サブシステム100Cは、全てのJNLの複製が完了したことを認識してもよい。また、第一記憶サブシステム100Aは、PJNLVOL6A3からJNL3が読み出された場合、読み出されたJNL3をPJNLVOL6A3から消去しても良い。すなわち、PJNLVOL6A3から全てのJNLが読み出された場合、PJNLVOL6A3を空にしても良い。 In response to the processing start instruction, the third storage subsystem 100C transmits a JNL read command for the PJNLVOL6A3 to the first storage subsystem 100A, reads JNL3 from the PJNLVOL6A3, and stores the read JNL3 in the SJNLVOL6C1 (S213D ). The third storage subsystem 100C repeats this process until all the JNL3 stored in the PJNLVOL6A3 has been read. The first storage subsystem 100A searches the PJNLVOL6A3 for a JNL containing the same number as the JNL replication update number of the mirror management sub-data 502A, sends it to the third storage subsystem 100C, and the value of the JNL replication update number Increase by one. Further, when the JNL replication update number of the mirror management sub-data 502A and the JNL generation update number (for example, update number “16”) are the same, the first storage subsystem 100A stores the JNL to be replicated in the PJNLVOL6A3. May notify the third storage subsystem 100C that it does not exist, so that the third storage subsystem 100C may recognize that all JNL replications have been completed. Also, when JNL3 is read from PJNLVOL 6A3, first storage subsystem 100A may erase the read JNL3 from PJNLVOL 6A3. That is, when all the JNLs are read from the PJNLVOL 6A3, the PJNLVOL 6A3 may be emptied.
第三記憶サブシステム100Cは、PJNLVOL6A3から読み出されたJNL3をSJNLVOL6C1に書き込むことと同じ(又は異なる)タイミングで、SJNLVOL6C1に格納されたJNL3に基づくSVOL6C2へのリストア処理を実行する(S213E)。第三記憶サブシステム100Cは、SJNLVOL6C1に格納されている全てのJNL3を読み出し終えるまで、この処理を繰り返す。 The third storage subsystem 100C executes a restore process to SVOL6C2 based on JNL3 stored in SJNLVOL6C1 at the same (or different) timing as writing JNL3 read from PJNLVOL6A3 to SJNLVOL6C1 (S213E). The third storage subsystem 100C repeats this process until all the JNL3 stored in the SJNLVOL6C1 has been read.
以上のS213A乃至S213Eの処理が行われることにより、SVOL6C2の内容を、複製スタートVOL6B2の内容と完全に同じにすることができる。 By performing the processes of S213A to S213E described above, the contents of SVOL6C2 can be made completely the same as the contents of replication start VOL6B2.
第一記憶サブシステム100A及び第二記憶サブシステム100Bにより、上記のS204A及びS204Bと同様の処理が行われることにより、SJNLVOL6A2を含んだVOLグループにおける複製方向が反転される(S214A及びS214B)。また、第一記憶サブシステム100A(又は第二記憶サブシステム100B)は、SJNLVOL6A2を含んだVOLグループの反転に成功したか失敗したかを、第三記憶サブシステム100Cに通知する(S214C)。 The first storage subsystem 100A and the second storage subsystem 100B perform the same processing as the above S204A and S204B, so that the replication direction in the VOL group including the SJNLVOL6A2 is reversed (S214A and S214B). Further, the first storage subsystem 100A (or the second storage subsystem 100B) notifies the third storage subsystem 100C whether the reversal of the VOL group including the SJNLVOL 6A2 has succeeded or failed (S214C).
第三記憶サブシステム100Cは、SJNLVOL6C1を含んだVOLグループにおける複製方向を反転させるためのコピー反転処理を実行する(S214D)。具体的には、例えば、第三記憶サブシステム100Cは、SJNLVOL6C1が構成するミラーペアのミラーID「2」を含んだJNLコピー反転指示を生成し、且つ、パス管理データ500Cを参照して、そのSJNLVOL6C1とミラーペアを構成するPJNLVOLとそれを備える正記憶サブシステムを特定し、上記生成したJNLコピー反転指示を、特定された正記憶サブシステム(つまり第一記憶サブシステム)100Aに送信する。また、例えば、第三記憶サブシステム100Cは、パス管理データ500Cにおいて、ミラーID「2」に関連したPJNLVOL−ID、PVOL−ID及び正記憶サブシステムIDと、SJNLVOL−ID、SVOL−ID及び副記憶サブシステムIDとを入れ替える。また、例えば、第三記憶サブシステム100Cは、第一記憶サブシステム100Bのコピー反転処理によって受信したJNL生成更新番号を、反転後のPJNLVOL6C1に対応付けてパス管理データ500Aに設定する。 The third storage subsystem 100C executes a copy inversion process for inverting the replication direction in the VOL group including the SJNLVOL 6C1 (S214D). Specifically, for example, the third storage subsystem 100C generates a JNL copy inversion instruction including the mirror ID “2” of the mirror pair that the SJNLVOL 6C1 configures, and refers to the path management data 500C, and the SJNLVOL 6C1 The PJNLVOL constituting the mirror pair and the primary storage subsystem including the same are identified, and the generated JNL copy inversion instruction is transmitted to the identified primary storage subsystem (that is, the first storage subsystem) 100A. Further, for example, the third storage subsystem 100C includes the PJNLVOL-ID, PVOL-ID and primary storage subsystem ID related to the mirror ID “2”, the SJNLVOL-ID, SVOL-ID, and the secondary in the path management data 500C. Replace storage subsystem ID. Further, for example, the third storage subsystem 100C sets the JNL generation update number received by the copy inversion process of the first storage subsystem 100B in the path management data 500A in association with the inverted PJNLVOL6C1.
第三記憶サブシステム100CからJNLコピー反転指示を受信した第一記憶サブシステム100Aは、その指示に応答して、コピー反転処理を実行する(S214A)。具体的には、例えば、第一記憶サブシステム100Aは、パス管理データ500Aを参照し、PJNLVOL6A3に関するJNL生成更新番号(例えば更新番号「16」)を第三記憶サブシステム100Cに通知する。また、例えば、第一記憶サブシステム100Aは、パス管理データ500Aにおいて、ミラーID「2」に関連したPJNLVOL−ID、PVOL−ID及び正記憶サブシステムIDと、SJNLVOL−ID、SVOL−ID及び副記憶サブシステムIDとを入れ替える。また、第一記憶サブシステム100Aは、反転後のPJNLVOL6C1に対するJNLリード命令を第三記憶サブシステム100Cに送信し、それにより、PJNLVOL6C1内のJNLを読み出し、そのJNLを反転後のSJNLVOL6A3に格納してもよい。 The first storage subsystem 100A that has received the JNL copy inversion instruction from the third storage subsystem 100C executes a copy inversion process in response to the instruction (S214A). Specifically, for example, the first storage subsystem 100A refers to the path management data 500A and notifies the third storage subsystem 100C of a JNL generation update number (for example, update number “16”) related to the PJNLVOL6A3. Further, for example, the first storage subsystem 100A includes the PJNLVOL-ID, PVOL-ID and primary storage subsystem ID related to the mirror ID “2”, the SJNLVOL-ID, SVOL-ID, and the secondary in the path management data 500A. Replace storage subsystem ID. Also, the first storage subsystem 100A transmits a JNL read instruction for the inverted PJNLVOL6C1 to the third storage subsystem 100C, thereby reading the JNL in the PJNLVOL6C1, and storing the JNL in the inverted SJNLVOL6A3. Also good.
その後、第三記憶サブシステム100Cは、第一記憶サブシステム100Aから反転失敗を受信した場合、第三ホスト端末180Cに反転失敗を通知し、一方、第一記憶サブシステム100Aから反転成功を受信した場合、第三ホスト端末180Cに、使用可能通知を送信する(S215)。なお、後者の場合、第三記憶サブシステム100Cは、第三ホスト端末180CがVOL6C2に対するライト命令を送信できるよう、VOL6C2のVOL−IDを第三ホスト端末180Cに通知してもよい。 Thereafter, when the third storage subsystem 100C receives the reversal failure from the first storage subsystem 100A, it notifies the third host terminal 180C of the reversal failure, while receiving the reversal success from the first storage subsystem 100A. In this case, an availability notification is transmitted to the third host terminal 180C (S215). In the latter case, the third storage subsystem 100C may notify the VOL-C ID of the VOL6C2 to the third host terminal 180C so that the third host terminal 180C can send a write command to the VOL6C2.
第三ホスト端末180Cは、反転失敗を第三記憶サブシステム100Cから受信した場合、ライトデータの生成やライト命令の送信を行わない。 When the third host terminal 180C receives the inversion failure from the third storage subsystem 100C, the third host terminal 180C does not generate write data or transmit a write command.
一方、反転成功が第三ホスト端末180Cに送信された場合、図32に示した、新たなマルチホップ方式に従う複製処理が行われる。具体的には、例えば、反転後のPVOL6C2を含んだVOLグループでは、以下の複製処理が行われる。 On the other hand, when the success of inversion is transmitted to the third host terminal 180C, the duplication processing according to the new multi-hop method shown in FIG. 32 is performed. Specifically, for example, in the VOL group including the inverted PVOL6C2, the following replication process is performed.
すなわち、第三ホスト端末180Cは、ライトデータを生成し、生成したライトデータと、反転後のPVOL6C2のVOL−IDを有するライト命令とを、第三記憶サブシステム100Cに送信する。第三記憶サブシステム100Cは、受信したライトデータをPVOL6C2に格納し、且つ、そのライトデータと、パス管理データ500Cに設定されたJNL生成更新番号(PJNLVOL6C1に対応したJNL生成更新番号)とを含んだJNLを生成し、そのJNLをPJNLVOL6C1に格納する。第一記憶サブシステム100Aは、PJNLVOL6C1に対するJNLリード命令を第三記憶サブシステム100Cに送信し、それに応答して読み出されたJNLを、SJNLVOL6A3に格納する。また、第一記憶サブシステム100Aは、SJNLVOL6A3へのJNLに含まれたライトデータを、SPVOL6A1に格納し、且つ、そのライトデータと、パス管理データ500Aに設定されたJNL生成更新番号(PJNLVOL6A2に対応したJNL生成更新番号)とを含んだJNLを生成し、そのJNLをPJNLVOL6A2に格納する。以後、PJNLVOL6A2からSJNLVOL6B1へJNLが複製され、且つ、そのJNL内のライトデータがSVOL6B2にリストアされる。 That is, the third host terminal 180C generates write data, and transmits the generated write data and the write command having the VOL-ID of the inverted PVOL6C2 to the third storage subsystem 100C. The third storage subsystem 100C stores the received write data in the PVOL6C2, and includes the write data and the JNL generation update number (JNL generation update number corresponding to PJNLVOL6C1) set in the path management data 500C. JNL is generated, and the JNL is stored in PJNLVOL6C1. The first storage subsystem 100A transmits a JNL read command for the PJNLVOL 6C1 to the third storage subsystem 100C, and stores the JNL read in response thereto in the SJNLVOL 6A3. Further, the first storage subsystem 100A stores the write data included in the JNL to the SJNLVOL 6A3 in the SPVOL 6A1, and corresponds to the write data and the JNL generation update number (PJNLVOL 6A2) set in the path management data 500A. JNL generation update number) is generated, and the JNL is stored in PJNLVOL6A2. Thereafter, the JNL is copied from the PJNLVOL 6A2 to the SJNLVOL 6B1, and the write data in the JNL is restored to the SVOL 6B2.
以上、この第二実施例の第一変形例では、第二ホスト端末180Bで障害が発生した場合には、全ての記憶サブシステム間で複製方向が自動的に反転されることにより、新たなマルチホップ方式が自動的に構築され、その新たなマルチホップ方式に従う複製処理が行われる。これにより、第二ホスト端末180Bで障害が発生しても、データ処理システム1全体がダウンすることが無いので、信頼性の高い複製処理が維持される。なお、この第一変形例を読めば、後述する図36のマルチホップ方式でも、全ての記憶サブシステム間の複製方向(特にJNLの複製方向、換言すれば、JNLVOLの属性)を反転させることにより、新たなマルチホップ方式を構築することができる。 As described above, in the first modified example of the second embodiment, when a failure occurs in the second host terminal 180B, the replication direction is automatically reversed between all the storage subsystems, so that a new multi A hop method is automatically constructed, and replication processing according to the new multi-hop method is performed. Thereby, even if a failure occurs in the second host terminal 180B, the entire data processing system 1 does not go down, so that highly reliable replication processing is maintained. If the first modification is read, even in the multi-hop method of FIG. 36 described later, the replication direction between all the storage subsystems (in particular, the replication direction of JNL, in other words, the attribute of JNLVOL) is reversed. A new multi-hop scheme can be constructed.
(B)第二実施例の第二変形例。 (B) A second modification of the second embodiment.
図34は、図30Aに示したマルチホップ方式に従う複製処理において、第一記憶サブシステム100Aで障害が発生した後の複製処理の概要を示し、図35は、第一記憶サブシステム100Aで障害が発生した場合に行われる処理の流れを示す。 FIG. 34 shows an overview of replication processing after a failure occurs in the first storage subsystem 100A in the replication processing according to the multi-hop method shown in FIG. 30A, and FIG. 35 shows a failure in the first storage subsystem 100A. The flow of processing performed when it occurs is shown.
第一記憶サブシステム100Aで障害が発生した場合(S220)、そのことは、第一実施例の第二変形例と同様の方法で検出される。第一記憶サブシステム100Aで障害が発生したことが検出された場合、VOLグループの再構築処理が行われる(S221)。このS221の処理は、上述したS112(図26参照)と同様である。 When a failure occurs in the first storage subsystem 100A (S220), this is detected by the same method as in the second modification of the first embodiment. When it is detected that a failure has occurred in the first storage subsystem 100A, a VOL group reconstruction process is performed (S221). The process of S221 is the same as S112 (see FIG. 26) described above.
第二記憶サブシステム100Bは、パス管理データ500Bに、PJNLVOL6B1とSJNLVOL6C1とによる新たなミラーペアに関する情報を追記する。また、第二記憶サブシステム100Bは、SJNLVOL6C1のミラーペア相手を第二PJNLVOL6A3からPJNLVOL6B1に変更し、且つ、SVOL6C2のVOLペア相手をPVOL6A1からPVOL6B2に変更することのペア相手変更指示を、第三記憶サブシステム100Cに送信する。第三記憶サブシステム100Cは、第二記憶サブシステム100Bからのペア相手変更指示に応答して、パス管理データ500Cの内容を、SJNLVOL6C1のミラーペア相手がPJNLVOL6B1であり、且つ、SVOL6C2のVOLペア相手がPVOL6B2であることを表す内容に更新する。 The second storage subsystem 100B adds information related to the new mirror pair by the PJNLVOL 6B1 and the SJNLVOL 6C1 to the path management data 500B. In addition, the second storage subsystem 100B changes the mirror pair partner of SJNLVOL6C1 from the second PJNLVOL6A3 to PJNLVOL6B1, and the pair partner change instruction for changing the SVOL6C2 VOL pair partner from PVOL6A1 to PVOL6B2. Transmit to system 100C. In response to the pair partner change instruction from the second storage subsystem 100B, the third storage subsystem 100C changes the contents of the path management data 500C, the mirror pair partner of SJNLVOL6C1 is PJNLVOL6B1, and the VOL pair partner of SVOL6C2 The content is updated to indicate that it is PVOL6B2.
以上の一連の処理により、複製スタートVOLをVOL6B2とし、中継JNLVOLを6B1及び6C1とし、複製ゴールVOLをVOL6C2とした新たなVOLグループが構築される。この後、その新たなVOLグループに従う処理が実行される。例えば、第二記憶サブシステム100Bは、新たなVOLグループ構築後、PJNLVOL6B1に格納するJNLを初めて生成する場合、そのJNLには、PJNLVOL6B1中の一以上のJNLのうちの最新の更新番号の次の更新番号(例えば「16」)を含める。また、第二記憶サブシステム100Bは、新たなVOLグループ構築後、PJNLVOL6B1内のJNLを初めて読み出して第三記憶サブシステム100Cに送信する場合、第三記憶サブシステム100Cに指定された更新番号を有するJNLか、或いは、PJNLVOL6B1中の一以上のJNLのうち最も古い更新番号を有するJNLを読み出して、第三記憶サブシステム100Cに送信する。第三記憶サブシステム100Cは、その最も古い更新番号を有するJNLを受信した場合、その更新番号を含んだJNLがSJNLVOL6C1に存在する場合(又はそのJNLに基づくリストア処理が済んでいた場合)には、その受信したJNLを破棄する。また、第三記憶サブシステム100Cは、JNLを受信した場合、そのJNL中の更新番号が、SJNLVOL6C1中の一以上のJNLの最新の更新番号(例えば「7」)の次の番号(例えば「8」)である場合には、そのJNLをSJNLVOL6C1に格納する。また、第三記憶サブシステム100Cは、最も古い更新番号を有するJNLを受信した場合、その最も古い更新番号が、SJNLVOL6C1中の一以上のJNLの最新の更新番号(例えば「7」)の次の番号よりも大きい番号(例えば「9」)である場合には、複製処理を停止する。連続した更新番号順のリストア処理が行えないためである。 Through the series of processes described above, a new VOL group is constructed in which the replication start VOL is set to VOL6B2, the relay JNLVOL is set to 6B1 and 6C1, and the replication goal VOL is set to VOL6C2. Thereafter, processing according to the new VOL group is executed. For example, when the second storage subsystem 100B generates a JNL to be stored in the PJNLVOL6B1 for the first time after a new VOL group is constructed, the JNL includes the next update number of the one or more JNLs in the PJNLVOL6B1. An update number (eg, “16”) is included. Further, when the second storage subsystem 100B first reads the JNL in the PJNLVOL6B1 and transmits it to the third storage subsystem 100C after constructing a new VOL group, the second storage subsystem 100B has the update number specified for the third storage subsystem 100C. The JNL or the JNL having the oldest update number among one or more JNLs in the PJNLVOL6B1 is read and transmitted to the third storage subsystem 100C. When the third storage subsystem 100C receives the JNL having the oldest update number, if the JNL including the update number exists in the SJNLVOL6C1 (or if the restore process based on the JNL has been completed) The received JNL is discarded. Further, when the third storage subsystem 100C receives the JNL, the update number in the JNL is a number next to the latest update number (eg, “7”) of one or more JNLs in the SJNLVOL6C1 (eg, “8”). ”), The JNL is stored in SJNLVOL6C1. In addition, when the third storage subsystem 100C receives the JNL having the oldest update number, the oldest update number is the next update number (for example, “7”) of one or more JNLs in the SJNLVOL6C1. If the number is larger than the number (for example, “9”), the replication process is stopped. This is because restoration processing in the order of consecutive update numbers cannot be performed.
以上、この第二実施例の第二変形例では、第一記憶サブシステム100Aで障害が発生した場合には、第一記憶サブシステム100Aに備えられるVOLを除去した新たなVOLグループが再構築され、その新たなVOLグループに従って、複製処理が継続される。 As described above, in the second modification of the second embodiment, when a failure occurs in the first storage subsystem 100A, a new VOL group from which the VOL provided in the first storage subsystem 100A is removed is reconstructed. The replication process is continued in accordance with the new VOL group.
(C)第二実施例の第三変形例。 (C) A third modification of the second embodiment.
図36は、第二実施例の第三変形例に係るマルチホップ方式に従う複製処理の概要を示す。 FIG. 36 shows an overview of replication processing according to the multi-hop method according to the third modification of the second embodiment.
この第三変形例では、JNLVOL6A2が、SJNLVOLとPJNLVOLの両方の属性を兼ね備えたSPJNLVOLとなり、そのSPJNLVOL6A2に対して、SVOL6A1と、SJNLVOL6C1が対応付けられる。この場合、PJNLVOL6B1からSPJNLVOL6A2へのJNLに含まれているライトデータが、SVOL6A1にリストアされ、且つ、SPJNLVOL6A2へのJNLが、SJNLVOL6C1へ複製される。 In this third modification, JNLVOL6A2 becomes SPJNLVOL having both attributes of SJNLVOL and PJNLVOL, and SVOL6A1 and SJNLVOL6C1 are associated with SPJNLVOL6A2. In this case, the write data included in the JNL from the PJNLVOL 6B1 to the SPJNLVOL 6A2 is restored to the SVOL 6A1, and the JNL to the SPJNLVOL 6A2 is copied to the SJNLVOL 6C1.
この第三変形例によれば、第一記憶サブシステム100Aは、JNLを作成する必要がなくなるので、第一記憶サブシステム100Aの負荷を軽減することができる。また、この第三変形例によれば、JNLVOL6A3が不要になるので、記憶容量を削減することができる。 According to the third modification, the first storage subsystem 100A does not need to create a JNL, so the load on the first storage subsystem 100A can be reduced. In addition, according to the third modification, the JNLVOL 6A3 is not necessary, so that the storage capacity can be reduced.
以上が、この第二実施例の変形例についての説明である。なお、これまでの説明を読めば、記憶サブシステム100の数が四以上の場合のマルチホップ方式を構築することが可能である。例えば、図30Aについての説明を読めば、図37Aに例示するマルチホップ方式を構築することは可能である。また、図36についての説明を読めば、図37Bに例示するマルチホップ方式を構築することは可能である。また、図32及び図33についての説明を読めば、例えば第二ホスト端末180Bで障害が発生した場合に、図37Aに例示したマルチホップ方式から図38Aに例示する別のマルチホップ方式に切り替えるための仕組みを構築することが可能である。また、図34及び図35についての説明を読めば、例えば第一記憶サブシステム100Aで障害が発生した場合に、図37Aに例示したマルチホップ方式から図38Bに例示するまた別のマルチホップ方式に切り替えるための仕組みを構築することが可能である。 The above is the description of the modification of the second embodiment. If the description so far is read, it is possible to construct a multi-hop scheme when the number of storage subsystems 100 is four or more. For example, if the description about FIG. 30A is read, it is possible to construct | assemble the multihop system illustrated to FIG. 37A. If the explanation about FIG. 36 is read, it is possible to construct the multi-hop scheme exemplified in FIG. 37B. 32 and 33, in order to switch from the multi-hop method illustrated in FIG. 37A to another multi-hop method illustrated in FIG. 38A, for example, when a failure occurs in the second host terminal 180B. It is possible to construct a mechanism. 34 and FIG. 35, for example, when a failure occurs in the first storage subsystem 100A, the multi-hop method illustrated in FIG. 37A is changed to another multi-hop method illustrated in FIG. 38B. It is possible to build a mechanism for switching.
次に、本発明の一実施形態の第三実施例について説明する。この第三実施例は、上述した実施形態及び第一実施例〜第二実施例のうちの少なくとも一つを実現するための各種情報を設定するための方法例に関する。以下、その方法例が採用された場合に使用されるGUI(グラフィカルユーザインタフェース)画面について説明する。なお、以下に説明するGUI画面は、SVP281A〜281C或いは管理端末109にインストールされているソフトウェアによって提供されるGUI画面であるとする。また、以下の説明では、第一サイト1から第二サイト2にかけてのVOLグループを作成する場合を例に採るが、その説明は、別のサイトとまた別のサイトとにかけてのVOLグループを作成する場合にも適用することができる。 Next, a third example of one embodiment of the present invention will be described. The third example relates to a method example for setting various information for realizing at least one of the above-described embodiment and the first to second examples. Hereinafter, a GUI (graphical user interface) screen used when the method example is adopted will be described. Note that the GUI screen described below is a GUI screen provided by software installed in the SVPs 281A to 281C or the management terminal 109. In the following description, a case where a VOL group from the first site 1 to the second site 2 is created is taken as an example. However, in the description, a VOL group is created between another site and another site. It can also be applied to cases.
図39Aは、第一のGUI画面の一例である。 FIG. 39A is an example of a first GUI screen.
この第一のGUI画面は、ペアとなるVOLの指定や、ペアの状態の確認を行うための画面である。この第一のGUI画面において、参照番号5001が指すメニュー「Paircreate」が選択された場合、以下の第二のGUI画面が表示され、VOLグループの作成が可能となる。 This first GUI screen is a screen for specifying a paired VOL and confirming the status of the pair. When the menu “Paircreate” indicated by the reference number 5001 is selected on the first GUI screen, the following second GUI screen is displayed, and a VOL group can be created.
図39Bは、第二のGUI画面の一例である。 FIG. 39B is an example of a second GUI screen.
第二のGUI画面は、VOLグループに関する情報を入力するための画面である。例えば、参照番号5002で示す欄には、第一サイト840AのライトデータVOL6A1をPVOLとした場合のVOLペア相手に関する情報、例えば、第二サイト140BのライトデータVOL6B2に関する情報を入力することができる。また、参照番号5003で示す欄には、第一サイト840AのライトデータVOL6A1(PVOL)に対応付けられるJNLVOL(PJNLVOL)6A2に関する情報を入力することができる。また、参照番号5005で示す欄には、JNLVOL6A2とミラーペアを構成し、且つ、ライトデータVOL6B2に対応付けられるJNLVOL(SJNLVOL)6B1に関する情報を入力することができる。また、参照番号5004で示す欄には、そのミラーペアのミラーIDを入力することができる。また、参照番号5006で示す欄には、ペア相手VOL6B2及び6B1を備える第二記憶サブシステム100Bに関する情報を入力することができる。これらの情報が入力されて、「SET」ボタン5007が押されると、例えば管理端末109からSVP281A及び281Bを介して第一及び第二記憶サブシステム100A、100Bにコピー実行指示が入力され、それにより、例えば、図10に例示した初期コピー処理が実行される。また、入力された情報に基づいて、ボリューム管理データ400A及び400Bや、パス管理データ500A及び500Bの内容が更新される。 The second GUI screen is a screen for inputting information related to the VOL group. For example, information relating to the VOL pair partner when the write data VOL6A1 of the first site 840A is set to PVOL, for example, information relating to the write data VOL6B2 of the second site 140B, can be entered in the column indicated by the reference number 5002. In the column indicated by reference number 5003, information regarding JNLVOL (PJNLVOL) 6A2 associated with the write data VOL6A1 (PVOL) of the first site 840A can be input. Further, in a column indicated by reference number 5005, information related to JNLVOL (SJNLVOL) 6B1 that forms a mirror pair with JNLVOL 6A2 and is associated with write data VOL6B2 can be input. In the column indicated by reference number 5004, the mirror ID of the mirror pair can be entered. Further, in the column indicated by reference number 5006, information related to the second storage subsystem 100B including the pair partner VOLs 6B2 and 6B1 can be input. When these pieces of information are input and the “SET” button 5007 is pressed, for example, a copy execution instruction is input from the management terminal 109 to the first and second storage subsystems 100A and 100B via the SVPs 281A and 281B. For example, the initial copy process illustrated in FIG. 10 is executed. Further, the contents of the volume management data 400A and 400B and the path management data 500A and 500B are updated based on the input information.
以上、本発明の好適な実施形態及び幾つかの実施例を説明したが、本発明は、それらの実施形態及び実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 The preferred embodiments and some examples of the present invention have been described above, but the present invention is not limited to these embodiments and examples, and various modifications can be made without departing from the scope of the present invention. Needless to say.
例えば、記憶サブシステムの数が四以上になれば、マルチターゲット方式とマルチホップ方式の両方が採用されたデータ処理システムを構築することができる。 For example, if the number of storage subsystems is four or more, a data processing system employing both the multi-target method and the multi-hop method can be constructed.
また、例えば、第一実施例又は第二実施例の第二変形例等において、記憶サブシステム100は、或る別の記憶サブシステム100にJNLリード命令を送信することにより、その或る記憶サブシステム100から或るJNLを受信し、その受信したJNL中の更新番号が、自分が備えるSJNLVOL中における最新の更新番号の次の更新番号よりも大きな番号(又は、その最新の更新番号以下の番号)である場合、その受信したJNLを破棄し、また別の記憶サブシステム100にJNLリード命令(所望の更新番号の指定を含んでいても良い)を送信することにより、自分が備えるSJNLVOL中における最新の更新番号の次の更新番号(つまり所望の更新番号)を含んだJNLを受信することを試みても良い。また、その際、或る記憶サブシステム100は、より下流側に存在する別の記憶サブシステム100に、JNLリード命令を送信しても良い。 In addition, for example, in the second modification of the first embodiment or the second embodiment, the storage subsystem 100 transmits a JNL read command to a certain storage subsystem 100, so that the storage subsystem 100 A certain JNL is received from the system 100, and the received update number in the JNL is larger than the update number next to the latest update number in the SJNLVOL with which it is provided (or a number below the latest update number) ), The received JNL is discarded, and a JNL read command (which may include designation of a desired update number) is sent to another storage subsystem 100, so that the SNL An attempt may be made to receive a JNL including the update number next to the latest update number (that is, the desired update number). At that time, a certain storage subsystem 100 may transmit a JNL read command to another storage subsystem 100 existing further downstream.
また、例えば、データ処理システム1に備えられる各記憶サブシステム100の制御情報141には、自分及び/又は他の記憶サブシステム100が複製経路においてどの位置にいるかを表す位置データ(例えば、記憶サブシステムIDに対応付けられた位置データ)が含められていても良い。記憶サブシステム100は、一以上の位置データを参照することで、どの記憶サブシステム100が複製経路のどの位置にいるかを特定することができる。また、この場合、記憶サブシステム100は、例えば、自分が備えるSJNLVOL中における最新の更新番号の次の更新番号(つまり所望の更新番号)を含んだJNLを或る記憶サブシステム100から受信することに失敗した場合、自分が備える制御情報141を参照して、上記或る記憶サブシステム100よりも下流側に存在する別の記憶サブシステム(例えば、最下流側に存在する記憶サブシステム)100を特定し、特定された別の記憶サブシステム100から、所望の更新番号を含んだJNLを受信することを試みても良い。これは、例えば、JNLVOLにJNLが満杯になってしまったときに、古いJNLから削除されるようになっている場合においては、特に、マルチホップ方式で有効であると考えられる。なぜなら、マルチホップ方式では、上流側よりも下流側に存在する記憶サブシステム100の方が、より古い更新番号を含んだJNLを保持している可能性が高いためである。 Further, for example, the control information 141 of each storage subsystem 100 provided in the data processing system 1 includes position data (for example, storage subsystem) indicating where the storage subsystem 100 itself and / or other storage subsystem 100 is located in the replication path Position data associated with the system ID) may be included. The storage subsystem 100 can identify which storage subsystem 100 is in which position of the replication path by referring to one or more pieces of position data. In this case, for example, the storage subsystem 100 receives from the storage subsystem 100 a JNL including the update number next to the latest update number (that is, a desired update number) in the SJNLVOL that the storage subsystem 100 has. In the case of failure, the other storage subsystem (for example, the storage subsystem existing at the most downstream side) 100 existing downstream from the certain storage subsystem 100 is referred to by referring to the control information 141 provided by itself. An attempt may be made to receive a JNL containing the desired update number from another identified storage subsystem 100 that has been identified. This is considered to be particularly effective in the multi-hop method, for example, when the JNL is full and the JNL is deleted from the old JNL. This is because in the multi-hop method, the storage subsystem 100 existing on the downstream side rather than the upstream side is more likely to hold a JNL including an older update number.
また、例えば、ホスト端末又は記憶サブシステム等で障害が発生したために、複製経路及び複製方向の少なくとも一方が再構築される場合、記憶サブシステム100は、自分が備えるVOLに対応付ける新たな複製元VOL又は複製先VOLを探し、自分が備える制御情報141の内容を、そのVOLに新たな複製元VOL又は複製先VOLが対応付けられた内容に更新することができる。その場合、新たな複製元VOL又は複製先VOLは、以下の方法により決定することができる。例えば、制御情報141に、データ処理システム1における全ての複製経路及び複製方向に関する情報(例えば、複製方向に並んだ複数のVOLID及び記憶サブシステムID)が登録されている場合には、記憶サブシステムは、その情報を参照することにより、新たな複製元VOL又は複製先VOLを決定することができる。具体的には、例えば、第二記憶サブシステム100Bは、第一記憶サブシステム100Aで障害が発生した場合には、上記全ての複製経路及び複製方向に関する情報が登録された第二制御情報141Bを参照し、複製先としての属性を有するJNLVOL6C1を選択して、PJNLVOL6B1に対し、SJNLVOL6C1を対応付けても良い。 Further, for example, when a failure occurs in the host terminal or the storage subsystem, when at least one of the replication path and the replication direction is reconstructed, the storage subsystem 100 creates a new replication source VOL associated with the VOL provided by itself. Alternatively, it is possible to search for a replication destination VOL, and update the content of the control information 141 included therein to the content in which the new replication source VOL or the replication destination VOL is associated with the VOL. In that case, a new copy source VOL or copy destination VOL can be determined by the following method. For example, in the case where information related to all replication paths and replication directions in the data processing system 1 (for example, a plurality of VOLIDs and storage subsystem IDs arranged in the replication direction) in the data processing system 1 is registered in the control information 141, the storage subsystem Can determine a new copy source VOL or copy destination VOL by referring to the information. Specifically, for example, when a failure occurs in the first storage subsystem 100A, the second storage subsystem 100B uses the second control information 141B in which information on all the above-described replication paths and replication directions is registered. It is possible to refer to and select JNLVOL6C1 having an attribute as a copy destination, and associate SJNLVOL6C1 with PJNLVOL6B1.
また、例えば、記憶サブシステム100が、JNLリード命令(又はJNLライト命令)を送信するタイミングとしては、その記憶サブシステム100の負荷(例えばCPU使用率)が一定の負荷以下の場合などが考えられる。 Further, for example, the timing when the storage subsystem 100 transmits a JNL read command (or JNL write command) may be a case where the load (for example, CPU usage rate) of the storage subsystem 100 is below a certain load. .
また、例えば、第一サイト140Aを第二サイト140Bにテイクオーバすることができるが、そのテイクオーバが実行されるための条件として、例えば、以下の(A)及び(B)の条件を採用することができる。 In addition, for example, the first site 140A can be taken over to the second site 140B. For example, the following conditions (A) and (B) may be adopted as conditions for executing the takeover. it can.
(A)外部(構成)的条件
第一サイト140A及び第二サイト140Bのインフラが正常であること。また、テイクオーバ先である第二サイト140Bに、少なくとも一つのホスト端末が接続されていること。ホスト端末は、第二サイト140B(例えばそのうちの記憶サブシステム100B)にテイクオーバ指示を行うことができれば、どんなホスト端末でもよい。
(A) External (configuration) conditions The infrastructure of the first site 140A and the second site 140B is normal. In addition, at least one host terminal is connected to the second site 140B that is the takeover destination. The host terminal may be any host terminal as long as it can issue a takeover instruction to the second site 140B (for example, the storage subsystem 100B).
(B)内部(処理)的条件
テイクオーバを行う前の第一サイト140AにおけるPVOL内の更新状況(例えば、PVOL内に最後に書かれたライトデータに対応する更新番号)と、第二サイト140BにおけるSVOL内の更新状況(例えば、SVOL内に最後にリストアされたライトデータに対応する更新番号)が同じになった後にテイクオーバを行う。情報の整合(同一)性を保つ為ためである。なお、例えば、第一サイト140Aで古いJNLが廃棄されてしまっていて、第一サイト140AにおけるPVOL内の更新状況と第二サイト140BにおけるSVOL内の更新状況とを同一にできない場合には、第二サイト140Bの記憶サブシステム100Bは、テイクオーバを中止してもよいし、或いは、別のサイトの別の記憶サブシステムにアクセスし、第一サイト140Aで廃棄された古いJNLをその別の記憶サブシステムから取得して、第一サイト140Aと更新状況を同じにするようにしてもよい。
(B) Internal (Processing) Conditions The update status in the PVOL at the first site 140A before the takeover is performed (for example, the update number corresponding to the write data last written in the PVOL) and the second site 140B A takeover is performed after the update status in the SVOL (for example, the update number corresponding to the write data restored last in the SVOL) becomes the same. This is to maintain the consistency (identity) of information. For example, if the old JNL has been discarded at the first site 140A and the update status in the PVOL at the first site 140A and the update status in the SVOL at the second site 140B cannot be made the same, The storage subsystem 100B at the two site 140B may abort the takeover, or may access another storage subsystem at another site and replace the old JNL discarded at the first site 140A with the other storage subsystem. It may be acquired from the system so that the update status is the same as that of the first site 140A.
1…データ処理システム 12…ミラーペア 14…VOLペア 16…VOLグループ 100A、100B、100C…記憶サブシステム 101A、101C、101C…制御装置 110A、110B、110C…チャネルアダプタ(CHA) 120A、120B、120C…ディスクアダプタ(DKA) 141A、141B、141C…制御情報 6A、6B、6C…論理ボリューム DESCRIPTION OF SYMBOLS 1 ... Data processing system 12 ... Mirror pair 14 ... VOL pair 16 ... VOL group 100A, 100B, 100C ... Storage subsystem 101A, 101C, 101C ... Controller 110A, 110B, 110C ... Channel adapter (CHA) 120A, 120B, 120C ... Disk adapter (DKA) 141A, 141B, 141C ... Control information 6A, 6B, 6C ... Logical volume
Claims (10)
前記第一記憶サブシステムに接続され、ライトデータを送信する第二ホスト端末に接続された第二記憶サブシステムと、
前記第一記憶サブシステムに接続された第三記憶サブシステムと
を備え、
前記第一記憶サブシステムは、
第一複製元としての属性が割り当てられた第一記憶デバイスと、
前記第一記憶デバイスに対応付けられ、第二複製元としての属性が割り当てられた一以上の第二記憶デバイスと
を備え、
前記第一ホスト端末から受信したライトデータを前記第一記憶デバイスに格納し、
前記ライトデータが前記第一記憶デバイスに格納されることによって前記第一記憶デバイスが更新された順序を表す更新番号を発行し、前記発行した更新番号と前記ライトデータとを含んだデータセットを生成して、前記生成したデータセットを前記一以上の第二記憶デバイスに格納し、
前記一以上の第二記憶デバイスからデータセットを読み出し、前記読み出したデータセットを前記第二記憶サブシステムに送信し、
前記一以上の第二記憶デバイスからデータセットを読み出し、前記読み出したデータセットを前記第三記憶サブシステムに送信し、
前記第二記憶サブシステムは、
前記一以上の第二記憶デバイスのうちの少なくとも一つに対応付けられ、前記第二複製元のペアとなる第二複製先としての属性が割り当てられた第三記憶デバイスと、
前記第三記憶デバイスに対応付けられ、前記第一複製元のペアとなる第一複製先としての属性が割り当てられた第四記憶デバイスと
を備え、
前記データセットを前記第一記憶サブシステムから受信し、前記受信したデータセットを前記第三記憶デバイスに格納し、
前記第三記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号と、前記第二記憶サブシステムで管理され、前記第四記憶デバイスに最後に格納されたデータセットに含まれる更新番号と、に基づいて、前記第三記憶デバイス内から読み出し対象のデータセットを選択し、前記選択したデータセットを前記三記憶デバイスから更新番号順に読み出し、前記読み出したデータセット内のライトデータを前記第四記憶デバイスに格納し、
前記第三記憶サブシステムは、
前記一以上の第二記憶デバイスのうちの少なくとも一つに対応付けられ、前記第二複製先としての属性が割り当てられた第五記憶デバイスと、
前記第五記憶デバイスに対応付けられ、前記第一複製先としての属性が割り当てられた第六記憶デバイスと
を備え、
前記データセットを前記第一記憶サブシステムから受信し、前記受信したデータセットを前記第五記憶デバイスに格納し、
前記第五記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号と、前記第三記憶サブシステムで管理され、前記第六記憶デバイスに最後に格納されたデータセットに含まれる更新番号と、に基づいて、前記第五記憶デバイス内から読み出し対象のデータセットを選択し、前記選択したデータセットを前記第五記憶デバイスから読み出し、前記読み出したデータセット内のライトデータを前記第六記憶デバイスに格納し、
前記第一ホスト端末で障害が発生した場合、
前記第一記憶サブシステムは、前記第二記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号と、前記第二記憶サブシステムで管理され、前記第三記憶デバイスに最後に格納されたデータセットに含まれる更新番号と、に基づいて、前記一以上の第二記憶デバイス内の前記一以上のデータセットのうち、少なくとも前記第二記憶サブシステムに未送信のデータセットを読み出し、前記読み出した未送信のデータセットを前記第二記憶サブシステムに送信し、
前記第二記憶サブシステムは、
前記未送信のデータセットを前記第一記憶サブシステムから受信し、前記受信したデータセットを前記第三記憶デバイスに格納し、
前記第三記憶デバイス内の未だ読み出していない一以上のデータセットを、更新番号の順に読み出し、前記読み出したデータセット内のライトデータを前記四記憶デバイスに格納し、
前記データ処理システムが、前記第一記憶デバイスの属性である前記第一複製元と、前記第四記憶デバイスの属性である前記第一複製先とを入れ替え、且つ、前記一以上の第二記憶デバイスの属性である前記第二複製元と、前記第三記憶デバイスの属性である前記第二複製先とを入れ替え、
前記第二記憶サブシステムは、
前記第二ホスト端末からライトデータを受信し、前記受信したライトデータを前記第四記憶デバイスに格納し、
前記ライトデータが前記第四記憶デバイスに格納されることによって前記第四記憶デバイスが更新された順序を表す更新番号を発行し、前記発行した更新番号と前記ライトデータとを含んだデータセットを生成して、前記生成したデータセットを前記第三記憶デバイスに格納し、
前記第三記憶デバイスからデータセットを読み出し、前記読み出したデータセットを第一記憶サブシステムに送信し、
前記第一記憶サブシステムが、
前記データセットを前記第二記憶サブシステムから受信し、前記受信したデータセットを前記一以上の第二記憶デバイスに格納し、
前記一以上の第二記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号に基づいて、前記一以上の第二記憶デバイス内から読み出し対象のデータセットを選択し、前記選択したデータセットを前記一以上の第二記憶デバイスから読み出し、前記読み出したデータセット内のライトデータを前記第一記憶デバイスに格納する、
データ処理システム。 A first storage subsystem that receives the write data from a first host terminal that transmits write data that is data to be written, and stores the received write data;
A second storage subsystem connected to the first storage subsystem and connected to a second host terminal for transmitting write data;
A third storage subsystem connected to the first storage subsystem;
The first storage subsystem is
A first storage device to which an attribute as a first replication source is assigned;
One or more second storage devices that are associated with the first storage device and assigned an attribute as a second replication source,
Storing the write data received from the first host terminal in the first storage device;
When the write data is stored in the first storage device, an update number indicating the order in which the first storage device is updated is issued, and a data set including the issued update number and the write data is generated. And storing the generated data set in the one or more second storage devices,
Reading a data set from the one or more second storage devices, sending the read data set to the second storage subsystem;
Reading a data set from the one or more second storage devices, sending the read data set to the third storage subsystem;
The second storage subsystem is
A third storage device that is associated with at least one of the one or more second storage devices and is assigned an attribute as a second replication destination to be a pair of the second replication source;
A fourth storage device associated with the third storage device and assigned with an attribute as a first replication destination to be a pair of the first replication source,
Receiving the data set from the first storage subsystem, storing the received data set in the third storage device;
An update number included in each of the one or more data sets in the third storage device, and an update included in a data set managed last by the second storage subsystem and stored in the fourth storage device Based on the number, the data set to be read is selected from within the third storage device, the selected data set is read from the three storage devices in the order of update numbers, and the write data in the read data set is Stored in the fourth storage device,
The third storage subsystem is
A fifth storage device associated with at least one of the one or more second storage devices and assigned with an attribute as the second replication destination;
A sixth storage device associated with the fifth storage device and assigned with the attribute as the first replication destination,
Receiving the data set from the first storage subsystem, storing the received data set in the fifth storage device;
An update number included in one or more of the data sets in the fifth storage device, and an update included in the data set last managed in the sixth storage device, managed by the third storage subsystem A data set to be read is selected from the fifth storage device based on the number, the selected data set is read from the fifth storage device, and the write data in the read data set is read from the sixth storage device. Store it in a storage device,
When a failure occurs in the first host terminal,
The first storage subsystem is managed by the second storage subsystem and the update number included in each of the one or more data sets in the second storage device, and is finally stored in the third storage device. Read out an unsent data set to at least the second storage subsystem out of the one or more data sets in the one or more second storage devices based on the update number included in the set data set; Transmitting the read untransmitted data set to the second storage subsystem;
The second storage subsystem is
Receiving the untransmitted data set from the first storage subsystem; storing the received data set in the third storage device;
One or more data sets that have not yet been read in the third storage device are read in the order of update numbers, and the write data in the read data sets are stored in the four storage devices,
The data processing system replaces the first replication source that is the attribute of the first storage device and the first replication destination that is the attribute of the fourth storage device, and the one or more second storage devices Replacing the second replication source that is the attribute of the second and the second replication destination that is the attribute of the third storage device,
The second storage subsystem is
Receiving write data from the second host terminal, storing the received write data in the fourth storage device;
When the write data is stored in the fourth storage device, an update number indicating the order in which the fourth storage device is updated is issued, and a data set including the issued update number and the write data is generated. And storing the generated data set in the third storage device,
Reading a data set from the third storage device, sending the read data set to a first storage subsystem;
The first storage subsystem is
Receiving the data set from the second storage subsystem, storing the received data set in the one or more second storage devices;
Based on update numbers included in one or more of the data sets in the one or more second storage devices, a data set to be read is selected from the one or more second storage devices, and the selected Reading a data set from the one or more second storage devices, and storing write data in the read data set in the first storage device;
Data processing system.
前記第二記憶サブシステムに前記第三記憶サブシステムが接続されており、
前記第一記憶サブシステム又は前記第二記憶サブシステムは、前記一以上の第二記憶デバイス内の前記一以上のデータセットのうち、少なくとも前記第三記憶サブシステムに未送信のデータセットを読み出し、前記読み出した未送信のデータセットを前記第三記憶サブシステムに送信し、
前記第三記憶サブシステムは、
前記未送信のデータセットを前記第一記憶サブシステムから受信し、前記受信したデータセットを前記第五記憶デバイスに格納し、
前記第五記憶デバイス内の未だ読み出していない一以上のデータセットを、更新番号の順に読み出し、前記読み出したデータセット内のライトデータを前記第六記憶デバイスに格納し、
前記データ処理システムが、前記第二複製先と前記第二複製元の入れ替えにより前記第二複製元が割り当てられた前記第三記憶デバイスに、前記第二複製先が割り当てられている前記第五記憶デバイスを対応付け、
前記第二記憶サブシステムは、
前記第三記憶デバイスからデータセットを読み出し、前記読み出したデータセットを第三記憶サブシステムに送信し、
前記第三記憶サブシステムが、
前記データセットを前記第二記憶サブシステムから受信し、前記受信したデータセットを前記第五記憶デバイスに格納する、
データ処理システム。 The data processing system of claim 1, wherein
The third storage subsystem is connected to the second storage subsystem;
The first storage subsystem or the second storage subsystem reads a data set that has not been transmitted to at least the third storage subsystem among the one or more data sets in the one or more second storage devices, Sending the read unsent data set to the third storage subsystem;
The third storage subsystem is
Receiving the untransmitted data set from the first storage subsystem, storing the received data set in the fifth storage device;
One or more data sets that have not yet been read in the fifth storage device are read in the order of update numbers, the write data in the read data set is stored in the sixth storage device,
In the data processing system, the fifth storage in which the second replication destination is allocated to the third storage device to which the second replication source is allocated by exchanging the second replication destination and the second replication source. Map devices,
The second storage subsystem is
Reading a data set from the third storage device, sending the read data set to a third storage subsystem;
The third storage subsystem is
Receiving the data set from the second storage subsystem and storing the received data set in the fifth storage device;
Data processing system.
前記第二記憶サブシステムに前記第三記憶サブシステムが接続されており、
前記第二記憶サブシステムは、
前記第二ホスト端末からライトデータを受信し、前記第三記憶デバイスに前記生成されたデータセットを格納すると、
前記第三記憶サブシステムが、
前記第五記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号と、前記第四記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号と、に基づいて、前記第三記憶サブシステムに未送信のデータセットを前記第二記憶サブシステムから受信し、前記受信したデータセットを前記第五記憶デバイスに格納し、
前記第五記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号に基づいて、前記第五記憶デバイス内から読み出し対象のデータセットを選択し、前記選択したデータセットを前記第五記憶デバイスから読み出し、前記読み出したデータセット内のライトデータを前記第六記憶デバイスに格納する、
データ処理システム。 The data processing system of claim 1, wherein
The third storage subsystem is connected to the second storage subsystem;
The second storage subsystem is
Receiving write data from the second host terminal and storing the generated data set in the third storage device;
The third storage subsystem is
Based on an update number included in each of the one or more data sets in the fifth storage device, and an update number included in each of the one or more data sets in the fourth storage device, Receiving a data set not yet transmitted to the third storage subsystem from the second storage subsystem, storing the received data set in the fifth storage device;
Based on an update number included in each of the one or more data sets in the fifth storage device, a data set to be read is selected from within the fifth storage device, and the selected data set is selected from the fifth storage device. Read from the storage device, and store the write data in the read data set in the sixth storage device,
Data processing system.
前記第一記憶サブシステム及び前記第三記憶サブシステムは、前記第一記憶サブシステムと前記第二記憶サブシステムとの通信が中止しても、それとは独立して、前記第一記憶サブシステムと前記第三記憶サブシステムとの通信を維持する、
データ処理システム。 The data processing system of claim 1, wherein
The first storage subsystem and the third storage subsystem are independent of the first storage subsystem even if communication between the first storage subsystem and the second storage subsystem is interrupted. Maintaining communication with the third storage subsystem;
Data processing system.
前記第二記憶サブシステム及び前記第三記憶サブシステムの少なくとも一方が、前記第一記憶サブシステムにリード命令を送信し、
前記第一記憶サブシステムが、前記リード命令を受信し、前記リード命令に応答して、前記第二記憶サブシステム及び前記第三記憶サブシステムの少なくとも一方に、前記読み出したデータセットを送信する、
データ処理システム。 The data processing system of claim 1, wherein
At least one of the second storage subsystem and the third storage subsystem sends a read command to the first storage subsystem;
The first storage subsystem receives the read command and, in response to the read command, transmits the read data set to at least one of the second storage subsystem and the third storage subsystem;
Data processing system.
前記一以上の第二記憶デバイスには、前記第三記憶デバイスに対応付けられた第一の第二記憶デバイスと、前記第五記憶デバイスに対応付けられた第二の第二記憶デバイスとが含まれており、
前記第一記憶サブシステムは、前記生成したデータセットを、前記第一及び第二の両方の第二記憶デバイスに格納する、
データ処理システム。 The data processing system of claim 1, wherein
The one or more second storage devices include a first second storage device associated with the third storage device and a second second storage device associated with the fifth storage device. And
The first storage subsystem stores the generated data set in both the first and second second storage devices;
Data processing system.
前記第一乃至第三記憶サブシステムのうちの少なくとも一つが、前記第二複製元又は前記第二複製先が割り当てられた記憶デバイスに、空きの記憶領域が無くなった場合には、その記憶デバイスに格納されている一以上のデータセットのうち、更新番号が最も古いデータセットを消去する、
データ処理システム。 The data processing system of claim 1, wherein
If at least one of the first to third storage subsystems has no free storage area in the storage device to which the second replication source or the second replication destination is assigned, the storage device Delete one of the stored datasets with the oldest update number,
Data processing system.
前記第二記憶サブシステムが前記第三記憶サブシステムに接続されており、前記第一記憶サブシステムで障害が発生した場合、
前記第二記憶サブシステム及び前記第三記憶サブシステムの少なくとも一方が、前記第二複製元としての属性が割り当てられた前記第三記憶デバイスと、前記第二複製先としての属性が割り当てられた前記第五記憶デバイスとを対応付け、
前記第二記憶サブシステムが、前記第三記憶デバイスから読み出されたデータセットを、前記第三記憶サブシステムに送信し、
前記第三記憶サブシステムが、前記第二記憶サブシステムからデータセットを受信し、前記受信したデータセットを前記第五記憶デバイスに格納する、
データ処理システム。 The data processing system of claim 1, wherein
The second storage subsystem is connected to the third storage subsystem and a failure occurs in the first storage subsystem;
At least one of the second storage subsystem and the third storage subsystem is the third storage device to which the attribute as the second replication source is assigned, and the attribute to which the attribute as the second replication destination is assigned. Associate with the fifth storage device,
The second storage subsystem sends the data set read from the third storage device to the third storage subsystem;
The third storage subsystem receives a data set from the second storage subsystem and stores the received data set in the fifth storage device;
Data processing system.
前記一以上の第二記憶デバイスは、1つである、
記憶サブシステム。 The storage subsystem of claim 1, wherein
The one or more second storage devices are one.
Storage subsystem.
前記第一記憶サブシステムが、第一記憶デバイスと、一以上の第二記憶デバイスとを備えており、
前記第二記憶サブシステムが、第三記憶デバイスと、第四記憶デバイスとを備えており、
前記第三記憶サブシステムが、第五記憶デバイスと、第六記憶デバイスとを備えており、
前記第一記憶サブシステムは、
前記第一ホスト端末から送信されたライトデータを第一記憶デバイスに格納するステップと、
前記ライトデータが前記第一記憶デバイスに格納されることによって前記第一記憶デバイスが更新された順序を表す更新番号を発行するステップと、
前記発行した更新番号と前記ライトデータとを含んだデータセットを生成して、前記生成したデータセットを一以上の第二記憶デバイスに格納するステップと、
前記一以上の第二記憶デバイスからデータセットを読み出すステップと、
前記第二記憶サブシステムは、
前記読み出したデータセットを、前記第三記憶デバイスに格納するステップと、
前記第三記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号と、前記第二記憶サブシステムで管理され、前記第四記憶デバイスに最後に格納されたデータセットに含まれる更新番号と、に基づいて、前記第三記憶デバイスからデータセットを読み出し、前記読み出したデータセット内のライトデータを前記第四記憶デバイスに格納するステップと、
前記第三記憶サブシステムは、
前記読み出したデータセットを、前記第五記憶デバイスに格納するステップと、
前記第五記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号と、前記第三記憶サブシステムで管理され、前記第六記憶デバイスに最後に格納されたデータセットに含まれる更新番号と、に基づいて、前記第五記憶デバイスからデータセットを読み出し、前記読み出したデータセット内のライトデータを前記第六記憶デバイスに格納するステップと、
前記第一ホスト端末で障害が発生した場合、
前記第一記憶サブシステムは、前記第二記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号と、前記第二記憶サブシステムで管理され、前記第三記憶デバイスに最後に格納されたデータセットに含まれる更新番号と、に基づいて、前記一以上の第二記憶デバイス内の前記一以上のデータセットのうち、少なくとも前記第二記憶サブシステムに未送信のデータセットを読み出し、前記読み出した未送信のデータセットを前記第二記憶サブシステムに送信するステップと、
前記第二記憶サブシステムは、
前記未送信のデータセットを前記第一記憶サブシステムから受信し、前記受信したデータセットを前記第三記憶デバイスに格納するステップと、
前記第三記憶デバイス内の未だ読み出していない一以上のデータセットを、更新番号の順に読み出し、前記読み出したデータセット内のライトデータを前記四記憶デバイスに格納するステップと、
前記データ処理システムが、前記第一記憶デバイスの属性である前記第一複製元と、前記第四記憶デバイスの属性である前記第一複製先とを入れ替え、且つ、前記一以上の第二記憶デバイスの属性である前記第二複製元と、前記第三記憶デバイスの属性である前記第二複製先とを入れ替えるステップと、
前記第二記憶サブシステムは、
前記第二ホスト端末からライトデータを受信し、前記受信したライトデータを前記第四記憶デバイスに格納するステップと、
前記ライトデータが前記第四記憶デバイスに格納されることによって前記第四記憶デバイスが更新された順序を表す更新番号を発行し、前記発行した更新番号と前記ライトデータとを含んだデータセットを生成して、前記生成したデータセットを前記第三記憶デバイスに格納するステップと、
前記第三記憶デバイスからデータセットを読み出し、前記読み出したデータセットを第一記憶サブシステムに送信するステップと、
前記第一記憶サブシステムが、
前記データセットを前記第二記憶サブシステムから受信し、前記受信したデータセットを前記一以上の第二記憶デバイスに格納するステップと、
前記一以上の第二記憶デバイス内の一以上の前記データセットにそれぞれ含まれている更新番号に基づいて、前記一以上の第二記憶デバイス内から読み出し対象のデータセットを選択し、前記選択したデータセットを前記一以上の第二記憶デバイスから読み出し、前記読み出したデータセット内のライトデータを前記第一記憶デバイスに格納するステップと
を有するデータ処理方法。 A first storage subsystem that receives the write data from a first host terminal that transmits write data that is data to be written and stores the received write data; and a second storage connected to the first storage subsystem In a data processing method realized by a data processing system comprising a storage subsystem and a third storage subsystem connected to the first storage subsystem,
The first storage subsystem comprises a first storage device and one or more second storage devices;
The second storage subsystem comprises a third storage device and a fourth storage device;
The third storage subsystem comprises a fifth storage device and a sixth storage device;
The first storage subsystem is
Storing the write data transmitted from the first host terminal in a first storage device;
Issuing an update number representing an order in which the first storage device is updated by storing the write data in the first storage device;
Generating a data set including the issued update number and the write data, and storing the generated data set in one or more second storage devices;
Reading a data set from the one or more second storage devices;
The second storage subsystem is
Storing the read data set in the third storage device;
An update number included in each of the one or more data sets in the third storage device, and an update included in a data set managed last by the second storage subsystem and stored in the fourth storage device And reading the data set from the third storage device based on the number, and storing the write data in the read data set in the fourth storage device;
The third storage subsystem is
Storing the read data set in the fifth storage device;
An update number included in one or more of the data sets in the fifth storage device, and an update included in the data set last managed in the sixth storage device, managed by the third storage subsystem And reading the data set from the fifth storage device based on the number, and storing the write data in the read data set in the sixth storage device;
When a failure occurs in the first host terminal,
The first storage subsystem is managed by the second storage subsystem and the update number included in each of the one or more data sets in the second storage device, and is finally stored in the third storage device. Read out an unsent data set to at least the second storage subsystem out of the one or more data sets in the one or more second storage devices based on the update number included in the set data set; Transmitting the read untransmitted data set to the second storage subsystem;
The second storage subsystem is
Receiving the untransmitted data set from the first storage subsystem and storing the received data set in the third storage device;
Reading one or more data sets that have not yet been read in the third storage device in the order of update numbers, and storing the write data in the read data sets in the four storage devices;
The data processing system replaces the first replication source that is the attribute of the first storage device and the first replication destination that is the attribute of the fourth storage device, and the one or more second storage devices Replacing the second replication source that is the attribute of the second replication destination and the second replication destination that is the attribute of the third storage device;
The second storage subsystem is
Receiving write data from the second host terminal and storing the received write data in the fourth storage device;
When the write data is stored in the fourth storage device, an update number indicating the order in which the fourth storage device is updated is issued, and a data set including the issued update number and the write data is generated. Storing the generated data set in the third storage device;
Reading a data set from the third storage device and transmitting the read data set to a first storage subsystem;
The first storage subsystem is
Receiving the data set from the second storage subsystem and storing the received data set in the one or more second storage devices;
Based on update numbers included in one or more of the data sets in the one or more second storage devices, a data set to be read is selected from the one or more second storage devices, and the selected A data processing method comprising: reading a data set from the one or more second storage devices; and storing write data in the read data set in the first storage device.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004248256A JP4618777B2 (en) | 2004-08-27 | 2004-08-27 | Data processing system and storage subsystem provided in the data processing system |
US10/972,246 US7395265B2 (en) | 2004-08-27 | 2004-10-21 | Data processing system and storage subsystem provided in data processing system |
US11/303,764 US7421435B2 (en) | 2004-08-27 | 2005-12-15 | Data processing system and storage subsystem provided in data processing system |
US12/107,139 US8103630B2 (en) | 2004-08-27 | 2008-04-22 | Data processing system and storage subsystem provided in data processing system |
US13/327,613 US8332361B2 (en) | 2004-08-27 | 2011-12-15 | Data processing system and storage subsystem provided in data processing system |
US13/353,549 US20120131272A1 (en) | 2004-08-27 | 2012-01-19 | Data Processing System and Storage Subsystem Provided in Data Processing System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004248256A JP4618777B2 (en) | 2004-08-27 | 2004-08-27 | Data processing system and storage subsystem provided in the data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006065624A JP2006065624A (en) | 2006-03-09 |
JP4618777B2 true JP4618777B2 (en) | 2011-01-26 |
Family
ID=36112068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004248256A Expired - Fee Related JP4618777B2 (en) | 2004-08-27 | 2004-08-27 | Data processing system and storage subsystem provided in the data processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4618777B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271438B2 (en) | 2010-04-07 | 2012-09-18 | Hitachi, Ltd. | Asynchronous remote copy system and storage control method |
JP6354507B2 (en) | 2014-10-01 | 2018-07-11 | 富士通株式会社 | Storage control device and storage system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001518210A (en) * | 1996-05-31 | 2001-10-09 | イーエムシー コーポレイション | Method and apparatus for independent and simultaneous access to a common data set |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0128271B1 (en) * | 1994-02-22 | 1998-04-15 | 윌리암 티. 엘리스 | Remote data duplexing |
-
2004
- 2004-08-27 JP JP2004248256A patent/JP4618777B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001518210A (en) * | 1996-05-31 | 2001-10-09 | イーエムシー コーポレイション | Method and apparatus for independent and simultaneous access to a common data set |
Also Published As
Publication number | Publication date |
---|---|
JP2006065624A (en) | 2006-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8332361B2 (en) | Data processing system and storage subsystem provided in data processing system | |
JP4476683B2 (en) | Data processing system | |
JP4519563B2 (en) | Storage system and data processing system | |
JP4412989B2 (en) | Data processing system having a plurality of storage systems | |
JP4728031B2 (en) | System that performs remote copy pair migration | |
US6345368B1 (en) | Fault-tolerant access to storage arrays using active and quiescent storage controllers | |
US7802137B2 (en) | Journaling system switching to another logical volume to store subsequently received update history | |
JP4751117B2 (en) | Failover and data migration using data replication | |
JP4124348B2 (en) | Storage system | |
JP4598387B2 (en) | Storage system | |
JP5036158B2 (en) | Information processing system and control method of information processing system | |
US20080178041A1 (en) | Data processing system and copy processing method thereof | |
US7590809B2 (en) | Remote copy system | |
EP1873645A1 (en) | Storage system and data replication method | |
JP2005055948A (en) | Remote copying system | |
JP2007179342A (en) | Storage system and snapshot management method | |
JP2005309793A (en) | Data processing system | |
JP4519573B2 (en) | Data processing system and method | |
JP4618777B2 (en) | Data processing system and storage subsystem provided in the data processing system | |
US20240289045A1 (en) | Storage system and communication path control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100223 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100706 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100813 |
|
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: 20101025 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101025 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4618777 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |