JP4887893B2 - 計算機システム及び計算機システムの制御方法 - Google Patents

計算機システム及び計算機システムの制御方法 Download PDF

Info

Publication number
JP4887893B2
JP4887893B2 JP2006121541A JP2006121541A JP4887893B2 JP 4887893 B2 JP4887893 B2 JP 4887893B2 JP 2006121541 A JP2006121541 A JP 2006121541A JP 2006121541 A JP2006121541 A JP 2006121541A JP 4887893 B2 JP4887893 B2 JP 4887893B2
Authority
JP
Japan
Prior art keywords
storage system
group
journal
pair
data
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
Application number
JP2006121541A
Other languages
English (en)
Other versions
JP2007293652A5 (ja
JP2007293652A (ja
Inventor
友理 平岩
晋広 牧
剛行 今津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006121541A priority Critical patent/JP4887893B2/ja
Priority to US11/486,160 priority patent/US7512757B2/en
Publication of JP2007293652A publication Critical patent/JP2007293652A/ja
Priority to US12/366,685 priority patent/US7809887B2/en
Publication of JP2007293652A5 publication Critical patent/JP2007293652A5/ja
Priority to US12/877,217 priority patent/US7958306B2/en
Priority to US13/093,877 priority patent/US8108606B2/en
Priority to US13/334,123 priority patent/US8266377B2/en
Application granted granted Critical
Publication of JP4887893B2 publication Critical patent/JP4887893B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2066Optimisation of the communication load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Description

本発明は、計算機システムにおける構成管理あるいは制御処理に関し、特に、リモートコピーを利用した複数のストレージシステムを含む構成管理あるいは制御処理に関する。
データストレージ市場では、大量のデータを格納した記憶システムが災害等で破壊されてもデータを喪失しない、いわゆるディザスタリカバリシステムが要求されている。このような市場の要求に応えるべく、リモートコピー技術を利用してデータをバックアップする計算機システムが提供されている。これは、十分に離れた二つの地点に設置された記憶システムに同一のデータを格納するものである。一方の記憶システムのデータが更新されると、その更新は、リモートコピーによってもう一方の記憶システムに反映される。このため、二つの記憶システムのデータの同一性が確保される。
さらにデータの安全性を高めるため、相互に十分に離れた三つの地点に記憶システムを設置する計算機システムが特許文献1に開示されている。この計算機システムでは、通常の業務に使用される第1の記憶システムと、遠隔地の第2の記憶システムとの間のデータの同一性は、同期リモートコピーによって確保される。一方、第1の記憶システムと、遠隔地の第3の記憶システムとの間のデータの同一性は、非同期リモートコピーによって確保される。
災害等に起因する障害によって第1の記憶システムを業務に使用することができなくなった場合、第2の記憶システムが第1の記憶システムの業務を引き継ぐ。このとき、第2の記憶システムも使用することができない場合は、第3の記憶システムが第1の記憶システムの業務を引き継ぐ。
第1の記憶システムの業務を引き継いだ第2の記憶システムの運用が開始される前に、特許文献1では、第2の記憶システムと第3の記憶システムとの間のデータの同一性を確保する。第2の記憶システムの運用が開始された後は、第2の記憶システムのデータの更新をリモートコピーによって第3の記憶システムに反映させる。その結果、第2の記憶システムに障害が発生したときに、第3の記憶システムが第2の記憶システムの業務を引き継ぐことができる。
特許文献2記載のデータの更新方法では、この第2の記憶システムと第3の記憶システムとのデータの同一性の確保を行う時間を短縮する手段が開示されている。この技術は、第2の記憶システムと第3の記憶システムの同一性を確保する際に、相互の差異のデータをもう片方に反映することで、データの複製容量を削減し、結果として時間短縮を実現するものである。本明細書では、この特許文献2に示されるようなデータの同一性の確保技術を「デルタリシンク」と呼ぶ。
特開2003−122509号公報 特開2005−84953号公報
しかし、このようなデルタリシンクを行うには、特許文献2に示されるように、ジャーナル論理ボリュームの確保や、そのジャーナル論理ボリュームへの変更情報の格納、デルタリシンク時の変更情報の比較といったチェック処理など、従来のリモートコピーとは異なる様々な処理が必要になる。
更に、この第1の記憶システムが被災した後のチェック処理においてデルタリシンク不可との判定が出た場合、全てのデータが複製されることになり、特許文献2で解決を図った課題が再び発生することになっていた。即ち長時間のデータ複製により、第2の記憶システムを業務に使用することができなくなる。
上述の少なくとも一の課題を解決するために、本発明の一態様では、第1のホストコンピュータと通信可能に接続された第1の記憶システムと、第2のホストコンピュータ及び第1の記憶システムと通信可能に接続された第2の記憶システムと、第1及び第2の記憶システムと通信可能に接続された第3の記憶システムと、を備え、第1のホストコンピュータから第1の記憶システムに書き込まれたデータは、第1の記憶システムから第2の記憶システムと第3の記憶システムにそれぞれ転送される計算機システムにおいて、第2の記憶システムは、第3の記憶システムにデータを転送するための記憶領域を有する転送設定を予め設定しておくことを特徴とする。
さらに、別の態様として、前記第2の記憶システムは、前記第2の記憶システムと第3の記憶システム間のデータ転送の開始より前に、記憶領域及びデータ転送線及び転送設定情報のチェックを行い、その結果を前記転送設定に付随した情報としてホストコンピュータに報告することを特徴とする。
本発明の上述の態様によれば、第2の記憶システムと第3の記憶システムにおけるデータ転送設定を予めホストコンピュータから監視することができ、デルタリシンクできない状態を解消することができる。
実施形態を図面により詳細に説明する。
図1は、本発明の一実施形態の論理的な構成を示すブロック図である。本発明の一実施形態は、ホストコンピュータ180と記憶システム100Aを接続パス190により接続し、記憶システム100Aと記憶システム100Aに保存されたデータの複製を保持する記憶システム100Bと記憶システム100Cを接続パス200により接続した構成である。さらに、記憶システム100Bと記憶システム100Cは、接続パス200により接続されている。以下の説明において、複製対象のデータを保持する記憶システム100と複製データを保持する記憶システム100との区別を容易とするために、複製対象のデータを保持する記憶システム100を正記憶システム100A、複製データを保持する記憶システム100を副記憶システム100Bおよび副記憶システム100Cとよぶことがある。なお、記憶システムの記憶領域は、分割して管理されており、分割された記憶領域を論理ボリュームと呼ぶこととする。
なお、本実施の形態において、記憶システム100は特許文献2記載のデータ更新方法を実装しているものとする。すなわち、記憶システム100は、記憶システム100A又はホストコンピュータ180に障害が発生し、記憶システムCを用いて業務を再開する場合に、記憶システムBと記憶システムCの間をジャーナルの差分のみの転送により複製対象と複製データの対とする「デルタリシンク」を実現する処理プログラムを実装している。
論理ボリューム230の容量および記憶システム100内の物理的な格納位置(物理アドレス)は、記憶システム100に接続したコンピュータ等の保守端末もしくはホストコンピュータ180を用いて指定できる。各論理ボリューム230の物理アドレスは、後述するボリューム情報400に保存する。物理アドレスは、例えば、記憶システム100内の記憶装置150を識別する番号(記憶装置番号)と記憶装置内の記憶領域を一意に示す数値、例えば、記憶装置の記憶領域の先頭からの位置である。以下の説明では、物理アドレスは、記憶装置番号と記憶装置の記憶領域の先頭からの位置の組とする。以下の説明では、論理ボリュームは、1つの記憶装置の記憶領域であるが、論理アドレスと物理アドレスの変換により、1つの論理ボリュームを複数の記憶装置の記憶領域に対応づけることも可能である。
記憶システム100が保存しているデータの参照、更新は、論理ボリュームを識別する番号(論理ボリューム番号)と記憶領域を一意に示す数値、例えば、論理ボリュームの記憶領域の先頭からの位置により一意に指定することができ、以下、論理ボリューム番号と論理ボリュームの記憶領域の先頭からの位置(論理アドレス内位置)の組を論理アドレスとよぶ。
以下の説明において、複製対象のデータと複製データとの区別を容易とするために、複製対象の論理ボリューム230を正論理ボリューム、複製データである論理ボリューム230を副論理ボリュームとよぶこととする。一対の正論理ボリュームと副論理ボリュームをペアとよぶ。正論理ボリュームと副論理ボリュームの関係および状態等は後述するペア情報500に保存する。
論理ボリューム間のデータの更新順序を守るために、グループという管理単位を設ける。例えば、ホストコンピュータ180が、正論理ボリューム1のデータ1を更新し、その後、データ1を読み出し、データ1の数値を用いて、正論理ボリューム2のデータ2を更新する処理を行うとする。正論理ボリューム1から副論理ボリューム1へのデータ複製処理と、正論理ボリューム2から副論理ボリューム2へのデータ複製処理とが独立に行われる場合、副論理ボリューム1へのデータ1の複製処理より前に、副論理ボリューム2へのデータ2の複製処理が行われる場合がある。副論理ボリューム2へのデータ2の複製処理と副論理ボリューム1へのデータ1の複製処理との間に、故障等により副論理ボリューム1へのデータ1の複製処理が停止した場合、副論理ボリューム1と副論理ボリューム2のデータの整合性がなくなる。このような場合にも副論理ボリューム1と副論理ボリューム2のデータの整合性を保つために、データの更新順序を守る必要のある論理ボリュームは、同じグループに登録し、データの更新毎に、後述するグループ情報600の更新番号を割り当て、更新番号順に、副論理ボリュームに複製処理を行う。更新番号の代わりに更新時刻を用いてもよい。例えば、図1では、正記憶システム100Aの論理ボリューム(DATA1)と論理ボリューム(DATA2)がグループ1を構成する。さらに、論理ボリューム(DATA1)の複製である論理ボリューム(data1)と論理ボリューム(DATA2)の複製である論理ボリューム(data2)は、副記憶システム100C内でグループ1を構成する。同様に、論理ボリューム(DATA1)の複製である論理ボリューム(COPY1)と論理ボリューム(DATA2)の複製である論理ボリューム(COPY2)は、副記憶システム100B内でグループ1を構成する。
データ複製対象である正論理ボリューム(DATA1、DATA2)のデータを更新する場合、副論理ボリューム(COPY1、COPY2)のデータを更新するために、正記憶システム100Aは、後述するジャーナルを作成し、正記憶システム100A内の論理ボリュームに保存する。本実施例の説明では、グループ毎にジャーナルのみを保存する論理ボリューム(以下、ジャーナル論理ボリュームとよぶ)を割り当てる。図1では、グループ1のジャーナル論理ボリュームは、論理ボリューム(JNL1)である。
同様に、副記憶システム100Cの副論理ボリューム(data1、data2)のデータを更新する場合、副記憶システム100Cは、後述するジャーナルを作成し、副記憶システム100C内のジャーナル論理ボリュームに保存する。図1では、グループ1のジャーナル論理ボリュームは、論理ボリューム(Jnl1)である。
副記憶システム100Bのグループにもジャーナル論理ボリュームを割り当てる。ジャーナル論理ボリュームは、正記憶システム100Aから副記憶システム100Bに転送したジャーナルを保存するために使用する。ジャーナルをジャーナル論理ボリュームに保存することにより、例えば、副記憶システム100Bの負荷が高い場合、ジャーナル受信時に副論理ボリューム(COPY1、COPY2)のデータ更新を行わず、暫く後、副記憶システム100Bの負荷が低い時に、副論理ボリューム(COPY1、COPY2)のデータを更新することもできる。さらに、接続線200が複数ある場合、正記憶システム100Aから副記憶システム100Bへのジャーナルの転送を多重に行い、接続線200の転送能力を有効に利用することができる。更新順番のため、副記憶システム100Bに多くのジャーナルが溜まる可能性があるが、副論理ボリュームのデータ更新に直ぐに使用できないジャーナルは、ジャーナル論理ボリュームに格納することにより問題とならない。図1では、グループ1のジャーナル論理ボリュームは、論理ボリューム(JNL2)である。
ジャーナルは、ライトデータと更新情報とから構成する。更新情報は、ライトデータを管理するための情報で、ライト命令を受信した時刻(更新時刻)、グループ番号、後述するグループ情報600の更新番号、ライト命令の論理アドレス、ライトデータのデータサイズ、ライトデータを格納したジャーナル論理ボリュームの論理アドレス等からなる。更新情報は、ライト命令を受信した時刻と更新番号のどちらか一方のみを保持してもよい。ホストコンピュータ180からのライト命令内にライト命令の作成時刻が存在する場合は、ライト命令を受信した時刻の代わりに、当該ライト命令内の作成時刻を使用してもよい。図3と図21を用いて、ジャーナルの更新情報の例を説明する。更新情報310は、1999年3月17日の22時20分10秒に受信したライト命令を記憶する。当該ライト命令は、ライトデータを論理ボリューム番号1の記憶領域の先頭から700の位置に格納する命令であり、データサイズは300である。ジャーナルのライトデータは、論理ボリューム番号4(ジャーナル論理ボリューム)の記憶領域の先頭から1500の位置から格納されている。論理ボリューム番号1の論理ボリュームはグループ1に属し、グループ1のデータ複製開始から4番目のデータ更新であることがわかる。
ジャーナル論理ボリュームは、例えば、図3に示すように、更新情報を格納する記憶領域(更新情報領域)とライトデータを格納する記憶領域(ライトデータ領域)に分割して使用する。更新情報領域は、更新情報領域の先頭から、更新番号の順に格納し、更新情報領域の終端に達すると、更新情報領域の先頭から格納する。ライトデータ領域は、ライトデータ領域の先頭からライトデータを格納し、ライトデータ領域の終端に達すると、ライトデータ領域の先頭から格納する。更新情報領域およびライトデータ領域の比は、固定値でもよいし、保守端末あるいはホストコンピュータ180により設定可能としてもよい。これらの情報は、後述するポインタ情報700内に保持する。以下の説明では、ジャーナル論理ボリュームを更新情報とライトデータの領域に分割して、ジャーナル論理ボリュームを使用するが、論理ボリュームの先頭から、ジャーナル、つまり、更新情報とライトデータを連続に格納する方式を採用してもよい。
図1を用いて、正記憶システム100Aの正論理ボリューム(DATA1)へのデータ更新を副記憶システム100Cの副論理ボリューム(data1)および副記憶システム100Bの副論理ボリューム(COPY1)に反映する動作について概説する。
(1)正記憶システム100Aは、ホストコンピュータ180から正論理ボリューム(DATA1)内のデータに対するライト命令を受信すると、後述する命令受信処理210およびリードライト処理220によって、正論理ボリューム(DATA1)内のデータ更新と、ジャーナル論理ボリューム(JNL1)へのジャーナルの保存と、副記憶システム100Cに副記憶システム100C内の副論理ボリューム(data1)の対応するデータの更新(リモートライト命令)の命令を行う(図1の270)。
(2)副記憶システム100Cは、正記憶システム100Aからのリモートライト命令を受け、後述する命令受信処理210およびリードライト処理220によって、副論理ボリューム(data1)内の対応するデータの更新と、ジャーナル論理ボリューム(Jnl1)にジャーナルの保存を行う (図1の270)。
(3)正記憶システム100Aは、リモートライト命令の応答を受けた後、ホストコンピュータにライト命令の終了を報告する。従って、正記憶システム100A内の正論理ボリューム(DATA1)と副記憶システム100C内の副論理ボリューム(data1)のデータは完全に一致する。このようなデータ複製を同期のデータ複製とよぶ。
(4)副記憶システム100Bは、後述するジャーナルリード処理240によって、正記憶システム100Aからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリューム(JNL2)にジャーナルを保存する(図1の280)。
(5)正記憶システム100Aは、副記憶システム100Bからジャーナルリード命令を受信すると、後述する命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリューム(JNL1)からジャーナルを読み出し、副記憶システム100Bに送信する(図1の280)。
(6)副記憶システム100Bは、後述するリストア処理250およびリードライト処理220によって、ポインタ情報700を用いて、更新番号の昇順に、ジャーナル論理ボリューム(JNL2)からジャーナルを読み出し、副論理ボリューム(COPY1)のデータを更新する(図1の290)。従って、正記憶システム100A内の正論理ボリューム(DATA1)と副記憶システム100B内の副論理ボリューム(COPY1)のデータは、正論理ボリューム(DATA1)の更新の暫く後には、完全に一致する。このようなデータ複製を非同期のデータ複製とよぶ。
記憶システム100の内部構造を図2に示す。記憶システム100は、1つ以上のホストアダプタ110、1つ以上のディスクアダプタ120、1つ以上のキャッシュメモリ130、1つ以上の共有メモリ140、1つ以上の記憶装置150、1つ以上のコモンパス160、1つ以上の接続線170を備えて構成される。ホストアダプタ110、ディスクアダプタ120、キャッシュメモリ130、共有メモリ140はコモンパス160により相互間が接続されている。コモンパス160は、コモンパス160の障害時のために2重化されてもよい。ディスクアダプタ120と記憶装置150とは接続線170によって接続されている。また、図示していないが、記憶システム100の設定、監視、保守等を行うための保守端末が全てのホストアダプタ110とディスクアダプタ120とに専用線を用いて接続されている。
ホストアダプタ110は、ホストコンピュータ180とキャッシュメモリ130間のデータ転送を制御する。ホストアダプタ110は、接続線190および接続線200によりホストコンピュータ180もしくは、他の記憶システム100と接続される。ディスクアダプタ120は、キャッシュメモリ130と記憶装置150との間のデータ転送を制御する。キャッシュメモリ130は、ホストコンピュータ180から受信したデータあるいは記憶装置150から読み出したデータを一時的に保持するメモリである。共有メモリ140は、記憶システム100内の全てのホストアダプタ110とディスクアダプタ120とが共有するメモリである。
ボリューム情報400は、論理ボリュームを管理する情報であり、ボリューム状態、フォーマット形式、容量、同期ペア番号、非同期ペア番号、物理アドレスを保持する。図4にボリューム情報400の一例を示す。ボリューム情報400は、ホストアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば共有メモリ140に保存される。ボリューム状態は、“正常”、“正”、“副”、“異常”、“未使用”のいずれかを保持する。ボリューム状態が“正常”もしくは“正”である論理ボリューム230は、ホストコンピュータ180から正常にアクセス可能な論理ボリューム230であることを示す。ボリューム状態が“副”である論理ボリューム230は、ホストコンピュータ180からのアクセスを許可してもよい。ボリューム状態が“正”である論理ボリューム230は、データの複製が行われている論理ボリューム230であることを示す。ボリューム状態が“副”である論理ボリューム230は、複製に使用されている論理ボリューム230であることを示す。ボリューム状態が“異常”の論理ボリューム230は、障害により正常にアクセスできない論理ボリューム230であることを示す。障害とは、例えば、論理ボリューム230を保持する記憶装置150の故障である。ボリューム状態が“未使用”の論理ボリューム230は、使用していない論理ボリューム230であることを示す。同期ペア番号および非同期ペア番号は、ボリューム状態が“正”もしくは“副”の場合に有効であり、後述するペア情報500を特定するためのペア番号を保持する。保持するペア番号が存在しない場合は、無効値(例えば、“0”)を設定する。図4に示す例では、論理ボリューム1は、フォーマット形式がOPEN3、容量が3GB、記憶装置番号1の記憶装置150の記憶領域の先頭からデータが格納されており、アクセス可能であり、データの複製対象であることを示す。
図5にペア情報500の一例を示す。ペア情報500は、ペアを管理する情報であり、ペア状態、正記憶システム番号、正論理ボリューム番号、副記憶システム番号、副論理ボリューム番号、グループ番号、コピー済みアドレスを保持する。ペア情報500は、ホストアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば共有メモリ140に保存する。
ペア状態は、“正常”、“異常”、“未使用”,“コピー未”、“コピー中”、“デルタ待機”、“デルタ準備”、“デルタ異常”のいずれかを保持する。ペア状態が“正常”の場合は、正論理ボリューム230のデータ複製が正常に行われていることを示す。ペア状態が“異常”の場合は、障害により正論理ボリューム230の複製が行えないことを示す。障害とは、例えば、接続パス200の断線などである。ペア状態が“未使用”の場合は、当該ペア番号の情報は有効でないことを示す。ペア状態が“コピー中”の場合は、後述する初期コピー処理中であることを示す。ペア状態が“コピー未”の場合は、後述する初期コピー処理が未だ行われていないことを示す。ペア状態が“デルタ待機”の場合は、デルタリシンク可能な状態であることを示す。ペア状態が“デルタ準備”の場合は、デルタ待機に遷移する前の準備状態であることを示す。ペア状態が“デルタ異常”の場合は、デルタリシンクを行うためのジャーナル論理ボリューム等に障害が発生し、デルタリシンクや、デルタリシンクの準備が正常に行われていない状態を示す。正記憶システム番号は、正論理ボリューム230を保持する正記憶システム100Aを特定する番号を保持する。副記憶システム番号は、副論理ボリューム230を保持する副記憶システム100Bを特定する番号を保持する。グループ番号は、正記憶システムの場合は、正論理ボリュームが属するグループ番号を保持する。副記憶システムの場合は、副論理ボリュームが属するグループ番号を保持する。コピー済みアドレスは、後述する初期コピー処理にて説明する。図5のペア情報1は、データ複製対象が正記憶システムA内の正論理ボリューム1であり、データ複製先が副記憶システムB内の副論理ボリューム1であり、データ複製処理が行われていることを示す。
図6にグループ情報600の一例を示す。グループ情報600は、グループ状態、ペア集合、ジャーナル論理ボリューム番号、更新番号、複製種類、相手記憶システム番号、相手グループ番号、デルタ予約オプションを保持する。グループ情報600は、ホストアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば共有メモリ140に保存する。
グループ状態は、“正常”、“異常”、“未使用”、“停止”、“準備中”のいずれかを保持する。グループ状態が“正常”の場合は、ペア集合の少なくともひとつのペア状態が“正常”であることを示す。グループ状態が“異常”の場合は、ペア集合の全てのペア状態が“異常”であることを示す。グループ状態が“未使用”の場合は、当該グループ番号の情報は有効でないことを示す。正記憶システムの場合、グループ状態の“停止”は、ジャーナルの作成を一時的に行わないことを示す。これは、グループ状態が“正常”の場合に、ジャーナルの作成を一時的に停止したい場合に使用する。副記憶システムの場合、グループ状態の“停止”は、ジャーナルリード処理を一時的に行わないことを示す。これは、グループ状態が“正常”の場合に、正記憶システムからジャーナルをリードすることを一時的に停止したい場合に使用する。グループ状態が“準備中”の場合は、後述するデータ複製開始処理中であることを示す。正記憶システムの場合、ペア集合はグループ番号が示すグループに属する全ての正論理ボリュームのペア番号を保持する。副記憶システムの場合、ペア集合はグループ番号が示すグループに属する全ての副論理ボリュームのペア番号を保持する。ジャーナル論理ボリューム番号は、当該グループ番号のグループに属するジャーナル論理ボリューム番号を示す。当該グループ番号のグループに属するジャーナル論理ボリュームが存在しない場合は、無効値(例えば、“0”)を設定する。更新番号は、初期値は1であり、ジャーナルを作成した場合に変更する。更新番号は、ジャーナルの更新情報に記憶し、副記憶システム100Bにて、データの更新順を守るために使用する。
複製種類は、複製処理の種類を示す。本実施形態では、“同期”、“非同期”のいずれかを保持する。複製種類が“同期”の場合、副論理ボリュームの更新は、正論理ボリュームの更新処理のホストコンピュータへの書き込み完了報告前に行われる。従って、正論理ボリュームのデータと副論理ボリュームのデータはホストコンピュータからの書き込みの単位でみると完全完全に一致する。複製種類が“非同期”の場合、副論理ボリュームの更新は、正論理ボリュームの更新の後に行われ、必ずしもホストコンピュータへの書き込み完了報告前に行われるとは限らない。従って、正論理ボリュームのデータと副論理ボリュームのデータは、一致していない(副論理ボリュームのデータは正論理ボリュームの古いデータ)場合があり、暫く後、副論理ボリュームのデータは正論理ボリュームのデータと完全に一致する。上述した複製種類は、一例であり他の複製の種類でもよい。
正記憶システムの場合、相手記憶システム番号は、グループに属するペアの副論理ボリュームを保持する副記憶システム番号を保持する。副記憶システムの場合、相手記憶システム番号は、グループに属するペアの正論理ボリュームを保持する正記憶システム番号を保持する。正記憶システムの場合、相手グループ番号は、グループに属するペアの副論理ボリュームが属するグループ番号を保持する。副記憶システムの場合、相手グループ番号は、グループに属するペアの正論理ボリュームが属するグループ番号を保持する。
デルタ予約オプションは、当該グループがデルタリシンク用のグループとして登録されているかを示す情報を保持する。本実施の形態では、デルタ予約オプションが“0”の場合は通常のグループとして登録されており、“1”の場合はデルタリシンク用のグループとして登録されていることを表すものとする。例えば、図6のグループ情報1は、ペア情報1,2から、正論理ボリューム1,2と、ジャーナル論理ボリューム4から構成されており、通常のグループとして、正常にデータの複製処理(非同期)が行われていることを示す。
図7および図8にポインタ情報700の一例を示す。ポインタ情報700は、グループ毎に保持し、当該グループのジャーナル論理ボリュームを管理する情報であり、更新情報領域先頭アドレス、ライトデータ領域先頭アドレス、更新情報最新アドレス、更新情報最古アドレス、ライトデータ最新アドレス、ライトデータ最古アドレス、リード開始アドレス、リトライ開始アドレスを保持する。更新情報領域先頭アドレスは、ジャーナル論理ボリュームの更新情報を格納する記憶領域(更新情報領域)の先頭の論理アドレスを保持する。ライトデータ領域先頭アドレスは、ジャーナル論理ボリュームのライトデータを格納する記憶領域(ライトデータ領域)の先頭の論理アドレスを保持する。更新情報最新アドレスは、次にジャーナルを格納する場合に、更新情報の保存に使用する先頭の論理アドレスを保持する。更新情報最古アドレスは、最古の(更新番号が小さい)ジャーナルの更新情報を保存する先頭の論理アドレスを保持する。ライトデータ最新アドレスは、次にジャーナルを格納する場合に、ライトデータの保存に使用する先頭の論理アドレスを保持する。ライトデータ最古アドレスは、最古の(更新番号が小さい)ジャーナルのライトデータを保存する先頭の論理アドレスを保持する。リード開始アドレスとリトライ開始アドレスは、正記憶システム100Aのみで使用し、後述するジャーナルリード受信処理にて使用する。
図7および図8のポインタ情報700の例では、ジャーナルの更新情報を保存する領域(更新情報領域)は、論理ボリューム4の記憶領域の先頭から699の位置までであり、ジャーナルのライトデータを保存する領域(ライトデータ領域)は、論理ボリューム4の記憶領域の700の位置から2699の位置までである。ジャーナルの更新情報は、論理ボリューム4の記憶領域の200の位置から499の位置まで保存されており、次のジャーナルの更新情報は、論理ボリューム4の記憶領域の500の位置から保存する。ジャーナルのライトデータは論理ボリューム4の記憶領域の1300の位置から2199の位置まで保存されており、次のジャーナルのライトデータは、論理ボリューム4の記憶領域の2200の位置から保存する。
下記の説明では、1つのグループに1つのジャーナル論理ボリュームを割り当てる形態で説明しているが、1つのグループに複数のジャーナル論理ボリュームを割り当ててもよい。例えば、1つのグループに2つのジャーナル論理ボリュームを割り当て、ジャーナル論理ボリューム毎にポインタ情報700を設け、交互にジャーナルを格納する。これにより、ジャーナルの記憶装置150への書き込みが分散でき、性能の向上が見込める。さらに、ジャーナルのリード性能も向上する。別の例としては、1つのグループに2つのジャーナル論理ボリュームを割り当て、通常は、1つのジャーナル論理ボリュームのみを使用する。もう一方のジャーナル論理ボリュームは、使用しているジャーナル論理ボリュームの性能が低下した場合もしくは故障して使用できない場合に使用する。性能が低下する例は、ジャーナル論理ボリュームが、複数の記憶装置150から構成され、RAID方式でデータを保持しており、RAIDを構成する記憶装置150の一台が故障中の場合である。
なお、上述のボリューム情報400、ペア情報500、グループ情報600、及びポインタ情報700等は、共有メモリ140に格納されていることが好ましい。しかし、本実施例は、この場合に限られず、これらの情報を、キャッシュメモリ130、ホストアダプタ110、ディスクアダプタ120、その他記憶装置150に集中して格納または分散して格納することもよい。
次に、正記憶システム100Aから副記憶システム100Bおよび副記憶システム100Cに対して、データ複製を開始する手順(データ複製開始処理)を図9、図10を用いて説明する。
(1)グループ作成について説明する(ステップ900)。ホストコンピュータ180は、正記憶システム100Aのグループ情報600を参照し、グループ状態が“未使用”のグループ番号Aを取得する。同様に、ホストコンピュータ180は、副記憶システム100B(もしくは副記憶システム100C)のグループ番号Bを取得する。ホストコンピュータ180は、正記憶システム100Aに、グループ作成指示を行う。グループ作成指示は、指示対象グループ番号A、相手記憶システム番号B、相手グループ番号B、複製種類、デルタ予約オプションからなる。デルタ予約オプションとは、当該グループを通常のグループとして登録するか、デルタリシンク用のグループとして登録するかを指示するオプションである。本実施の形態では、デルタ予約オプションが“0”もしくは省略された場合は通常のグループとして登録し、“1”が記載された場合はデルタリシンク用のグループとして登録することを表すものとして説明を行う。このステップでの指示では、デルタ予約オプションは“0”である。
グループ作成指示を受けて、正記憶システム100Aは、グループ情報600を変更する。具体的には、正記憶システム100Aは、指示対象グループ番号Aのグループ情報600のグループ状態を“準備中”に、相手記憶システム番号を、指示された相手記憶システム番号Bに、相手グループ番号を、指示された相手グループ番号Bに、複製種類を指示された複製種類に、デルタ予約オプションは指示されたデルタ予約オプションに変更する。グループ情報600の更新番号を1(初期値)に設定する。さらに、正記憶システム100Aは、相手記憶システム番号Bの記憶システムに対して、グループ作成指示を行う。グループ作成指示の指示対象グループ番号は相手グループ番号B、相手記憶システム番号は正記憶システム100Aの記憶システム番号、相手グループ番号は指示対象グループ番号A、複製種類は指示された複製種類、デルタ予約オプションは、指示されたデルタ予約オプションとする。
(2)ペア登録について説明する(ステップ910)。ホストコンピュータ180は、、データ複製対象を示す情報とデータ複製先を示す情報を指定し、ペア登録指示を正記憶システム100Aに行う。データ複製対象を示す情報は、データ複製対象のグループ番号Aと正論理ボリューム番号Aである。データ複製先を示す情報は、複製データを保存する副記憶システム100B内の副論理ボリューム番号Bである。
前記ペア登録指示を受けて、正記憶システム100Aは、ペア情報500からペア情報が“未使用”のペア番号を取得し、ペア状態を“コピー未”に、正記憶システム番号に正記憶システム100Aを示す正記憶システム番号Aを、正論理ボリューム番号に指示された正論理ボリューム番号Aを、副記憶システム番号にグループ情報600のグループ番号Aの相手記憶システム番号を、副論理ボリューム番号に指示された副論理ボリューム番号Bを、グループ番号に指示されたグループ番号Aを設定する。指示されたグループ番号Aのグループ情報600のペア集合に前記取得したペア番号を追加し、正論理ボリューム番号Aのボリューム状態を“正”に変更する。
正記憶システム100Aは、指示されたグループ番号Aのグループ情報600の相手記憶システムに対して、正記憶システム100Aを示す正記憶システム番号A、グループ番号Aのグループ情報600の相手グループ番号B、正論理ボリューム番号A、および副論理ボリューム番号Bを通知し、ペア登録を命令する。副記憶システム100Bは、ペア情報500から未使用のペア番号を取得し、ペア状態を“コピー未”に、正記憶システム番号に通知された正記憶システム番号Aを、正論理ボリューム番号に通知された正論理ボリューム番号Aを、副記憶システム番号に副記憶システム番号Bを、副論理ボリューム番号に通知された副論理ボリューム番号Bを、グループ番号に通知されたグループ番号Bを設定する。さらに、副記憶システム100Bは、指示されたグループ番号Bのグループ情報のペア集合に前記取得したペア番号を追加し、副論理ボリューム番号Bのボリューム状態を“副”に変更する。
以上の動作を全てのデータ複製対象のペアに対して行う。
前記の説明では、論理ボリュームのグループへの登録と、論理ボリュームのペアの設定を同時に行う処理を説明したが、それぞれ個別に行ってもよい。
(3)ジャーナル論理ボリューム登録について説明する(ステップ920)。ホストコンピュータ180は、、ジャーナルの保存に使用する論理ボリューム(ジャーナル論理ボリューム)をグループに登録する指示(ジャーナル論理ボリューム登録指示)を正記憶システム100Aに行う。ジャーナル論理ボリューム登録指示は、グループ番号と論理ボリューム番号からなる。
正記憶システム100Aは、指示されたグループ番号のグループ情報600のジャーナル論理ボリューム番号に指示された論理ボリューム番号を登録する。さらに、当該論理ボリュームのボリューム情報400のボリューム状態を“正常”に設定する。
同様に、ホストコンピュータ180は、副記憶システム100Bのボリューム情報400を参照し、副記憶システム100B、グループ番号B、ジャーナル論理ボリュームとして使用する論理ボリューム番号を指定し、ジャーナル論理ボリューム登録を正記憶システム100Aに行う。正記憶システム100Aは、ジャーナル論理ボリューム登録指示を副記憶システム100Bに転送する。副記憶システム100Bは、指示されたグループ番号Bのグループ情報600のジャーナル論理ボリューム番号に指示された論理ボリューム番号を登録する。さらに当該論理ボリュームのボリューム情報400のボリューム状態を“正常”に設定する。
ホストコンピュータ180は、、グループ番号、ジャーナル論理ボリュームとして使用する論理ボリューム番号を指定し、ジャーナル論理ボリューム登録指示を副記憶システム100Bに行ってもよい。副記憶システム100Cに対しても同様に行う。あるいは、記憶システムごとにホストコンピュータや保守端末が接続されており、それぞれのホストコンピュータや保守端末が、それぞれ接続されている記憶システムに指示を行ってもよい。
以上の動作を全てのジャーナル論理ボリュームとして使用する論理ボリュームに対して行う。ステップ910とステップ920の順は逆でもよい。
(4)データ複製処理開始について説明する(ステップ930)。ホストコンピュータ180は、、データ複製処理を開始する複製種類が同期のグループ番号Cと複製種類が非同期のグループ番号Bを指定し、データ複製処理の開始を正記憶システム100Aに指示する。正記憶システム100Aは、グループBに属する全てのペア情報400のコピー済みアドレスを0に設定する。
正記憶システム100Aは、グループ番号Bのグループ情報600の相手記憶システム100Bに対し、グループ番号Bのグループ情報600の相手グループ番号のグループ状態を“正常”に変更する事と後述するジャーナルリード処理およびリストア処理の開始を指示する。正記憶システム100Aは、グループ番号Cのグループ情報600の相手記憶システム100Cに対し、グループ番号Cのグループ情報600の相手グループ番号のグループ状態を“正常”に変更する事を指示する。
正記憶システム100Aは、グループ番号Cのグループ状態とグループ番号Bのグループ状態を“正常”に変更し、後述する初期コピー処理を開始する。
前記の説明では、同期のデータ複製処理と非同期のデータ複製処理の開始を同時に指示していたが、それぞれ個別に行ってもよい。
(5)初期コピー終了について説明する(ステップ940)。
初期コピーが終了すると、正記憶システム100Aは、初期コピー処理の終了を副記憶システム100Bおよび副記憶システム100Cに通知する。副記憶システム100Bおよび副記憶システム100Cは、グループBおよびグループCに属する全ての副論理ボリュームのペア状態を“正常”に変更する。
(6)デルタリシンク用のグループ作成について説明する(ステップ950)。ホストコンピュータ180は、、デルタリシンク用のグループ作成指示を行う。グループ作成指示は、指示対象グループ番号C、相手記憶システム番号B、相手グループ番号B、複製種類、デルタ予約オプションからなる。ここでのデルタ予約オプションは“1”である。
グループ作成指示を受け取った副記憶システム100Cは、グループ情報600を変更する。具体的には、副記憶システム100Cは、指示対象グループ番号Cのグループ情報600のグループ状態を“停止”に、相手記憶システム番号を指示された相手記憶システム番号Bに、相手グループ番号を指示された相手グループ番号Bに、複製種類を指示された複製種類に、デルタ予約オプションは指示されたデルタ予約オプションに変更する。グループ情報600の更新番号を1(初期値)に設定する。さらに、副記憶システム100Cは、相手記憶システム番号Bの記憶システムに対して、グループ作成指示を行う。グループ作成指示の指示対象グループ番号は相手グループ番号B、相手記憶システム番号は副記憶システム100Cの記憶システム番号、相手グループ番号は指示対象グループ番号C、複製種類は指示された複製種類、デルタ予約オプションは、指示されたデルタ予約オプションとする。
(7)デルタリシンク用のペア登録について説明する(ステップ960)。ホストコンピュータ180は、データ複製対象を示す情報とデータ複製先を示す情報を指定し、ペア登録指示を副記憶システム100Cに行う。データ複製対象を示す情報は、データ複製対象のグループ番号Cと正論理ボリューム番号Cである。データ複製先を示す情報は、複製データを保存する副記憶システム100B内の副論理ボリューム番号Bである。
前記ペア登録指示を受けて、副記憶システム100Cは、ペア情報500からペア情報が“未使用”のペア番号を取得し、対応するグループ番号Cのデルタ予約オプションが“1”のためペア状態を“デルタ準備”に、正記憶システム番号に副記憶システム100Cを示す正記憶システム番号Cを、正論理ボリューム番号に指示された正論理ボリューム番号Cを、副記憶システム番号にグループ情報600のグループ番号Cの相手記憶システム番号を、副論理ボリューム番号に指示された副論理ボリューム番号Bを、グループ番号に指示されたグループ番号Cを設定する。指示されたグループ番号Cのグループ情報600のペア集合に前記取得したペア番号を追加する。
副記憶システム100Cは、指示されたグループ番号Cのグループ情報600の相手記憶システムに対して、副記憶システム100Cを示す正記憶システム番号C、グループ番号Cのグループ情報600の相手グループ番号B、正論理ボリューム番号C、および副論理ボリューム番号Bを通知し、ペア登録を命令する。副記憶システム100Bは、ペア情報500から未使用のペア番号を取得し、ペア状態を対応するグループ番号Bのデルタ予約オプションが“1”のためペア状態を“デルタ準備”に、正記憶システム番号に通知された正記憶システム番号Cを、正論理ボリューム番号に通知された正論理ボリューム番号Cを、副記憶システム番号に副記憶システム番号Bを、副論理ボリューム番号に通知された副論理ボリューム番号Bを、グループ番号に通知されたグループ番号Bを設定する。さらに、副記憶システム100Bは、指示されたグループ番号Bのグループ情報のペア集合に前記取得したペア番号を追加する。
以上の動作を全てのデルタリシンク対象のペアに対して行う。
(8)デルタ予約処理について説明する(ステップ970)。ホストコンピュータ180は、、、デルタ予約処理を開始する複製種類が非同期でデルタ予約オプションが“1”のグループ番号Cを指定し、デルタ予約処理の開始を副記憶システム100Cに指示する。なお、デルタリシンクは、正記憶システム100Aの正論理ボリュームAとそれぞれペアになっている副記憶システム100Bの副論理ボリュームBと、副記憶システム100Cの副論理ボリュームCと、の差分だけをコピーしてデータの同期を取る処理である。
指示を受け取った副記憶システム100Cは、デルタリシンクが可能か否かをチェックする。すなわち、まずデルタリシンク用に登録したペアを複製先としている2つのグループの複製対象が一致し、かつ、ペア数も一致しているかを、判定する。デルタリシンクが可能な状態と判定した場合は、当該グループ番号のペア情報500のペア状態を“デルタ待機”に変更する。以上がデルタ予約処理である。
次に、ステップ970の判定処理の詳細について図46を用いて説明する。
まず、記憶システム100Cは、デルタ予約指定のグループ情報に記載されたペア集合の、最初のペア番号を取得する(ステップ4610)。
記憶システム100Cは、ペア情報500の中から、指定されたグループ番号Cであるペアの正記憶システム番号Cと正論理ボリューム番号Cと同一である副記憶システム番号と副論理ボリューム番号を持つペア情報を抽出し、そこから正記憶システム番号A1と正論理ボリューム番号A1を取得する(ステップ4630)。次に記憶システム100Cは、正記憶システム番号Cと正論理ボリューム番号Cに対応する副記憶システム番号Bである副記憶システム100Bから、正記憶システム番号Cと正論理ボリューム番号Cに対応する副記憶システム番号Bと副論理ボリュームBを複製先として有し、デルタ予約オプションが“1”でないグループ番号もつペアの正記憶システム番号A2と、正論理ボリューム番号A2を取得する(ステップ4640)。そして記憶システム100Cは、取得した正記憶システム番号A1及び正論理ボリューム番号A1と、正記憶システム番号A2と正論理ボリューム番号A2が一致するかを判定する(ステップ4650)。この判定を、ステップ4660、ステップ4620を経て指定されたグループ番号Cであるペア全てに対して行う。
この判定(ステップ4650)で不一致がでた場合は、デルタ予約処理をエラーで完了する。
指定されたペアの比較が終了したかを判定し(ステップ4670)、判定結果、終了していた場合、デルタリシンクを行う場合に必要なジャーナルデータの転送が行われているかを比較し判定する。
まず、記憶システム100Cは、グループ情報600の中で、指定されたグループ番号Cでデルタ予約オプションが“1”であるグループ番号に記載されている相手記憶システム番号Bである副記憶システム100Bから、当該グループ番号に記載されている相手グループ番号Bであるグループに属するペアの副論理ボリュームと同一の副論理ボリュームであるペアを持つグループの更新番号Bに1を足した数値B1を取得する(ステップ4672)。次に、記憶システム100Cは、ポインタ情報700を参照し、更新番号Bのジャーナルを保持しているかを調べる。記憶システム100Cは、ポインタ情報の更新情報最古アドレスの更新情報を記憶装置150から読み出し、最古(最小)の更新番号Cを得る(ステップ4674)。記憶システムCは、ステップ4672で取得した値とステップ4674で取得した値とを比較し(ステップ4676)、更新番号Cが取得した更新番号B1と等しい、もしくは小さい場合は、記憶システム100Cが更新番号Bのジャーナルを保持しているので、デルタリシンクが可能な状態と判定する(ステップ4678)。
図10は、初期コピー処理のフローチャートである。初期コピー処理は、データ複製対象の正論理ボリュームの全記憶領域に対し、ペア情報500のコピー済みアドレスを用い、記憶領域の先頭から順に、単位サイズ毎にジャーナルを作成する。コピー済みアドレスは、初期値は0であり、ジャーナルの作成毎に、作成したデータ量を加算する。論理ボリュームの記憶領域の先頭から、コピー済みアドレスの一つ前までは、初期コピー処理にてジャーナルは作成済みである。初期コピー処理を行うことにより、正論理ボリュームの更新されていないデータを副論理ボリュームに転送することが可能となる。以下の説明では、正記憶システム100A内のホストアダプタAが処理を行うように記載しているが、ディスクアダプタ120が行ってもよい。
(1)正記憶システム100A内のホストアダプタAは、処理対象の非同期複製のグループBに属するペアでペア状態が“コピー未”である正論理ボリュームAを得、ペアの状態を“コピー中”に変更し、以下の処理を繰り返す(ステップ1010、1020)。正論理ボリュームAが存在しない場合は、処理を終了する(ステップ1030)。
(2)ステップ1020にて、論理ボリュームAが存在した場合、ホストアダプタAは、単位サイズ(例えば、1MB)のデータを対象にジャーナルを作成する。ジャーナル作成処理は後述する(ステップ1040)。
(3)ホストアダプタAは、正論理ボリュームAの同期ペアである副論理ボリュームのデータを更新するために、同期ペアである副論理ボリュームを保持する副記憶システムCにリモートライト命令を送信する。リモートライト命令は、ライト命令、論理アドレス(論理ボリュームは同期ペア番号の副論理ボリュームC、論理ボリューム内位置はコピー済みアドレス)、データ量(単位サイズ)、ステップ1040で使用した更新番号を含んでいる。なお、更新番号の代わりにジャーナルを作成した時刻でもよい(ステップ1045)。リモートライト命令を受信した場合の副記憶システムCの動作は後述する命令受信処理210にて説明する。
(4)ホストアダプタAは、リモートライト命令の応答を受信後、コピー済みアドレスに作成したジャーナルのデータサイズを加算する(ステップ1050)。
(5)コピー済みアドレスが、正論理ボリュームAの容量に達するまで、上記処理を繰り返す(ステップ1060)。コピー済みアドレスが、正論理ボリュームAの容量と等しくなった場合、正論理ボリュームAの全記憶領域に対してジャーナルを作成したため、ペア状態を“正常”に更新し、他の正論理ボリュームの処理を開始する(ステップ1070)。
前記のフローチャートでは、論理ボリュームを1つずつ対象とするように説明したが、複数の論理ボリュームを同時に処理してもよい。
図11は命令受信処理210の処理を説明する図、図12は命令受信処理210のフローチャート、図13はジャーナル作成処理のフローチャート、図23はリモートライト命令受信処理のフローチャート、図24はジャーナル複製処理のフローチャートである。以下、これらを用いて、正記憶システム100Aが、ホストコンピュータ180からデータ複製対象の論理ボリューム230にライト命令を受信した場合の動作について説明する。
(1)記憶システム100A内のホストアダプタAは、ホストコンピュータからアクセス命令を受信する。アクセス命令は、リード、ライト、後述するジャーナルリード等の命令、命令対象の論理アドレス、データ量等を含んでいる。以下、アクセス命令内の論理アドレスを論理アドレスA、論理ボリューム番号を論理ボリュームA、論理ボリューム内位置を論理ボリューム内位置A、データ量をデータ量Aとする(ステップ1200)。
(2)ホストアダプタAは、アクセス命令を調べる(ステップ1210、1215、1228)。ステップ1215の調べで、アクセス命令がジャーナルリード命令の場合は、後述するジャーナルリード受信処理を行う(ステップ1220)。アクセス命令が、リモートライト命令の場合は、後述するリモートライト命令受信処理を行う(ステップ2300)。それら以外の命令、例えば、リード命令の場合は、従来技術と同じようにリード処理を行い、リモートコピー制御命令であれば、指示に対応する処理を行う(ステップ1230)。
(3)ステップ1210の調べで、アクセス命令がライト命令の場合は、論理ボリュームAのボリューム情報400を参照し、ボリューム状態を調べる(ステップ1240)。ステップ1240の調べで、論理ボリュームAのボリューム状態が、“正常”もしくは“正”以外の場合は、論理ボリュームAへのアクセスは不可能なため、ホストコンピュータ180に異常終了を報告する(ステップ1245)。
(4)ステップ1240の調べで、論理ボリュームAのボリューム状態が、“正常”、“正”のいずれかの場合は、ホストアダプタAは、キャッシュメモリ130を確保し、ホストコンピュータ180にデータ受信の準備ができたことを通知する。ホストコンピュータ180は、その通知を受け、ライトデータを正記憶システム100Aに送信する。ホストアダプタAは、ライトデータを受信し、当該キャッシュメモリ130に保存する(ステップ1250、図11の1100)。
(5)ホストアダプタAは、論理ボリュームAのボリューム情報、ペア情報、グループ情報を参照し、論理ボリュームAが非同期複製対象かどうかを調べる(ステップ1260)。ステップ1260の調べで、論理ボリュームAのボリューム状態が“正”かつ、論理ボリュームAの非同期ペア番号のペアのペア状態が“正常”かつ、当該ペアが属するグループのグループ状態が“正常”である場合は、論理ボリュームAが非同期複製対象であるため、後述するジャーナル作成処理を行う(ステップ1265)。
(6)ホストアダプタAは、論理ボリュームAのボリューム情報、ペア情報、グループ情報を参照し、論理ボリュームAが同期複製対象かどうかを調べる(ステップ1267)。ステップ1267の調べで、論理ボリュームAのボリューム状態が“正”かつ、論理ボリュームAの同期ペア番号のペアのペア状態が“正常”かつ、当該ペアが属するグループのグループ状態が“正常”である場合は、論理ボリュームAが同期複製対象であるため、同期ペア番号のペアの副記憶システムCに、ホストコンピュータ180から受信したライトデータを保存するリモートライト命令を送信する(図11の1185)。リモートライト命令は、ライト命令、論理アドレス(論理ボリューム番号は、同期ペア番号のペアの副論理ボリュームC、論理ボリューム内位置は論理ボリューム内位置A)、データ量A、ステップ1265で使用した更新番号を含んでいる。なお、更新番号の代わりにホストコンピュータ180からライト命令を受信した時刻でもよい。ステップ1267の調べで、同期複製対象の論理ボリュームでない場合、もしくは、ステップ1268のジャーナル作成処理が成功しなかった場合は、更新番号に無効を示す数値“0”を設定する。
(7)ステップ1267もしくは、ステップ1268のリモートライト命令の応答を受信した後、ホストアダプタAは、ディスクアダプタ120にライトデータを論理アドレスAに対応する記憶装置150の記憶領域に書き込むことを命令し(図11の1160)、ホストコンピュータ180に終了報告する(ステップ1270、1280)。その後、当該ディスクアダプタ120は、リードライト処理により、前記記憶領域にライトデータを保存する(図11の1170)。
次に、ジャーナル作成処理について説明する。
(1)ホストアダプタAは、ジャーナル論理ボリュームのボリューム状態を調べる(ステップ1310)。ステップ1310の調べで、ジャーナル論理ボリュームのボリューム状態が、“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、グループ状態を“異常”に変更し、処理を終了する(ステップ1315)。この場合、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等を行う。
(2)ステップ1310の調べで、ジャーナル論理ボリュームが正常である場合、ジャーナル作成処理を継続する。ジャーナル作成処理は、初期コピー処理内の処理であるか、命令受信処理内の処理であるかによって処理が異なる(ステップ1320)。ジャーナル作成処理が命令受信処理内の処理の場合は、ステップ1330からの処理を行う。ジャーナル作成処理が初期コピー処理内の場合は、ステップ1370からの処理を行う。
(3)ジャーナル作成処理が命令受信処理内の処理の場合、ホストアダプタAは、ライト対象の論理アドレスAが、初期コピー処理の処理対象となったかを調べる(ステップ1330)。論理ボリュームAのペア状態が“コピー未”の場合は、後に初期コピー処理にてジャーナル作成処理が行われるため、ジャーナルを作成せずに処理を終了する(ステップ1335)。論理ボリュームAのペア状態が“コピー中”の場合は、コピー済みアドレスが論理アドレス内位置Aと等しいもしくは、小さい場合は、後に初期コピー処理にてジャーナル作成処理が行われるため、ジャーナルを作成せずに処理を終了する(ステップ1335)。上記以外、つまり、論理ボリュームAのペア状態が“コピー中”かつコピー済みアドレスが論理アドレス内位置Aより大きい場合もしくは、論理ボリュームAのペア状態が“正常”の場合は、既に初期コピー処理が完了しているため、ジャーナル作成処理を継続する。
(4)次に、ホストアダプタAは、ジャーナルがジャーナル論理ボリュームに格納可能であるかを調べる。ポインタ情報700を用い、更新情報領域の未使用領域の有無を調べる(ステップ1340)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ジャーナル作成失敗として処理を終了する(ステップ1390)。
ステップ1340の調べで、更新情報領域に未使用領域が存在する場合は、ポインタ情報700を用い、ライトデータ領域にライトデータが格納できるかを調べる(ステップ1345)。ライトデータ最古アドレスが、ライトデータ最新アドレスとライトデータ最新アドレスにデータ量Aを足した数値の範囲にある場合、当該ライトデータをライトデータ領域に格納できないため、ジャーナル作成失敗として処理を終了する(ステップ1390)。
(5)ジャーナルが格納可能である場合、ホストアダプタAは、更新番号と更新情報を格納する論理アドレスとライトデータを格納する論理アドレスを取得し、更新情報をキャッシュメモリ130内に作成する。更新番号は、対象グループのグループ情報600から取得し、1を足した数値をグループ情報600の更新番号に設定する。更新情報を格納する論理アドレスは、ポインタ情報700の更新情報最新アドレスであり、更新情報のサイズを足した数値をポインタ情報700の更新情報最新アドレスに設定する。ライトデータを格納する論理アドレスは、ポインタ情報700のライトデータ最新アドレスであり、ライトデータ最新アドレスにデータ量Aを足した数値をポインタ情報700のライトデータ最新アドレスに設定する。
ホストアダプタAは、上記取得した数値とグループ番号、ライト命令を受信した時刻、ライト命令内の論理アドレスA、データ量Aを更新情報に設定する(ステップ1350、図11の1120)。例えば、図6に示すグループ情報600、図7に示すポインタ情報700の状態で、グループ1に属する正論理ボリューム1の記憶領域の先頭から800の位置にデータサイズ100のライト命令を受信した場合、図22に示す更新情報を作成する。グループ情報の更新番号は6、ポインタ情報の更新情報最新アドレスは600(更新情報のサイズは100とする)、ライトデータ最新アドレスは2300となる。
(6)ホストアダプタAは、ディスクアダプタ120に、ジャーナルの更新情報とライトデータを記憶装置150に書き込むことを命令し、正常終了する(ステップ1360、図11の1130、1140、1150)。
(7)ジャーナル作成処理が、初期コピー処理内の処理の場合は、ステップ1370からの処理を行う。ホストアダプタAは、ジャーナルが作成可能であるを調べる。ポインタ情報700を用い、更新情報領域の未使用領域の有無を調べる(ステップ1370)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ジャーナル作成失敗として処理を終了する(ステップ1390)。本実施例で示した初期コピー処理の場合、ジャーナルのライトデータは、正論理ボリュームからリードし、ライトデータ領域は使用しないため、ライトデータ領域の未使用領域の確認は不要である。
(8)ステップ1370の調べで、ジャーナルが作成可能である場合、ホストアダプタAは、更新情報をキャッシュメモリ130内に作成する。更新情報のライト命令を受信した時刻は、更新番号を取得した時刻を設定する。グループ番号は、論理ボリュームの非同期ペア番号が属するグループ番号を設定する。更新番号は、グループ情報600から取得し、1を足した数値をグループ情報600の更新番号に設定する。ライト命令の論理アドレスとライドデータを格納したジャーナル論理ボリュームの論理アドレスは、初期コピー処理対象の論理アドレス(ペア情報のコピー済みアドレス)を設定する。ライトデータのデータサイズは、初期コピー処理の単位サイズを設定する。更新情報を格納する論理アドレスは、ポインタ情報700の更新情報最新アドレスの位置であり、更新情報のサイズを足した数値をポインタ情報700の更新情報最新アドレスに設定する(ステップ1380、図11の1120)。
(9)ホストアダプタAは、ディスクアダプタ120に、更新情報を記憶装置150に書き込むことを命令し、正常終了する(ステップ1385、図11の1140、1150)。
上記説明では、更新情報をキャッシュメモリ130内に存在するように記載しているが、共有メモリ140内等に格納してもよい。
ライトデータの記憶装置150への書き込みは、非同期、つまり、ステップ1360およびステップ1385の直後でなくともよい。ただし、ホストコンピュータ180が、論理アドレスAにライト命令を再び行った場合、ジャーナルのライトデータが上書きされるため、ホストコンピュータ180からライトデータを受信する前に、ジャーナルのライトデータは、更新情報のジャーナル論理ボリュームの論理アドレスに対応する記憶装置150に書き込む必要がある。もしくは、別のキャッシュメモリに退避し、後に更新情報のジャーナル論理ボリュームの論理アドレスに対応する記憶装置150に書き込みを行ってもよい。
前述したジャーナル作成処理では、ジャーナルを記憶装置150に保存するとしていたが、ジャーナル用に予め一定量のキャッシュメモリ130を用意しておき、当該キャッシュメモリを全て使用してから、記憶装置150にジャーナルを保存してもよい。ジャーナル用のキャッシュメモリ量は、例えば、保守端末から指定する。
次に、副記憶システム100CのホストアダプタCが、正記憶システム100Aからリモートライト命令を受信した場合の処理(リモートライト命令受信処理)について説明する。リモートライト命令は、ライト命令、論理アドレス(副論理ボリュームC、論理ボリューム内位置A)、データ量A、更新番号を含んでいる。
(1)副記憶システム100C内のホストアダプタCは、論理ボリュームCのボリューム情報400を参照し、副論理ボリュームCのボリューム状態を調べる(ステップ2310)。ステップ2310の調べで、論理ボリュームCのボリューム状態が、“副”以外の場合は、論理ボリュームCへのアクセスは不可能なため、正記憶システム100Aに異常終了を報告する(ステップ2315)。
(2)ステップ2310の調べで、論理ボリュームCのボリューム状態が、“副”の場合は、ホストアダプタCは、キャッシュメモリ130を確保し、正記憶システム100Aにデータ受信の準備ができたことを通知する。正記憶システム100Aは、その通知を受け、ライトデータを副記憶システム100Cに送信する。ホストアダプタCは、ライトデータを受信し、当該キャッシュメモリ130に保存する(ステップ2320)。
(3)リモートライト命令に含まれる更新番号を調べ、無効値“0”の場合は、正記憶システム100Aにてジャーナルが作成されていないため、ステップ2400のジャーナル複製処理を行わない(ステップ2330)。
(4)リモートライト命令に含まれる更新番号を調べ、有効値(“0”以外)の場合は、ジャーナル論理ボリュームのボリューム状態を調べる。ジャーナル論理ボリュームのボリューム状態が“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、ステップ2400のジャーナル複製処理を行わない(ステップ2340)。
(5)ステップ2340の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、後述するジャーナル複製処理2400を行う。
(6)ホストアダプタCは、ディスクアダプタ120にライトデータをリモートライト命令の論理アドレスに対応する記憶装置150の記憶領域に書き込むことを命令し、正記憶システムAに終了報告する(ステップ2360、2370)。その後、当該ディスクアダプタ120は、リードライト処理により、前記憶領域にライトデータを保存する。
次に、ジャーナル複製処理2400について説明する。
(1)ホストアダプタCは、ジャーナルがジャーナル論理ボリュームに格納可能であるを調べる。ポインタ情報700を用い、更新情報領域の未使用領域の有無を調べる(ステップ2410)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、最古のジャーナルの記憶領域を開放し、更新情報領域を確保する(ステップ2415)。次に、ポインタ情報700を用い、ライトデータ領域にライトデータが格納できるかを調べる(ステップ2420)。ライトデータ最古アドレスが、ライトデータ最新アドレスとライトデータ最新アドレスにデータ量Aを足した数値の範囲にある場合、当該ライトデータをライトデータ領域に格納できないため、最古のジャーナルからジャーナルの記憶領域を開放し、ライトデータを格納できるようにする(ステップ2425)。
(2)ホストアダプタCは、更新情報をキャッシュメモリ130内に作成する。更新情報のライト命令を受信した時刻は、リモートライト命令内の更新時刻を設定する。グループ番号は、論理ボリュームCの同期ペア番号のペアが属するグループのグループ番号を設定する。更新番号は、リモートライト命令内の更新番号を設定する。ライト命令の論理アドレスは、リモートライト命令内の論理アドレスを設定する。ライトデータのデータサイズは、リモートライト命令内のデータ量Aを設定する。ライドデータを格納したジャーナル論理ボリュームの論理アドレスは、ポインタ情報700のライトデータ最新アドレスであり、ライトデータ最新アドレスにライトデータのサイズを足した数値をポインタ情報700のライトデータ最新アドレスに設定する。更新情報を格納する論理アドレスは、ポインタ情報700の更新情報最新アドレスであり、更新情報のサイズを足した数値をポインタ情報700の更新情報最新アドレスに設定する(ステップ2430)。
(3)ホストアダプタCは、ディスクアダプタ120に、更新情報とライトデータを記憶装置150に書き込むことを命令し、ジャーナル作成成功として処理を終了する(ステップ2440)。その後、ディスクアダプタ120は、リードライト処理により、記憶装置150に更新情報とライトデータを書き込み、キャッシュメモリ130を開放する。
このように、副記憶システムCは、古いジャーナルの記憶領域を開放し、常に新しい複数のジャーナルを保持する。
リードライト処理220は、ディスクアダプタ120が、ホストアダプタ110もしくはディスクアダプタ120から命令を受け、実施する処理である。実施する処理は、指定されたキャッシュメモリ130のデータを指定された論理アドレスに対応する記憶装置150内の記憶領域に書き込む処理、指定された論理アドレスに対応する記憶装置150内の記憶領域から指定されたキャッシュメモリ130にデータを読み込む処理等である。
図14はジャーナルリード命令を受信した正記憶システム100AのホストアダプタAの動作(ジャーナルリード受信処理)を説明する図、図15はフローチャートである。以下、これらを用いて、正記憶システム100Aが、副記憶システム100Bからジャーナルリード命令を受信した場合の動作について説明する。
(1)正記憶システム100A内のホストアダプタAは、副記憶システム100Bからアクセス命令を受信する。アクセス命令は、ジャーナルリード命令であることを示す識別子、命令対象のグループ番号、リトライ指示の有無を含んでいる。以下、アクセス命令内のグループ番号をグループ番号Aとする(ステップ1220、図14の1410)。
(2)ホストアダプタAは、グループ番号Aのグループ状態が“正常”であるかを調べる(ステップ1510)。ステップ1510の調べで、グループ状態が“正常”以外、例えば、“異常”の場合は、副記憶システム100Bにグループ状態を通知し、処理を終了する。副記憶システム100Bは、受信したグループ状態に応じて処理を行う。例えば、グループ状態が“異常”の場合は、ジャーナルリード処理を終了する(ステップ1515)。
(3)ステップ1510の調べで、グループ番号Aのグループ状態が“正常”の場合、ホストアダプタAは、ジャーナル論理ボリュームの状態を調べる(ステップ1520)。ステップ1520の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”でない場合は、例えば、“異常”の場合は、グループ状態を“異常”に変更し、副記憶システム100Bにグループ状態を通知し、処理を終了する。副記憶システム100Bは、受信したグループ状態に応じて処理を行う。例えば、グループ状態が“異常”の場合は、ジャーナルリード処理を終了する(ステップ1525)。
(4)ステップ1520の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、ジャーナルリード命令がリトライ指示かを調べる(ステップ1530)。
(5)ステップ1530の調べで、ジャーナルリード命令がリトライ指示の場合、ホストアダプタAは、前回送信したジャーナルを再度、副記憶システム100Bに送信する。ホストアダプタAは、キャッシュメモリ130を確保し、ディスクアダプタに、ポインタ情報700のリトライ開始アドレスから、更新情報のサイズの情報をキャッシュメモリに読み込むことを命令する(図14の1420)。
ディスクアダプタのリードライト処理は、記憶装置150から更新情報を読み込み、キャッシュメモリ130に保存し、ホストアダプタAに通知する(図14の1430)。
ホストアダプタAは、更新情報のリード終了の通知を受け、更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保し、ディスクアダプタにライトデータをキャッシュメモリに読み込むことを命令する(ステップ1540、図14の1440)。
ディスクアダプタのリードライト処理は、記憶装置150からライトデータを読み込み、キャッシュメモリ130に保存し、ホストアダプタAに通知する(図14の1450)。
ホストアダプタAは、ライトデータのリード終了の通知を受け、更新情報とライトデータを副記憶システム100Bに送信し、ジャーナルを保持しているキャッシュメモリ130を開放し、処理を終了する(ステップ1545、図14の1460)。
(6)ステップ1530の調べで、リトライ指示でない場合、ホストアダプタAは、送信していないジャーナルが存在するかを調べ、存在すれば、ジャーナルを副記憶システム100Bに送信する。ホストアダプタAは、ポインタ情報700のリード開始アドレスと更新情報最新アドレスを比較する(ステップ1550)。
リード開始アドレスが更新情報最新アドレスと等しい場合は、全てのジャーナルを副記憶システム100Bに送信済みであるため、副記憶システム100Bに“ジャーナル無“を送信し(ステップ1560)、前回のジャーナルリード命令の時に、副記憶システム100Bに送信したジャーナルの記憶領域を開放する(ステップ1590)。
ジャーナルの記憶領域の開放処理は、ポインタ情報700の更新情報最古アドレスに、リトライ開始アドレスを設定する。更新情報最古アドレスがライトデータ領域先頭アドレスとなった場合は、更新情報最古アドレスは0とする。ポインタ情報700のライトデータ最古アドレスは、前回のジャーナルリード命令に応じて送信したライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、ライトデータ領域先頭アドレスを減じ、補正する。
(7)ステップ1550の調べで、未送信のジャーナルが存在する場合、ホストアダプタAは、キャッシュメモリ130を確保し、ディスクアダプタにポインタ情報700のリード開始アドレスから、更新情報のサイズの情報をキャッシュメモリに読み込むことを命令する(図14の1420)。
ディスクアダプタAのリードライト処理は、記憶装置150から更新情報を読み込み、キャッシュメモリ130に保存し、ホストアダプタに通知する(図14の1430)。
ホストアダプタAは、更新情報のリード終了の通知を受け、更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保し、ディスクアダプタAにライトデータをキャッシュメモリに読み込むことを命令する(ステップ1570、図14の1440)。
ディスクアダプタAのリードライト処理は、記憶装置150からライトデータを読み込み、キャッシュメモリ130に保存し、ホストアダプタに通知する(図14の1450)。
ホストアダプタAは、ライトデータのリード終了の通知を受け、更新情報とライトデータを副記憶システム100Bに送信(ステップ1580)し、ジャーナルを保持しているキャッシュメモリ130を開放する(図14の1460)。そして、ポインタ情報700のリトライ開始アドレスにリード開始アドレスを設定し、リード開始アドレスに送信したジャーナルの更新情報サイズを足した数値を設定する。
(8)ホストアダプタAは、前回のジャーナルリード命令の処理時に、副記憶システム100Bに送信したジャーナルの記憶領域を開放する(ステップ1590)。
前述したジャーナルリード受信処理では、正記憶システム100Aは、ジャーナルを一つずつ副記憶システム100Bに送信していたが、複数同時に副記憶システム100Bに送信してもよい。1つのジャーナルリード命令で、送信するジャーナル数は、副記憶システム100Bがジャーナルリード命令内に指定してもよいし、グループ登録の際等に、ホストコンピュータ180は、正記憶システム100Aもしくは、副記憶システム100Bに指定してもよい。さらに、正記憶システム100Aと副記憶システム100Bの接続パス200の転送能力もしくは、負荷等により、動的に1つのジャーナルリード命令で送信するジャーナル数を変更してもよい。また、ジャーナル数でなく、ジャーナルのライトデータのサイズを考慮し、ジャーナルの転送量を指定してもよい。
前述したジャーナルリード受信処理では、ジャーナルを記憶装置150からキャッシュメモリ130に読み込んでいたが、キャッシュメモリ130に存在する場合は、当該処理は不要である。
前述したジャーナルリード受信処理内のジャーナルの記憶領域の開放処理は、次のジャーナルリード命令の処理時としたが、副記憶システム100Bにジャーナルを送信した直後に開放してもよい。また、副記憶システム100Bが、ジャーナルリード命令内に開放してよい更新番号を設定し、正記憶システム100Aは、その指示に従って、ジャーナルの記憶領域を開放していもよい。
図16はジャーナルリード処理240を説明する図、図17はフローチャート、図18はジャーナル格納処理のフローチャートである。以下、これらを用いて、副記憶システム100BのホストアダプタBが、正記憶システム100Aからジャーナルを読み出し、ジャーナル論理ボリュームに格納する動作について説明する。
(1)副記憶システム100B内のホストアダプタBは、グループ状態が“正常”かつ複製種類が非同期であれば、ジャーナルを格納するキャッシュメモリ130を確保し、ジャーナルリード命令であることを示す識別子、命令対象の正記憶システム100Aのグループ番号、リトライ指示の有無を含むアクセス命令を正記憶システム100Aに送信する。以下、アクセス命令内のグループ番号をグループ番号Aとする(ステップ1700、図16の1610)。
(2)ホストアダプタBは、正記憶システム100Aの応答およびジャーナルを受信する(図16の1620)。ホストアダプタBは応答を調べ、正記憶システム100Aからの応答が、“ジャーナル無”の場合は、正記憶システム100Aには、指定したグループのジャーナルが存在しないため、一定時間後、正記憶システム100Aにジャーナルリード命令を送信する(ステップ1720、1725)。
(4)正記憶システム100Aの応答が、“グループ状態は異常”もしくは“グループ状態は未使用”の場合は、副記憶システム100Bのグループ状態を受信した状態に変更し、ジャーナルリード処理を終了する(ステップ1730、1735)。
(5)正記憶システム100Aの応答が、上記以外、つまり、正常終了の場合は、ジャーナル論理ボリュームのボリューム状態を調べる(ステップ1740)。ジャーナル論理ボリュームのボリューム状態が“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、グループ状態を“異常”に変更し、処理を終了する(ステップ1745)。この場合、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等を行い、グループの状態を正常に戻す。
(6)ステップ1740の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、後述するジャーナル格納処理1800を行う。ジャーナル格納処理1800が正常に終了した場合は、次のジャーナルリード命令を送信する。もしくは、一定時間経過後、次のジャーナルリード命令を送信する(ステップ1700)。次のジャーナル命令を送信するタイミングは、一定の時間間隔で定期的に送信するものでもよく、受信したジャーナルの個数もしくは、接続線200の通信量、副記憶システム100Bが保持しているジャーナルの記憶容量、副記憶システム100Bの負荷等によって決めてもよい。さらに、正記憶システム100Aが保持しているジャーナルの記憶容量、もしくは正記憶システム100Aのポインタ情報を副記憶システム100Bから読み出し、その数値に基づいて決めてもよい。上記情報の転送は、専用のコマンドで行ってもよいし、ジャーナルリード命令の応答に含んでもよい。その後の処理は、ステップ1700以降と同じである。
(7)ステップ1800のジャーナル格納処理が正常に終了しない場合は、ジャーナル論理ボリュームの未使用領域が足りないため、受信したジャーナルを破棄し、一定時間後にリトライ指示のジャーナルリード命令を送信する(ステップ1755)。もしくは、ジャーナルをキャッシュメモリに保持しておき、一定時間後に、再度ジャーナル格納処理を行う。これは、後述するリストア処理250が行われることにより、一定時間後には、ジャーナル論理ボリュームに未使用領域が増える可能性があるためである。この方式の場合は、ジャーナルリード命令にリトライ指示の有無は不要である。
次に、図18に示すジャーナル格納処理1800について説明する。
(1)ホストアダプタBは、ジャーナルがジャーナル論理ボリュームに格納可能であるかを調べる。ポインタ情報700を用い、更新情報領域に未使用領域の有無を調べる(ステップ1810)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ジャーナル作成失敗として処理を終了する(ステップ1820)。
(2)ステップ1810の調べで、更新情報領域に未使用領域が存在する場合は、ポインタ情報700を用い、ライトデータ領域にライトデータが格納できるかを調べる(ステップ1830)。ライトデータ最古アドレスが、ライトデータ最新アドレスとライトデータ最新アドレスにデータ量Aを足した数値の範囲にある場合、ライトデータ領域にライトデータを格納できないため、ジャーナル作成失敗として処理を終了する(ステップ1820)。
(3)ジャーナルが格納可能である場合、ホストアダプタBは、受信した更新情報のグループ番号とライトデータを格納したジャーナル論理ボリュームの論理アドレスを変更する。グループ番号は、副記憶システム100Bのグループ番号に変更し、ジャーナル論理ボリュームの論理アドレスはポインタ情報700のライトデータ最新アドレスに変更する。さらに、ホストアダプタBは、ポインタ情報700の更新情報最新アドレスを更新情報最新アドレスに更新情報のサイズを足した数値に、ライトデータ最新アドレスを、ライトデータ最新アドレスにライトデータのサイズを足した数値に変更する。さらに、ホストアダプタBは、グループ情報の更新番号を受信した更新情報の更新番号に変更する(ステップ1840)。
(4)ホストアダプタBは、ディスクアダプタ120に、更新情報とライトデータを記憶装置150に書き込むことを命令し、ジャーナル作成成功として処理を終了する(ステップ1850、図16の1630)。その後、ディスクアダプタ120は、リードライト処理により、記憶装置150に更新情報とライトデータを書き込み、キャッシュメモリ130を開放する(図16の1640)。
前述したジャーナル格納処理では、ジャーナルを記憶装置150に保存するとしていたが、ジャーナル用に予め一定量のキャッシュメモリ130を用意しておき、当該キャッシュメモリを全て使用してから、記憶装置150にジャーナルを保存してもよい。ジャーナル用のキャッシュメモリ量は、例えば、保守端末から指定する。
図19はリストア処理250を説明する図、図20はフローチャートである。以下、これらを用いて、副記憶システム100BのホストアダプタBが、ジャーナルを利用し、データの更新を行う動作について説明する。リストア処理250は副記憶システム100Bのディスクアダプタ120が処理を行ってもよい。
(1)ホストアダプタBは、グループ番号Bのグループ状態が“正常” もしくは“停止”であるかを調べる(ステップ2010)。ステップ2010の調べで、グループ状態が“正常”および“停止”以外、例えば、“異常”の場合は、リストア処理を終了する(ステップ2015)。
(2)ステップ2010の調べで、グループ状態が“正常”もしくは“停止”の場合は、ジャーナル論理ボリュームのボリューム状態を調べる(ステップ2020)。ステップ2020の調べで、ジャーナル論理ボリュームのボリューム状態が、“異常”の場合は、アクセス不可能なため、グループ状態を“異常”に変更し、処理を終了する(ステップ2025)。
(3)ステップ2020の調べで、ジャーナル論理ボリュームのボリューム状態が、“正常”の場合は、リストア対象のジャーナルが存在するかを調べる。ホストアダプタBは、ポインタ情報700の更新情報最古アドレスと更新情報最新アドレスを取得する。更新情報最古アドレスと更新情報最新アドレスが等しい場合、ジャーナルは存在しないため、リストア処理は一旦終了し、一定時間後、リストア処理を再開する(ステップ2030)。
(4)ステップ2030の調べで、リストア対象のジャーナルが存在する場合、最古(最小)の更新番号を持つジャーナルに対して次の処理を行う。最古(最小)の更新番号を持つジャーナルの更新情報は、ポインタ情報700の更新情報最古アドレスから保存されている。ホストアダプタBは、キャッシュメモリ130を確保し、ディスクアダプタに更新情報最古アドレスから、更新情報のサイズの情報をキャッシュメモリ130に読み込むことを命令する(図19の1910)。
ディスクアダプタのリードライト処理は、記憶装置150から更新情報を読み込み、キャッシュメモリ130に保存し、ホストアダプタBに通知する(図19の1920)。
ホストアダプタBは、更新情報のリード終了の通知を受け、更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保し、ディスクアダプタにライトデータをキャッシュメモリに読み込むことを命令する(図19の1930)。
ディスクアダプタのリードライト処理は、記憶装置150からライトデータを読み込み、キャッシュメモリ130に保存し、ホストアダプタに通知する(ステップ2040、図19の1940)。
(5)ホストアダプタBは、更新情報から更新する副論理ボリュームの論理アドレスを求め、ディスクアダプタに副論理ボリュームにライトデータを書き込むことを命令する(ステップ2050、図19の1950)。ディスクアダプタのリードライト処理は、副論理ボリュームの論理アドレスに対応する記憶装置150にデータを書き込み、キャッシュメモリ130を開放し、ホストアダプタに通知する(図19の1960)。
(6)ホストアダプタBは、ディスクアダプタのライト処理完了の通知を受け、ジャーナルの記憶領域を開放する。ジャーナルの記憶領域の開放処理は、ポインタ情報700の更新情報最古アドレスを更新情報のサイズを足した数値に変更する。更新情報最古アドレスが、ライトデータ領域先頭アドレスとなった場合は、更新情報最古アドレスは0とする。ポインタ情報700のライトデータ最古アドレスは、ライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、ライトデータ領域先頭アドレスを減じ、補正する。その後、ホストアダプタBは、次のリストア処理を開始する(ステップ2060)。
前述したリストア処理250では、記憶装置150からキャッシュメモリ130にジャーナルを読み込んでいたが、キャッシュメモリ130に存在する場合は、当該処理は不要である。
前述したジャーナルリード受信処理とジャーナルリード処理240では、正記憶システム100Aが送信するジャーナルをポインタ情報700により決めていたが、副記憶システム100Bが送信するジャーナルを決めてもよい。例えば、ジャーナルリード命令に更新番号を追加する。この場合、ジャーナルリード受信処理にて、副記憶システム100Bが指定した更新番号の更新情報の論理アドレスを求めるために、正記憶システム100Aの共有メモリ140内に、更新番号から更新情報を格納した論理アドレスを求めるテーブルもしくは検索方法を設ける。
前述したジャーナルリード受信処理とジャーナルリード処理240では、ジャーナルリード命令を用いていたが、通常のリード命令を用いてもよい。例えば、正記憶システム100Aのグループ情報600とポインタ情報700を予め副記憶システム100Bに転送しておき、副記憶システム100Bは、正記憶システム100Aのジャーナル論理ボリュームのデータ(つまり、ジャーナル)をリードする。
前述したジャーナルリード受信処理では、更新番号の順に、正記憶システム100Aから副記憶システム100Bにジャーナルを送信すると説明したが、更新番号の順に送信せずともよい。また、正記憶システム100Aから副記憶システム100Bに複数のジャーナルリード命令を送信してもよい。この場合、リストア処理にて更新番号順にジャーナルを処理するために、副記憶システム100Bに、更新番号から更新情報を格納した論理アドレスを求めるテーブルもしくは検索方法を設ける。
前述した本発明の計算機システムでは、記憶システムAは、データの更新に関する情報をジャーナルとして格納する。記憶システムBは、記憶システムAが保持するデータの複製を保持しており、自律的に記憶システムAからジャーナルを取得し、前記ジャーナルを用いて、第一の記憶システムでのデータ更新順に、第一の記憶システムのデータと対応するデータを更新する。これにより、記憶システムBは、データの整合性を維持しつつ、記憶システムAのデータの複製を保持できる。さらに、ジャーナルを管理する管理情報は、複製対象のデータ容量に依存しない。
正記憶システム100Aが故障した場合に、ホストコンピュータ180にて行っている情報処理を、ホストコンピュータ180Cおよび記憶システム100Cを用いて再開し、記憶システム100Bでのデータ複製を再開する手順を図25に、論理的な構成を示すブロック図を図42に示す。ホストコンピュータ180とホストコンピュータ180Cは同じコンピュータであってもよい。
以下の説明において、正記憶システム100Aが故障する前の正記憶システム100Aのボリューム情報は図4、ペア情報は図5、グループ情報は図6、ポインタ情報は図7、ポインタ情報を説明する図は図8とする。正記憶システム100Aが故障する前の副記憶システム100B(非同期複製)のボリューム情報は図26、ペア情報は図27、グループ情報は図28、ポインタ情報は図29、ポインタ情報を説明する図は図30とする。副記憶システム100Bは、非同期のデータ複製を行っているため、正記憶システム100Aが保持するジャーナル(更新番号3〜5)の全てを保持していない場合がある。本例では、副記憶システム100Bは、更新番号5のジャーナルを保持していない。正記憶システム100Aが故障する前の副記憶システム100C(同期複製)のボリューム情報は図31、ペア情報は図32、グループ情報は図33、ポインタ情報は図34、ポインタ情報を説明する図は図35とする。副記憶システム100Cは、同期のデータ複製を行っているため、正記憶システム100Aが保持する全てのジャーナル(更新番号3〜5)を保持する。
(1)正記憶システム100Aに故障が発生し、正論理ボリューム(DATA1、DATA2等)が使用不可能となる(ステップ2500)。
(2)ホストコンピュータ180は、記憶システム100Cに、デルタリシンクを命令する。デルタリシンク命令は、グループ単位で、非同期のデータ複製元(正論理ボリューム)を変更する命令であり、複製元情報(同期のデータ複製の副論理ボリューム(data1、data2)を保持する記憶システム番号Cとグループ番号D)、複製先情報(非同期のデータ複製の副論理ボリューム(COPY1、COPY2)を保持する記憶システム番号Bとグループ番号B)を含む。グループ番号Dとグループ番号Bは、双方ともデルタ予約オプションが“1”である(ステップ2510)。
(3)記憶システム100Cは、デルタリシンク命令を受信すると、記憶システム100Bおよび記憶システム100Cのボリューム情報、ペア情報、グループ情報を参照し、記憶システム100C内の既存の同期リモートコピーのグループであるグループに属する論理ボリュームのペア状態を“正常”から“異常”に変更する。また、記憶システム100C内のグループに属する論理ボリュームのペア状態を“デルタ待機”から“正常”に変更する。さらに、記憶システム100Cは、グループに属していたジャーナル論理ボリュームをグループにて継続して使用するようにグループ情報を変更する。具体的には、記憶システム100Cは、グループの更新番号をグループの更新番号に、グループのジャーナル論理ボリューム番号をグループのジャーナル論理ボリューム番号に変更し、グループのポインタ情報の全ての項目を、グループのポインタ情報と同じにする。デルタリシンク命令により、記憶システム100Cは、図32に示す記憶システム100Cのペア情報を図39に示すペア情報に、図33に示す記憶システム100Cのグループ情報を図40に示すグループ情報に、図31に示す記憶システム100Cのボリューム情報を図38に示すボリューム情報に変更する。
記憶システム100Cは、記憶システム100Bに対して、記憶システム100C内のグループに属する論理ボリュームのペア状態を“正常”から“異常”に変更する。また、同様に記憶システム100C内のグループに属する論理ボリュームのペア状態を“デルタ待機”から“正常”に変更する。
記憶システム100Bは、記憶システム100Bおよび記憶システム100Cのボリューム情報、ペア情報、グループ情報を参照し、記憶システム100Bのペア情報、グループ情報を変更する。記憶システム100Bは、図27に示す記憶システム100Bのペア情報を図36に示すペア情報に、図28に示すグループ情報を図37に示すグループ情報に、グループのグループ情報の状態を“停止”に変更することで、記憶システム100Aへのジャーナルリード処理を停止する。(ステップ2530、2540)。
(4)記憶システム100Cは、デルタリシンク命令の応答をホストコンピュータ180もしくは保守端末に行う。ホストコンピュータ180は、記憶システム100Cからデルタリシンク命令の応答を受領し、デルタリシンクの終了を認識し、記憶システム100Cの使用を開始する(ステップ2550、2560)。
(5)記憶システム100Bは、記憶システム100Cにジャーナルリード位置指定命令を送信する(ステップ2570)。ジャーナルリード位置指定命令は、記憶システム100Cのグループのポインタ情報を変更し、記憶システム100Bからのジャーナルリード命令により送信されるジャーナルを指定する命令であり、相手グループ番号、更新番号を含む。相手グループ番号は、グループ番号の相手グループ番号を指定する。更新番号は、グループ番号のグループ情報の更新番号に1を足した数値を指定する。図37に示す例では、グループ番号2、更新番号5を指定する。
(6)記憶システム100Cは、ジャーナルリード位置指定命令を受信した場合、ポインタ情報700を参照し、更新番号Bのジャーナルを保持しているかを調べる。記憶システム100Cは、ポインタ情報の更新情報最古アドレスの更新情報を記憶装置150から読み出し、最古(最小)の更新番号Cを得る。
更新番号Cがジャーナルリード位置指定命令の更新番号Bと等しい、もしくは小さい場合は、記憶システム100Cが更新番号Bのジャーナルを保持しているので、記憶システム100Bは、非同期のデータの複製を継続することができる。この場合、記憶システム100Cは、更新番号Bより以前のジャーナルの記憶領域を開放し、リード開始アドレスおよびリトライ開始アドレスを更新番号Bの更新情報を格納しているアドレスに変更し、“再開可能“を記憶システム100Bに返す。これにより、図34に示すポインタ情報は、図41に示すポインタ情報に変更される(ステップ2580)。
他方、更新番号Cがジャーナルリード位置指定命令の更新番号Bより大きい場合は、記憶システム100Cが記憶システム100Bに必要なジャーナルを保持していないため、記憶システム100Bにおいて非同期のデータの複製を継続することができない。この場合は、図9、図10を用いて説明した手順により、正記憶システム100Cから副記憶システム100Bに対して、データ複製を開始する必要がある。
(7)記憶システム100Bは、“再開可能”の応答を受信した場合、グループBのグループ情報の状態を“正常”に変更することで、記憶システム100Cに対し、ジャーナルリード処理を再開する(ステップ2590)。
記憶システム100Bは、ジャーナルリード位置指定命令を行わなくてもよい。この場合、記憶システム100Bは、ジャーナルリード処理を開始し、記憶システム100Cから最古のジャーナルを受信する。受信したジャーナルの更新番号Cが、グループ番号Bのグループ情報の更新番号に1を足した数値(更新番号B)より大きい場合は、記憶システム100Cが記憶システム100Bに必要なジャーナルを保持していないため、データ複製処理を中断する。受信したジャーナルの更新番号Cが、更新番号Bより小さい場合は、すでに記憶システム100Bが当該ジャーナルを保持しているため、当該ジャーナルを破棄し、ジャーナルリード処理を継続する。受信したジャーナルの更新番号Cが、更新番号Bと等しい場合は、受信したジャーナルをジャーナル論理ボリュームに格納し、ジャーナルリード処理を継続する。
図42を用いて、ホストコンピュータ180Cが記憶システム100Cの使用を開始した後の、正記憶システム100Cの正論理ボリューム(data1)へのデータ更新を副記憶システム100Bの副論理ボリューム(COPY1)に反映する動作について概説する。
(1)正記憶システム100Cは、ホストコンピュータ180Cから正論理ボリューム(data1)内のデータに対するライト命令を受信すると、前述した命令受信処理210およびリードライト処理220によって、正論理ボリューム(data1)内のデータ更新と、ジャーナル論理ボリューム(jnl1)へのジャーナルの保存を行い、ホストコンピュータにライト命令の終了を報告する(図42の4200)。
(2)副記憶システム100Bは、前述したジャーナルリード処理240によって、正記憶システム100Cからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリューム(JNL2)にジャーナルを保存する(図42の4210)。
(3)正記憶システム100Cは、副記憶システム100Bからジャーナルリード命令を受信すると、命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリューム(jnl1)からジャーナルを読み出し、副記憶システム100Bに送信する(図42の4210)。
(4)副記憶システム100Bは、リストア処理250およびリードライト処理220によって、ポインタ情報700を用いて、更新番号の昇順に、ジャーナル論理ボリューム(JNL2)からジャーナルを読み出し、副論理ボリューム(COPY1)のデータを更新する(図42の4220)。従って、正記憶システム100C内の正論理ボリューム(data1)と副記憶システム100B内の副論理ボリューム(COPY1)のデータは、正論理ボリュームの更新の暫く後には、完全に一致する。
次に、デルタリシンク用のグループ及びペアを生成した後に、ジャーナル論理ボリュームの障害や、記憶システムCと記憶システムBの間の接続パス200の切断などの障害により、デルタリシンク用のペア状態が“デルタ異常”に遷移した後の回復手段であるデルタ回復処理2600について図43を用いて説明を行う。
ユーザはペア状態を“デルタ異常”として検知した後、まず障害を取り除く。その後、ホストコンピュータ180は、デルタ回復処理指示を行う。デルタ回復処理指示は、指示対象グループ番号D、相手記憶システム番号B、相手グループ番号Bからなる。
まず、副記憶システム100Cは、指示対象グループ番号Dの論理ボリュームに対応するグループ番号Cに対し、ジャーナル複製処理を再開する(ステップ2610)。
次に、副記憶システム100Cは、“デルタ異常”になっているグループ番号Dの論理ボリュームのペア状態を、“デルタ準備”に変更する(ステップ2620)。
次に、副記憶システム100Cは、前述のデルタ予約処理と同様の、デルタリシンクが可能か否かのチェックを行う(ステップ2630)。すなわち、まずデルタリシンク用に登録したペアを複製先としている2つのグループの複製対象が一致し、かつ、ペア数も一致しているかを、副記憶システム100Cは、次のような手順で比較し、判定する。
副記憶システム100Cは、ペア情報500の中から、指定されたグループ番号Dであるペアの正記憶システム番号Cと正論理ボリューム番号Cと同一である副記憶システム番号と副論理ボリューム番号を持つペア情報を抽出し、そこから正記憶システム番号A2と正論理ボリューム番号A1を取得する(ステップ4630)。次に、副記憶システム100Cは、正記憶システム番号Cと正論理ボリューム番号Cに対応する副記憶システム番号Bである副記憶システム100Bから、正記憶システム番号Cと正論理ボリューム番号Cに対応する副記憶システム番号Bと副論理ボリュームBを複製先として有し、デルタ予約オプションが“1”でないグループ番号もつペアの正記憶システム番号A2と、正論理ボリューム番号A2を取得する(ステップ4640)。そして副記憶システム100Cは、取得した正記憶システム番号A1及び正論理ボリューム番号A1と、正記憶システム番号A2と正論理ボリューム番号A2が一致するかを判定する(ステップ4650)。この判定を、ステップ4660、ステップ4620を経て指定されたグループ番号Cであるペア全てに対して行う。
この判定で不一致がでた場合は、副記憶システム100Cは、エラーで完了する。
次のチェックとして、副記憶システム100Cは、デルタリシンクを行う場合に必要なジャーナルデータの転送が行われているかを比較し判定する。
まず、副記憶システム100Cは、グループ情報600の中で、指定されたグループ番号Dでデルタ予約オプションが“1”であるグループ番号に記載されている相手記憶システム番号Bである副記憶システム100Bから、当該グループ番号に記載されている相手グループ番号Bであるグループの更新番号Bに1を足した数値B1を取得する(ステップ4672)。次に、記憶システム100Cは、ポインタ情報700を参照し、更新番号Bのジャーナルを保持しているかを調べる。記憶システム100Cは、ポインタ情報の更新情報最古アドレスの更新情報を記憶装置150から読み出し、最古(最小)の更新番号Cを得る(ステップ4674)。更新番号Cが取得した更新番号B1と比較し(ステップ4676)、更新番号Cが更新番号B1と等しい、もしくは更新番号B1より小さい場合は、記憶システム100Cが更新番号Bのジャーナルを保持しているので、デルタリシンクが可能な状態と判定する(ステップ4678)。
デルタリシンクが可能な状態と判定した場合は、当該グループ番号のペア情報500のペア状態を“デルタ待機”に変更し、処理を終了する。
前述の処理においては、ホストコンピュータ180が記憶システムに対して行う指示は、上述のストレージ管理プログラムが提供するユーザインタフェースを介してユーザの操作による入力を契機で行っていることを意味する。この構成を図44を用いて説明する。図44では計算機システム100Aと、それに接続されているホストコンピュータ180を用いて説明するが、記憶システム100B、及び、記憶システム100Cについても同様である。
ホストコンピュータ180は、CPU180−1、主記憶装置180−2、インターフェース(I/F)180−3及び管理I/F180−4によって構成される。また、ホストコンピュータ180にはホストコンピュータサービスプロセッサ(SVP)180−5が接続される。
CPU180−1は、ホストコンピュータ180における処理装置である。すなわち、主記憶装置180−2に格納されているOSやプログラム等を読み込んで実行し、そのOSやプログラムに規定された処理を実行する。
主記憶装置180−2は、DRAM等のメモリ装置によって構成される。この主記憶装置180−2には、OS180−6、ストレージ管理プログラム180−7が格納される。
OS180−6は、ホストコンピュータ180のオペレーティングシステムである。OS180−6がCPU180−1によって実行されることで、ホストコンピュータ180の基本的な動作をする。
ストレージ管理プログラム180−7は、記憶システム100の管理を行うため、計算機システム100に制御コマンドを発行し、また、ユーザインタフェースを提供するプログラムで、CPU180−1に読み込まれて実行される。
I/F180−3は、記憶システム100とデータを送受信するインターフェースである。
ホストコンピュータSVP180−5は、管理者ユーザ等の指示よって、ホストコンピュータ180にメンテナンス等の指示を入力する入出力用制御端末であり、ホストコンピュータ180はホストコンピュータSVP180−5とデータを送受信するインターフェースである管理I/F180−4を持つ。
ストレージ管理プログラム180−7は、実施形態で説明したデルタリシンク用ペア作成及び状態情報表示を含むストレージ管理を行う。
命令受信処理210は、実施形態で説明したデルタリシンク用のペアの予約処理、ペア状態管理を含む命令受信処理を行う。
ペア情報500は、実施形態で説明したデルタリシンク用の予約ペアの状態情報を含むペア情報をである。ペア情報500の詳細は、例えば図5、図27、図32である。
グループ情報600は、実施形態で説明したデルタリシンク用の予約ペアのためのオプション情報を含むグループ情報をである。グループ情報600の詳細は、例えば図6、図28、図33である。
また、ホストコンピュータ180は、ユーザのデータ入力を容易にするためにグラフィカルユーザインタフェース(GUI)を有することとしていてもよい。このGUIは、例えばホストコンピュータ180に接続される記憶システム100A、100B、100Cをその接続トポロジーの通りにホストコンピュータSVP180−5に表示する。そして、GUIは、ユーザからの指示を受け付けて、指示された記憶システム100A、100B、100Cにおいて、リモートコピーペアの管理コマンド情報を作成してストレージ管理プログラム180−7に指示することとしてもよい。また、GUIを用いて、記憶システム100A、100B、100C間のデルタリシンク用ペアを含むペアやグループの情報をホストコンピュータSVP180−5に視覚的に表示してもよい。これにより、ユーザは、個々のペアやグループをGUIのインタフェースにより選択することができ、容易にデルタリシンクの運用指示をホストコンピュータ180に指示することができる。また、記憶システム100Bと記憶システム100Cの間のデルタリシンク用のペア情報を、記憶システム100A及記憶システムB間のペア情報、及び、記憶システム100A及び記憶システム100Cの間のペア情報を参照する形態で指示してもよい。これにより、デルタ予約処理時のエラー発生を低減することができる。この時のGUIの例を図45に示す。
前述した実施形態の計算機システムでは、記憶システムCが記憶システムAからの更新番号および更新時刻を用いて、ジャーナルを作成する。データ複製対象の記憶システムAが故障し、記憶システムCを用いて情報処理を継続する場合に、記憶システムBは、記憶システムAから記憶システムCにジャーナルの取得先を変更する。これにより、記憶システムBは、データの整合性を維持しつつ、記憶システムAのデータの複製を継続できる。さらに、ジャーナルを管理する管理情報は、複製対象のデータ容量に依存しない。
前述した本発明の計算機システムでは、デルタリシンク用のペアの状態を、記憶システムの状態に基づき、デルタリシンク可能な“デルタ待機”、障害などのユーザ操作を必要とする“デルタ異常”、デルタリシンク用ペアの登録処理中や、“デルタ異常”からの回復中で、デルタリシンク不可な“デルタ準備”の3つの状態を用いてユーザに表示を行う。また、デルタリシンク用のペアを、デルタリシンクを行う前に予め専用のペアとして登録するデルタ予約処理手順をユーザに提供する。更に、“デルタ準備”及び“デルタ異常”から“デルタ待機”へのペア状態遷移を指示するデルタ回復処理手順をユーザに提供する。これによりユーザは、デルタリシンク用ペアの管理を、デルタリシンク指示前に行うことが可能になる。
以上に述べた通り、本実施形態での計算機システムでは、記憶システムAもしくは記憶システムAを用いて処理を行っている計算機の故障や保守のための計画停止の際に、記憶システムCを用いて業務を継続するために、記憶システムCと記憶システムBの間でデータの整合性を維持しつつ差分に相当するデータをコピーすることで同一性を確保するデルタリシンクを行う場合に、記憶システムCと記憶システムBにおけるデータ転送設定を予めホストコンピュータから監視することができ、デルタリシンクできない状態を解消することができる。その結果、デルタリシンクできる状態の期間を延ばすことができ、記憶システムAに障害が発生した場合も、直ちに、記憶システムCがデルタリシンクを行い、業務を引き継ぐことができる。 以上、本発明者によってなされた発明を実施例の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明の一実施形態の論理的な構成を示すブロック図である。 本発明の一実施形態の記憶システムのブロック図である。 本発明の一実施形態の更新情報とライトデータの関係を説明する図である。 本発明の一実施形態のボリューム情報の例を説明する図である。 本発明の一実施形態のペア情報の例を説明する図である。 本発明の一実施形態のグループ情報の例を説明する図である。 本発明の一実施形態のポインタ情報の例を説明する図である。 本発明の一実施形態のジャーナル論理ボリュームの構造を説明する図である。 本発明の一実施形態のデータの複製を開始する手順を説明するフローチャートである。 本発明の一実施形態の初期コピー処理を説明するフローチャートである。 本発明の一実施形態の命令受信処理を説明する図である。 本発明の一実施形態の命令受信処理のフローチャートである。 本発明の一実施形態のジャーナル作成処理のフローチャートである。 本発明の一実施形態のジャーナルリード受信処理を説明する図である。 本発明の一実施形態のジャーナルリード受信処理のフローチャートである。 本発明の一実施形態のジャーナルリード処理を説明する図である。 本発明の一実施形態のジャーナルリード処理のフローチャートである。 本発明の一実施形態のジャーナル格納処理のフローチャートである。 本発明の一実施形態のリストア処理を説明する図である。 本発明の一実施形態のリストア処理のフローチャートである。 本発明の一実施形態の更新情報の例を説明する図である。 本発明の一実施形態のジャーナル作成処理時の更新情報の例を説明する図である。 本発明の一実施形態のリモートライト命令受信処理のフローチャートである。 本発明の一実施形態のジャーナル複製処理のフローチャートである。 本発明の一実施形態の正記憶システム100Aが故障した場合に記憶システム間のデータ複製を再開する手順を説明するフローチャートである。 本発明の一実施形態のボリューム情報の例を説明する図である。 本発明の一実施形態のペア情報の例を説明する図である。 本発明の一実施形態のグループ情報の例を説明する図である。 本発明の一実施形態のポインタ情報の例を説明する図である。 本発明の一実施形態のジャーナル論理ボリュームの構造を説明する図である。 本発明の一実施形態のボリューム情報の例を説明する図である。 本発明の一実施形態のペア情報の例を説明する図である。 本発明の一実施形態のグループ情報の例を説明する図である。 本発明の一実施形態のポインタ情報の例を説明する図である。 本発明の一実施形態のジャーナル論理ボリュームの構造を説明する図である。 本発明の一実施形態のペア情報の例を説明する図である。 本発明の一実施形態のグループ情報の例を説明する図である 本発明の一実施形態のボリューム情報の例を説明する図である。 本発明の一実施形態のペア情報の例を説明する図である。 本発明の一実施形態のグループ情報の例を説明する図である。 本発明の一実施形態のポインタ情報の例を説明する図である。 本発明の一実施形態の正記憶システム100Aが故障した場合の動作を説明するブロック図である。 本発明の一実施形態のデルタ回復処理のフローチャートである。 本発明の一実施形態のホストコンピュータ180とデルタリシンクに関連する部位の論理的な構成を示すブロック図である。 本発明の一実施形態のGUIの例を説明する図である。 本発明の一実施形態のデルタリシンクが可能か否かを判定する処理を説明する図である。
符号の説明
100 記憶システム
110 ホストアダプタ
120 ディスクアダプタ
130 キャッシュメモリ
140 共有メモリ
150 記憶装置
160 コモンパス
170 ディスクアダプタと記憶装置間の接続線
180 ホストコンピュータ

Claims (8)

  1. ホストコンピューターと、
    第一のグループを構成する複数の第一論理ボリュームを有し、前記ホストコンピュータに接続する第一の記憶システムと、
    前記複数の第一論理ボリュームに対応した複数の第二論理ボリュームを有し、同期リモートコピー方式を用いて、前記複数の第一論理ボリュームのデータの複製を前記複数の第二論理ボリュームに格納する、第二の記憶システムと、
    前記第一のグループに対応する第三のグループを構成する複数の第三論理ボリュームを有し、非同期リモートコピー方式を用いて、前記第一のグループのデータの複製を前記第三のグループを構成する前記複数の第三論理ボリュームに格納する、第三の記憶システムと、
    を有し、
    前記第二の記憶システムは、同期リモートコピーを行う前記複数の第一論理ボリュームと前記複数の第二論理ボリュームとの第一のペアを管理し、
    前記第三の記憶システムは、非同期リモートコピーを行う前記第一のグループと前記第三のグループとの第二のペアを管理し、
    前記第二の記憶システムは、
    さらに、前記複数の第二論理ボリュームを含む第二のグループと、前記第三のグループとの第三のペアを管理し、
    前記第一及び第二のペアにおけるリモートコピーが行われている間に、前記ホストコンピュータより、前記第二のグループのデータのうち前記第三のグループが格納していないデータである差分データを前記第三のグループに転送する、非同期リモートコピーの予約指示を受信すると、前記第三のペアの非同期リモートコピーの準備を開始し、前記第二のグループを構成する複数の第二論理ボリュームと、前記第三のグループを構成する複数の第三論理ボリュームとが同数であるかを判定し、判定の結果、同数である場合に、前記第三のペアの非同期リモートコピーが可能であると判断し、
    前記第三のペアの非同期リモートコピーによる転送を開始する指示を受け付けるまで、前記転送を開始しない待機状態を維持する
    ことを特徴とする計算機システム。
  2. 請求項1記載の計算機システムであって、
    前記第二の記憶システムは、前記第三のペアの非同期リモートコピーによる転送を開始する指示を受け付けると、前記予約された前記第三のペアの非同期リモートコピーを開始して、前記差分データを転送することを特徴とする計算機システム。
  3. 請求項1または請求項2記載の計算機システムであって、
    前記ホストコンピュータは、グラフィカルユーザインターフェースと、前記第一のペア及び前記第二のペアの状態情報を有し、
    前記グラフィカルユーザーインターフェースに前記第一のペア状態と前記第二のペア状態とを提示して、ユーザからの入力を受け付けて、前記第三のペアの非同期リモートコピーの予約指示を行う
    ことを特徴とする計算機システム。
  4. 請求項1ないし請求項3のいずれか1つに記載の計算機システムであって、
    非同期リモートコピー方式を用いた前記第一のグループのデータを前記第三のグループを構成する前記複数の第三論理ボリュームへ格納する処理として、前記第一の記憶システムは、前記ホストコンピュータから送信されたライトデータを受信し、ライトデータに対応したジャーナルを生成し、前記第三の記憶システムへ送信し、
    非同期リモートコピー方式を用いた前記第一のグループのデータを前記第三のグループを構成する前記複数の第三論理ボリュームへ格納する処理として、前記第三の記憶システムは、前記ジャーナルを受信し、前記複数の第三論理ボリュームへ格納する、
    ことを特徴とする計算機システム。
  5. ホストコンピューターと、
    第一のグループを構成する複数の第一論理ボリュームを有し、前記ホストコンピュータに接続する第一の記憶システムと、
    前記複数の第一論理ボリュームに対応した複数の第二論理ボリュームを有する第二の記憶システムと、
    前記第一のグループに対応する第三のグループを構成する複数の第三論理ボリュームを有する第三の記憶システムと、
    から構成される計算機システムのデータ複製管理方法であって、
    前記第二の記憶システムは、同期リモートコピー方式を用いて、前記複数の第一論理ボリュームのデータの複製を前記複数の第二論理ボリュームに格納し、
    前記第三の記憶システムは、非同期リモートコピー方式を用いて、前記第一のグループのデータの複製を前記第三のグループを構成する前記複数の第三論理ボリュームに格納し、
    前記第二の記憶システムは、同期リモートコピーを行う前記複数の第一論理ボリュームと前記複数の第二論理ボリュームとの第一のペアを管理し、
    前記第三の記憶システムは、非同期リモートコピーを行う前記第一のグループと前記第三のグループとの第二のペアを管理し、
    前記第二の記憶システムは、
    さらに、前記複数の第二論理ボリュームを含む第二のグループと、前記第三のグループとの第三のペアを管理し、
    前記第一及び第二のペアにおけるリモートコピーが行われている間に、前記ホストコンピュータより、前記第二のグループのデータのうち前記第三のグループが格納していないデータである差分データを前記第三のグループに転送する、非同期リモートコピーの予約指示を受信すると、前記第三のペアの非同期リモートコピーの準備を開始し、前記第二のグループを構成する複数の第二論理ボリュームと、前記第三のグループを構成する複数の第三論理ボリュームとが同数であるかを判定し、判定の結果、同数である場合に、前記第三のペアの非同期リモートコピーが可能であると判断し、
    前記第三のペアの非同期リモートコピーによる転送を開始する指示を受け付けるまで、前記転送を開始しない待機状態を維持する、
    ことを特徴とする計算機システムのデータ複製管理方法。
  6. 請求項5記載の計算機システムのデータ複製管理方法であって、
    前記第二の記憶システムは、前記第三のペアの非同期リモートコピーによる転送を開始する指示を受け付けると、前記予約された前記第三のペアの非同期リモートコピーを開始して、前記差分データを転送することを特徴とする計算機システムのデータ複製管理方法。
  7. 請求項5または請求項6記載のデータ複製管理方法であって、
    前記ホストコンピュータは、グラフィカルユーザインターフェースを有し、
    前記ホストコンピュータは、グラフィカルユーザインターフェースと、前記第一のペア及び前記第二のペアの状態情報を有し、
    前記グラフィカルユーザーインターフェースに前記第一のペア状態と前記第二のペア状態とを提示して、ユーザからの入力を受け付けて、前記第三のペアの非同期リモートコピーの予約指示を行う
    ことを特徴とするデータ複製管理方法。
  8. 請求項4ないし請求項7のいずれか1つに記載のデータ複製管理方法であって、
    前記非同期リモートコピー方式を用いた前記第一のグループのデータを前記第三のグループを構成する前記複数の第三論理ボリュームへ格納する処理として、前記第一の記憶システムは、前記ホストコンピュータから送信されたライトデータを受信し、ライトデータに対応したジャーナルを生成し、前記第三の記憶システムへ送信し、
    前記非同期リモートコピー方式を用いた前記第一のグループのデータを前記第三のグループを構成する前記複数の第三論理ボリュームへ格納する処理として、前記第三の記憶システムは、前記ジャーナルを受信し、前記複数の第三論理ボリュームへ格納する、
    ことを特徴とするデータ複製管理方法。
JP2006121541A 2006-04-26 2006-04-26 計算機システム及び計算機システムの制御方法 Expired - Fee Related JP4887893B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006121541A JP4887893B2 (ja) 2006-04-26 2006-04-26 計算機システム及び計算機システムの制御方法
US11/486,160 US7512757B2 (en) 2006-04-26 2006-07-14 Computer system and control method for the computer system
US12/366,685 US7809887B2 (en) 2006-04-26 2009-02-06 Computer system and control method for the computer system
US12/877,217 US7958306B2 (en) 2006-04-26 2010-09-08 Computer system and control method for the computer system
US13/093,877 US8108606B2 (en) 2006-04-26 2011-04-26 Computer system and control method for the computer system
US13/334,123 US8266377B2 (en) 2006-04-26 2011-12-22 Computer system and control method for the computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006121541A JP4887893B2 (ja) 2006-04-26 2006-04-26 計算機システム及び計算機システムの制御方法

Publications (3)

Publication Number Publication Date
JP2007293652A JP2007293652A (ja) 2007-11-08
JP2007293652A5 JP2007293652A5 (ja) 2009-02-19
JP4887893B2 true JP4887893B2 (ja) 2012-02-29

Family

ID=38649111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006121541A Expired - Fee Related JP4887893B2 (ja) 2006-04-26 2006-04-26 計算機システム及び計算機システムの制御方法

Country Status (2)

Country Link
US (5) US7512757B2 (ja)
JP (1) JP4887893B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805495B2 (en) * 2005-03-31 2010-09-28 Google Inc. Method and system for transferring web browser data between web browsers
US7996608B1 (en) 2005-10-20 2011-08-09 American Megatrends, Inc. Providing redundancy in a storage system
US8010829B1 (en) 2005-10-20 2011-08-30 American Megatrends, Inc. Distributed hot-spare storage in a storage cluster
JP4887893B2 (ja) * 2006-04-26 2012-02-29 株式会社日立製作所 計算機システム及び計算機システムの制御方法
JP4842720B2 (ja) * 2006-06-29 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ複製方法
US7908448B1 (en) 2007-01-30 2011-03-15 American Megatrends, Inc. Maintaining data consistency in mirrored cluster storage systems with write-back cache
JP5090022B2 (ja) * 2007-03-12 2012-12-05 株式会社日立製作所 計算機システム、アクセス制御方法及び管理計算機
US8108580B1 (en) * 2007-04-17 2012-01-31 American Megatrends, Inc. Low latency synchronous replication using an N-way router
WO2009032712A2 (en) 2007-08-29 2009-03-12 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
US8443011B2 (en) 2008-04-30 2013-05-14 Netapp, Inc. Graphical storage system visualization, timeline based event visualization, and storage system configuration visualization
US8250031B2 (en) * 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
US20100146188A1 (en) * 2008-12-09 2010-06-10 Bramante William J Replicated file system for electronic devices
US8055943B2 (en) * 2009-04-24 2011-11-08 International Business Machines Corporation Synchronous and asynchronous continuous data protection
JP5508798B2 (ja) * 2009-09-29 2014-06-04 株式会社日立製作所 クラスタを考慮してレプリケーションを管理する管理方法及びシステム
JP5286212B2 (ja) * 2009-09-29 2013-09-11 株式会社日立製作所 ストレージクラスタ環境でのリモートコピー制御方法及びシステム
US8886597B2 (en) * 2009-10-28 2014-11-11 Sandisk Il Ltd. Synchronizing changes in a file system which are initiated by a storage device and a host device
US8650563B2 (en) * 2010-02-26 2014-02-11 Red Hat Israel, Ltd. Identification and placement of new virtual machines to reduce memory consumption based on shared images with hosted virtual machines
JP5435234B2 (ja) * 2010-03-29 2014-03-05 日本電気株式会社 ストレージ装置及びこれを用いたデータ転送方法
WO2013070273A1 (en) * 2011-04-01 2013-05-16 Nexsan Corporation Journaling raid system
US8621121B1 (en) * 2012-09-26 2013-12-31 Emc Corporation Detecting bogus IOs in a multipathing driver
US9213753B2 (en) * 2013-11-18 2015-12-15 Hitachi, Ltd. Computer system
KR101964230B1 (ko) * 2013-12-16 2019-04-02 한화테크윈 주식회사 데이터 처리 시스템
WO2015097737A1 (ja) * 2013-12-24 2015-07-02 株式会社日立製作所 バックアップシステム
JP2015166965A (ja) * 2014-03-04 2015-09-24 日本電気株式会社 バックアップ制御装置及びバックアップ制御方法、記憶装置システム、通信装置
US10587688B2 (en) * 2014-09-19 2020-03-10 Netapp, Inc. Techniques for coordinating parallel performance and cancellation of commands in a storage cluster system
US10025946B1 (en) 2015-12-08 2018-07-17 Gravic, Inc. Method of controlling whether an uncompleted transaction applied against a database goes forward or is aborted, and for modifying the uncompleted transaction so that it can go forward
US9569473B1 (en) * 2015-12-08 2017-02-14 Gravic, Inc. Method of controlling whether an uncompleted transaction applied against a database goes forward using either synchronous or asynchronous replication, or using either encrypted replication or unencrypted replication
US10025845B1 (en) 2015-12-08 2018-07-17 Gravic, Inc. Method of logging non-durable attributes of an uncompleted transaction so as to make such attributes durable
US11093170B2 (en) * 2019-04-02 2021-08-17 EMC IP Holding Company LLC Dataset splitting based on workload footprint analysis

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312327A (ja) * 1997-05-13 1998-11-24 Oki Electric Ind Co Ltd ミラーリング監視方式
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US6209002B1 (en) * 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
AU6915400A (en) * 1999-08-16 2001-03-19 Z-Force Corporation System of reusable software parts and methods of use
US7177866B2 (en) * 2001-03-16 2007-02-13 Gravic, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US7103586B2 (en) * 2001-03-16 2006-09-05 Gravic, Inc. Collision avoidance in database replication systems
US6910098B2 (en) * 2001-10-16 2005-06-21 Emc Corporation Method and apparatus for maintaining data coherency
US6745303B2 (en) * 2002-01-03 2004-06-01 Hitachi, Ltd. Data synchronization of multiple remote storage
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US20040107381A1 (en) * 2002-07-12 2004-06-03 American Management Systems, Incorporated High performance transaction storage and retrieval system for commodity computing environments
US20040243699A1 (en) * 2003-05-29 2004-12-02 Mike Koclanes Policy based management of storage resources
US7130975B2 (en) 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
JP4374953B2 (ja) * 2003-09-09 2009-12-02 株式会社日立製作所 データ処理システム
JP2005062928A (ja) * 2003-08-11 2005-03-10 Hitachi Ltd 複数のサイトにリモートコピーを行うシステム
US20050050115A1 (en) * 2003-08-29 2005-03-03 Kekre Anand A. Method and system of providing cascaded replication
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
JP4887893B2 (ja) 2006-04-26 2012-02-29 株式会社日立製作所 計算機システム及び計算機システムの制御方法
US7627729B2 (en) * 2006-09-07 2009-12-01 International Business Machines Corporation Apparatus, system, and method for an improved synchronous mirror swap
US20090031097A1 (en) * 2007-07-29 2009-01-29 Lee Nelson Creating Backups in Storage Systems

Also Published As

Publication number Publication date
US20110202738A1 (en) 2011-08-18
US8266377B2 (en) 2012-09-11
US20110004736A1 (en) 2011-01-06
US20070254922A1 (en) 2007-11-01
US7958306B2 (en) 2011-06-07
JP2007293652A (ja) 2007-11-08
US20090150630A1 (en) 2009-06-11
US7512757B2 (en) 2009-03-31
US7809887B2 (en) 2010-10-05
US20120096232A1 (en) 2012-04-19
US8108606B2 (en) 2012-01-31

Similar Documents

Publication Publication Date Title
JP4887893B2 (ja) 計算機システム及び計算機システムの制御方法
JP4374953B2 (ja) データ処理システム
JP4124348B2 (ja) 記憶システム
EP2120147B1 (en) Data mirroring system using journal data
JP4412989B2 (ja) 複数の記憶システムを有するデータ処理システム
US7827367B2 (en) Backup control method for acquiring plurality of backups in one or more secondary storage systems
US7464236B2 (en) Storage system and storage management method
US7302535B2 (en) Data replication in a storage system
US20080313497A1 (en) Data processing system
EP1507205A2 (en) Multi-site remote-copy system
US7590809B2 (en) Remote copy system
US8255649B2 (en) Remote copy control method and system in storage cluster environment
US20110251993A1 (en) Asynchronous remote copy system and storage control method
US20110251999A1 (en) Asynchronous remote copy system and storage control method
JP4124374B2 (ja) 記憶システム
JP5331892B2 (ja) ストレージシステム及びストレージシステムにおけるデータ複製方法
JP2010020410A (ja) リモートコピーシステム及びリモートコピー方法
JP4249240B2 (ja) 記憶システム
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication
CN112445652A (zh) 远程复制系统
JP4249247B2 (ja) 記憶システム
US11256586B2 (en) Remote copy system and remote copy management method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111028

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4887893

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees