JP2005182222A - リモートコピーシステム - Google Patents

リモートコピーシステム Download PDF

Info

Publication number
JP2005182222A
JP2005182222A JP2003418907A JP2003418907A JP2005182222A JP 2005182222 A JP2005182222 A JP 2005182222A JP 2003418907 A JP2003418907 A JP 2003418907A JP 2003418907 A JP2003418907 A JP 2003418907A JP 2005182222 A JP2005182222 A JP 2005182222A
Authority
JP
Japan
Prior art keywords
storage device
device system
volume
data
primary 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.)
Granted
Application number
JP2003418907A
Other languages
English (en)
Other versions
JP4282464B2 (ja
Inventor
Noboru Morishita
昇 森下
Yasutomo Yamamoto
康友 山本
Kentetsu Eguchi
賢哲 江口
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 JP2003418907A priority Critical patent/JP4282464B2/ja
Priority to US10/783,018 priority patent/US7124267B2/en
Publication of JP2005182222A publication Critical patent/JP2005182222A/ja
Priority to US11/503,937 priority patent/US7506120B2/en
Application granted granted Critical
Publication of JP4282464B2 publication Critical patent/JP4282464B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】
リモートコピーを継続したまま、ホストからアクセス要求を受け付けながら、正ボリュームのデータを移行する。
【解決手段】
リモートコピーシステムは、第一正ボリュームを有する第一記憶装置システム、第二正ボリュームを有する第二記憶装置システム、副ボリュームを有する第三記憶装置システムを有し、第一正ボリュームと副ボリューム間でリモートコピーが実行されている。
第一正ボリューム内のデータを第二正ボリュームに移行する場合、ホストから正ボリュームに対するアクセス要求を、第二正ボリュームに転送する。また、第二記憶装置システムは、ホストから受信するライトデータと、第一記憶装置システムから受信する第一正ボリューム内のデータとを第二正ボリュームに格納すると共に、第二正ボリュームに格納されるデータの内、第一記憶装置システムから受信する管理情報に基づいて決定されるデータを前記第三記憶装置システムに送信する。
【選択図】 図1

Description

本発明は、ホストを介さず、記憶装置システム間でデータを2重化するリモートコピー技術に関する。
災害等による記憶装置システム内のデータ損失を避ける技術として、遠隔地に配置された記憶装置システムにデータを2重化するリモートコピーがある。ここで、記憶装置システムは、ディスク等の記憶装置と記憶装置に接続され記憶装置へのデータの入出力を制御する記憶制御装置を含むものとする。また、リモートコピーとは、ローカルサイトの記憶装置システム(以下、正記憶装置システムとも呼ぶ。)が、正記憶装置システム内のデータを遠隔地(以下、リモートサイトとも呼ぶ)にある別の記憶装置システム(以下、副記憶装置システムとも呼ぶ。)に転送し、副記憶装置システムが副記憶装置システム内の記憶装置に正記憶装置システムから受信したデータを格納する技術である。リモートコピーに関しては、異なる記憶制御装置間でホストコンピュータ(以下、ホストと呼ぶ)を介さずデータを複製する技術が開示されている(特許文献1参照)。
また、記憶装置システムの新旧入れ替え等に伴い、旧記憶装置システムに格納されているデータを新記憶装置システムに移行する技術としてデータ移行がある。データ移行に関しては、ホストで実行している業務への影響を避けるため、無停止で記憶装置システムのデータを他の記憶装置システムへ移行する技術が開示されている(特許文献2、3参照)。
さらに、リモートコピーへの影響を最小限に抑えながら記憶装置システム間でデータ移行する技術が開示されている(特許文献4参照)。この技術によれば、データ移行中もリモートコピー機能を操作可能に維持しておくことができる。また、データ移行中、更新データを旧記憶装置システムと新記憶装置システムの両方に格納するため、データの完全性を保持することができる。
特開平11−85408号公報
特開平11−184641号公報 特開2003−108315号公報 特開2003−85018号公報
例えば、ローカルサイトに新しい記憶装置システムを導入する場合、古い記憶装置システムから新しい記憶装置システムへデータを移行する必要が生ずる場合がある。この様な場合、データ損失を避けるためのリモートコピーの運用として、正記憶装置システム内のデータが新しい正記憶装置システムへ移行される最中であっても、リモートコピー対象のデータを遠隔地に複製し続けること、また、正記憶装置システムに格納されているデータにアクセスするホストでの業務を継続し続けることが望まれる。
しかし、データ移行前に古い正記憶装置システムと副記憶装置システムとの間に設定されていたパスを、新しい正記憶装置システムと副記憶装置システムとの間に設定しなおす必要があり、従来技術ではパスの接続変更をする際、リモートコピーが中断されるという問題があった。
このため、リモートコピー中断中に正記憶装置システムがホストから受信し副記憶装置システムに送ることのできないまま保持するリモートコピーペア間の差分データの量が増大し(以下、正記憶装置システムが有し、副記憶装置システムが有していないデータを差分データと呼ぶ)、リモートコピー再開後、差分データを正記憶装置システムから副記憶装置システムへ転送して両記憶装置システムが有するデータを一致させるために時間を要していた。
また、リモートコピー処理の中断中にローカルサイトが被災した場合、リモートコピー処理の中断中に正記憶装置システムがホストから受信していた更新データを喪失することがあった。
また、ホストから直接リード/ライト要求を受領する正記憶装置システムのデータを移行する場合、ホストから正記憶装置システムに対するリード/ライト要求を一旦停止する必要があり、ホストにより実行されている業務への影響があった。
そこで、リモートコピーを継続したまま、又ホストからのリード/ライト要求を受け付けながら、正記憶装置システム内のデータを移行するための技術を開示する。
リモートコピーシステムは、第一の正ボリュームを有する第一の記憶装置システムと、第二の正ボリュームを有する第二の記憶装置システムと、第一の記憶装置システム及び第二の記憶装置システムと接続される副ボリュームを有する第三の記憶装置システムとを有する。
第一の記憶装置システムは、ホストコンピュータから受信したデータを第一の正ボリュームに格納すると共に、ネットワークを介して第一の正ボリュームに格納されるデータを第三の記憶装置システムに送信し、第三の記憶装置システムは、第一の記憶装置システムから受信したデータを副ボリュームに格納している。
第一の正ボリュームに格納されているデータを第二の正ボリュームに移行する場合には、ホストコンピュータからの正ボリュームに対するアクセス要求を、第二の正ボリューム宛に転送する。また、第二の記憶装置システムは、第三の記憶装置システムに送信すべきデータを識別するための管理情報を、第一の記憶装置システムから受信し、ホストコンピュータから受信するライトデータと、第一の記憶装置システムから受信する第一の正ボリュームに格納されているデータとを第二の正ボリュームに格納する。更に、第二の記憶装置システムは、第二の正ボリュームに格納されるデータの内管理情報に基づいて決定されるデータを前記第三の記憶装置システムに送信する。
第三の記憶装置システムは、第二の記憶装置システムから受信したデータを副ボリュームに格納する。
リモートコピーを継続したまま、又、ホストからのリード/ライト要求を受け付けて処理しながら、リモートコピーの正ボリューム内に格納されているデータを新しい正ボリュームに移行することができる。
以下に、本発明の実施形態を説明する。尚本発明は以下に示す実施形態によって限定されるものではない。
図1に、本発明の第一の実施の形態における計算機システムの一例を示す。ローカルサイト及びリモートサイトの各サイトでは、ホスト1や記憶装置システム2等がLAN(Local Area Network)やSAN(Storage Area Network)といったローカルネットワークN2によって互いに接続されている。尚、図1のローカルサイトにおいては仮想管理ネットワーク装置がローカルネットワークN2に相当する。またローカルネットワークN2に接続されるホストや記憶装置システムの数には特に制限はない。一方、各サイトに存在する記憶装置システム2の内、リモートコピーを実行する記憶装置システム2同士は、グローバルネットワークN1を介して接続されている。グローバルネットワークN1は、一般に公衆通信回線であり、通信サービスを提供する業者から有料で借り受けて利用する場合が多い。ただし、ローカルネットワークN2、グローバルネットワークN1の構成が、本発明を限定するものではない。
図1は、ローカルサイトにおいて、ホスト1によって更新されるボリューム内のデータを、記憶装置システム2_1から記憶装置システム2_2へ、ホスト1からの更新を受け付けながら、かつリモートコピーを継続したまま、移行する様子を示している。
ローカルサイト1の記憶装置システム2_1は、ホストからアクセスされ、ホストから書き込まれたデータを格納している移動元正ボリュームV1を有し、記憶装置システム2_2は、移動元正ボリュームV1内のデータのデータ移行先である移動先正ボリュームV2を有する。また、リモートサイトの記憶装置システム2_3は、移動元正ボリュームV1または移動先正ボリュームV2のリモートコピー先となる副ボリュームV3を有する。ここで、ボリュームとは、磁気ディスクなどの記憶媒体を取り扱う単位のことであり、論理的な単位でも物理的な単位でも構わない。
また、仮想管理ネットワーク装置3は、一つまたは複数の記憶装置システム2が提供する一又は複数のボリューム(以下、ボリューム群と呼ぶ。)をボリュームプールとして管理し、ホスト1に対して、任意のボリュームを割り当てる機能を持つ装置である。特に、ホスト1に対しては、仮想管理ネットワーク装置3が提供する(即ち、仮想管理ネットワーク装置3を介してアクセス可能な)仮想ボリュームを提示し、仮想ボリュームを構成するボリュームの実体がどの記憶装置システム2に存在するかをホストには隠蔽する機能を持つ。尚、図1では仮想管理ネットワーク装置3を一台のみ図示しているが、複数の仮想管理ネットワーク装置が連携して動作しても良い。
また、仮想管理端末31は、仮想管理ネットワーク装置3と記憶装置システム2に接続しており、構成変更等の指示や内部状態の監視等を行うことができる。特に、パス切り替えやデータ移行の指示を行うことができる。
リモートコピーは大きく2つに分けられる。
一つは、正記憶装置システムがホスト1又は他の記憶装置システム2からの書き込み要求(以下、「ライト要求」と呼ぶ)に対する書き込み処理(以下、「ライト処理」と呼ぶ)を実行し、正記憶制御装置が副記憶制御装置にデータを転送した後に、ライト要求の要求元に対してライト処理の完了報告を発行する同期リモートコピーである。
もう一つは、正記憶装置システムがライト処理の終了報告をライト要求の要求元に送信した後に、ライト要求とは非同期に、正記憶制御装置が副記憶制御装置にデータを転送する非同期リモートコピーである。非同期リモートコピーでは、データベース等のホストにおいて実行されるアプリケーションに対してログの更新順序を保証するために、正記憶装置システム内のボリュームに対する更新順序通りに、副記憶装置システム内のボリュームを更新する必要がある。これを実現するために、非同期リモートコピーでは、副記憶制御装置が、正記憶制御装置から受領したデータを後述のシーケンス番号通りにボリューム(あるいはキャッシュメモリ26)に格納する方法がある。この方法を正式化という。ここで、正記憶制御装置とは、データを転送するコピー元の記憶制御装置を指し、副記憶制御装置とは、正記憶制御装置からデータを転送されたコピー先の記憶制御装置を指す。
図2(a)に、記憶装置システム2の構成を示す。ソフトウェアは丸で囲んで表示している。記憶装置システム2は、記憶制御装置21、一または複数の記憶装置22、記憶制御装置21への通知や記憶制御装置21内部の状態を表示するための保守端末23を備える。ただし、保守端末23は必須ではない。
記憶制御装置21は、チャネルインタフェース24、ディスクインタフェース25、キャッシュメモリ26、及び管理情報メモリ27を有する。尚、図示していないが、チャネルインタフェース24とディスクインタフェース25は複数存在する。また、キャッシュメモリ26及び管理情報メモリ27は2重化されている。
尚、他の実施形態として、チャネルインタフェース24内のCPU28とディスクインタフェース25内のCPU29の代わりに、チャネルインタフェース24、ディスクインタフェース25、キャッシュメモリ26、及び管理情報メモリ27等を統括する1つのCPUが記憶制御装置21内にあってもよい。
チャネルインタフェース24及びディスクインタフェース25は、入出力部241若しくは入出力部251を介して、キャッシュメモリ26及び管理情報メモリ27のそれぞれとパスで接続されている。パスによる接続は、スイッチ接続やバス接続でもよく、本発明を限定するものではない。
チャネルインタフェース24は、入出力部242と、ローカルネットワークN2又はグローバルネットワークN1を介して、ホスト1、コピー元記憶装置システム、又はコピー先記憶装置システムと接続されている。
チャネルインタフェース24内のメモリ240には、リード/ライトプログラム(正)201、リード/ライトプログラム(副)202、データ移行制御プログラム203、データ移行プログラム204、差分コピープログラム205、非同期転送プログラム206、が格納されている。
チャネルインタフェース24内のCPU28は、リード/ライトプログラム(正)201を実行して、ホスト1からのライト要求に応じてライト処理を行う。また、CPU28はリード/ライトプログラム(副)202を実行して、正記憶装置システムからのライト要求に応じてライト処理を行う。
CPU28は、データ移行制御プログラム203、データ移行プログラム204、必要ならば、差分コピープログラム205を実行して、リモートコピーを継続したまま、ホスト1からのリード/ライト要求を受け付けて処理しながら、データを移行する。当該データ移行方法については、後述する。
CPU28は、非同期転送プログラム206を実行して、記憶装置システム2が非同期リモートコピーのコピー元である場合に、データをライト要求とは非同期に、(即ちライト要求に対する完了報告をホストに発行した後に)コピー先の副記憶装置システムに転送する処理を行う。
ここで、リモートコピー対象ボリュームとは、他の記憶装置システム2にデータの複製を保存する対象となるボリュームである。
ディスクインタフェース25は、入出力部252を介して記憶装置22と接続されている。また、ディスクインタフェース25内のメモリ250には、非同期正式化プログラム207が格納されている。記憶装置システム2が非同期リモートコピーのコピー先である場合、ディスクインタフェース25内のCPU29は、非同期正式化プログラム207を実行して、データを正式化し、正式化したデータを記憶装置22に格納する処理を行う。
キャッシュメモリ26は、データを格納する不揮発性メモリであり、ホスト1から読み書きされるデータを格納する。キャッシュメモリ26の構成は、通常領域と仮領域に大別できる。これらの領域については後述する。
管理情報メモリ27は、データの管理情報を格納する不揮発性メモリであり、記憶装置システム2同士がリモートコピーをするために必要な、シーケンス管理情報及びボリューム管理情報を格納する。尚、管理情報メモリ27に格納している情報をキャッシュメモリ26に格納しても良い。
図2(b)に、仮想管理ネットワーク装置3の構成例を示す。尚、当該構成例が本発明を限定するものではない。
仮想管理ネットワーク装置3は、インタフェース32と、制御モジュール33、制御情報メモリ34をスイッチ35にて互いに接続した構成である。接続は、スイッチ接続やバス接続でもよく、本発明を限定するものではない。尚、インタフェース32は複数存在する。また、制御情報メモリ34は2重化されている。
インタフェース32は、ホスト1、記憶装置システム2、グローバルネットワークN1に接続している。インタフェース32のメモリには、リード/ライト要求、データ、ステータス等を管理する入出力管理情報や、これらの転送先を特定する転送制御情報(仮想管理ネットワーク装置内部/外部)等が格納されている。
制御モジュール33は、仮想管理ネットワーク装置3の構成変更や内部状態の監視等を行う。尚、仮想管理ネットワーク装置は、仮想管理端末31等と接続し、仮想管理端末31等外部からの指示により動作しても良い。
制御情報メモリ34には、制御情報メモリ34に格納されたデータの更新を排他的に制御するための排他情報、仮想管理ネットワーク装置3が検出した記憶装置システムのボリュームに関する情報である記憶装置システムボリューム情報(この記憶装置システムボリューム情報は、記憶装置システムの固有情報、アドレス情報、ボリューム番号等を有する。)、検出された記憶装置システムボリュームと、このボリュームによって構成される仮想ボリュームとの対応を示す、仮想ボリューム―記憶装置システムボリューム間マッピング情報、仮想ボリュームをどのようにホスト1に見せているか(即ち、仮想ボリュームをどのようにホストにアクセスさせるか)を管理する、ホスト提供ボリューム―仮想ボリューム間マッピング情報等を持つ。
ホストはホスト提供ボリューム―仮想ボリューム間マッピング情報において自身に対応付けられている仮想ボリュームにアクセスすることができる。ホストが仮想ボリュームにアクセスする際には仮想ボリュームの識別情報を有するアクセス要求を送信する。このアクセス要求を受信した仮想管理ネットワーク装置は、仮想ボリューム―記憶装置システムボリューム間マッピング情報を参照して、アクセス要求中の識別情報が示す仮想ボリュームと対応付けられている記憶装置システム、ボリューム番号を割り出す。そして仮想管理ネットワーク装置は、ホストから受信したアクセス要求を、割り出されたボリューム番号(若しくは割り出されたボリュームの識別情報)を有するアクセス要求に変換して、割り出された記憶装置システム宛に送信する。
リモートコピーの正ボリュームを、移動元正ボリュームV1から移動先正ボリュームV2に移動する際には、仮想管理ネットワーク装置3が、仮想管理端末からのパス切り替え指示に基づいて、仮想ボリューム―記憶装置システムボリューム間マッピング情報を書き換えることとなる。即ち、仮想管理ネットワーク装置3は、ホストが正ボリュームにアクセスする際にアクセス先として指定する正仮想ボリュームに対応付けられる記憶装置システムボリュームを、移動元正ボリュームV1から移動先正ボリュームV2に書き換える。この様にすれば、ホストは正ボリュームが移動元正ボリュームV1から移動先正ボリュームV2に変更になっても、正仮想ボリュームの識別情報を使用し続けることで、正ボリュームの変更後は移動先正ボリュームV2にアクセスすることができる。尚、係る仮想ボリューム―記憶装置システムボリューム間マッピング情報の書き換えや、マッピング情報に基づくアクセス要求の送信は、仮想管理ネットワーク装置内のメモリに格納されているプログラムを仮想管理ネットワーク装置内のCPUが実行することにより実行される。
図3(a)、図3(b)にシーケンス管理情報の内容の一例を示す。以下、図3(a)の各行をシーケンス管理情報エントリと呼ぶ。シーケンス管理情報は、非同期リモートコピーにおいて、ホスト1が正記憶装置システムに対してデータを書き込んだ順序(以下、ライト順序と呼ぶ)で副記憶装置システムにデータを書き込むデータの正式化のために使用される情報である。シーケンス管理情報には、シーケンス番号、転送/正式化対象情報、キャッシュメモリ管理情報アドレス、シーケンス番号カウンタ、転送対象管理情報及び正式化対象管理情報が含まれる。シーケンス番号、転送/正式化対象情報及びキャッシュメモリ管理情報アドレスは、シーケンス管理情報エントリに格納される情報として、シーケンス管理情報内に複数存在する。
シーケンス番号は、ホスト1から入力されたデータの単位毎に、ライト順序に従って付与される番号である。
転送/正式化対象情報は、転送対象情報として使用される場合は、記憶装置システム2から他の記憶装置システム2へ転送するデータを、シーケンス管理情報エントリを用いてキュー構造により管理するための情報である。具体的には、転送/正式化対象情報は、他のシーケンス管理情報エントリの位置を示すアドレス、または、後述する転送対象管理情報の位置を示すアドレスであり、これらアドレスは、シーケンス管理情報エントリの対応する領域に格納される。この情報により、記憶装置システム2は、あるシーケンス管理情報エントリに対応するデータの次に転送すべきデータ等を検索することが出来る。
また、転送/正式化対象情報が、正式化対象情報として使用される場合は、転送/正式化対象情報は正式化対象であるデータを、シーケンス管理情報エントリを用いてキュー構造により管理するための情報である。具体的には、転送/正式化対象情報は、他のシーケンス管理情報エントリのアドレス、または、後述する正式化対象管理情報のアドレスであり、これらアドレスは、シーケンス管理情報エントリの対応する領域に格納される。この情報により、記憶装置システム2は、あるシーケンス管理情報エントリに対応するデータの次に正式化すべきデータ等を検索することが出来る。
キャッシュメモリ管理情報アドレスは、ホスト1から入力され、シーケンス番号が振られたデータの、キャッシュメモリ26における格納場所に関する情報である。キャッシュメモリ26の割り当てを管理する情報(以下キャッシュメモリ管理情報と呼ぶ)は、ホスト1からのリード/ライト処理時に通常使用される、管理情報メモリ27に格納されている。キャッシュメモリ管理情報アドレスは、このキャッシュメモリ管理情報内のデータの格納位置を示す情報であり、キャッシュメモリ管理情報アドレスが示すキャッシュメモリ管理情報内のデータを参照すれば、ホストから書き込まれたデータのキャッシュメモリ26上でのアドレスを特定できる。尚、キャッシュメモリ管理情報アドレスに代わり、キャッシュメモリ26上のアドレスが直接シーケンス管理情報に格納されていても良い。
シーケンス番号カウンタは、ホスト1からのライト順序を記録するために使用する情報である。
転送対象管理情報は、非同期リモートコピーのコピー元において、コピー先にデータを転送する順序を管理する為の情報であり、シーケンス管理情報エントリからなるキュー構造のキューヘッダとして、以下のように使用される。
まず、CPU28は、新たに書き込まれたデータに対して、シーケンス管理情報エントリを確保する。次に、CPU28は、書き込まれたデータのシーケンス番号をシーケンス番号カウンタから取得する。そして、CPU28は、確保したシーケンス管理情報エントリに取得したシーケンス番号を書き込む。尚、CPU28は、シーケンス番号取得後、シーケンス番号カウンタの値を更新する。さらに、書き込まれたデータのキャッシュメモリ26における格納場所を特定するためのキャッシュメモリ管理情報アドレスを設定する。
CPU28は、転送対象管理情報をキューヘッダとするシーケンス管理情報エントリのキューを先頭から参照し、シーケンス番号が進む順(昇順)となるように、新たに作成したシーケンス管理情報エントリをキュー構造に接続する(図3(c)を参照)。これは、小さいシーケンス番号に対応するデータほど、ホスト1から書き込まれた時期が早いため、キューの先頭のシーケンス管理情報エントリに対応するデータから順に、コピー先に転送するためである。ここで、図3(b)における転送対象管理情報の上の欄は、キューの先頭のシーケンス管理情報エントリのアドレスを示し、下の欄は、キューの最後尾のシーケンス管理情報エントリのアドレスを示す。したがって、新たに書き込まれたデータに最新のシーケンス番号が付与される場合、転送対象管理情報の下の欄には、そのデータに対応するシーケンス管理情報エントリが格納されるアドレスが登録される。
転送対象管理情報をキューヘッダとするキュー構造に接続されたシーケンス管理情報エントリに対応するデータのことを、以下、転送対象データと呼ぶ。また、以上のような操作を施すことを、「データを転送対象データに登録する」と呼ぶ。
正式化対象管理情報は、非同期リモートコピーのコピー先において、コピー元から受領したが未だ正式化されていないデータのライト順序を管理する情報であり、シーケンス管理情報エントリからなるキュー構造のキューヘッダとして使用される。
正式化されていないデータについても、「データを転送対象データに登録する」ことと同様の操作が施される(図3(d)を参照。)。これは、ホスト1からのライト順序を保証するために、キューの先頭のシーケンス管理情報エントリに対応するデータから順に、シーケンス番号に従って正式化しなければならないためである。正式化対象管理情報をキューヘッダとするキューに接続されたシーケンス管理情報エントリに対応するデータのことを、以下、正式化対象データと呼ぶ。また、この操作を施すことを、「データを正式化対象データに登録する」と呼ぶ。
尚、データを正式化対象データに登録する際には、シーケンス番号としてCPU28がシーケンス番号カウンタから取得するシーケンス番号を用いるのではなく、ローカルサイトに存在する記憶装置システム2からリモートコピーされてくるデータに付与されているシーケンス番号を用いる。ローカルサイトからリモートサイトへデータが送信される際には、ホストコンピュータがローカルサイトの記憶装置システムにデータをライトした順にライトデータがリモートサイトの記憶装置システムでも受信されるとは限らない。この様な場合には、リモートサイトの記憶装置システムがライトデータを受信するたびに、シーケンス番号カウンタからシーケンス番号を取得してデータを正式化対象に登録しても、ライト順序は保証されない。従ってこの様な場合には、ローカルサイトの記憶装置システムがデータをシーケンス番号と共にリモートサイトに送信し、リモートサイトの記憶装置システムはデータに付与されたシーケンス番号を用いて当該データを正式化対象に登録する必要がある。ただし、ローカルサイトからリモートサイトへデータを多重に送信せず、シーケンス番号毎に同期的に送信(あるシーケンス番号のデータを送信し、リモートサイトから受信報告を受領してから、次のシーケンス番号のデータを送信)する場合には、リモートサイトで改めてシーケンス番号カウンタからシーケンス番号を取得し、正式化対象データに登録しても良い。
図4(a)、図4(b)にボリューム管理情報の一例を示す。
ボリューム管理情報には、リモートコピー対象フラグ、シーケンス管理情報番号、最新シーケンス番号、ペア状態、差分ビットマップ、コピー元情報、コピー元有効フラグ、コピー先情報、リード/ライトモード、データ移行元情報、データ移行先情報、データ移行済みビットマップが含まれる。
ここで、ボリューム管理情報は、ボリューム毎に存在してもよいし、任意の記憶領域毎(例えば、複数のボリュームごと)に存在してもよい。記憶制御装置21は、記憶装置システム2間で共有できる任意の記憶領域の単位毎にボリューム管理情報を持つことができ、その記憶領域単位でリモートコピーを実行することができる。
リモートコピー対象フラグは、対象となるボリュームが、リモートコピー対象であるか否か、さらに、リモートコピー対象である場合には、コピー元、または、コピー先のいずれであることを示す情報である。リモートコピー対象フラグは、具体的には、例えば当該ボリュームがリモートコピー対象でない場合に”OFF”を、また、リモートコピー対象である場合で、コピー元である場合に”コピー元”を、コピー先となる場合に”コピー先”を示す。
シーケンス管理情報番号は、ボリューム管理情報で管理されるボリュームに対応するシーケンス管理情報を指定する番号である。
最新シーケンス番号は、非同期リモートコピーのコピー先のボリュームにおいて、正式化済みデータの中で、最も進んでいるシーケンス番号(即ち最大の値を有するシーケンス番号)を表す。
ペア状態は、コピー元ボリュームの内容の、コピー先ボリュームへの反映状態を示す情報である。ペア状態には3つの状態がある。1つめは、コピー元のボリュームの内容とコピー先のボリュームの内容が一致しており、ホスト1から新たにコピー元ボリュームへ更新されたデータのみコピー中である“2重化”状態である。2つめは、コピー元のボリュームの内容とコピー先のボリュームの内容が一致しておらず、ホスト1から新たにコピー元ボリュームへ更新されたデータだけでなく、差分ビットマップが示す不一致箇所に対応するデータをもコピー先ボリュームへ反映中である“コピー中”状態である。3つめは、コピーが実行されておらず、ホスト1からコピー元ボリュームへデータの更新があった場合には、更新データの格納位置を差分ビットマップに記録している “中断”状態である。
差分ビットマップは、ボリューム中の更新箇所(即ち、コピー元ボリュームでのみ更新され、コピー先ボリュームにはコピーされていないデータの格納位置)を記録している情報(以下、差分情報と呼ぶ)を管理する情報である。差分ビットマップは、サイト被災等により他サイトとのボリューム内容を一致させる必要が生じた場合に使用される。
尚、リモートコピー自体は、同一サイト内の異なる記憶装置システム2間で実行することも可能である。
コピー元情報は、ボリューム管理情報に対応するボリュームのコピー元として登録されているコピー元の情報であり、具体的には、アドレス情報、記憶装置システム製造番号、ポート番号及びボリューム番号等を含む(図4(b)を参照。)。図4(b)の各行をコピー元情報エントリと呼ぶ。コピー元情報には、複数のコピー元情報エントリが含まれ得る。アドレス情報は、ネットワークのプロトコルに応じた情報で、コピー元のアドレスを表す。記憶装置システム製造番号は、ネットワーク上の記憶装置システム2を特定する番号である。ポート番号は、記憶装置システム2において、チャネルインタフェース24の外部接続パスを特定する番号である。ボリューム番号は、ボリューム管理情報に対応するボリュームへコピーされるデータを格納しているコピー元のボリュームの番号である。
コピー元有効フラグは、コピー元情報において登録されているコピー元の内、どのコピー元が現在のコピー元であるかを示す情報である。図4の例であればコピー元有効フラグの欄には、コピー元1が有効、コピー元2が有効、過渡中(一時的に、コピー元1もコピー元2も有効)という情報のいずれかが登録され得る。また、コピー元情報が、N個(N≧3)ある場合のコピー元有効フラグは、コピー元Nが有効、若しくは過渡中(コピー元Jからコピー元Kにデータが移行中)のいずれかを表すこととなる。
コピー先情報は、ボリューム管理情報に対応するボリュームのコピー先として登録されているコピー先の情報であり、その構成は、コピー元情報と同様である。コピー元情報同様、複数のコピー先情報エントリを持っても良いが、説明の簡素化のため省略する。
リード/ライトモードは、リード/ライトの処理方法を示す情報である。例えば図1において、移動先正ボリュームV2を持つ記憶装置システム2_2から見ると、ホスト1から移動先正ボリュームV2へのリード/ライト要求に対し、移動先正ボリュームV2を持つ記憶装置システム2_2で要求を処理する“ノーマル”モード、移動元正ボリュームV1を持つ記憶装置システム2_1へ要求を渡し、記憶装置システム2_2では処理を中継する“スルー”モード、記憶装置システム2_2で要求を一時保留する“ペンディング”モード、必要なデータを移動元正ボリュームV1から移動先正ボリュームV2へ移行しつつ記憶装置システム2_2で要求を処理する“データ移行中”モードの、4つのモードがある。尚、移動元正ボリュームV1、副ボリュームV3のリード/ライトモードには、“ノーマル”が設定されている。
データ移行元情報は、ボリューム管理情報に対応するボリュームのデータ移行元として登録されているデータ移行元の情報であり、その構成は、コピー元情報と同様である。
データ移行先情報は、ボリューム管理情報に対応するボリュームのデータ移行先として登録されているデータ移行先の情報であり、その構成は、コピー元情報と同様である。
データ移行済みビットマップは、移動元正ボリュームV1と移動先正ボリュームV2において、データ移行済みの箇所(即ちボリュームV1からボリュームV2へ既に移行されたデータの格納位置)を記録している情報(以下、差分情報と呼ぶ)を管理する情報である。
コピー元情報、コピー先情報、データ移行元情報、および、データ移行先情報の登録は、ユーザ自身、または、保守員等が行う。
尚、シーケンス管理情報は各々一若しくは複数のボリュームに対応するよう予め複数設定され、それぞれのシーケンス管理情報に対して、ボリューム管理情報又はボリューム管理情報群が対応付けられる。ボリューム管理情報に対応するシーケンス管理情報は、ボリューム管理情報に含まれるシーケンス管理情報番号により特定される。上記の設定や対応付けは、ユーザ自身、または、保守員等により行われる。
図5に、リモートコピーの正ボリュームの移動手順の一例を示す。正ボリュームの移動手順は、大きく分けて、正ボリューム内のデータのデータ移行先となる記憶装置システム2_2の接続(ステップ501)、仮想記憶端末からの、パス切り替え、および、データ移行とリモートコピー正ボリューム切り替え指示(ステップ502)、移動元正ボリュームV1を持つ記憶装置システム2_1の撤去(ステップ503)からなる。以下で、各ステップの詳細について説明する。
図6を用いて、図5ステップ501における、リモートコピーの正ボリューム内のデータの、データ移行先となる記憶装置システム2_2の接続手順について説明する。
まず、正ボリューム移動先となる記憶装置システム2_2がローカルサイトに用意されていない場合、管理者は記憶装置システム2_2をローカルサイトに搬入し、仮想管理ネットワーク装置3に接続する(ステップ601)。既に、接続済みの場合は、ステップ601は不要である。仮想管理ネットワーク装置3に接続された記憶装置システム2_2が持つボリュームの実装状態は、仮想管理ネットワーク装置3により、接続時に自動的に確認されても良い。
次に管理者は、記憶装置システム2間のパスを接続する(ステップ602)。接続されるパスは、正ボリューム移動先となる記憶装置システム2_2と移動元正ボリュームV1を持つ記憶装置システム2_1の間のパス、および、正ボリューム移動先となる記憶装置システム2_2とリモートコピーのコピー先の副ボリュームV3を持つ記憶装置システム2_3の間のパスである。パスを接続する際、仮想管理ネットワーク装置3と接続しているパスとは別にパスを接続しても良い。
次に管理者は仮想管理端末を用いて各記憶装置システム2内のボリューム管理情報にアクセスし、記憶装置システム2間のパスを登録する(ステップ603)。登録するパスは、(1)正ボリューム移動先となる記憶装置システム2_2から移動元正ボリュームV1を持つ記憶装置システム2_1へのパスと、(2)その逆方向のパス、および、(3)正ボリューム移動先となる記憶装置システム2_2からリモートコピーのコピー先となる副ボリュームV3を持つ記憶装置システム2_3間のパスである。具体的には管理者は、図4(a)、図4(b)に示すように、(1)では、移動先正ボリュームV2のボリューム管理情報のデータ移行元情報に、正ボリューム移動元となる記憶装置システム2_1のアドレス情報、記憶装置システム番号、ポート番号、正ボリューム移動元ボリュームであるボリュームV1の番号を登録する。(2)では、移動元正ボリュームV1のボリューム管理情報のデータ移行先情報に、正ボリューム移動先となる記憶装置システム2_2のアドレス情報、記憶装置システム番号、ポート番号、正ボリュームの移動先ボリュームであるボリュームV2の番号を登録する。(3)では管理者は、移動先正ボリュームV2のボリューム管理情報のコピー先情報に、副ボリュームV3を持つ記憶装置システム2_3のアドレス情報、記憶装置システム番号、ポート番号、副ボリュームV3のボリューム番号を登録する。
尚、(1)のパスは、ホスト1からのリード/ライト要求をデータ移行先の記憶装置システム2_2でスルーさせる場合や、データ移行中の差分コピーやホスト1からのリード/ライト要求時に、対象データが正ボリューム移動先となる記憶装置システム2_2に存在しない場合に対象データを移行するために使用される。(2)のパスは、移動元正ボリュームV1から移動先正ボリュームV2へのデータ移行に使用される。(3)のパスは、リモートコピーの正ボリュームをV1からV2へ切り替えた後、移動先正ボリュームV2から副ボリュームV3へのリモートコピーに使用する。
最後に管理者は仮想管理端末を用いて、副ボリュームV3を持つ記憶装置システム2_3に移動先正ボリュームV2を登録する(ステップ604)。具体的には、図4(a)、図4(b)に示すように、ボリュームV3に関するボリューム管理情報のコピー元情報に、正ボリューム移動先となる記憶装置システム2_2のアドレス情報、記憶装置システム番号、ポート番号、移動先正ボリュームV2のボリューム番号を登録する。その後、処理を終了する。
図7を用いて、図5のステップ502に相当する仮想管理端末31から仮想管理ネットワーク装置3への、パス切り替え指示、および、移動先正ボリュームV2を持つ記憶装置システム2_2へのデータ移行とリモートコピー正ボリューム切り替え指示について説明する。
まず、仮想管理端末は移動先記憶装置システム2_2のボリューム管理情報をアクセスし、移動先正ボリュームV2のリード/ライトモードを“スルー”に設定する(ステップ701)。これにより、ホストから移動先正ボリュームV2へ発行されたコマンドはすべて移動元正ボリュームV1へ転送される。
次に、仮想管理端末は、ホストから移動元正ボリュームV1への全てのパスが、ホストから移動先正ボリュームV2へのパスに切り替え済みか判断する(ステップ702)。
移動元正ボリュームV1への全てのパスが移動先正ボリュームV2へ切り替え済みでなかった場合(ステップ702のN)、仮想管理端末はホストから移動元正ボリュームV1へのパスの1つを選択し(ステップ703)、選択したパスをホストから移動先正ボリュームV2へのパスへ切り替えるよう仮想管理ネットワーク装置に指示する(ステップ704)。パスの切り替え時に当該パスを用いてホスト1からの要求が実行されている場合には、仮想管理ネットワーク装置3の機能に応じて、例えば、(1)実行中のホスト1からの要求については、移動元正ボリュームV1との間で処理しつつ、新規に受領したホスト1からの要求については、移動先正ボリュームV2へ転送する、(2)実行中のホスト1からの要求については、移動元正ボリュームV1との間で処理し、新規に受領したホスト1からの要求については、仮想管理ネットワーク装置3内で保留し、実行中のホスト1からの要求がすべて終了後、パスを切り替え、保留したホスト1からの要求を移動先正ボリュームV2へ転送する、(3)実行中のホスト1からの要求を一旦全てエラー終了させ、その間にパスを切り替え、ホスト1からエラー終了された要求がリトライされる時には、リトライ要求は移動先正ボリュームV2へのパスへ発行されるようにする、等の対応がある。また、移動元正ボリュームV1へのパスが複数ある場合、ステップ702〜ステップ704の代わりに、仮想管理端末は複数のパスを同時に切り替えるよう仮想管理ネットワーク装置に指示しても良い。
尚、仮想管理端末からパスの切り替えを指示された仮想管理ネットワーク装置では、前述の様に、仮想ボリューム―記憶装置システムボリューム間マッピング情報を書き換えることにより、ホストがリモートコピーの正ボリュームにアクセスするために用いている仮想ボリュームの識別情報を変更することなく、同じ仮想ボリューム識別情報を用いて変更後の移動先正ボリュームV2をアクセスできるよう制御する。
尚、上記パスの切り替え方式は一例であり、本発明を制限するものではない。
ホストから移動元正ボリュームV1への全てのパスが移動先正ボリュームV2へ切り替え済みであった場合(ステップ702のY)、ステップ705へ進む。
次に仮想管理端末は、データ移行とリモートコピー正ボリュームの切り替えを、移動先正ボリュームV2を持つ記憶装置システム2_2へ指示する(ステップ705)。
次に仮想管理端末は、データ移行とリモートコピーの正ボリュームの切り替えの終了報告が、移動先正ボリュームV2を持つ記憶装置システム2_2から有るかどうか判断する(ステップ706)。データ移行とリモートコピー正ボリュームの切り替えの終了報告がない場合(ステップ706のN)、仮想管理端末は一定時間待ち(ステップ707)、再びステップ706の処理を実行する。。データ移行とリモートコピー正ボリュームの切り替えの終了報告があった場合(ステップ706のY)、仮想管理端末は処理を終了する。
図8(a)、図8(b)を用いて、図7ステップ705において仮想管理端末31により起動され、移動先正ボリュームV2を持つ記憶装置システム2_2において実行されるデータ移行制御プログラム203の一例について説明する。データ移行制御プログラム203は記憶装置システム2_2のチャネルインタフェース24内のCPU28により実行される。図8に示すのは、データ移行制御プログラム203が実行されることにより、実行される処理の一例である。
まず、移動元正ボリュームV1から移動先正ボリュームV2へのデータ移行のために、データ移行制御プログラムは移動先正ボリュームV2のボリューム管理情報のデータ移行済みビットマップをクリアする(ステップ801)。例えば、全てのビットマップに“0”を設定する。
次に、データ移行制御プログラムは、移動先正ボリュームV2のリード/ライトモードを“ペンディング”に設定する(ステップ802)。リード/ライトモードを“スルー”から“ペンディング”に変更することにより、移動元正ボリュームV1へ転送していたホスト1からの要求を、以降は一時的に、移動先正ボリュームV2を持つ記憶装置システム2_2内に保留するようになる。
次に、データ移行制御プログラムは、移動元正ボリュームV1を持つ記憶装置システム2_1へデータ移行開始と管理情報の提供を指示する(ステップ803)。管理情報としては、ペア状態や差分情報(差分ビットマップ)等のボリューム管理情報、(非同期リモートコピー時には)シーケンス番号カウンタ値等のシーケンス管理情報が含まれる。
次に、移動元正ボリュームV1を持つ記憶装置システム2_1から、データ移行開始指示に対する応答と、管理情報の提供があったか判断する(ステップ804)。データ移行開始に対する応答と管理情報の提供がない場合(ステップ804のN)、データ移行制御プログラムは一定時間待ち(ステップ805)、再びステップ804へ戻って処理を実行する。データ移行開始指示に対する応答と管理情報の提供がある場合(ステップ804のY)データ移行制御プログラムは、ステップ806へ進む。
次に、データ移行制御プログラムはデータ移行元の記憶装置システム2_1から提供された管理情報を移動先正ボリュームV2のボリューム管理情報や、移動先記憶装置システム2_2のシーケンス管理情報へ反映する(ステップ806)。これにより、正ボリュームを移動先ボリュームV2に切り替えた後も、リモートコピーを中断することなく、副ボリュームV3に対してリモートコピーを継続できる。
次に、データ移行制御プログラムは、副ボリュームV3を持つ記憶装置システム2_3にコピー元有効フラグ更新を要求する(ステップ807)。副ボリュームとの間のリモートコピーが同期リモートコピーの場合には、データ移行制御プログラムは、ボリューム管理情報中のコピー元有効フラグにボリュームV2を示す情報を登録し、移動先正ボリュームV2を示すコピー元情報を有効にするよう記憶装置システム2_3に指示する。また、副ボリュームとの間のリモートコピーが非同期リモートコピーの場合には、データ移行制御プログラムはコピー元有効フラグを過渡中に設定するよう指示し、一時的に、移動元正ボリュームV1、および、移動先正ボリュームV2を示すコピー元情報の両方が有効になるよう記憶装置システム2_3に指示する。次に、データ移行制御プログラムは、副ボリュームV3を持つ記憶装置システム2_3からコピー元有効フラグ更新報告があるか判断する(ステップ808)。コピー元有効フラグ更新報告がない場合(ステップ808のN)、一定時間待ち(ステップ809)、再びステップ808が実行される。コピー元有効フラグ更新報告がある場合(ステップ808のY)、ステップ810へ進む。
次に、データ移行制御プログラムは、移動先正ボリュームV2のリード/ライトモードを“データ移行中”に設定する(ステップ810)。リード/ライトモードを“ペンディング”から“データ移行中”に変更後、記憶装置システム2_2は、一時的に移動先正ボリュームV2を持つ記憶装置システム2_2に保留していたホスト1からの要求の実行を再開する(ステップ811)。その際、移動元正ボリュームV1から未だ移行していないデータを移動先正ボリュームV2に移行しながら、ホスト1からの要求を移動先正ボリュームV2を持つ記憶装置システム2_2において、実行する。
次に、データ移行制御プログラムは、記憶装置システム2_1が移動元正ボリュームV1について記憶装置システム2_3との間で差分コピーを実行中であったか判断する(ステップ812)。差分コピーを実行中であったかどうかは、ステップ803及びステップ804にて記憶装置システム2_1から受信したペア状態が“コピー中”であるか否かで判断される。記憶装置システム2_1が差分コピーを実行中であった場合(ペア状態が“コピー中”であった場合)、移動先正ボリュームV2を持つ記憶装置システム2_2においても、差分コピープログラムを起動する(ステップ813)。
次に図8(b)のステップ814に続き、データ移行制御プログラムは、副ボリュームV3との間のリモートコピーは非同期リモートコピーであるか判断する(ステップ814)。
副ボリュームV3との間のリモートコピーが非同期リモートコピーでなかった場合(同期リモートコピーであった場合)(ステップ814のN)、ステップ820へ進む。
副ボリュームV3との間のリモートコピーが非同期リモートコピーだった場合(ステップ814のY)、データ移行制御プログラムは移動元正ボリュームV1を持つ記憶装置システム2_1から副ボリュームV3を持つ記憶装置システム2_3へ転送される未転送データに関して、転送終了報告が記憶装置システム2_1から記憶装置システム2_2へあったか判断する(ステップ815)。未転送データに関する転送終了報告がなかった場合(ステップ815のN)、一定時間待った後(ステップ816)、再びステップ815が実行される。未転送データ転送終了報告があった場合(ステップ815のY)、ステップ817へ進む。
次に、データ移行制御プログラムは副ボリュームV3を持つ記憶装置システム2_3にコピー元有効フラグ更新を要求する(ステップ817)。即ち、移動先正ボリュームV2を示すコピー元情報を有効にするよう指示する。次に、データ移行制御プログラムは副ボリュームV3を持つ記憶装置システム2_3からコピー元有効フラグ更新報告があるか判断する(ステップ818)。コピー元有効フラグ更新報告がない場合(ステップ818のN)、一定時間待った後(ステップ819)、再びステップ818が実行される。コピー元有効フラグ更新報告がある場合(ステップ818のY)、ステップ820へ進む。
次に、データ移行制御プログラムは、移動元正ボリュームV1を持つ記憶装置システム2_1からデータ移行完了報告があるか判断する(ステップ820)。データ移行完了報告がない場合(ステップ820のN)、一定時間待ち(ステップ821)、再びステップ820が実行される。データ移行完了報告がある場合(ステップ821のY)、ステップ822へ進む。
次に、データ移行制御プログラムは移動先正ボリュームV2のリード/ライトモードを“ノーマル”に設定する(ステップ822)。リード/ライトモードを“データ移行中”から“ノーマル”に変更することにより、以降記憶装置システム2_2はホスト1からの要求を、データ移行を意識することなく、記憶装置システム2_2において実行する。
最後に、データ移行制御プログラムは、仮想管理端末31へ、データ移行とリモートコピー正ボリューム切り替え終了を報告し(ステップ823)、処理を終了する。
図9を用いて、移動先正ボリュームV2を有する記憶装置システム2_2のデータ移行制御プログラム203によりステップ803において起動される、移動元正ボリュームV1を持つ記憶装置システム2_1において実行されるデータ移行プログラム204について説明する。データ移行プログラム204はCPU28により実行され、図9はデータ移行プログラムが実行されることにより実施される処理の一例を示す図である。
まず、データ移行プログラムは、記憶装置システム2_1が移動元正ボリュームV1について、記憶装置システム2_3が有する副ボリュームV3との間で差分コピーを実行中であるか判断する(ステップ901)。差分コピー実行中であるかどうかは、ペア状態が“コピー中”であるか否かで判断される。差分コピーを実行中であった場合(ペア状態が“コピー中”であった場合)(ステップ901のY)、データ移行プログラムは差分コピーを中断させる(ステップ902)。これにより、差分コピーによる移動元正ボリュームV1のボリューム管理情報の更新が抑止される。
また、データ移行プログラムは、移動先正ボリュームV2を持つ記憶装置システム2_2から受領したの移動元正ボリュームV1に対するすべてのリード/ライト要求を実行済みか判断する(ステップ903)。実行済みでないリード/ライト要求が存在する場合(ステップ903のN)、一定時間待ち(ステップ904)、再びステップ903を実行する。すべてのリード/ライト要求を実行済みの場合(ステップ903のY)、ステップ905へ進む。移動元正ボリュームV1に対するリード/ライト要求が全て実施されるまでステップ903及びステップ904を繰り返すため、ステップ905以降に、移動先正ボリュームV2を持つ記憶装置システム2_2から受領した移動元正ボリュームV1に対するリード/ライト要求による、移動元正ボリュームV1のシーケンス管理情報の更新、および、ボリューム管理情報の更新が起こることはない。
次に、データ移行プログラムは、移動元正ボリュームV1に関連する管理情報(即ち、図8(a)のステップ803において記憶装置システム2_2から要求されるボリューム管理情報やシーケンス管理情報)を取得し(ステップ905)、移動先正ボリュームV2を持つ記憶装置システム2_2へ、データ移行開始指示に対する応答と取得した管理情報を送信する(ステップ906)。
次に、データ移行プログラムは、記憶装置システム2_1が移行元正ボリュームV1と副ボリュームV3との間で、非同期リモートコピーを実行していたか判断する(ステップ907)。
移行元正ボリュームV1と副ボリュームV3との間で非同期リモートコピーが実行されていなかった場合(同期リモートコピーであった場合)(ステップ907のN)、ステップ911へ進む。
移行元正ボリュームV1と副ボリュームV3との間で非同期リモートコピーが実行されていた場合(ステップ907のY)、データ移行プログラムは、移行元正ボリュームV1から副ボリュームV3へ転送すべき全てのデータの転送を完了したか判断する(ステップ908)。未転送のデータが残っている場合(ステップ908のN)、一定時間待ち(ステップ909)、再びステップ908が実行される。移行元正ボリュームV1から副ボリュームV3へコピーされるべきデータ全ての転送が完了している場合(ステップ908のY)、ステップ910へ進む。
次に、データ移行プログラムは、移動先正ボリュームV2を持つ記憶装置システム2_2へ未転送データの転送完了を報告する(ステップ910)。以降、移行元正ボリュームV1と移行先正ボリュームV2との間でデータ移行が開始される。
データ移行プログラムは、移動元正ボリュームV1から移動先正ボリュームV2へのデータ移行のために、移動元正ボリュームV1のボリューム管理情報のデータ移行済みビットマップをクリアする(ステップ911)。例えば、全てのビットマップに“0”を設定する。
次に、データ移行プログラムは上述のビットマップを参照して、移行元正ボリュームV1から移行先正ボリュームV2へ移行されていないデータが格納されている領域の有無を判断する(ステップ912)。データ移行済みでないデータが格納された領域が存在する場合(ステップ912のY)、データ移行プログラムはデータ移行済みビットマップを参照し、データ移行済みでない領域を選択する(ステップ913)。例えば、移動元正ボリュームV1を構成するデータに対応するビットマップの内、最も先頭寄りで、かつ、データ移行済みでないデータを示すビットを選択し、このビットが指し示す領域をデータ移行対象領域として選択しても良い。
次に、データ移行プログラムは、選択した領域に格納されているデータを移動先正ボリュームV2へコピーする。その際、移動先正ボリュームを持つ記憶装置システム2_2においては、移動先正ボリュームV2のボリューム管理情報のデータ移行済みビットマップが更新される(ステップ914)。例えば、移行したデータに対応するビットマップに“1”が設定される。
次に、データ移行プログラムは、移動元正ボリュームV1のボリューム管理情報のデータ移行済みビットマップを更新する(ステップ915)。例えば、移行したデータに対応するビットマップに“1”を設定する。その後、ステップ912へ進む。
ステップ912において、データ移行済みでない領域が存在しない場合(即ち移行元正ボリュームV1から移行先正ボリュームV2へのデータ移行が完了している場合)(ステップ912のN)、ステップ916へ進む。
最後に、データ移行プログラムは、移動先正ボリュームV2を持つ記憶装置システム2へデータ移行完了を報告し(ステップ916)、処理を終了する。
図10、図11を用いて、移動先正ボリュームV2を持つ記憶装置システム2_2、および、移動元正ボリュームV1を持つ記憶装置システム2_1で実行されるリード/ライトプログラム(正)201について説明する。リード/ライトプログラム(正)201はCPU28により実行される。尚、移動元正ボリュームV1に対するリード/ライトは、常に“ノーマル”モードで実行される。
まず、ステップ1101〜ステップ1103において、リード/ライトプログラム(正)はホストからリード要求若しくはライト要求を受信し、リード若しくはライト対象のボリュームに対するリード/ライトモードが、“ノーマル”、“スルー”、“ペンディング”、“データ移行中”のいずれであるか判断する。
リード/ライトモードが“ノーマル”の場合(ステップ1101のY)、図11の11Aへ進む。
リード/ライトモードが“スルー”の場合(ステップ1102のY)、リード/ライトプログラム(正)はホスト1からのリード/ライト要求を移動元正ボリュームV1に対して発行する(即ちホスト1から受信したリード/ライト要求を移動元正ボリュームV1を有する記憶装置システムに送信する)(ステップ1104)。次に、ホスト1からの要求がライト要求か否か判断する(ステップ1105)。ライト要求の場合(ステップ1105のY)、リード/ライトプログラム(正)はホスト1からのライトデータを移動元正ボリュームV1へ中継する(ステップ1106)。ライト要求でなくリード要求の場合(ステップ1105のN)、リード/ライトプログラム(正)は移動元正ボリュームV1からのリードデータを移動元正ボリュームV1を有する記憶装置システムから受信して、ホスト1へ中継する(ステップ1107)。その後リード/ライトプログラム(正)は、移動元正ボリュームV1からの終了ステータスをホスト1へ中継し(ステップ1108)、処理を終了する。
リード/ライトモードが“ペンディング”の場合(ステップ1103のY)、リード/ライトプログラム(正)はリード/ライト要求の実行を一時保留し(ステップ1109)、リード/ライトモードの変更時に再起動されるようフラグ等(図示せず)を設定し(ステップ1110)、処理を終了する。図8ステップ811において、リード/ライトモードが“ペンディング”から“データ移行中”に変わったのを契機にリード/ライトプログラム(正)が再起動され、当該フラグ等を参照し、一時保留されたリード/ライト要求の処理を実行する。
リード/ライトモードが“データ移行中”の場合(ステップ1103のN)、リード/ライトプログラム(正)はデータ移行済みビットマップを参照し(ステップ1111)、リード/ライト対象領域はデータ移行済みの記憶領域であるかどうか判断する(ステップ1112)。データ移行済みの場合(ステップ1112のY)、図11の11Aへ進む。データ移行済みでない場合(ステップ1112のN)、リード/ライトプログラム(正)はデータのリード/ライトに必要なデータを移動元正ボリュームV1から移動先正ボリュームV2へコピーする。係るコピー処理に伴って、移動元正ボリュームV1を持つ記憶装置システム2_1において、移動元正ボリュームV1のボリューム管理情報のデータ移行済みビットマップが更新される(ステップ1113)。例えば、移行したデータに対応するビットマップに“1”が設定される。次に、リード/ライトプログラム(正)は、移動先正ボリュームV2のボリューム管理情報のデータ移行済みビットマップを更新する(ステップ1114)。例えば、移行したデータに対応するビットマップに“1”を設定する。その後、図11の11Aへ進む。
図11の11Aではまず、リード/ライトプログラム(正)がリモートコピー対象ボリュームへのライト要求かどうか判断する(ステップ1120)。ここで、移動先正ボリュームV2を持つ記憶装置システム2_2は、リモートコピー対象ボリュームへのライト要求受をホスト1から受信する可能性があり、また、移動元正ボリュームV1を持つ記憶装置システム2_1は、リモートコピー対象ボリュームへのライト要求をホスト1および、移動先正ボリュームV2を持つ記憶装置システム2_2から(“スルー”モード時に)受信する可能性がある。
リモートコピー対象ボリュームへのライト要求でない場合(リモートコピー対象ボリュームでないボリュームへのリード/ライト要求、あるいは、リモートコピー対象ボリュームへのリード要求の場合)(ステップ1120のN)、リード/ライトプログラム(正)は受信した要求がライト要求か否か判断する(ステップ1121)。ライト要求の場合(ステップ1121のY)、リード/ライトプログラム(正)はライトデータをキャッシュメモリ26の通常領域に格納し(ステップ1122)、ライト要求送信元にライト処理終了を報告する(ステップ1135)。ライト要求でなくリード要求の場合(ステップ1121のN)、リード/ライトプログラム(正)は必要に応じて(リードデータの全てがキャッシュメモリ26に格納されてない場合)、リードデータを記憶装置からキャッシュメモリ26の通常領域に読み出し(ステップ1123)、リードデータをキャッシュメモリ26の通常領域からリード要求元へ転送し(ステップ1124)、リード要求送信元にリード処理終了を報告する(ステップ1135)。
リモートコピー対象ボリュームへのライト要求の場合(ステップ1120のY)、リード/ライトプログラム(正)は、ペア状態が中断であるかどうか判断する(ステップ1125)。
ペア状態が“中断”であった場合(ステップ1125のY)、ライトデータを副ボリュームV3を有する記憶装置システム2_3へ転送せず、ライトデータに対応する差分ビットマップを更新する(ステップ1126)。例えば、ライトデータに対応する差分ビットマップに上のビットを“1”に設定する。その後、ステップ1121へ進む。
ペア状態が“中断”でなかった場合(“コピー中”、または、“2重化”であった場合)(ステップ1125のN)、リード/ライトプログラム(正)はライト対象のボリュームが非同期リモートコピー対象ボリュームか否か判断する(ステップ1127)。
非同期リモートコピー対象ボリュームでない場合(同期リモートコピー対象ボリュームの場合)(ステップ1127のN)、リード/ライトプログラム(正)はライトデータをキャッシュメモリ26の通常領域に格納し(ステップ1128)、同期リモートコピーのコピー先である副ボリュームV3に対しホスト1からの更新データ(即ちライトデータ)を転送し(ステップ1129)、ライト要求送信元にライト要求終了を報告する(ステップ1135)。
非同期リモートコピー対象ボリュームの場合(ステップ1127のY)、リード/ライトプログラム(正)は、ライトデータに対するシーケンス番号とシーケンス番号を格納する領域を確保する(ステップ1130)。即ちリード/ライトプログラム(正)は、ライト対象ボリュームのボリューム管理情報に示されたシーケンス管理情報番号を参照し、当該番号の示すシーケンス管理情報のシーケンス番号カウンタのカウンタ値をシーケンス番号として確保し、シーケンス番号カウンタをインクリメントし、空き状態のシーケンス管理情報エントリを確保し、先ほど確保したシーケンス番号をこのシーケンス管理情報エントリに設定する。次に、リード/ライトプログラム(正)は、副ボリュームV3に未転送のライトデータと当該ライトデータのライト領域が重複しているかどうか判断する(ステップ1131)。重複している場合(ステップ1131のY)、副ボリュームV3に未転送のライトデータをキャッシュメモリ26の仮領域に退避する(ステップ1132)。次に、リード/ライトプログラム(正)は、当該ライトデータをキャッシュメモリ26の通常領域に格納し(ステップ1133)、ライトデータを転送対象データに登録する(ステップ1134)。そして、ライト要求送信元にライト処理終了を報告する(ステップ1135)。
尚、ステップ1127〜ステップ1134では、データ移行中において、ライトデータを移動先正ボリュームV2にのみ反映しているが、移動先正ボリュームV2のみならず移動元正ボリュームV1へも反映するようにしても良い(ただし、当該更新による移動元正ボリュームV1から副ボリュームV3へのリモートコピーは行わない)。移動先正ボリュームV2と移動元正ボリュームV1の両方に反映するようにすれば、移動先正ボリュームV2や、移動先正ボリュームV2を持つ記憶装置システム2_2に障害が発生した場合であっても、移動元正ボリュームV1により正ボリューム全体を再生できる。
図12を用いて、副ボリュームV3を持つ記憶装置システム2_3で実行するリード/ライトプログラム(副)202について説明する。リード/ライトプログラム(副)202はCPU28により実行される。
まず、リード/ライトプログラム(副)は、リモートコピー対象ボリュームへのライト要求かどうか判断する(ステップ1201)。尚リモートサイトの記憶装置システム2_3は、移動元正ボリュームV1を持つ記憶装置システム2_1、または、移動先正ボリュームV2を持つ記憶装置システム2_2からリモートコピー対象ボリュームへのライト要求を受信する可能性がある。
リモートコピー対象ボリュームへのライト要求でない場合(リモートコピー対象ボリュームでないボリュームへのリード/ライト要求、あるいは、リモートコピー対象ボリュームへのリード要求の場合)(ステップ1201のN)、リード/ライトプログラム(副)は、受信した要求がライト要求か否か判断する(ステップ1202)。ライト要求の場合(ステップ1202のY)、リード/ライトプログラム(副)はライトデータをキャッシュメモリ26の通常領域に格納し(ステップ1203)、ライト要求送信元にライト処理終了を報告する(ステップ1211)。ライト要求でなくリード要求の場合(ステップ1202のN)、リード/ライトプログラム(副)は必要に応じて(即ち、リードデータの全てがキャッシュメモリ26に格納されてない場合)、リードデータを記憶装置からキャッシュメモリ26の通常領域に読み出し(ステップ1204)、リードデータをキャッシュメモリ26の通常領域からリード要求元へ転送し(ステップ1205)、リード要求送信元にリード処理終了を報告する(ステップ1211)。
リモートコピー対象ボリュームへのライト要求の場合(ステップ1201のY)、リード/ライトプログラム(副)は、ライト対象のボリュームが非同期リモートコピー対象ボリュームか否か判断する(ステップ1206)。
非同期リモートコピー対象ボリュームでない場合(同期リモートコピー対象ボリュームの場合)(ステップ1206のN)、リード/ライトプログラム(副)は、ライトデータをキャッシュメモリ26の通常領域に格納し(ステップ1207)、ライト要求送信元にライト処理終了を報告する(ステップ1211)。
非同期リモートコピー対象ボリュームの場合(ステップ1206のY)、リード/ライトプログラム(副)はライトデータに対するシーケンス番号を受領し、当該シーケンス番号を格納する領域を確保する(ステップ1208)。即ちリード/ライトプログラム(副)はライト対象ボリュームのボリューム管理情報に示されたシーケンス管理情報番号を参照し、空き状態のシーケンス管理情報エントリを確保し、ライト要求元からライトデータと共に受領したシーケンス番号を格納する。次に、ライトデータをキャッシュメモリ26の仮領域に格納し(ステップ1209)、ライトデータを正式化対象データに登録する(ステップ1132)。そして、ライト要求送信元にライト処理終了を報告する(ステップ1211)。
図13を用いて、移動元正ボリュームV1または移動先正ボリュームV2が非同期リモートコピーのコピー元である場合に、非同期転送プログラム206が実行されることにより実行される処理の一例について説明する。尚、このプログラムは、シーケンス管理情報単位毎に実行されても良いし、一定周期や対象データ量に応じて実行されても良い。本処理によって、非同期リモートコピーのコピー元で更新されたデータの内容が、コピー元から随時コピー先に、コピー元へのライト要求とは非同期に転送される。非同期転送プログラム206はCPU28により実行される。
まず、非同期転送プログラムは、転送対象データに登録されたデータを選択する(ステップ1301)。
次に、非同期転送プログラムは、非同期リモートコピーのコピー先に、選択したデータを転送し
(ステップ1302)転送したデータの転送対象データとしての登録を解除する(ステップ1303)。
次に、非同期転送プログラムは、転送したデータの管理が不要となるため、このデータに対応していたシーケンス管理情報エントリを解放する(ステップ1304)。そして非同期転送プログラムは、転送したデータがキャッシュメモリ26の仮領域を使用していた場合には、仮領域も解放し(ステップ1305)、処理を終了する。
図14を用いて、副ボリュームV3が非同期リモートコピーのコピー先である場合に、非同期正式化プログラム207によって実行される処理の一例を説明する。本処理は、シーケンス管理情報単位毎に実行されても良いし、一定周期や対象データ量に応じて実行されても良い。この処理によって、データが正式化され、キャッシュメモリ26の通常領域に格納される。非同期正式化プログラム207はCPU29により実行される。尚、本実施形態においては、キャッシュメモリ26に格納されたデータを記憶装置22に転送して格納する処理については特に説明しないが、この処理は、CPU29が公知の技術に基づいて実施する。
まず、非同期正式化プログラムは、正式化対象データに登録されたデータを選択する(ステップ1401)。選択方法としては、例えば、シーケンス番号が連続している複数のデータの内、最も小さい番号に対応するデータから順に、連続する番号のうち最も進んでいる番号に対応するデータまで選択する方法がある。尚、選択の結果として、現在登録された全ての正式化対象データを選択した場合は、次回の正式化対象データの選択の際に、今回正式化したデータと次回正式化するデータとの間のシーケンス番号の連続性を判断できるよう、非同期正式化プログラムは今回選択した正式化対象データの内、最も進んでいるシーケンス番号を別の領域に記録しておく。
次に、非同期正式化プログラムは、選択した正式化対象データが全て正式化済みか判断する(ステップ1402)。正式化済みでないデータが存在する場合(ステップ1402のN)、非同期正式化プログラムは、正式化対象として選択したデータの内、最も古いシーケンス番号に対応するデータを正式化する(ステップ1403)。
次に非同期正式化プログラムは、正式化したデータの正式化対象データとしての登録を解除する(ステップ1404)。その後、ステップ1402の処理に戻る。
ステップ1402で全データが正式化済みであると判断した場合(ステップ1402のY)、正式化されたデータの管理が不要となるため、非同期正式化プログラムは正式化されたデータに対応するシーケンス管理情報エントリを解放し(ステップ1405)、正式化されたデータが使用していたキャッシュメモリ26の仮領域を解放し(ステップ1406)、処理を終了する。
図15に、移動先正ボリュームV2を持つ記憶装置システム2_2、または、移動元正ボリュームV1を持つ記憶装置システム2_1で実行される差分コピープログラム205について説明する。正ボリューム移動時に移動元正ボリュームV1を持つ記憶装置システム2_1で差分コピーを実行していた場合、図9のステップ902で一旦差分コピー処理の実行は中断され、図8のステップ813において、移動先正ボリュームV2を持つ記憶装置システム2_2で、差分コピーは再開される。尚差分コピープログラム205はボリューム単位に実行されても良い。
また、非同期リモートコピーの一つの形態として、同期リモートコピーを一時的に中断させ、同期リモートコピー中断中のホスト1から正ボリュームに対する更新を差分ビットマップに記録しておき、同期リモートコピーを再開させた際には差分ビットマップに記録された情報に従って、正ボリュームから副ボリュームへ差分コピーを実行するという一連の動作を、ある頻度で実行することで、正ボリュームと副ボリュームの内容を一致させる形態が考えられる。この形態のリモートコピーを、差分ビットマップと差分コピープログラム205とを用いて実現しても良い。
まず、差分コピープログラムは、全差分データを副ボリュームV3へ転送済みか判断する(ステップ1501)。全差分データを転送済みの場合(ステップ1501のY)、処理を終了する。
副ボリュームV3へ未だ転送されていない差分データが存在する場合(ステップ1501のN)、差分コピープログラムは差分ビットマップを参照し、未転送データを格納している領域を示すビットが設定されている領域を選択する(ステップ1502)。例えば、未転送データを格納している旨を示すビットが設定されている領域のうち、最もアドレスが先頭寄りの領域を選択し、差分コピー対象領域としても良い。
次に、差分コピープログラムは選択した差分コピー対象領域のリード/ライトモードが“データ移行中”か否か判断する(ステップ1503)。“データ移行中”でない場合(ステップ1503のN)、ステップ1508へ進む。
“データ移行中”の場合(ステップ1504のY)、差分コピープログラムは移動先正ボリュームV2のデータ移行済みビットマップを参照し(ステップ1504)、差分コピー対象として選択した領域がデータ移行済みか否か判断する(ステップ1505)。
データ移行済みであった場合(ステップ1505のY)、ステップ1508へ進む。
データ移行済みでなかった場合(ステップ1505のN)、差分コピープログラムは、差分コピー対象として選択した領域の内、データ移行済みでない領域に格納されているデータを移動元正ボリュームV1から移動先正ボリュームV2へ移行し、移動元正ボリュームV1を持つ記憶装置システム2_1は移動元正ボリュームV1のデータ移行済みビットマップを更新する(ステップ1506)。例えば、移行したデータに対応するビットマップに“1”を設定する。また差分コピープログラムは移動先正ボリュームV2のデータ移行済みビットマップを更新する(ステップ1507)。例えば、移行したデータに対応するビットマップ上のビットを“1”に設定する。
次に差分コピープログラムは、差分コピー対象として選択した領域を、正ボリュームから副ボリュームV3へコピーし(ステップ1508)、コピーした領域に対応する差分ビットマップをクリアする(ステップ1509)。例えば、差分コピーしたデータに対応するビットマップ上のビットを“0”と設定する。
図16を用いて、図5ステップ503における、移動元正ボリュームV1を持つ記憶装置システム2_1の撤去手順の一例を説明する。
まず仮想管理端末31からの指示により、副ボリュームV3を持つ記憶装置システム2_3から移動元正ボリュームV1の登録を解除する(ステップ1601)。具体的には仮想管理端末31から指示を受信した記憶装置システム2_3は、図4(a)、図4(b)に示すボリューム管理情報のコピー元情報から、移動元正ボリュームV1を持つ記憶装置システム2_1のアドレス情報、記憶装置システム番号、ポート番号、移動元正ボリュームV1のボリューム番号の登録を解除する。
次に、仮想管理端末31からの指示に基づき記憶装置システム2間のパスの登録を解除する(ステップ1602)。登録を解除するパスは、(1)移動先正ボリュームV2を有する記憶装置システム2_2から移動元正ボリュームV1を持つ記憶装置システム2_1へのパスと、(2)その逆方向のパス、および(3)移動元正ボリュームV1を持つ記憶装置システム2_1からリモートコピーのコピー先となる副ボリュームV3を持つ記憶装置システム2_3間のパスである。具体的には、(1)のパスについては、仮想管理端末31からの指示に基づいて記憶装置システム2_2は、図4に示す移動先正ボリュームV2のボリューム管理情報のデータ移行元情報から、正ボリューム移動元となる記憶装置システム2_1のアドレス情報、記憶装置システム番号、ポート番号、移動元正ボリュームV1のボリューム番号の登録を解除する。(2)のパスについては同様に仮想管理端末からの指示に基づいて、記憶装置システム2_1が移動元正ボリュームV1のボリューム管理情報のデータ移行先情報から、移動先正ボリュームV2を持つ記憶装置システム2_2のアドレス情報、記憶装置システム番号、ポート番号、移動先正ボリュームV2のボリューム番号の登録を解除する。(3)のパスについては、記憶装置システム2_1が移動元正ボリュームV1のボリューム管理情報のコピー先情報から、副ボリュームV3を持つ記憶装置システム2_3のアドレス情報、記憶装置システム番号、ポート番号、副ボリュームV3のボリューム番号の登録を解除する。
次に、記憶装置システム2間のパスの接続を解除する(ステップ1603)。接続を解除するパスは、移動先正ボリュームV2を持つ記憶装置システム2_2と移動元正ボリュームV1を持つ記憶装置システム2_1間のパス、および、移動元正ボリュームV1を持つ記憶装置システム2_1とリモートコピーのコピー先となる副ボリュームV3を持つ記憶装置システム2_3間のパスである。
最後に、移動元正ボリュームV1を持つ記憶装置システム2_1が、ローカルサイトに不要である場合、管理者は移動元正ボリュームV1を持つ記憶装置システム2_1と仮想管理ネットワーク装置3との接続を解除し、記憶装置システム2_1をローカルサイトから撤去する(ステップ1604)。尚、移動元正ボリュームV1を持つ記憶装置システム2_1を、今後も、別の目的で継続して使用する場合は、ステップ1604は不要である。
図17に、パス切り替え〜データ移行〜正ボリューム切り替えの全体フロー、即ちリモートコピーの正ボリュームに格納されているデータを新しい正ボリュームに移行しながら、リモートコピーを実行するための処理手順の概要を示す。
正ボリューム移動前のリモートコピーは、データ転送ステップ1701に示すように、ホスト1から移動元正ボリュームV1を持つ記憶装置システム2_1がライトデータを受領し、当該ライトデータを、記憶装置システム2_1が副ボリュームV3を持つ記憶装置システム2_3へ転送することにより実行されている。
まず、移動先正ボリュームV2を持つ記憶装置システム2_2を仮想管理ネットワークに接続する(ステップ1702)。
次に、仮想管理端末31からパス切り替え指示を行う(ステップ1703)。これに伴いまず、移動先正ボリュームV2を持つ記憶装置システム2_2がリード/ライトモードを“スルー”に変更し(ステップ1704)、次に、仮想管理端末31が仮想管理ネットワーク装置3に、ホスト1から移動元正ボリュームV1へのパスを、ホスト1から移動先正ボリュームV2へのパスに切り替えさせる(ステップ1705)。
この状態においては、移動先正ボリュームV2へのホスト1からのリード/ライト要求は移動元正ボリュームV1を有する記憶装置システム2_1へそのまま転送され、移動先正ボリュームV2を持つ記憶装置システム2_2はホストから受信したリード/ライト要求を記憶装置システム2_1へ中継している。またリモートコピーについては、データ転送ステップ1706に示すように、ホストからのライトデータは、一旦移動先正ボリュームV2を持つ記憶装置システム2_2が受領した後、移動元正ボリュームV1を持つ記憶装置システム2_1へ転送され、移動元正ボリュームV1を持つ記憶装置システム2_1が、副ボリュームV3を持つ記憶装置システム2_3へ転送している。
次に、仮想管理端末31から移動先正ボリュームV2を持つ記憶装置システム2_2に対して、データ移行指示および正ボリューム切り替え指示を行う(ステップ1707)。
すると移動先正ボリュームV2を持つ記憶装置システム2_2は、リード/ライトモードを“ペンディング”に変更し(ステップ1708)、ホストから受信するリード/ライト要求を一時保留状態とした後、移動元正ボリュームV1を持つ記憶装置システム2_1へ、データ移行開始と管理情報提供を要求する。
次に、移動元正ボリュームV1を持つ記憶装置システム2_1は、(差分コピー実行中の場合は)差分コピーを中断し(ステップ1709)、既に受領済みのリード/ライト要求に対するリード/ライト処理を終了後、データ移行を開始すると共に管理情報を移動先正ボリュームV2を有する記憶装置システム2_2へ送信する(ステップ1710)。この記憶装置システム2_1から受信した管理情報を用いることにより、移動先正ボリュームV2を持つ記憶装置システム2_2は、副ボリュームV3に対するリモートコピー処理を記憶装置システム2_1から引き継いでを継続して実行することができる。さらに、記憶装置システム2_1はデータ移行処理を開始する(ステップ1711)。
次に、移動先正ボリュームV2を持つ記憶装置システム2_2は、データ移行の開始報告と管理情報を移動元正ボリュームV1を有する記憶装置システム2_1から受領し、副ボリュームV3を持つ記憶装置システム2_3に対し、有効コピー元の変更を要求する(ステップ1712)。これを受けて副ボリュームV3を有する記憶装置システム2_3がコピー元有効フラグを書き換えることにより、記憶装置システム2_3における正ボリュームの認識が、移動元正ボリュームV1から移動先正ボリュームV2に切り替わる(同期リモートコピーの場合)。尚、非同期リモートコピーの場合は、記憶装置システム2_3は一時的に、移動元正ボリュームV1と移動先正ボリュームV2の両方を有効なコピー元ボリュームとすべく、コピー元有効フラグに“過渡中”を設定する。そして、移動元正ボリュームV1を持つ記憶装置システム2_1からの、副ボリュームV3への未転送データの転送完了報告を待って、記憶装置システム2_3は正式に有効コピー元を移動先正ボリュームV2に変更する。
次に、移動先正ボリュームを有する記憶装置システム2_2は、リード/ライトモードを“データ移行中”に変更し(ステップ1713)、データ移行処理を行いながら、ホストから受信するリード/ライト要求の処理(ステップ1714)、差分コピー処理の実行を再開する(ステップ1715)。データ移行処理は、データ転送ステップ1716に示すように、移動元正ボリュームV1を持つ記憶装置システム2_1の制御によりデータ移行を実行する方法の他に、差分コピーを契機にデータ移行を実行する方法、リード/ライト要求に対するリード/ライト処理の実行を契機にデータ移行を実行する方法等がある。
次に、移動元正ボリュームV1を持つ記憶装置システム2_1は、データ移行完了を確認し、移動先正ボリュームV2を持つ記憶装置システム2_2へ報告する(ステップ1717)。
移動先正ボリュームV2を持つ記憶装置システム2_2は、データ移行完了報告を受け、リード/ライトモードを“ノーマル”に変更し(ステップ1718)、仮想管理端末31に、データ移行および正ボリューム切り替え完了を報告する(ステップ1719)。
最後に、移動元正ボリュームを持つ記憶装置システム2_1を撤去する(ステップ1720)。
以上に説明した第一の実施の形態において、同じシーケンス管理情報に対応付けられている複数の正ボリュームを同時に移動する際には、既に説明してきた移動元および移動先正ボリュームに対する処理を複数の正ボリュームに対して実行すれば良い。以下に概要を述べる。
図6において、ステップ603、ステップ604では、複数の正ボリュームに関連する登録を行う。
図7において、ステップ701では、複数の正ボリュームのリード/ライトモードを変更し、ステップ702では、複数の正ボリューム全てのパスが切り替え済みか判断する。ステップ703、ステップ704では、複数の正ボリュームへのパスを切り替える。
図8において、ステップ801〜ステップ803では、複数の正ボリューム全てのデータ移行済みビットマップやリード/ライトモードを変更した上で、複数の正ボリューム全てのデータ移行開始と管理情報提供を指示する。ステップ804では、複数の正ボリューム全てのデータ移行開始と管理情報提供を待ち、ステップ806では、複数の正ボリューム全ての管理情報を更新する。ステップ807では、複数の正ボリューム各々に対応する副ボリュームのコピー元有効フラグ更新を要求し、ステップ808では、複数の正ボリューム各々に対応する副ボリュームのコピー元有効フラグ更新完了を待つ。ステップ810では、複数の正ボリューム全てのリード/ライトモードを変更し、ステップ811では、複数の正ボリューム全てのペンディング中であったリード/ライト処理を再起動し、ステップ812、ステップ813では、複数の正ボリューム全に関し、中断していた差分コピーを再起動する。ステップ817では、複数の正ボリューム各々に対応する副ボリュームのコピー元有効フラグ更新を要求し、ステップ818では、複数の正ボリューム各々に対応する副ボリュームのコピー元有効フラグ更新完了を待つ。ステップ822では、複数の正ボリューム全てのリード/ライトモードを変更する。
図9においては、ステップ901では、複数の正ボリューム全ての差分コピーを中断し、ステップ903では、複数の正ボリューム全てのリード/ライト終了を待つ。ステップ905では、複数の正ボリューム全ての管理情報を取得し、ステップ906では、複数の正ボリューム全てのデータ移行開始と管理情報を報告する。ステップ908では、複数の正ボリューム全ての未転送のライトデータを副ボリュームへ転送するまで待ち、ステップ910では、複数の正ボリューム全ての未転送のライトデータ転送完了を報告する。ステップ911では、複数の正ボリューム全てのデータ移行済みビットマップをクリアし、ステップ912〜ステップ915では、複数の正ボリューム全てを対象にデータ移行を実行する。
図16において、ステップ1601、ステップ1602では、複数の正ボリュームに関連する登録を解除する。
図18に、第一の実施形態の変形例を示す。説明の重複をさけるため、第一の実施の形態との差異についてのみ説明する。
図18では、図1の仮想管理ネットワーク装置3および仮想管理端末31の代わりに、ホスト1が、ホスト1が有するメモリ内に格納され、ホストが有するプロセッサによって実行される仮想管理プログラム101を持つ。仮想管理プログラム101は、ホスト1で動作するアプリケーションプログラムからのリード/ライト要求を記憶装置システム2に中継しており、仮想管理ネットワーク装置3と同様に、一つまたは複数の記憶装置システム2が提供するボリューム群をボリュームプールとして管理し、ホスト1に対して、任意に割り当てる機能を持ち、また、仮想管理端末31と同様に、構成変更等の指示や内部状態の監視等を行うことができる。即ち、本変形実施形態においては、仮想管理ネットワーク装置3及び仮想管理端末が実行していた処理は、ホスト1において仮想管理プログラム101が実行されることにより実施される。従って、仮想管理プログラムは、リモートコピーの正ボリュームの移動に伴い、図17のステップ1705に相当するパス切り替え指示を受信すると、アプリケーションプログラムが正ボリュームを指定する際に用いていた正仮想ボリュームの識別情報に対して、移動先正ボリュームV2の識別情報を対応付け、アプリケーションプログラムが正仮想ボリュームの識別情報を有するリード/ライト要求を発行すると、これを移動先正ボリュームV2の識別情報を有するリード/ライト要求に変換して記憶装置システム2_2宛に送信する処理を実行する。
本実施形態と前述の第一の実施の形態との差異は、まず、図7の全てのステップを、仮想管理端末31や仮想管理ネットワーク装置3ではなく仮想管理プログラム101が実行する点である。また、図6ステップ601および図16ステップ1604における記憶装置システム2の接続先/撤去元が仮想管理ネットワーク装置3でなく、ホスト1となる点である。
図19に、第一の実施形態の他の変形例を示す。説明の重複をさけるため、第一の実施の形態との差異についてのみ説明する。
図19では、図1の仮想管理ネットワーク装置3、および、仮想管理端末31の代わりに、記憶装置システム2内に、仮想管理装置4、保守端末23が存在し、更に記憶装置システム2内には複数の記憶装置システムクラスタ41(記憶装置サブシステムとも呼ぶ)が存在し、各々の記憶装置システムクラスタ41が保守端末23と接続している。また、ホスト1には、記憶装置システム管理プログラム102が格納されたメモリが存在している。
本変形実施形態においては、リモートコピーの正ボリュームが、ある記憶装置システムクラスタ41内の移動元正ボリュームから他の記憶装置システム41内の移動先正ボリュームへ移動する。
仮想管理装置4は、ローカルネットワークN2を経由してホスト1から受領するリード/ライト要求を記憶装置システムクラスタ41に中継しており、仮想管理ネットワーク装置3と同様に、一つまたは複数の記憶装置システムクラスタ41が提供するボリューム群をボリュームプールとして管理し、ホスト1に対して、任意に割り当てる機能を持つ。即ち、仮想管理装置4は仮想管理ネットワーク装置3と同様、ホストから受信するリード/ライト要求に含まれる正仮想ボリュームの識別情報を、移動元正ボリュームの識別情報若しくは移動先正ボリュームの識別情報に変換して、変換後の識別情報を有するリード/ライト要求をいずれかの記憶装置システムクラスタ41に転送する処理を実行しており、正仮想ボリュームの識別情報をいずれの識別情報に変換するかを制御することにより、ホストと正ボリュームとの間のパスの切り替えを制御している。
また、保守端末23は、仮想管理端末31と同様に、構成変更等の指示や内部状態の監視等を行うことができる。また、保守端末23の持つ機能の一部またはすべてを、ホスト1の記憶装置システム管理プログラム102からも実行できる。
本変形実施形態と上述の第一の実施形態との差異は、まず、図7に示す処理は、仮想管理端末31ではなく、保守端末23若しくは記憶装置システム管理プログラム102から指示に基づき、仮想管理装置4若しくは記憶装置システムクラスタ41によって実行される点である。また、図8(a)、図8(b)のステップ807、ステップ817において、副ボリュームV3のボリューム管理情報のコピー元有効フラグを更新した結果変化するのは、コピー元アドレス情報のボリューム番号の部分のみとなる。また、図6ステップ601、ステップ602および図16ステップ1603、ステップ1604における記憶装置システム2の接続/撤去が、不要となる点も第一の実施形態とは異なる。尚、ステップ1603やステップ1604において記憶装置システム2を接続したり撤去したりする代わりに、記憶装置システム2内に記憶装置システムクラスタ41を新たに導入して仮想管理装置4への接続したり、記憶装置システム2から記憶装置システムクラスタ41を撤去することとしても良い。
図20は、第二の実施の形態の概要を示すシステム構成例である。説明の重複をさけるため、第一の実施の形態との差異についてのみ説明する。
図20に示すシステムでは、非同期リモートコピーにおいて、ホスト1から正ボリュームに対して書き込まれるライトデータのライト順序を副ボリュームに対して保証するために(即ち、副ボリュームへも、ライトデータを正ボリュームに対する書き込み順序と同じ順序で書き込むために)、ジャーナルボリュームJ1、J2、J3に格納した、ホスト1からの正ボリュームに対するライトの履歴情報を用いている。
ジャーナルボリュームの使用方法は以下の通りである。まず、非同期リモートコピーのコピー元である記憶装置システム2_1若しくは記憶装置システム2_2は、ホスト1から正ボリュームへ書き込まれる更新データと更新データが書き込まれる正ボリューム内の記憶領域を示す位置情報との組に、シーケンス番号を付加した後、ジャーナルボリュームJ1若しくはJ2へ格納する。次に、記憶装置システム2_1若しくは記憶装置システム2_2は、ジャーナルボリュームの内容を非同期リモートコピーのコピー先である記憶装置システム2_3へ送信し、記憶装置システム2_3は受信したデータをジャーナルボリュームJ3に格納する。最後に、非同期リモートコピーのコピー先である記憶装置システム2_3が、ジャーナルボリュームJ3に格納された、シーケンス番号で表されるホスト1からの更新順序、更新場所、更新データに従って、副ボリュームを更新する(以下ジャーナルボリュームに格納されたデータ(即ちジャーナル)に基づき副ボリュームを更新することを、「ジャーナルを適用する」と呼ぶ)。
第二の実施形態における記憶装置システム2は、図2(a)に示す第一の実施形態における記憶装置システム2の構成と類似している。但し、チャネルインタフェース24のメモリ240内に格納されているリード/ライトプログラム(正)、リード/ライトプログラム(副)の構成は第一の実施形態とは若干異なる。また、第二の実施形態では、チャネルインタフェース24のメモリ240内に、図2に示す非同期転送プログラム206に代わり、非同期転送プログラム(W)及び非同期転送プログラム(R)213が格納されており、またディスクインタフェース25のメモリ250内には非同期正式化プログラム207に代わり非同期適用プログラムが格納されている点が異なる。
図21に、ジャーナルボリュームの内容の一例を示す。
ジャーナルボリュームは、管理領域、データ領域の大きく2つの領域に分けられる。管理領域には、シーケンス番号、ボリューム更新情報であるボリューム番号とアドレスとデータ長、ジャーナルのデータ領域アドレスが格納される。シーケンス番号、ボリューム更新情報であるボリューム番号とアドレスとデータ長、ジャーナルのデータ領域アドレスは、ジャーナルボリューム設定時の管理領域の容量に応じて、複数存在する。また、ジャーナルに格納する情報を正ボリュームの実装状態から切り離し、ジャーナルの副ボリュームへの適用時に、ジャーナルに記録された正ボリュームの情報が対応する副ボリュームを特定する負荷を軽減するため、同一のジャーナルボリュームを使用する複数の正ボリュームに対して、ジャーナル内で別途用意したボリューム番号やアドレス等を改めて設定しても良い。さらに、ジャーナル内と実際の間のボリューム番号やアドレス等の対応表を用意し、ボリューム番号やアドレス等の変換を高速化しても良い(図示せず)。以下、図21の各行を、ジャーナルエントリと呼ぶ。
シーケンス番号は、ホスト1から入力されたデータの単位毎に、ライト順序に従って付与される番号である。
ボリューム更新情報は、ホスト1から更新されたボリューム番号、更新部分の先頭アドレス、更新されたデータ長を管理するための情報である。
データ領域アドレスは、ホスト1からの更新内容を格納しているジャーナルボリュームのデータ領域内の記憶領域の先頭アドレスを示す情報である。
図22(a)に、ジャーナル管理情報の内容の一例を示す。
ジャーナル管理情報は、シーケンス番号カウンタ、空きジャーナル管理情報、使用中ジャーナル管理情報を含む情報であり、記憶装置システム2の管理情報メモリ27に格納されている。
空きジャーナル管理情報は、使用可能な管理領域とデータ領域の先頭アドレス、および、終端アドレスを管理するための情報である。
使用中ジャーナル管理情報は、ホスト1からの更新を記録している“格納済み”、非同期リモートコピーのコピー先へ転送済みである“転送済み”、非同期リモートコピーのコピー先をジャーナルボリュームの内容に従って更新済みである“適用済み”、格納した内容を無効化済みである“破棄済み”の各状態のデータについて、最新のシーケンス番号と管理領域のアドレスを示す情報を有する。尚、第二の実施の形態における図9ステップ906においては、当該ジャーナル管理情報も、移動元正ボリュームV1を有する記憶装置システム2_1から移動先正ボリュームV2を持つ記憶装置システム2_2への報告される情報に含まれる。
図22(b)に、ジャーナルボリューム管理情報の一例を示す。
ジャーナルボリューム管理情報は、一つのジャーナルボリュームを複数のボリュームから構成するためのボリュームリストと、ジャーナルボリュームの管理領域やデータ領域のアドレスが、ジャーナルボリュームを構成するどのボリュームのどのアドレスに対応するかを速やかに算出するための、管理領域アドレステーブル、および、データ領域アドレステーブルを持つ。ジャーナルボリューム管理情報も記憶装置システム2の管理情報メモリ27に格納されている。
ボリュームリストは、ジャーナルボリュームを構成するボリュームのボリューム番号、当該ボリュームに割り当てた管理領域およびデータ領域の大きさを管理している。
管理領域アドレステーブルは、ジャーナルボリュームを構成するボリュームの境界となる管理領域アドレスと、ジャーナルボリュームを構成するボリュームのボリューム番号、当該管理領域アドレスに対応する当該ボリューム内でのアドレスとの対応を記録している。同様に、データ領域アドレステーブルは、ジャーナルボリュームを構成するボリュームの境界となるデータ領域アドレスと、ジャーナルボリュームを構成するボリュームのボリューム番号、当該データ領域アドレスに対応する当該ボリューム内でのアドレスとの対応を記録している。
非同期リモートコピーのコピー元記憶装置システムとコピー先記憶装置システムとでは、ジャーナルボリュームを形成するボリュームが異なる場合もあるので、この様な場合はジャーナルボリューム管理情報の内容は非同期リモートコピーのコピー元とコピー先で異なっていても良い。また、ジャーナルボリュームの内容を転送するために、ジャーナルボリュームの管理情報は、非同期リモートコピーのコピー元とコピー先の間で共有しておくことが望ましい。
図23に、第二の実施形態におけるボリューム管理情報の一例を示し、図4(a)に示す第一の実施形態におけるボリューム管理情報との差異について説明する。図4(a)に示す情報と比べて図23に示すボリューム管理情報には、ボリュームがジャーナルボリュームを形成するボリュームであるか否かを示すジャーナルボリュームフラグ(ジャーナルボリュームを形成するときONを示す)が追加されている。また、シーケンス管理情報番号の代わりに、ボリューム管理情報で管理されるボリュームに対応するジャーナル管理情報を示す、ジャーナル管理情報番号が図23に示すボリューム管理情報には含まれる。
図24に、ジャーナルボリュームを用いて非同期リモートコピーを実行した場合の、リード/ライトプログラム(正)210により実行される処理の一例を示す。図24に示す処理は、第一の実施形態における図11に示す処理に対応する処理であり、以下図24を用いて図11との差異について説明する。
図11のステップ1130、ステップ1131、ステップ1132、ステップ1134の代わりに、第二の実施形態においてはリード/ライトプログラム(正)はステップ2401、ステップ2402、ステップ2403、ステップ2404を実行する。まず、リード/ライトプログラム(正)は、ライトデータに対するシーケンス番号と、ジャーナルボリュームの管理領域、および、データ領域を確保する(ステップ2401)。ここで、移動先正ボリュームV2を持つ記憶装置システム2_2において、ホスト1から移動先正ボリュームV2に対するライト要求を受信した際、コピー元有効フラグが“過渡中”であったとしても、記憶装置システム2_2は既に移動元正ボリュームV1を持つ記憶装置システム2_1からジャーナル管理情報を受領している。従って、記憶装置システム2_2がライトデータ受信に伴って確保したジャーナルボリュームの管理領域、および、データ領域が、移動元正ボリュームV1を持つ記憶装置システム2に存在する可能性のある、副ボリュームを持つ記憶装置システム2_3へ未転送のジャーナルの管理領域、および、データ領域と重複することはない。具体的にはステップ2401においてリード/ライトプログラム(正)は、ライトデータの格納先ボリュームのボリューム管理情報に示されたジャーナル管理情報番号を参照し、当該ジャーナル管理情報番号の示すジャーナル管理情報のシーケンス番号カウンタのカウンタ値をシーケンス番号として確保し、シーケンス番号カウンタをインクリメントする。さらに、空きジャーナル管理情報を参照し、空き状態の管理領域とデータ領域を確保し、空きジャーナル管理情報を更新する。
次に、リード/ライトプログラム(正)は、シーケンス番号をジャーナルボリュームの管理領域に対して割り当てたキャッシュメモリ26の通常領域に格納し(ステップ2402)、ライトデータをジャーナルボリュームのデータ領域に対して割り当てたキャッシュメモリ26の通常領域に格納する(ステップ2403)。その後リード/ライトプログラム(正)はステップ2402、ステップ2403でキャッシュメモリ26に格納したデータを、任意のタイミングで記憶装置のジャーナルボリュームを構成しているボリュームへ書き込むことができる。
さらに、リード/ライトプログラム(正)は受信したライトデータを正ボリュームに対して割り当てたキャッシュメモリ26の通常領域に格納する(ステップ1133)。そして、リード/ライトプログラム(正)は、格納済みのシーケンス番号と管理情報アドレスを更新する(ステップ2404)。
図25に、ジャーナルボリュームを用いて非同期リモートコピーを実行した場合の、リード/ライトプログラム(副)211により実行される処理の一例を示す。図25は第一の実施形態における図12の処理に対応する処理を示しており、以下図25を用いて図12との差異について説明する。
ジャーナルボリュームを用いた非同期リモートコピーにおいては、コピー元からコピー先へのホスト1からの更新内容の転送は、ジャーナルボリュームに格納されているデータのコピー元からコピー先への送信によって実行されるため、図12のステップ1206、ステップ1208、ステップ1209、ステップ1210の代わりに、図25はステップ2501、ステップ2502、ステップ2503、ステップ2504を有する。
リード/ライトプログラム(副)は、ライトデータをキャッシュメモリ26の通常領域に格納(ステップ1203)した後、ライトデータの書き込み先ボリュームがジャーナルボリュームか否かをジャーナルボリュームフラグにより判断する(ステップ2501)。ライトデータの書き込み先ボリュームがジャーナルボリュームでない場合(ステップ2501のN)、ステップ1211へ進む。
ジャーナルボリュームである場合(ステップ2501のY)、リード/ライトプログラム(副)はジャーナルボリュームの管理領域、および、データ領域を確保済みに設定し(即ち空きジャーナル管理情報を更新する)(ステップ2502)、ライトデータにおける、ジャーナルボリュームの管理領域に相当する部分を参照し、シーケンス番号を確認する(ステップ2503)。次に、転送済みのシーケンス番号と管理情報アドレスを更新する(ステップ2504)。
図26に、第二の実施形態において非同期転送プログラム(W)212により実行される処理の一例を示す。まず非同期転送プログラム(W)は、格納済みであるが破棄済みでないシーケンス番号から、転送対象とするシーケンス番号を選択する(ステップ2601)。次に、非同期転送プログラム(W)は、非同期リモートコピーのコピー先に、転送対象シーケンス番号に対応するジャーナルの管理領域とデータ領域の内容を転送する(ステップ2602)。次に、非同期転送プログラム(W)は転送対象シーケンス番号に対応するジャーナルの管理領域とデータ領域を解放し(即ち、空きジャーナル管理情報を更新し)(ステップ2603)、破棄済みのシーケンス番号と管理情報アドレスを更新する。(ステップ2604)。尚、図26に示す処理は実際には非同期転送プログラム(W)が記憶装置システム2のCPU28により実行されることによって、実行される。
図27に、非同期適用プログラム214によって実行される処理の一例を示す。まず非同期適用プログラム214は、転送済みであるが適用済みでないシーケンス番号から、適用対象とするシーケンス番号を選択する(ステップ2701)。選択方法としては、例えば、第一の実施形態における非同期正式化プログラム207と同様に、シーケンス番号が連続している複数のジャーナルエントリの内、最も小さい番号に対応するジャーナルエントリから順に、連続する番号のうち最も進んでいる番号より1小さい番号に対応するジャーナルエントリまで選択する方法がある。
次に非同期適用プログラムは、適用対象として選択した全ジャーナルエントリを適用済みか判断する(ステップ2702)。適用済みでないジャーナルエントリが存在する場合(ステップ2702のN)、適用対象として選択したシーケンス番号の内、最も古いシーケンス番号に対応する管理領域に従って、データ領域をコピー先ボリュームに適用する(即ちデータ領域に格納されているデータを、キャッシュメモリの通常領域に格納した後、任意のタイミングでコピー先ボリュームに格納する)(ステップ2703)。その後、ステップ2702の処理へ戻る。
選択したジャーナルエントリが全て適用済みの場合(ステップ2702のY)、非同期適用プログラムは適用したシーケンス番号に対応するジャーナルの管理領域とデータ領域を解放する(即ち空きジャーナル管理情報を更新する)(ステップ2704)。最後に、非同期適用プログラムは、適用済みのシーケンス番号と管理情報アドレスを更新する(ステップ2705)。尚、図27に示す処理は実際には、非同期適用プログラムが記憶装置システム2のCPU28により実行されることによって、実行される。
図28、図30に非同期転送プログラム(W)212の、また、図29に非同期適用プログラム214の、他の一例を示す。
ジャーナルボリュームによる非同期リモートコピーでは、ホスト1からライトデータを受信したローカルサイトの記憶装置システムは、ライトデータをジャーナルとして記憶装置内の記憶領域から構成されるジャーナルボリュームに格納する。従って、キャッシュメモリに格納されたライトデータをシーケンス管理情報を用いて管理し、リモートサイトのストレージシステムに送信する第一の実施の形態の非同期リモートコピーの方式と比較し、ローカルサイトの記憶装置システムが一時的に大量の更新データを格納しておくことができる。よって、コピー元記憶装置システムにおけるジャーナルの破棄を、コピー先記憶装置システムにおけるジャーナルの適用後にすることで、コピー先における未適用ジャーナルの障害時の副ボリュームの正ボリュームとの一致を、正ボリュームから副ボリュームへ全コピーすることなく、ジャーナルを再転送することで実現することができる。
図28に、非同期転送プログラム(W)212の他の一例を示す。図28に示す非同期転送プログラム(W)は図26と比べると、図26のステップ2603(転送済みシーケンス番号に対応するジャーナルの管理領域とデータ領域の解放)、ステップ2604(破棄済みシーケンス番号更新)の代わりに、ステップ2801を有し、ステップ2801で転送済みシーケンス番号を更新する。。図26のステップ2603及びステップ2604に対応する処理は、リモートコピー元にジャーナルが適用された後に実行されるため(この処理に関しては図30を用いて後述する)、ジャーナルの管理領域及びデータ領域に格納されているデータを転送した時点では、非同期転送プログラム(W)は転送済みシーケンス番号を更新する。
図29に、非同期適用プログラム214の他の一例を示す。図27に示す非同期適用プログラムと比較すると、図29では、ステップ2901(適用済みシーケンス番号の非同期リモートコピー元への報告)が追加されている。この報告を受けて、コピー元の非同期転送プログラム(W)が図30に示す処理を実行するのである。尚、ジャーナルボリュームを適用する副ボリュームのコピー元有効フラグに“過渡中”が設定されている場合、リモートサイトの記憶装置システム2_3はジャーナルボリュームの内容を、移動元正ボリュームV1を持つ記憶装置システム2_1と、移動先正ボリュームV2を持つ記憶装置システム2_2の両方から受領しているため、当該報告は、移動元正ボリュームV1を持つ記憶装置システム2_1と、移動先正ボリュームV2を持つ記憶装置システム2_2の両方へ行う。
図30に、非同期転送プログラム(W)212によって実行される処理の一例を示す。図28の説明においても述べたように、非同期転送プログラム(W)は、図29のステップ2901の報告を受け(ステップ3001)、図26のステップ2603、ステップ2604に相当する処理を実行する。
図31は非同期転送プログラム(R)213によって実行される処理の一例を、図32はリード/ライトプログラム(正)210によって実行される処理の他の一例を示す。
図26、図28および図30における非同期転送プログラム(W)212と、図25におけるリード/ライトプログラム(副)211においては、非同期転送プログラム(W)212がコピー元で動作し、コピー元からコピー先へジャーナルを転送しライトする処理を実行していた。しかし、図31では、非同期転送プログラム(R)213がコピー先で動作し、コピー先からコピー元に格納されているジャーナルをリードする処理を実行する。尚、当該ジャーナルボリュームを適用する副ボリュームのコピー元有効フラグに“過渡中”が設定されている場合、ジャーナルボリュームの内容は、移動元正ボリュームV1を持つ記憶装置システム2_1と、移動先正ボリュームV2を持つ記憶装置システム2_2の両方に存在しているため、非同期転送プログラム(R)は移動元正ボリュームV1を持つ記憶装置システム2_1と、移動先正ボリュームV2を持つ記憶装置システム2_2の両方からジャーナルボリュームの内容をリードする。
まず非同期転送プログラム(R)は、非同期リモートコピーのコピー元に対してジャーナルリード要求を発行する(ステップ3101)。リードする範囲は一定範囲のシーケンス番号に対応するジャーナルボリューム内の記憶領域や、一定容量のジャーナルデータに対応するジャーナルボリューム内の記憶領域としても良い。次に非同期転送プログラム(R)は、リード要求が正常終了したか判断する(ステップ3102)。エラー終了の場合(ステップ3102のN)、処理を終了する。この場合、非同期転送プログラム(R)213は、一定時間後、または、転送済みシーケンス番号と適用済みシーケンス番号のシーケンス番号の差分等により決定した頻度で再度ステップ3101から処理を再開しても良い。
正常終了の場合(ステップ3102のY)、非同期転送プログラム(R)はリードデータをキャッシュメモリ26の通常領域に格納し(ステップ3103)、以下図25に示す、ステップ2502、ステップ2503、ステップ2504と同じ処理を実行する。
図32に、リード/ライトプログラム(正)によって実行される処理の他の一例を示す。図を簡潔にするため、図32では図24の、ステップ1127、ステップ1128、ステップ1129、ステップ2401、ステップ2402、ステップ2403、ステップ1133、ステップ2404に相当する処理を省略して図示しているが、これらの処理もリード/ライトプログラム(正)によって実行される。
ステップ1121でリード/ライトプログラム(正)がリード要求と判断した場合(ステップ1121のN)、リード/ライトプログラム(正)はリード対象のボリュームがジャーナルボリュームか否かをジャーナルボリュームフラグにより判断する(ステップ3201)。リード対象ボリュームがジャーナルボリュームでない場合(ステップ3201のN)、ステップ1123へ進み以下図24に示すステップ1123とステップ1124と同様の処理を実行する。
当該ボリュームがジャーナルボリュームである場合(ステップ3201のY)、リード/ライトプログラム(正)はリード要求範囲が“格納済み”であるか判断する(ステップ3202)。“格納済み”でない場合(ステップ3202のN)、リード/ライトプログラム(正)は要求範囲未格納エラーを終了報告に設定し(ステップ3203)、ステップ1135へ進む。“格納済み”の場合(ステップ3202のY)リード/ライトプログラムは、前述のステップ2602、ステップ2603、ステップ2604と同じ処理を実行する。
また、移動元正ボリュームV1を持つ記憶装置システム2_1で使用中であったジャーナルボリュームを、データ移行対象のボリュームとして、移動先正ボリュームV2を持つ記憶装置システム2_2に移行することもできる。この場合、図9のステップ906で、ジャーナルボリューム管理情報も、移動先正ボリュームV2を持つ記憶装置システム2_2に報告する。また、副ボリュームを持つ記憶装置システム2_3へ未転送のジャーナルを格納したジャーナルボリュームの領域についてのみ、データ移行済みビットマップをOFF(例えば0にクリア)し、データ移行対象としても良い。
以上に説明した第一の実施形態、第二の実施形態によれば、リモートコピーを継続したまま、又、ホストからのリード/ライト要求を受け付けて処理しながら、リモートコピーの正ボリューム内に格納されているデータを新しい正ボリュームに移行することができる。更に、正ボリューム内に格納されているデータを新しい正ボリュームに移行した場合であっても、リモートサイトに存在する副ボリュームに対してはホストからの更新順序を保証することができる。即ち、リモートサイトに存在する副ボリュームに対しても、正ボリュームに対してデータが書き込まれた順に、データを書き込むことができる。
第一の実施の形態における、システム構成の一例を示す図である。 第一の実施の形態における、記憶装置システムの構成例を示す図である。 第一の実施の形態における、仮想管理ネットワーク装置の構成例を示す図である。 第一の実施の形態における、シーケンス管理情報の一例を示す図である。 第一の実施の形態における、シーケンス管理情報の一例を示す図である。 第一の実施の形態における、シーケンス管理情報とキャッシュメモリの関係の例を示す図である。 第一の実施の形態における、シーケンス管理情報とキャッシュメモリの関係の例を示す図である。 第一の実施の形態における、ボリューム管理情報の一例を示す図である。 第一の実施の形態における、ボリューム管理情報のコピー元情報の一例を示す図である。 第一の実施の形態における、正ボリューム移動手順概要の一例を示す図である。 第一の実施の形態における、正ボリューム移動先となる記憶装置システムの接続手順の一例を示す図である。 第一の実施の形態における、仮想管理端末からの、パス切り替え指示、および、データ移行とリモートコピー正ボリューム切り替え指示の一例を示す図である。 第一の実施の形態における、データ移行制御プログラムにより実行される処理の一例を示す図である。 第一の実施の形態における、データ移行制御プログラムにより実行される処理の一例を示す図である。 第一の実施の形態における、データ移行プログラムにより実行される処理の一例を示す図である。 第一の実施の形態における、リード/ライトプログラム(正)により実行される処理の一例を示す図である。 第一の実施の形態における、リード/ライトプログラム(正)により実行される処理の一例を示す図である。 第一の実施の形態における、リード/ライトプログラム(副)により実行される処理の一例を示す図である。 第一の実施の形態における、非同期転送プログラムにより実行される処理の一例を示す図である。 第一の実施の形態における、非同期正式化プログラムにより実行される処理の一例を示す図である。 第一の実施の形態における、差分コピープログラムにより実行される処理の一例を示す図である。 第一の実施の形態における、正ボリューム移動元となる記憶装置システムの撤去手順の一例を示す図である。 第一の実施の形態における、正ボリューム移動のフローの一例を示す図である。 リモートコピーシステムの他の一例を示す図である。 リモートコピーシステムの他の一例を示す図である。 第二の実施の形態における、システム構成の一例を示す図である。 第二の実施の形態における、ジャーナルボリュームの一例を示す図である。 第二の実施の形態における、ジャーナル管理情報の一例を示す図である。 第二の実施の形態における、ジャーナルボリューム管理情報の一例を示す図である。 第二の実施の形態における、ボリューム管理情報の一例を示す図である。 第二の実施の形態における、リード/ライトプログラム(正)により実行される処理の一例を示す図である。 第二の実施の形態における、リード/ライトプログラム(副)により実行される処理の一例を示す図である。 第二の実施の形態における、非同期転送プログラム(W)により実行される処理の一例を示す図である。 第二の実施の形態における、非同期適用プログラムにより実行される処理の一例を示す図である。 第二の実施の形態における、非同期転送プログラム(W)により実行される処理の別の例を示す図である。 第二の実施の形態における、非同期適用プログラムにより実行される処理の別の例を示す図である。 第二の実施の形態における、非同期転送プログラム(W)により実行される処理の別の例を示す図である。 第二の実施の形態における、非同期転送プログラム(R)により実行される処理の一例を示す図である。 第二の実施の形態における、リード/ライトプログラム(正)により実行される処理の別の例を示す図である。
符号の説明
1:ホスト
2:記憶装置システム
21:記憶制御装置
22:記憶装置
23:保守端末
24:チャネルインタフェース
28:CPU
201、210:リード/ライトプログラム(正)
202、211:リード/ライトプログラム(副)
203:データ移行制御プログラム
204:データ移行プログラム
205:差分コピープログラム
206:非同期転送プログラム
207:非同期正式化プログラム
212:非同期転送プログラム(W)
213:非同期転送プログラム(R)
214:非同期適用プログラム
25:ディスクインタフェース
29:CPU
26:キャッシュメモリ
27:管理情報メモリ
3:仮想管理ネットワーク装置
31:仮想管理端末
101:仮想管理プログラム
4:仮想管理装置
41:記憶装置システムクラスタ
N1:グローバルネットワーク
N2:ローカルネットワーク
V1:移動元正ボリューム
V2:移動先正ボリューム
V3:副ボリューム

Claims (18)

  1. 複数の記憶装置システム間でデータをコピーするリモートコピーシステムであって、
    第一の正ボリュームを有する第一の記憶装置システムと、
    第二の正ボリュームを有する第二の記憶装置システムと、
    ホストコンピュータ、前記第一の記憶装置システム、及び前記第二の記憶装置システムと接続され、前記ホストコンピュータから前記第一の正ボリュームにアクセスするためのパス、及び前記ホストコンピュータから前記第二の正ボリュームにアクセスするためのパスを制御するネットワーク装置と、
    前記第一の記憶装置システム及び前記第二の記憶装置システムと接続される副ボリュームを有する第三の記憶装置システムとを有しており、
    前記第一の記憶装置システムは、ホストコンピュータから受信したデータを前記第一の正ボリュームに格納すると共に、ネットワークを介して前記第一の正ボリュームに格納されるデータを前記第三の記憶装置システムに送信し、
    前記第三の記憶装置システムは、前記第一の記憶装置システムから受信したデータを前記副ボリュームに格納し、
    前記第一の正ボリュームに格納されているデータを前記第二の正ボリュームに移行する場合に、
    前記ネットワーク装置は、ホストコンピュータからの前記第一の正ボリュームに対するアクセス要求を、前記第二の正ボリューム宛に転送し、
    前記第二の記憶装置システムは、前記第三の記憶装置システムに送信すべきデータを識別するための管理情報を、前記第一の記憶装置システムから受信し、
    前記第二の記憶装置システムは、ホストコンピュータから受信するライトデータと、前記第一の記憶装置システムから受信する前記第一の正ボリュームに格納されているデータとを前記第二の正ボリュームに格納し、前記第二の正ボリュームに格納されるデータの内前記管理情報に基づいて決定されるデータを前記第三の記憶装置システムに送信し、
    前記第三の記憶装置システムは、前記第二の記憶装置システムから受信したデータを前記副ボリュームに格納することを特徴とするリモートコピーシステム。
  2. 請求項1記載のリモートコピーシステムにおいて、
    前記ネットワーク装置は、管理端末からの指示に基づいて、ホストコンピュータから受信するアクセス要求に含まれるアクセス先識別情報を、前記第二の正ボリュームの識別情報に変換して、変換後のアクセス要求を前記第二の記憶装置システムに送信し、
    前記第二の記憶装置システムは、前記管理端末からの指示に基づいて、前記第一の正ボリュームに格納されているデータを前記第一の記憶装置システムから受信して前記第二の正ボリュームに格納すると共に、前記第二の正ボリュームに格納されるデータを前記第三の記憶装置システムに送信することを特徴とするリモートコピーシステム。
  3. 請求項1記載のリモートコピーシステムにおいて、
    前記第二の記憶装置システムが前記第一の記憶装置システムから受信する管理情報には更に、ホストコンピュータが書き込んだデータのライト順序を管理する情報が含まれており、
    前記第二の記憶装置システムは、前記第一の記憶装置システムから受信したライト順序を管理する情報を用いて、ホストコンピュータから受信したライトデータのライト順序を管理することを特徴とするリモートコピーシステム。
  4. 請求項1記載のリモートコピーシステムにおいて、
    前記第三の記憶装置システムは、前記第一の正ボリュームに書き込まれるデータのうち前記副ボリュームに格納されるべきデータの転送が完了するまで、前記第一の記憶装置システムから該データを受信して、前記副ボリュームに該データを格納することを特徴とするリモートコピーシステム。
  5. 請求項4記載のリモートコピーシステムにおいて、
    前記第三の記憶装置システムは、前記第一の正ボリュームに書き込まれるデータのうち前記副ボリュームに格納されるべきデータの転送が完了するまでの間、前記第一の記憶装置システムから該データを受信して前記副ボリュームに該データを格納すると共に、前記第二の記憶装置システムから該第二の記憶装置システムがホストコンピュータから受信したデータも受信して、前記副ボリュームに格納することを特徴とするリモートコピーシステム。
  6. 請求項5記載のリモートコピーシステムにおいて、
    前記第三の記憶装置システムが、前記第一の記憶装置システムから受信するデータ及び前記第二の記憶装置システムから受信するデータにはシーケンス番号が付与されており、
    前記第三の記憶装置システムは、シーケンス番号順に、前記第一の記憶装置システム若しくは前記第二の記憶装置システムから受信したデータを前記副ボリュームに格納することを特徴とするリモートコピーシステム。
  7. 請求項6記載のリモートコピーシステムにおいて、
    前記第二の記憶装置システムが前記第一の記憶装置システムから受信する管理情報には更に、前記第一の記憶装置システムがホストコンピュータから受信したデータに付与した最新のシーケンス番号より1大きい値を有するシーケンス番号が含まれており、
    前記第二の記憶装置システムは、前記第一の記憶装置システムから受信した管理情報に含まれるシーケンス番号を初期値として、ホストコンピュータから受信したライトデータにシーケンス番号を付与することを特徴とするリモートコピーシステム。
  8. 複数の記憶装置システム間でデータをコピーするリモートコピーシステムであって、
    ホストコンピュータと、
    第一の正ボリュームを有する第一の記憶装置システムと、
    第二の正ボリュームを有する第二の記憶装置システムと、
    前記第一の記憶装置システム及び前記第二の記憶装置システムと接続される副ボリュームを有する第三の記憶装置システムとを有しており、
    前記第一の記憶装置システムは、ホストコンピュータから受信したデータを前記第一の正ボリュームに格納すると共に、ネットワークを介して前記第一の正ボリュームに格納されているデータを前記第三の記憶装置システムに送信し、
    前記第三の記憶装置システムは、前記第一の記憶装置システムから受信したデータを前記副ボリュームに格納し、
    前記第一の正ボリュームに格納されているデータを前記第二の正ボリュームに移行する場合に、
    前記ホストコンピュータは、ホストコンピュータで実行されるアプリケーションプログラムからの正ボリューム宛のライト要求を、前記第二の記憶装置システムの前記第二の正ボリューム宛に送信し、
    前記第二の記憶装置システムは、前記第一の記憶装置システムから前記第三の記憶装置システムに送信すべきデータを識別するための管理情報を受信し、
    前記第二の記憶装置システムは、ホストコンピュータから受信するライトデータと、前記第一の記憶装置システムから受信する前記第一の正ボリュームに格納されているデータとを前記第二の正ボリュームに格納し、前記第二の正ボリュームに格納されるデータの内前記管理情報に基づいて決定されるデータを前記第三の記憶装置システムに送信し、
    前記第三の記憶装置システムは、前記第二の記憶装置システムから受信したデータを前記副ボリュームに格納することを特徴とするリモートコピーシステム。
  9. 複数の記憶装置システム間でデータをコピーするリモートコピーシステムであって、
    第一の正ボリュームを有する第一の記憶装置サブシステムと、第二の正ボリュームを有する第二の記憶装置サブシステムと、前記第一の記憶装置サブシステムと前記第二の記憶装置サブシステムとをホストコンピュータに接続する管理装置とを有する第一の記憶装置システムと、
    副ボリュームを有する第二の記憶装置システムとを有し、
    前記第一の記憶装置サブシステムは、ホストコンピュータから受信したデータを前記第一の正ボリュームに格納すると共に、ネットワークを介して前記第一の正ボリュームに格納されているデータを前記第二の記憶装置システムに送信し、
    前記第二の記憶装置システムは、前記第一の記憶装置システムから受信したデータを前記副ボリュームに格納し、
    前記第一の正ボリュームに格納されているデータを前記第二の正ボリュームに移行する場合に、
    前記管理装置は、ホストコンピュータから受信する正ボリューム宛のアクセス要求を前記第二の記憶装置サブシステムに送信し、
    前記第二の記憶装置サブシステムは、前記第一の記憶装置サブシステムから前記第二の記憶装置システムに送信すべきデータを識別するための管理情報を受信し、
    前記第二の記憶装置サブシステムは、ホストコンピュータから受信するライトデータと、前記第一の記憶装置サブシステムから受信する前記第一の正ボリュームに格納されているデータとを前記第二の正ボリュームに格納し、前記第二の正ボリュームに格納されるデータの内前記管理情報に基づいて決定されるデータを前記第二の記憶装置システムに送信し、
    前記第二の記憶装置システムは、前記第一の記憶装置システムから受信したデータを前記副ボリュームに格納することを特徴とするリモートコピーシステム。
  10. 複数の記憶装置システム間でリモートコピー処理を実行するためのプログラムであって、
    第一の正ボリュームを有する第一の記憶装置システムが、ホストコンピュータから受信したライトデータを前記第一の正ボリュームに格納するためのコードと、
    前記第一の記憶装置システムがネットワークを介して前記ライトデータを副ボリュームを有する第三の記憶装置システムに送信するためのコードと、
    前記第三の記憶装置システムが前記第一の記憶装置システムから受信した前記ライトデータを前記副ボリュームに格納するためのコードと、
    前記第一の正ボリュームに格納されているデータを第二の記憶装置システムが有する第二の正ボリュームに移行する場合に、
    ホストコンピュータが生成する正ボリューム宛のライト要求を前記第二の記憶装置システムに転送するためのライト要求転送コードと、
    前記第一の記憶装置システムが前記第二の記憶装置システムに、前記第三の記憶装置システムに送信すべきデータを識別するための管理情報を送信するコードと、
    前記第一の記憶装置システムが前記第一の正ボリュームに格納されているデータを前記第二の記憶装置システムに送信するためのコードと、
    前記第二の記憶装置システムが、ホストコンピュータから受信するライトデータと、前記第一の記憶装置システムから受信するデータとを前記第二の正ボリュームに格納するためのコードと、
    前記第二の記憶装置システムが、前記第二の正ボリュームに格納されるデータの内、前記管理情報に基づいて識別されるデータを前記第三の記憶装置システムに送信するためのコードと、
    前記第三の記憶装置システムが、前記第二の記憶装置システムから受信したデータを前記副ボリュームに格納するためのコードとを有することを特徴とする、リモートコピープログラム。
  11. 請求項10記載のリモートコピープログラムにおいて、
    前記ライト要求転送コードには、ホストコンピュータが生成するライト要求に含まれる正ボリュームの識別情報に対応付けられているボリュームを、前記第一の正ボリュームから前記第二の正ボリュームに変更するためのコードを有することを特徴とするリモートコピープログラム。
  12. 請求項11記載のリモートコピープログラムにおいて、
    前記ライト要求転送コードは、前記第一の記憶装置システム、前記第二の記憶装置システム、及びホストコンピュータに接続されるネットワーク装置内のメモリに格納されており、前記ネットワーク装置は前記ライト要求転送コードを実行することにより、ホストコンピュータから受信したライト要求に含まれる正ボリュームの識別情報に対応付けられた前記第二の正ボリューム宛てに、ライト要求を送信することを特徴とするリモートコピープログラム。
  13. 請求項10記載のリモートコピープログラムにおいて、
    前記ライト要求転送コードは、ホストコンピュータが有するメモリに格納されており、ホストコンピュータが実行するアプリケーションプログラムからのライト要求を前記第二の記憶装置システムに送信するよう制御するコードを有することを特徴とするリモートコピープログラム。
  14. 請求項10記載のリモートコピープログラムにおいて、
    前記第一の記憶装置システムが前記第二の記憶装置システムに送信する管理情報には更に、ホストコンピュータが書き込んだデータのライト順序を管理する情報が含まれており、
    前記リモートコピープログラムには更に、
    前記第二の記憶装置システムが、前記第一の記憶装置システムから受信したライト順序を管理する情報を用いて、ホストコンピュータから受信したライトデータのライト順序を管理するためのコードが含まれることを特徴とするリモートコピープログラム。
  15. 請求項10記載のリモートコピープログラムにおいて、更に、
    前記第一の正ボリュームに書き込まれるデータのうち前記副ボリュームに格納されるべきデータの転送が完了するまで、前記第三の記憶装置システムが前記第一の記憶装置システムから該データを受信して、前記副ボリュームに該データを格納するためのコードを有することを特徴とするリモートコピープログラム。
  16. 請求項15記載のリモートコピープログラムにおいて、更に、
    前記第一の正ボリュームに書き込まれるデータのうち前記副ボリュームに格納されるべきデータの転送が完了するまでの間、前記第三の記憶装置システムが前記第一の記憶装置システムから該データを受信して前記副ボリュームに該データを格納すると共に、前記第二の記憶装置システムがホストコンピュータから受信したデータも前記第三の記憶装置システムが前記第二の記憶装置システムから受信して、前記副ボリュームに格納するためのコードを有することを特徴とするリモートコピープログラム。
  17. 請求項15記載のリモートコピープログラムにおいて、
    前記第三の記憶装置システムが前記第一の記憶装置システム及び前記第二の記憶装置システムから受信するデータにはシーケンス番号が付与されており、
    前記リモートコピープログラムは更に、前記第三の記憶装置システムがシーケンス番号順に、前記第一の記憶装置システム若しくは前記第二の記憶装置システムから受信したデータを前記副ボリュームに格納するためのコードを有することを特徴とするリモートコピープログラム。
  18. 請求項17記載のリモートコピープログラムにおいて、
    前記第二の記憶装置システムが前記第一の記憶装置システムから受信する管理情報には更に、前記第一の記憶装置システムがホストコンピュータから受信したデータに付与した最新のシーケンス番号より1大きな値を有するシーケンス番号が含まれており、
    前記リモートコピープログラムは更に、
    前記第三の記憶装置システムが、前記第一の記憶装置システムから受信した管理情報に含まれるシーケンス番号を初期値として、ホストコンピュータから受信するライトデータにシーケンス番号を付与し、前記第三の記憶装置システムに送信するためのコードを有することを特徴とするリモートコピープログラム。
JP2003418907A 2003-12-17 2003-12-17 リモートコピーシステム Expired - Fee Related JP4282464B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003418907A JP4282464B2 (ja) 2003-12-17 2003-12-17 リモートコピーシステム
US10/783,018 US7124267B2 (en) 2003-12-17 2004-02-23 Remote copy system
US11/503,937 US7506120B2 (en) 2003-12-17 2006-08-15 Data transfer virtualization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003418907A JP4282464B2 (ja) 2003-12-17 2003-12-17 リモートコピーシステム

Publications (2)

Publication Number Publication Date
JP2005182222A true JP2005182222A (ja) 2005-07-07
JP4282464B2 JP4282464B2 (ja) 2009-06-24

Family

ID=34675192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003418907A Expired - Fee Related JP4282464B2 (ja) 2003-12-17 2003-12-17 リモートコピーシステム

Country Status (2)

Country Link
US (2) US7124267B2 (ja)
JP (1) JP4282464B2 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018455A (ja) * 2005-07-11 2007-01-25 Hitachi Ltd データマイグレーション方法又はデータマイグレーションシステム
JP2007087102A (ja) * 2005-09-22 2007-04-05 Hitachi Ltd ファイル管理機能を備えたコンピュータシステム、ストレージ装置およびファイル管理方法
JP2007226347A (ja) * 2006-02-21 2007-09-06 Hitachi Ltd 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法
US7373470B2 (en) 2005-09-29 2008-05-13 Hitachi, Ltd. Remote copy control in a storage system
US7739540B2 (en) 2006-10-30 2010-06-15 Hitachi, Ltd. Information system, data transfer method and data protection method
US7802131B2 (en) 2006-10-30 2010-09-21 Hitachi, Ltd. Information system and data transfer method
JP2011192269A (ja) * 2010-02-18 2011-09-29 Fujitsu Ltd ストレージ装置およびストレージシステム
US8595453B2 (en) 2006-10-30 2013-11-26 Hitachi, Ltd. Information system and data transfer method of information system
WO2014091600A1 (ja) * 2012-12-13 2014-06-19 株式会社日立製作所 ストレージ装置及びストレージ装置移行方法
US8904133B1 (en) 2012-12-03 2014-12-02 Hitachi, Ltd. Storage apparatus and storage apparatus migration method
WO2015132946A1 (ja) * 2014-03-07 2015-09-11 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US9292211B2 (en) 2011-03-02 2016-03-22 Hitachi, Ltd. Computer system and data migration method
JPWO2017145272A1 (ja) * 2016-02-24 2018-08-30 株式会社日立製作所 データ移行方法及び計算機システム
US10459813B2 (en) 2016-11-01 2019-10-29 Fujitsu Limited System and device for synchronizing data in a plurality of devices
JP2020149573A (ja) * 2019-03-15 2020-09-17 Necプラットフォームズ株式会社 ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724599B2 (en) * 2003-12-03 2010-05-25 Hitachi, Ltd. Remote copy system
US7149859B2 (en) * 2004-03-01 2006-12-12 Hitachi, Ltd. Method and apparatus for data migration with the efficient use of old assets
JP4497993B2 (ja) * 2004-04-16 2010-07-07 株式会社日立製作所 電子配付物の配付制御システム及び方法
US7613889B2 (en) * 2004-06-10 2009-11-03 International Business Machines Corporation System, method, and program for determining if write data overlaps source data within a data migration scheme
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
JP4648674B2 (ja) 2004-10-01 2011-03-09 株式会社日立製作所 記憶制御装置、記憶制御システム及び記憶制御方法
US7644228B2 (en) * 2005-06-03 2010-01-05 Seagate Technology Llc Distributed storage system with global replication
US7984258B2 (en) * 2005-06-03 2011-07-19 Seagate Technology Llc Distributed storage system with global sparing
US7716420B2 (en) 2006-04-28 2010-05-11 Network Appliance, Inc. Methods of converting traditional volumes into flexible volumes
US9015520B2 (en) 2006-06-29 2015-04-21 Dssdr, Llc Data transfer and recovery
US7487383B2 (en) 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process
US8990613B2 (en) 2006-06-29 2015-03-24 Dssdr, Llc Data transfer and recovery
US7904681B1 (en) * 2006-06-30 2011-03-08 Emc Corporation Methods and systems for migrating data with minimal disruption
US8261068B1 (en) 2008-09-30 2012-09-04 Emc Corporation Systems and methods for selective encryption of operating system metadata for host-based encryption of data at rest on a logical unit
US8416954B1 (en) 2008-09-30 2013-04-09 Emc Corporation Systems and methods for accessing storage or network based replicas of encrypted volumes with no additional key management
US8095755B2 (en) * 2006-10-18 2012-01-10 International Business Machines Corporation System, method and computer program product for generating a consistent point in time copy of data
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
JP4897499B2 (ja) * 2007-01-19 2012-03-14 株式会社日立製作所 記憶システム又はストレージ移行方法
JP5042644B2 (ja) * 2007-01-24 2012-10-03 株式会社日立製作所 リモートコピーシステム
JP2009181206A (ja) * 2008-01-29 2009-08-13 Hitachi Ltd ストレージシステム及びスナップショット構成の移行方法
WO2009123614A1 (en) * 2008-03-31 2009-10-08 Hewlett-Packard Development Company, L.P. Updating retrieval codes in response to file transfers
US8090907B2 (en) * 2008-07-09 2012-01-03 International Business Machines Corporation Method for migration of synchronous remote copy service to a virtualization appliance
US20100049926A1 (en) * 2008-08-21 2010-02-25 International Business Machines Corporation Enhancement of data mirroring to provide parallel processing of overlapping writes
US20100049927A1 (en) * 2008-08-21 2010-02-25 International Business Machines Corporation Enhancement of data mirroring to provide parallel processing of overlapping writes
US8250031B2 (en) * 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
US8510750B2 (en) * 2008-09-23 2013-08-13 1060 Research Limited Method for caching resource representations in a contextual address space
US8331362B2 (en) * 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8166314B1 (en) 2008-12-30 2012-04-24 Emc Corporation Selective I/O to logical unit when encrypted, but key is not available or when encryption status is unknown
US8190769B1 (en) 2008-12-30 2012-05-29 Juniper Networks, Inc. Methods and apparatus for provisioning at a network device in response to a virtual resource migration notification
US8255496B2 (en) 2008-12-30 2012-08-28 Juniper Networks, Inc. Method and apparatus for determining a network topology during network provisioning
US8565118B2 (en) * 2008-12-30 2013-10-22 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8953603B2 (en) 2009-10-28 2015-02-10 Juniper Networks, Inc. Methods and apparatus related to a distributed switch fabric
US8442048B2 (en) 2009-11-04 2013-05-14 Juniper Networks, Inc. Methods and apparatus for configuring a virtual network switch
US8572337B1 (en) * 2009-12-14 2013-10-29 Symantec Corporation Systems and methods for performing live backups
US8891406B1 (en) 2010-12-22 2014-11-18 Juniper Networks, Inc. Methods and apparatus for tunnel management within a data center
WO2013046254A1 (en) 2011-09-27 2013-04-04 Hitachi, Ltd. Management server and data migration method
US9229749B2 (en) * 2011-10-31 2016-01-05 Cisco Technology, Inc. Compute and storage provisioning in a cloud environment
US8856583B1 (en) * 2012-01-20 2014-10-07 Google Inc. Failover operation on a replicated distributed database system while maintaining access invariance
US8868874B2 (en) * 2012-02-01 2014-10-21 International Business Machines Corporation Managing remote data replication
US9983953B2 (en) * 2012-12-20 2018-05-29 Intel Corporation Multiple computer system processing write data outside of checkpointing
US9977813B2 (en) * 2013-01-17 2018-05-22 Hitachi, Ltd. Storage device and data migration method
US9361213B2 (en) * 2013-01-23 2016-06-07 Hitachi, Ltd. Method and apparatus for efficient remote copy
US10503723B2 (en) * 2013-07-19 2019-12-10 Transform Sr Brands Llc Method and system for migrating data between systems without downtime
JP6318902B2 (ja) 2014-06-20 2018-05-09 富士通株式会社 冗長システムおよび冗長化方法
JP6511739B2 (ja) * 2014-06-20 2019-05-15 富士通株式会社 冗長システムおよび冗長化方法
US9836327B1 (en) * 2015-06-12 2017-12-05 Amazon Technologies, Inc. Network-based storage access control for migrating live storage clients
US11194500B2 (en) * 2016-01-28 2021-12-07 Netapp, Inc. Resilient implementation of client file operations and replication
US10795598B1 (en) * 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US11032371B2 (en) * 2019-05-29 2021-06-08 Red Hat, Inc. Data migration using read function triggers
US11966294B2 (en) * 2021-05-05 2024-04-23 EMC IP Holding Company LLC Journal barrier consistency determination

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619271B2 (ja) 1988-01-20 1994-03-16 関西電力株式会社 管内点検作業用ロボット
US5673382A (en) * 1996-05-30 1997-09-30 International Business Machines Corporation Automated management of off-site storage volumes for disaster recovery
JP3193880B2 (ja) * 1996-12-11 2001-07-30 株式会社日立製作所 データ移行方法
JP3410010B2 (ja) 1997-12-24 2003-05-26 株式会社日立製作所 サブシステムの移行方法および情報処理システム
JP3414218B2 (ja) 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US6174967B1 (en) 1998-03-20 2001-01-16 Ndsu-Research Foundation Composition of epoxy resin and (cyclo)alkoxy-substituted organosilane
US6253295B1 (en) * 1998-07-20 2001-06-26 International Business Machines Corporation System and method for enabling pair-pair remote copy storage volumes to mirror data in another pair of storage volumes
DE69938378T2 (de) 1998-08-20 2009-04-30 Hitachi, Ltd. Kopieren von Daten in Speichersystemen
US6209002B1 (en) 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
JP4044717B2 (ja) 2000-03-31 2008-02-06 株式会社日立製作所 記憶サブシステムのデータ二重化方法及びデータ二重化システム
JP2002014777A (ja) * 2000-06-29 2002-01-18 Hitachi Ltd データ移行方法並びにプロトコル変換装置及びそれを用いたスイッチング装置
US6766430B2 (en) 2000-07-06 2004-07-20 Hitachi, Ltd. Data reallocation among storage systems
JP4115093B2 (ja) 2000-07-06 2008-07-09 株式会社日立製作所 計算機システム
JP2002189570A (ja) * 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム
US7398302B2 (en) * 2001-03-30 2008-07-08 Hitachi, Ltd. Remote copy with path selection and prioritization
JP4144727B2 (ja) 2001-07-02 2008-09-03 株式会社日立製作所 情報処理システム、記憶領域提供方法、およびデータ保持管理装置
US6640291B2 (en) 2001-08-10 2003-10-28 Hitachi, Ltd. Apparatus and method for online data migration with remote copy
US7139885B2 (en) 2001-12-27 2006-11-21 Hitachi, Ltd. Method and apparatus for managing storage based replication
US7139932B2 (en) 2002-01-03 2006-11-21 Hitachi, Ltd. Data synchronization of multiple remote storage after remote copy suspension
US6779093B1 (en) * 2002-02-15 2004-08-17 Veritas Operating Corporation Control facility for processing in-band control messages during data replication
US6752120B2 (en) 2002-03-25 2004-06-22 Toyoda Koki Kabushiki Kaisha Crankshaft and engine
US6996672B2 (en) * 2002-03-26 2006-02-07 Hewlett-Packard Development, L.P. System and method for active-active data replication
US7103884B2 (en) * 2002-03-27 2006-09-05 Lucent Technologies Inc. Method for maintaining consistency and performing recovery in a replicated data storage system
JP3781369B2 (ja) 2002-09-02 2006-05-31 株式会社日立製作所 記憶サブシステム
JP4037257B2 (ja) * 2002-12-26 2008-01-23 株式会社日立製作所 情報処理システムの制御方法、情報処理システム、及びプログラム
JP2004227098A (ja) 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
JP2004226795A (ja) 2003-01-24 2004-08-12 Pioneer Electronic Corp 立体画像表示装置
JP4322511B2 (ja) * 2003-01-27 2009-09-02 株式会社日立製作所 情報処理システムの制御方法、及び情報処理システム
JP2004294642A (ja) 2003-03-26 2004-10-21 Konica Minolta Holdings Inc 画像形成装置
US6996689B2 (en) * 2003-04-16 2006-02-07 Lsi Logic Corporation Systems and methods for striped storage migration
US7149919B2 (en) 2003-05-15 2006-12-12 Hewlett-Packard Development Company, L.P. Disaster recovery system with cascaded resynchronization
US7266665B2 (en) * 2003-06-17 2007-09-04 International Business Machines Corporation Method, system, and article of manufacture for remote copying of data
US20050050115A1 (en) * 2003-08-29 2005-03-03 Kekre Anand A. Method and system of providing cascaded replication
US7188272B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018455A (ja) * 2005-07-11 2007-01-25 Hitachi Ltd データマイグレーション方法又はデータマイグレーションシステム
JP4718285B2 (ja) * 2005-09-22 2011-07-06 株式会社日立製作所 ファイル管理機能を備えたコンピュータシステム、ストレージ装置およびファイル管理方法
JP2007087102A (ja) * 2005-09-22 2007-04-05 Hitachi Ltd ファイル管理機能を備えたコンピュータシステム、ストレージ装置およびファイル管理方法
US7373470B2 (en) 2005-09-29 2008-05-13 Hitachi, Ltd. Remote copy control in a storage system
JP2007226347A (ja) * 2006-02-21 2007-09-06 Hitachi Ltd 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法
US8281179B2 (en) 2006-10-30 2012-10-02 Hitachi, Ltd. Information system, data transfer method and data protection method
US8832397B2 (en) 2006-10-30 2014-09-09 Hitachi, Ltd. Information system and data transfer method of information system
US7802131B2 (en) 2006-10-30 2010-09-21 Hitachi, Ltd. Information system and data transfer method
US7925914B2 (en) 2006-10-30 2011-04-12 Hitachi, Ltd. Information system, data transfer method and data protection method
US8090979B2 (en) 2006-10-30 2012-01-03 Hitachi, Ltd. Information system and data transfer method
US7739540B2 (en) 2006-10-30 2010-06-15 Hitachi, Ltd. Information system, data transfer method and data protection method
US8386839B2 (en) 2006-10-30 2013-02-26 Hitachi, Ltd. Information system and data transfer method
US8595453B2 (en) 2006-10-30 2013-11-26 Hitachi, Ltd. Information system and data transfer method of information system
JP2011192269A (ja) * 2010-02-18 2011-09-29 Fujitsu Ltd ストレージ装置およびストレージシステム
US9292211B2 (en) 2011-03-02 2016-03-22 Hitachi, Ltd. Computer system and data migration method
US8904133B1 (en) 2012-12-03 2014-12-02 Hitachi, Ltd. Storage apparatus and storage apparatus migration method
WO2014091600A1 (ja) * 2012-12-13 2014-06-19 株式会社日立製作所 ストレージ装置及びストレージ装置移行方法
US9213497B2 (en) 2012-12-13 2015-12-15 Hitachi, Ltd. Storage apparatus and storage apparatus migration method
WO2015132946A1 (ja) * 2014-03-07 2015-09-11 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JPWO2017145272A1 (ja) * 2016-02-24 2018-08-30 株式会社日立製作所 データ移行方法及び計算機システム
US10459813B2 (en) 2016-11-01 2019-10-29 Fujitsu Limited System and device for synchronizing data in a plurality of devices
JP2020149573A (ja) * 2019-03-15 2020-09-17 Necプラットフォームズ株式会社 ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム
JP7050707B2 (ja) 2019-03-15 2022-04-08 Necプラットフォームズ株式会社 ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム

Also Published As

Publication number Publication date
JP4282464B2 (ja) 2009-06-24
US7506120B2 (en) 2009-03-17
US7124267B2 (en) 2006-10-17
US20060277378A1 (en) 2006-12-07
US20050138308A1 (en) 2005-06-23

Similar Documents

Publication Publication Date Title
JP4282464B2 (ja) リモートコピーシステム
US9058305B2 (en) Remote copy method and remote copy system
JP4439960B2 (ja) ストレージ装置
JP5111754B2 (ja) 記憶制御システム
JP4382602B2 (ja) リモートコピーシステム
US7454582B2 (en) Initial copy system
CN110998538A (zh) 一致性组中一致性时间点快照副本的异步本地和远程生成
JP2003248605A (ja) ストレージシステム、主記憶システム、副記憶システム、及びそのデータ複写方法
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
WO2015162684A1 (ja) ストレージシステムのデータ移行方法
JP2005309793A (ja) データ処理システム
JP5422657B2 (ja) ストレージシステム及びストレージシステムの処理効率向上方法
US10761767B2 (en) Computer system and method for controlling storage apparatus that has replication direction from first logical device (in first storage) to second logical device (in second storage) and from said second logical device to third logical device (in said second storage), wherein said replication direction is reversed when second computer takes over for first computer
JP4214832B2 (ja) 記憶装置システム
JP2006048300A (ja) ディスクアレイ装置群およびそのコピー処理方法
US8583884B2 (en) Computing system and backup method
JP6000391B2 (ja) ストレージシステムのデータ移行方法
JP5947974B2 (ja) 情報処理装置及び情報処理装置の交換支援システム並びに交換支援方法
JP4790283B2 (ja) ストレージサブシステム及びストレージシステム
JP4806037B2 (ja) データ記憶システム及び非同期レプリケーション方法
JP2012022645A (ja) データ記憶システムおよび非同期レプリケーション方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060310

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090219

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090303

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees