JP4476683B2 - データ処理システム - Google Patents

データ処理システム Download PDF

Info

Publication number
JP4476683B2
JP4476683B2 JP2004133418A JP2004133418A JP4476683B2 JP 4476683 B2 JP4476683 B2 JP 4476683B2 JP 2004133418 A JP2004133418 A JP 2004133418A JP 2004133418 A JP2004133418 A JP 2004133418A JP 4476683 B2 JP4476683 B2 JP 4476683B2
Authority
JP
Japan
Prior art keywords
storage system
data
journal
update
logical volume
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
JP2004133418A
Other languages
English (en)
Other versions
JP2005316684A (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 JP2004133418A priority Critical patent/JP4476683B2/ja
Priority to US10/879,472 priority patent/US7117327B2/en
Priority to EP05252482.4A priority patent/EP1591900B1/en
Publication of JP2005316684A publication Critical patent/JP2005316684A/ja
Priority to US11/328,059 priority patent/US7167963B2/en
Priority to US11/595,853 priority patent/US7240173B2/en
Priority to US11/798,798 priority patent/US7415589B2/en
Priority to US12/216,724 priority patent/US7660957B2/en
Priority to US12/651,531 priority patent/US7917714B2/en
Application granted granted Critical
Publication of JP4476683B2 publication Critical patent/JP4476683B2/ja
Priority to US13/028,288 priority patent/US8205051B2/en
Priority to US13/472,621 priority patent/US8316198B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • G06F11/2076Synchronous 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/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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Description

本発明は、複数の記憶システムを有するデータ処理システムに関し、特に記憶システム間でのデータ複製および障害時のデータ複製の継続および再開を行う技術に関する。
近年、顧客に対して常に継続したサービスを提供するために、データを記憶するストレージ装置等の記憶システムに障害が発生した場合でもサービスを提供できるよう、複数の記憶システム間でのデータ複製に関する技術、特に遠隔サイト間でのデータ複製および障害時のデータ複製の継続・再開のための技術が重要となっている。複数の記憶システムを有するデータ処理システムにおいて第一の記憶システムに格納された情報を第二および第三の記憶システムに複製する技術として、以下の特許文献に開示された技術が存在する。
特許文献1には、三つの記憶システム間で、第一の記憶システムが、第一の記憶システムに格納されたデータを第二の記憶システムに転送(コピー)し、さらに第二の記憶システムが、前記転送されたデータを複製して第三の記憶システムに転送(コピー)する技術が開示されている。計算機と第一の記憶システムとは通信リンクにより接続され、第一の記憶システムと第二の記憶システムとは通信リンクにより接続され、さらに第二の記憶システムと第三の記憶システムとは通信リンクにより接続されている。第一の記憶システムは、複製対象の第一の論理ボリュームを保持する。第二の記憶システムは、第一の論理ボリュームの複製である第二の論理ボリューム、および、第二の論理ボリュームの複製である第三の論理ボリュームを保持する。第三の記憶システムは、第三の論理ボリュームの複製である第四の論理ボリュームを保持する。第二の記憶システムは、第二の論理ボリュームから第三の論理ボリュームへのデータ複製処理と、第三の論理ボリュームから第四の論理ボリュームへのデータ複製処理とを排他的に実行する。
米国特許6209002号明細書
前記特許文献1に開示された技術では、前記第一の論理ボリュームと第四の論理ボリュームとのデータの差異を管理していない。そのため、前記第二の記憶システムで障害が発生した場合、前記第四の論理ボリュームにおいてデータ複製を再開するためには、データの差異が不明なことから前記第一の論理ボリュームの全データを第三の記憶システムに転送(コピー)する必要がある。その間、前記第一の論理ボリュームについての完全な複製が存在しない状態となるため、この間の処理において要する時間は極力短くなることが好ましい。しかし、当該時間は、複製対象のデータ(前記第一の論理ボリューム)の量に比例して大きくなるという問題がある。
本発明は以上のような問題に鑑みてなされたものであり、その目的は、複数の記憶システムを有し、第一の記憶システムに格納された複製対象の第一の論理ボリュームを第二および第三の記憶システムに複製するデータ処理システムにおいて、データの整合性を維持しつつ高速かつ効率的にデータ複製を行い、構成要素において障害が発生した場合にも複製先の論理ボリュームにおいてデータ複製を再開するまでに要する時間を短くすることができ、さらに複製先の論理ボリュームを最新にするまでの間もデータの整合性を維持できる技術を提供することである。前記データ複製の再開とは、複製先の複製データを複製元のデータ(前記第一の論理ボリューム)と一致させて最新にし、完全な複製を保持する状態となることである。
また、本発明の目的は、前記複製を保持する第二の記憶システムで障害が発生した場合に、前記第二の記憶システムの保持する複製をもとに複製を保持する第三の記憶システムの保持する論理ボリュームにおいてデータ複製を再開するまでに要する時間を短くすることができる技術を提供することである。
さらに、本発明の目的は、前記第二の記憶システムが障害から回復した場合に、第二の記憶システムの保持する論理ボリュームにおいてデータ複製を再開するまでに要する時間を短くする技術を提供することである。
さらに、本発明の目的は、前記第一の記憶システムを使用する計算機(ホストコンピュータ)で障害が発生し、前記第二の記憶システムを利用して処理を継続・再開する場合に、二つ以上の記憶システム(前記第一および第三の記憶システム)でデータの複製を保持する技術を提供することである。
前記目的を達成するために、本発明のデータ処理システムは、制御部(記憶装置制御装置)と記憶装置とを備えデータを記憶領域に格納する機能を備える複数の記憶システムを有し、これらが通信線で接続され前記記憶システム間でデータの複製を行って複製データを保持するデータ処理システムであって、以下の構成を有することを特徴とする。
本発明のデータ処理システムは、第一、第二、第三の少なくとも三つの記憶システムを有し、例えばそれぞれ離れたサイトに配置される。第一の記憶システムは、複製対象のデータである第一のデータ(正論理ボリューム)を保持し、第二の記憶システムは、第一のデータの複製である第二のデータ(副論理ボリューム)を保持し、第三の記憶システムは、第一のデータの複製である第三のデータ(副論理ボリューム)を保持する。ホストコンピュータ等が通信線を通じて第一の記憶システムを使用し第一のデータにアクセスして情報処理を行う。
本発明のデータ処理システムは、第一の記憶システムの第一のデータのデータ更新と同期で、第二の記憶システムの第二のデータのデータ更新と、第一および第二のデータのデータ更新に関する情報をデータ更新順序の識別子を含んだジャーナルとして作成して第一、第二の記憶システムの少なくともいずれかの記憶領域に格納する処理とを行い、また、第一のデータのデータ更新とは非同期で、前記ジャーナルを第三の記憶システムの記憶領域に転送(コピー)して格納し、このジャーナルを用いて第三の記憶システムが第一の記憶システムでのデータ更新順序に従って第三のデータのデータ更新を行うことを特徴とする。
本発明のデータ処理システムは、記憶システム間のデータ複製の方式(モード)として、同期データ複製と非同期データ複製とを有し、これを記憶システム間で行う。第一のデータを保持する第一の記憶システムと、第二のデータを保持する第二の記憶システムとで同期データ複製を行い、第二のデータを保持する第二の記憶システムと第三のデータを保持する第三の記憶システムとで非同期データ複製を行う。
前記同期データ複製は、正論理ボリュームのデータ更新に同期で、副論理ボリュームのデータ更新を通信線を介して命令して行わせる。記憶システムではデータ更新と共にデータ更新に関する情報をジャーナルとして作成して記憶領域に格納する。
前記非同期データ複製は、正論理ボリュームのデータ更新に非同期で、副論理ボリュームのデータ更新を通信線を介した前記ジャーナルの転送(コピー)に基づき行わせる。記憶システム間でデータ更新に必要なジャーナルを転送(コピー)し、第三の記憶システムは副論理ボリュームに対して前記ジャーナルによる更新反映すなわち正論理ボリュームにおけるデータ更新分に対応するライトデータの書き込みによるデータ更新を行う。この更新反映の際は、ジャーナルの持つ更新情報に従って正論理ボリュームにおけるデータの更新順序に従ったデータ更新を行う。
本発明のデータ処理システムは、通常の運用時は、第一の記憶システムは、ホストコンピュータからの命令に基づき第一のデータのデータ更新を行うと共に、第二の記憶システムに命令して第二のデータのデータ更新を行わせ、このデータ更新に関する情報をジャーナルとして作成させる。第二の記憶システムは第一の記憶システムからの命令に基づき第二のデータのデータ更新を行う共に前記ジャーナルを作成して第二の記憶システム内のジャーナル用記憶領域に格納する。
あるいは、第一の記憶システムは、ホストコンピュータからの命令に基づき第一のデータのデータ更新を行うと共に、このデータ更新に関する情報を第一のジャーナルとして作成してこれを第一の記憶システム内のジャーナル用記憶領域に格納し、第二の記憶システムに命令して第二のデータのデータ更新を行わせ、このデータ更新に関する情報を第二のジャーナルとして作成させる。第二の記憶システムは第一の記憶システムからの命令に基づき第二のデータのデータ更新を行う共に、第二のジャーナルを作成して記憶領域に格納する。
前記ジャーナルは、具体的には、更新に用いられたデータ(ホストコンピュータからの第一のデータに対する更新の命令(ライト命令等)に付随するライトデータ)のコピーと、更新情報とを有して構成される。前記更新情報は、更新時のライト命令等や、データ更新順序の識別子として更新番号もしくは更新時刻等を有して構成される。
第一の記憶システムは、第一のデータのデータ更新の際、これと同期で、第一、第二の記憶システム間の通信線を介して、第二の記憶システムに対し第二のデータのデータ更新の命令をリモートライト命令等により行いデータ更新させる。このデータ更新の命令には、第一の記憶システムでのデータ更新に関するデータ更新順序の識別子(更新番号もしくは更新時刻等)を含む情報が付随する。
第二の記憶システムは、第一の記憶システムからのデータ更新の命令およびデータ更新順序の識別子を含む情報に基づき第二のデータについて第一のデータと対応するデータの更新を行うと共に、このデータ更新に関する情報を第二のジャーナルとして作成し、格納する。前記第二のジャーナルの作成の際、第二の記憶システムは、第一の記憶システムから受信したデータ更新順序の識別子を含む情報を用いた更新情報を作成し、この更新情報を用いてジャーナルを作成する。
あるいは、前記第一の記憶システムは、前記第二の記憶システムへのデータ更新の命令の際、前記第一のジャーナルの転送(コピー)を行い、前記第二の記憶システムは、前記第一のジャーナルを受信して前記第二のジャーナルとして記憶領域に格納してもよい。
一方、第三の記憶システムは、第二、第三の記憶システム間の通信線を介して、第二の記憶システムから前記第二のジャーナルを取得(コピー)し、第三のジャーナルとして第三の記憶システム内のジャーナル用記憶領域に格納する。第三の記憶システムは、第三のジャーナルを用いて、データ更新順序の識別子をもとに、第一の記憶システムでの第一のデータの更新順序に従って、第三のデータについて第一のデータと対応するデータの更新を行う。
前記同期データ複製により、第二のデータは第一のデータと一致し第一のジャーナルは第二のジャーナルと一致する。前記非同期データ複製により、第三のデータは、第二のデータおよび第一のデータの更新後、第二のジャーナルからの更新分のデータの取得および第三のジャーナルによるすべての更新反映の時点で、第一のデータと一致する。
本発明のデータ処理システムは、障害発生時には、記憶システム間で各ジャーナルの転送を行ってこれを用いて各データのデータ更新を行うことでデータ複製を再開する。
また、本発明のデータ処理システムは、前記通常の運用時に前記非同期データ複製における複製元すなわちジャーナル取得先である第二の記憶システムで障害が発生した場合、非同期データ複製における複製元を同期データ複製の複製元である第一の記憶システムに変更して非同期データ複製を継続・再開する。前記障害発生について記憶システムで認識後、例えば、第一、第三の記憶システム間での命令および応答の送受信により、第三の記憶システムおよび第一の記憶システムは、非同期データ複製における複製元を第二の記憶システムから第一の記憶システムに変更する。
前記障害発生後、第三の記憶システムは、第一の記憶システムと第三の記憶システム間の通信線を介して、第一の記憶システムの第一のジャーナルから、第三のデータをデータ更新して最新にするために必要な分のジャーナル、つまり第一のジャーナルと第三のジャーナルの差分を取得し、第三のジャーナルとして第三の記憶システム内のジャーナル用記憶領域に格納する。第三の記憶システムは、第三のジャーナルを用いて、データ更新順序の識別子をもとに、第一の記憶システムでの第一のデータの更新順序に従って、第三のデータについて第一のデータと対応するデータの更新を行う。前記障害発生後、これらの処理を続けて行うことにより、第三の記憶システムで第一のジャーナルと第三のジャーナルの差分を第三のデータに更新反映した時点で第三のデータと第一のデータが一致してデータ複製の再開つまり完全な複製の保持状態となる。
さらに、本発明のデータ処理システムは、前記障害発生後に第二の記憶システムが障害から回復した場合、第二の記憶システムで第一の記憶システムの保持する第一のデータについての非同期データ複製を開始する。第二の記憶システムは、第一のデータのデータ更新に非同期で、第一、第二の記憶システム間の通信線を介して第一の記憶システムの第一のジャーナルからデータを取得(コピー)し、第二のジャーナルとして第二の記憶システム内のジャーナル用記憶領域に格納する。第二の記憶システムは、第二のジャーナルを用いて、データ更新順序の識別子をもとに、第一の記憶システムでの第一のデータの更新順序に従って、第三のデータについて第一のデータと対応するデータの更新を行う。
さらに、本発明のデータ処理システムは、前記第二の記憶システムが第一の記憶システムの第一のデータについての非同期データ複製を開始後、第一のジャーナルをもとに第二のデータをデータ更新して最新にした後、前記第一の記憶システムの第一のデータについての非同期データ複製を同期データ複製に変更する。
第二の記憶システムが障害から回復後、第二の記憶システムは、第一、第二の記憶システム間の通信線を介して第一の記憶システムの第一のジャーナルからデータを取得(コピー)し、第一の記憶システムで第一のジャーナルについてすべて送信済み、つまり第二の記憶システムですべて取得済みとなり、それらを前記第二のデータについて更新反映してデータ更新済みになると、前記第一の記憶システムと第二の記憶システムでの前記第一のデータについてのデータ複製の方式を非同期データ複製から同期データ複製に変更する。この変更により、前記通常の運用時の処理と同様に、前記第一のデータのデータ更新に同期で第二のデータの更新が行われる。
また、本発明のデータ処理システムは、第一の記憶システムを使用して複製対象データである第一のデータにアクセスし情報処理を行う第一のホストコンピュータで障害が発生し、複製データである第二のデータを保持する第二の記憶システムおよびそれを使用する第二のホストコンピュータを利用して処理(前記データ複製およびホストコンピュータによる情報処理)を継続・再開する場合に対応する。
この場合、前記障害発生後、前記第二のホストコンピュータ等からの命令に基づき、前記第一、第二の記憶システム間での命令および応答の送受信により前記同期データ複製における複製元と複製先を交換し、前記第二のデータについての同期データ複製を開始する。第二の記憶システムは、第二のホストコンピュータからの命令に基づき第二のデータのデータ更新を行うと共に、この第二のデータのデータ更新に関する情報を第二のジャーナルとして作成し、これを第二の記憶システム内のジャーナル用記憶領域に格納する。第一の記憶システムは、第二の記憶システムが保持する第二のデータの複製を第一のデータとして保持する。
第二の記憶システムは、前記第二のデータのデータ更新の際、第一、第二の記憶システム間の通信線を介して、第一の記憶システムに対し第一のデータのデータ更新の命令をリモートライト命令等により行いデータ更新させる。このデータ更新の命令には、第二の記憶システムが第二のジャーナルを作成するときに使用したデータ更新順序の識別子(更新番号もしくは更新時刻等)を含む情報が付随する。
第一の記憶システムは、第二の記憶システムからのデータ更新の命令およびデータ更新順序の識別子に基づき第一のデータについて第二のデータと対応するデータの更新を行うと共に、このデータ更新に関する情報を第一のジャーナルとして作成し、第一の記憶システム内のジャーナル用記憶領域に格納する。第一のジャーナルの作成の際、第一の記憶システムは、第二の記憶システムから受信したデータ更新順序の識別子を含む情報を用いた更新情報を作成し、この更新情報を用いてジャーナルを作成する。
一方、第三の記憶システムは、第二、第三の記憶システム間の通信線を介して、前記第二および第一のデータの更新に非同期で、前記第二の記憶システムの第二のジャーナルからデータを取得し、第三のジャーナルとしてジャーナル用記憶領域に格納する。第三の記憶システムは、第二の記憶システムが保持する第二のデータの複製を第三のデータとして保持しており、前記第三のジャーナルを用いて、第二の記憶システムでの第二のデータの更新順序に従って、第三のデータについて第二の記憶システムのデータと対応するデータを更新する。
また、本発明のデータ処理システムでは、副論理ボリュームのデータ整合性を保つために、記憶システムで、データ更新順序を守る必要のある論理ボリュームを同じグループに登録し、グループ内のデータにおけるデータ更新毎に更新番号を割り当て、このグループについての情報をジャーナルの更新情報内に含める。副論理ボリュームを保持する記憶システムでは、副論理ボリュームのグループに対し前記更新番号順にデータ更新処理を行うことを特徴とする。
また、本発明のデータ処理システムは、前記第一、第二、および第三の各ジャーナルの作成・格納に関して、前記各記憶システムは、前記更新情報として、前記データ更新順序の識別子等の他に、ライト命令の論理アドレス、ライトデータのサイズ、ライトデータを格納した論理ボリュームの論理アドレス、データ更新順序を守る必要のある論理ボリュームのグループを示すグループ番号等を含んでも良い。
また、本発明のデータ処理システムは、前記第三の記憶システムは、前記第二の記憶システムに対しジャーナルのリードのためのリード命令を行い、これに対し前記第二の記憶システムは、前記識別子をもとに前記第二のジャーナルから未送信分のデータを送信することを特徴とする。一つの命令に対し第二の記憶システムから第三の記憶システムに対して未送信分のデータをまとめて送信してもよいし、一つずつ送信するようにしてもよい。一つの命令に対する送信ジャーナル数は、第三の記憶システムがリード命令等に付随して指定してもよいし、前記グループの登録の際等にユーザが記憶システムに対し指定してもよい。前記リード命令は通常のリード命令でも専用の命令(ジャーナルリード命令)でもよい。例えば第二の記憶システムの持つグループ管理のための情報やジャーナル格納管理のための情報等を第三の記憶システムにも転送して保持させ、これをもとに第三の記憶システムが第二の記憶システムからジャーナルをリードする。
また、本発明のデータ処理システムは、前記第三の記憶システムは、前記第二の記憶システムに対し前記識別子をもとに送信ジャーナルの指定を行い、前記第二の記憶システムは、前記第二のジャーナルから前記指定されたジャーナルのデータを送信することを特徴とする。前記送信ジャーナル指定は、単一のジャーナルの指定でもよいし、複数のジャーナルの指定あるいは送信ジャーナル数の指定等でもよい。
また、本発明のデータ処理システムは、前記第三の記憶システム側からリード命令を行うのではなく、前記第二の記憶システム側が前記第三の記憶システムに対し前記第二のジャーナルからのジャーナルのデータについてのライト命令を行い、これに対し前記第三の記憶システムが前記ジャーナルのデータを受信して指定領域に格納することを特徴とする。前記ライト命令は通常のライト命令でも専用の命令(ジャーナルライト命令)でもよい。例えば、第三の記憶システムの持つグループ管理のための情報やジャーナル格納管理のための情報を第二の記憶システムにも転送しておき、これをもとに第二の記憶システムは、第三の記憶システムにおける第三のジャーナルの記憶領域に対しジャーナルのデータをライトする。
また、本発明のデータ処理システムでは、前記非同期データ複製において、第三の記憶システムと第二の記憶システムとの間でジャーナルの転送(コピー)を行うタイミングに関しては、ジャーナルの取得ためのリード命令等を一定の時間間隔で定期的に行ってもよいし、第二、第三の記憶システムで保持するあるいは送受信したジャーナルの個数、あるいは第二、第三の記憶システムで保持するあるいは送受信したジャーナルの容量(またはライトデータの容量)によって決定してもよい。例えば、第二の記憶システムの保持する第二のジャーナルについての数や容量等の情報もしくはジャーナル格納管理のための情報等を第三の記憶システムにも転送して保持し、第三の記憶システムでその情報に基づき決定する。また、第二、第三の記憶システム間の通信線における通信負荷状況、第二、第三の記憶システムの処理負荷等に基づき決定してもよい。
また、本発明のデータ処理システムでは、前記非同期データ複製において、さらに、第二、第三の記憶システム間の通信線における転送能力もしくは負荷等に応じて動的に一つのリード命令に対する送信ジャーナル数を変更するようにしてもよい。
また、本発明のデータ処理システムでは、前記ジャーナルを記憶システム内で記憶装置に格納してもよいし、記憶システム内でシステムが利用するキャッシュメモリ等に格納してもよい。また、前記ジャーナルを所定箇所に集中して格納してもよいし、複数箇所に分散して格納してもよい。また、一つのグループについてのジャーナルに対し、一つの論理ボリュームを割り当ててもよいし、複数の論理ボリュームを割り当ててもよい。また、各記憶システムでのジャーナルの格納のための記憶領域の容量を等しくしてもよいし、異なる容量としてもよい。
また、本発明のデータ処理システムは、前記各記憶システムは、前記各ジャーナルを自記憶システム内のジャーナル用の記憶領域に格納し、前記識別子をもとに前記データ更新順序が最古のジャーナルからその記憶領域を開放することで常に新しいジャーナルを記憶容量に応じて保持することを特徴とする。データ更新に反映済みのジャーナルの記憶領域を随時開放してもよいし、ジャーナル格納領域が不足した時点で開放してもよい。
前記ジャーナルの記憶領域の開放に関しては、第二の記憶システムで第三の記憶システムからのジャーナルのリード命令の受信処理時に行ってもよいし、第三の記憶システムにジャーナルを送信した後に行ってもよい。また、第三の記憶システムがジャーナルのリード命令に付随して取得の必要のないジャーナルあるいはどこまで更新済みか示す更新番号を指定し、その指定に従ってジャーナルの記憶領域を開放するようにしてもよい。
また、本発明のデータ処理システムでは、前記ジャーナルの転送に関しては、記憶システム間で前記データ更新順序の識別子をもとに更新番号の順にジャーナルを送信してもよいし、更新番号の順に送信せずともよい。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明によれば、複数の記憶システム間でデータの整合性を維持しつつ高速かつ効率的にデータ複製が可能である。さらに、記憶システムやホストコンピュータ等、構成要素で障害が発生した場合にも、ジャーナル転送によるデータ更新を行うことにより、データ複製を再開するまでに要する時間を短くでき、かつデータの整合性を維持することができ、速やかに処理を継続・再開することができる。
また、第一の記憶システムに格納された複製対象の第一の論理ボリュームを第二および第三の記憶システムに複製するデータ処理システムにおいて、複製を保持する第二の記憶システムで障害が発生した場合に、第二の記憶システムの保持する複製をもとに複製を保持する第三の記憶システムの保持する論理ボリュームにおいてデータ複製を再開するまでに要する時間を短くすることができる。
さらに、前記第二の記憶システムが障害から回復した場合に、第二の記憶システムの保持する論理ボリュームにおいてデータ複製を再開するまでに要する時間を短くすることができる。
さらに、前記第一の記憶システムを使用する計算機で障害が発生し、前記第二の記憶システムを利用して処理を継続・再開する場合に、二つ以上の記憶システム(前記第一および第三の記憶システム)でデータの複製を保持することができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一概念に基づく構成部分には原則として同一符号を付し、その繰り返しの説明は省略する。
<データ処理システムの構成>
図1は、本発明の一実施の形態であるデータ処理システムの論理的な構成を示すブロック図である。本実施の形態のデータ処理システムは、制御部(記憶装置制御装置)と記憶装置とを備えデータを記憶領域に格納する機能を備える複数の記憶システム(後述する図2の100)を有して構成される。複数の記憶システム100として、記憶システムA(正記憶システム)100A、記憶システムB(副記憶システム)100B、記憶システムC(副記憶システム)100Cの三つを有し、記憶システムA(100A)を利用するホストコンピュータ180と、これらの間で通信を行うための通信線を有する。これら複数の記憶システム100は、特に災害等の障害発生に備えるためにそれぞれ地理的に離れたサイトに配置される。通信線として、ホストコンピュータ180と記憶システムA(100A)とが接続パス190により接続される。また、記憶システムA(100A)と、記憶システムB(100B)および記憶システムC(100C)とが接続パス200により接続されている。さらに、記憶システムB(100B)と記憶システムC(100C)とが接続パス200により接続されている。
図1に示す状態では、記憶システムA(100A)は複製対象データを保持する正記憶システムであり、記憶システムB(100B)および記憶システムC(100C)は前記複製対象データについての複製(複製データ)を保持する副記憶システムである。ホストコンピュータ180は、記憶システムA(100A)に保持されるデータにアクセスして情報処理(データ処理)を行う。
複製対象のデータを保持する記憶システムと複製データを保持する記憶システムとの区別を容易とするために、複製対象のデータを保持する側を「正」、複製を保持する側を「副」とし、この正副の状態に応じて、複製対象のデータを保持する記憶システムAを正記憶システムあるいは正記憶システムA、複製データを保持する記憶システムBを、副記憶システムあるいは副記憶システムB、複製データを保持する記憶システムCを、副記憶システムあるいは副記憶システムC等のように呼ぶこととする。正副の状態は後述するように状況によって変化する。副記憶システム100Bは、後述する同期データ複製によって、正記憶システム100Aの保持するデータの複製を保持する。副記憶システム100Cは、後述する非同期データ複製によって、副記憶システム100Bの保持するデータをもとに正記憶システム100Aの保持するデータの複製を保持する。
ホストコンピュータ180は、CPUやメモリを備え、CPUにより各種プログラムが実行されることにより様々な機能が実現される。ホストコンピュータ180は、例えばPCやワークステーション、あるいはメインフレームコンピュータ等である。ホストコンピュータ180は、正記憶システム100Aを利用して企業や個人等のユーザに対する処理を実行する他、正記憶システム100Aを保守・管理するためのコンピュータとしても利用できる。ホストコンピュータ180と正記憶システム100Aの間は、接続パス190としてLAN等のネットワークや専用線による直接接続等により接続され、所定の通信プロトコルにより通信が行われる。ホストコンピュータ180は、通信線により正記憶システム100Aの制御部に接続され、論理ボリュームに対するアクセス命令を行う。
複数の記憶システム100間は、接続パス200としてネットワークや専用線による直接接続等により接続され、所定の通信プロトコルにより通信が行われる。記憶システム100は、接続パス200を通じて記憶システム100の制御部同士が通信を行うことでデータをリモートで転送(コピー)する機能を有する。
本実施の形態のデータ処理システムでは、記憶システム100において複製対象データの更新時には更新についてのジャーナルを作成して記憶領域に格納し、このジャーナルをもとにデータ複製を行う。各記憶システム100においてジャーナルを保持し、後述する非同期データ複製では、記憶システム100間で必要なジャーナルの転送を行い、複製データに対しジャーナルのデータにより更新反映を行うことで複製対象データに一致させる。本実施の形態のデータ処理システムでは、通常の運用時、記憶システム100間でのデータ複製、つまり複製データ保持状態の維持を行い、また記憶システム100等のシステム構成要素における障害時には、障害状態でない記憶システム100間でジャーナルの転送を行ってジャーナルのデータにより更新反映を行うことで前記データ複製を継続・再開する。記憶システム100間のデータ複製の方式(モード)として、同期データ複製と非同期データ複製とがあり、通常の運用時には、三つの記憶システム(100A〜100C)間で、同期データ複製と非同期データ複製の二種類のデータ複製を行うことで、一つの複製対象データに対して二つの複製データが保持される。同期データ複製は、複製対象データの更新に同期して複製データを更新する処理であり、複製データは複製対象データと完全に一致する。非同期データ複製は、複製対象データの更新に非同期でジャーナルをもとに複製データを更新する処理であり、複製データは複製対象データの更新の暫く後に完全に一致する。
図1に示す状態では、正記憶システム100Aと副記憶システム100Bは、命令受信処理210、リードライト処理220を行う。副記憶システム100Cは、JNLRD(ジャーナルリード)処理240、リードライト処理220、リストア処理250を行う。記憶システム100の正副の状態によって行う処理が変わる。正記憶システム100Aは、論理ボリューム230として、DATA1,DATA2,DATA3、およびJNL1等を保持する。副記憶システム100Bは、論理ボリューム230として、data1,data2,data4、およびJNL2等を保持する。副記憶システム100Cは、論理ボリューム230として、COPY1,COPY2,data5、およびJNL3等を保持する。また、矢印で示される270は、ホストコンピュータ180からの正記憶システム100Aの保持するデータの更新のための命令の発行、および正記憶システム100Aでのデータ更新およびジャーナル作成・格納を示す。275は、前記正記憶システム100Aのデータ更新に同期の、副記憶システム100Bでのデータ更新およびジャーナル作成・格納を示す。280は、前記正記憶システム100Aおよび副記憶システム100Bでのデータ更新およびジャーナル作成・格納に非同期の、副記憶システム100Cでの副記憶システム100Bからのジャーナルのリードおよび格納を示す。290は、副記憶システム100Cでの保持データに対する、ジャーナルのデータによるリストア(更新反映すなわち複製対象データでの更新分についての反映(書き込み)によるデータ更新)を示す。各処理の詳細については後述する。
記憶システム100の持つ記憶領域は、論理的に分割して管理されており、分割された記憶領域を論理ボリュームと呼ぶこととする。処理対象のデータは論理ボリュームに対応して扱われる。記憶システム100は、記憶システム100内にある一つ以上の記憶装置(図2の150)上の記憶領域に、データに対応した論理ボリューム230を保持する。論理ボリューム230の容量および記憶システム100内の物理的な格納位置(物理アドレス)は、記憶システム100に接続したコンピュータ等の保守端末もしくはホストコンピュータ180を用いて指定できる。各論理ボリューム230の物理アドレスは、後述するボリューム情報400に格納する。物理アドレスは、例えば、記憶システム100内の一つ以上の記憶装置を識別する番号(記憶装置番号)と、記憶装置内の記憶領域を一意に示す数値、例えば、記憶装置の記憶領域の先頭からの位置とで構成される。以下の説明では、物理アドレスは、記憶装置番号と記憶装置の記憶領域の先頭からの位置の組とする。
記憶システム100が格納しているデータの参照・更新は、論理ボリューム230を識別する番号(論理ボリューム番号)と、記憶領域を一意に示す数値、例えば、論理ボリュームの記憶領域の先頭からの位置とにより一意に指定することができ、以下、論理ボリューム番号と論理ボリュームの記憶領域の先頭からの位置(論理アドレス内位置)の組を論理アドレスと呼ぶ。また以下の説明では、論理ボリューム230は、一つの記憶装置の記憶領域であるが、論理アドレスと物理アドレスの変換により、一つの論理ボリュームを複数の記憶装置の記憶領域に対応付けることも可能である。
複製対象のデータと複製データとの区別を容易とするために、複製対象の論理ボリューム230を正論理ボリューム、複製データである論理ボリューム230を副論理ボリュームと呼ぶこととする。一対の正論理ボリュームと副論理ボリュームをペアと呼ぶ。ペアとなる正論理ボリュームと副論理ボリュームの関係および状態等は後述するペア情報500に格納する。
また、論理ボリューム230内および論理ボリューム230間のデータの更新順序を守るために、グループという管理単位を設ける。例えば、ホストコンピュータ180が、第一の正論理ボリュームの第一のデータを更新し、その後、その第一のデータを読み出し、その第一のデータの数値を用いて、第二の正論理ボリュームの第二のデータを更新する処理を行うとする。第一の正論理ボリュームから第一の副論理ボリュームへのデータ複製処理と、第二の正論理ボリュームから第二の副論理ボリュームへのデータ複製処理とが独立に行われる場合、第一の副論理ボリュームへの第一のデータの複製処理よりも前に、第二の副論理ボリュームへの第二のデータの複製処理が行われる場合がある。第二の副論理ボリュームへの第二のデータの複製処理と第一の副論理ボリュームへの第一のデータの複製処理との間に、障害等により第一の副論理ボリュームへの第一のデータの複製処理が停止した場合、第一の副論理ボリュームと第二の副論理ボリュームのデータ整合性が無くなってしまう。
このような場合にも第一の副論理ボリュームと第二の副論理ボリュームのデータ整合性を保つために、データの更新順序を守る必要のある論理ボリュームを同じグループに登録し、データの更新毎に、後述するグループ情報600における更新番号を割り当て、更新番号順に副論理ボリュームに対する複製処理(データ更新処理)を行わせる。更新番号の代わりに更新時刻を用いてもよい。例えば、図1では、正記憶システム100Aの持つ論理ボリュームDATA1と論理ボリュームDATA2がグループ1(以下、グループ番号nのグループをグループnと表記する)を構成する。さらに、論理ボリュームDATA1の複製である論理ボリュームdata1と、論理ボリュームDATA2の複製である論理ボリュームdata2とは、副記憶システム100B内でグループ1およびグループ2を構成する。同様に、論理ボリュームdata1の複製である論理ボリュームCOPY1と、論理ボリュームdata2の複製である論理ボリュームCOPY2とは、副記憶システム100C内でグループ1を構成する。正記憶システム100Aのグループ1と副記憶システム100Bのグループ1が対応し、副記憶システム100Bのグループ2と副記憶システム100Cのグループ1が対応する。
正記憶システム100Aは、複製対象である正論理ボリュームDATA1,DATA2のデータを更新する際、後述するジャーナルを作成し、正記憶システム100A内の論理ボリュームに格納する。本実施の形態の説明では、グループ毎にジャーナルのみを格納する論理ボリューム(以下、特にジャーナル論理ボリュームと呼ぶ)を割り当てる。図1では、グループ1のジャーナル論理ボリュームは、JNL1である。同様に、副記憶システム100Bは、副記憶システム100Bの持つ副論理ボリュームdata1,data2のデータを更新する際、後述するジャーナルを作成し、副記憶システム100B内のジャーナル論理ボリュームに格納する。図1では、副記憶システム100Bのグループ1およびグループ2のジャーナル論理ボリュームは、JNL2である。
副記憶システム100Cのグループにもジャーナル論理ボリュームを割り当てる。このジャーナル論理ボリュームは、副記憶システム100Bから副記憶システム100Cに対し転送したジャーナルを格納するために使用する。ジャーナルをジャーナル論理ボリュームに格納することにより、例えば、副記憶システム100Cの負荷が高い場合に、副記憶システム100Bからのジャーナル受信時に副論理ボリュームCOPY1,COPY2のデータ更新を行わず、暫く後、副記憶システム100Cの負荷が低い時に副論理ボリュームCOPY1,COPY2のデータ更新を行うようにすることもできる。さらに、接続パス200が複数ある場合、これを通じて副記憶システム100Bから副記憶システム100Cへのジャーナルの転送を多重に行い、接続パス200の転送能力を有効に利用することができる。データの更新順序のために、副記憶システム100Cに多くのジャーナルが溜まる可能性はあるが、副論理ボリュームのデータ更新にすぐに使用できないジャーナルはジャーナル論理ボリュームに格納されることにより問題とならない。図1では、副記憶システム100Cのグループ1のジャーナル論理ボリュームは、JNL3である。
<記憶システムの構成>
図2に、本実施の形態のデータ処理システムの構成要素となる記憶システム100の内部構造を示す。本実施の形態では、記憶システム100は、ストレージ装置である。記憶システム100は、一つ以上のCHA(ホストアダプタ)110、一つ以上のDKA(ディスクアダプタ)120、一つ以上のCACHE(キャッシュメモリ)130、一つ以上のSM(共有メモリ)140、一つ以上のHDD(記憶装置)150、一つ以上のSWITCH(スイッチ)160、一つ以上の接続線170を備えて構成される。ホストアダプタ110、ディスクアダプタ120、キャッシュメモリ130、共有メモリ140は、スイッチ160により相互間が接続されている。ディスクアダプタ120と記憶装置150とは接続線170によって接続されている。また、図示していないが、記憶システム100の設定、監視、保守等を行うための保守端末がすべてのホストアダプタ110とディスクアダプタ120とに専用線を用いて接続されている。
記憶装置150は、ハードディスクドライブ等であり、複数の記憶装置150によりRAIDを構成してもよい。記憶装置150により提供される物理的な記憶領域である物理ボリュームには、論理的な記憶領域である論理ボリュームを対応させることができる。
記憶システム100は、命令受信処理210他の各種処理を制御する制御部(記憶装置制御装置)として、ホストアダプタ110とディスクアダプタ120とを有しており、処理に対応するプログラムをプロセッサにより実行する。ホストアダプタ110は、ホストコンピュータ180と通信を行うための通信インターフェイスと入出力命令を授受する機能を備え、ホストコンピュータ180とキャッシュメモリ130間のデータ転送を制御する。ホストアダプタ110は、接続パス190、接続パス200により、ホストコンピュータ180、他の記憶システム100と接続される。ディスクアダプタ120は、記憶装置150に対するデータのリード、ライト等の制御を行い、キャッシュメモリ130と記憶装置150との間のデータ転送を制御する。
キャッシュメモリ130は、主にホストコンピュータ180から受信したデータあるいは記憶装置150から読み出したデータを一時的に記憶するメモリである。共有メモリ140は、記憶システム100内のすべてのホストアダプタ110とディスクアダプタ120とが共有して使用するメモリであり、主に制御情報等を記憶する。なお、ホストアダプタ110からディスクアダプタ120に対するデータのリードやライトの指示をキャッシュメモリ130および共有メモリ140を介して行う構成の他、ホストアダプタ110から直接ディスクアダプタ120に対し指示を行う構成とすることもできる。また、キャッシュメモリ130および共有メモリ140相当のメモリがホストアダプタ110やディスクアダプタ120の各々に分散されて設けられる構成でも構わない。
管理者等のユーザは、記憶システム100に接続される前記保守端末やホストコンピュータ180等を通じて、例えば、複数の記憶装置150の増減やRAID構成の設定、接続パスの設定、論理ボリュームの設定、記憶システム100の動作状態の確認、障害発生時の障害部位の特定、障害監視対象や内容、障害通知先の設定等を、所定のユーザインターフェイスを通じて行うことができる。なお保守端末を記憶システム100に内蔵とする構成も外付けする構成も可能である。
<ジャーナルの構成>
ジャーナルは、記憶システム100の保持する複製対象データ(正論理ボリューム)のデータ更新時に、データ更新に関する情報として作成されるデータであり、ライトデータと更新情報300とを有して構成される。ライトデータは、ホストコンピュータ180からの正論理ボリュームのデータ更新処理時に用いられたデータ(更新位置に対する書き込みデータ)のコピーである。更新情報300は、更新毎のライトデータおよびジャーナル自体を管理する情報であり、ライト命令を受信した時刻(更新時刻)、グループ番号、更新番号(後述するグループ情報600の更新番号)、ライト命令の論理アドレス、ライトデータのデータサイズ、ライトデータを格納したジャーナル論理ボリュームの論理アドレス等からなる。更新情報300は、データ更新の識別子として、前記ライト命令を受信した時刻(更新時刻)と更新番号とを有する。これによりデータの更新順序を識別する。データ更新の識別子としては、前記更新時刻と更新番号のどちらか一方のみを保持することとしてもよい。またホストコンピュータ180からのライト命令内にライト命令の作成時刻が存在する場合は、前記ライト命令を受信した時刻の代わりに当該ライト命令内の作成時刻を使用してもよい。
図3と図4を用いて、ジャーナルにおける更新情報300の例を説明する。図3は、ジャーナルにおける更新情報300の一例について示す。この例では、更新情報300は、1999年3月17日の22時20分10秒に受信したライト命令を記憶する。当該ライト命令は、ライトデータを論理ボリューム番号1の論理ボリューム(正論理ボリューム#1)の記憶領域の先頭から700の位置に格納する命令であり、データサイズは300である。ジャーナルのライトデータは、論理ボリューム番号4の論理ボリューム(ジャーナル論理ボリューム#4)の記憶領域の先頭から1500の位置から格納されている。論理ボリューム番号1の論理ボリュームはグループ1に属し、グループ1のデータ複製開始から4番目のデータ更新であることがわかる。
図4は、前記図3に対応して、ジャーナル論理ボリュームにおける更新情報300とライトデータの関係を説明する図である。図4では、前記正論理ボリューム#1の記憶領域340と前記ジャーナル論理ボリューム#4の記憶領域350について示している。ジャーナル論理ボリュームは、例えば、更新情報300を格納する記憶領域(更新情報領域)とライトデータを格納する記憶領域(ライトデータ領域)に分割して使用する。更新情報領域は、更新情報領域の先頭から、更新番号の順に更新情報300を格納し、更新情報領域の終端に達すると、再び更新情報領域の先頭から格納する。310は、更新情報300を格納している領域を示す。ライトデータ領域は、ライトデータ領域の先頭からライトデータを格納し、ライトデータ領域の終端に達すると、再びライトデータ領域の先頭から格納する。330は、ライトデータを格納している領域を示す。更新情報領域とライトデータ領域の比は、固定値でもよいし、保守端末あるいはホストコンピュータ180により設定可能としてもよい。320は、ライト命令の論理アドレスおよびライトデータのデータサイズで指示される、正論理ボリュームにおけるデータ更新領域を示す。これらの情報は、後述するポインタ情報700内に保持する。以下の説明では、ジャーナル論理ボリュームを更新情報300とライトデータの領域に分割して使用するが、論理ボリュームの記憶領域の先頭から、ジャーナルつまり更新情報300とライトデータを連続に格納する方式を採ってもよい。
<データ更新の動作>
図5および前記図1を用いて、正記憶システム100Aの正論理ボリュームDATA1へのデータ更新を副記憶システム100Bの副論理ボリュームdata1および副記憶システム100Cの副論理ボリュームCOPY1に反映する動作について概説する。図5は、本実施の形態のデータ処理システムにおいて、動作の流れに沿って時系列で、記憶システム100(記憶システムA〜記憶システムC)およびホストコンピュータ180間の命令および応答の送受信と、各記憶システム100が保持するジャーナルについて説明する図であり、特に、正記憶システム100Aの正論理ボリュームへのデータ更新を副記憶システム100Bの副論理ボリュームおよび副記憶システム100Cの副論理ボリュームに反映する動作について示す。時刻t1では、初期状態として、全記憶システム100は、更新番号1(SEQ#1)のジャーナルを保持する。図中の四角形をデータ更新に対応するジャーナルとし、その数字は更新番号を示すものとする。また命令や応答における更新番号nをSEQ#nあるいは単に#nのように表記する。以下(1)〜(6)で動作について説明する。
(1)正記憶システム100Aは、ホストコンピュータ180から正論理ボリュームDATA1内のデータに対するライト命令を受信すると、後述する命令受信処理210およびリードライト処理220によって、正論理ボリュームDATA1内のデータの更新と、ジャーナル論理ボリュームJNL1へのジャーナルの作成・格納と、副記憶システム100B内の副論理ボリュームdata1の対応するデータの更新の命令とを行う(図1の270)。副論理ボリュームdata1のデータの更新は、リモートライト命令(RWR命令)により行う。リモートライト命令は、ホストコンピュータ180からのライト命令とライトデータと前記ジャーナルの更新情報300を含む。ここで更新情報300は、前記図3で示したようなすべての情報は必須ではなく、更新番号もしくはライト命令を受信した時刻(更新時刻)を含めばよい。時刻t2では、正記憶システム100Aは、ホストコンピュータ180からのライト命令を受信し、正論理ボリュームの更新と、更新番号2(SEQ#2)のジャーナルをジャーナル論理ボリュームに格納する。さらに、副記憶システム100Bに対し更新情報300として更新番号2を含んだリモートライト命令(RWR命令 SEQ#2)を送信する。
(2)副記憶システム100Bは、正記憶システム100Aからのリモートライト命令を受け、後述する命令受信処理210およびリードライト処理220によって、副論理ボリュームdata1内の対応するデータの更新と、ジャーナル論理ボリュームJNL2にジャーナルの作成・格納を行う。ジャーナルの更新番号および更新時刻は、リモートライト命令内の数値を使用する(図1の275)。時刻t2では、記憶システムB(100B)は、リモートライト命令を受信し、副論理ボリュームのデータ更新と、更新番号2のジャーナルをジャーナル論理ボリュームに格納し、記憶システムA(100A)に応答を返す。
(3)正記憶システム100Aは、リモートライト命令の応答を受けた後、ホストコンピュータ180にライト命令の終了を報告する。以上は正論理ボリュームのデータ更新に同期した不可分の処理であり、従って、正記憶システム100A内の正論理ボリュームDATA1と副記憶システム100B内の副論理ボリュームdata1のデータは完全に一致する。このようなデータ複製を同期データ複製と呼ぶ。さらに、一つのライト命令に関するジャーナル論理ボリュームJNL1のジャーナルの更新番号とジャーナル論理ボリュームJNL2のジャーナルの更新番号は一致する。時刻t2では、記憶システムA(100A)は、リモートライト命令の応答を受信し、ホストコンピュータ180にライト命令の終了を報告する。その後、時刻t3に、記憶システムA(100A)は、ホストコンピュータ180からの次の更新のライト命令を受信し、同様な処理により、記憶システムA(100A)と記憶システムB(100B)は、更新番号3(SEQ#3)のジャーナルを保持する。
(4)一方、副記憶システム100Cは、後述するジャーナルリード処理240によって、副記憶システム100Bからジャーナルをリードし、リードしたジャーナルを、リードライト処理220によって、ジャーナル論理ボリュームJNL3に格納する(図1の280)。この処理は前記同期データ複製の処理つまり正記憶システム100Aおよび副記憶システム100Bにおけるデータ更新とは非同期で行われる。時刻t4では、記憶システムC(100C)は、記憶システムB(100B)にジャーナルリード(JNLRD)命令を送信し、記憶システムB(100B)から、更新番号2および3のジャーナル(記憶システムC(100C)で未取得のジャーナル)を読み出し(JNL(#2,#3))、ジャーナル論理ボリュームJNL3に格納する。
(5)副記憶システム100Bは、副記憶システム100Cからジャーナルリード命令を受信すると、後述する命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリュームJNL2からジャーナルを読み出し、副記憶システム100Cに送信する(図1の280)。時刻t4では、記憶システムB(100B)は、記憶システムC(100C)のジャーナルリード命令を受信し、記憶システムC(100C)に更新番号2および3のジャーナル(記憶システムC(100C)に対し未送信のジャーナル)を送信する。この際、送信したジャーナルより古い更新番号1のジャーナルの記憶領域を開放してもよい。
(6)副記憶システム100Cは、後述するリストア処理250およびリードライト処理220によって、ポインタ情報700を用いて、更新番号(SEQ#)の昇順に、ジャーナル論理ボリュームJNL3からジャーナルを読み出し、これにより副論理ボリュームCOPY1のデータを更新する(図1の290)。以上は正論理ボリュームのデータ更新に非同期の自律的処理であり、従って、副記憶システム100B内の論理ボリュームdata1と副記憶システム100C内の論理ボリュームCOPY1のデータは、論理ボリュームDATA1および論理ボリュームdata1の更新の暫く後には、完全に一致する。このようなデータ複製を非同期データ複製と呼ぶ。時刻t5では、記憶システムC(100C)は、ジャーナル論理ボリュームから更新番号1のジャーナルを読み出し、副論理ボリュームのデータを更新する。この際、不要となった更新番号1のジャーナルの記憶領域を開放してもよいし、あるいはジャーナルの格納領域が不足した時点で最古のジャーナルの記憶領域を開放する方式を採ってもよい。その後、記憶システムA(100A)は、ホストコンピュータ180からのライト命令を受信し、同様な処理により、記憶システムA(100A)と記憶システムB(100B)は、更新番号4(SEQ#4)のジャーナルを保持する。上記ライト命令の応答において、記憶システムB(100B)が、時刻t4で記憶領域の開放したジャーナルの更新番号を記憶システムA(100A)に送信し、記憶システムA(100A)が受信した更新番号までのジャーナルの記憶領域を開放するようにしてもよい。記憶システムA(100A)に記憶領域を開放したジャーナルの更新番号を知らせる方法は、専用の命令を使用してもよい。
その後、時刻t6で、記憶システムC(100C)は、記憶システムB(100B)にジャーナルリード命令を送信し、記憶システムB(100B)から更新番号4(SEQ#4)のジャーナルを読み出し、ジャーナル論理ボリュームJNL3に格納する。
<ボリューム情報の構成>
図6に、記憶システム100が保持するボリューム情報400の一例を示す。ボリューム情報400は、論理ボリューム230を管理する情報であり、論理ボリューム番号、ボリューム状態、フォーマット形式、容量、同期ペア番号、非同期ペア番号、物理アドレス(記憶装置番号および先頭からの位置)を保持する。ボリューム情報400は、ホストアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば共有メモリ140に格納される。
ボリューム情報400において、ボリューム状態は、“正常”、“正”、“副”、“正副”、“異常”、“未使用”のいずれかを保持する。ボリューム状態が“正常”もしくは“正”である論理ボリューム230は、ホストコンピュータ180から正常にアクセス可能な論理ボリュームであることを示す。ボリューム状態が“副”、“正副”である論理ボリューム230は、ホストコンピュータ180からのアクセスを許可してもよい。ボリューム状態が“正”である論理ボリューム230は、データの複製が行われている論理ボリュームであることを示す。ボリューム状態が“副”である論理ボリューム230は、複製に使用されている論理ボリュームであることを示す。ボリューム状態が“正副”である論理ボリューム230は、複製に使用されている論理ボリュームであり、かつ、データの複製が行われている論理ボリュームであることを示す。ボリューム状態が“異常”の論理ボリューム230は、障害により正常にアクセスできない論理ボリュームであることを示す。障害とは、例えば、論理ボリューム230を保持する記憶装置150の故障等である。ボリューム状態が“未使用”の論理ボリューム230は、使用していない論理ボリュームであることを示す。
ボリューム情報400において、同期ペア番号および非同期ペア番号は、ボリューム状態が“正”、“副”、“正副”の場合に有効であり、後述するペア情報500を特定するためのペア番号を保持する。保持するペア番号が存在しない場合は、無効値(例えば、“0”)を設定する。図6に示す例では、論理ボリューム番号1の論理ボリュームは、フォーマット形式が「OPEN3」、容量が3GB、記憶装置番号1の記憶装置150の記憶領域における先頭からデータが格納されており、アクセス可能で、データの複製対象であることを示す。
前述した図1の場合における、正記憶システム100Aのボリューム情報400を前記図6に、副記憶システム100Bのボリューム情報400を図7に、副記憶システム100Cのボリューム情報400を図8にそれぞれ示す。
<ペア情報の構成>
図9に、記憶システム100が保持するペア情報500の一例を示す。ペア情報500は、ペアを管理する情報であり、ペア番号、ペア状態、正記憶システム番号、正論理ボリューム番号、副記憶システム番号、副論理ボリューム番号、グループ番号、コピー済みアドレスを保持する。ペア情報500は、ホストアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば共有メモリ140に格納する。
ペア情報500において、ペア状態は、“正常”、“異常”、“未使用”、"コピー未”、“コピー中”のいずれかを保持する。ペア状態が“正常”の場合は、正論理ボリューム230のデータ複製が正常に行われていることを示す。ペア状態が“異常”の場合は、障害により正論理ボリューム230の複製が行えないことを示す。障害とは、例えば、接続パス200の断線などである。ペア状態が“未使用”の場合は、当該ペア番号の情報は有効でないことを示す。ペア状態が“コピー中”の場合は、後述する初期コピー処理中であることを示す。ペア状態が“コピー未”の場合は、後述する初期コピー処理がまだ行われていないことを示す。
ペア情報500において、正記憶システム番号は、正論理ボリューム230を保持する正記憶システム100を特定する番号を保持する。副記憶システム番号は、副論理ボリューム230を保持する副記憶システム100を特定する番号を保持する。グループ番号は、正記憶システムの場合は、正論理ボリュームが属するグループ番号を保持する。副記憶システムの場合は、副論理ボリュームが属するグループ番号を保持する。コピー済みアドレスは、後述する初期コピー処理において説明する。図9の、ペア番号1のペア情報は、データ複製対象が正記憶システムA内の正論理ボリューム番号1の論理ボリュームで、データ複製先が副記憶システムB内の副論理ボリューム番号1の論理ボリュームであり、データ複製処理が正常に行われていることを示す。
前述した図1の場合における、正記憶システム100Aのペア情報500を前記図9に、副記憶システム100Bのペア情報500を図10に、副記憶システム100Cのペア情報500を図11にそれぞれ示す。
<グループ情報の構成>
図12に、記憶システム100が保持するグループ情報600の一例を示す。グループ情報600は、グループ番号、グループ状態、ペア集合、ジャーナル論理ボリューム番号、更新番号、複製種類、相手記憶システム番号、相手グループ番号を保持する。グループ情報600は、ホストアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば共有メモリ140に格納する。
グループ情報600において、グループ状態は、“正常”、“異常”、“未使用”、“停止”、“準備中”のいずれかを保持する。グループ状態が“正常”の場合は、ペア集合のうち少なくとも一つのペア状態が“正常”であることを示す。グループ状態が“異常”の場合は、ペア集合のうちすべてのペア状態が“異常”であることを示す。グループ状態が“未使用”の場合は、当該グループ番号の情報は有効でないことを示す。正記憶システムの場合、グループ状態の“停止”は、ジャーナルの作成を一時的に行わないことを示す。これは、グループ状態が“正常”の場合に、ジャーナルの作成を一時的に停止したい場合に使用する。副記憶システムの場合、グループ状態の“停止”は、ジャーナルリード処理を一時的に行わないことを示す。これは、グループ状態が“正常”の場合に、正記憶システムからジャーナルをリードすることを一時的に停止したい場合に使用する。グループ状態が“準備中”の場合は、後述するデータ複製開始処理中であることを示す。
グループ情報600において、正記憶システムの場合、ペア集合はグループ番号が示すグループに属するすべての正論理ボリュームのペア番号を保持する。副記憶システムの場合、ペア集合はグループ番号が示すグループに属するすべての副論理ボリュームのペア番号を保持する。ジャーナル論理ボリューム番号は、当該グループ番号のグループに属するジャーナル論理ボリューム番号を示す。当該グループ番号のグループに属するジャーナル論理ボリュームが存在しない場合は、無効値(例えば、“0”)を設定する。更新番号は、初期値は「1」であり、ジャーナルを作成した場合に変更する。更新番号は、ジャーナルの更新情報300に記憶し、後述するリストア処理250においてデータの更新順序を守るために使用する。
グループ情報600において、複製種類は、データ複製の方式を示す情報であり、“同期”、“非同期”のいずれかを保持する。複製種類が“同期”の場合、同期データ複製であり、正論理ボリュームと副論理ボリュームの更新は同時に行われる。従って、正論理ボリュームのデータと副論理ボリュームのデータは完全に一致する。複製種類が“非同期”の場合、非同期データ複製であり、副論理ボリュームの更新は、正論理ボリュームの更新の後に行われる。従って、正論理ボリュームのデータと副論理ボリュームのデータが一致していない期間(副論理ボリュームのデータが正論理ボリュームのデータより古い状態)があり、暫く後、つまり更新反映された時点で、副論理ボリュームのデータは正論理ボリュームのデータと完全に一致する。
グループ情報600において、正記憶システムの場合、相手記憶システム番号は、グループに属するペアの副論理ボリュームを保持する副記憶システム番号を保持する。副記憶システムの場合、相手記憶システム番号は、グループに属するペアの正論理ボリュームを保持する正記憶システム番号を保持する。正記憶システムの場合、相手グループ番号は、グループに属するペアの副論理ボリュームが属するグループ番号を保持する。副記憶システムの場合、相手グループ番号は、グループに属するペアの正論理ボリュームが属するグループ番号を保持する。例えば、図12の、グループ番号1のグループ情報600は、ペア番号1,2のペア情報500から、正論理ボリューム番号1,2の正論理ボリュームと、ジャーナル論理ボリューム番号4のジャーナル論理ボリュームから構成されており、正常に同期データ複製処理が行われていることを示す。
前述した図1の場合における、正記憶システム100Aのグループ情報600を前記図12に、副記憶システム100Bのグループ情報600を図13に、副記憶システム100Cのグループ情報600を図14にそれぞれ示す。
<ポインタ情報の構成>
図15に、記憶システム100が保持するポインタ情報700の一例について示す。また図16は、図15のポインタ情報700の設定例に対応するジャーナル論理ボリュームの構造を説明する図である。図16では、ジャーナル論理ボリューム#4について示している。ポインタ情報700は、当該グループのジャーナル論理ボリュームを管理する情報であり、更新情報領域先頭アドレス、ライトデータ領域先頭アドレス、更新情報最新アドレス、更新情報最古アドレス、ライトデータ最新アドレス、ライトデータ最古アドレス、リード開始アドレス、リトライ開始アドレスを保持する。
ポインタ情報700において、更新情報領域先頭アドレスは、ジャーナル論理ボリュームの更新情報300を格納する記憶領域(更新情報領域)の先頭の論理アドレスを保持する。ライトデータ領域先頭アドレスは、ジャーナル論理ボリュームのライトデータを格納する記憶領域(ライトデータ領域)の先頭の論理アドレスを保持する。更新情報最新アドレスは、次にジャーナルを格納する場合に更新情報300の格納に使用する先頭の論理アドレスを保持する。更新情報最古アドレスは、最古の(更新番号が小さい)ジャーナルの更新情報300を格納する先頭の論理アドレスを保持する。ライトデータ最新アドレスは、次にジャーナルを格納する場合にライトデータの格納に使用する先頭の論理アドレスを保持する。ライトデータ最古アドレスは、最古の(更新番号が小さい)ジャーナルのライトデータを格納する先頭の論理アドレスを保持する。リード開始アドレスとリトライ開始アドレスは、後述するジャーナルリード受信処理において使用する。
図15および図16に示すポインタ情報700の例では、ジャーナルの更新情報300を格納する領域(更新情報領域)は、論理ボリューム番号4の論理ボリューム(ジャーナル論理ボリューム#4)の記憶領域における先頭から699の位置までであり、ジャーナルのライトデータを格納する領域(ライトデータ領域)は、同論理ボリュームの記憶領域における700の位置から2699の位置までである。ジャーナルの更新情報300は、同論理ボリュームの記憶領域における50の位置から249の位置まで格納されており、次のジャーナルの更新情報300は、同論理ボリュームの記憶領域における250の位置から格納する。ジャーナルのライトデータは同論理ボリュームの記憶領域における1300の位置から2199の位置まで格納されており、次のジャーナルのライトデータは、同論理ボリュームの記憶領域における2200の位置から格納する。
前述した図1の場合における、正記憶システム100Aのポインタ情報700を前記図15に、副記憶システム100Bのポインタ情報700を図17に、副記憶システム100Cのポインタ情報700を図18にそれぞれ示す。
上述したボリューム情報400、ペア情報500、グループ情報600、及びポインタ情報700は、共有メモリ140に格納されていることが好ましい。しかし、この場合に限らず、これらの情報を、キャッシュメモリ130、ホストアダプタ110、ディスクアダプタ120、その他記憶装置150に集中して格納または分散して格納することとしてもよい。
下記の説明では、一つのグループに一つのジャーナル論理ボリュームを割り当てる形態としているが、一つのグループに複数のジャーナル論理ボリュームを割り当ててもよい。例えば、一つのグループに二つのジャーナル論理ボリュームを割り当て、ジャーナル論理ボリューム毎にポインタ情報700を設け、交互にジャーナルを格納する。これにより、ジャーナルの記憶装置150への書き込みが分散でき、性能の向上が見込める。さらに、ジャーナルのリード性能も向上する。別の例としては、一つのグループに二つのジャーナル論理ボリュームを割り当て、通常は一つのジャーナル論理ボリュームのみを使用する。もう一方のジャーナル論理ボリュームは、使用しているジャーナル論理ボリュームの性能が低下した場合もしくは障害発生で使用できない場合などに使用する。性能が低下する場合の例は、ジャーナル論理ボリュームの記憶領域が、複数の記憶装置150から構成されRAID方式でデータを保持しており、RAIDを構成する記憶装置150の一台が故障中の場合である。
<データ複製開始の動作>
次に、図19、図20を用いて、以下(1)〜(5)で、正記憶システム100Aから副記憶システム100Bおよび副記憶システム100Cに対してデータ複製を開始する手順(データ複製開始処理)を説明する。図19は、データ複製開始処理の手順を説明するフローチャートである。
(1)グループ作成について説明する(ステップS1900)。ユーザは、保守端末あるいはホストコンピュータ180を使用して、正記憶システム100Aのグループ情報600を参照し、グループ状態が“未使用”のグループ番号Aを取得する。同様に、副記憶システム100Bのグループ番号Bを取得する。ユーザは、正記憶システム100Aに、保守端末あるいはホストコンピュータ180を使用して、グループ作成指示を行う。グループ作成指示は、指示対象グループ番号A、相手記憶システム番号B、相手グループ番号B、複製種類“同期”からなる。
グループ作成指示を受けて、正記憶システム100Aは、グループ情報600を変更する。具体的には、正記憶システム100Aは、指示対象グループ番号Aのグループ情報600のグループ状態を“準備中”に、相手記憶システム番号を、指示された相手記憶システム番号Bに、相手グループ番号を、指示された相手グループ番号Bに、複製種類を指示された複製種類“同期”に変更する。グループ情報600の更新番号を「1」(初期値)に設定する。さらに、正記憶システム100Aは、相手記憶システム番号Bの記憶システムに対して、グループ作成指示を行う。グループ作成指示の指示対象グループ番号は相手グループ番号B、相手記憶システム番号は正記憶システム100Aの記憶システム番号、相手グループ番号は指示対象グループ番号A、複製種類は指示された複製種類“同期”とする。
ユーザは、保守端末あるいはホストコンピュータ180を使用して、副記憶システム100Bのグループ情報600を参照し、グループ状態が“未使用”のグループ番号Dを取得する。同様に、副記憶システム100Cのグループ番号Cを取得する。ユーザは、副記憶システム100Bに、保守端末あるいはホストコンピュータ180を使用して、グループ作成指示を行う。グループ作成指示は、指示対象グループ番号D、相手記憶システム番号C、相手グループ番号C、複製種類“非同期”からなる。
グループ作成指示を受けて、副記憶システム100Bは、グループ情報600を変更する。具体的には、副記憶システム100Bは、指示対象グループ番号Dのグループ情報600のグループ状態を“準備中”に、相手記憶システム番号を、指示された相手記憶システム番号Cに、相手グループ番号を、指示された相手グループ番号Cに、複製種類を指示された複製種類“非同期”に変更する。グループ情報600の更新番号を「1」(初期値)に設定する。さらに、副記憶システム100Bは、相手記憶システム番号Cの記憶システムに対して、グループ作成指示を行う。グループ作成指示の指示対象グループ番号は相手グループ番号C、相手記憶システム番号は副記憶システム100Bの記憶システム番号、相手グループ番号は指示対象グループ番号D、複製種類は指示された複製種類“非同期”とする。
(2)ペア登録について説明する(S1910)。ユーザは、保守端末あるいはホストコンピュータ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のグループ情報600のペア集合に前記取得したペア番号を追加し、副論理ボリューム番号Bのボリューム状態を“副”に変更する。
次に、ユーザは、保守端末あるいはホストコンピュータ180を使用して、非同期データ複製対象を示す情報とデータ複製先を示す情報を指定し、ペア登録指示を副記憶システム100Bに行う。データ複製対象を示す情報は、データ複製対象のグループ番号Dと論理ボリューム番号Bである。データ複製先を示す情報は、複製データを格納する副記憶システム100C内の副論理ボリューム番号Cである。
前記ペア登録指示を受けて、副記憶システム100Bは、ペア情報500からペア状態が“未使用”のペア番号を取得し、ペア状態を“正常”に、正記憶システム番号に副記憶システム100Bを示す記憶システム番号Bを、論理ボリューム番号に指示された論理ボリューム番号Bを、副記憶システム番号にグループ情報600のグループ番号Dの相手記憶システム番号を、副論理ボリューム番号に指示された副論理ボリューム番号Cを、グループ番号に指示されたグループ番号Dを設定する。指示されたグループ番号Dのグループ情報600のペア集合に前記取得したペア番号を追加し、論理ボリューム番号Bのボリューム状態を“副”から“正副”に変更する。
さらに、副記憶システム100Bは、指示されたグループ番号Dのグループ情報600の相手記憶システムに対して、副記憶システム100Bを示す正記憶システム番号B、グループ番号Dのグループ情報600の相手グループ番号C、正論理ボリューム番号B、および副論理ボリューム番号Cを通知し、ペア登録を命令する。副記憶システム100Cは、ペア情報500から未使用のペア番号を取得し、ペア状態を“正常”に、正記憶システム番号に通知された正記憶システム番号Bを、正論理ボリューム番号に通知された正論理ボリューム番号Bを、副記憶システム番号に副記憶システム番号Cを、副論理ボリューム番号に通知された副論理ボリューム番号Cを、グループ番号に通知されたグループ番号Dを設定する。さらに、副記憶システム100Cは、指示されたグループ番号Cのグループ情報600のペア集合に前記取得したペア番号を追加し、副論理ボリューム番号Cのボリューム状態を“副”に変更する。
以上の動作を全てのデータ複製対象のペアに対して行う。前記説明では、論理ボリュームのグループへの登録と、論理ボリュームのペアの設定とを同時に行う処理について説明したが、それぞれ個別に行ってもよい。
(3)ジャーナル論理ボリューム登録について説明する(S1920)。ユーザは、保守端末あるいはホストコンピュータ180を使用して、ジャーナルの格納に使用するジャーナル論理ボリュームをグループに登録する指示(ジャーナル論理ボリューム登録指示)を正記憶システム100Aに行う。ジャーナル論理ボリューム登録指示は、グループ番号と論理ボリューム番号からなる。
正記憶システム100Aは、指示されたグループ番号のグループ情報600のジャーナル論理ボリューム番号に指示された論理ボリューム番号を登録する。さらに、当該論理ボリュームのボリューム情報400のボリューム状態を“正常”に設定する。
同様に、副記憶システム100Bのグループに対してもジャーナル論理ボリュームの登録を行う。ユーザは、保守端末あるいはホストコンピュータ180を使用して、副記憶システム100Bのボリューム情報400を参照し、副記憶システム100B、グループ番号B、ジャーナル論理ボリュームとして使用する論理ボリューム番号を指定して、ジャーナル論理ボリューム登録を正記憶システム100Aに行う。正記憶システム100Aは、ジャーナル論理ボリューム登録指示を副記憶システム100Bに転送する。副記憶システム100Bは、指示されたグループ番号Bのグループ情報600のジャーナル論理ボリューム番号に指示された論理ボリューム番号を登録する。さらに当該論理ボリュームのボリューム情報400のボリューム状態を“正常”に設定する。
ユーザは、副記憶システム100Bの保守端末あるいは副記憶システム100Bに接続したホストコンピュータ180(180B)を使用して、グループ番号とジャーナル論理ボリュームとして使用する論理ボリューム番号を指定し、ジャーナル論理ボリューム登録指示を副記憶システム100Bに行ってもよい。
同様に、副記憶システム100Cのグループに対してもジャーナル論理ボリュームの登録を行う。以上の動作をすべてのジャーナル論理ボリュームとして使用する論理ボリュームに対して行う。S1910とS1920の手順は逆でもよい。
(4)データ複製開始処理について説明する(S1930)。ユーザは、保守端末あるいはホストコンピュータ180を使用して、非同期データ複製処理を開始するグループ番号Dを指定し、非同期データ複製処理の開始を副記憶システム100Bに指示する。副記憶システム100Bは、グループ番号Dのグループ情報600の相手記憶システムである副記憶システム100Cに対し、グループ番号Cのグループ情報600における相手グループ番号のグループ状態を“正常”に変更することと、後述するジャーナルリード処理240およびリストア処理250の開始を指示する。
次に、ユーザは、保守端末あるいはホストコンピュータ180を使用して、同期データ複製処理を開始するグループ番号Aを指定し、データ複製処理の開始を正記憶システム100Aに指示する。正記憶システム100Aは、グループAに属するすべてのペア情報500のコピー済みアドレスを0に設定する。正記憶システム100Aは、グループ番号Aのグループ情報600の相手記憶システムである副記憶システム100Bに対し、グループ番号Bのグループ情報600における相手グループ番号のグループ状態を“正常”に変更することを指示する。正記憶システム100Aは、グループ番号Aのグループ情報600におけるグループ状態を“正常”に変更し、後述する初期コピー処理を開始する。
(5)初期コピー処理終了後の処理について説明する(S1940)。初期コピー処理が終了すると、正記憶システム100Aは、初期コピー処理の終了を副記憶システム100Bに通知する。副記憶システム100Bは、グループBに属するすべての副論理ボリュームのペア状態を“正常”に変更する。
<初期コピー処理の動作>
図20は、初期コピー処理の手順について示すフローチャートである。初期コピー処理は、同期データ複製対象の正論理ボリュームの全記憶領域に対し、ペア情報500のコピー済みアドレスを用いて、記憶領域の先頭から順に、単位サイズ毎にジャーナルを作成する。コピー済みアドレスは、初期値は0であり、ジャーナルの作成毎に、作成したデータ量を加算する。論理ボリュームの記憶領域の先頭から、コピー済みアドレスの一つ前までは、初期コピー処理においてジャーナルは作成済みである。初期コピー処理を行うことにより、正論理ボリュームの更新されていないデータを副論理ボリュームに転送することが可能となる。以下の説明では、正記憶システム100A内のホストアダプタAが処理を行うように記載しているが、ディスクアダプタ120が処理を行ってもよい。以下(1)〜(5)で動作について説明する。
(1)正記憶システム100A内のホストアダプタAは、処理対象の同期データ複製のグループAに属するペアでペア状態が“コピー未”である正論理ボリュームAを取得し、ペアの状態を“コピー中”に変更して、以下の処理を繰り返す(ステップS2010,S2020)。正論理ボリュームAが存在しない場合は、処理を終了する(S2030)。
(2)S2020において、正論理ボリュームAが存在した場合、ホストアダプタAは、単位サイズ(例えば、1MB)のデータを対象にジャーナルを作成する。ジャーナル作成処理については後述する(S2040)。
(3)ホストアダプタAは、正論理ボリュームAの同期ペアである副論理ボリュームのデータを更新するために、同期ペアである副論理ボリュームを保持する副記憶システムB(100B)にリモートライト命令を送信する。リモートライト命令は、ライト命令、論理アドレス(論理ボリュームは同期ペア番号の副論理ボリュームB、論理ボリューム内位置はコピー済みアドレス)、データ量(単位サイズ)、S2040で使用した更新番号を含んでいる。なお、更新番号の代わりにジャーナルを作成した時刻でもよい(S2045)。リモートライト命令を受信した場合の副記憶システムB(100B)の動作は後述する命令受信処理210において説明する。
(4)ホストアダプタAは、リモートライト命令の応答を受信後、コピー済みアドレスに作成したジャーナルのデータサイズを加算する(S2050)。
(5)コピー済みアドレスが、正論理ボリュームAの容量に達するまで、上記処理を繰り返す(S2060)。コピー済みアドレスが、正論理ボリュームAの容量と等しくなった場合、ペア状態を“正常”に更新し、他の正論理ボリュームの処理を開始する(S2070)。
上記フローでは、論理ボリュームを一つずつ対象として処理するように説明したが、複数の論理ボリュームを同時に処理してもよい。
<命令受信処理の動作>
図21は、命令受信処理210を説明する図であり、図22は、命令受信処理210のフローチャートを示す。図23は、ジャーナル作成処理のフローチャートを、図24は、リモートライト命令受信処理のフローチャートを、図25は、ジャーナル複製処理のフローチャートを、図26は、リモートライト命令受信処理について説明する図をそれぞれ示す。これらの図を用いて、以下(1)〜(7)で、正記憶システム100Aが、ホストコンピュータ180からデータ複製対象の論理ボリューム230に対するライト命令を受信した場合の動作について説明する。
(1)正記憶システム100A内のホストアダプタAは、ホストコンピュータ180からアクセス命令を受信する。アクセス命令は、リード、ライト、後述するジャーナルリード等の命令、命令対象の論理アドレス、データ量等を含んでいる。以下、アクセス命令内における論理アドレスを論理アドレスA、論理ボリュームを論理ボリュームA、論理ボリューム内位置を論理ボリューム内位置A、データ量をデータ量Aとする(図22のステップS2200)。
(2)ホストアダプタAは、アクセス命令を判断する(S2210,S2215,S2225)。S2215の判断で、アクセス命令がジャーナルリード命令の場合は、後述するジャーナルリード受信処理を行う(S2900)。アクセス命令がリモートライト命令の場合は、後述するリモートライト命令受信処理を行う(S2400)。それら以外の命令、例えば、リード命令の場合は、従来のリード処理を行う(S2230)。
(3)S2210の判断で、アクセス命令がライト命令の場合は、論理ボリュームAのボリューム情報400を参照し、ボリューム状態を調べる(S2240)。S2240の判断で、論理ボリュームAのボリューム状態が、“正常”もしくは“正”以外の場合は、論理ボリュームAへのアクセスは不可能なため、ホストコンピュータ180に異常終了を報告する(S2245)。
(4)S2240の判断で、論理ボリュームAのボリューム状態が、“正常”、“正”のいずれかの場合は、ホストアダプタAは、キャッシュメモリ130を確保し、ホストコンピュータ180にデータ受信の準備ができたことを通知する。ホストコンピュータ180は、その通知を受け、ライトデータを正記憶システム100Aに送信する。ホストアダプタAは、ライトデータを受信し、当該キャッシュメモリ130に格納する(S2250、図21の2100)。
(5)ホストアダプタAは、論理ボリュームAのボリューム情報400、ペア情報500、グループ情報600を参照し、論理ボリュームAが同期データ複製対象かを調べる(S2260)。S2260の判断で、論理ボリュームAのボリューム状態が“正”かつ、論理ボリュームAの同期ペア番号のペアのペア状態が“正常”かつ、当該ペアが属するグループのグループ状態が“正常”である場合は、後述するジャーナル作成処理を行う(S2300)。
(6)ホストアダプタAは、ジャーナル作成処理の結果が成功およびジャーナル作成不要の場合、同期ペア番号のペアの副記憶システム100Bに、ホストコンピュータ180から受信したライトデータを格納するリモートライト命令を送信する(図21の2180,2185)。リモートライト命令は、ライト命令、論理アドレス(論理ボリューム番号は同期ペア番号のペアの副論理ボリュームB、論理ボリューム内位置は論理ボリューム内位置A)、データ量A、S2300で使用した更新番号を含んでいる。なお、更新番号の代わりにホストコンピュータ180からライト命令を受信した時刻(更新時刻)でもよい。S2300のジャーナル作成処理が成功しなかった場合は、更新番号に無効を示す数値“0”を設定する。
(7)S2260もしくは、S2265のリモートライト命令の応答を受信した後、ホストアダプタAは、ディスクアダプタ120にライトデータを論理アドレスAに対応する記憶装置150の記憶領域に書き込むことを命令し(図21の2160)、ホストコンピュータ180に終了報告する(S2270,S2280)。その後、当該ディスクアダプタ120は、リードライト処理により、前記記憶領域にライトデータを格納する(図21の2170)。
<ジャーナル作成処理の動作>
次に、ジャーナル作成処理(S2500)について説明する(図23)。
(1)ホストアダプタAは、ジャーナル論理ボリュームのボリューム状態を調べる(ステップS2310)。S2310の判断で、ジャーナル論理ボリュームのボリューム状態が“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、グループ状態を“異常”に変更し、処理を終了する(S2315)。この場合、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等を行う。
(2)S2310の判断で、ジャーナル論理ボリュームが正常である場合、ジャーナル作成処理を継続する。ジャーナル作成処理は、初期コピー処理内の処理であるか、命令受信処理内の処理であるかによって処理が異なる(S2320)。ジャーナル作成処理が命令受信処理内の処理の場合は、S2330からの処理を行う。ジャーナル作成処理が初期コピー処理内の場合は、S2370からの処理を行う。
(3)ジャーナル作成処理が命令受信処理内の処理の場合、ホストアダプタAは、ライト対象の論理アドレスAが、初期コピー処理の処理対象となったかを調べる(S2330)。論理ボリュームAのペア状態が“コピー未”の場合は、後に初期コピー処理においてジャーナル作成処理が行われるため、ジャーナルを作成せずに、ジャーナル作成不要として処理を終了する(S2335)。論理ボリュームAのペア状態が“コピー中”の場合は、コピー済みアドレスが論理アドレス内位置Aと等しいもしくは小さい場合は、後に初期コピー処理においてジャーナル作成処理が行われるため、ジャーナルを作成せずに、ジャーナル作成不要として処理を終了する(S2335)。上記以外、つまり、論理ボリュームAのペア状態が“コピー中”かつコピー済みアドレスが論理アドレス内位置Aより大きい場合もしくは論理ボリュームAのペア状態が“正常”の場合は、既に初期コピー処理が完了しているため、ジャーナル作成処理を継続する。
(4)次に、ホストアダプタAは、ジャーナルがジャーナル論理ボリュームに格納可能であるかを調べる。ポインタ情報700を用い、更新情報領域の未使用領域の有無を調べる(S2340)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ジャーナル作成失敗として処理を終了する(S2390)。
S2340の判断で、更新情報領域に未使用領域が存在する場合は、ポインタ情報700を用い、ライトデータ領域にライトデータが格納できるかを調べる(S2345)。ライトデータ最古アドレスが、ライトデータ最新アドレスとライトデータ最新アドレスにデータ量Aを足した数値の範囲にある場合、当該ライトデータをライトデータ領域に格納できないため、ジャーナル作成失敗として処理を終了する(S2390)。
(5)ジャーナルが格納可能である場合、ホストアダプタAは、更新番号と更新情報300を格納する論理アドレスとライトデータを格納する論理アドレスを取得し、更新情報300をキャッシュメモリ130内に作成する。更新番号は、対象グループのグループ情報600から取得し、1を足した数値をグループ情報600の更新番号に設定する。更新情報300を格納する論理アドレスは、ポインタ情報700の更新情報最新アドレスであり、更新情報300のサイズを足した数値をポインタ情報700の更新情報最新アドレスに設定する。ライトデータを格納する論理アドレスは、ポインタ情報700のライトデータ最新アドレスであり、ライトデータ最新アドレスにデータ量Aを足した数値をポインタ情報700のライトデータ最新アドレスに設定する。
ホストアダプタAは、上記取得した数値とグループ番号、ライト命令を受信した時刻(更新時刻)、ライト命令内の論理アドレスA、データ量Aを更新情報300に設定する(S2350、図21の2120)。例えば、前記図12に示すグループ情報600、前記図15に示すポインタ情報700の状態で、グループ1に属する正論理ボリューム#1(論理ボリューム番号1の論理ボリューム)の記憶領域の先頭から800の位置にデータサイズ100のライト命令を受信した場合、図27に示す更新情報300を作成する。グループ情報600の更新番号は6、ポインタ情報700の更新情報最新アドレスは300(更新情報300のサイズは50とする)、ライトデータ最新アドレスは2300となる。
(6)ホストアダプタAは、ディスクアダプタ120に、ジャーナルの更新情報300とライトデータを記憶装置150に書き込むことを命令し、正常終了する(S2360、図21の2130,2140,2150)。
(7)ジャーナル作成処理が、初期コピー処理内の処理の場合は、S2370からの処理を行う。ホストアダプタAは、ジャーナルが作成可能であるかを調べる。ポインタ情報700を用い、更新情報領域の未使用領域の有無を調べる(S2370)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ジャーナル作成失敗として処理を終了する(S2390)。本実施の形態で示した初期コピー処理の場合、ジャーナルのライトデータは、正論理ボリュームからリードし、ライトデータ領域は使用しないため、ライトデータ領域の未使用領域の確認は不要である。
(8)S2370の判断で、ジャーナルが作成可能である場合、ホストアダプタAは、更新情報300をキャッシュメモリ130内に作成する。更新情報300のライト命令を受信した時刻(更新時刻)は、更新番号を取得した時刻を設定する。グループ番号は、論理ボリュームの同期ペア番号が属するグループ番号を設定する。更新番号は、グループ情報600から取得し、1を足した数値をグループ情報600の更新番号に設定する。ライト命令の論理アドレスとライドデータを格納したジャーナル論理ボリュームの論理アドレスは、初期コピー処理対象の論理アドレス(ペア情報500のコピー済みアドレス)を設定する。ライトデータのデータサイズは、初期コピー処理の単位サイズを設定する。更新情報300を格納する論理アドレスは、ポインタ情報700の更新情報最新アドレスの位置であり、更新情報300のサイズを足した数値をポインタ情報700の更新情報最新アドレスに設定する(S2380、図21の2120)。
(9)ホストアダプタAは、ディスクアダプタ120に、更新情報300を記憶装置150に書き込むことを命令し、正常終了する(S2385、図21の2140,2150)。
上記説明では、更新情報300をキャッシュメモリ130内に存在するように記載しているが、共有メモリ140内等に格納してもよい。
ライトデータの記憶装置150への書き込みは、非同期、つまり、S2360およびS2385の直後でなくともよい。ただし、ホストコンピュータ180が、論理アドレスAにライト命令を再び行い、キャッシュメモリ130内に保持するジャーナルのライトデータが上書きされる場合、ホストコンピュータ180からライトデータを受信する前に、記憶装置150に書き込む必要がある。もしくは、前記ライトデータを別のキャッシュメモリに退避させ、この退避させたキャッシュメモリの位置を更新情報300に記憶し、後に更新情報300のジャーナル論理ボリュームの論理アドレスに対応する記憶装置150に書き込みを行ってもよい。
前述したジャーナル作成処理では、ジャーナルを記憶装置150に格納するとしていたが、ジャーナル用にあらかじめ一定量のキャッシュメモリをキャッシュメモリ130に用意しておき、当該キャッシュメモリをすべて使用してから記憶装置150にジャーナルを格納するようにしてもよい。ジャーナル用のキャッシュメモリ量については、例えば保守端末から指定する。
<リモートライト命令受信処理の動作>
次に、副記憶システム100BのホストアダプタBが、正記憶システム100Aからリモートライト命令を受信した場合の処理(リモートライト命令受信処理)について説明する(図24)。リモートライト命令は、ライト命令、論理アドレス(副論理ボリュームB、論理ボリューム内位置A)、データ量A、更新番号を含んでいる。
(1)副記憶システム100B内のホストアダプタBは、論理ボリュームBのボリューム情報400を参照し、副論理ボリュームBのボリューム状態を調べる(ステップS2410)。S2410の判断で、論理ボリュームBのボリューム状態が“副”、“正副”以外の場合は、論理ボリュームBへのアクセスは不可能なため、正記憶システム100Aに異常終了を報告する(S2415)。
(2)S2410の判断で、論理ボリュームBのボリューム状態が“副”もしくは“正副”の場合は、ホストアダプタBは、キャッシュメモリ130を確保し、正記憶システム100Aにデータ受信の準備ができたことを通知する。正記憶システム100Aは、その通知を受け、ライトデータを副記憶システム100Bに送信する。ホストアダプタBは、ライトデータを受信し、当該キャッシュメモリ130に格納する(S2420、図26の2610)。
(3)リモートライト命令に含まれる更新番号を調べ、無効値“0”の場合は、正記憶システム100Aにおいてジャーナルが作成されていないため、S2500のジャーナル複製処理を行わない(S2430)。
(4)リモートライト命令に含まれる更新番号を調べ、有効値(“0”以外)の場合は、ジャーナル論理ボリュームのボリューム状態を調べる。ジャーナル論理ボリュームのボリューム状態が“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、S2500のジャーナル複製処理を行わない(S2440)。
(5)S2440の判断で、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、後述するジャーナル複製処理(S2500)を行う。
(6)ホストアダプタBは、ディスクアダプタ120にライトデータをリモートライト命令の論理アドレスに対応する記憶装置150の記憶領域に書き込むことを命令し、正記憶システムA(100A)に終了報告する(S2460,S2470、図26の2650)。その後、当該ディスクアダプタ120は、リードライト処理により、前記憶領域にライトデータを格納する(図26の2660)。
<ジャーナル複製処理の動作>
次に、ジャーナル複製処理(S2500)について説明する(図25)。
(1)ホストアダプタBは、ジャーナルがジャーナル論理ボリュームに格納可能であるかを調べる。ポインタ情報700を用い、更新情報領域の未使用領域の有無を調べる(ステップS2510)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、最古のジャーナルの記憶領域を開放し、更新情報領域を確保する(S2515)。次に、ポインタ情報700を用い、ライトデータ領域にライトデータが格納できるかを調べる(S2520)。ライトデータ最古アドレスが、ライトデータ最新アドレスとライトデータ最新アドレスにデータ量Aを足した数値の範囲にある場合、当該ライトデータをライトデータ領域に格納できないため、最古のジャーナルからジャーナルの記憶領域を開放し、ライトデータを格納できるようにする(S2525)。
(2)ホストアダプタBは、更新情報300をキャッシュメモリ130内に作成する。更新情報300におけるライト命令を受信した時刻(更新時刻)は、リモートライト命令内の更新時刻を設定する。グループ番号は、論理ボリュームBの同期ペア番号のペアが属するグループのグループ番号を設定する。更新番号は、リモートライト命令内の更新番号を設定する。ライト命令の論理アドレスは、リモートライト命令内の論理アドレスを設定する。ライトデータのデータサイズは、リモートライト命令内のデータ量Aを設定する。ライドデータを格納したジャーナル論理ボリュームの論理アドレスは、ポインタ情報700のライトデータ最新アドレスであり、ライトデータ最新アドレスにライトデータのサイズを足した数値をポインタ情報700のライトデータ最新アドレスに設定する。更新情報300を格納する論理アドレスは、ポインタ情報700の更新情報最新アドレスであり、更新情報300のサイズを足した数値をポインタ情報700の更新情報最新アドレスに設定する(S2530、図26の2620)。
(3)ホストアダプタBは、ディスクアダプタ120に、更新情報300とライトデータを記憶装置150に書き込むことを命令し、ジャーナル作成成功として処理を終了する(S2540、図26の2630)。その後、ディスクアダプタ120は、リードライト処理220により、記憶装置150に更新情報300とライトデータを書き込み、キャッシュメモリ130を開放する(図26の2640,2660)。
このように、本実施の形態のデータ処理システムでは、副記憶システム100Bは、古いジャーナルの記憶領域を開放しつつ、常に新しい複数のジャーナルを保持する。
リードライト処理220は、ディスクアダプタ120が、ホストアダプタ110もしくはディスクアダプタ120から命令を受けて実施する処理である。実施する処理は、指定されたキャッシュメモリ130のデータを指定された論理アドレスに対応する記憶装置150内の記憶領域に書き込む処理、指定された論理アドレスに対応する記憶装置150内の記憶領域から指定されたキャッシュメモリ130にデータを読み込む処理等である。
<ジャーナルリード受信処理の動作>
図28は、ジャーナルリード命令を受信した副記憶システム100BのホストアダプタBの動作(ジャーナルリード受信処理)を説明する図であり、図29は、それに対応するフローチャートである。これらを用いて、以下(1)〜(8)で、副記憶システム100Bが副記憶システム100Cからジャーナルリード命令を受信した場合の動作について説明する。
(1)副記憶システム100B内のホストアダプタBは、副記憶システム100Cからアクセス命令を受信する。アクセス命令は、ジャーナルリード命令であることを示す識別子、命令対象のグループ番号、リトライ指示の有無を含んでいる。以下、アクセス命令内のグループ番号をグループ番号Dとする(ステップS2900、図28の2810)。
(2)ホストアダプタBは、グループ番号Dのグループ状態が“正常”であるかを調べる(S2910)。S2910の判断で、グループ状態が“正常”以外、例えば“異常”の場合は、副記憶システム100Cにグループ状態を通知し、処理を終了する。副記憶システム100Cは、受信したグループ状態に応じて処理を行う。例えば、グループ状態が“異常”の場合は、ジャーナルリード処理を終了する(S2915)。
(3)S2910の判断で、グループ番号Dのグループ状態が“正常”の場合、ホストアダプタBは、ジャーナル論理ボリュームの状態を調べる(S2920)。S2920の判断で、ジャーナル論理ボリュームのボリューム状態が“正常”でない場合、例えば“異常”の場合は、グループ状態を“異常”に変更し、副記憶システム100Cにグループ状態を通知し、処理を終了する。副記憶システム100Cは、受信したグループ状態に応じて処理を行う。例えば、グループ状態が“異常”の場合は、ジャーナルリード処理を終了する(S2925)。
(4)S2920の判断で、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、ジャーナルリード命令がリトライ指示かを調べる(S2930)。
(5)S2930の判断で、ジャーナルリード命令がリトライ指示の場合、ホストアダプタBは、前回送信したジャーナルを再度、副記憶システム100Cに送信する。ホストアダプタBは、キャッシュメモリ130を確保し、ディスクアダプタ120に、ポインタ情報700のリトライ開始アドレスから、更新情報300のサイズの情報をキャッシュメモリに読み込むことを命令する(図28の2820)。
ディスクアダプタのリードライト処理220は、記憶装置150から更新情報300を読み込んでキャッシュメモリ130に格納し、ホストアダプタBに通知する(図28の2830)。
ホストアダプタBは、更新情報300のリード終了の通知を受け、更新情報300から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保し、ディスクアダプタ120にライトデータをキャッシュメモリに読み込むことを命令する(S2940、図28の2840)。
ディスクアダプタのリードライト処理220は、記憶装置150からライトデータを読み込んでキャッシュメモリ130に格納し、ホストアダプタBに通知する(図28の2850)。
ホストアダプタBは、ライトデータのリード終了の通知を受けて、更新情報300とライトデータを副記憶システム100Cに送信し、ジャーナルを保持しているキャッシュメモリ130を開放して、処理を終了する(S2945、図28の2860)。
(6)S2930の判断で、リトライ指示でない場合、ホストアダプタBは、送信していないジャーナルが存在するかを調べ、存在すれば、ジャーナルを副記憶システム100Cに送信する。ホストアダプタBは、ポインタ情報700のリード開始アドレスと更新情報最新アドレスを比較する(S2950)。
リード開始アドレスが更新情報最新アドレスと等しい場合は、すべてのジャーナルを副記憶システム100Cに送信済みであるため、副記憶システム100Cに“ジャーナル無”の情報を送信し(S2960)、前回のジャーナルリード命令の時に副記憶システム100Cに送信したジャーナルの記憶領域を開放する(S2990)。
ジャーナルの記憶領域の開放処理は、ポインタ情報700の更新情報最古アドレスに、リトライ開始アドレスを設定する。更新情報最古アドレスがライトデータ領域先頭アドレスとなった場合は、更新情報最古アドレスは0とする。ポインタ情報700のライトデータ最古アドレスは、前回のジャーナルリード命令に応じて送信したライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、ライトデータ領域先頭アドレスを減じ、補正する。
(7)S2950の判断で、未送信のジャーナルが存在する場合、ホストアダプタBは、キャッシュメモリ130を確保し、ディスクアダプタ120にポインタ情報700のリード開始アドレスから、更新情報300のサイズの情報をキャッシュメモリ130に読み込むことを命令する(図28の2820)。
ディスクアダプタのリードライト処理220は、記憶装置150から更新情報300を読み込んでキャッシュメモリ130に格納し、ホストアダプタに通知する(図28の2830)。
ホストアダプタBは、更新情報300のリード終了の通知を受けて、更新情報300から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保して、ディスクアダプタ120にライトデータをキャッシュメモリ130に読み込むことを命令する(S2970、図28の2840)。
ディスクアダプタのリードライト処理220は、記憶装置150からライトデータを読み込んでキャッシュメモリ130に格納し、ホストアダプタBに通知する(図28の2850)。
ホストアダプタBは、ライトデータのリード終了の通知を受けて、更新情報300とライトデータを副記憶システム100Cに送信し(S2980)、ジャーナルを保持しているキャッシュメモリ130を開放する(図28の2860)。そして、ポインタ情報700のリトライ開始アドレスにリード開始アドレスを設定し、リード開始アドレスに送信したジャーナルの更新情報300のサイズを足した数値を設定する。
(8)ホストアダプタBは、前回のジャーナルリード命令の処理時に副記憶システム100Cに送信したジャーナルの記憶領域を開放する(S2990)。
上記ジャーナルリード受信処理では、副記憶システム100Bは、ジャーナルを一つずつ副記憶システム100Cに送信していたが、複数のジャーナルを同時に副記憶システム100Cに送信するようにしてもよい。一つのジャーナルリード命令に対し送信するジャーナル数は、副記憶システム100Cがジャーナルリード命令内に指定してもよいし、グループ登録の際等に、ユーザが副記憶システム100B、副記憶システム100Cに対し指定してもよい。さらに、副記憶システム100Bと副記憶システム100Cの接続パス200の転送能力もしくは負荷等に応じて、動的に一つのジャーナルリード命令で送信するジャーナル数を変更するようにしてもよい。また、ジャーナル数ではなくジャーナルのライトデータのサイズを考慮してジャーナルの転送量を指定するようにしてもよい。
上記ジャーナルリード受信処理では、ジャーナルを記憶装置150からキャッシュメモリ130に読み込んでいたが、ジャーナルがキャッシュメモリ130に存在する場合は、当該処理は不要である。
上記ジャーナルリード受信処理内におけるジャーナルの記憶領域の開放処理は、次のリトライ指示でないジャーナルリード命令の処理時としたが、副記憶システム100Cにジャーナルを送信した直後に開放してもよい。また、副記憶システム100Cがジャーナルリード命令内に開放してよいジャーナルの更新番号を指示し、副記憶システム100Bではその指示に従ってジャーナルの記憶領域を開放するようにしてもよい。
<ジャーナルリード処理の動作>
図30は、ジャーナルリード処理240を説明する図であり、図31は、そのフローチャートを示す。図32はジャーナル格納処理(S3200)のフローチャートを示す。これらを用いて、以下(1)〜(6)で、副記憶システム100CのホストアダプタCが、副記憶システム100Bからジャーナルを読み出し、ジャーナル論理ボリュームに格納する動作について説明する。
(1)副記憶システム100C内のホストアダプタCは、グループ状態が“正常”かつ複製種類が“非同期”であれば、ジャーナルを格納するキャッシュメモリ130を確保し、ジャーナルリード命令であることを示す識別子、命令対象の副記憶システム100Bのグループ番号、リトライ指示の有無、を含むアクセス命令を副記憶システム100Bに送信する。以下、アクセス命令内のグループ番号をグループ番号Cとする(ステップS3100、図30の3010)。
(2)ホストアダプタCは、副記憶システム100Bからの応答およびジャーナルを受信する(図30の3020)。ホストアダプタCは応答を調べ、応答が“ジャーナル無”の場合は、副記憶システム100Bには指定したグループのジャーナルが存在しないため、一定時間後、副記憶システム100Bにジャーナルリード命令を送信する(S3120,S3125)。
(3)副記憶システム100Bの応答が“グループ状態は異常”もしくは“グループ状態は未使用”の場合は、副記憶システム100Cのグループ状態を、応答で受信したグループ状態に変更し、ジャーナルリード処理を終了する(S3130,S3135)。
(4)副記憶システム100Bの応答が上記以外、つまり正常終了の場合は、ジャーナル論理ボリュームのボリューム状態を調べる(S3140)。ジャーナル論理ボリュームのボリューム状態が“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、グループ状態を“異常”に変更し、処理を終了する(S3145)。この場合、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等を行い、グループの状態を正常に戻す。
(5)S3140の判断で、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、後述するジャーナル格納処理(S3200)を行う。ジャーナル格納処理(S3200)が正常に終了した場合は(S3150−Yes)、次のジャーナルリード命令を送信する。もしくは、一定時間経過後、次のジャーナルリード命令を送信する(S3100)。次のジャーナルリード命令を送信するタイミングは、一定の時間間隔で定期的に送信するものでもよく、受信したジャーナルの個数もしくは、接続パス200の通信量、副記憶システム100Cが保持しているジャーナルの容量、副記憶システム100Cの負荷等によって決めてもよい。さらに、副記憶システム100Bが保持しているジャーナルの容量もしくは副記憶システム100Bのポインタ情報700を副記憶システム100Cから読み出し、その数値に基づいて決めてもよい。上記情報の転送は、専用の命令で行ってもよいし、ジャーナルリード命令の応答に含んでもよい。その後の処理は、S3100以降と同じである。
(6)S3200のジャーナル格納処理が正常に終了しない場合は(S3150−No)、ジャーナル論理ボリュームの未使用領域が足りないため、受信したジャーナルを破棄し、一定時間後にリトライ指示のジャーナルリード命令を送信する(S3155)。もしくは、ジャーナルをキャッシュメモリ130に保持しておき、一定時間後に、再度ジャーナル格納処理を行う。これは、後述するリストア処理250が行われることにより、一定時間後には、ジャーナル論理ボリュームに未使用領域が増える可能性があるためである。この方式の場合は、ジャーナルリード命令にリトライ指示の有無は不要である。
<ジャーナル格納処理の動作>
次に、ジャーナル格納処理(S3200)について説明する(図32)。
(1)ホストアダプタCは、ジャーナルがジャーナル論理ボリュームに格納可能であるかを調べる。ポインタ情報700を用い、更新情報領域に未使用領域の有無を調べる(ステップS3210)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ジャーナル作成失敗として処理を終了する(S3220)。
(2)S3210の判断で、更新情報領域に未使用領域が存在する場合は、ポインタ情報700を用い、ライトデータ領域にライトデータが格納できるかを調べる(S3230)。ライトデータ最古アドレスが、ライトデータ最新アドレスとライトデータ最新アドレスにデータ量Aを足した数値の範囲にある場合、ライトデータ領域にライトデータを格納できないため、ジャーナル作成失敗として処理を終了する(S3220)。
(3)ジャーナルが格納可能である場合、ホストアダプタCは、受信した更新情報300のグループ番号とライトデータを格納したジャーナル論理ボリュームの論理アドレスを変更する。グループ番号は、副記憶システム100Cのグループ番号に変更し、ジャーナル論理ボリュームの論理アドレスはポインタ情報700のライトデータ最新アドレスに変更する。さらに、ホストアダプタCは、ポインタ情報700の更新情報最新アドレスを更新情報最新アドレスに更新情報300のサイズを足した数値に、ライトデータ最新アドレスをライトデータ最新アドレスにライトデータのサイズを足した数値に変更する。さらに、ホストアダプタCは、グループ情報600の更新番号を受信した更新情報300の更新番号に変更する(S3240)。
(4)ホストアダプタCは、ディスクアダプタ120に、更新情報300とライトデータを記憶装置150に書き込むことを命令し、ジャーナル作成成功として処理を終了する(S3250、図30の3030)。その後、ディスクアダプタ120は、リードライト処理220により、記憶装置150に更新情報300とライトデータを書き込み、キャッシュメモリ130を開放する(図30の3040)。
上記ジャーナル格納処理では、ジャーナルを記憶装置150に格納するとしていたが、ジャーナル用にあらかじめ一定量のキャッシュメモリ130を用意しておき、当該キャッシュメモリをすべて使用してから、記憶装置150にジャーナルを格納するようにしてもよい。ジャーナル用のキャッシュメモリ量は、例えば保守端末から指定する。
<リストア処理の動作>
図33は、リストア処理250を説明する図であり、図34は、そのフローチャートである。これらを用いて、以下(1)〜(6)で、副記憶システム100CのホストアダプタCが、リストア処理250として、ジャーナルを利用してデータの更新を行う動作について説明する。リストア処理250は副記憶システム100Cのディスクアダプタ120が処理を行ってもよい。
(1)ホストアダプタCは、グループ番号Cのグループ状態が“正常”もしくは“停止”であるかを調べる(ステップS3410)。S3410の判断で、グループ状態が“正常”および“停止”以外、例えば“異常”の場合は、リストア処理を終了する(S3415)。
(2)S3410の判断で、グループ状態が“正常”もしくは“停止”の場合は、ジャーナル論理ボリュームのボリューム状態を調べる(S3420)。S3420の判断で、ジャーナル論理ボリュームのボリューム状態が“異常”の場合は、アクセス不可能なため、グループ状態を“異常”に変更し、処理を終了する(S3425)。
(3)S3420の判断で、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、リストア処理対象のジャーナルが存在するかを調べる。ホストアダプタCは、ポインタ情報700の更新情報最古アドレスと更新情報最新アドレスを取得する。更新情報最古アドレスと更新情報最新アドレスが等しい場合、ジャーナルは存在しないため、リストア処理は一旦終了し、一定時間後、リストア処理を再開する(S3430)。
(4)S3430の判断で、リストア処理対象のジャーナルが存在する場合、最古(最小)の更新番号を持つジャーナルに対して次の処理を行う。最古(最小)の更新番号を持つジャーナルの更新情報300は、ポインタ情報700の更新情報最古アドレスから格納されている。ホストアダプタCは、キャッシュメモリ130を確保し、ディスクアダプタ120に対し更新情報最古アドレスから更新情報300のサイズの情報をキャッシュメモリ130に読み込むことを命令する(図33の3310)。
ディスクアダプタ120のリードライト処理220は、記憶装置150から更新情報300を読み込んでキャッシュメモリ130に格納し、ホストアダプタCに通知する(図33の3320)。
ホストアダプタCは、更新情報300のリード終了の通知を受けて、更新情報300から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保して、ディスクアダプタ120にライトデータをキャッシュメモリ130に読み込むことを命令する(図33の3330)。
ディスクアダプタ120のリードライト処理220は、記憶装置150からライトデータを読み込んでキャッシュメモリ130に格納し、ホストアダプタに通知する(S3440、図33の3340)。
(5)ホストアダプタCは、更新情報300から更新する副論理ボリュームの論理アドレスを求め、ディスクアダプタ120に副論理ボリュームにライトデータを書き込むことを命令する(S3450、図33の3350)。ディスクアダプタのリードライト処理220は、副論理ボリュームの論理アドレスに対応する記憶装置150にデータを書き込み、キャッシュメモリ130を開放し、ホストアダプタに通知する(図33の3360)。
(6)ホストアダプタCは、ディスクアダプタ120のライト処理完了の通知を受け、ジャーナルの記憶領域を開放する。ジャーナルの記憶領域の開放処理は、ポインタ情報700の更新情報最古アドレスを更新情報300のサイズを足した数値に変更する。更新情報最古アドレスが、ライトデータ領域先頭アドレスとなった場合は、更新情報最古アドレスは0とする。ポインタ情報700のライトデータ最古アドレスは、ライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、ライトデータ領域先頭アドレスを減じ、補正する。その後、ホストアダプタCは、次のリストア処理を開始する(S3460)。
前記リストア処理250では、記憶装置150からキャッシュメモリ130にジャーナルを読み込んでいたが、ジャーナルがキャッシュメモリ130に存在する場合は、当該処理は不要である。
同期データ複製に関し、前記正論理ボリュームのデータ更新および副論理ボリュームのデータ更新の処理では、正記憶システム100Aおよび副記憶システム100Bでジャーナルを作成していたが、副記憶システム100Cは副記憶システム100Bからジャーナルを取得するため、正記憶システム100Aではジャーナルを作成せず、副記憶システム100Bでのみジャーナルを作成するようにしてもよい。また、正記憶システム100Aで作成したジャーナルをリモートライト命令等により副記憶システム100Bの記憶領域に転送(コピー)するようにしてもよい。
非同期データ複製に関し、前記ジャーナルリード受信処理とジャーナルリード処理では、副記憶システム100Bが副記憶システム100Cに対し送信するジャーナルをポインタ情報700により決めていたが、副記憶システム100Cが前記副記憶システム100Bから送信するジャーナルについて決めてもよい。例えば、前記副記憶システム100Cからのジャーナルリード命令に、更新番号の指定を追加する。この場合、副記憶システム100Bにおけるジャーナルリード受信処理において、副記憶システム100Cが指定した更新番号の更新情報300の論理アドレスを求めるために、副記憶システム100Bの共有メモリ140内に、更新番号から更新情報300を格納した論理アドレスを求めるテーブルもしくは検索手段等を設ける。
また前記ジャーナルリード受信処理とジャーナルリード処理では、ジャーナルの転送のためにジャーナルリード命令を用いていたが、通常のリード命令を用いてもよい。例えば、副記憶システム100Bのグループ情報600とポインタ情報700をあらかじめ副記憶システム100Cに転送しておき、これをもとに、副記憶システム100Cは、副記憶システム100Bのジャーナル論理ボリュームのデータつまりジャーナルをリード命令によりリードする。
また前記ジャーナルリード受信処理では、更新番号の順に、副記憶システム100Bから副記憶システム100Cにジャーナルを送信するとしたが、更新番号の順に送信せずともよい。また、副記憶システム100Bから副記憶システム100Cに対し複数のジャーナルリード命令を送信してもよい。この場合、副記憶システム100Cのリストア処理250において更新番号順にジャーナルを処理してデータ更新を行うために、副記憶システム100Cに、更新番号から更新情報300を格納した論理アドレスを求めるテーブルもしくは検索手段等を設ける。
また前記ジャーナルリード受信処理とジャーナルリード処理では、副記憶システム100Cが副記憶システム100Bに対しジャーナルリード命令を送信してジャーナルを取得していたが、副記憶システム100Bが副記憶システム100Cに対しジャーナルを格納するようにライト命令(ジャーナルライト命令)を行ってもよい。この副記憶システム100Cへのジャーナルのライト命令は、専用の命令(ジャーナルライト命令)を使用してもよいが、通常のライト命令を用いてもよい。例えば、副記憶システム100Cのグループ情報600とポインタ情報700をあらかじめ副記憶システム100Bに転送しておき、これをもとに、副記憶システム100Bは、副記憶システム100Cのジャーナル論理ボリュームにデータつまりジャーナルをライトするようにする。
前述した例では、正記憶システム100Aのジャーナル論理ボリュームと副記憶システム100Bのジャーナル論理ボリュームと副記憶システム100Cのジャーナル論理ボリュームの記憶容量を等しくしていたが、異なる容量としてもよい。
正記憶システム100Aのジャーナル論理ボリュームの記憶容量が大きい場合、後述する副記憶システム100Bが障害から回復した際に副記憶システム100Bでの非同期データ複製を開始できる可能性が高まる。副記憶システム100Bのジャーナル論理ボリュームの記憶容量が大きい場合、副記憶システム100Cの負荷が高いもしくは副記憶システム100Bと副記憶システム100Cの間の接続パス200における通信量が多い場合等に副記憶システム100Cでの非同期データ複製が中断する可能性を低くできる。副記憶システム100Cのジャーナル論理ボリュームの記憶容量が大きい場合、副記憶システム100Cの負荷が高い場合等に副記憶システム100Cでの非同期データ複製が中断する可能性を低くできる。
前述した本実施の形態のデータ処理システムでは、副記憶システム100Bは、正記憶システム100Aが保持するデータの複製を保持しており、正記憶システム100Aは、複製対象データを更新する際、副記憶システム100B内の該当するデータについてのデータ更新を命令する。それを受けて、副記憶システム100Bは、該当するデータのデータ更新と、データ更新に関する情報をジャーナルとして格納する処理とを行う。副記憶システム100Cは、正記憶システム100Aが保持するデータの複製を保持しており、自律的に副記憶システム100Bからデータ更新のために必要なジャーナルを取得し、ジャーナルを用いて正記憶システム100Aでのデータ更新順序に従って正記憶システム100Aのデータと対応するデータを更新する。これにより、副記憶システム100Bおよび副記憶システム100Cは、データの整合性を維持しつつ、正記憶システム100Aのデータの複製を保持できる。
<記憶システムBで障害が発生した場合の動作>
次に、前述した動作を行う本実施の形態のデータ処理システムにおいて構成要素で障害が発生した際の動作について説明する。図35に、本実施の形態のデータ処理システムにおいて、副記憶システム100Bで障害が発生した場合に、副記憶システム100Cでのデータ複製を再開する手順を示す。また図36に、それに対応する、本実施の形態のデータ処理システムの論理的な構成を示すブロック図を示す。また図37に、それに対応する、記憶システム100およびホストコンピュータ180間の命令および応答の送受信と各記憶システム100が保持するジャーナルについて説明する図を示す。なお図37において示す時刻に関して、時刻t6は前記図5おける時刻t6と対応する。同様に他の図中に示す時刻に関しても時系列で対応している。以下の説明において、副記憶システム100Bで障害が発生する前(時刻t7)の正記憶システム100Aのボリューム情報400は前記図6に、ペア情報500は図9に、グループ情報600は図12に、ポインタ情報700は図15にそれぞれ示している。また副記憶システム100Bで障害が発生する前(時刻t7)の副記憶システム100Bのボリューム情報400は図7に、ペア情報500は図10に、グループ情報600は図13に、ポインタ情報700は図17にそれぞれ示す。また副記憶システム100Bで障害が発生する前(時刻t7)の副記憶システム100Cのボリューム情報400は図8に、ペア情報500は図11に、グループ情報600は図14に、ポインタ情報700は図18にそれぞれ示す。
副記憶システム100Cは、非同期データ複製を行っているため、副論理ボリュームCOPY1と正論理ボリュームDATA1とでデータが一致していない場合がある。さらに、副記憶システム100Cが、副記憶システム100Bで格納されているすべてのジャーナルを保持していない場合、副論理ボリュームCOPY1を正論理ボリュームDATA1と一致させることができない。図37の時刻t7では、正記憶システム100Aは更新番号2から5のジャーナルを、副記憶システム100Bは更新番号4と5のジャーナルを、副記憶システム100Cは更新番号2から4のジャーナルを保持する。図37に示す例では、副論理ボリュームCOPY1と正論理ボリュームDATA1とが一致しておらず、副記憶システム100Cが更新番号5のジャーナルを保持していないため、副論理ボリュームCOPY1と正論理ボリュームDATA1とを一致させることができない。以下(1)〜(4)で動作について説明する。
(1)副記憶システム100Bに障害が発生したことにより、副論理ボリューム(data1,data2等)、ジャーナル論理ボリューム(JNL2)が使用不可能となる。それにより、副記憶システム100B内の更新番号5のジャーナルについては、副記憶システム100Cから読み出すことができない(ステップS3510、図37の時刻t8)。副記憶システム100Bの障害は、例えば、ユーザが保守端末等を通じて副記憶システム100Bを監視することで発見する。あるいは、正記憶システム100Aへのライト命令時における同期したリモートライト命令についての失敗の情報を当該ライト命令の応答に含めてホストコンピュータ180に通知すること等によりユーザに報告してもよい。
(2)ユーザは、正記憶システム100Aの保守端末やホストコンピュータ180を使用して、正記憶システム100Aに対し、非同期複製元変更命令を行う。非同期複製元変更命令は、グループ単位で、非同期データ複製におけるデータ複製元(正論理ボリューム)を変更させる命令であり、複製元情報(正論理ボリューム(data1,data2)を保持する記憶システム番号Bとグループ番号D)、複製先情報(副論理ボリューム(COPY1,COPY2)を保持する記憶システム番号Cとグループ番号C)を含む(S3520、図37の時刻t9)。
正記憶システム100Aは、非同期複製元変更命令を受信すると、正記憶システム100Aのボリューム情報400、ペア情報500、グループ情報600を参照し、正記憶システム100A内のグループ状態が“未使用”のグループ番号Eを取得して、正記憶システム100A内のグループAに属する論理ボリュームA(DATA1,DATA2)を正論理ボリューム、副記憶システム100C内のグループCに属する論理ボリュームC(COPY1,COPY2)を副論理ボリュームとする非同期データ複製のペアとなるように正記憶システム100Aのボリューム情報400、ペア情報500、グループ情報600の変更を行う。ただし、論理ボリュームAと論理ボリュームCの組み合わせは、副記憶システム100B内の論理ボリュームBとペアとなっていた論理ボリュームとする。さらに、正記憶システム100Aは、グループAに属していたジャーナル論理ボリュームをグループEにおいて継続して使用するようにグループ情報600を変更する。具体的には、正記憶システム100Aは、グループEの更新番号をグループAの更新番号に、グループEのジャーナル論理ボリューム番号をグループAのジャーナル論理ボリューム番号に変更する。非同期複製元変更命令の実行により、正記憶システム100Aは、ボリューム情報400を前記図6から図38に、ペア情報500を前記図9から図39に、グループ情報600を前記図12から図40に、それぞれ変更する。
正記憶システム100Aは、副記憶システム100Cに対して、正記憶システム100A内のグループEに属する論理ボリュームA(DATA1,DATA2)を正論理ボリューム、副記憶システム100C内のグループCに属する論理ボリュームC(COPY1,COPY2)を副論理ボリュームとする非同期データ複製のペアとなるように副記憶システム100Cのボリューム情報400、ペア情報500、グループ情報600を変更するよう命令する。ここでは非同期複製元変更命令の送信により行う。ただし、論理ボリュームAと論理ボリュームCの組み合わせは、副記憶システム100B内の同一の論理ボリュームとペアとなっていた論理ボリュームとする。
副記憶システム100Cは、前記命令を受信し、副記憶システム100Bへのジャーナルリード命令の送信を停止する。副記憶システム100Cは、正記憶システム100Aおよび副記憶システム100Cのボリューム情報400、ペア情報500、グループ情報600を参照し、副記憶システム100Cのペア情報500、グループ情報600を変更する。副記憶システム100Cは、ペア情報500を前記図11から図41に、グループ情報600を前記図14から図42に変更する(S3530,S3540)。
正記憶システム100Aは、非同期複製元変更命令の応答をホストコンピュータ180もしくは保守端末に行う。ユーザは、ホストコンピュータ180もしくは保守端末から非同期複製元変更の終了を認識し、正記憶システム100Aの使用を開始する(S3550,S3560)。
(3)副記憶システム100Cは、正記憶システム100Aにジャーナルリード(JNLRD)位置指定命令を送信する(S3570、図37の時刻t10)。このジャーナルリード位置指定命令は、正記憶システム100Aのポインタ情報700を変更して副記憶システム100Cからのジャーナルリード命令に対して正記憶システム100Aから送信されるジャーナルを指定する命令であり、相手グループ番号E、更新番号Cを含む。相手グループ番号は、グループ番号Cの相手グループ番号を指定する。更新番号は、グループ番号Cのグループ情報600の更新番号に1を足した数値を指定する。図37に示す例では、グループ番号2、更新番号5を指定する。
正記憶システム100Aは、副記憶システム100Cからジャーナルリード位置指定命令を受信した場合、ポインタ情報700を参照し、更新番号Cのジャーナルを保持しているかを調べる。正記憶システム100Aは、ポインタ情報700の更新情報最古アドレスの更新情報300を記憶装置150から読み出し、最古(最小)の更新番号Aを得る。
更新番号Aがジャーナルリード位置指定命令の更新番号Cと等しい、もしくは小さい場合は、正記憶システム100Aが更新番号Cのジャーナルを保持しているので、副記憶システム100Cは、非同期データ複製を継続・再開することができる。この場合、正記憶システム100Aは、リード開始アドレスおよびリトライ開始アドレスを更新番号Cの更新情報300を格納している論理アドレスに変更し、“再開可能”の応答を副記憶システム100Cに返す。この時に、更新番号Cより以前のジャーナルの記憶領域を開放してもよい。図37の時刻t10では、正記憶システム100Aは更新番号2から4のジャーナルの記憶領域を開放している。ただし、後述する副記憶システム100Bでの非同期データ複製を開始するためには、正記憶システム100Aにおいて副記憶システム100Bで障害が発生した時点以降のジャーナル(本例では更新番号6以降のジャーナル)が使用する記憶領域を開放してはいけない(S3580)。
他方、更新番号Aがジャーナルリード位置指定命令の更新番号Cより大きい場合は、正記憶システム100Aが副記憶システム100Cに必要なジャーナルを保持していないため、副記憶システム100Cにおいて非同期データ複製を継続・再開することができない。この場合は“再開不可能”の応答を副記憶システム100Cに返し、前記図19および図20を用いて説明した手順により正記憶システム100Aから副記憶システム100Cに対してデータ複製を開始する必要がある。
(4)副記憶システム100Cは、“再開可能”の応答を受信した場合、グループCのグループ情報600のグループ状態を“正常”に変更することで、正記憶システム100Aに対し、ジャーナルリード処理を開始する(S3590、図37の時刻t11)。
上記処理で副記憶システム100Cが前記ジャーナルリード位置指定命令を行わないこととしてもよい。この場合、副記憶システム100Cは、ジャーナルリード処理を開始し、正記憶システム100Aから最古のジャーナルを受信する。副記憶システム100Cが受信したジャーナルの更新番号Aが、グループ番号Cのグループ情報600の更新番号Cに1を足した数値より大きい場合は、正記憶システム100Aが副記憶システム100Cに必要なジャーナルを保持していないため、データ複製処理を中断する。また、受信したジャーナルの更新番号Aが、更新番号Cと等しい、もしくは小さい場合は、当該ジャーナルを破棄し、ジャーナルリード処理を継続する。また、受信したジャーナルの更新番号Aが、更新番号Cに1を足した数値と等しい場合は、受信したジャーナルをジャーナル論理ボリュームに格納し、ジャーナルリード処理を継続する。
前述した本実施の形態のデータ処理システムでは、非同期複製元変更命令をホストコンピュータ180や正記憶システム100Aの保守端末から正記憶システム100Aに対し送信していたが、副記憶システム100Cの保守端末や副記憶システム100Cに接続したホストコンピュータ等を使用して副記憶システム100Cに対し非同期複製元変換命令を送信してもよい。
前述した本実施の形態のデータ処理システムでは、ジャーナルリード位置指定命令により副記憶システム100Cでのデータの非同期データ複製が開始(再開)可能かを判断していたが、正記憶システム100Aのポインタ情報700を副記憶システム100Cに送信し、副記憶システム100Cが受信したポインタ情報700を参照してデータの非同期データ複製が開始可能かを判断するようにしてもよい。
続いて、図43および前記図36を用いて、ホストコンピュータ180が正記憶システム100Aの使用を開始した後の、正記憶システム100Aの正論理ボリュームDATA1へのデータ更新を副記憶システム100Cの副論理ボリュームCOPY1に反映する動作について説明する。図43に、それに対応する、記憶システム100およびホストコンピュータ180間の命令および応答の送受信と各記憶システム100が保持するジャーナルについて説明する図を示す。図43の時刻t10に、ホストコンピュータ180が正記憶システム100Aの使用を開始する。正記憶システム100Aは更新番号5のジャーナルを、副記憶システム100Cは更新番号2から4のジャーナルを保持する。時刻t11では、副記憶システム100Cは、ジャーナルリード処理240によって、更新番号5のジャーナルを正記憶システム100Aからリードし、格納する。
(1)正記憶システム100Aは、ホストコンピュータ180から正論理ボリュームDATA1内のデータに対するライト命令を受信すると、前述した命令受信処理210およびリードライト処理220によって、正論理ボリュームDATA1内のデータ更新と、ジャーナル論理ボリュームJNL1へのジャーナルの格納を行い、ホストコンピュータ180にライト命令の終了を報告する(図36の3600)。図43の時刻t12では、正記憶システム100Aは、ホストコンピュータ180からのライト命令を受信し、正論理ボリュームの更新と、更新番号6のジャーナルのジャーナル論理ボリュームへの格納を行う。
(2)副記憶システム100Cは、前述したジャーナルリード処理240によって、正記憶システム100Aからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリュームJNL3にジャーナルを格納する(図36の3610)。図43の時刻t13では、副記憶システム100Cは、正記憶システム100Aにジャーナルリード命令を送信し、正記憶システム100Aから、更新番号6のジャーナルを読み出し、ジャーナル論理ボリュームJNL3に格納する。
正記憶システム100Aは、副記憶システム100Cからジャーナルリード命令を受信すると、命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリュームJNL1からジャーナルを読み出し、副記憶システム100Cに送信する(図36の3610)。この際、送信したジャーナルより古い更新番号5のジャーナルの記憶領域を開放してもよい。図43の例では、更新番号5のジャーナルの記憶領域を開放している。
(3)副記憶システム100Cは、リストア処理250およびリードライト処理220によって、ポインタ情報700を用いて、更新番号の昇順に、ジャーナル論理ボリュームJNL3からジャーナルを読み出し、副論理ボリュームCOPY1のデータを更新する(図36の3620)。このようにして、正記憶システム100A内の正論理ボリュームDATA1と副記憶システム100C内の副論理ボリュームCOPY1のデータは、正論理ボリュームの更新の暫く後には、完全に一致する。図43の時刻t14では、副記憶システム100Cは、ジャーナル論理ボリュームから更新番号2のジャーナルを読み出し、副論理ボリュームのデータを更新する。この際、不要となった更新番号2のジャーナルの記憶領域を開放してもよいし、ジャーナルの格納領域が不足した時点で、最古のジャーナルの記憶領域を開放する方式を採ってもよい。
前述した本実施の形態のデータ処理システムでは、正記憶システム100Aがジャーナルを作成し、副記憶システム100Bが正記憶システム100Aから受信する更新番号および更新時刻を用いてジャーナルを作成する。さらに、副記憶システム100Cが、副記憶システム100Bからジャーナルを取得する。これにより、二つの記憶システムでデータの複製を保持することが可能となる。副記憶システム100Bで障害が発生した場合、副記憶システム100Cは、ジャーナル取得先つまり複製元を副記憶システム100Bから正記憶システム100Aに変更する。これにより、副記憶システム100Cは、データの整合性を維持しつつ、正記憶システム100Aのデータについてのデータ複製(非同期データ複製)を継続できる。
<記憶システムBの回復後の動作>
図44に、本実施の形態のデータ処理システムにおいて、副記憶システム100Bが障害から回復した後の副記憶システム100Bでのデータ複製を再開する手順を示す。図45に、それに対応する、記憶システム100およびホストコンピュータ180間の命令および応答の送受信と各記憶システム100が保持するジャーナルについて説明する図を示す。以下(1)〜(6)で動作について説明する。
(1)ユーザが記憶システムB(100B)を回復させる(図44のステップS4410、図45の時刻t15)。
(2)ユーザは、正記憶システム100Aの保守端末もしくはホストコンピュータ180を使用して、正記憶システム100Aに対し、複製方式変更命令を送信する。この複製方式変更命令は、記憶システム100間のデータ複製の方式(モード)について、グループ単位で、同期データ複製を非同期データ複製に変更する命令であり、複製元情報(正論理ボリューム(DATA1,DATA2)を保持する記憶システム番号Aとグループ番号A)、複製先情報(副論理ボリューム(data1,data2)を保持する記憶システム番号Bとグループ番号B)を含む(S4420)。
(3)正記憶システム100Aは、複製方式変更命令を受信すると、グループ番号Aのグループに属する論理ボリュームのデータ複製が非同期データ複製となるように、正記憶システム100Aのペア情報500、グループ情報600を変更する。複製方式変更命令により、正記憶システム100Aは、前記図38に示すボリューム情報400を図46に、前記図39に示すペア情報500を図47に、前記図40に示すグループ情報600を図48にそれぞれ変更する(S4430)。
さらに、正記憶システム100Aは、副記憶システム100Bに対して、グループ番号Bのグループに属する論理ボリュームのデータ複製が非同期データ複製となるようにボリューム情報400、グループ情報600の変更を命令する。ここでは複製方式変更命令の送信により行う。副記憶システム100Bは、指示されたグループBのボリューム情報400、グループ情報600を変更する。複製方式変更命令により、副記憶システム100Bは、前記図7に示すボリューム情報400を図49に、前記図13に示すグループ情報600を図50に、それぞれ変更する(S4440)。
(4)副記憶システム100Bは、正記憶システム100Aにジャーナルリード位置指定命令を送信する(S4450)。ジャーナルリード位置指定命令は、正記憶システム100Aのポインタ情報700を変更して、副記憶システム100Bからのジャーナルリード命令に対して送信されるジャーナルを指定する命令であり、相手グループ番号A、更新番号Bを含む。相手グループ番号は、グループ番号Bの相手グループ番号を指定する。更新番号は、グループ番号Bのグループ情報600の更新番号に1を足した数値を指定する。図45に示す例では、ジャーナルリード位置指定命令において、グループ番号1、更新番号6を指定する(S4450、図45の時刻t16)。
(5)正記憶システム100Aは、ジャーナルリード位置指定命令を受信した場合、ポインタ情報700を参照し、更新番号Bのジャーナルを保持しているかを調べる。正記憶システム100Aは、ポインタ情報700の更新情報最古アドレスの更新情報300を記憶装置150から読み出し、最古(最小)の更新番号Aを得る。
更新番号Aがジャーナルリード位置指定命令の更新番号Bと等しい、もしくは小さい場合は、正記憶システム100Aが更新番号Bのジャーナルを保持しているので、副記憶システム100Bは、非同期データ複製を開始することができる。この場合、正記憶システム100Aは、リード開始アドレスおよびリトライ開始アドレスを更新番号Bの更新情報300を格納しているアドレスに変更し、“開始可能”の応答を副記憶システム100Bに返す。この時に、更新番号Bより以前のジャーナルの記憶領域を開放してもよい(S4460)。
他方、更新番号Aがジャーナルリード位置指定命令の更新番号Bより大きい場合は、正記憶システム100Aが副記憶システム100Bに必要なジャーナルを保持していないため、副記憶システム100Bにおいて非同期データ複製を開始することができない。この場合は、“開始不可能”の応答を副記憶システム100Bに返し、前記図19および図20を用いて説明した手順により正記憶システム100Aから副記憶システム100Bに対してデータ複製を開始する必要がある(S4480)。
(6)副記憶システム100Bは、“開始可能”の応答を受信した場合、グループBのグループ情報600のグループ状態を“正常”に変更することで、正記憶システム100Aに対し、ジャーナルリード処理を開始する(S4490、図45の時刻t17)。
副記憶システム100Bが前記ジャーナルリード位置指定命令を行わないこととしてもよい。この場合、副記憶システム100Bは、ジャーナルリード処理を開始し、正記憶システム100Aから最古のジャーナルを受信する。副記憶システム100Bが受信したジャーナルの更新番号Aが、グループ番号Bのグループ情報600の更新番号に1を足した数値より大きい場合は、正記憶システム100Aが副記憶システム100Bに必要なジャーナルを保持していないため、データ複製を中断する。また、受信したジャーナルの更新番号Aが、更新番号Bと等しい、もしくは小さい場合は、当該ジャーナルを破棄し、ジャーナルリード処理を継続する。また、受信したジャーナルの更新番号Aが、更新番号Bに1を足した数値と等しい場合は、受信したジャーナルをジャーナル論理ボリュームに格納し、ジャーナルリード処理を継続する。
前述した本実施の形態のデータ処理システムでは、複製方式変更命令を正記憶システム100Aに対し送信していたが、副記憶システム100Bの保守端末もしくは副記憶システム100Bに接続したホストコンピュータ等を使用して副記憶システム100Bに対し複製方式変換命令を送信してもよい。
前述した本実施の形態のデータ処理システムでは、ジャーナルリード位置指定命令により、副記憶システム100Bでのデータの非同期データ複製が開始(再開)可能かを判断していたが、正記憶システム100Aのポインタ情報700を副記憶システム100Bに送信して、副記憶システム100Bが受信したポインタ情報700を参照してデータの非同期データ複製が開始可能かを判断してもよい。
続いて、図51および図52を用いて、ホストコンピュータ180が正記憶システム100Aの使用を開始した後の、正記憶システム100Aの正論理ボリュームDATA1へのデータ更新を副記憶システム100Bの副論理ボリュームdata1および副記憶システム100Cの副論理ボリュームCOPY1に反映する動作について説明する。図51に、それに対応する、本実施の形態のデータ処理システムの論理的な構成を示すブロック図を示す。図52に、それに対応する、記憶システム100およびホストコンピュータ180間の命令および応答の送受信と各記憶システム100が保持するジャーナルについて説明する図を示す。以下(1)〜(3)で動作について説明する。
(1)正記憶システム100Aは、ホストコンピュータ180から正論理ボリュームDATA1内のデータに対するライト命令を受信すると、前述した命令受信処理210およびリードライト処理220によって、正論理ボリュームDATA1内のデータ更新と、ジャーナル論理ボリュームJNL1へのジャーナルの格納を行う(図51の5110)。図52の時刻t18では、正記憶システム100Aは、ホストコンピュータ180からのライト命令を受信し、正論理ボリュームの更新と、更新番号7のジャーナルのジャーナル論理ボリュームへの格納を行う。
(2)副記憶システム100Bは、前述したジャーナルリード処理240によって、正記憶システム100Aからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリュームJNL2にジャーナルを格納する(図51の5120)。図52の時刻t19では、副記憶システム100Bは、正記憶システム100Aにジャーナルリード命令を送信し、正記憶システム100Aから、更新番号7のジャーナルを読み出し、ジャーナル論理ボリュームJNL2に格納する。
(3)副記憶システム100Cは、前述したジャーナルリード処理240によって、正記憶システム100Aからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリュームJNL3にジャーナルを格納する(図51の5130)。図52の時刻t20では、副記憶システム100Cは、正記憶システム100Aにジャーナルリード命令を送信し、正記憶システム100Aから、更新番号7のジャーナルを読み出し、ジャーナル論理ボリュームJNL3に格納する。この際、不要となった(副記憶システム100Bおよび副記憶システム100Cに送信された)更新番号7のジャーナルの記憶領域を開放してもよいし、ジャーナルの格納領域が不足した時点で最古のジャーナルの記憶領域を開放する方式を採ってもよい。
その後、副記憶システム100Bおよび副記憶システム100Cは、前述したリストア処理250において、更新番号の順にジャーナル論理ボリュームからジャーナルを読み出し、副論理ボリュームのデータを更新する(図51の5140,5150)。
前述した本実施の形態のデータ処理システムでは、正記憶システム100Aがジャーナルを作成する。副記憶システム100Bおよび副記憶システム100Cは、正記憶システム100Aからジャーナルを取得し、ジャーナルを使用して、正記憶システム100Aと対応するデータを更新する。これにより、副記憶システム100Bと副記憶システム100Cは、データの整合性を維持しつつ、正記憶システム100Aのデータの非同期データ複製を保持できる。
さらに、図53に、副記憶システム100Bの非同期データ複製を同期データ複製に変更する手順を示す。図54に、それに対応する、記憶システム100およびホストコンピュータ180間の命令および応答の送受信と各記憶システム100が保持するジャーナルについて説明する図を示す。
副記憶システム100Bは、前述したジャーナルリード処理240によって、正記憶システム100Aにジャーナルリード命令を送信する。ジャーナルリード命令に、リストア処理250を終了した最終(最大)更新番号を含める(ステップS5310)。正記憶システム100Aは、前述したジャーナルリード受信処理240と同様の方法によって、副記憶システム100Bに対し送信していないジャーナルが存在するかを調べる(S5320)。送信していないジャーナルが存在する場合は、副記憶システム100Bに当該ジャーナルを送信する(S5330)。副記憶システム100Bは、正記憶システム100Aからジャーナルを受信し、前述したジャーナル格納処理を行う(S5340)。
正記憶システム100Aは、S5320の判断で、副記憶システム100Bに対し送信していないジャーナルが存在せず、副記憶システム100Bにおいてすべてのジャーナルのリストア処理250が終了している場合、ジャーナルリード命令のグループのデータ複製方式を非同期データ複製から同期データ複製に変更し、副記憶システム100Bに“同期複製開始”を送信する。また副記憶システム100Bにおいてすべてのジャーナルのリストア処理250が終了していない場合、副記憶システム100Bに“ジャーナル無”を送信する。副記憶システム100Bにおいてすべてのジャーナルのリストア処理250が終了しているかの判断は、前記ジャーナルリード命令内の最終(最大)更新番号と、正記憶システム100Aのグループ番号1のグループ情報の更新番号により行う。前記ジャーナルリード命令内の最終(最大)更新番号+1が、正記憶システム100Aのグループ番号1のグループ情報の更新番号と等しい場合、副記憶システム100Bにおいてすべてのジャーナルについてリストア処理250が終了している。前記ジャーナルリード命令内の最終(最大)更新番号+1が、正記憶システム100Aのグループ番号1のグループ情報の更新番号と等しいもしくは小さい場合、副記憶システム100Bにおいてすべてのジャーナルについてリストア処理250が終了してはいない。正記憶システム100Aは、前記図46に示すボリューム情報400を図55に、前記図48に示すグループ情報600を図56に変更する(S5350)。
副記憶システム100Bは、正記憶システム100Aから“同期複製開始”の応答を受信すると、すべてのジャーナル(未反映分のジャーナル)についてリストア処理250を行って副論理ボリュームのデータ更新をしたか判断する(S5360)。すべてのジャーナルについてリストア処理250を行っていない場合は、S5310に戻る。すべてのジャーナルについてリストア処理250を行っている場合は、ジャーナルリード処理を停止し、当該グループのデータ複製方式を非同期データ複製から同期データ複製に変更する。副記憶システム100Bは、前記図49に示すボリューム情報400を図57に、前記図50に示すグループ情報600を図58に変更する(S5370、図54の時刻t21)。図54の時刻t20からt21の間に、副記憶システム100Bは、すべてのジャーナル(更新番号4から7のジャーナル)についてリストア処理250を実施した後、正記憶システム100Aにジャーナルリード命令を送信する。前記ジャーナルリード命令内の最終(最大)更新番号は7である。
その後、正記憶システム100Aは、ホストコンピュータ180から論理ボリュームに対するライト命令を受信すると、データ更新と、ジャーナル論理ボリュームへのジャーナルの格納と、副記憶システム100Bへのリモートライト命令の送信とを行う。図54の時刻t22では、正記憶システム100Aは、更新番号8のジャーナルをジャーナル論理ボリュームに格納する。副記憶システム100Bは、正記憶システム100Aからのリモートライト命令を受信し、副論理ボリュームの対応するデータの更新を行う。さらに、副記憶システム100Bは、ジャーナル論理ボリュームにジャーナルの格納を行ってもよい。
その後、副記憶システム100Cは、正記憶システム100Aからジャーナルをリードし、ジャーナル論理ボリュームにジャーナルを格納する。図54の時刻t23では、副記憶システム100Cは、正記憶システム100Aにジャーナルリード命令を送信し、正記憶システム100Aから更新番号8のジャーナルを読み出し、ジャーナル論理ボリュームに格納する。副記憶システム100Cは、リストア処理250およびリードライト処理220によって、ポインタ情報700を用いて、更新番号の昇順にジャーナル論理ボリュームからジャーナルを読み出して副論理ボリュームのデータを更新する。
前述した本実施の形態のデータ処理システムでは、非同期データ複製において正記憶システム100Aで副記憶システム100Bに対し未送信のジャーナルが存在せず、副記憶システム100Bでリストア処理250によりデータ更新済みである場合、記憶システムA(100A)と記憶システムB(100B)でのデータ複製方式を非同期データ複製から同期データ複製に変更する。これにより、副記憶システム100Bは、データの整合性を維持しつつ、正記憶システム100Aのデータについての同期データ複製を開始できる。
以上のような処理により、本実施の形態のデータ処理システムは、非同期データ複製における複製元つまりジャーナル取得先である副記憶システム100Bでの障害発生時には、非同期データ複製における複製元を、同期データ複製の複製元である正記憶システム100Aに変更し、副記憶システム100Cで複製データを複製対象データと一致させるために必要なジャーナルの転送(コピー)を正記憶システム100Aから行い、転送されたジャーナルにより更新反映してデータを一致させる。従来技術のように正記憶システムの複製対象データ(正論理ボリューム)の全データを副記憶システムに転送するような必要がなく、データ更新発生分のジャーナルを転送して更新反映する処理だけで済むので、短い時間でデータ複製を再開、つまり完全な複製データを保持する状態となることができる。
<ホストコンピュータで障害が発生した場合の動作>
次に、図59、図60、図61、図62を用いて、本実施の形態のデータ処理システムにおいて、通常の運用時に正記憶システム100Aを利用する前記ホストコンピュータ(第一のホストコンピュータ)180で障害が発生した場合に、このホストコンピュータ180において行っている情報処理を、第二のホストコンピュータ(ホストコンピュータB)180Bおよび副記憶システム100Bを用いて再開し、記憶システムB(100B)のデータの同期データ複製を記憶システムA(100A)において開始する手順について説明する。図59は、本実施の形態のデータ処理システムにおいて第一のホストコンピュータ180の障害発生時に記憶システムB(100B)のデータの同期データ複製を記憶システムA(100A)において開始する手順を説明する図である。図60は、それに対応する、記憶システム100およびホストコンピュータ(180,180B)間の命令および応答の送受信と各記憶システム100が保持するジャーナルについて説明する図を示す。図60の時刻t6は、前記図5における時刻t6と対応している。図61は、第一のホストコンピュータ180で障害が発生する前のデータ処理システムの論理的な構成を示すブロック図を示す。図61の構成は、記憶システムB(100B)に対し接続パス190を通じて接続される第二のホストコンピュータ180Bがある点を除けば図1と同様である。図62は、第一のホストコンピュータ180で障害が発生した後に第二のホストコンピュータ180Bと記憶システムB(100B)で処理を再開した際のデータ処理システムの論理的な構成を示すブロック図を示す。図62では、記憶システム100の状態が変わり、記憶システムBが副記憶システムから正記憶システムに、記憶システムAが正記憶システムから副記憶システムになる。以下(1)〜(5)で動作について説明する。
以下の説明において、第一のホストコンピュータ180で障害が発生する前(図60の時刻t7)の正記憶システム100Aのボリューム情報400は前記図6に、ペア情報500は図9に、グループ情報600は図12に、ポインタ情報700は図15にそれぞれ示している。第一のホストコンピュータ180で障害が発生する前の副記憶システム100Bのボリューム情報400は図7に、ペア情報500は図10に、グループ情報600は図13に、ポインタ情報700は図17にそれぞれ示している。第一のホストコンピュータ180で障害が発生する前の副記憶システム100Cのボリューム情報400は図8に、ペア情報500は図11に、グループ情報600は図14に、ポインタ情報700は図18にそれぞれ示している。図60の時刻t7では、第一のホストコンピュータ180からのライト命令によるデータ更新により、正記憶システム100Aは更新番号2から5のジャーナルを、副記憶システム100Bは更新番号4と5のジャーナルを、副記憶システム100Cは更新番号2から4のジャーナルを保持する。
(1)正記憶システム100Aを使用していた第一のホストコンピュータ180に障害が発生する(ステップS5900、図60の時刻t8)。時刻t9以降では、副記憶システム100Bに接続されている第二のホストコンピュータ180Bを使用して記憶システムB(100B)のデータについての同期データ複製の開始を行う。
(2)ユーザは、第二のホストコンピュータ180Bもしくは副記憶システム100Bの保守端末等を使用して、副記憶システム100Bに対し同期複製交換命令を送信する(S5910、図60の時刻t9)。この同期複製交換命令は、グループ単位で、同期データ複製の正論理ボリュームと副論理ボリュームの関係を逆転させる命令であり、複製元情報(同期データ複製の正論理ボリューム(DATA1,DATA2)を保持する記憶システム番号Aとグループ番号A)、複製先情報(同期データ複製の副論理ボリューム(data1,data2)を保持する記憶システム番号Bとグループ番号B)を含む。
副記憶システム100Bは、同期複製交換命令を受信すると、記憶システムBのボリューム情報400、ペア情報500、グループ情報600を参照し、正記憶システム100A内のグループAに属する論理ボリュームA(DATA1,DATA2)を副論理ボリューム、記憶システムB内のグループBに属する論理ボリュームB(data1,data2)を正論理ボリュームとする同期データ複製のペアとなるように、記憶システムBのボリューム情報400、ペア情報500を変更する。ただし、論理ボリュームAと論理ボリュームBの組み合わせは、既に同期データ複製のペアとなっていた論理ボリュームとする。同期複製交換命令により、記憶システムBのボリューム情報400は図63に、ペア情報500は図64にそれぞれ変更される。
記憶システムB(100B)は、正記憶システム100Aに対して、記憶システムA内のグループAに属する論理ボリュームA(DATA1,DATA2)を副論理ボリューム、記憶システムB内のグループBに属する論理ボリュームB(data1,data2)を正論理ボリュームとする同期データ複製のペアとなるように記憶システムAのボリューム情報400、ペア情報500を変更するように命令する。ここでは同期複製交換命令の送信により行う。ただし、論理ボリュームAと論理ボリュームBの組み合わせは、既に同期データ複製のペアとなっていた論理ボリュームとする(S5920,S5930)。
(3)正記憶システム100Aは、受信した同期複製交換命令に従って、記憶システムAのボリューム情報400、ペア情報500、グループ情報600を参照して、記憶システムAのボリューム情報400、ペア情報500を変更する。同期複製交換命令により、記憶システムAのボリューム情報400は図65に、ペア情報500は図66にそれぞれ変更される。
(4)記憶システムB(100B)は、記憶システムA(100A)と記憶システムB(100B)の各情報の変更を終えた後、同期複製交換命令の応答を前記ホストコンピュータ180Bもしくは保守端末等に返信する(S5940)。このような同期複製交換の手続きにより、記憶システムBは正記憶システムに、記憶システムAは副記憶システムになる。対応して副論理ボリューム(data1,data2等)は正論理ボリュームに、正論理ボリューム(DATA1,DATA2等)は副論理ボリュームになる。
(5)ユーザは、前記第二のホストコンピュータ180Bもしくは保守端末等から同期複製交換の完了を認識し、正記憶システム100Bの使用を開始する(S5950)。
続いて、前記図62を用いて、前記同期複製交換の完了後において正記憶システム100Bの正論理ボリュームdata1へのデータ更新を副記憶システム100Aの副論理ボリュームDATA1および副記憶システム100Cの副論理ボリュームCOPY1に反映する動作について、以下(1)〜(6)で説明する。
(1)正記憶システム100Bは、第二のホストコンピュータ180Bから正論理ボリュームdata1内のデータに対するライト命令を受信すると、前述した命令受信処理210およびリードライト処理220によって、正論理ボリュームdata1内のデータ更新と、ジャーナル論理ボリュームJNL2へのジャーナルの格納と、副記憶システム100A内の副論理ボリュームDATA1のデータ更新とを行う(図62の6210,6215)。副論理ボリュームDATA1のデータ更新は、リモートライト命令により行う。このリモートライト命令は、第二のホストコンピュータ180Bからのライト命令とライトデータと前記ジャーナルの更新情報300を含む。ここでの更新情報300は、前記図3で示したようなすべての情報は必須ではなく、更新番号もしくは更新時刻を含めばよい。図60の時刻t10では、正記憶システム100Bは、ホストコンピュータ180Bからのライト命令を受信し、正論理ボリュームdata1の更新と、更新番号6のジャーナルのジャーナル論理ボリュームJNL2への格納とを行い、さらに副記憶システム100Aに対し副論理ボリュームの対応するデータ更新のためのリモートライト命令を送信する。
(2)副記憶システム100Aは、正記憶システム100Bからのリモートライト命令を受け、前述した命令受信処理210およびリードライト処理220によって、副論理ボリュームDATA1内の対応するデータの更新と、ジャーナル論理ボリュームJNL1へのジャーナルの格納とを行う。このジャーナルの更新番号および更新時刻は、リモートライト命令内の数値を使用する(図62の6220)。図60の時刻t10では、副記憶システム100Aは、リモートライト命令を受信して、副論理ボリュームDATA1のデータ更新と更新番号6のジャーナルのジャーナル論理ボリュームJNL1への格納とを行い、正記憶システム100Bに応答を返す。
(3)正記憶システム100Bは、リモートライト命令の応答を副記憶システム100Aから受けた後、第二のホストコンピュータ180Bに対しライト命令の終了を報告する。従って、正記憶システム100B内の正論理ボリュームdata1と副記憶システム100A内の副論理ボリュームDATA1のデータは完全に一致する。さらに、一つのライト命令に関するジャーナル論理ボリュームJNL1のジャーナルの更新番号とジャーナル論理ボリュームJNL2のジャーナルの更新番号は一致する。図60の時刻t10では、正記憶システム100Bは、副記憶システム100Aからリモートライト命令の応答を受信して、第二のホストコンピュータ100Bに対しライト命令の終了を報告する応答を行う。
(4)副記憶システム100Cは、上記処理とは非同期で、前述したジャーナルリード処理240によって正記憶システム100Bからジャーナルをリードし、リードしたジャーナルをリードライト処理220によってジャーナル論理ボリュームJNL3に格納する(図62の6230)。図60の時刻t11では、副記憶システム100Cは、正記憶システム100Bにジャーナルリード命令を送信し、正記憶システム100Bから更新番号5および6のジャーナルを読み出し、ジャーナル論理ボリュームJNL3に格納する。
(5)正記憶システム100Bは、副記憶システム100Cからジャーナルリード命令を受信すると、前述した命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリュームJNL2からジャーナルを読み出し、副記憶システム100Cに送信する(図62の6230)。図60の時刻t11では、正記憶システム100Bは、副記憶システム100Cからのジャーナルリード命令を受信し、副記憶システム100Cに更新番号5および6のジャーナルを送信する。この際、送信したジャーナルより古い更新番号4のジャーナルについて破棄してもよい。
(6)副記憶システム100Cは、前述したリストア処理250およびリードライト処理220によって、ポインタ情報700を用いて、更新番号の昇順に、ジャーナル論理ボリュームJNL3からジャーナルを読み出し、副論理ボリュームCOPY1のデータを更新する(図62の6240)。従って、正記憶システム100B内の正論理ボリュームdata1と副記憶システム100C内の副論理ボリュームCOPY1のデータは、副論理ボリュームDATA1および正論理ボリュームdata1の更新の暫く後には、完全に一致する。この時、副記憶システム100Cで、不要となったジャーナルの記憶領域を開放してもよいし、ジャーナルの格納領域が不足した時点で最古のジャーナルの記憶領域を開放する方式を採ってもよい。
前述した本実施の形態のデータ処理システムでは、正記憶システム100Aを使用する第一のホストコンピュータ180で障害が発生し、副記憶システム100Bおよびこれに接続される第二のホストコンピュータ180Bを用いて処理を継続・再開する場合に、記憶システムB(100B)は、同期複製交換命令により同期データ複製におけるデータの複製元(正論理ボリューム)と複製先(副論理ボリューム)の関係を逆転する。これにより、データの整合性を維持しつつ、記憶システムA(100A)と記憶システムC(100C)の二つの記憶システムにおいて、記憶システムB(100B)のデータについての同期と非同期の二つのデータ複製が可能となる。
以上、本発明者によってなされた発明を実施例の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、常時継続したサービスを提供する情報処理システム等に対して適用して障害発生等に備えてデータ保護を図る技術として利用可能である。
本発明の一実施の形態のデータ処理システムにおける論理的な構成を示すブロック図である。 本発明の一実施の形態のデータ処理システムにおける記憶システムの内部構造を示すブロック図である。 本発明の一実施の形態における、ジャーナルにおける更新情報の例を説明する図である。 本発明の一実施の形態における、ジャーナル論理ボリュームにおける更新情報とライトデータの関係を説明する図である。 本発明の一実施の形態のデータ処理システムにおいて、第一の記憶システムの正論理ボリュームへのデータ更新を第二の記憶システムおよび第三の記憶システムの副論理ボリュームに反映する際の、記憶システムおよびホストコンピュータ間の命令および応答の送受信と各記憶システムが保持するジャーナルについて説明する図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、ペア情報の例を説明する図である。 本発明の一実施の形態における、ペア情報の例を説明する図である。 本発明の一実施の形態における、ペア情報の例を説明する図である。 本発明の一実施の形態における、グループ情報の例を説明する図である。 本発明の一実施の形態における、グループ情報の例を説明する図である。 本発明の一実施の形態における、グループ情報の例を説明する図である。 本発明の一実施の形態における、ポインタ情報の例を説明する図である。 本発明の一実施の形態における、ジャーナル論理ボリュームの構造を説明する図である。 本発明の一実施の形態における、ポインタ情報の例を説明する図である。 本発明の一実施の形態における、ポインタ情報の例を説明する図である。 本発明の一実施の形態における、データ複製を開始する手順を説明するフローチャートである。 本発明の一実施の形態における、初期コピー処理を説明するフローチャートである。 本発明の一実施の形態における、命令受信処理を説明する図である。 本発明の一実施の形態における、命令受信処理のフローチャートである。 本発明の一実施の形態における、ジャーナル作成処理のフローチャートである。 本発明の一実施の形態における、リモートライト命令受信処理のフローチャートである。 本発明の一実施の形態における、ジャーナル複製処理のフローチャートである。 本発明の一実施の形態における、リモートライト命令受信処理を説明する図である。 本発明の一実施の形態における、ジャーナル作成処理時の更新情報の例を説明する図である。 本発明の一実施の形態における、ジャーナルリード受信処理を説明する図である。 本発明の一実施の形態における、ジャーナルリード受信処理のフローチャートである。 本発明の一実施の形態における、ジャーナルリード処理を説明する図である。 本発明の一実施の形態における、ジャーナルリード処理のフローチャートである。 本発明の一実施の形態における、ジャーナル格納処理のフローチャートである。 本発明の一実施の形態における、リストア処理を説明する図である。 本発明の一実施の形態における、リストア処理のフローチャートである。 本発明の一実施の形態のデータ処理システムにおいて第二の記憶システムで障害が発生した場合に第三の記憶システムでのデータ複製を再開する手順を説明する図である。 本発明の一実施の形態のデータ処理システムにおいて第二の記憶システムに障害が発生した場合に第三の記憶システムでのデータ複製を再開する際の論理的な構成を示すブロック図である。 本発明の一実施の形態のデータ処理システムにおいて第二の記憶システムに障害が発生した場合に第三の記憶システムでのデータ複製を再開する際の、記憶システムおよびホストコンピュータ間の命令および応答の送受信と各記憶システムが保持するジャーナルについて説明する図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、ペア情報の例を説明する図である。 本発明の一実施の形態における、グループ情報の例を説明する図である。 本発明の一実施の形態における、ペア情報の例を説明する図である。 本発明の一実施の形態における、グループ情報の例を説明する図である。 本発明の一実施の形態のデータ処理システムにおいて、ホストコンピュータが第一の記憶システムの使用を開始した後に第一の記憶システムの正論理ボリュームへのデータ更新を第三の記憶システムの副論理ボリュームに反映する際の、記憶システムおよびホストコンピュータ間の命令および応答の送受信と各記憶システムが保持するジャーナルについて説明する図である。 本発明の一実施の形態のデータ処理システムにおいて、第二の記憶システムが回復した後に第二の記憶システムでのデータ複製を再開する手順を説明する図である。 本発明の一実施の形態のデータ処理システムにおいて、第二の記憶システムが回復した後の第二の記憶システムでのデータ複製を再開する際の、記憶システムおよびホストコンピュータ間の命令および応答の送受信と各記憶システムが保持するジャーナルについて説明する図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、ペア情報の例を説明する図である。 本発明の一実施の形態における、グループ情報の例を説明する図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、グループ情報の例を説明する図である。 本発明の一実施の形態のデータ処理システムにおいて、ホストコンピュータが第一の記憶システムの使用を開始した後に第一の記憶システムの正論理ボリュームへのデータ更新を第二の記憶システムおよび第三の記憶システムの副論理ボリュームに反映する際の、論理的な構成を示すブロック図である。 本発明の一実施の形態のデータ処理システムにおいて、ホストコンピュータが第一の記憶システムの使用を開始した後に第一の記憶システムの正論理ボリュームへのデータ更新を第二の記憶システムおよび第三の記憶システムの副論理ボリュームに反映する際の、記憶システムおよびホストコンピュータ間の命令および応答の送受信と各記憶システムが保持するジャーナルについて説明する図である。 本発明の一実施の形態のデータ処理システムにおいて、第二の記憶システムの非同期データ複製を同期データ複製に変更する手順を説明する図である。 本発明の一実施の形態のデータ処理システムにおいて、第二の記憶システムの非同期データ複製を同期データ複製に変更する際の、記憶システムおよびホストコンピュータ間の命令および応答の送受信と各記憶システムが保持するジャーナルについて説明する図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、グループ情報の例を説明する図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、グループ情報の例を説明する図である。 本発明の一実施の形態のデータ処理システムにおいて、第一のホストコンピュータの障害発生時に第二の記憶システムのデータの同期データ複製を第一の記憶システムにおいて開始する手順を説明する図である。 本発明の一実施の形態のデータ処理システムにおいて、第一のホストコンピュータの障害発生時に第二の記憶システムのデータの同期データ複製を第一の記憶システムにおいて開始する際の、記憶システムおよびホストコンピュータ間の命令および応答の送受信と各記憶システムが保持するジャーナルについて説明する図である。 本発明の一実施の形態のデータ処理システムにおいて第一のホストコンピュータで障害が発生する前の論理的な構成を示すブロック図である。 本発明の一実施の形態のデータ処理システムにおいて第一のホストコンピュータで障害が発生した後に第二のホストコンピュータと第二の記憶システムで再開した際の論理的な構成を示すブロック図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、ペア情報の例を説明する図である。 本発明の一実施の形態における、ボリューム情報の例を説明する図である。 本発明の一実施の形態における、ペア情報の例を説明する図である。
符号の説明
100…記憶システム、100A…記憶システムA、100B…記憶システムB、100C…記憶システムC、110…CHA(ホストアダプタ)、120…DKA(ディスクアダプタ)、130…CACHE(キャッシュメモリ)、140…SM(共有メモリ)、150…HDD(記憶装置)、160…SWITCH(スイッチ)、170…接続線、180…ホストコンピュータ、180B…ホストコンピュータB、190,200…接続パス、210…命令受信処理、220…リードライト処理、230,DATA1,DATA2,DATA3,data1,data2,data4,data5,COPY1,COPY2,JNL1,JNL2,JNL3…論理ボリューム、240…JNLRD(ジャーナルリード)処理、250…リストア処理、300…更新情報、400…ボリューム情報、500…ペア情報、600…グループ情報、700…ポインタ情報。

Claims (5)

  1. 制御部と記憶装置とを備えデータを記憶領域に格納する機能を備える複数の記憶システムを有し、これらが通信線で接続され前記記憶システム間でデータの複製を保持するデータ処理システムであって、
    第一の記憶システムは、複製対象のデータである第一のデータを保持し、第二の記憶システムは、第一のデータの複製である第二のデータを保持し、第三の記憶システムは、第一のデータの複製である第三のデータを保持し、
    ホストコンピュータが通信線を通じて前記第一の記憶システムを使用し前記第一のデータにアクセスして情報処理を行い、
    前記第一の記憶システムは、前記ホストコンピュータからの命令に基づき前記第一のデータのデータ更新を行い、該データ更新に関する情報をデータ更新順序の識別子を含んだ第一のジャーナルとして作成して第一の記憶システム内の記憶領域に格納し、このデータ更新と同期で、前記第一、第二の記憶システム間の通信線を介して第二の記憶システムに対し前記識別子を含んで前記第二のデータについてのデータ更新の命令を行い、前記データ更新の命令に基づき前記第二の記憶システムは前記第二のデータのデータ更新を行い、該データ更新に関する情報を、前記第一の記憶システムから受信した前記識別子を含む情報を用いて第二のジャーナルとして作成して第二の記憶システム内の記憶領域に格納し、
    前記第三の記憶システムは、前記第一および第二のデータのデータ更新とは非同期で、前記第二、第三の記憶システム間の通信線を介して第二の記憶システムから前記第二のジャーナルを取得して第三のジャーナルとして第三の記憶システム内の記憶領域に格納し、前記第三のジャーナルを用いて前記識別子をもとに前記第一の記憶システムでの第一のデータの更新順序に従って前記第三のデータについてデータ更新を行い、
    障害発生時には、前記記憶システム間で前記各ジャーナルの転送を行い、転送されたジャーナルを用いてデータ更新を行い、
    前記第二の記憶システムが障害から回復後、
    前記第二の記憶システムは、前記第一のデータの更新に非同期で、前記第一、第二の記憶システム間の通信線を介して第一の記憶システムの第一のジャーナルからデータを取得し、前記第二のジャーナルとして第二の記憶システム内の記憶領域に格納し、前記第二のジャーナルを用いて前記識別子をもとに前記第一の記憶システムでの第一のデータの更新順序に従って前記第二のデータについてデータ更新を行うことを特徴とするデータ処理システム。
  2. 請求項記載のデータ処理システムにおいて、
    前記第二の記憶システムが障害から回復後、
    前記第二の記憶システムが前記第一の記憶システムの第一のジャーナルについて取得済みで前記第二のデータについてデータ更新済みになると、前記第一の記憶システムと第二の記憶システムでの前記第一のデータについてのデータ複製を前記非同期での処理から前記同期での処理に変更し、前記第一のデータのデータ更新に同期で第二のデータの更新を行うことを特徴とするデータ処理システム。
  3. 請求項記載のデータ処理システムにおいて、
    前記第一の記憶システムを使用し前記第一のデータにアクセスして情報処理を行う第一のホストコンピュータで障害が発生し、前記第二の記憶システムおよびそれを使用する第二のホストコンピュータを用いて処理を継続・再開する場合、
    前記第二の記憶システムは、前記第二のホストコンピュータからの命令に基づき前記第二のデータのデータ更新を行うと共に該データ更新に関する情報を前記識別子を含んだ前記第二のジャーナルとして作成して第二の記憶システム内の記憶領域に格納し、このデータ更新に同期で、前記第一、第二の記憶システム間の通信線を介して第一の記憶システムに対し前記識別子を含んで前記第一のデータについてのデータ更新の命令を行い、前記データ更新の命令に基づき前記第一の記憶システムは、前記第一のデータについてデータ更新を行うと共に該データ更新に関する情報を前記識別子を用いて前記第一のジャーナルとして作成して第一の記憶システム内の記憶領域に格納することを特徴とするデータ処理システム。
  4. 請求項記載のデータ処理システムにおいて、
    前記第一、第二の記憶システム間での命令および応答の送受信により、前記同期のデータ更新の処理における複製元を前記第一の記憶システムから第二の記憶システムに変更し、前記第二の記憶システムの前記第二のデータのデータ更新に同期で前記第一の記憶システムの第一のデータのデータ更新を行うことを特徴とするデータ処理システム。
  5. 請求項記載のデータ処理システムにおいて、
    前記第一、第二、および第三の各ジャーナルは、データ更新に用いられたデータのコピーと、前記データ更新時のライト命令と、前記データ更新順序の識別子として更新番号もしくは更新時刻と、を有して構成されることを特徴とするデータ処理システム。
JP2004133418A 2004-04-28 2004-04-28 データ処理システム Expired - Fee Related JP4476683B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP2004133418A JP4476683B2 (ja) 2004-04-28 2004-04-28 データ処理システム
US10/879,472 US7117327B2 (en) 2004-04-28 2004-06-30 Data processing system
EP05252482.4A EP1591900B1 (en) 2004-04-28 2005-04-20 Data processing system
US11/328,059 US7167963B2 (en) 2004-04-28 2006-01-10 Storage system with multiple remote site copying capability
US11/595,853 US7240173B2 (en) 2004-04-28 2006-11-13 Data processing system
US11/798,798 US7415589B2 (en) 2004-04-28 2007-05-17 Data processing system with multiple storage systems
US12/216,724 US7660957B2 (en) 2004-04-28 2008-07-10 Data processing system
US12/651,531 US7917714B2 (en) 2004-04-28 2010-01-04 Data processing system
US13/028,288 US8205051B2 (en) 2004-04-28 2011-02-16 Data processing system
US13/472,621 US8316198B2 (en) 2004-04-28 2012-05-16 Data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004133418A JP4476683B2 (ja) 2004-04-28 2004-04-28 データ処理システム

Publications (2)

Publication Number Publication Date
JP2005316684A JP2005316684A (ja) 2005-11-10
JP4476683B2 true JP4476683B2 (ja) 2010-06-09

Family

ID=34940950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004133418A Expired - Fee Related JP4476683B2 (ja) 2004-04-28 2004-04-28 データ処理システム

Country Status (3)

Country Link
US (8) US7117327B2 (ja)
EP (1) EP1591900B1 (ja)
JP (1) JP4476683B2 (ja)

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8205009B2 (en) * 2002-04-25 2012-06-19 Emc Israel Development Center, Ltd. Apparatus for continuous compression of large volumes of data
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP4549709B2 (ja) * 2004-03-23 2010-09-22 株式会社日立製作所 ストレージ装置
JP4476683B2 (ja) 2004-04-28 2010-06-09 株式会社日立製作所 データ処理システム
US8266406B2 (en) 2004-04-30 2012-09-11 Commvault Systems, Inc. System and method for allocation of organizational resources
US7343356B2 (en) 2004-04-30 2008-03-11 Commvault Systems, Inc. Systems and methods for storage modeling and costing
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
US7627776B2 (en) * 2004-11-16 2009-12-01 Petruzzo Stephen E Data backup method
US7822715B2 (en) * 2004-11-16 2010-10-26 Petruzzo Stephen E Data mirroring method
US7359927B1 (en) * 2004-12-01 2008-04-15 Emc Corporation Method for performing periodic replication of data on a remote storage system
US7657578B1 (en) * 2004-12-20 2010-02-02 Symantec Operating Corporation System and method for volume replication in a storage environment employing distributed block virtualization
JP2006236019A (ja) * 2005-02-25 2006-09-07 Hitachi Ltd データコピー方式の切替方法
JP4773788B2 (ja) * 2005-09-29 2011-09-14 株式会社日立製作所 記憶システムにおけるリモートコピー制御
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
US8661216B2 (en) * 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
CA2632935C (en) 2005-12-19 2014-02-04 Commvault Systems, Inc. Systems and methods for performing data replication
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US8572330B2 (en) * 2005-12-19 2013-10-29 Commvault Systems, Inc. Systems and methods for granular resource management in a storage network
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US8060713B1 (en) 2005-12-21 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Consolidating snapshots in a continuous data protection system using journaling
US7849361B2 (en) * 2005-12-22 2010-12-07 Emc Corporation Methods and apparatus for multiple point in time data access
JP4877921B2 (ja) * 2006-01-25 2012-02-15 株式会社日立製作所 ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法
US7603581B2 (en) * 2006-03-17 2009-10-13 International Business Machines Corporation Remote copying of updates to primary and secondary storage locations subject to a copy relationship
US7647525B2 (en) * 2006-03-31 2010-01-12 Emc Corporation Resumption of operations following failover in connection with triangular asynchronous replication
US7809892B1 (en) * 2006-04-03 2010-10-05 American Megatrends Inc. Asynchronous data replication
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US7650394B2 (en) * 2006-09-15 2010-01-19 Microsoft Corporation Synchronizing email recipient lists using block partition information
US7516287B2 (en) * 2006-09-28 2009-04-07 Emc Israel Development Center, Ltd. Methods and apparatus for optimal journaling for continuous data replication
JP4902403B2 (ja) 2006-10-30 2012-03-21 株式会社日立製作所 情報システム及びデータ転送方法
JP5244332B2 (ja) 2006-10-30 2013-07-24 株式会社日立製作所 情報システム、データ転送方法及びデータ保護方法
JP5057366B2 (ja) 2006-10-30 2012-10-24 株式会社日立製作所 情報システム及び情報システムのデータ転送方法
US20080147878A1 (en) * 2006-12-15 2008-06-19 Rajiv Kottomtharayil System and methods for granular resource management in a storage network
US7779291B2 (en) * 2006-12-29 2010-08-17 Emc Corporation Four site triangular asynchronous replication
JP5042644B2 (ja) 2007-01-24 2012-10-03 株式会社日立製作所 リモートコピーシステム
US8046548B1 (en) 2007-01-30 2011-10-25 American Megatrends, Inc. Maintaining data consistency in mirrored cluster storage systems using bitmap write-intent logging
US7908448B1 (en) 2007-01-30 2011-03-15 American Megatrends, Inc. Maintaining data consistency in mirrored cluster storage systems with write-back cache
US8498967B1 (en) 2007-01-30 2013-07-30 American Megatrends, Inc. Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome
US8108580B1 (en) 2007-04-17 2012-01-31 American Megatrends, Inc. Low latency synchronous replication using an N-way router
US8285953B2 (en) * 2007-10-24 2012-10-09 Hitachi, Ltd. Storage system group
US8065442B1 (en) 2007-11-19 2011-11-22 American Megatrends, Inc. High performance journaling for replication and continuous data protection
TWI350454B (en) * 2007-12-10 2011-10-11 Phison Electronics Corp Anti-attacking method for private key, controller and storage device executing the same
US7979652B1 (en) 2007-12-20 2011-07-12 Amazon Technologies, Inc. System and method for M-synchronous replication
US7958372B1 (en) 2007-12-26 2011-06-07 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to convert a logical unit from a first encryption state to a second encryption state using a journal in a continuous data protection environment
US8041940B1 (en) 2007-12-26 2011-10-18 Emc Corporation Offloading encryption processing in a storage area network
US7860836B1 (en) 2007-12-26 2010-12-28 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to recover data in a continuous data protection environment using a journal
US7840536B1 (en) 2007-12-26 2010-11-23 Emc (Benelux) B.V., S.A.R.L. Methods and apparatus for dynamic journal expansion
US9501542B1 (en) 2008-03-11 2016-11-22 Emc Corporation Methods and apparatus for volume synchronization
US7908514B2 (en) * 2008-06-26 2011-03-15 Microsoft Corporation Minimizing data loss in asynchronous replication solution using distributed redundancy
US8108634B1 (en) 2008-06-27 2012-01-31 Emc B.V., S.A.R.L. Replicating a thin logical unit
US7719443B1 (en) 2008-06-27 2010-05-18 Emc Corporation Compressing data in a continuous data protection environment
US10725877B2 (en) * 2008-06-30 2020-07-28 International Business Machines Corporation System, method and computer program product for performing a data protection operation
US8006128B2 (en) * 2008-07-31 2011-08-23 Datadirect Networks, Inc. Prioritized rebuilding of a storage device
JP5026375B2 (ja) 2008-09-09 2012-09-12 株式会社日立製作所 ストレージ装置及びストレージ装置の制御方法
US8510750B2 (en) * 2008-09-23 2013-08-13 1060 Research Limited Method for caching resource representations in a contextual address space
US7882286B1 (en) 2008-09-26 2011-02-01 EMC (Benelux)B.V., S.A.R.L. Synchronizing volumes for replication
US8060714B1 (en) 2008-09-26 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Initializing volumes in a replication system
JP5486793B2 (ja) * 2008-11-07 2014-05-07 株式会社日立製作所 リモートコピー管理システム、方法及び装置
US8010835B2 (en) 2008-11-11 2011-08-30 Datadirect Networks, Inc. Storage device realignment
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
TWI414992B (zh) * 2009-01-23 2013-11-11 Infortrend Technology Inc 遠端非同步資料卷複製的方法及其裝置
US8266107B2 (en) 2009-03-11 2012-09-11 International Business Machines Corporation Method for mirroring a log file by threshold driven synchronization
US8429348B2 (en) * 2009-03-13 2013-04-23 International Business Machines Corporation Method and mechanism for delaying writing updates to a data cache
JP2011003030A (ja) * 2009-06-18 2011-01-06 Toshiba Corp 情報処理システムおよびプログラム
JP2013501293A (ja) * 2009-08-04 2013-01-10 アクサナ・(イスラエル)・リミテッド 遠隔データミラーリングシステムにおけるデータギャップ管理
WO2011039803A1 (ja) * 2009-09-29 2011-04-07 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ複製方法
US8732264B2 (en) * 2009-12-17 2014-05-20 International Business Machines Corporation HiperSockets SIGA light-sending without outbound queue
CN101741911B (zh) * 2009-12-18 2014-04-30 中兴通讯股份有限公司 基于多副本协同的写操作方法、系统及节点
US8341115B1 (en) * 2009-12-26 2012-12-25 Emc Corporation Dynamically switching between synchronous and asynchronous replication
US10025523B1 (en) * 2009-12-28 2018-07-17 EMC IP Holding Company LLC Techniques for processing data requests directed to virtualized devices
US8341457B2 (en) * 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8392680B1 (en) 2010-03-30 2013-03-05 Emc International Company Accessing a volume in a distributed environment
US8630980B2 (en) 2010-04-06 2014-01-14 Microsoft Corporation Synchronization framework that restores a node from backup
WO2011125126A1 (ja) * 2010-04-07 2011-10-13 株式会社日立製作所 非同期リモートコピーシステム、及び、記憶制御方法
US8589347B2 (en) 2010-05-28 2013-11-19 Commvault Systems, Inc. Systems and methods for performing data replication
US8332687B1 (en) 2010-06-23 2012-12-11 Emc Corporation Splitter used in a continuous data protection environment
US8478955B1 (en) 2010-09-27 2013-07-02 Emc International Company Virtualized consistency group using more than one data protection appliance
US8433869B1 (en) 2010-09-27 2013-04-30 Emc International Company Virtualized consistency group using an enhanced splitter
US8694700B1 (en) 2010-09-29 2014-04-08 Emc Corporation Using I/O track information for continuous push with splitter for storage device
US8335771B1 (en) 2010-09-29 2012-12-18 Emc Corporation Storage array snapshots for logged access replication in a continuous data protection system
US8335761B1 (en) 2010-12-02 2012-12-18 Emc International Company Replicating in a multi-copy environment
JP5712851B2 (ja) * 2011-07-29 2015-05-07 富士通株式会社 データ分割装置、データ分割方法およびデータ分割プログラム
US9256605B1 (en) 2011-08-03 2016-02-09 Emc Corporation Reading and writing to an unexposed device
US8898112B1 (en) 2011-09-07 2014-11-25 Emc Corporation Write signature command
US8843441B1 (en) 2012-01-17 2014-09-23 Amazon Technologies, Inc. System and method for maintaining a master replica for reads and writes in a data store
US9069827B1 (en) 2012-01-17 2015-06-30 Amazon Technologies, Inc. System and method for adjusting membership of a data replication group
US9489434B1 (en) 2012-01-17 2016-11-08 Amazon Technologies, Inc. System and method for replication log branching avoidance using post-failover rejoin
US9116862B1 (en) * 2012-01-17 2015-08-25 Amazon Technologies, Inc. System and method for data replication using a single master failover protocol
US9223659B1 (en) 2012-06-28 2015-12-29 Emc International Company Generating and accessing a virtual volume snapshot in a continuous data protection system
US10235145B1 (en) 2012-09-13 2019-03-19 Emc International Company Distributed scale-out replication
US9336094B1 (en) 2012-09-13 2016-05-10 Emc International Company Scaleout replication of an application
WO2014091600A1 (ja) * 2012-12-13 2014-06-19 株式会社日立製作所 ストレージ装置及びストレージ装置移行方法
US9201906B2 (en) * 2012-12-21 2015-12-01 Commvault Systems, Inc. Systems and methods to perform data backup in data storage systems
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9317423B2 (en) * 2013-01-07 2016-04-19 Hitachi, Ltd. Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof
US8996460B1 (en) 2013-03-14 2015-03-31 Emc Corporation Accessing an image in a continuous data protection using deduplication-based storage
US9696939B1 (en) 2013-03-14 2017-07-04 EMC IP Holding Company LLC Replicating data using deduplication-based arrays using network-based replication
US9383937B1 (en) 2013-03-14 2016-07-05 Emc Corporation Journal tiering in a continuous data protection system using deduplication-based storage
US9110914B1 (en) 2013-03-14 2015-08-18 Emc Corporation Continuous data protection using deduplication-based storage
US9081842B1 (en) 2013-03-15 2015-07-14 Emc Corporation Synchronous and asymmetric asynchronous active-active-active data access
US9152339B1 (en) 2013-03-15 2015-10-06 Emc Corporation Synchronization of asymmetric active-active, asynchronously-protected storage
US9244997B1 (en) 2013-03-15 2016-01-26 Emc Corporation Asymmetric active-active access of asynchronously-protected data storage
JP5781716B2 (ja) * 2013-04-18 2015-09-24 株式会社日立製作所 計算機システム及び非同期レプリケーション管理方法
JP6212934B2 (ja) * 2013-05-07 2017-10-18 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
US9087112B1 (en) 2013-06-24 2015-07-21 Emc International Company Consistency across snapshot shipping and continuous replication
US9069709B1 (en) 2013-06-24 2015-06-30 Emc International Company Dynamic granularity in data replication
US9146878B1 (en) 2013-06-25 2015-09-29 Emc Corporation Storage recovery from total cache loss using journal-based replication
US10423643B2 (en) 2013-08-29 2019-09-24 Oracle International Corporation System and method for supporting resettable acknowledgements for synchronizing data in a distributed data grid
WO2015056169A1 (en) 2013-10-16 2015-04-23 Axxana (Israel) Ltd. Zero-transaction-loss recovery for database systems
US9367260B1 (en) 2013-12-13 2016-06-14 Emc Corporation Dynamic replication system
US9405765B1 (en) 2013-12-17 2016-08-02 Emc Corporation Replication of virtual machines
US9158630B1 (en) 2013-12-19 2015-10-13 Emc Corporation Testing integrity of replicated storage
US9612776B2 (en) * 2013-12-31 2017-04-04 Dell Products, L.P. Dynamically updated user data cache for persistent productivity
US9189339B1 (en) 2014-03-28 2015-11-17 Emc Corporation Replication of a virtual distributed volume with virtual machine granualarity
US10082980B1 (en) 2014-06-20 2018-09-25 EMC IP Holding Company LLC Migration of snapshot in replication system using a log
US9274718B1 (en) 2014-06-20 2016-03-01 Emc Corporation Migration in replication system
US9619543B1 (en) 2014-06-23 2017-04-11 EMC IP Holding Company LLC Replicating in virtual desktop infrastructure
US10324798B1 (en) 2014-09-25 2019-06-18 EMC IP Holding Company LLC Restoring active areas of a logical unit
US10437783B1 (en) 2014-09-25 2019-10-08 EMC IP Holding Company LLC Recover storage array using remote deduplication device
US10101943B1 (en) 2014-09-25 2018-10-16 EMC IP Holding Company LLC Realigning data in replication system
US9529885B1 (en) 2014-09-29 2016-12-27 EMC IP Holding Company LLC Maintaining consistent point-in-time in asynchronous replication during virtual machine relocation
US9910621B1 (en) 2014-09-29 2018-03-06 EMC IP Holding Company LLC Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements
JP6262879B2 (ja) * 2014-11-28 2018-01-17 株式会社日立製作所 ストレージシステム
US10496487B1 (en) 2014-12-03 2019-12-03 EMC IP Holding Company LLC Storing snapshot changes with snapshots
US9600377B1 (en) 2014-12-03 2017-03-21 EMC IP Holding Company LLC Providing data protection using point-in-time images from multiple types of storage devices
US9405481B1 (en) 2014-12-17 2016-08-02 Emc Corporation Replicating using volume multiplexing with consistency group file
US10303782B1 (en) 2014-12-29 2019-05-28 Veritas Technologies Llc Method to allow multi-read access for exclusive access of virtual disks by using a virtualized copy of the disk
US9632881B1 (en) 2015-03-24 2017-04-25 EMC IP Holding Company LLC Replication of a virtual distributed volume
US10296419B1 (en) 2015-03-27 2019-05-21 EMC IP Holding Company LLC Accessing a virtual device using a kernel
US9411535B1 (en) 2015-03-27 2016-08-09 Emc Corporation Accessing multiple virtual devices
US9678680B1 (en) 2015-03-30 2017-06-13 EMC IP Holding Company LLC Forming a protection domain in a storage architecture
US10379958B2 (en) 2015-06-03 2019-08-13 Axxana (Israel) Ltd. Fast archiving for database systems
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10853181B1 (en) 2015-06-29 2020-12-01 EMC IP Holding Company LLC Backing up volumes using fragment files
US10346260B1 (en) * 2015-09-30 2019-07-09 EMC IP Holding Company LLC Replication based security
US10248494B2 (en) 2015-10-29 2019-04-02 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US9684576B1 (en) 2015-12-21 2017-06-20 EMC IP Holding Company LLC Replication using a virtual distributed volume
US10235196B1 (en) 2015-12-28 2019-03-19 EMC IP Holding Company LLC Virtual machine joining or separating
US10067837B1 (en) 2015-12-28 2018-09-04 EMC IP Holding Company LLC Continuous data protection with cloud resources
US10133874B1 (en) 2015-12-28 2018-11-20 EMC IP Holding Company LLC Performing snapshot replication on a storage system not configured to support snapshot replication
US10579282B1 (en) 2016-03-30 2020-03-03 EMC IP Holding Company LLC Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume
US10235087B1 (en) 2016-03-30 2019-03-19 EMC IP Holding Company LLC Distributing journal data over multiple journals
US10152267B1 (en) 2016-03-30 2018-12-11 Emc Corporation Replication data pull
US10235060B1 (en) 2016-04-14 2019-03-19 EMC IP Holding Company, LLC Multilevel snapshot replication for hot and cold regions of a storage system
US10210073B1 (en) 2016-09-23 2019-02-19 EMC IP Holding Company, LLC Real time debugging of production replicated data with data obfuscation in a storage system
US10146961B1 (en) 2016-09-23 2018-12-04 EMC IP Holding Company LLC Encrypting replication journals in a storage system
US10235091B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Full sweep disk synchronization in a storage system
US10019194B1 (en) 2016-09-23 2018-07-10 EMC IP Holding Company LLC Eventually consistent synchronous data replication in a storage system
US10235090B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Validating replication copy consistency using a hash function in a storage system
US10592326B2 (en) 2017-03-08 2020-03-17 Axxana (Israel) Ltd. Method and apparatus for data loss assessment
US11169727B1 (en) 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US11089105B1 (en) 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US10521344B1 (en) * 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US10783029B2 (en) 2017-07-17 2020-09-22 Seagate Technology Llc Data replication in a storage system
US11657068B2 (en) * 2017-12-15 2023-05-23 International Business Machines Corporation Efficient migration between asynchronous data replication technologies
US10698920B2 (en) * 2017-12-22 2020-06-30 Dropbox, Inc. Techniques for a linearizable primary-secondary database system that replicates database data with eventual consistency
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US11093170B2 (en) * 2019-04-02 2021-08-17 EMC IP Holding Company LLC Dataset splitting based on workload footprint analysis
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
CN111309803B (zh) * 2020-01-17 2023-03-14 西安奥卡云数据科技有限公司 基于资源使用率的智能远程复制系统
CN111782440B (zh) * 2020-06-30 2024-03-08 北京奇艺世纪科技有限公司 一种数据处理方法、装置及电子设备
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US11714732B1 (en) 2020-09-30 2023-08-01 Amazon Technologies, Inc. Granular tracking of replication consistency using subsets of asynchronous replication tasks
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US71389A (en) * 1867-11-26 Improvement in winding watches
US14523A (en) * 1856-03-25 Island
US114285A (en) * 1871-05-02 Improvement in printing-presses
US107007A (en) * 1870-09-06 Improvement in wateh-whbbls
US24975A (en) * 1859-08-02 William johnson
US260899A (en) * 1882-07-11 Frederick g
US51111A (en) * 1865-11-21 Improvement in rake attachments to harvesters
US71710A (en) * 1867-12-03 Improvement in manufacture of horseshoe-nails
US5860090A (en) * 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
US5873096A (en) 1997-10-08 1999-02-16 Siebel Systems, Inc. Method of maintaining a network of partially replicated database system
US6144999A (en) 1998-05-29 2000-11-07 Sun Microsystems, Incorporated Method and apparatus for file system disaster recovery
US6148383A (en) * 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US6457053B1 (en) * 1998-09-21 2002-09-24 Microsoft Corporation Multi-master unique identifier allocation
US6209002B1 (en) * 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
US6611901B1 (en) * 1999-07-02 2003-08-26 International Business Machines Corporation Method, system, and program for maintaining electronic data as of a point-in-time
US6463501B1 (en) 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
US6615223B1 (en) 2000-02-29 2003-09-02 Oracle International Corporation Method and system for data replication
US6622152B1 (en) 2000-05-09 2003-09-16 International Business Machines Corporation Remote log based replication solution
US20030014523A1 (en) * 2001-07-13 2003-01-16 John Teloh Storage network data replicator
JP2003050795A (ja) 2001-08-06 2003-02-21 Hitachi Ltd 時間情報表示システム
WO2003044697A1 (en) 2001-11-16 2003-05-30 Paralleldb, Incorporated Data replication system and method
US6779093B1 (en) * 2002-02-15 2004-08-17 Veritas Operating Corporation Control facility for processing in-band control messages during data replication
US7103727B2 (en) * 2002-07-30 2006-09-05 Hitachi, Ltd. Storage system for multi-site remote copy
US7020743B2 (en) * 2003-02-24 2006-03-28 Sun Microsystems, Inc. Atomic remote memory operations in cache mirroring storage systems
US7043665B2 (en) * 2003-06-18 2006-05-09 International Business Machines Corporation Method, system, and program for handling a failover to a remote storage location
US7130975B2 (en) 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
US7188222B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system, and program for mirroring data among storage sites
US7200620B2 (en) 2003-09-29 2007-04-03 International Business Machines Corporation High availability data replication of smart large objects
JP2005122509A (ja) 2003-10-17 2005-05-12 Hitachi Ltd 階層構造データ分析方法、分析装置および分析プログラム
JP4412989B2 (ja) 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP4489455B2 (ja) * 2004-02-16 2010-06-23 株式会社日立製作所 ディスク制御装置及びディスク制御装置の制御方法
JP4476683B2 (ja) 2004-04-28 2010-06-09 株式会社日立製作所 データ処理システム

Also Published As

Publication number Publication date
US7167963B2 (en) 2007-01-23
US20070061532A1 (en) 2007-03-15
US7117327B2 (en) 2006-10-03
US20060107007A1 (en) 2006-05-18
US20110138140A1 (en) 2011-06-09
US7415589B2 (en) 2008-08-19
US8205051B2 (en) 2012-06-19
US7917714B2 (en) 2011-03-29
US20070260832A1 (en) 2007-11-08
EP1591900A3 (en) 2006-04-19
US8316198B2 (en) 2012-11-20
US20050273565A1 (en) 2005-12-08
US20080313497A1 (en) 2008-12-18
US20120226878A1 (en) 2012-09-06
EP1591900B1 (en) 2015-06-24
EP1591900A2 (en) 2005-11-02
US7240173B2 (en) 2007-07-03
US20100131795A1 (en) 2010-05-27
US7660957B2 (en) 2010-02-09
JP2005316684A (ja) 2005-11-10

Similar Documents

Publication Publication Date Title
JP4476683B2 (ja) データ処理システム
JP4374953B2 (ja) データ処理システム
JP4124348B2 (ja) 記憶システム
JP4887893B2 (ja) 計算機システム及び計算機システムの制御方法
US7421435B2 (en) Data processing system and storage subsystem provided in data processing system
EP2120146B1 (en) Data mirroring system using journal data
JP4519563B2 (ja) 記憶システム及びデータ処理システム
JP2005062928A (ja) 複数のサイトにリモートコピーを行うシステム
JP2006119745A (ja) コンピュータシステム及びコンピュータシステムの制御方法
JP2005309793A (ja) データ処理システム
JP4124374B2 (ja) 記憶システム
JP4519573B2 (ja) データ処理システム及び方法
JP4249240B2 (ja) 記憶システム
JP4618777B2 (ja) データ処理システム及びそのデータ処理システムに備えられる記憶サブシステム
JP4249247B2 (ja) 記憶システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091224

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees