JP2005157712A - リモートコピーネットワーク - Google Patents

リモートコピーネットワーク Download PDF

Info

Publication number
JP2005157712A
JP2005157712A JP2003394921A JP2003394921A JP2005157712A JP 2005157712 A JP2005157712 A JP 2005157712A JP 2003394921 A JP2003394921 A JP 2003394921A JP 2003394921 A JP2003394921 A JP 2003394921A JP 2005157712 A JP2005157712 A JP 2005157712A
Authority
JP
Japan
Prior art keywords
information
remote copy
identification information
edge device
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.)
Pending
Application number
JP2003394921A
Other languages
English (en)
Other versions
JP2005157712A5 (ja
Inventor
Takanari Iwamura
卓成 岩村
Takashi Oeda
高 大枝
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 JP2003394921A priority Critical patent/JP2005157712A/ja
Priority to US10/816,572 priority patent/US7055011B2/en
Priority to DE602004012220T priority patent/DE602004012220T2/de
Priority to EP04012936A priority patent/EP1536337B1/en
Priority to CNB2004100961062A priority patent/CN100456256C/zh
Priority to CN2008101869288A priority patent/CN101426025B/zh
Publication of JP2005157712A publication Critical patent/JP2005157712A/ja
Priority to US11/354,671 priority patent/US7305531B2/en
Publication of JP2005157712A5 publication Critical patent/JP2005157712A5/ja
Priority to US11/935,780 priority patent/US7809909B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2066Optimisation of the communication load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】
低コストなマルチホップ・リモートコピーを実現する。
【解決手段】
ソースストレージと接続されるソースエッジデバイスと、ターゲットストレージに接続されるターゲットエッジデバイスとを有するリモートコピーネットワーク(RCN)を介して、リモートコピーを実行する。RCNはネットワーク事業者が提供するネットワークであるため、ストレージ装置を有するユーザはRCNを所有し管理することなくリモートコピーを実行できる。
ソースエッジデバイスはソースストレージからリモートコピーI/Oを受信し、これにシーケンシャル番号を付与したログエントリを作成して、ログエントリをターゲットエッジデバイスに送信する。ターゲットエッジデバイスは、受信したログエントリからリモートコピーI/Oを取得し、シーケンシャル番号順にターゲットストレージにリモートコピーI/Oを送信する。
【選択図】 図1

Description

本発明は、ストレージを含んだ情報処理システムに関し、さらに詳しくは2台以上のストレージと、ネットワーク装置群で構成されるリモートコピーネットワーク(以下、RCNとも呼ぶ。)により実行される、リモートコピー及び災害復旧技術に関する。
ストレージを有する情報処理システムにおいて電源障害や天災等の災害によってストレージに障害が発生した場合、当該情報処理システムを使用する業務が一時的に停止したり、最悪の場合、ストレージに格納されたデータが失われることがある。このような事態を回避するために、当該情報処理システムとは異なる遠隔地に用意されたストレージに、当該情報処理システムのストレージに格納されたデータを転送して複製する技術(以下「リモートコピー」と称する。)が存在する。
リモートコピーには同期リモートコピー及び非同期リモートコピーの二種類が存在し、各々長所と短所がある。具体的には、同期リモートコピーでは、情報処理システムのストレージは、情報処理システムの計算機からの書き込み要求があった場合、遠隔地に存在するストレージへのその書き込み要求に付随するデータの転送が完了した後に、その書き込み要求に対する応答を計算機に行う。したがって、同期リモートコピーでは障害によるデータ消失が少ないが、ストレージ間の回線遅延が増加すると計算機とストレージ間のI/O性能が悪化する。
一方、特許文献1に記載の非同期リモートコピーでは、情報処理システムのストレージは、書き込み要求に対する計算機への返答と書き込み要求に付随するデータの遠隔地への転送とを独立したタイミングで実施する。したがって、非同期リモートコピーではストレージ間の距離が長くても、遠隔地にデータをコピーする前に計算機へ返答することができるので、計算機への応答性能の低下を招きにくい。しかし、非同期リモートコピーでは、データ消失の可能性は同期リモートコピーより高くなる。
さらに近年は、同期リモートコピーと非同期リモートコピーを組み合わせたマルチホップ方式が発明されている(特許文献2、特許文献3)。
米国特許第3149325号明細書
特開2003−122509号公報 特開2000−305856号公報
特許文献2または特許文献3のいずれの方式も中間に存在する装置はストレージの所有者が管理することを前提としているため、装置所有コスト・管理コスト増加が問題となる。そこで、装置所有コスト・管理コスト増加を抑えることのできるマルチホップ・リモートコピー技術を開示する。
ソースストレージとに接続されるソースエッジデバイスと、ターゲットストレージに接続されるターゲットエッジデバイスとを有するリモートコピーネットワーク(RCN)を介して、リモートコピーを実行する。
ソースエッジデバイスはソースストレージからリモートコピーI/O要求を受信し、これにシーケンシャル番号を付与したログエントリを作成して、ターゲットエッジデバイスに送信する。ターゲットエッジデバイスは、受信したログエントリからリモートコピーI/O要求を取得し、シーケンシャル番号順にターゲットストレージにリモートコピーI/O要求を送信する。
ストレージ間でマルチホップ・リモートコピーを実行する際の装置所有コスト、管理コストを低減することができる。
以下に本発明の実施形態を説明する。尚本発明は以下に説明する実施形態に限定されるものではない。
図1は本発明の一実施形態における、情報処理システムの概要例を示す図である。
情報処理システムは、リモートコピーネットワーク101と、広域ネットワーク102と、管理サーバー103と、管理ネットワーク150、ホスト計算機(以下ホストと呼ぶ。)111及びホスト121と、外部ストレージ112及び外部ストレージ122で構成される。なお、以後の説明を容易にするため、外部ストレージ112はリモートコピーのコピー元ボリューム113を持つストレージとしてソース外部ストレージ112と呼び、外部ストレージ122はコピー先ボリューム123を持つストレージとしてターゲット外部ストレージ122と呼ぶことがある。ソースとターゲットという呼び名は、ホスト111とホスト121、ボリューム113とボリューム123、仮想ストレージ106と仮想ストレージ107、仮想ボリューム108と仮想ボリューム109の関係を表現するためにも使う。なお、この関係は固定されたものではなく、ある一の外部ストレージがソースとターゲットの両方の役割をもってもよい。
リモートコピーネットワーク101と、広域ネットワーク102と、管理ネットワーク150と、管理サーバ103は、ネットワーク事業者が提供する。従って、本実施形態においては、ソース側ホストとソース外部ストレージ、及びターゲット側ホストとターゲット外部ストレージを有する顧客が、ホストと外部ストレージをリモートコピーネットワークに接続することによって、リモートコピーネットワークを介したリモートコピーが実行される。このため、顧客はリモートコピーネットワークを管理・維持することなくマルチホップ・リモートコピーを実行することができ、マルチホップ・リモートコピーにおける装置所有コスト、管理コストを低減することができる。
ホスト111及びホスト121はトランザクション処理等の業務を実施するアプリケーションプログラムが動作する計算機であり、ボリューム113はホスト111が用いるボリューム、ボリューム123はホスト121が用いるボリュームである。
リモートコピーネットワーク101はエッジデバイス104及びエッジデバイス105、コアデバイス202を含む複数の装置を含むネットワークである。尚、エッジデバイス、コアデバイスはルータ若しくはゲートウィ装置の一種であっても良い。外部ストレージ112及び外部ストレージ122はエッジデバイス104若しくはエッジデバイス105を介してリモートコピーネットワーク101に接続される。エッジデバイス104若しくはエッジデバイス105とコアデバイス202間では、リモートコピー要求及びリモートコピー要求に伴いリモートコピーされるデータ(以下、これらをリモートコピーI/O要求、若しくはRIOとも呼ぶ。)を時間順序情報を含むログエントリ211という形式で転送する。RIOをログエントリに変換する処理はエッジデバイスにて実行される。
エッジデバイスは、リモートコピーネットワーク101の外部に存在する外部ストレージと接続される装置である。
コアデバイス202は、エッジデバイス104によって作成・転送されたログエントリ211を別のエッジデバイス105またはコアデバイス202へ転送する装置である。
仮想ストレージ106若しくは仮想ストレージ107は、エッジデバイス104若しくはエッジデバイス105が外部ストレージ112若しくは外部ストレージ122に対して提供する仮想的なストレージである。エッジデバイスは、自らと接続されている外部ストレージに対して、この外部ストレージがリモートコピーのペアを組んでいる相手方の外部ストレージとして自らを見せるべく、あたかもリモートコピーのペア相手の外部ストレージかのように振舞う仮想ストレージを提供する(例えば、エッジデバイス104は外部ストレージ122のように振舞う仮想ストレージ106を外部ストレージ112に提供し、エッジデバイス105は外部ストレージ112のように振舞う仮想ストレージ107を外部ストレージ122に提供する)。
エッジデバイスとコアデバイス202はネットワークによって接続される(図示せず)。その接続形態としては、Gigabit Ethernet(登録商標)(以下、GbEとも呼ぶ。)上でIPプロトコルを用いた接続形態が考えられるが、これら以外のネットワーク媒体やプロトコルを用いても良い。また、エッジデバイス104若しくはエッジデバイス105から外部ストレージ112若しくは外部ストレージ122への接続は、Fibre Channel(以下、FCとも呼ぶ。)やESCON、FICON、GbE等上を、プロトコルとしてSCSI、iSCSI、iFCP、mFCP、FCIP等を用いて接続することが考えられるが、これら以外のネットワーク媒体やプロトコルを用いても良い。なお、以後の説明では、エッジデバイスから外部ストレージへの接続にはFCとSCSIを、エッジデバイスとコアデバイス202との間の接続にはGbEとIPプロトコルとUDPプロトコルを用いるものとするが、これによって本発明の権利範囲を当該プロトコルに限定するものではない。
FCフレーム220は、外部ストレージとエッジデバイス間でFCを介して通信するためのフレームであり、GbEフレーム210はエッジデバイスとコアデバイス間若しくは複数のコアデバイス間でGbEを介して通信するためのフレームであり、ログエントリ211はGbEフレーム210によって転送される。
管理サーバー103は外部ストレージ112及び外部ストレージ122の所有者(顧客)がリモートコピーネットワーク101に必要な情報を設定したり、リモートコピーネットワークの設定情報や状態情報を参照するための計算機であり、広域ネットワーク102と管理ネットワーク150に接続される。ホスト111及びホスト121は管理サーバー103と通信するために、広域ネットワーク102を用いる。なお、広域ネットワーク102はホスト111及びホスト121と管理サーバー103との通信を可能とするものであればどのような形態でもよく、リモートコピーネットワーク101に含まれていても良い。また、複数の外部ストレージが一つのエッジデバイスへ接続されてもよい。
管理ネットワーク150は、リモートコピーネットワーク101内に存在する装置(例えばエッジデバイス104やエッジデバイス105、コアデバイス202等)と管理サーバ103とが接続されるネットワークである。管理サーバは管理ネットワーク150を介してリモートコピーネットワーク101内のエッジデバイスやコアデバイスへの設定を行い、またエッジデバイスやコアデバイスから情報を収集して、収集した情報を広域ネットワーク102経由でホストに提供する。なお、管理ネットワーク150はリモートコピーネットワーク101の一部分であってもよく、広域ネットワーク103の一部分であってもよい。
なお、図中には記載していないが、外部ストレージ112及び外部ストレジ122は同期リモートコピープログラムまたは非同期リモートコピープログラムを格納したメモリと、これらのプログラムを実行するプロセッサを有するものとする。
同期リモートコピープログラムが実行されると、外部ストレージはコピーの状態を示すために、ペア状態(Simplex(X)、Initial−Copying(IC)、Duplex(D)、Suspend(S)及びDuplex−Pending(DP)の5つの状態がある。)を定義し、内部でその情報を管理する。
Simplex状態は、ソースボリュームとターゲットボリューム間での同期リモートコピーが開始されていない状態である。Duplex状態は、同期リモートコピーが開始され、後述する初期化コピーも完了してソースボリュームとターゲットボリュームの内容が同一となった状態である。同期リモートコピーの場合、ソースボリュームに書き込まれたデータがターゲットボリュームにコピー(以下、係るコピーを更新コピーとも呼ぶ。)されてから、書き込みを行ったホストに対して書き込み完了の返事が返る。
なお、例えばボリューム毎に一意な識別子が保存される領域が存在する等の理由で、ボリュームの特定の部分についてソースボリュームとターゲットボリュームの内容が同一でない場合があっても良いものとする。
Initial−Copying状態は、Simplex状態からDuplex状態へ遷移するまでの中間状態である。この期間中は、ソースボリュームからターゲットボリュームへの初期化コピー(ソースボリュームに既に格納されていたデータのコピー)が行われる。初期化コピーが完了し、Duplex状態へ遷移するために必要な内部処理が終わった段階でペア状態はDuplexとなる。
Suspend状態は、更新コピーが停止した状態である。この状態では、ソースボリューム及びターゲットのボリュームのデータの巨視的な同一性は保障されなくなる。オペレータ、ホスト、外部ストレージを管理する計算機等の指示を契機に、ペア状態は、他の状態からSuspend状態へ遷移する。
それ以外にSuspend状態へペア状態が遷移する場合として、ソースボリュームからターゲットボリュームへの同期リモートコピーを行うことが出来なくなった場合がある。この場合にはストレージが自動的にペア状態をSuspend状態に遷移する。以後の説明では、後者の場合を障害Suspend状態と呼ぶ。障害Suspend状態となる代表的な原因としては、ソースボリューム若しくはターゲットのボリュームの障害、ソース外部ストレージ若しくはターゲットの外部ストレージの障害、ソース外部ストレージ及びターゲット外部ストレージ間の通信路障害(本実施形態の場合は、外部ストレージ112若しくは外部ストレージ122とエッジデバイス104若しくはエッジデバイス105間の回線障害や、エッジデバイス104及びエッジデバイス105を含むリモートコピーネットワークの障害)が考えられる。しかし、これ以外の障害も障害Suspendの原因となり得る。
Suspend状態若しくは障害Suspend状態の外部ストレージは、Duplex−Pending状態にペア状態が遷移した際にソースボリュームとターゲットボリューム間で差分コピーを実行できるように、Suspend状態若しくは障害Suspend状態中に更新されたデータが格納されたボリューム内の記憶領域を記録する。なお、記録に使用するデータ構造についてはビットマップやログが考えられるが、これ以外でもよい。
Duplex−Pending状態は、Suspend状態からDuplex状態に遷移するまでの中間状態である。この状態では、ソースボリュームとターゲットボリュームのデータの内容を一致させるために、ソースボリュームからターゲットボリュームへのデータのコピーが実行される。ソースボリュームとターゲットボリュームのデータの同一性が確保されると、ペア状態はDuplexとなる。なお、Duplex−Pending状態におけるデータのコピーは、前述したSuspend状態中のデータ更新領域を記録した情報を利用して、更新が必要な部分だけをコピーする差分コピーが用いられても良い。なお、Initial−Copying状態とDuplex−Pending状態は、これらをまとめて一つの状態として管理装置の画面に表示したり、状態を遷移させても良い。
一方の非同期リモートコピーの場合、ソースボリュームからターゲットボリュームへのデータコピーの方法として、以下の方法がある。
例えば、ソース外部ストレージが、データが書き込まれたボリュームのアドレスを含んだ制御情報及び書き込まれたデータの組(以下「ログエントリ」と呼ぶ。)を、データの書き込みの度に作成し、これをターゲット外部ストレージへ転送し、ターゲット外部ストレージがログエントリに格納されている更新データをターゲットボリュームへ書き込む方法がある(以下、ログエントリに格納されているデータをボリュームに書き込むことを、ログエントリをボリュームに反映させる、と表現する)。さらにこの発展形として、ログエントリの制御情報に、更新データがソースボリュームに書き込まれた時間や順序を示す情報を含め、ターゲットボリュームへログエントリを反映させる際にはこの時間や順序を示す情報を利用して、更新データがソースボリュームに書き込まれた順序どおりにターゲットボリュームにログエントリを反映する方法がある。
非同期リモートコピーが実行される際にも、ソース・ターゲット外部ストレージは、ペア状態(Simplex、Initial−Copying、Duplex、Suspend、Duplex−Pending及びSuspending(SI))を管理する。Simplex、Initial−Copying、Suspend及びDuplex−Pending状態については同期リモートコピーと同様である。
Duplex状態も基本的には同期リモートコピーの場合と同じであるが、更新コピーがホストからの書き込みと非同期に行われるため、データの同一性は同期リモートコピーとは異なり、ホストが書き込み要求に対する完了応答をソース外部ストレージから受信した後であっても、ターゲットボリュームに更新データが書き込まれるまでの間は、ソースボリューム内のデータとターゲットボリューム内のデータは一致していない。
Suspending状態とは、Duplex状態からSuspend状態へ遷移するまでの中間状態であり、非同期リモートコピーの場合は、Suspending状態を経由してSuspend状態へ遷移する。尚、この状態で、ソース外部ストレージ及びターゲット外部ストレージは、各々が有するメモリに保持されているログエントリをターゲット外部ストレージへ反映させる処理を行っても良い。また、同期リモートコピーのSuspend状態の説明で述べた、ソースボリュームに対する書き込み位置の記録と同様の方法で、ソース外部ストレージ及びターゲット外部ストレージは、ターゲットボリュームに反映できなかったログエントリ内の更新データの書き込み位置を記録する。
図9は、リモートコピーネットワークを利用したリモートコピー処理の一例を示すフロー図である。
(1)まず、顧客とRCN提供者が契約を行う(ステップ901)。
(2)RCN提供者は、顧客に顧客IDを割り当て、割り当てられた顧客IDと契約条件に定められた顧客特有の設定を管理サーバー103に入力、設定する(ステップ902)。
(3)顧客は、RCNに接続するソース外部ストレージ112及びターゲット外部ストレージ122のWWN(WorldWideName)と、これら外部ストレージの接続先となるエッジデバイス104及びエッジデバイス105の識別情報を、管理サーバー103に入力、設定する(ステップ903)。この設定情報を元に、管理サーバー103はエッジデバイス104及びエッジデバイス105に仮想ストレージ106や仮想ストレージ107の生成を指示したり、リモートコピーネットワーク101の経路設定を行う。
(4)顧客は、ホスト111または他の計算機にペア生成指示を入力することにより、ソース外部ストレージ112に対してペア生成を指示する(ステップ904)。ソース外部ストレージ112に対する指示は、エッジデバイス104、リモートコピーネットワーク101、エッジデバイス105を経由してターゲット外部ストレージ122に到着する。ペア生成指示を契機に、ソースボリューム113からターゲットボリューム123へ初期化コピーが行われる。
(5)ソースボリューム113とターゲットボリューム123のペアがDuplex状態となり、ソース外部ストレージとターゲット外部ストレージ間でリモートコピー処理が実行される(ステップ905)。
(6)リモートコピーネットワーク101の内部で障害があった場合は、外部ストレージ112若しくは外部ストレージ122が自ら障害を検知するか、リモートコピーネットワーク101が障害発生を外部ストレージ112若しくは外部ストレージ122に通知することで、これらの外部ストレージはペア状態を障害Suspend状態に遷移させる。その後、RCN提供者が保守作業を完了させた後に、顧客が管理サーバ若しくは他の計算機からソース外部ストレージ112に再同期を指示して再同期を行う(ステップ908、909)。
(7)計画保守や、ターゲット外部ストレージ122を一時的に別アプリケーションプログラムで用いる等の理由でリモートコピーを停止させたい場合は、顧客がホスト111若しくはホスト121、管理サーバ若しくは他の計算機を介してソース外部ストレージ112にSuspend状態への遷移を指示する(ステップ910)。その後、リモートコピー停止の理由が解消した段階で、顧客がホスト111若しくはホスト121管理サーバ若しくは他の計算機を介してソース外部ストレージ112に再同期を指示して再同期を行う(ステップ909)。
(8)ソース外部ストレージ112に障害(サイト障害)が発生した場合は、顧客はターゲット外部ストレージ122に接続されたホスト121でアプリケーションを再開する(ステップ911)。なお、サイト障害の検知や再開処理は管理者による手作業でもよいし、クラスタソフトと呼ばれるホスト監視・アプリケーション再立ち上げを担うソフトが行っても良い。
図3はエッジデバイス、コアデバイス、及び管理サーバーのハードウェアアーキテクチャの一例を示した図である。
いずれの装置もメモリ311、CPU312、ディスク装置313を有し、これらが内部ネットワークまたはバスで相互結合されている。各装置上に存在するプログラムはメモリ311内に存在し、プログラムはメモリ311、CPU312、ディスク装置313が共同して動作することで実行される。ただし、ディスク装置313は必須の構成要素ではない。
さらに、エッジデバイスとコアデバイスはGbEで通信するためのハードウェアであるGbEインターフェース315を有する。エッジデバイスは外部ストレージとFCで通信するためのFCインターフェース314を有する。また、エッジデバイスとコアデバイスと管理サーバーは、管理ネットワーク150を用いて通信するためのネットワークインターフェース316を有する。なお、ネットワークインターフェース316はFCインターフェース314やGbEインターフェース315と同じものが考えられるが、通信可能であれば、100Base−TのEthernetインターフェースのような他のネットワーク媒体・プトロコルに対応したインタフェースであってもよい。
図4はエッジデバイス又はコアデバイスがメモリ311若しくはディスク装置313内に有し、エッジデバイス又はコアデバイスにて動作するプログラムの一例を示した図である。
FCプロトコルスタック401はエッジデバイスで実行され、FCを介してデータ転送を行うためのプログラムである。IPプロトコルスタック410はエッジデバイスまたはコアデバイス202で実行され、GbEを介してIPに従ってデータ転送を行うためのプログラムである。なお、GbEインタフェース315またはFCインターフェース314を操作するためのインターフェースドライバプログラム、FCプロトコルスタック401が有するPortIDとWWNの変換情報、IPプロトコルスタック410が有するIPアドレスとMAC(MediaAccessControl)アドレスの変換情報がエッジデバイスのメモリ311内に存在するが、図では省略している。また、図には記していないが、エッジデバイス及びコアデバイスのメモリ上にOSが存在してもよい。
RIOプロトコルスタック402は、外部ストレージから受信するRIOをエッジデバイスが解釈するためのプログラムであり、エッジデバイスが有する。
仮想ストレージ提供プログラム403は、外部ストレージのように振舞う仮想的なストレージを外部ストレージに対して提供するためのプログラムであり、エッジデバイスが有する。外部ストレージに対して、当該外部ストレージのリモートコピーペアの相手先外部ストレージの様に振舞う仮想ストレージを提供しようとする場合、ペアの相手先の構成情報(即ち、WWN、製品番号、ボリュームの数、ボリュームを識別するためのLUN、容量、エミュレーションタイプその他)と同じ構成情報を仮想ストレージの構成情報として外部ストレージに提供する。係る処理を実行するためのプログラムが仮想ストレージ提供プログラム403である。そして、仮想ストレージ提供プログラムは、自身が接続する外部ストレージのペア相手の外部ストレージの構成情報を含むRIOを外部ストレージから受信すると、このRIOは自エッジデバイス宛てのRIOだと認識して処理する。
但し、仮想ストレージが独自に持たなければならない情報がある場合(例えば、WWNについてはペアの相手先外部ストレージのWWNを使用することができず、仮想ストレージ固有の値を使用しなければならない場合等)は、仮想ストレージ提供プログラム403は、ペアの相手先の構成情報ではなく、仮想ストレージ固有の構成情報を外部ストレージに対して提供する。
ログエントリ生成・反映プログラム406は、外部ストレージ提供プログラム403、RIOプロトコルスタック401、FCプロトコルスタック401から取得した仮想ストレージ106に対するRIOをもとに、ログエントリ211を作成するためのプログラムでエッジデバイスが有する。また、ログエントリ生成・反映プログラム406は、ログエントリ転送プログラム407から取得したログエントリ211からRIOを作成した後に、このRIOを外部ストレージに対して転送する処理をも実行するプログラムである。
RIOプロトコルスタック402、仮想ストレージ提供プログラム403、ログエントリ生成・反映プログラム406はエッジデバイス106・107上で動作する。
ログエントリ転送プログラム407は、ログ通信プロトコルスタック409や、IPプロトコルスタック410を利用してログエントリ211の転送を行うためのプログラムであり、エッジデバイス及びコアデバイスが有する。
ログ転送プロトコルスタック409は、他のエッジデバイスまたはコアデバイスとの間で、ログエントリ211を転送するために必要な通信処理を行うプログラムである。
ログエントリ転送プログラム407とログ転送プロトコルスタック409は、エッジデバイス106・107とコアデバイス202で動作する。
まとめ転送プログラム420は、ログエントリ211の転送を効率よく行うために、コアデバイス上で動作するログエントリ転送プログラム407を制御するプログラムである。まとめ転送プログラムはコアデバイスが有する。まとめ転送プログラム420は、ログエントリ211を受信してから転送するまで一定時間待ち、ログエントリを転送する時はコアデバイス202に蓄積された複数のログエントリ211をまとめて転送する。ただし、まとめ転送プログラム420は用いなくても良い。
図5は管理サーバ103のメモリに格納され、管理サーバ103にて動作するプログラム、及び管理サーバのメモリに格納される情報の一例を示す図である。
RCN設定インターフェースプログラム501は、複数の外部ストレージ間でのリモートコピー処理をリモートコピーネットワーク101を用いて実行するための設定を行うプログラムである。RCN設定インターフェースプログラム501はさらに、リモートコピーネットワークの設定情報、ストレージ接続情報503、仮想ストレージ情報404、アクセス制御情報405、経路情報408、ペア情報411を出力し、ユーザに参照させるためのプログラムでもある。広域ネットワーク102に接続されたホストまたはそれ以外の計算機は、管理サーバに格納された当該プログラムを用いることで、リモートコピーネットワーク101の状態を参照したり、図9のステップ903に対応する設定(即ち、RCNを構成するエッジデバイスやコアデバイスへの設定)を行うことができる。
RCN設定インターフェースプログラム501を用いて設定される情報の例としては、以下の二つが考えられるが、顧客や管理者は管理サーバで動作するRCN設定インタフェースプログラムに対して設定情報を入力することにより、これ以外の設定を行ってもよい。
(A)リモートコピーネットワーク101に接続する外部ストレージのWWNと、外部ストレージの接続先エッジデバイスのID
(B)リモートコピーネットワーク101中で、データの書き込み順序が保証されるソースボリューム及びターゲットボリューム(またはソース外部ストレージとターゲット外部ストレージ、若しくはソースエッジデバイスとターゲットエッジデバイス)のペアのリスト
また、RCN設定インターフェースプログラム501が提供する情報としては、前述の2つの設定値のほか、以下の項目が考えられるが、RCN設定インタフェースプログラムはこれ以外の項目を出力してもよい。
(A)仮想ストレージに割り当てられたWWN
(B)ソース外部ストレージへの書き込みデータが、ターゲット外部ストレージに反映されるまでの遅れ時間
(C)リモートコピーネットワーク101内部に残るログエントリの有無
なお、RCN設定インターフェースプログラム501は、図9のステップ903において各顧客の契約形態に応じRCNへの設定を実行する際、エッジデバイスの選択範囲、RCNに接続する外部ストレージの数、順序保証するボリュームのペア数等の入力値を、契約形態に基づき制限する処理を実施してもよい。
RCN設定プログラム502は、以下の2つの機能を含むプログラムである。
(A)RCN設定インターフェース501によって設定された情報を元に、ストレージ接続情報503、仮想ストレージ情報404、アクセス制御情報405、経路情報408、ペア情報411を更新し、エッジデバイスとコアデバイスに配布する、設定・配布機能
(B)エッジデバイスによるペア情報411と順序保証情報413の更新を収集する更新収集機能
なお、RCN設定プログラム502はこれ以外の情報をリモートコピーネットワーク101やエッジデバイス、コアデバイス202から収集したり、設定する機能を含んでも良い。 管理サーバのメモリには、上述のRCN設定インタフェースプログラム501及びRCN設定プログラムの他に、後述するストレージ接続情報503、仮想ストレージ情報404、アクセス制御情報405、経路情報408、ペア情報411が格納されている。
図6と図7は、管理サーバー103、エッジデバイス、若しくはコアデバイスで用いられる情報の一例を示した図である。
ストレージ接続情報503は、外部ストレージのエッジデバイスに対する接続状況を管理する情報である。当該情報は、エッジデバイスのID631と顧客ID632とエッジデバイスに接続される外部ストレージのWWN633を含む。本情報は、顧客がRCN設定インターフェースプログラム501を用いて管理サーバに設定することが考えられるが、それ以外の方法で作成されてもよい。
仮想ストレージ情報404は、エッジデバイスが提供する仮想ストレージに関する情報である。仮想ストレージWWN612はエッジデバイスが外部ストレージに対して提供する仮想ストレージのWWNを登録する領域である。対応エッジID613と対応ストレージWWN614は、仮想ストレージが外部ストレージに対して振舞う当該外部ストレージのリモートコピーのペア相手である外部ストレージが接続されているエッジデバイスのIDと、ペア相手の外部ストレージのWWNを登録する領域である。本実施例では、仮想ストレージ106のWWNとして、外部ストレージ122のWWNを、仮想ストレージ107のWWNとして外部ストレージ112のWWNを割り当てる。図1を例とすると、仮想ストレージ情報404には以下の値が登録される。
<仮想ストレージ106のための設定>
(A)エッジID611として、エッジデバイス104のID
(B)仮想ストレージWWN612として、ターゲット外部ストレージ122のWWN
(C)対応エッジIDとしてエッジデバイス105のID
(D)対応ストレージWWNとしてターゲット外部ストレージ122のWWN
<仮想ストレージ107のための設定>
(A)エッジID611としてエッジデバイス105のID
(B)仮想ストレージWWN612として、ソース外部ストレージ112のWWN
(C)対応エッジIDとしてエッジデバイス104のID
(D)対応ストレージWWNとしてソース外部ストレージ112のWWN
尚、ターゲットボリューム、ソースボリューム、仮想ターゲットボリューム、及び仮想ソースボリュームの識別番号(LUN)は、本実施形態においては同じ値であるものとする。
アクセス制御情報405はエッジデバイスが提供する仮想ストレージのアクセス制御を管理する情報である。当該情報には、エッジデバイスのID621、仮想ストレージのWWN622、仮想ストレージへのアクセスを許可する外部ストレージのWWN623が含まれる。エッジデバイスは複数の顧客によって共用されることも考えられるため、ある顧客の仮想ストレージに別顧客の外部ストレージからアクセスできないようにすることが、アクセス制御情報405の一般的な設定と考えられる。しかし、これ以外の設定方針を採用しても良い。また、エッジデバイスはこれ以外の情報によってアクセス制御を行っても良い。
顧客毎にアクセス可能範囲を分ける場合であれば、アクセス制御情報405はストレージ接続情報503と仮想ストレージ情報404を元に管理サーバによって作成される。図1の例では、以下の通りに設定することで、仮に図示しなかった別顧客の外部ストレージがエッジデバイス104若しくはエッジデバイス105に接続されていたとしても、この別顧客の外部ストレージからは、仮想ストレージ106及び仮想ストレージ107を利用できない。
<仮想ストレージ106のアクセス制御情報の設定>
(A)エッジID621としてエッジデバイス104のID
(B)仮想ストレージWWN622として仮想ストレージ106のWWN
(C)アクセス許可ストレージWWN623としてソース外部ストレージ112のWWN
<仮想ストレージ107のアクセス制御情報の設定>
(A)エッジID621としてエッジデバイス105のID
(B)仮想ストレージWWN622として仮想ストレージ107のWWN
(C)アクセス許可ストレージWWN623としてターゲット外部ストレージ122のWWN
経路情報408はソース側のエッジデバイス104が作成したログエントリ211をターゲット側のエッジデバイス105に転送するための経路を管理する情報である。当該情報には、ソース外部ストレージ112のWWN711とターゲット外部ストレージ122のWWN712と、ソース外部ストレージ及びターゲット外部ストレージ間でログエントリ211を送受信するための通過経路714が含まれる。RCN設定プログラム502は、顧客から管理端末に対してソース外部ストレージ及びターゲット外部ストレージの識別情報と、これらのストレージが接続されるソース側エッジデバイスとターゲット側エッジデバイスの識別情報が入力されると、各コアデバイス202の処理限界とまとめ転送の効果を考慮してソース外部ストレージ104とターゲット外部ストレージ105間のコアデバイス202の数が少なくなるように、経路計算して経路情報を作成する。なお、経路決定の方式はデータ転送のQoSを考慮したり、エッジデバイスまたはコアデバイス202が被災する可能性を考慮して計算する方法が考えられるが、これ以外の方法であってもよい。また、本実施例の経路情報408はソース外部ストレージとターゲット外部ストレージのペア毎に経路を設定するケースを想定したものであるが、順序保証グループ単位、ソースボリュームとターゲットボリュームのペア単位に経路情報が設定されてもよい。
ペア情報411は主にリモートコピーネットワーク101においてRIOの順序を保証すべきソースボリュームとターゲットボリュームの組を管理するための情報である。当該情報は、ソース外部ストレージ112の実際のWWN721とソースボリュームのLUN722、ターゲット外部ストレージ122の実際のWWN723とターゲットボリュームのLUN724、現在のペア状態725、順序保証のためのID726、リモートコピーネットワーク101内部に障害が発生した場合に用いる差分ビットマップ727から構成される。
ペア情報411の作成方法には、以下の3つの方法がある。
(A)外部ストレージからのペア生成要求(このペア生成要求には、ソース外部ストレージ112のWWNとソースボリューム113のLUN、ターゲット外部ストレージ122のWWNとターゲットボリューム123のLUNが含まれる)をエッジデバイスが受信し、エッジデバイスでペア情報を作成する方法。この場合には、順序保証ID725の登録方法について以下の2つの方法が考えられる。
(A−1)ソースボリュームが同じソース外部ストレージに存在し、かつターゲットボリュームも同じターゲット外部ストレージに存在するペアに同一IDを割り当てる方法。この方法では、同じ外部ストレージ間でリモートコピーを実行するボリュームペアには同じIDが割り当てられる。
(A−2)同じソースエッジデバイス及びターゲットエッジデバイスを用いてリモートコピー処理が実行されるボリュームペアに同一IDを割り当てる方法。
(B)ペア作成の前に、管理者がRCN設定インターフェースプログラム501を用いて、更新順序情報と共に入力する方法。
尚、これらを組み合わせた方法を用いても良い。
順序保証情報413は主にログエントリ211のシーケンシャル番号804を作成するための情報である。当該情報には、順序保証ID731、ログ生成カウンタ値732、ログ反映カウンタ値733、ログ削除カウンタ値734、反映遅れ時間735が含まれる。ログ生成カウンタ値732はログエントリ211が作成される度にエッジデバイスでインクリメントされ、ログ削除カウンタ値734はエッジデバイス104でログエントリ211が削除されるたびにインクリメントされる。ログ反映カウンタ値733はエッジデバイスがログエントリ211を外部ストレージ122に反映する度にインクリメントされる。
反映遅れ時刻735には、エッジデバイスがログエントリを外部ストレージに反映する度に現在時刻からログエントリ211のI/O時間804を引いた値が登録される。この情報は定期的にエッジデバイスから管理サーバのRCN設定インターフェースプログラム501に送信され、管理サーバが出力することにより顧客に提供される。
尚、図6及び図7には図示されていないが、エッジデバイスにはログエントリも記憶される。ログエントリは図15に示すログ記憶領域413に記憶されており、ログ記憶領域413は、一つ以上のログエントリ211を記憶する領域1702と記憶場所を管理する管理情報1701を含む。ログエントリ生成・反映プログラム406は、RCN設定インターフェースプログラム501からの要求に応じて、ログ記憶領域413の情報を取得し、これをRCN設定インタフェースプログラムに提供する。
仮想ストレージ情報404、アクセス制御情報405、ペア情報411は複製がエッジデバイスに存在する。また、経路情報408は複製がエッジデバイスとコアデバイス202に存在する。なお、複製は部分的な複製であっても良い。
図8はログエントリ211のデータ構造例について示した模式図である。
「ターゲットストレージのWWNとボリュームLUN情報」801は、ログエントリ211に変換されたRIOの転送先となる外部ストレージのWWNとLUNを示す情報である。「ソースストレージのWWNとボリュームLUN情報」802は、ログエントリ211に変換されたRIOの転送元の外部ストレージのWWNとLUNを示す情報である。
順序保証ID803、「I/O時間とシーケンシャル番号情報」804は、ログエントリ211間での反映順序を伝えるための情報である。すなわち、I/O時間は、ソース外部ストレージに対してホストからログエントリに含まれるライトデータが書き込まれた時間であり、シーケンシャル番号はホストからソースストレージ装置へのライトデータの書き込み順序を示す番号である。
RIO領域805は、ログエントリへの変換の対象となったRIOを格納する領域である。
なお、ログエントリ211はこれ以外の情報を含んでも良い。
図14はFCフレーム220とGbEフレーム210の一例を示す図である。
FCフレーム220には、転送元PortID1411、転送先PortID1412、RIO領域1414、その他ヘッダ情報1413が含まれる。RIO領域には転送対象のRIOが含まれている。
GbEフレームには、転送元IPアドレス1421、転送先IPアドレス1422、ログエントリ領域1424、その他ヘッダ情報1423が含まれる。ログエントリ領域には転送対象のログエントリが含まれている。
なお、フレームの最大サイズを越えるRIO若しくはログエントリを転送するため等の理由で、RIOやログエントリを複数のフレームに分割して送信してもよい。
図10と図11は、図9のステップ904でペア生成の指示が発行されてから初期化コピーが実施され、ペア状態がDuplexに遷移するまでのシステム動作の一例を表すフロー図である。
なお、図9のステップ903では、RCN設定インターフェースプログラム501による設定と、RCN設定プログラム502によるストレージ接続情報503、仮想ストレージ情報404、アクセス制御情報405、経路情報408、ペア情報411の更新が完了しているものとする。また、エッジデバイスとコアデバイス202は前述の情報を元に仮想ストレージの提供、アクセス制御を開始し、順序保証情報413の初期化も完了しているとする。
<Simplex状態からInitial−Copying状態への遷移>
(1)ホスト111は、ボリューム113とボリューム123がペアとなるよう指示するペア生成指示のSCSIコマンドを、ソース外部ストレージ112に送信する(ステップ1001)。
(2)ソース外部ストレージ112は、ソース側の仮想ストレージ106を提供するエッジデバイス104へ、ホストから受信したSCSIコマンド(ペア生成指示)に応じたRIO(ペア生成)を有するFCフレームを送信する(ステップ1002)。尚、本実施形態においては、ボリューム123と仮想ボリューム108は同じ識別情報(WWNとLUN)で識別される。したがってソース外部ストレージ112が前述のRIO(ペア生成)をソース側エッジデバイス104へ送信することによって、ソース側エッジデバイス104にボリューム113と仮想ボリューム108とをペアとするよう指示したことと同様の結果となる。
(3)ソース側エッジデバイス104はソース外部ストレージから受信したRIO(ペア生成)を含むログエントリ(ペア生成)を作成し、これをGbEフレームに格納してターゲット側エッジデバイス105へ送信する(ステップ1003)。
(4)ターゲット側仮想ストレージ107を提供しているエッジデバイス105は、ログエントリ(ペア生成)を受信すると、ログエントリに含まれるRIO(ペア生成)を有するFCフレームをターゲット外部ストレージ122へ送信する。尚、本実施形態においては、ボリューム113と仮想ボリューム109は各々同じ識別情報(WWNとLUN)で識別される。したがって、ターゲット側エッジデバイス105にとっては、受信したログエントリ(ペア生成)は、仮想ボリューム109とボリューム123をペアとするよう指示するログエントリと同様の意味を持つ(ステップ1004)。
(5)RIO(ペア生成)を受信したターゲット外部ストレージ122は、ボリューム113とボリューム123間のペア状態をInitial−Copyingに変更する(ステップ1005)。
(6)ターゲット外部ストレージ122は、ターゲット側仮想ストレージ107を提供しているエッジデバイス105へInitial−Copying状態への遷移が完了した旨を示すRIO(Initial−Copying遷移完了(以下、ICOKと呼ぶ。))を含むFCフレームを送信する(ステップ1006)。
(7)RIO(ICOK)を受信したターゲット側エッジデバイス105は、仮想ボリューム109とボリューム123間のペア状態をInitial−Copyingに変更する(ステップ1007)。
(8)ターゲット側エッジデバイス105は、RIO(ICOK)を有するログエントリ(ICOK)を作成し、ログエントリ(ICOK)を有するGbEフレームを、ソース側エッジデバイス104へ送信する(ステップ1008)。
(9)ソース側エッジデバイス104はボリューム113と仮想ボリューム108間のペア状態をInitial−Copyingに変更する(ステップ1007)。
(10)ソース側仮想ストレージ106を提供しているエッジデバイス104は、受信したログエントリに含まれるRIO(ICOK)を、FCフレームにてソース外部ストレージ112に送信する(ステップ1010)。
(11)ソース外部ストレージ112は、ボリューム113とボリューム123間のペア状態をInitial−Copyingに変更する(ステップ1011)。
(12)ソース外部ストレージ112は、ホスト111へSCSIコマンド(ICOK)を転送する(ステップ1012)。
<初期化コピー>
(13)ソース外部ストレージ112からターゲット外部ストレージ122への初期化コピーを行う(ステップ1013)。初期化コピーの方法は後述する通常運用中の書き込みと同じ動作である。
<ペア状態のDuplex遷移>
(14)ソース外部ストレージ112は、ソース側の仮想ストレージ106を提供するエッジデバイス104へ、ソースボリューム113とターゲットボリューム123との間のペア状態をDuplex状態へ遷移するよう指示するRIO(Duplex遷移)を、FCフレームの形で送信する(ステップ1101)。尚、前述の様に、ターゲットボリューム123とソース側のエッジデバイス104が提供する仮想ボリューム108は同じ識別情報で識別されるので、ソース外部ストレージ112が送信するRIO(Duplex遷移)は、ソース側のエッジデバイス104にとっては、結果的にソースボリューム113と仮想ボリューム108との間のペア状態をDuplex状態に遷移するよう指示するRIOということになる。
(15)ソース側エッジデバイス104は、受信したRIO(Duplex遷移)を有するログエントリ(Duplex遷移)を作成し、ターゲット側エッジデバイス105へログエントリ(Duplex遷移)をGbEフレームの形式で送信する(ステップ1102)。
(16)ログエントリ(Duplex遷移)を受信した、ターゲット側仮想ストレージ107を提供するエッジデバイス105は、ログエントリ(Duplex遷移)内に含まれるRIO(Duplex遷移)をターゲット外部ストレージ122へ転送する(ステップ1103)。尚、前述の様に、ソースボリューム113とターゲット側のエッジデバイス105が提供する仮想ボリューム109は同じ識別情報で識別されるので、ターゲットエッジデバイス105にとっては、受信したログエントリ(Duplex遷移)は、仮想デバイス109とターゲットボリューム123との間のペア状態をDuplex状態に遷移するよう指示するログエントリ、ということになる。
(17)RIO(Duplex遷移)を受信したターゲット外部ストレージ122は、ボリューム113とボリューム123間のペア状態をDuplexに変更する(ステップ1104)。
(18)ターゲット外部ストレージ122は、ターゲット側仮想ストレージ107を提供するエッジデバイス105へDuplex状態への遷移完了を報告するRIO(Duplex遷移完了(以下DOKと呼ぶ。))を送信する(ステップ1105)。
(19)ターゲット側エッジデバイス105はRIO(DOK)を受信すると、仮想ボリューム109とボリューム123間のペア状態をDuplexに変更する(ステップ1106)。
(20)さらにターゲット側エッジデバイス105は受信したRIO(DOK)を有するログエントリ(DOK)をソース側エッジデバイス104へ送信する(ステップ1107)。
(21)ログエントリ(DOK)を受信したソース側エッジデバイス104はボリューム113と仮想ボリューム108間のペア状態をDuplexに変更する(ステップ1108)。
(22)さらにソース側仮想ストレージ106を有するエッジデバイス104は、受信したログエントリ(DOK)中に含まれるRIO(DOK)をソース外部ストレージ104へ送信する(ステップ1109)。
(23)ソース外部ストレージ103は、ボリューム113とボリューム132間のペア状態をDuplexに変更する(ステップ1110)。
図16は、情報処理システムにおいて、ホストからソース外部ストレージシステムに対してデータの書き込みがあった場合の、コマンド転送処理(すなわち、通常運用中の書き込み処理)の一例を示すタイムラインである。なお、本タイムラインではFCやIP(UDP,TCP)レベルのAcknowledgeMessageは省略している。
(1)ソース側ホストはデータの書き込みを指示するSCSIコマンド(書き込み(以下、WRと呼ぶ。))をソース外部ストレージ112に送信する(矢印1601)。このSCSIコマンド(WR)にはデータの書き込み先であるボリューム113を指定するための情報(WWN(より正確にはPortIDおよびLUNが含まれている。)
(2)ソース外部ストレージ112はSCSIコマンド(WR)に含まれるWWNおよびLUNに基づいて内部に有するペア情報を参照し、ターゲットストレージのWWNとターゲットLUNを取得する。そして、ソース外部ストレージ112は、転送元PortID1411にソース外部ストレージ112のWWNから計算されるPortID、転送先PortID1412に取得したWWNから計算されるPortIDを有するFCフレームを送信する。尚このFCフレームにはデータの書き込みを指示するRIO(WR)が含まれており、RIO(WR)にはソースボリューム113とターゲットボリューム123の識別情報(WWNとLUN)が含まれている(矢印1602)。本実施形態においては前述の様に、ターゲット外部ストレージ112のWWNは仮想ストレージ106のWWNと等しく、ターゲットボリューム123のLUNは仮想ボリューム108のLUNと等しいので、ソース外部ストレージ112が送信したRIO(WR)は仮想ストレージ106を提供するソース側エッジデバイス104に受信される。
(3)ソース側エッジデバイス104はRIO(WR)からログエントリ211(WR)を作成すると共に、書き込み完了を報告するRIO(書き込み完了(以下、WROKと呼ぶ。))をソース外部ストレージ112へ送信する(矢印1603)。
(4)RIO(WROK)を受信したソース外部ストレージ112は、SCSIコマンド(WROK)をソース側ホスト111へ送信するする(矢印1604)。
(5)ソース側エッジデバイス104は、経路情報408に従って作成したログエントリ(WR)をコアデバイス202へ送信する(矢印1605)。この時、ソース側エッジデバイス104は送信が完了したログエントリ(WR)のコピーをとっておく。
(6)コアデバイス202はログエントリ211(WR)を経路情報408に従ってターゲット側エッジデバイス105へ転送する(矢印1606)。
(7)ターゲット側エッジデバイス105はログエントリ211(WR)をRIO(WR)に変換し、変換後のRIOをターゲット外部ストレージ122へ送信する(矢印1607)。
(8)ターゲット外部ストレージ122は受信したRIO(WR)をボリューム123に反映させ、RIO(WROK)をターゲット側仮想ストレージ107を提供するエッジデバイス105へ送信する(矢印1608)。
(9)ターゲット側エッジデバイス105は、受信したRIO(WROK)を有するログエントリ211(WROK)を作成し、経路情報408に従って当該ログエントリ211をコアデバイス202へ送信する(矢印1609)。その後、ターゲット側エッジデバイス105は当該ログエントリ211(WROK)を削除する。
(10)コアデバイス202は受信したログエントリ211(WROK)を経路情報408に従ってソース側エッジデバイス104へ転送する(矢印1610)。
(11)ソース側エッジデバイス104はログエントリ(WROK)を受信すると、このログエントリ(WROK)に対応するログエントリ(WR)を削除する。
なお、上述の例はコアデバイス202を中間で一回経由した場合だが、コアデバイス202が無い場合はコアデバイス202による転送処理を省略すればよく、コアデバイス202が複数ある場合は、コアデバイス202間での転送処理を加えればよい。
ターゲット側エッジデバイス105若しくはコアデバイス202が障害等の理由でログエントリ(WR)を消失した場合は、ソース側エッジデバイス104が保持するログエントリ(WR)を再送する。例えば、ソース側エッジデバイス104がログエントリ(WROK)を規定時間内に受信しない場合等に係る再送が実行される。そうした再送でもリモートコピーが継続できない場合(図9のステップ908に対応)は、エッジデバイス104およびエッジデバイス105が外部ストレージ112および外部ストレージ122に対して障害Suspend状態への遷移を指示する。この時、ソース側エッジデバイス104は、ログ記憶領域に保持しているログエントリ(RW)をペア情報411の差分ビットマップ727に変換して保持する。
図12はSuspend状態若しくは障害Suspend状態からの再同期処理の一例を示した図である。
(0)外部ストレージ112は、Suspend状態または障害Suspend状態となった後、ボリューム113に対する書き込みの更新位置を差分ビットマップ1211へ記録する。同様に外部ストレージ122は、Suspend状態若しくは障害Susupend状態となった後にボリューム123に対する書き込みがあった場合、更新位置を差分ビットマップ1213へ記録する。
(1)ホスト111がソース外部ストレージ112へ再同期を指示するSCSIコマンド(再同期)を送信する(データ1201)。このSCSIコマンドには再同期するボリュームペア、即ちソースボリューム113とターゲットボリュームの識別情報(LUNとWWN)が含まれている。
(2)ソース外部ストレージ112は受信したSCSIコマンド(再同期)に基づいて、ソース側仮想ストレージ106を提供するソース側エッジデバイス104へRIO(再同期)を送信する(データ1202)。このRIO(再同期)にも再同期すべきボリュームのペアのLUNとWWNが含まれている。尚、本実施形態においては、ボリューム123と仮想ボリューム108は同じ識別情報(WWNとLUN)で識別される。したがってソース外部ストレージ112が前述のRIO(再同期)をソース側エッジデバイス104に送信することによって、ソース側エッジデバイスにボリューム113と仮想ボリューム108とのペアを再同期するよう指示したことと同様の結果となる。
(3)ソース側エッジデバイス104はRIO(再同期)をこのRIO(再同期)を有するログエントリ211(再同期)へ変換し、コアデバイス202へ転送する(データ1203)。
(4)コアデバイス202はログエントリ211(再同期)をターゲット側エッジデバイス105へ転送する(データ1204)。
(5)ターゲット側仮想ストレージ107を提供するターゲット側エッジデバイス105は、受信したログエントリ(再同期)をRIO(再同期)へ変換し、ターゲット側外部ストレージ122へ送信する(データ1205)。尚、本実施形態においては、ボリューム113と仮想ボリューム109は同じ識別情報(WWWとLUN)で識別される。したがって、ターゲット側エッジデバイスにとっては、ログエントリ(再同期)は、仮想ボリューム109とターゲットボリューム123との間の再同期指示を意味することとなる。
(6)ターゲット外部ストレージ122はRIO(再同期)を受信すると、自身が有するボリューム113とボリューム123間のペア状態をDuplex−pendingへ変更する。そしてターゲット外部ストレージ122は、ターゲット側仮想ストレージ107を提供するエッジデバイス105へ、ターゲット外部ストレージ122が有する差分ビットマップ1213を含むRIO(Duplex−Pending遷移完了(以下、DPOKと呼ぶ。))を送信する(データ1206)。
(7)ターゲット側エッジデバイス107は、自身が有するターゲットボリューム123と仮想ボリューム109間のペア状態をDuplex−pendingへ変更する。更にターゲット側エッジデバイス107は、受信したRIO(DPOK)を含むログエントリ211(DPOK)をコアデバイスに送信する(データ1207)。
(8)コアデバイス202は、受信したログエントリ(DPOK)をソース側エッジデバイス104へ転送する(データ1208)。
(9)ソース側エッジデバイス104は受信したログエントリ(DPOK)中に含まれる差分ビットマップ1213と差分ビットマップ727を結合し、差分ビットマップ1209を作成する。(データ1209)。
(10)ソース側仮想ストレージ106を有するソース側エッジデバイス104は、自身が有するボリューム113と仮想ボリューム108間のペア状態をDuplex−pendingへ変更する。更にソース側仮想ストレージ106を提供するソース側エッジデバイス104は、ソース外部ストレージ112へ差分ビットマップ1209を含むRIO(DPOK)を送信する(データ1210)。
(11)ソース外部ストレージ112は、差分ビットマップ1209と自らが保持していた差分ビットマップ1211を結合し、新たな差分ビットマップ1211とする(データ1211)。
(12)ソース外部ストレージ112は、自身が有するボリューム113とボリューム123間のペア状態をDuplex−pendingへ変更する。更にソース外部ストレージ112は、ホスト111へSCSIコマンド(DPOK)を転送する(データ1212)。
(13)そして、ソース外部ストレージ112は差分ビットマップ1211に従った差分コピーを開始する。
図13は通常運用中のソース側サイトが被災し、ターゲット側ホストでフェイルオーバーする時の、ターゲット側のホスト121、ターゲット外部ストレージ122、ターゲット側エッジデバイス105の動作例を示したフロー図である。尚、図13に示す処理は図9のステップ911に対応する。
(1)ターゲット側ホスト121は、ソース側のサイト障害を検知する(ステップ1301)。なお、検知する契機は、クラスタソフトやターゲット側エッジデバイス105や管理サーバー103からの通知時が考えられるが、これ以外でもよい。
(2)ターゲット側ホスト121は、ターゲット外部ストレージ122へSCSIコマンド(Suspend指示)を送信する(ステップ1302)。このSCSIコマンドには、ペア状態をSuspend状態若しくは障害Suspend状態へ遷移するボリュームペア、即ちソースボリューム113とターゲットボリューム123の識別情報(WWNとLUN)が含まれる。
(3)ターゲット外部ストレージ122は、ターゲット側仮想ストレージ107を提供するターゲット側エッジデバイス105へ、RIO(Suspend指示)を送信する(ステップ1303)。このRIO(Suspend指示)にも上述のボリューム113およびボリューム123の識別情報が含まれる。
(4)ターゲット側エッジデバイス105は受信したRIO(Suspend指示)を有するログエントリ(Suspend指示)を作成し、ソース側エッジデバイス104へログエントリ211(Suspend指示)を送信する(ステップ1304)。ソース側エッジデバイス104は当該ログエントリを受け取った時、以下の処理を実行する。
(A)まずソース側エッジデバイス104は、ボリューム113およびボリューム123(ソース側エッジデバイスにとっては仮想ボリューム108である。)のペアに関する全てのログエントリ211を他のコアデバイス202またはエッジデバイスへ転送する。
(B)次に、ソース側エッジデバイス104は、ボリューム113および仮想ボリューム108間に関するペア状態を障害Suspendへ変更する。尚、前述の様に本実施形態では、仮想ボリューム108とターゲットボリューム123は同じ識別情報(WWNおよびLUN)で識別されるので、前述のログエントリ(Suspend指示)を受信したソース側エッジデバイス104は、このログエントリ(Suspend指示)をソースボリューム113と仮想ボリューム108間のペア状態を障害Suspendへ変更するよう指示するものだと解釈する。
(C)そして、ソース側エッジデバイス104は、ペア状態が障害Suspendに遷移した旨の報告である、ログエントリ(Suspend遷移完了(以下、SOKと呼ぶ。))を作成し、ターゲット側エッジデバイス105へ送信する。
(5)ターゲット側エッジデバイス105はタイマー値をリセットする(ステップ1305)。
(6)ターゲット側エッジデバイス105は、現在のタイマー値がタイムアウト設定値を越えている場合は、ステップ1310に進み、そうでなければステップ1307に進む(ステップ1306)。
(7)ターゲット側エッジデバイス105は、他のエッジデバイスやコアデバイス202から転送されるログエントリ211を受信し、受信したログエントリ211がソース側エッジデバイス104からのログエントリ(SOK)かどうかを確認する(ステップ1307、1308)。もし、そうであればステップ1310に進み、そうでなければステップ1309に進む。なお、ステップ1308でステップ1310へ遷移する条件として、「ログエントリ(SOK)の欠落がない」を加えても良い。
(8)ターゲット側エッジデバイス105は、受信したログエントリ内のI/O時間とシーケンシャル番号を参照して、ライトデータのライト順序の関係を守りつつ、受信したログエントリ211をRIOへ変換し、ターゲット外部ストレージへRIOを送信する(ステップ1309)。その後に、ステップ1306へ戻る。なお、転送されたRIOはターゲット外部ストレージ122のボリューム123に反映される。
(9)ターゲット側エッジデバイス105は、ターゲットボリューム123と仮想ボリューム109間のペア状態を障害Suspendに変更した後に、ターゲット外部ストレージ122へRIO(SOK)を送信する(ステップ1310)。RIO(SOK)を受け取ったターゲット外部ストレージ122は、ターゲットボリューム123とソースボリューム113の間のペア状態を障害Suspendに変更した後に、ターゲット側ホスト121へステップ1302に対するSCSIコマンド(SOK)を転送する(ステップ1311)。
(10)ターゲット側ホスト121は、ターゲット外部ストレージ122内のボリューム123を用いてアプリケーションプログラムによる処理を再開する(ステップ1312)。
なお、本手順の変形として、ステップ1303の直後にステップ1310、1311、1312を実行して、障害Suspendへの遷移を迅速に行う方法がある。この場合、ターゲット外部ストレージ105がRIO(SOK)を送信した後もリモートコピーネットワーク101にログエントリ211が残っている。この場合、RCN設定インターフェースプログラム501を用いて、RCNから残存ログエントリの有無を取得することで、問題を解決する。また、もしターゲット外部ストレージ122が、障害Suspendへの遷移完了後に、RCNがログエントリとして保持していたライトデータをターゲットボリューム123に反映するためのRIO(WR)を受け付けない場合は、これらのライトデータをSCSIコマンド(WR)を用いて反映してもよい。
図19は通常運用中にソースボリューム113に対する書き込み(WR)が行われた時の、ソース側エッジデバイス104の処理の一例を示すフロー図である。
(1)仮想ストレージ提供プログラム403は、ホストからソース外部ストレージに書き込まれたライトデータを有するRIO(WR)含んだFCフレーム220を、ソース外部ストレージから受信し、ログエントリ生成・反映プログラム406へ渡す(ステップ1901)。FCフレームの受信は、RIOプロトコルスタック402とFCプロトコルスタック401を通じて行われる。ログエントリ生成・反映プログラム406へ渡すデータは、転送元PortID1411から変換した転送元WWN、転送先PortID1412から変換した転送先WWNとRIO領域1414に含まれるRIOである。
(2)ログエントリ生成・反映プログラム406は、ステップ1901で渡されたデータを元に、ログ記憶領域413へログエントリ(WR)を作成する(ステップ1902)。ログエントリ(WR)には以下の(A)〜(E)に示す値が登録される。
(A)「ターゲットストレージWWNとLUN」801としてステップ1901で渡された転送先WWNとRIO(WR)に含まれるリモートコピーのターゲットLUN。
(B)「ソースストレージWWNとLUN」802としてステップ1901で渡された転送元WWNと、ペア情報411を参照して得られるソースLUN722。尚、ソースLUNは、ペア情報411において、ソースストレージWWN721が転送元WWN、ターゲットトレージWWN723が転送先WWN、ターゲットLUN724がRIO(WR)に含まれるリモートコピーのターゲットLUNという条件をキーにソースLUN722を検索することにより得ることができる。
(C)順序保証ID801として(A)と(B)の情報に対応するペア情報411中の順序保証ID726
(D)「I/O時間とシーケンシャル番号」804としてソース側エッジデバイス104の現在時刻と、(C)で求めた順序保証IDの値に対応する順序保証情報412のログ生成カウンタ値731
(E)RIO領域805に格納されるデータとして、ステップ1901で渡されたRIO(WR)
(3)次にソース側エッジデバイス104はステップ1902で用いた順序保証情報412のログ生成カウンタ値731を1インクリメントする(ステップ1903)。
(4)仮想ストレージ提供プログラム403は、ソース外部ストレージ112へライト処理の完了を通知するためのRIO(WROK)を送信する(ステップ1904)。
(5)そして、ソース側エッジデバイスは、ログエントリ(WR)の転送先となるエッジデバイスまたはコアデバイス202を決定する(ステップ1905)。そして転送先が決定すると、転送先のIPアドレスを取得する。尚、転送先の決定とIPアドレスの取得は以下の(A)(B)に示す手順で行われる。
(A)まずソース側エッジデバイスは、ステップ1902で求めた転送元WWNと転送先WWNに対応する経路情報408の通過経路713(IPアドレスのリストである)を取得する。
(B)次に(A)で取得したリストから、ソース側エッジデバイス104が有するIPアドレスの次のIPアドレスを選択し、これを転送先のIPアドレスとする。
(6)ログエントリ転送プログラム407は、ステップ1902で生成したログエントリ211(WR)を、ステップ1905で求めたIPアドレスに対して送信する(ステップ1906)。転送は、ログ転送プロトコルスタック409とIPプロトコルスタック410とが共同で実行する。
(7)ログエントリ転送プログラム407は、コアデバイス202やターゲット側エッジデバイス105からのログエントリ(WROK)を受信し、ログ記憶領域413へ保存する(ステップ1907)。なお、ログエントリ(WROK)のシーケンシャル番号804には、ステップ1906で送信したログエントリ(WR)と同じシーケンシャル番号804が入っている。
(8)ログエントリ転送プログラム407は、ログ記憶領域413内に保存されているログエントリ(WR)と、これに対応するログエントリ211(WROK)を削除する(ステップ1908)。尚ログエントリ(WR)とログエントリ(WROK)との対応関係はログエントリ内の順序保証IDとシーケンシャル番号の対応関係を参照すれば(即ち順序保証IDとシーケンシャル番号が一致するか否かを調べれば)分かる。
(9)ステップ1907でソース側エッジデバイスは、削除したログエントリ(WR)から予め順序保証ID803とシーケンシャル番号804を取り出しておき、これに対応した順序保証情報412のログ削除カウンタ値733をインクリメントする(ステップ1909)。
図20は通常運用中に、ホストからソースボリューム113に対する書き込み(WR)が行われた時のターゲット側エッジデバイス105の処理の一例を示すフロー図である。
(1)ターゲット側エッジデバイス105のログエントリ転送プログラム407は、ログ転送プロトコルスタック407とIPプロトコルスタック410を通じて、ログエントリ(WR)を受信し、ログ記憶領域413へ保存する(ステップ2001、2002)。
(2)ログエントリ生成・反映プログラム406は、ログ記憶領域413から順序関係を守って反映可能なログエントリ(WR)を検索する(ステップ2003)。検索は、ログエントリに含まれる順序保証ID毎に、順序保証情報413のログ反映カウンタ733の値をインクリメントした値と同じ値のシーケンシャル番号を持つログエントリ(WR)を探すことで行われる。
(3)ログエントリ生成・反映プログラム406は、ステップ2003で検索したログエントリ(WR)をRIO(WR)へ変換する(ステップ2004)。変換は、ログエントリのRIO領域805からRIOを取り出すことで行われる。
(4)仮想ストレージ提供プログラム403は、ステップ2004で変換したRIO(WR)を、ターゲット外部ストレージ122へ送信する(ステップ2005)。
(5)仮想ストレージ提供プログラム403は、ターゲット外部ストレージ122からのRIO(WROK)を受信する(ステップ2006)。
(6)ログエントリ生成・反映プログラム406は、ステップ2003で検索したログエントリ(WR)から順序保証ID803とシーケンシャル番号804を取り出し、対応する順序保証情報412のログ反映カウンタ値733をインクリメントする(ステップ2007)。また、現在時刻と反映したログエントリ(WR)のI/O時間804の差分を順序保証情報413の反映遅れ時刻735に登録する。
(7)ログエントリ生成・反映プログラム406は、受信したRIO(WROK)を有するログエントリ(WROK)をログ記憶領域413へ作成する(ステップ2008)。ログエントリには以下の(A)から(E)に示す値を登録する。
(A)「ターゲットストレージWWNとLUN」801としてステップ2003で検索の結果選択したログエントリ(WR)の「ソースストレージWWNとLUN」802
(B)「ソースストレージWWNとLUN」802としてステップ2003で取得したログエントリ(WR)の「ターゲットストレージWWNとLUN」801
(C)順序保証ID801としてステップ2003で取得したログエントリ211(WR)の順序保証ID801
(D)「I/O時間とシーケンシャル番号」804としてステップ2003で取得したログエントリ(WR)の「I/O時間とシーケンシャル番号」804
(E)RIO領域805としてステップ2006で受信したRIO(WROK)
(8)ログエントリ転送プログラム407は、ログエントリ(WROK)の転送先となるコアデバイス202またはソース側エッジデバイス104を経路情報を参照して決定する(ステップ2009)。尚、転送先の決定は前述のステップ1905と同様である。
(9)ログエントリ転送プログラム407は、ログ転送プロトコルスタック409とIPプロトコルスタック410を通じて、ステップ2008にて作成したログエントリ(WROK)をステップ2009で決定したIPアドレスに対して送信する(ステップ2010)。
(10)ログエントリ生成・反映プログラム406は、ステップ2003にて選択したログエントリ(WR)と、ステップ2008にて作成したログエントリ(WROK)をログ記憶領域413から削除する(ステップ2011)。
図17と図18はペア生成中のソース側エッジデバイス104の処理の一例を示した図である。
(1)仮想ストレージ提供プログラム403は、RIO(ペア生成)を受信する(ステップ1701)。なお、RIO(ペア生成)には、ソース外部ストレージ112のWWN、ソース側ボリューム113のLUN、ターゲット外部ストレージ122のWWN、ターゲット側ボリューム123のLUNが含まれる。
(2)仮想ストレージ提供プログラム403は、受信したRIO(ペア生成)を元に、生成するペアに関するソースとターゲットの情報等を、ペア情報411に記録する(ステップ1702)。その際、ペア状態725はSimplexに更新する。
(3)ログエントリ生成・反映プログラム406は、RIO(ペア生成)を有するログエントリ(ペア生成)をログ記憶領域413に作成する(ステップ1703)。ログエントリの作成方法は図19のステップ1902と同じである。
(4)ログエントリ生成・反映プログラム406は、順序保証情報412のログ生成カウンタ値732をインクリメントする(ステップ1704)。
(5)ログエントリ転送プログラム407は、ログエントリ(ペア生成)の送信先となるコアデバイス202またはエッジデバイスを決定する(ステップ1705)。送信先の決定方法は、図19のステップ1905と同じである。
(6)ログエントリ転送プログラム407は、ステップ1703にて作成したログエントリ(ペア生成)をステップ1705で決定したIPアドレスに対して送信する(ステップ1706)。
(7)ログエントリ転送プログラム407は、コアデバイス202またはエッジデバイス105からのログエントリ(Initial−Copying遷移完了(以下、ICOKと呼ぶ。))を受信する(ステップ1707)。このログエントリ(ICOK)には、ソース外部ストレージ112のWWN、ソース側ボリューム113のLUN、ターゲット外部ストレージ122のWWN、ターゲット側ボリューム123のLUNが含まれる。
(8)ソース側エッジデバイスは、受信したログエントリ(ICOK)内のボリュームペアに関する情報に基づいて、ペア情報411内の対応するペアのペア状態725をInitial−Copyingに更新する(ステップ1711)。
(9)仮想ストレージ提供プログラム403は、受信したログエントリ(ICOK)からRIO(ICOK)を抽出し、ソース外部ストレージ112へ送信する(ステップ1708)。
(10)ログエントリ生成・反映プログラム406は、ステップ1707で受信したログエントリ(ICOK)と、このログエントリ(ICOK)と同じペアに関するログエントリ(ペア生成)を、ログ記憶領域413から削除する(ステップ1709)。
(11)ログエントリ生成・反映プログラム406は順序保証情報413のログ削除カウンタ値734をインクリメントする(ステップ1710)。
(12)そして、ソース側エッジデバイス104は、初期化コピー処理を開始する(ステップ1801)。本ステップの処理は通常運用のデータコピーと同じである。
(13)仮想ストレージ提供プログラム403は、RIO(Duplex遷移)を受信する(ステップ1802)。RIO(Duplex遷移)には、ソース外部ストレージ112のWWN、ソース側ボリューム113のLUN、ターゲット外部ストレージ122のWWN、ターゲット側ボリューム123のLUNが含まれる。
(14)ログエントリ生成・反映プログラム406は、受信したRIO(Duplex遷移)からログエントリ(Duplex遷移)をログ記憶領域413に作成する(ステップ1803)。ログエントリ211の作成方法は図19のステップ1902と同じである。
(15)ログエントリ生成・反映プログラム406は、順序保証情報412のログ生成カウンタ値732をインクリメントする(ステップ1804)。
(16)ログエントリ転送プログラム407は、ログエントリ(Duplex遷移)の転送先となるコアデバイス202またはエッジデバイスを決定する(ステップ1805)。決定方法は、図19のステップ1905と同じである。
(17)ログエントリ転送プログラム407は、ステップ1803にて作成したログエントリ(Duplex遷移)をステップ1805で決定したIPアドレスに対して送信する(ステップ1806)。
(18)ログエントリ転送プログラム407は、コアデバイス202またはエッジデバイス105からのログエントリ(Duplex遷移完了(以下、DOKと呼ぶ。))を受信する(ステップ1807)。このログエントリ(DOK)には、ソース外部ストレージ112のWWN、ソース側ボリューム113のLUN、ターゲット外部ストレージ122のWWN、ターゲット側ボリューム123のLUNが含まれる。
(19)ソース側エッジデバイスは、受信したログエントリ(DOK)内のボリュームペアに関する情報に基づいて、このボリュームペアに対応するペア情報411のペア状態725をDuplexに更新する(ステップ1811)。
(20)仮想ストレージ提供プログラム403は、受信したログエントリ(DOK)からRIO(DOK)を抽出し、ソース外部ストレージ112へこのRIO(DOK)を送信する(ステップ1808)。
(21)ログエントリ生成・反映プログラム406は、ステップ1807で受信したログエントリ(DOK)と、このログエントリ(DOK)と同じペアに関するログエントリ(Duplex遷移)をログ記憶領域413から削除する(ステップ1809)。
(22)ログエントリ生成・反映プログラム406は順序保証情報413のログ削除カウンタ値734をインクリメントする(ステップ1810)。
図21と図22はペア生成中のターゲット側エッジデバイス105の処理の一例を示した図である。
(1)ログエントリ転送プログラム407は、ログエントリ(ペア生成)を受信する(ステップ2101)。このログエントリ(ペア生成)には生成すべきペアを識別するための情報(即ちターゲット側のWWNとLUN、ソース側のWWNとLUN)が含まれる。
(2)ログエントリ生成・反映プログラム406は、受信したログエントリ(ペア生成)をログ記憶領域413に記憶する(ステップ2102)。
(3)仮想ストレージ提供プログラム403は、ステップ2102で受信したログエントリ(ペア生成)を元に、生成するペアを、ペア情報411へ登録する(ステップ2103)。その際、ペア状態725はSimplexに更新する。
(4)ログエントリ生成・反映プログラム406は、ログエントリ(ペア生成)をRIO(ペア生成)へ変換する(ステップ2104)。
(5)仮想ストレージ提供プログラム403は、ステップ2104で変換したRIO(ペア生成)を、ターゲット外部ストレージ122へ送信する(2105)。
(6)仮想ストレージ提供プログラム403は、ターゲット外部ストレージ122からのRIO(Initial−Copying遷移完了(以下、ICOKと呼ぶ。))を受信する(ステップ2106)。このRIO(ICOK)には、ペアを識別するための情報が含まれる。
(7)ログエントリ生成・反映プログラム406は、受信したRIO(ICOK)が示すペアに対応する順序保証情報412のログ反映カウンタ値をインクリメントする。また、現在時刻と受信したRIO(ICOK)と同じペアに関するログエントリ(ペア生成)のI/O時間804の差分を順序保証情報413の反映遅れ時刻735に登録する。(ステップ2107)。
(8)更にターゲット側エッジデバイスは、受信したRIO(ICOK)が示すペアについて、ペア情報411のペア状態725をInitial−Copyingに更新する(ステップ2108)。
(9)ログエントリ生成・反映プログラム406は、受信したRIO(ICOK)を含むログエントリ(ICOK)をログ記憶領域413へ作成する(ステップ2109)。ログエントリの作成方法は図20のステップ2008と同じである。
(10)ログエントリ転送プログラム407は、ログエントリ(ICOK)の転送先となるコアデバイスまたはエッジデバイスのIPアドレスを決定する(ステップ2110)。
(11)ログエントリ転送プログラム407は、ステップ2109にて作成したログエントリをステップ2110で決定したIPアドレスに対して送信する(ステップ2111)。
(12)ログエントリ生成・反映プログラム406は、ステップ2109で作成したログエントリ(ICOK)と、このログエントリ(ICOK)と同じペアに関するログエントリ(ペア生成)とをログ記憶領域413から削除する(ステップ2112)。
(13)ターゲット側エッジデバイスは、初期化コピーを行う(ステップ2201)。本ステップの動作は通常運用のデータコピーと同じである。
(14)ログエントリ転送プログラム407は、ログエントリ(Duplex遷移)を受信する(ステップ2202)。
(15)ログエントリ生成・反映プログラム406は、ログエントリ(Duplex遷移)をログ記憶領域413に記憶する(ステップ2203)。
(16)ログエントリ生成・反映プログラム406は、ログエントリ(Duplex遷移)をRIO(Duplex遷移)へ変換する(ステップ2204)。
(17)仮想ストレージ提供プログラム403は、ステップ2204で変換したRIO(Duplex遷移)を、ターゲット外部ストレージ122へ送信する(2205)。
(18)仮想ストレージ提供プログラム403は、ターゲット外部ストレージ122からRIO(Duplex遷移完了(以下、DOKと呼ぶ。))を受信する(ステップ2206)。
(19)ログエントリ生成・反映プログラム406は、受信したRIO(DOK)が示すボリュームペアに関する順序保証情報412のログ反映カウンタ値をインクリメントする。また、現在時刻と受信したRIO(DOK)と同じペアに関するログエントリ(Duplex遷移)のI/O時間804の差分を順序保証情報413の反映遅れ時刻735に登録する。(ステップ2207)。
(20)ターゲット側エッジデバイスは、受信したRIO(DOK)が示すボリュームペアについて、ペア情報411のペア状態725をDuplexに更新する(ステップ2208)。
(21)ログエントリ生成・反映プログラム406は、受信したRIO(DOK)を有するログエントリ(DOK)をログ記憶領域413へ作成する(ステップ2209)。
(22)ログエントリ転送プログラム407は、ログエントリ211(DOK)の転送先となるコアデバイスまたはエッジデバイスのIPアドレスを決定する(ステップ2210)。
(23)ログエントリ転送プログラム407は、ステップ2209にて作成したログエントリ211をステップ2210で決定したIPアドレスに対して送信する(ステップ2211)。
(12)ログエントリ生成・反映プログラム406は、ステップ2209で作成したログエントリ(DOK)と、このログエントリ(DOK)と同じペアに関するログエントリ(Duplex遷移)をログ記憶領域413から削除する(ステップ2112)。
以上の実施形態によれば、ソース外部ストレージとターゲット外部ストレージには、エッジデバイスやコアデバイスの存在を意識させることなく、直接両ストレージ間でリモートコピー処理を実行しているかのように認識させながら、RCN内のエッジデバイス及びコアデバイスによってソース外部ストレージからターゲット外部ストレージへデータを中継することにより、リモートコピー処理を実行することができる。
次に、上述の実施形態の変形例について説明する。
図2はこの変形例に関する情報処理システムの一例を示す図である。
第一の実施例との相違は、仮想ストレージ106のWWNが外部ストレージ122のWWNとは異なり、仮想ストレージ107のWWNが外部ストレージ112のWWNとは異なることである。
管理サーバー103のRCN設定プログラム502は、上述の実施形態に加えて、仮想ストレージ106及び仮想ストレージ107のWWNを決定する。決定は、当該プログラム内部で行っても良いし、エッジデバイス104若しくはエッジデバイス105から情報を受け取って決定してもよい。
RCN設定インターフェースプログラム501は、上述の実施形態に加えて、ホスト111にRCN設定プログラム502が決定した仮想ストレージ106のWWNを、ホスト121にRCN設定プログラム502が決定した仮想ストレージ107のWWNを送信する。したがって、ホスト111がソースボリューム113とターゲットボリューム123のボリュームペアに関するSCSIコマンドを送信する場合には、本変形例では、ソースボリューム113と仮想ボリューム108を識別するための情報として、ソース外部ストレージのWWNとソースボリュームのLUN、仮想ストレージ106のWWNと仮想ボリューム108のLUN(仮想ボリューム108のLUNはターゲットボリューム123のLUNと同じ値であるものとする。尚本発明はこの例には限られない。)を使用する。
エッジデバイスの仮想ストレージ提供プログラム403は、前述の実施形態に加えて、RIOの送信・受信をするときに、仮想ストレージ情報404を用いて以下の変換を行う。
(A)ソース側エッジデバイス104がFCフレームを受信した場合は、FCフレーム220の転送先PortID1412から得られるWWNを、ソース側仮想ストレージ106のWWNから、ターゲット側外部ストレージ122のWWNに変更する。
(B)ターゲット側エッジデバイス105がFCフレームを受信した場合は、FCフレーム220の転送先PortID1412から得られるWWNを、ターゲット側仮想ストレージ107のWWNから、ソース側外部ストレージ112のWWNに変更する。
(C)ソース側エッジデバイス104がFCフレームを送信する場合は、ログエントリ211のターゲットストレージWWNをソース仮想ストレージのWWNに変換し、変換後のソース仮想ストレージのWWNから計算されるPortIDをFCフレームの転送元PortIDとする。
(D)ターゲット側エッジデバイス105がFCフレームを送信する場合は、ログエントリ211のソースストレージWWNをターゲット仮想ストレージのWWNに変換し、変換後のターゲット仮想ストレージのWWNから計算されるPortIDをFCフレームの転送元PortIDとする。
更に、他の変形例として、外部ストレージとエッジデバイスとの接続をIPネットワークにて行うことが考えられる。この場合、FCインターフェース314はIPネットワークに接続可能なインターフェースとなり、FCプロトコルスタック401はIPプロトコルスタック410と同じになる。この時、下記の情報中のWWNについては、WWNに代わってMACアドレス若しくはIPアドレスが使用される。
(A)ストレージ接続情報503
(B)仮想ストレージ情報404
(C)アクセス制御情報405
(D)経路情報408
(E)ペア情報411
(F)ログエントリ211
また、各プログラムもWWNを使用して処理していたプロセスは、WWNに代わり、IPアドレス若しくはMACアドレスを用いて処理する。
リモートコピーが実行される情報処理システムの一例を示す図である。 リモートコピーが実行される情報処理システムの変形例を示す図である。 エッジデバイス、コアデバイス、及び管理サーバのハードウェア構成の一例を示す図である。 エッジデバイス若しくはコアデバイスによって実行されるプログラムの一例を示す図である。 管理サーバが有する情報、プログラムの一例を示す図である。 管理サーバ、エッジデバイス、若しくはコアデバイスで用いられる情報の一例を示す図である。 管理サーバ、エッジデバイス、若しくはコアデバイスで用いられる情報の一例を示す図である。 ログエントリの一例を示す図である。 リモートコピーネットワークを利用したリモートコピー処理の一例を示す図である。 情報処理システムにおける、ペア生成処理、初期コピー処理の一例を示す図である。 情報処理システムにおける、初期コピー処理、Duplex状態への遷移処理の一例を示す図である。 Suspend状態若しくは障害Suspend状態からの再同期処理の一例を示す図である。 フェイルオーバ時の処理の一例を示す図である。 FCフレームとGbEフレームの一例を示す図である。 ログ記憶領域の一例を示す図である。 ホストからソース外部ストレージシステムにデータが書き込まれた場合における処理の一例を示す図である。 ペア生成中のソース側エッジデバイスの処理の一例を示す図である。 ペア生成中のソース側エッジデバイスの処理の一例を示す図である。 通常運用中のソース側エッジデバイスの処理の一例を示す図である。 通常運用中のターゲット側エッジデバイスの処理の一例を示す図である。 ペア生成中のターゲット側エッジデバイスの処理の一例を示す図である。 ペア生成中のターゲット側エッジデバイスの処理の一例を示す図である。
符号の説明
101・・・リモートコピーネットワーク(RCN)
103・・・管理サーバ
104・・・ソース側エッジデバイス
105・・・ターゲット側エッジデバイス
106・・・ソース側仮想ストレージ
107・・・ターゲット側仮想ストレージ
108・・・ソース側仮想ボリューム
109・・・ターゲット側仮想ボリューム
111・・・ソース側ホスト
112・・・ソース外部ストレージ
113・・・ソースボリューム
121・・・ターゲット側ホスト
122・・・ターゲット外部ストレージ
123・・・ターゲットボリューム
202・・・コアデバイス

Claims (20)

  1. 第一のストレージシステム及び第二のストレージシステムとが接続されるリモートコピーネットワークであって、
    前記第一のストレージシステムと接続される第一のエッジデバイスと、
    前記第二のストレージシステムと接続される第二のエッジデバイスと、
    前記第一のエッジデバイス及び前記第二のエッジデバイスを接続するネットワークとを有し、
    前記第一のエッジデバイスは、前記第一のストレージシステムから、前記第二のストレージシステムへデータをリモートコピーするための、リモートコピーI/O要求を受信し、
    前記第一のエッジデバイスは、受信したリモートコピーI/O要求に対する応答を、前記第一のストレージシステムに送信し、
    リモートコピーI/O要求に対する応答を送信した後に、前記第一のエッジデバイスは、リモートコピーI/O要求と該リモートコピーI/O要求の受信順序を示すシーケンシャル番号とを有するログ情報を、前記第二のエッジデバイスに向けて送信し、
    前記第二のエッジデバイスは、受信したログ情報からリモートコピーI/O要求を取り出し、取り出したリモートコピーI/O要求を、ログ情報中のシーケンシャル番号が示す順序に従って前記第二のストレージシステムに送信することを特徴とするリモートコピーネットワーク。
  2. 請求項1記載のリモートコピーネットワークにおいて、
    前記第一のストレージシステムは第一のボリュームを有しており、前記第一のストレージシステムは第一のストレージ識別情報で、前記第一のボリュームは第一のボリューム識別情報で識別され、
    前記第二のストレージシステムは第二のボリュームを有しており、前記第二のストレージシステムは第二のストレージ識別情報で、前記第二のボリュームは第二のボリューム識別情報で識別され、
    前記第一のエッジデバイスには、前記第二のストレージ識別情報と同じ値を有する第一の仮想ストレージ識別情報及び前記第二のボリューム識別情報と同じ値を有する第二の仮想ボリューム識別情報が割り当てられ、
    前記第二のエッジデバイスには、前記第一のストレージ識別情報と同じ値を有する第二の仮想ストレージ識別情報及び前記第一のボリューム識別情報と同じ値を有する第二の仮想ボリューム識別情報が割り当てられ、
    前記第一のエッジデバイスは、前記第一のストレージシステムから、前記第一のストレージ識別情報及び前記第一のボリューム識別情報を送信元の識別情報とし、前記第二のストレージ識別情報及び前記第二のボリューム識別情報を送信先の識別情報とするリモートコピーI/O要求を受信し、該リモートコピーI/O要求を有するログ情報を前記第二のエッジデバイスへ送信することを特徴とするリモートコピーネットワーク。
  3. 請求項1記載のリモートコピーネットワークにおいて、
    前記第一のストレージシステムは第一のボリュームを有しており、前記第一のストレージシステムは第一のストレージ識別情報で、前記第一のボリュームは第一のボリューム識別情報で識別され、
    前記第二のストレージシステムは第二のボリュームを有しており、前記第二のストレージシステムは第二のストレージ識別情報で、前記第二のボリュームは第二のボリューム識別情報で識別され、
    前記第一のエッジデバイスには、第一の仮想ストレージ識別情報と第一の仮想ボリューム識別情報とが割り当てられており、
    前記第一のエッジデバイスは、前記第一のストレージシステムから、前記第一のストレージ識別情報及び前記第一のボリューム識別情報を送信元の識別情報とし、前記第一の仮想ストレージ識別情報及び前記第一の仮想ボリューム識別情報を送信先の識別情報とするリモートコピーI/O要求を受信し、送信先を前記第二のストレージ識別情報と前記第二のボリューム情報に変換して、変換後のI/O要求を有するログ情報を前記第二のエッジデバイスに送信することを特徴とするリモートコピーネットワーク。
  4. 請求項1記載のリモートコピーネットワークにおいて、
    更に、前記第一のエッジデバイスから前記第二のエッジデバイスへのログ情報の送信を中継する少なくとも一のコアデバイスを有することを特徴とするリモートコピーネットワーク。
  5. 請求項4記載のリモートコピーネットワークにおいて、
    前記第一のエッジデバイス、前記第二のエッジデバイス、及び前記コアデバイスはルータ装置であることを特徴とするリモートコピーネットワーク。
  6. 請求項1記載のリモートコピーネットワークにおいて、
    前記第一のエッジデバイスは、前記第二のエッジデバイスへ向けて送信したログ情報を記憶しておき、前記第二のエッジデバイスから前記ログ情報に対する応答を受信した場合に、記憶しておいた前記ログ情報を削除することを特徴とするリモートコピーネットワーク。
  7. 請求項6記載のリモートコピーネットワークにおいて、
    前記第一のエッジデバイスは、前記第二のエッジデバイスへ向けて送信したログ情報が前記第二のエッジデバイスで受信されなかった場合に、記憶しておいたログ情報を前記第二のエッジデバイスへ向けて再送することを特徴とするリモートコピーネットワーク。
  8. 請求項6記載のリモートコピーネットワークにおいて、
    更に、前記第一のエッジデバイス及び前記第二のエッジデバイスと接続される管理ネットワークと、
    前記管理ネットワークに接続される管理サーバとを有しており、
    ログ情報には更に、前記第一のエッジデバイスがリモートコピーI/O要求を受信した際の時刻情報が含まれており、
    前記第一のエッジデバイスは、前記第二のエッジデバイスから前記ログ情報に対する応答を受信した場合に、現時刻から該応答に対応するログ情報に含まれる時刻情報の値を差し引いて求められる 遅れ時間をメモリに記録し、
    前記第一のエッジデバイスは、前記メモリに記録された遅れ時間を前記管理ネットワークを介して前記管理サーバに送信し、
    前記管理サーバが前記遅れ時間を出力することを特徴とするリモートコピーネットワーク。
  9. 請求項1記載のリモートコピーネットワークにおいて、
    更に、第四のストレージシステムと接続される第三のエッジデバイスを有し、
    前記第一のエッジデバイスは更に第三のストレージシステムと接続されており、
    前記第一のエッジデバイスは、前記第三のストレージシステムから前記第四のストレージシステムへデータをリモートコピーするためのリモートコピーI/O要求を受信し、
    前記第一のエッジデバイスは、前記第一のストレージシステムから受信するリモートコピーI/O要求と前記第三のストレージシステムから受信するリモートコピーI/O要求とを区別して処理することを特徴とするリモートコピーネットワーク。
  10. 請求項1記載のリモートコピーネットワークにおいて、
    更に、前記第一のエッジデバイス及び前記第二のエッジデバイスと接続される管理ネットワークと、
    前記管理ネットワークに接続される管理サーバとを有しており、
    前記管理サーバは、前記第一のストレージシステムがリモートコピー元のストレージシステムであり、前記第二のストレージシステムが前記第一のストレージシステムに対応するリモートコピー先のストレージシステムである旨を示すペア情報を受け付け、前記管理ネットワークを介して、受け付けたペア情報を前記第一のエッジデバイス及び前記第二のエッジデバイスに配布することを特徴とするリモートコピーネットワーク。
  11. 第一のストレージシステムに接続され、第一のストレージシステムから第二のストレージシステムへのデータのリモートコピーを中継する中継装置であって、
    前記第一のストレージシステムと接続される第一のインタフェース部と、
    前記第二のストレージシステムと接続される他の中継装置と、ネットワークを介して接続される第二のインタフェース部と、
    プロセッサと、
    メモリを有しており、
    前記第一のインタフェース部は、前記第一のストレージシステムから前記第二のストレージシステムにデータをリモートコピーするためのリモートコピーI/O要求を受信し、該リモートコピーI/O要求に対する応答を、前記第一のストレージシステムに返信し、
    前記プロセッサは、リモートコピーI/O要求と、該リモートコピーI/O要求の受信順序を示すシーケンシャル番号とを有するログ情報とを作成して前記メモリに記憶し、
    前記第二のインタフェース部は、作成したログ情報を、リモートコピーI/O要求に対応する応答を返信した後に、前記他の中継装置に対して送信し、
    前記第二のインタフェース部は、ログ情報に対する応答を受信し、
    前記プロセッサは、受信した応答に対応するログ情報を、前記メモリから削除することを特徴とする中継装置。
  12. 請求項11記載の中継装置であって、
    前記第二のインタフェース部がログ情報に対する応答を受信しない場合に、
    前記第二のインタフェース部は、前記メモリに格納されているログ情報を再送することを特徴とする中継装置。
  13. 請求項11記載の中継装置であって、
    更に管理サーバとネットワークを介して接続される第三のインタフェース部を有しており、
    前記ログ情報には、更に前記第一のインタフェース部がリモートコピーI/O要求を受信した時点の時刻情報が含まれており、
    前記第二のインタフェース部が、ログ情報に対する応答を受信した場合に、
    前記プロセッサは、前記応答を受信した時点の時刻から、前記応答に対応するログ情報に含まれる時刻情報の値を差し引いた、遅れ時間を計算し、
    前記第三のインタフェース部は、遅れ時間を前記管理サーバに送信することを特徴とする中継装置。
  14. 請求項11記載の中継装置であって、
    更に管理サーバと接続される第三のインタフェース部を有しており、
    該中継装置には第一の仮想ストレージ識別情報と第一の仮想ボリューム情報とが割り当てられており、
    前記第三のインタフェース部は、前記第一の仮想ストレージ識別情報及び前記第一の仮想ボリューム情報をリモートコピーの送信先情報、前記第一のストレージシステムの識別情報である第一のストレージ識別情報と前記第一のストレージシステムが有する第一のボリュームの識別情報である第一のボリューム識別情報とをリモートコピーの送信元情報とするペア情報を、前記管理サーバから受信することを特徴とする中継装置。
  15. 請求項14記載の中継装置であって、
    前記第一の仮想ストレージ識別情報は、前記第二の記憶装置システムの識別情報である第二のストレージ識別情報と同じ値を有し、
    前記第一の仮想ボリューム情報は、前記第二の記憶装置システムが有する第二のボリュームの識別情報である第二のボリューム識別情報と同じ値を有することを特徴とする中継装置。
  16. 請求項14記載の中継装置であって、
    前記第一のインタフェース部が受信するリモートコピーI/O要求には、送信元の情報として前記第一のストレージ識別情報と前記第一のボリューム識別情報が、送信先の情報として前記第一の仮想ストレージ情報と前記第一の仮想ボリューム情報が含まれており、
    前記プロセッサは、送信先の情報を、前記第二のストレージシステムの識別情報である第二のストレージ識別情報と、前記第二のストレージシステムが有する第二のボリュームの識別情報である第二のボリューム識別情報とに変換して、変換後のリモートコピーI/O要求を有するログ情報を作成することを特徴とする中継装置。
  17. 第二のストレージシステムに接続され、第一のストレージシステムから第二のストレージシステムへのデータのリモートコピーを中継する中継装置であって、
    前記第一のストレージシステムと接続される他の中継装置と、ネットワークを介して接続される第一のインタフェース部と、
    前記第二のストレージシステムと接続される第二のインタフェース部と、
    プロセッサとを有しており、
    前記第一のインタフェース部は、前記第一のストレージシステムから前記第二のストレージシステムにデータをリモートコピーするためのリモートコピーI/O要求と、リモートコピーI/O要求の前記他の中継装置における受信順序を示すシーケンシャル番号とを有する、ログ情報を、前記他の中継装置から受信し、
    前記プロセッサは受信したログ情報からリモートコピーI/Oを取得し、
    前記第二のインタフェース部は、取得したリモートコピーI/O要求を、ログ情報に含まれるシーケンシャル番号順に、前記第二のストレージシステムに送信することを特徴とする中継装置。
  18. 請求項17記載の中継装置であって、
    更に管理サーバと接続される第三のインタフェース部を有しており、
    該中継装置には第二の仮想ストレージ識別情報と第二の仮想ボリューム情報とが割り当てられており、
    前記第三のインタフェース部は、前記第二の仮想ストレージ識別情報及び前記第二の仮想ボリューム情報をリモートコピーの送信元情報、前記第二のストレージシステムの識別情報である第二のストレージ識別情報と前記第二のストレージシステムが有する第二のボリュームの識別情報である第二のボリューム識別情報をリモートコピーの送信先情報とするペア情報を、前記管理サーバから受信することを特徴とする中継装置。
  19. 請求項18記載の中継装置であって、
    前記第二の仮想ストレージ識別情報は、前記第一のストレージシステムの識別情報である第一のストレージ識別情報と同じ値を有し、
    前記第二の仮想ボリューム識別情報は、前記第一のストレージシステムが有する第一のボリュームの識別情報である第一のボリューム識別情報と同じ値を有することを特徴とする中継装置。
  20. 請求項18記載の中継装置であって、
    前記第一のインタフェース部が受信するログ情報中のリモートコピーI/O要求には、送信元の情報として前記第一のストレージ識別情報と前記第一のボリューム識別情報が、送信先の情報として前記第二のストレージ情報と前記第二のボリューム情報が含まれており、
    前記プロセッサは、受信したログ情報中のリモートコピーI/O要求を取得し、送信元の情報を、前記第二の仮想ストレージ識別情報と前記第二の仮想ボリューム識別情報とに変換し、
    前記第二のインタフェース部は変換後のリモートコピーI/O要求を前記第二のストレージシステムに送信することを特徴とする中継装置。
JP2003394921A 2003-11-26 2003-11-26 リモートコピーネットワーク Pending JP2005157712A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2003394921A JP2005157712A (ja) 2003-11-26 2003-11-26 リモートコピーネットワーク
US10/816,572 US7055011B2 (en) 2003-11-26 2004-03-31 Remote copy network
DE602004012220T DE602004012220T2 (de) 2003-11-26 2004-06-01 Fernkopiernetzwerk
EP04012936A EP1536337B1 (en) 2003-11-26 2004-06-01 Remote copy network
CNB2004100961062A CN100456256C (zh) 2003-11-26 2004-11-26 远程复制网络系统
CN2008101869288A CN101426025B (zh) 2003-11-26 2004-11-26 远程复制网络
US11/354,671 US7305531B2 (en) 2003-11-26 2006-02-14 Remote copy network
US11/935,780 US7809909B2 (en) 2003-11-26 2007-11-06 Remote copy network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003394921A JP2005157712A (ja) 2003-11-26 2003-11-26 リモートコピーネットワーク

Publications (2)

Publication Number Publication Date
JP2005157712A true JP2005157712A (ja) 2005-06-16
JP2005157712A5 JP2005157712A5 (ja) 2006-03-30

Family

ID=34463789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003394921A Pending JP2005157712A (ja) 2003-11-26 2003-11-26 リモートコピーネットワーク

Country Status (5)

Country Link
US (3) US7055011B2 (ja)
EP (1) EP1536337B1 (ja)
JP (1) JP2005157712A (ja)
CN (2) CN100456256C (ja)
DE (1) DE602004012220T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016503552A (ja) * 2013-03-14 2016-02-04 株式会社日立製作所 ディザスタリカバリ仮想化の方法及び装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005101241A2 (en) * 2004-04-13 2005-10-27 Alon Tavori Method for depositing and retrieving digital records
JP2006293850A (ja) * 2005-04-13 2006-10-26 Hitachi Ltd リモートコピーシステムおよびリモートコピー方法
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US7890611B2 (en) * 2006-01-12 2011-02-15 Comcast Cable Holdings, Llc Edge QAM device configuration using a configuration file having a dynamic file format
US20070300026A1 (en) * 2006-06-23 2007-12-27 Kwok-Yan Leung Synchronous backup device and method used for storage device
KR100843136B1 (ko) * 2006-11-14 2008-07-02 삼성전자주식회사 비휘발성 메모리에서 연산 처리를 제어하는 장치 및 그방법
JP2008299481A (ja) * 2007-05-30 2008-12-11 Hitachi Ltd ストレージシステム及び複数拠点間でのデータコピー方法
US8271706B2 (en) * 2008-05-22 2012-09-18 International Business Machines Corporation Stabilization of host to storage subsystem ownership
US20100050021A1 (en) * 2008-08-25 2010-02-25 International Business Machines Corporation Error code handling in a storage subsystem
JP2010097533A (ja) * 2008-10-20 2010-04-30 Hitachi Ltd パーティションで区切られた計算機システムにおけるアプリケーション移動及び消費電力の最適化
JP5617304B2 (ja) * 2010-03-26 2014-11-05 富士通株式会社 スイッチング装置、情報処理装置および障害通知制御プログラム
US9183560B2 (en) 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
CN103546514B (zh) * 2012-07-13 2016-12-21 阿里巴巴集团控股有限公司 一种处理延迟发送的日志数据的方法和系统
JP6489144B2 (ja) * 2017-03-23 2019-03-27 日本電気株式会社 情報処理装置
CN108063685B (zh) * 2017-12-06 2021-06-18 迈普通信技术股份有限公司 日志分析方法及装置
US10691568B2 (en) * 2018-07-26 2020-06-23 International Business Machines Corporation Container replication and failover orchestration in distributed computing environments
JP7150584B2 (ja) 2018-12-06 2022-10-11 エヌ・ティ・ティ・コミュニケーションズ株式会社 エッジサーバとそのプログラム
JP7150585B2 (ja) 2018-12-06 2022-10-11 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ検索装置とそのデータ検索方法およびプログラム、エッジサーバとそのプログラム
CN110418218B (zh) * 2019-07-26 2021-06-29 新华三技术有限公司成都分公司 报文处理方法、装置及fcf交换设备
CN111158612B (zh) * 2020-04-02 2020-07-24 中国人民解放军国防科技大学 一种协同移动设备的边缘存储加速方法、装置及设备

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
AU4652493A (en) * 1992-06-18 1994-01-24 Andor Systems, Inc. Remote dual copy of data in computer systems
US5327144A (en) 1993-05-07 1994-07-05 Associated Rt, Inc. Cellular telephone location system
KR0128271B1 (ko) 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5537533A (en) 1994-08-11 1996-07-16 Miralink Corporation System and method for remote mirroring of digital data from a primary network server to a remote network server
US5901327A (en) 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
JP3835569B2 (ja) * 1996-12-20 2006-10-18 ヤマハマリン株式会社 船外機
US5949970A (en) 1997-01-07 1999-09-07 Unisys Corporation Dual XPCS for disaster recovery
US5937414A (en) 1997-02-28 1999-08-10 Oracle Corporation Method and apparatus for providing database system replication in a mixed propagation environment
US6073209A (en) 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US6324654B1 (en) 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
JP2968790B1 (ja) 1998-08-25 1999-11-02 茨城日本電気株式会社 磁気ディスク装置のアドレス変換方法、磁気ディスク装置、アドレス変換プログラムを記録した記録媒体
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US6477543B1 (en) * 1998-10-23 2002-11-05 International Business Machines Corporation Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US6209002B1 (en) 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
JP2000305856A (ja) 1999-04-26 2000-11-02 Hitachi Ltd ディスクサブシステム及びこれらの統合システム
US6539462B1 (en) 1999-07-12 2003-03-25 Hitachi Data Systems Corporation Remote data copy using a prospective suspend command
US7203732B2 (en) 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
TW536672B (en) * 2000-01-12 2003-06-11 Hitachi Ltd IC card and microcomputer
US6601187B1 (en) 2000-03-31 2003-07-29 Hewlett-Packard Development Company, L. P. System for data replication using redundant pairs of storage controllers, fibre channel fabrics and links therebetween
US6658540B1 (en) 2000-03-31 2003-12-02 Hewlett-Packard Development Company, L.P. Method for transaction command ordering in a remote data replication system
JP2001306414A (ja) 2000-04-25 2001-11-02 Hitachi Ltd 記憶装置のリモートコピーシステム
US6383482B1 (en) * 2000-08-24 2002-05-07 Vitacost.Com, Inc. Weight loss composition containing green tea, hydroxycitric acid, 5-hydroxytryptophan, glucomannan, picolinate and lactobacillus
US6665812B1 (en) 2000-12-22 2003-12-16 Emc Corporation Storage array network backup configuration
US6976139B2 (en) * 2001-11-14 2005-12-13 Emc Corporation Reversing a communication path between storage devices
US6701392B1 (en) * 2001-11-14 2004-03-02 Emc Corporation Hierarchical approach to indentifying changing device characteristics
US6728898B2 (en) * 2002-03-06 2004-04-27 Marathon Technologies Corporation Producing a mirrored copy using incremental-divergence
JP2003316616A (ja) * 2002-04-24 2003-11-07 Hitachi Ltd 計算機システム
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US7134044B2 (en) 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
US7024528B2 (en) 2002-08-21 2006-04-04 Emc Corporation Storage automated replication processing
JP4393762B2 (ja) 2002-12-19 2010-01-06 株式会社日立製作所 データベース処理方法及び装置並びにその処理プログラム
US7065589B2 (en) 2003-06-23 2006-06-20 Hitachi, Ltd. Three data center remote copy system with journaling
US7188222B2 (en) 2003-09-29 2007-03-06 International Business Machines Corporation Method, system, and program for mirroring data among storage sites
US7412576B2 (en) 2004-12-08 2008-08-12 Hitachi, Ltd. Remote copy system having multiple data centers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016503552A (ja) * 2013-03-14 2016-02-04 株式会社日立製作所 ディザスタリカバリ仮想化の方法及び装置

Also Published As

Publication number Publication date
DE602004012220T2 (de) 2009-03-19
US20060168146A1 (en) 2006-07-27
EP1536337B1 (en) 2008-03-05
EP1536337A3 (en) 2006-05-03
CN100456256C (zh) 2009-01-28
CN101426025A (zh) 2009-05-06
CN1637714A (zh) 2005-07-13
US20080065848A1 (en) 2008-03-13
US7305531B2 (en) 2007-12-04
CN101426025B (zh) 2013-02-13
DE602004012220D1 (de) 2008-04-17
EP1536337A2 (en) 2005-06-01
US7055011B2 (en) 2006-05-30
US7809909B2 (en) 2010-10-05
US20050114730A1 (en) 2005-05-26

Similar Documents

Publication Publication Date Title
US7305531B2 (en) Remote copy network
JP4689137B2 (ja) リモートコピー制御方法、及びストレージシステム
US8285824B2 (en) Storage system and data replication method that refuses one or more requests for changing the first logical configuration information until the first storage apparatus and second storage apparatus are synchronized
US7472173B2 (en) Remote data copying among storage systems
JP4963808B2 (ja) 記憶制御システム
JP4382602B2 (ja) リモートコピーシステム
US20060129772A1 (en) Data processing method and system
JP2002312189A (ja) クラスターシステムにおける遠隔ミラーを使用した障害通知方法及びシステム
US7987154B2 (en) System, a method and a device for updating a data set through a communication network
JP2007052772A (ja) データ複製システム並びにデータ移行方法
US7213114B2 (en) Remote copy for a storage controller in a heterogeneous environment
JP2002014777A (ja) データ移行方法並びにプロトコル変換装置及びそれを用いたスイッチング装置
JP2006127217A (ja) 計算機システムおよび計算機システムの制御方法
JP2006309506A (ja) リモートコピー処理方法、プログラム及び装置
US7167962B2 (en) Remote copy for a storage controller with reduced data size
JP2010020410A (ja) リモートコピーシステム及びリモートコピー方法
JP4080970B2 (ja) パス切替えを提供するスイッチ
JP2004272884A (ja) 複数リモートストレージでのリモートコピー停止後のデータ同期化方式

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051128

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060209

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060523

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090414