JP5466650B2 - ストレージ・コピー・サービス・システムを管理する装置および方法 - Google Patents

ストレージ・コピー・サービス・システムを管理する装置および方法 Download PDF

Info

Publication number
JP5466650B2
JP5466650B2 JP2010534477A JP2010534477A JP5466650B2 JP 5466650 B2 JP5466650 B2 JP 5466650B2 JP 2010534477 A JP2010534477 A JP 2010534477A JP 2010534477 A JP2010534477 A JP 2010534477A JP 5466650 B2 JP5466650 B2 JP 5466650B2
Authority
JP
Japan
Prior art keywords
data
storage
replication engine
storage array
replication
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.)
Active
Application number
JP2010534477A
Other languages
English (en)
Other versions
JP2011505033A (ja
Inventor
デイ、サード、ケネス
ニコルソン、ロバート、ブルース
サンダーズ、リー、ジェイソン
スケールズ、ウィリアム、ジェームズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2011505033A publication Critical patent/JP2011505033A/ja
Application granted granted Critical
Publication of JP5466650B2 publication Critical patent/JP5466650B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error 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 while ensuring consistency
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Description

本発明は、ストレージ・システムの改善された管理の技術に関し、より具体的には、ストレージ・コピー・サービスを有するストレージ・システムを管理する技術に関する。
現代のストレージ・コントローラによって提供される重要なサービスの1つが、コピー・サービス・ソリューション(解決策)である。コピー・サービスは、リモート・コピー、ポイント・イン・タイム・コピー(point in time copy)、およびコンティニュアス・データ・プロテクション(continuous dataprotection、CDP)を含むが、これらに限定はされない。これらのコピー・サービスは、現在、通常はストレージ・コントローラ・マイクロコードの一体化された部分としてストレージ・コントローラの内部に実装される。しかし、最近、ストレージ・コントローラの内部ではなく、本明細書で「レプリケーション・エンジン(ReplicationEngine)」と呼ばれる機器内にコピー・サービスが実装される、新しい手法が、産業界で現れてきた。
上記のコピー・サービス機能またはレプリケーション機能のすべてが、保護されるデータの「書込み」が「分割(スプリット)される」ことに頼る。これが意味するものは、コピー・サービス機器が、書込みがストレージ・コントローラに対して実行されつつある書込みと同期式に進行中であることの通知を受け取ることである。
従来技術によるシステムには、おおまかに言って、このスプリッタ技術の2つの別個の実施態様がある。これらの配置を、図1に示す。まず、ファブリック内に実装されるスプリッタを使用するという技法がある。これは図1の左側に示されており、ここで、ホスト100は、SANファブリック104に接続され、SANベースのスプリッタ116は、物理ストレージ106に対して主I/Oとして機能する。SANベースのスプリッタ116は、I/Oをレプリケーション・エンジン110にも向け、レプリケーション・エンジン110には、コピー・サービス・コンポーネント112が常駐し、コピー・サービスを実行する。第2の技法は、デバイス・ドライバなど、ホスト・ソフトウェア・スタック内にスプリッタを実装することである。ホスト・オペレーティング・システムの論理ボリューム・マネージャ(LVM)を、この機能に使用することもできる。この配置は、図1の右側に示されており、ここで、スプリッタ114は、SANファブリック104のレベルの上でホスト102に接続される。これらの実施態様のそれぞれで、書込みデータは、スプリッタからレプリケーション・エンジンに送られる。
これらの方式のすべての不利益は、次のとおりである。
1.複数の異なる実施態様が、すべてのホスト・タイプおよびスイッチ・タイプを包含するために必要である。
2.ホストでの分割(スプリット)は、ホストCPU MIPSを消費し、スイッチ・リンクへのホスト上の書込み帯域幅要件を2倍にする。
3.ホストおよびスイッチは、通常、不揮発性メモリへのアクセスを有しない。これは、ホストがインフライト書込みの状態を信頼できる形で追跡することがむずかしく、設計上の妥協を強制し、この設計上の妥協が、性能、堅牢さ(ロバストネス)、または解決策が電力消失から回復できる速度のいずれかに影響することを意味する。
米国特許出願第11/840179号に、ホスト内またはストレージ・エリア・ネットワーク(SAN)内ではなく、ストレージ・コントローラの内部での包括的スプリット・プロトコルの実装を可能にする技法が開示されている。このプロトコルは、複数の異なるストレージ・コントローラにまたがって共通のコピー機能を作成するためのインフラストラクチャを提供する。インターフェースは、ストレージ・アレイ(SA)をレプリケーション・エンジン(RE)におよび互いに接続することを可能にし、新しいレプリケーション機能をよりすばやく展開できるようにする、単純なインターフェースであることが意図されている。この実施態様は、スプリッタによって受け取られる各書込みコマンドが複製され、主ストレージとレプリケーション・エンジンとの両方に並列に送られるプロトコルの使用に依存する。レプリケーション・エンジンは、通常(そうである必要はないが)スプリッタを含むものと同一のストレージ・アレイによって提供される、あるストレージを有する。REは、これをそのコピー・サービスを実施するための「リポジトリ」として使用する。このリポジトリは、通常、主ディスクに書き込まれたデータを、おそらくは過去のある時に主ディスクにあったデータのより古いコピーと一緒に、またメタデータと一緒に含む。このプロトコルでは、使用されるコマンドは、制御情報とホストから受け取られたデータとの両方を転送する。レプリケーション・エンジンの期待される実施態様は、ディスク・ストレージを含まないが、その代わりにストレージ・アレイによって提供されるストレージLUNを使用することである。したがって、REがそのリポジトリ内に1つのコピーを格納することだけを必要とする単純な書込みのデータ・フローは、ホスト→ストレージ・コントローラ→レプリケーション・エンジン→ストレージ・コントローラ→ディスク(リポジトリ・ストレージ)である。もちろん、実際には、REは、おそらくはあるメタデータをデータに関連付けることを必要とし、また、データを、そのリポジトリ内のある場所からそのリポジトリ内の別の場所にコピーすることをも必要とする可能性がある。REは、主ディスクとリポジトリとの間でデータをコピーすることをも必要とする可能性がある。
そのような配置を、図2に示すが、図2には、スプリッタ202を有するストレージ装置200およびスプリッタ206を有するストレージ仮想化コントローラ(SVC)204がさらに示されている。
従来技術のこれらの実施態様のすべてによる分割書込みのデータ・フローを、図3に示されているように単純化された形で示すことができ、図3では、ホスト300が、フロー1でデータをストレージ・アレイ(SA)302に書き込む。SA 302は、データをフロー2で主物理ストレージ306に送り、フロー3でレプリケーション・エンジン(RE)304に送る。RE 304は、メタデータを追加し、データおよびメタデータをフロー4でSA 302に送り、SA 302は、そのデータをフロー5で副物理ストレージ308に送る。
REを介してデータを送ることは、次の不利益を有する。
・データは、ネットワークにまたがりストレージ・アレイ・メモリをネットワーク接続するバスにまたがる、少なくとも2つの余分な通過(パス)を必要とする。これは、任意の所与のハードウェア・プラットフォームに関してこの解決策によって達成できる帯域幅を制限する。
・ストレージ・コントローラが、データ保全性検査のためのチェック・バイトを含むデータ・フォーマットを実装する場合に、REがこの方式に加わらなければならないか、データがデータ・フローのこの部分で保護されないかのいずれかになる。
米国特許出願第11/840179号
したがって、ストレージ・コピー・サービスを有するストレージ・システムを管理する改善された技術を有することが望ましい。
本発明は、第1の態様で、ホストによる主ストレージ位置へのデータの書込みがデータ・レプリケーションの対象になることの通知をレプリケーション・エンジンに送るように動作可能であるストレージ・アレイ・コンポーネントを含み、レプリケーション・エンジンが、通知を受け取り、それに応答して、データを副ストレージ位置にコピーするようにストレージ・アレイに指示するように動作可能であり、データが、レプリケーション・エンジンによって調停(仲介)されずに副ストレージ位置にコピーされる、データ複製機能を有するストレージ・システムを制御する装置を提供する。
好ましくは、レプリケーション・エンジンは、データの制御に関するメタデータを作成し、メタデータをストレージ・アレイに送るように動作可能である。
この装置は、データの読取りを実行するようにさらに動作可能とすることができ、データは、レプリケーション・エンジンによって調停されずにストレージ・アレイによってホストに返される。
この装置は、ホストから副ストレージ位置にデータを書き込むようにさらに動作可能とすることができ、データは、レプリケーション・エンジンによって調停されずにストレージ・アレイによって副ストレージ位置に書き込まれる。
この装置は、主ストレージ位置と副ストレージ位置との間でデータを再同期化するようにさらに動作可能とすることができ、データは、レプリケーション・エンジンによって調停されずにストレージ・アレイによって主ストレージ位置から副ストレージ位置に転送される。
第2の態様では、ストレージ・アレイ・コンポーネントによって、ホストによる主ストレージ位置へのデータの書込みがデータ・レプリケーションの対象になることの通知をレプリケーション・エンジンに送るステップと、レプリケーション・エンジンによって通知を受け取り、それに応答して、データを副ストレージ位置にコピーするようにストレージ・アレイに指示するステップとを含み、データが、レプリケーション・エンジンによって調停されずに副ストレージ位置にコピーされる、データ複製機能を有するストレージ・システムを制御する方法が提供される。
好ましくは、レプリケーション・エンジンは、データの制御に関するメタデータを作成し、メタデータをストレージ・アレイに送る。
この方法は、データの読取りをさらに実行することができ、データは、レプリケーション・エンジンによって調停されずにストレージ・アレイによってホストに返される。
この方法は、ホストから副ストレージ位置にデータを書き込むことをさらに含むことができ、データは、レプリケーション・エンジンによって調停されずにストレージ・アレイによって副ストレージ位置に書き込まれる。
この方法は、主ストレージ位置と副ストレージ位置との間でデータを再同期化することをさらに含むことができ、データは、レプリケーション・エンジンによって調停されずにストレージ・アレイによって主ストレージ位置から副ストレージ位置に転送される。
第3の態様では、その上に機能データを有するデータ・キャリアであって、機能データが、コンピュータ・システムにロードされ、これによって操作される時に、コンピュータ・システムが第2の態様による方法のすべてのステップを実行することを可能にするために機能コンピュータ・データ構造を含む、データ・キャリアが提供される。
第4の態様では、コンピュータ・システムにロードされ、そこで実行される時に、コンピュータ・システムに第2の態様による方法のすべてのステップを実行させるためにコンピュータ・プログラム・コードを含む、コンピュータ・プログラムが提供される。
本発明の実施形態は、その最も広義の態様において、レプリケーション・エンジンが、データ自体がレプリケーション・エンジンを介して流れることなくコピー・サービスを実施することを可能にするために、制御シーケンスおよびメタデータをレプリケーション・エンジンと交換する装置および方法を提供する。
本発明の好ましい実施形態を、これから、例としてのみ、添付図面を参照して説明する。
従来技術による装置の2つの可能な配置を概略的な形で示す図である。 従来技術に対する1つの提案される改善による装置の2つの可能な配置を概略的な形で示す図である。 図1および2に示された従来技術方式による分割書込みのデータの流れ(データ・フロー)を単純化された概略的な形で示す図である。 本発明の好ましい実施形態による分割書込みのデータの流れを単純化された概略的な形で示す図である。 従来技術によるCDPを使用して保存されたボリュームのヒストリック・ビューからのデータ読取りのデータの流れを単純化された概略的な形で示す図である。 本発明の好ましい実施形態によるCDPを使用して保存されたボリュームのヒストリック・ビューからのデータ読取りのデータの流れを単純化された概略的な形で示す図である。 本発明の好ましい実施形態によるCDPを使用して保存されたボリュームのヒストリック・ビューへのデータ書込みのデータの流れを単純化された概略的な形で示す図である。 本発明の好ましい実施形態による副ボリュームとの主ボリュームの再同期化のデータの流れを単純化された概略的な形で示す図である。
本発明の好ましい実施形態を、これから図面を参照して説明する。上述したように、図1から図3は、従来技術による装置の配置およびデータ・フローを示す。これらは、本発明の背景を形成するものとして上述された。
非常に広義の用語で、本発明の好ましい実施形態は、新しい改善されたプロトコルに従うハードウェアおよびソフトウェアを提供する。このプロトコルは、レプリケーション・エンジンがサブスクライブしたボリュームへのすべての新しい書込みについてレプリケーション・エンジンに知らせる。レプリケーション・エンジンが新たに書き込まれるデータをレプリケーション・エンジン・リポジトリ・ボリューム上のエリアに向けることを可能にするインターフェースが設けられる。このインターフェースは、データがリポジトリに書き込まれる時に、REによって生成されるメタデータをそのデータに追加することをも可能にし、リポジトリと主ボリュームとの間のデータ移動を可能にする。このプロトコルは、これらのデータ移動の必要なシリアライゼーションを可能にし、コンシステンシ・グループ(consistency group)をボリュームの間で作成することを可能にする。このプロトコルは、CDP(continuous dataprotection)エンジン内のデータのヒストリカル・ビューなど、リポジトリ内のデータの「コピー・サービス・ビュー」にアクセスするためにボリュームを作成することをも可能にする。
当業者に明白であるとおり、SA→RE→SAデータ・フローは、REがおそらくはデータをリモート・サイトのREに送る(グローバル・ミラー/メトロミラー:Global Mirror/MetroMirror)ためにデータのコピーを入手する必要がある時に必要である。しかし、本発明の好ましい実施形態による新しい改善されたプロトコルが、Continuous Data Protection(CDP)およびスナップショットまたはT0コピーなどの機能のために使用されるならば、サーバのデータが実際にレプリケーション・エンジンを介して流れる必要はない。本発明の好ましい実施形態は、これを避ける方式を提供する。
本発明の好ましい実施形態を説明するために、IBM System Storage SANボリューム・コントローラなどのすべての「帯域内仮想化機器」は、ストレージ・アレイ(SA)として扱われる。したがって、用語「ストレージ・アレイ」は、記憶媒体の単なる物理的配置に限定されるのではなく、アレイの制御およびアレイ内のデータのストレージに関するハードウェアおよびソフトウェア供給の全体を包含する。
上で述べたスプリッタ・プロトコルではなく本発明の好ましい実施形態を使用することの利益の一部は、次のとおりである。
・データがREへおよびそこから戻って流れる必要がないので、帯域幅に関する要件が、SA、SAN、およびRE内で大きく減らされる。所与のハードウェア・システムについて、これは、大幅により高いデータ・レートを達成することを可能にする。
・データがREを介して流れる必要がないので、この方式は、データ保全性フィールドをデータに埋め込むSAS(serial attached SCSI)についても働く。REは、SAがこれを行ったことを知る必要がなく、これに関するサポートを有する必要がない。
・データがSAとREとの間で流れないので、SAとREとの間のリンクを、より低い帯域幅の相互接続技術を使用して実施することができる。潜在的に、このリンクを、ファイバ・チャネルではなくイーサネット(R)を使用して実施することができる。これは、現在はファイバ・チャネル・イニシエータを実装しないストレージ・アレイのかなりの開発出費およびタイム・トゥー・マーケットを節約することができる。
基本的な前提は、主ボリュームとREとの間で書込みデータを本質的にミラーリングする「スプリッタ」が、ストレージ・アレイ(SA)に書き込まれることである。REによって使用されるストレージが、主ボリュームを管理しているのと同一のSA機器上にあることが意図されている。
以下の図面の例示的説明は、SAがカスタマ書込みデータをREにどのように通信し、REがカスタマ・データについてCDPをどのように提供するかを説明するものである。コマンド・シーケンスは、標準SCSIコマンドではなく、ベンダ固有SCSIコマンドであることが意図されている。したがって、SCSI「読取り」は、実際のSCSI読取りを示すことを意味するのではなく、ターゲットからイニシエータ(SAがイニシエータである)に向かうデータ転送の方向を有する読取りに見えるコマンドを示すことを意味する。
RE製品の1つの既知の例は、ホスト・カスタマ・データをヘッダおよびフッタ情報でラップする。この情報が、REメタデータであり、REは、この情報を使用して、CDPの主ボリューム・データをそれ相応に管理する。REデバイスは、LUN(logical unit number)にまたがってCDPデータおよびメタデータをストライピングすることを選択することもでき、したがって、コマンドの一部は、LUNおよびLBA(logicalblock addressing)のリストを必要とする。
ここで図4に移ると、本発明の好ましい実施形態による分割書込み(splitwrite)のデータの流れが単純化された概略的な形で示されている。ホスト300は、フロー1で書込みデータをSA 302に送り、SA 302は、フロー2で書込みデータを主物理ストレージ306に送る。完了は、フロー2aで主物理ストレージ306によって返され、SA 302は、フロー2bで完了をホスト300に返す。この書込みのコマンド記述子ブロック(CDB)は、SA 302によってフロー3でRE 304に送られる。RE 304は、メタデータを生成し、これをフロー4でSA 302に返す。状況メッセージも、RE 304によってフロー5でSA 302に送られる。SA 302は、書込みデータおよびRE 304から受け取ったメタデータを組み合わせ、その組合せをフロー6で副物理ストレージ308に送る。したがって、当業者には、有利なことに、RE 304へおよびこれからのデータ・フローが、処理および帯域幅減少における結果の利益を伴って回避されることが明白である。書込みデータが、「インフライト」の電力消失の場合に保存されることを保証するために、インフライト書込みデータのすべてが、図4のフロー2bとフロー6との間で不揮発性ストレージ内に保存されなければならない。
ネットワークにまたがって送られる状況メッセージは、REが別のSAから切断された可能性が考えられる場合に、クロス・スプリッタ・コンシステンシ・グループに使用される。
主ボリュームのヒストリック・ビューに発行される読取り(すなわち、現在の最新のレイヤからではなく、過去の指定された時刻のデータを表すレイヤからデータを読み取る命令)の場合には、類似する有益な効果を、本発明の好ましい実施形態によって達成することができる。
図5に移ると、この状況に関する従来技術によるコマンドおよびデータ・フローが示されている。
図5では、ホスト300は、フロー1でヒストリック・ビューを指定するREADコマンドを発行する。SA 302は、このREADコマンドをフロー2でRE 304に送る。REは、ヒストリック・ビューについてそのデータに従ってコマンドを構造化し、そのREADをフロー3でSA 302に送る。SA 302は、そのREADをフロー4で副物理ストレージ308に発行し、副物理ストレージは、フロー5でデータをSA 302に返す。データは、REのREADを満たすためにSA 302によってフロー6でRE 304に渡され、REは、そのデータをフロー7でSA 302に返す。その後、SA 302は、そのデータをフロー8でホスト300に返す。
図6に移ると、この状況に関する本発明の好ましい実施形態によるコマンドおよびデータ・フローが示されている。
図6では、ホスト300は、READコマンドをSA 302に送り、SA 302は、そのREADコマンドをフロー2でRE 304に送る。RE 304は、状況メッセージをフロー3でSA 302に送り、SA 302は、READをフロー4で副物理ストレージ308に発行する。副物理ストレージ308は、要求されたデータをフロー5でSA 302に返し、SAは、要求されたデータをフロー6でホスト300に返す。
REが、複数のLUNにまたがってデータをフラグメント化したかストライピングした場合があること、またはREの割り当てたLUNがスナップショット・エリア内でフラグメント化され、したがってREがホスト・データの複数の位置を指定できるという要件があることが、可能である。したがって、SA 302からRE 304に送られるREADが、複数位置READである場合がある。
書込みを副ボリュームに発行することが必要になる場合、たとえば、システムがCDP機能性を使用して保存されたヒストリック・ビュー内のデータに戻ることが必要になる場合がある。これは、たとえば、より後のデータが破壊され、より以前の破壊されていないデータを基礎として処理を継続するために「時計の針を逆に回す」ことが必要になる時に当たる。
図7に移ると、この状況に関する本発明の好ましい実施形態によるコマンドおよびデータ・フローが示されている。
図7では、フロー1で、ホスト300が、書き込まれるデータをSA 302に送り、そしてSA 302は、書込みCDBをフロー2でRE 304に送る。RE 304は、フロー3でメタデータを、フロー4で状況メッセージをSA 302に送り、SA 302は、書込みデータおよびメタデータを組み合わせ、これをフロー5で副物理ストレージ308に書き込む。
REボリューム(またはLUN)が、主ボリュームと同期外れになる(たとえば、切断に起因して)場合には、RE LUNを主ボリュームと再同期化することが必要である。REとSAとの間の切断のすべての期間中に、SAは、主ボリュームに関する書込みI/O要求の処理を継続することを強いられる。切断されている間に、主ボリュームは、CDPデータを格納しているRE LUNと同期外れになる。再接続がSAによって検出される時に、SAは、書込みが切断中にSAによって受け取られたことをREが知るようにするために、そのDRL(ダーティ・リージョン・ログ(Dirty Region Log))をREに送る必要がある。その後、REは、ダーティである主ボリュームのリージョンのそれぞれに関するコピー要求を開始する。
この状況のコマンドおよびデータ・フローを図8に示すが、図8では、ホスト300は、おそらくはネットワーク混乱またはRE 304を収容するシステムでのローカル障害のゆえに、SA 302およびRE 304が切断されている期間中に、主物理ストレージ306への書込みI/Oを処理しつつあった。接続が再確立される時に、RE 304は、フロー1で再同期化を要求する。SA 302は、フロー2でそのダーティ・リージョン・ログ(DRL)をRE 304に送ることによって応答する。RE 304は、フロー3でメタデータをSA 302に送る。その後、SA 302は、フロー4でREADコマンドを主物理ストレージ306に送り、フロー5で主物理ストレージ306から返されたデータを受け取る。SA 302は、メタデータをデータに適用し、結果のデータおよびメタデータの組合せを、同期外れであったリージョンごとに、フロー6で副物理ストレージ308に送る。
図4を参照して上で説明した正常書込みに類似する形で、REは、カスタマ・データの前後をヘッダおよびフッタ情報でラップする必要がある。SAは、主ボリュームへの読取り要求を開始し、そのデータをREによって供給されるヘッダおよびフッタ情報とマージし、その後、CDPデータを格納するRE LUNへの書込みを開始する。
本発明の好ましい実施形態は、REに構成命令を供給するファシリティを含む。そのような構成コマンドのいくつかの例は、次のとおりである。
・時点(タイムポイント)Xへの主ボリュームの戻し/ロールバック(revert/rollback) ・時点Xのボリュームのヒストリ・ビューの作成
・主ボリュームのスナップショット作成
・この主ボリュームのCDP保護
・空間効率のよいボリュームの作成
・空間効率のよいボリュームの削除
単一のREを複数のSAについて使用できるコンシステンシ・グループ・サポートについて、コンシステンシ・グループ同期化が破壊された時にSAが警告されるようにするために、ハートビート機構が、REとSAとの間に設けられる。
要約すると、本発明の好ましい実施形態のいくつかの重要な態様および利益は、次のとおりである。
1.SAおよびREが、それを介して通信するファブリック上で互いを発見するか、互いのアドレスを知るように構成されるファシリティがある。
2.SAが、どの主ボリュームがコピー・サービス用に構成され、REにどのように分割すべきであり、REをどのようにアドレッシングすべきかを知るようにするために、SAおよびREを構成するファシリティがある。
3.SAを、REによるリポジトリとしての使用のためのあるストレージ空間を有して構成することができる。
4.SAを、コピー・サービスがそれに関して構成されるボリュームに新しい書込みコマンドがアドレッシングされる時に、REにメッセージを送るように送信することができる。このメッセージは、書き込まれるアドレス(ターゲット、LUN/LBA)および書き込まれる長さを含むが、データは含まない。
5.REが、新しい書込みが受け取られたことの通知を受け取る時に、REがこの書き込まれるデータをリポジトリ・エリア内の0個以上の場所にコピーすることを可能にするファシリティがある。このプロトコルは、REが、サーバ・データに関連するリポジトリ・エリアにメタデータを書き込むことをも可能にする。
6.REがデータをコピーする機会を得る前に、そのデータが上書きされることを防ぐファシリティがある。好ましい実施形態では、REは、書込みコマンドがSA内でまだアクティブである間にデータをコピーすることと、2つの同時書込みコマンドが同一のディスク・ブロックに書き込むのを防ぐこととを可能にされる。この場合に、REは、SAが書込みの完了を可能にする前に、新しい書込みを肯定応答しなければならない。
7.REが、リポジトリと主ボリュームとの間およびリポジトリのある場所から別の場所へのいずれかの方向でデータをコピーすることを可能にするファシリティがある。
8.REとSAとの間の接続が破壊される場合には、このプロトコルが、検出し回復する方法を実装することが重要である。1つの方法は、ハートビート・プロトコルを実装し、その結果、REが、SAが切断されたことを知ることができ、他のSAから受け取られたすべての書込みが知らされていない書込みに「依存する」可能性があることを知ることができるようにすることである。ハートビートに加えて、SAは、受け取られたがREに送られていないすべての書込みのレコードを保持しなければならない。SAが、この情報を合体させ、その結果、どの領域が書き込まれ、同期化されなければならないのかを示す領域のビットマップだけが保持されるようにすることが、許容可能である。
9.オプションで、このプロトコルは、読取りをインターセプトするファシリティを提供することができ、その結果、コピー・サービス・リポジトリから来るデータをサーバに提示することが可能になる。この場合に、このプロトコルは、読取りをインターセプトし、REによって向けられたものとしてデータを返すファシリティを提供する。
当業者には、本発明の好ましい実施形態の方法のすべてまたは一部を、その方法のステップを実行するように配置された論理要素を含む1つまたは複数の論理装置で適切かつ有用に実施できることと、そのような論理要素が、ハードウェア・コンポーネント、ファームウェア・コンポーネント、またはその組合せを含むことができることが、明白であろう。
当業者には、本発明の好ましい実施形態による論理配置のすべてまたは一部を、本方法のステップを実行するための論理要素を含む論理装置で適切に実施できることと、そのような論理要素が、たとえばプログラマブル・ロジック・アレイまたは特定用途向け集積回路内の論理ゲートなどのコンポーネントを含むことができることが、同等に明白であろう。そのような論理配置を、さらに、固定キャリア媒体または伝送可能キャリア媒体を使用して格納でき伝送できる、たとえば仮想ハードウェア記述子言語を使用して、そのようなアレイまたは回路内の論理構造を一次的または永久的に確立するためのイネーブルする要素で実施することができる。
上で説明した方法および配置を1つまたは複数のプロセッサ(図面には図示せず)で動作するソフトウェアで完全にまたは部分的に適切に実行することもできることと、ソフトウェアを、磁気ディスク、光ディスク、または類似物などの任意の適切なデータ・キャリア(やはり図面には図示せず)に担持される1つまたは複数のコンピュータ・プログラム要素の形で提供できることとを理解されたい。データの伝送のためのチャネルは、同様に、すべての記述の記憶媒体ならびに有線または無線の信号担持媒体などの信号担持媒体を含むことができる。
一般に、方法は、所望の結果につながるステップの自己完結的シーケンスと考えられる。これらのステップは、物理量の物理的操作を必要とする。必ずではないが通常、これらの量は、格納され、転送され、組み合わされ、比較され、および他の形で操作され得る電気信号または磁気信号の形をとる。時に、主に一般的な使用の理由から、これらの信号を、ビット、値、パラメータ、項目、要素、オブジェクト、記号、文字、項、数などと称することが便利である。しかし、これらの用語および類似する用語のすべてが、適当な物理量に関連付けられなければならず、これらの量に適用される単に便利なラベルであることに留意されたい。
本発明は、さらに、コンピュータ・システムと共に使用されるコンピュータ・プログラムとして適切に実施することができる。そのような実施態様は、ディスケット、CDーROM、ROM、またはハード・ディスクなどのコンピュータ可読媒体などの有形の媒体上で記録されて、あるいは、光通信回線もしくはアナログ通信回線を含むがこれらに限定はされない有形の媒体を介してまたはマイクロ波、赤外線、もしくは他の伝送技法を含むがこれらに限定はされない無線技法を使用して無形でのいずれかで、モデムまたは他のインターフェース・デバイスを介して、コンピュータ・システムに伝送可能のいずれかの、一連のコンピュータ可読命令を含むことができる。一連のコンピュータ可読命令は、本明細書で前に説明した機能性のすべてまたは一部を実施する。
当業者は、そのようなコンピュータ可読命令を、多数のコンピュータ・アーキテクチャまたはオペレーティング・システムと共に使用される複数のプログラミング言語で記述できることを理解するであろう。さらに、そのような命令を、半導体、磁気、もしくは光学を含むがこれらに限定はされない現在もしくは将来のすべてのメモリ・技術を使用して格納し、または光学、赤外線、もしくはマイクロ波を含むがこれらに限定はされない現在のもしくは将来の任意の通信技術を使用して送信することができる。そのようなコンピュータ・プログラムを、たとえばシュリンクラップされたソフトウェアなど、付随する印刷ドキュメンテーションもしくは電子ドキュメンテーションを伴うリムーバブル媒体として、たとえばシステムROMまたは固定ディスク上など、コンピュータ・システムにプリロードされて、または、たとえばインターネットまたはワールド・ワイド・ウェブなどのネットワークを介してサーバまたは電子掲示板から配布されて、配布することができることが企図されている。
1つの代替案では、本発明の好ましい実施形態を、コンピュータ・インフラストラクチャに展開され、その上で実行される時に、コンピュータ・システムにこの方法のすべてのステップを実行させるように動作可能なコンピュータ・プログラム・コードを展開するステップを含むサービスを展開するコンピュータで実施される方法の形で実現することができる。
さらなる代替案では、本発明の好ましい実施形態を、その上に機能データを有するデータ・キャリアであって、前記機能データは、コンピュータ・システムにロードされ、それによって操作される時に、前記コンピュータ・システムが本方法のすべてのステップを実行することを可能にする機能コンピュータ・データ構造を含む、データ・キャリアの形で実現することができる。
当業者には、本発明の範囲から逸脱せずに、前述の例示的実施形態に対して多数の改善および変更を行うことができることが明白であろう。

Claims (9)

  1. データ複製機能を有するストレージ・システムを制御する装置であって、
    主ストレージと、
    副ストレージと、
    レプリケーション・エンジンと、
    前記主ストレージ、前記副ストレージ、及び前記レプリケーション・エンジンに接続されたストレージ・アレイであって、前記レプリケーション・エンジンとはネットワークを介して接続される前記ストレージ・アレイとを含み、
    前記ストレージ・アレイは、ホストから前記主ストレージへの書き込みデータを受信し、及び、前記書き込みデータの書込みがデータ・レプリケーションの対象になることの通知を前記書き込みデータを含むことなく前記レプリケーション・エンジンに送るように動作可能であり、
    前記レプリケーション・エンジンが、前記通知を受け取り、それに応答して、前記書き込みデータの制御に関するメタデータを作成し、前記メタデータを前記ストレージ・アレイへ送り、
    前記ストレージ・アレイは、前記書き込みデータと前記メタデータを組み合わせ、組み合わせたデータを前記副ストレージに送る、
    前記装置。
  2. 前記ホストから要求されたデータの読取りを実行するようにさらに動作可能であり、前記要求されたデータが、前記レプリケーション・エンジンに転送されることなく前記ストレージ・アレイによって前記ホストに返される、請求項1に記載の装置。
  3. 前記ホストから前記副ストレージに書き込みデータを書き込むようにさらに動作可能であり、前記書き込みデータが、前記ストレージ・アレイによって、前記レプリケーション・エンジンから前記ストレージ・アレイに送られたメタデータと組み合わせられて、前記レプリケーション・エンジンを介することなく前記副ストレージジに書き込まれる、請求項1に記載の装置。
  4. 前記主ストレージと前記副ストレージとの間でデータを再同期化するようにさらに動作可能であり、前記主ストレージから前記ストレージ・アレイにより読み出されたデータが、前記ストレージ・アレイによって、前記レプリケーション・エンジンから前記ストレージ・アレイに送られたメタデータを適用され、かつ、適用された前記データと前記メタデータとが組み合わせられて、前記レプリケーション・エンジンを介することなく前記主ストレージから前記副ストレージに転送される、請求項1に記載の装置。
  5. 主ストレージと、副ストレージと、レプリケーション・エンジンと、前記主ストレージ、前記副ストレージ、及び前記レプリケーション・エンジンに接続されたストレージ・アレイであって、前記レプリケーション・エンジンとはネットワークを介して接続される前記ストレージ・アレイとを含み、データ複製機能を有するストレージ・システムを制御する方法であって、
    前記ストレージ・アレイによって、ホストから前記主ストレージへの書き込みデータを受信するステップと、
    前記ストレージ・アレイによって、前記書き込みデータの書込みがデータ・レプリケーションの対象になることの通知を前記書き込みデータを含むことなく前記レプリケーション・エンジンに送るステップと、
    前記レプリケーション・エンジンによって前記通知を受け取り、それに応答して、前記書き込みデータの制御に関するメタデータを作成し、前記メタデータを前記ストレージ・アレイへ送るステップと、
    前記ストレージ・アレイによって、前記書き込みデータと前記メタデータを組み合わせ、組み合わせたデータを前記副ストレージに送るステップと、
    を含む方法。
  6. 前記ホストから要求された前記データの読取りをさらに実行し、前記要求されたデータが、前記レプリケーション・エンジンに転送されることなくに前記ストレージ・アレイによって前記ホストに返される、請求項5に記載の方法。
  7. 前記ホストから前記副ストレージに書き込みデータを書き込むステップをさらに含み、前記書き込みデータが前記ストレージ・アレイによって、前記レプリケーション・エンジンから前記ストレージ・アレイに送られたメタデータと組み合わせられて、前記レプリケーション・エンジンを介することなく前記副ストレージジに書き込まれる、請求項5に記載の方法。
  8. 前記主ストレージと前記副ストレージとの間でデータを再同期化するステップをさらに含み、前記主ストレージから前記ストレージ・アレイにより読み出されたデータが、前記ストレージ・アレイによって、前記レプリケーション・エンジンから前記ストレージ・アレイに送られたメタデータを適用され、かつ、適用された前記データと前記メタデータとが組み合わせられて、前記レプリケーション・エンジンを介することなく前記主ストレージから前記副ストレージに転送される、請求項5に記載の方法。
  9. コンピュータに、請求項5乃至8のいずれかに一項に記載のデータ複製機能を有するストレージ・システムを制御させる方法の各ステップを実行させるためのコンピュータ・プログラム。
JP2010534477A 2007-11-27 2008-11-20 ストレージ・コピー・サービス・システムを管理する装置および方法 Active JP5466650B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/945,844 US9152515B2 (en) 2007-11-27 2007-11-27 Apparatus and method for managing storage copy services systems
US11/945,844 2007-11-27
PCT/EP2008/065935 WO2009068472A1 (en) 2007-11-27 2008-11-20 Apparatus and method for managing storage copy services systems

Publications (2)

Publication Number Publication Date
JP2011505033A JP2011505033A (ja) 2011-02-17
JP5466650B2 true JP5466650B2 (ja) 2014-04-09

Family

ID=40364465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010534477A Active JP5466650B2 (ja) 2007-11-27 2008-11-20 ストレージ・コピー・サービス・システムを管理する装置および方法

Country Status (6)

Country Link
US (3) US9152515B2 (ja)
EP (1) EP2227743B1 (ja)
JP (1) JP5466650B2 (ja)
KR (1) KR20100095519A (ja)
CN (1) CN101878470B (ja)
WO (1) WO2009068472A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799222B2 (en) * 2010-12-17 2014-08-05 Symantec Corporation Host based software block level replication using metadata indicating changed data objects at source and secondary nodes
KR20160005537A (ko) 2014-07-07 2016-01-15 주식회사 비에이인프라 Cdp 기반의 데이터 보호 방법
US20160063029A1 (en) 2014-08-29 2016-03-03 Netapp, Inc. Clustered storage system synchronization
US10262004B2 (en) * 2016-02-29 2019-04-16 Red Hat, Inc. Native snapshots in distributed file systems
US10353605B2 (en) 2017-01-30 2019-07-16 International Business Machines Corporation Optimizing off-loaded input/output (I/O) requests
US10452503B2 (en) * 2017-09-29 2019-10-22 Hewlett Packard Enterprise Development Lp Bidirectional replication
US11468014B2 (en) 2018-08-09 2022-10-11 Netapp Inc. Resynchronization to a filesystem synchronous replication relationship endpoint
CN110365764B (zh) * 2019-07-11 2020-08-11 国家超级计算天津中心 一种用于计算集群的数据拷贝装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
US6161192A (en) * 1995-10-13 2000-12-12 Compaq Computer Corporation Raid array data storage system with storage device consistency bits and raidset consistency bits
US6018779A (en) * 1997-12-15 2000-01-25 Emc Corporation System for encapsulating a plurality of selected commands within a single command and transmitting the single command to a remote device over a communication link therewith
US7146524B2 (en) * 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US6889309B1 (en) * 2002-04-15 2005-05-03 Emc Corporation Method and apparatus for implementing an enterprise virtual storage system
US9712613B2 (en) 2003-04-29 2017-07-18 Brocade Communications Systems, Inc. Fibre channel fabric copy service
JP2005157825A (ja) 2003-11-27 2005-06-16 Hitachi Ltd 障害復旧機能を有する計算機システム、および、障害復旧方法
US7302536B2 (en) 2003-06-17 2007-11-27 Hitachi, Ltd. Method and apparatus for managing replication volumes
JP2005044481A (ja) 2003-07-25 2005-02-17 Fujitsu Ltd 光ディスクおよび光ディスク装置
WO2005048124A2 (en) 2003-11-04 2005-05-26 Constant Data, Inc. Hybrid real-time data replication
US7613748B2 (en) * 2003-11-13 2009-11-03 Commvault Systems, Inc. Stored data reverification management system and method
US7917711B2 (en) 2003-11-14 2011-03-29 International Business Machines Corporation System, apparatus, and method for automatic copy function selection
US7139887B2 (en) * 2003-12-31 2006-11-21 Veritas Operating Corporation Coordinated storage management operations in replication environment
US7440434B2 (en) * 2004-02-11 2008-10-21 Airtight Networks, Inc. Method and system for detecting wireless access devices operably coupled to computer local area networks and related methods
US7385942B2 (en) * 2004-03-03 2008-06-10 International Business Machines Corporation System for maintaining the integrity of remote data by making it disposable
US7146484B2 (en) * 2004-06-15 2006-12-05 Hitachi, Ltd. Method and apparatus for caching storage system
US7769709B2 (en) * 2004-09-09 2010-08-03 Microsoft Corporation Method, system, and apparatus for creating an archive routine for protecting data in a data protection system
US7865470B2 (en) * 2004-09-09 2011-01-04 Microsoft Corporation Method, system, and apparatus for translating logical information representative of physical data in a data protection system
US8862852B2 (en) * 2005-02-03 2014-10-14 International Business Machines Corporation Apparatus and method to selectively provide information to one or more computing devices
US7987158B2 (en) 2005-02-09 2011-07-26 International Business Machines Corporation Method, system and article of manufacture for metadata replication and restoration
JP2006227923A (ja) 2005-02-17 2006-08-31 Fujitsu Ltd ディスク管理装置およびディスク管理プログラム
US7870353B2 (en) * 2005-08-15 2011-01-11 International Business Machines Corporation Copying storage units and related metadata to storage
US7657714B2 (en) * 2005-08-31 2010-02-02 International Business Machines Corporation Apparatus and method to provide one or more commands to a data storage and retrieval system
JP2007066154A (ja) 2005-09-01 2007-03-15 Hitachi Ltd データをコピーして複数の記憶装置に格納するストレージシステム
JP2007072847A (ja) 2005-09-08 2007-03-22 Nec Corp 情報処理システムとセパレート隠蔽装置及びセパレート制御方法並びにプログラム
US7519633B2 (en) * 2005-09-08 2009-04-14 International Business Machines Corporation Asynchronous replication of data
US7395390B2 (en) * 2006-07-12 2008-07-01 Inventec Corporation System for backing up cache memory in a double backup server structure
US7546486B2 (en) * 2006-08-28 2009-06-09 Bycast Inc. Scalable distributed object management in a distributed fixed content storage system
US8131957B2 (en) 2007-08-16 2012-03-06 International Business Machines Corporation Splitting writes between a storage controller and replication engine
US8024534B2 (en) 2007-08-16 2011-09-20 International Business Machines Corporation Replication engine communicating with a splitter to split writes between a storage controller and replication engine

Also Published As

Publication number Publication date
WO2009068472A1 (en) 2009-06-04
KR20100095519A (ko) 2010-08-31
JP2011505033A (ja) 2011-02-17
US9591073B2 (en) 2017-03-07
EP2227743A1 (en) 2010-09-15
US20090138522A1 (en) 2009-05-28
US20170131914A1 (en) 2017-05-11
CN101878470B (zh) 2013-09-18
US10896199B2 (en) 2021-01-19
US9152515B2 (en) 2015-10-06
CN101878470A (zh) 2010-11-03
EP2227743B1 (en) 2015-07-15
US20160028816A1 (en) 2016-01-28

Similar Documents

Publication Publication Date Title
US10896199B2 (en) Apparatus and method for managing storage copy services systems
EP3062226B1 (en) Data replication method and storage system
US7594137B2 (en) Storage system and data restoration method thereof
JP4252301B2 (ja) 記憶システム及びそのデータバックアップ方法
US6182198B1 (en) Method and apparatus for providing a disc drive snapshot backup while allowing normal drive read, write, and buffering operations
US6345368B1 (en) Fault-tolerant access to storage arrays using active and quiescent storage controllers
US8090979B2 (en) Information system and data transfer method
CN103793271B (zh) 用于在镜像卷之间进行切换的方法和系统
US20070050547A1 (en) Storage system and storage system management method
JP4902289B2 (ja) バックアップシステム及びバックアップ方法
JP2008097578A (ja) ストレージサブシステム間におけるcdpジャーナルデータのマイグレーションのためのシステムおよび方法
JP2005202495A (ja) データ移行方法
JPH07248988A (ja) 記憶制御装置及び関連する方法
US10620843B2 (en) Methods for managing distributed snapshot for low latency storage and devices thereof
JP2008225616A (ja) ストレージシステム、リモートコピーシステム、及びデータ復元方法
JP4398596B2 (ja) ディスクアレイ装置
US20070118605A1 (en) Method and computer system for information notification
WO2016084156A1 (ja) ストレージシステム
JP2009129283A (ja) データ記憶装置、データバックアップ方法およびデータバックアッププログラム
JP2010033379A (ja) 仮想化システム及び仮想化の復旧方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140124

R150 Certificate of patent or registration of utility model

Ref document number: 5466650

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150