JP2016512633A - データストレージシステムにおけるクローンオブジェクトのオブジェクトレベルでの複製 - Google Patents
データストレージシステムにおけるクローンオブジェクトのオブジェクトレベルでの複製 Download PDFInfo
- Publication number
- JP2016512633A JP2016512633A JP2015559218A JP2015559218A JP2016512633A JP 2016512633 A JP2016512633 A JP 2016512633A JP 2015559218 A JP2015559218 A JP 2015559218A JP 2015559218 A JP2015559218 A JP 2015559218A JP 2016512633 A JP2016512633 A JP 2016512633A
- Authority
- JP
- Japan
- Prior art keywords
- clone
- file system
- target
- source
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 12
- 230000003362 replicative effect Effects 0.000 title claims description 34
- 230000010076 replication Effects 0.000 claims abstract description 138
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims description 165
- 230000008569 process Effects 0.000 claims description 133
- 230000008859 change Effects 0.000 claims description 24
- 238000010367 cloning Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 7
- 239000000835 fiber Substances 0.000 description 64
- 238000010586 diagram Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 22
- 238000004590 computer program Methods 0.000 description 14
- 241000760358 Enodes Species 0.000 description 10
- 238000005457 optimization Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000000717 retained effect Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 3
- 101710114762 50S ribosomal protein L11, chloroplastic Proteins 0.000 description 2
- 101710164994 50S ribosomal protein L13, chloroplastic Proteins 0.000 description 2
- 101710156159 50S ribosomal protein L21, chloroplastic Proteins 0.000 description 2
- 101710087140 50S ribosomal protein L22, chloroplastic Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000001172 regenerating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000024080 Hiera Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (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)
Abstract
Description
以下では、日立データシステムズ社が販売する様々なファイルサーバにおいて使用されるタイプの例示的なファイルシステムを参照しながら、本発明の例示としての実施形態について、説明する。
・チェックポイント番号。
・間接または直接ノードの何れかに対するポインタ(例えば、60個までのこの様なポインタ)。
・間接ノードの有効性をチェックすることができるCRC及び種々のサニティディーワード(dwords)。
・チェックポイント番号。
・幾つかのデータブロックディスクリプタ(例えば、60個までのこの様なディスクリプタ)。ここで、各データブロックディスクリプタは、データブロックに対するポインタ、チェックポイント番号及びブロックがゼロで満たされているか否かを示すビットを含む。
・間接ノードの有効性をチェックすることができるCRC及び種々のサニティディーワード(dwords)。
上述した様に、データストレージシステムでは、ソースファイルシステムの幾つかまたは全てのオブジェクトが、例えば、アーカイブ、バックアップ、メンテナンス、障害復旧等を可能にするために、ターゲットファイルシステムに複製されるものとしてもよい。該ターゲットファイルシステムは、上記ソースファイルシステムと同一のファイルサーバ内に存在してもよいし、図1に示す様に、上記ソースファイルシステムとは別のファイルサーバ内に存在するものとしてもよい。
クローンオブジェクトの複製は、しばしば、クローンオブジェクトの所謂「ディープ」コピーを生成することにより実行される。すなわち、上記ソースファイルシステム内のクローンオブジェクトはしばしば、様々なデータ及びメタデータのブロックを共有するが、上記ターゲットファイルシステムでは、クローンソースオブジェクトが必ずデクローンされる様に、クローンオブジェクトは、その様な共有されたデータ及びメタデータのブロック無しに、生成される。例えば、ソースファイルシステム内で特定のブロックを共有する2つのオブジェクトは、ターゲットファイルシステム内では該ブロックを共有しない。代わりに、別々のブロックが、各オブジェクト毎に割り当てられる。ディープコピーを用いてクローンオブジェクトを複製することの1つのデメリットとして、ターゲットファイルシステム上でのクローンの複製に必要となる空き領域が、ソースファイルシステム上でクローンが占める領域よりも大きくなることが挙げられる。この様なクローンオブジェクトの「ディープ」複製は、実装の観点からは比較的簡易である一方、ターゲットファイルシステムでは、その様な「ディープ」複製の実行により、クローンファイルをもつことの幾つかのメリット(例えば、必要な記憶領域の減少)が失われる。
本明細書に記載されたオブジェクトレベルでのクローン複製のしくみは、以下の特徴の幾つかまたは全てを有する:
・クローンは、ライブファイルシステム上で使用されるクローニング機構をエミュレートすることにより、オブジェクトの複製中にもクローンのオブジェクトプロパティを維持して、ターゲットファイルシステム上にクローンオブジェクトを生成する。
・複製されたクローンは、上記ターゲット上の同じ量の領域を使用する。上記ソースファイルシステムにおいてクローン間で共有されたユーザ/メタデータのブロックは、ターゲットファイルシステム上でも共有される。
・クローンを複製する際にソース及びターゲット間で転送されるデータは、最小限に抑えられる。複数のクローン間で共有されるユーザ/メタデータのブロックは、転送され、一旦、ターゲットファイルシステムに書き込まれる。分岐データのみが、各クローンオブジェクト毎に転送及び書き込みされる。
・資源の有用性次第では、ツリーの並列化されたレベル順ウォークを、ツリーの深さ優先型ウォークと組み合わせて、新規クローンのツリーまたはブランチを複製することが可能である。
・複製中に処理されるクローンの数、クローンのツリーのサイズ、または、同一のスナップショットファイルを参照するクローンの数には制限がない。
・他のタイプのオブジェクトとは対照的に、ターゲット上の新規クローンの複製に掛かるオーバヘッドは、必要に応じてチェックポイントを生じさせる、スナップショットファイルのルートオーノードに対するリードアクセス、及び、クローンのルートオーノードに対するライトアクセスである。
・他のタイプのオブジェクトとは対照的に、ターゲット上の変更クローンの複製にはオーバヘッドは掛からない(ここで、変更オブジェクトとは、前のスナップショットのチェックポイント以下の数の生成チェックポイントを有する変化したオブジェクトである)。
・クローンがソースデータストリームであった場合、親スナップショットファイルが変化した場合、または、クローンがデクローンされた場合の様な特別なケースでは、ターゲットファイルシステム上で、幾つかの付加データの転送及び書き込みが為されることがある。その様なケースでは、追加の処理により効果が失われてしまうこともあるが、更なる最適化が可能である。
・他のタイプのオブジェクトとは対照的に、ターゲット上の削除クローンの複製にはオーバヘッドは掛からない(ここで、削除オブジェクトとは、現在のスナップショット内には存在しないが前のスナップショット内に存在する変化したオブジェクトである)。
・クローンオブジェクトの変化は、ソース及びターゲットの双方に存在する複数のファイバを用いて、並行して複製される。
・並行して処理されるクローンの数は、複製処理に割り当てられた全てのリソースによってのみ制限される。
以下、例示的な実施形態に係るクローン複製の概念について、クローン複製の特別な態様も含めて説明する。
ソースが、ソースファイルシステムからオブジェクトが削除されたことを検知すると、ソースは、ターゲットファイルシステムから、対応するオブジェクトを削除することをターゲットに指示し、ターゲットは、該オブジェクトを削除する。ある状況では、ターゲットファイルシステムからオブジェクトが削除されても、例えば、削除されたオブジェクトのクローンを削除または複製するために、削除されたオブジェクトの特定のブロックだけは保持されなければならない。例示的な実施形態では、削除オブジェクトのブロックは、複製処理中に使用されるスナップショット機構の一部分として自動的に保持される。従って、その様なブロックは、全てのオブジェクトにより使用されなくなるまで、使用可能な状態を維持する。
最初に、ソースファイルシステムでは、クローンの生成は、ソースデータストリームの読み出し専用スナップショットであるスナップショットファイルの生成を含む。該生成処理の間、上記ソースデータストリームは、上記スナップショットファイルのクローンになる。その後、上記スナップショットファイルの可変クローンが生成される。各クローンは、スナップショットファイルに関連付けられたチェックポイントの番号を参照するためのクローンチェックポイント番号を有する。クローンはまず、自クローンの全てのデータブロック、及び、データブロックを記述するオーノードツリーのメタデータブロックを、自クローンのスナップショットファイルとの間で共有する。クローンのユーザ/メタデータのブロックが初めて変更されると、該ブロックは、新たな領域に書き込まれ、分岐ブロックとなる。
SF⇒CL⇒SF’⇒CL’
・ソースから送信されるイーノード情報を用いて新たなオブジェクトを生成するステップ。もし、オブジェクト番号がオブジェクトの複製中も維持される場合には、生成されたオブジェクトは、親スナップショットファイルを参照する。
・親スナップショットファイルのルートオーノードからルートオーノードを形成するステップ(当然の事ながら、親スナップショットファイルのルートオーノードは、現在の複製周期または前の複製周期の何れかにおいて、ターゲットファイルシステムに既に複製されたであろう。なぜなら、スナップショットファイルオブジェクトの子の全てがターゲットファイルシステム内で生成される前に、親スナップショットファイルオブジェクトがターゲットファイルシステム内で生成されるからである)。
・もし、親スナップショットファイルの最後に変更されたチェックポイントの番号が、ターゲットファイルシステムの現在のチェックポイント番号と等しい場合に、チェックポイント番号を前進させるためにチェックポイントを発行するステップ(クローンチェックポイント番号は、分岐されたユーザ/メタデータのブロック及び分岐されていないユーザ/メタデータのブロックを区別するために使用されるチェックポイント番号である。クローンチェックポイント番号以上のチェックポイント番号を有するユーザ/メタデータのブロックは、分岐されている)。
・ルートオーノード内のクローンチェックポイント番号を、現在の(前進された)チェックポイント番号に設定するステップ
・オブジェクトのルートオーノードをストレージに書き込むステップ。該オブジェクトは、現在、スナップショットファイルと同一のブロックポインタを指し示している。
・ソースから受信された分岐後のユーザ/メタデータのブロックを、新たな領域に書き込むステップ。ソースは、クローンの分岐されたユーザ/メタデータのブロック、すなわち、ソースファイルシステム内のオブジェクトのクローンチェックポイント番号以上のチェックポイント番号を有する全てのブロックを選択的に読み出し、転送する。
ターゲットファイルシステムに複製された通常のオブジェクトは、以前のスナップショット以降、クローンのプロパティを取得するものとしてもよい。このことは、例えば、上記オブジェクトが、以前のスナップショット以降にクローンされる場合、または、上記オブジェクトが、(例示的な実施形態では、ソースファイルシステム内のクローンオブジェクトの生成中の)最後の複製周期の発生時にクローニングの進行中であった場合に起こり得る。上記オブジェクトは、原則として、通常のオブジェクトとして生成され、その後、親スナップショットファイルのユーザ/メタデータの全てのブロックを共有するクローンオブジェクトに変換される。このため、複製周期は、オブジェクトが生成された後、かつ、完全にクローンに変換される前に、開始可能である。従って、上記オブジェクトは、上記ターゲットファイルシステムに通常のオブジェクトとして複製され、その後、上記ターゲットファイルシステムに複製される必要がある変更オブジェクトとして、新たな複製周期において特定されるであろう。上記オブジェクトは、クローンのプロパティを取得した後、かつ、新たな複製周期の前に、親スナップショットファイルから分岐したものであってもよい。
スナップショットファイルオブジェクトが有する子のクローンが1つだけの場合には、スナップショットファイルは削除され、上記クローンが変更されて、削除されたスナップショットファイルの親に従属するものとしてもよい。これにより、スナップショットファイルツリーが簡易化される。例えば、中間のスナップショットファイルオブジェクトSF1が前のスナップショット以降に削除された例を以下に示す。
SF0<SFKクローンは、SF0<クローンに変化した。
クローンはデクローンされるものとしてもよい。該デクローンは、親スナップショットファイルオブジェクトからオブジェクトをデカップリングする処理、及び、親スナップショットファイルオブジェクトと以前に共有されたブロックに対応するオブジェクトにブロックを追加する処理を含む。上記ソースは、前のスナップショット内のクローンであったが新規のスナップショット内のクローンではないオブジェクトに基づいて、上述のデクローニングが、前のスナップショット以降に生じたことを、確認することができる。例示的な実施形態では、上記ソースは、ターゲットファイルシステムに上記オブジェクトを「ディープコピー」することにより、オブジェクトを複製する。
上述した様に、特定の実施形態では、上記前のスナップショット以降に変化したオブジェクトを検出するために、間接オブジェクトは、オブジェクトベースの複製中に、チャンク単位でスキャンされる。一般的には、変更されたオブジェクトが検出されると、オブジェクト番号、チェックポイント番号、ボリューム番号、及びオブジェクトタイプを含む作業項目が、対応するチャンクキューにチャンク毎に追加される。具体的には、新規オブジェクトのために「生成」作業項目が追加され、変更オブジェクトのために「変更」作業項目が追加され、削除オブジェクトのために「削除」作業項目が追加される。詳細については後述するが、幾つかのリーダファイバは、上記チャンクキューから作業項目を取得し、該作業項目を処理する。
+CL01+CL11
SF0<+SFK+SF2<+CL21
+CL13+CL22
「削除」作業項目を処理する際、ソースは、ターゲットに問合せを送り、ターゲットファイルシステムからオブジェクトを削除する。
「生成」作業項目及びオブジェクトの処理がクローンまたはルートスナップショットファイルにより実行される場合、上記オブジェクトが、現在のファイバにより複製されるか、親スナップショットファイルツリーの一部として複製され現在のファイバによっては何もされないか、の決定が必要となる。かかる決定は、以下の様に為される:
a.もし、上記オブジェクトがクローンであり、かつ、該オブジェクトの親スナップショットファイルが新規オブジェクトである場合、該オブジェクトの複製処理は、現在のファイバにより省略される。
b.もし、上記オブジェクトが、ルートスナップショットファイルまたは旧親オブジェクトをもつクローンである場合、オブジェクトは、現在のファイバにより複製される。もし、上記クローンがスナップショットファイルである場合、クローンを複製するための「SPAWN」作業項目が、未処理マップに追加される。スナップショットファイルの複製が完了すると、ソースは、未処理「SPAWN」作業項目を、処理するためのクローンキューに追加する。
オブジェクトがルートスナップショットファイルである場合、該オブジェクトは上記bの様に複製される。あるいは、該オブジェクトの複製処理は、現在のファイバにより省略される。
ファイバが、クローンキューから「SPAWN」作業項目を取得して、スナップショットファイルの後継ファイルを複製する時、スナップショットファイルツリーの残りのブランチを生成(スポーン)するためのスペースがキュー内に有る場合には、上記ファイバは、上記残りのブランチの生成(スポーン)を試行するであろう。その後、上記ファイバは、更なる複製のための後継ファイルを複製するであろう。
1.スナップショットファイルツリーの複製を終えるのに必要となる新たな全ての作業項目の生成処理(この処理は、他の利用可能なファイバが、スナップショットファイルツリーの他の部分を並列的に処理できる様に、最初に実行される):
a.クローンが通常のファイルであり、かつ、最後のクローンでない場合、残りのクローンを複製するための新たなSPAWN(SF,refOffset+1)作業項目が、クローンキューに追加される。
b.クローンがスナップショットファイルであり、かつ、最後のクローンである場合、子0を始めとしてクローンの子を複製するために、SPAWN(clone,0)作業項目が未処理マップに追加される。
c.クローンがスナップショットファイルであり、かつ、最後のクローンでなく、かつ、全てのキューが満杯(フル)である場合、新たなACTIVE(SF,refOffset,clone,0)作業項目が未処理マップに追加される。
d.クローンがスナップショットファイルであり、かつ、最後のクローンでなく、かつ、全てのキューが満杯(フル)でない場合、子0を始めとしてクローンの子を複製するために、SPAWN(clone,0)作業項目が未処理マップに追加され、SFの残りのクローンを複製するために、SPAWN(SF,refOffset+1)作業項目がキューに追加される。
例示的な一実施形態では、上記稼働ファイバは、参照オフセットを、親スナップショットファイルの参照数「refCount」と比較することにより、オブジェクトが最後の後継オブジェクトであるか否かを判定する。
ファイバは、クローンキューから「ACTIVE」作業項目を取得すると、リソースに余裕があってある程度の並列処理が可能な間、上記ファイバは、深さ優先型走査に続いて、ルートスナップショットファイルツリー内のオブジェクトの複製処理を継続するであろう。もし、複製対象のクローンがスナップショットファイルであり、かつ、キューが空きエントリを有する場合には、該スナップショットファイルは、そのツリーを複製するための作業項目を別途、未処理マップに追加する
1.スナップショットファイルSF[0]、その参照数、参照リスト、及び参照オフセットrefOffset[0];
2.複製されているブランチのスナップショットファイルSF[n]、その参照数、参照リスト、及び参照オフセットrefOffset[n]
ここで、上記作業項目により複製されるクローンは、スナップショットファイルSF[n]のクローン番号refOffset[n]を有する。
1.クローンが通常のファイルであり、かつ、最後のクローンでない場合、ACTIVE(SF[0],refOffset[0],SF[n],refOffset[n]+1)作業項目をクローンキューに追加する。
2.クローンが通常のファイルであり、かつ、最後のクローンである場合、SF[n]に介在する親に対して同様の処理を、下記aまたはbが満たされるまで、繰り返し実行する:
a.SF[0]への到達(このことは、SF[0]の全体が複製されたために、作業項目の生成が一切不要となったことを意味する)
b.スナップショットファイルSF[i−1]の最後のクローンではないスナップショットファイルSF[i]の検知(ここで、0<i<n)
もし、SF[i]がSF[0]の直接クローンである場合、SF[i]は、SPAWN(SF[0],refOffset[0]+1)をキューに追加する。あるいは、SF[i−1]が既に複製されていた時には、SF[i]は、ACTIVE(SF[0],refOffset[0],SF[i−1],refOffset[i−1]+1)作業項目をキューに追加する。
3.クローンがスナップショットファイルであり、かつ、キューが満杯(フル)である場合、ACTIVE(SF[0],refOffset[0],clone,0)作業項目を未処理マップに追加する。
4.クローンがスナップショットファイルであり、かつ、キューが空きエントリを有する場合、SPAWN(clone,0)を未処理マップに追加すると共に、SF[n]に介在する親に対して同様の処理を、下記aまたはbが満たされるまで、繰り返し実行する:
a.SF[0]への到達(このことは、SF[0]の全体が複製されたために、作業項目の生成が一切不要となったことを意味する)
b.スナップショットファイルSF[i−1]の最後のクローンではないスナップショットファイルSF[i]の検知(ここで、0<i<n)
もし、SF[i]がSF[0]の直接クローンである場合、SF[i]は、SPAWN(SF[0],refOffset[0]+1)をキューに追加する。あるいは、SF[i−1]が既に複製されていた時には、SF[i]は、ACTIVE(SF[0],refOffset[0],SF[i−1],refOffset[i−1]+1)作業項目をキューに追加する。
例示的な一実施形態では、後継オブジェクトまたはSF[n]が複製される度に、イーノード及びSF[n]の参照リストが読み出されることを避けるために、後継オブジェクト及びその参照数のリストがキャッシュされる。
「変更」作業項目は、ターゲットファイルシステムに既に複製されたが前のスナップショット以降に変化したオブジェクトに適用される。ライブファイルシステム上での通常のファイルクローンオブジェクトへの変更は、以下の事柄に起因して起こる:
1.全てのユーザ/メタデータのブロックが分岐される時におけるオブジェクトのデクローニング(このことは、オブジェクトが最後のクローンであった場合には、親スナップショットファイルの削除という結果をもたらし得る);
2.親の変更:
a.スナップショットファイルツリーが簡易化された場合。その参照数が1まで減少すると、中間のスナップショットファイルが削除される。この場合のクローンチェックポイント番号は、前のスナップショットのチェックポイント番号未満である;あるいは、
b.クローンがデクローンされた後に、再びクローン化された場合。この場合のクローンチェックポイント番号は、前のスナップショットのチェックポイント番号以上である;
3.通常のファイルオブジェクトであるソースデータストリームのクローニング。これにより、2つの新たなオブジェクト、すなわち、スナップショットファイル及び新規クローンが生成される。上記ソースデータストリームは、上記スナップショットファイルのクローンになり、前のスナップショットのチェックポイント番号以上であるクローンチェックポイント番号を有する;あるいは、
4.オブジェクトの追加のユーザ/メタデータのブロックの単純な分岐。この場合のクローンチェックポイント番号は、前のスナップショットのチェックポイント番号未満である。
SFへのソース<+ソース
I
+クローン
1.非クローンの通常ファイルオブジェクトが前のスナップショット内のクローンであった場合、オブジェクトはデクローンされる。その様なオブジェクトはディープコピーされる、すなわち、ユーザ/メタデータのブロックの全てが複製される。
2.オブジェクトのクローンチェックポイント番号が、前のスナップショットのチェックポイント番号よりも大きい場合:
・親スナップショットファイルが新規オブジェクトである場合、該オブジェクトは、上記ソースデータストリームであったクローン、または、デクローンされた後にクローン化されたクローンの何れかである。何れの場合も、上記オブジェクトは、親スナップショットファイルの複製処理の一部として、ゼロから複製されるであろう。この様なオブジェクトの複製処理は、加工ファイバにより省略される。
更に別の方法では、上記オブジェクトは、ターゲット上で再生成される。この処理は、クローンが部分的にクローン化された時に前のスナップショットが取得された場合、すなわち、スナップショットファイルが前のスナップショット内で生成されたが、クローンはその後にクローン化された場合に、実行可能である。
3.もし、上記オブジェクトが、前のスナップショットのチェックポイント番号未満のクローンチェックポイント番号を有し、前のスナップショットとは異なる親を有するクローンである場合、該クローンの親は変更されている。新たな親から分岐された全てのユーザ/メタデータのブロックが複製される。
4.あるいは、上記オブジェクトがクローンである場合、該オブジェクトは、更に分岐されたクローンであり、他のオブジェクトの様に複製される。この場合、変更され分岐されたユーザ/メタデータのブロックのみが複製される。
4.1.デクローンされたクローンの検出
「Was A Clone」フラグは、(例えば、イーノード情報に追加されることにより)、通常のファイルタイプのオブジェクトが過去においてクローンであったか否かを示すために使用することができる。このフラグは、クローンが最初にデクローンされる時に設定される。特に、このフラグを用いることで、オブジェクトが、クローンではなかった通常のファイルオブジェクトのクローンであったか否かをチェックするための、前のスナップショット内のSMOのイーノードの読み出しが回避される。
クローンの親が最後に変化したチェックポイント番号は、上記クローンのSMOのイーノード内に保持可能である。このチェックポイント番号が前のスナップショットのチェックポイント番号よりも大きい場合、このことは、前のスナップショット以降に親の変化が起きたことを意味する。特に、これにより、前のスナップショット以降に変化した親をもたなかったクローンのための、前のスナップショット内のSMOのイーノードの読み出しが回避される。
可能な最適化の一つは、クローンキュー内の作業項目の優先順位を決めることであり得、(refCount−refOffset)の様なrefOffsetが最小となる位置において、後継オブジェクトの複製を含む作業項目から始めることにより実現される。ここで、refCountは、親スナップショットファイルの参照数である。
複製処理中に、親をもたない新たなスナップショットを生成すると、オブジェクトは、より古いスナップショット内のソースデータストリームの存在下において、如何なる重複データも再利用することなく、その全体が複製される。このことは、上記ソースデータストリームを有する共有データの全てが、ソースからターゲットに送信されているため、双方のエンド間に不要なトラフィックが発生していることを意味する。
現在のスナップショット内のスナップショットファイル及び古いスナップショット内のソースデータストリーム間におけるデータブロックの変化(差異)を推定する。
上記ソースデータストリームが上記スナップショットファイルと一致する様に、ターゲット上の上記差異に対してソースデータストリームを適用する。これにより、ターゲット上のソースデータストリームは、クローン化された状態となる。
スナップショットファイルを生成し、上記ソースデータストリームを結合させる。
現在のスナップショット内のソースデータストリーム及びスナップショットファイル間におけるデータブロックの変化(差異)を推定し、ターゲット上のソースデータストリームに該変化を書き込む。これにより、上記ターゲット上のソースデータストリームの分岐されたデータブロックが生成される。
5.1.クローン/スナップショットファイルオブジェクト及び親の複製
親を有するクローンまたはスナップショットファイルを複製する際、ソースは、該複製を行うケースにおいて、参照するスナップショットファイルが古いスナップショット内に既に存在するか否かを検査する。さもないと、上記ソースは、複製された親またはルートを有するオブジェクトを見付けるまで、親スナップショットファイルの複製処理を繰り返してしまうこととなる。その後、上記ソースは、最後に見付けられたオブジェクトを始点として、引き続き、スナップショットファイルの複製を開始する。上記クローンは、複製対象となる最後のオブジェクトである。
1.現在の複製セッション中にスナップショットファイルが既に複製された場合には、上記ソースは、ターゲットに問合せを行うことができる。これにより、ソース及びターゲット間に追加のトラフィックが発生する。
2.上記ソースは、スナップショットファイルオブジェクトの複製を試行し、該オブジェクトを生成するための問合せを送信する。上記ターゲットは、該オブジェクトが既に生成されていることを検知し、エラーを返信する。これによっても、双方のエンド間にオーバヘッドトラフィックが発生する。
この方法は、複数のパス内で複製を実行するものであり、各パスでの変化を見付けるために間接オブジェクトがスキャンされる。
この場合、複製処理は、2つの部分に分けて実行される:
1.1つ目の部分は、変更された全てのスナップショットファイル及びクローンのオブジェクトが複製される部分である。ルートスナップショットファイルは、間接オブジェクトのスキャン中に特定される。スナップショットファイルツリーの各々は、ルートから始まる変化、及びこの順番でターゲットに複製された全ての変化を見付けるためにスキャンされる。
2.2つ目の部分は、クローン及びスナップショットファイルのオブジェクトを除いた通常の複製部分である。
様々な変形態様において、複製処理は、上述した多様な複製技術に従い、幾つかまたは全ての新規スナップショットをターゲットに送信するソース、及び、ソースとの間で更なる交信を実質的に行うことなく複製処理を実行するターゲットにより、実行されるものとしてもよい。
なお、図中の矢印は、通信、移動、または、2つ以上のエンティティに関わる他の動作を表すために使用されることがある。幾つかの状況では、必ずしも双方向に動作が起きないこともあるが、両端矢印は、一般的に、動作が双方向(例えば、ある方向がコマンド/リクエストの場合における他の方向の返信応答、あるいは、何れか一方のエンティティによって開始されるピアツーピア通信)に起き得ることを示す。特定の状況では、単方向の動作が実際には双方向の動作(例えば、送信者から受信者へのメッセージ及び受信者から送信者への肯定応答、あるいは、転送前のコネクション確立及び転送後のコネクション終了)を含むこともあることに留意されたいが、一端矢印は、一般的に、全てまたは殆どの動作が単方向に起きることを示す。この様に、特定の動作を表すために特定の図面において使用される矢印の種類は、あくまで例示に過ぎず、これらに限定されるものではない。
Claims (20)
- データストレージシステムにおいて、ソースファイルシステムからターゲットファイルシステムへクローンオブジェクトを複製する方法であって:
前記クローンオブジェクトが前記ソースファイルシステム内の変更オブジェクトである場合、前記ソースファイルシステムから前記ターゲットファイルシステムへ前記クローンオブジェクトを複製する処理を含み、
該複製する処理は:
前記クローンオブジェクトが新たに生成されたクローンオブジェクトである場合:
前記ソースファイルシステムから前記ターゲットファイルシステムへ予め複製されたクローンオブジェクトに関連する、(a)前記ソースファイルシステムからのメタデータ、及び(b)親スナップショットファイルオブジェクトに基づいて、前記ターゲットファイルシステム内のクローンオブジェクトを生成し、
前記ターゲットファイルシステム内のクローンオブジェクトの生成処理は、前記ターゲットファイルシステム内の前記クローンオブジェクトのクローンチェックポイント番号が、前記親スナップショットファイルオブジェクトのブロックのチェックポイント番号よりも確実に大きくなる様にし;
前記ソースファイルシステム内のクローンオブジェクトに関連する分岐ブロックがある場合、前記クローンオブジェクトに関連する前記分岐ブロックを、前記ソースファイルシステムから前記ターゲットファイルシステムへ複製する方法。 - 前記ターゲットファイルシステム内の前記クローンオブジェクトを生成する処理は:
前記クローンオブジェクトが最初に、前記親スナップショットファイルオブジェクトと共に、全てのブロックを共有する様に、前記ターゲットファイルシステム内の前記親スナップショットファイルオブジェクトのクローンとして、前記クローンオブジェクトを生成する、請求項1に記載の方法。 - 前記ターゲットファイルシステム内の前記クローンオブジェクトのクローンチェックポイント番号が、前記親スナップショットファイルオブジェクトのブロックのチェックポイント番号よりも確実に大きくなる様にする処理は:
前記ターゲットファイルシステム内の前記親スナップショットファイルオブジェクトの最後に変更されたチェックポイント番号が、前記ターゲットファイルシステムの現在のチェックポイント番号と異なる場合、前記クローンオブジェクトのクローンチェックポイント番号を、前記現在のチェックポイント番号に設定し;
前記ターゲットファイルシステム内の前記親スナップショットファイルオブジェクトの最後に変更されたチェックポイント番号が、前記ターゲットファイルシステムの現在のチェックポイント番号と等しい場合、前記ターゲットファイルシステムの現在のチェックポイント番号を前進させるために、前記ターゲットファイルシステム内のチェックポイントを発行すると共に、前記クローンオブジェクトの前記クローンチェックポイント番号を、前進されたチェックポイント番号に設定する、請求項1に記載の方法。 - 前記クローンオブジェクトに関連する分岐ブロックを複製する処理は:
前記ソースファイルシステム内の前記クローンオブジェクトのクローニング以降に変更された、前記ソースファイルシステム内のクローンオブジェクトのブロックを検出し、該検出の処理は、複数のブロックの各々に関連するチェックポイント番号を、前記ソースファイルシステム内の前記クローンオブジェクトのクローンチェックポイント番号と比較する処理を含み;
前記クローンチェックポイント番号以上のチェックポイント番号を有するブロックを、前記ソースファイルシステムから前記ターゲットファイルシステムへ、送信し;
前記ソースファイルシステムから受信されたブロックに基づき、前記ターゲットファイルシステム内の前記クローンオブジェクトを更新する、請求項1に記載の方法。 - 前記ソースファイルシステムから前記ターゲットファイルシステムへ前記クローンオブジェクトを複製する処理は、更に:
前記クローンオブジェクトが、以前の複製処理以降にクローンのプロパティを取得した前記ターゲットファイルシステムへ以前に複製されたオブジェクトであり、かつ、前記親スナップショットファイルオブジェクトが新規オブジェクトではない場合:
前記クローンオブジェクトのために必要なメタデータ、及び該クローンオブジェクトの親スナップショットファイルオブジェクトを、前記ソースファイルシステムから前記ターゲットファイルシステムへ送信し;
前記ソースファイルシステムからの前記メタデータ、及び前記ターゲットファイルシステム上の以前に複製された親スナップショットファイルオブジェクトに基づき、前記親スナップショットファイルオブジェクトと共に、全てのブロックを最初に共有するクローンとして、前記ターゲットファイルシステムにおいて、前記クローンオブジェクトを再生成し;
前記ソースファイルシステム内の前記クローンオブジェクトに関連する分岐ブロックがある場合、前記クローンオブジェクトに関連する前記分岐ブロックを、前記ソースファイルシステムから前記ターゲットファイルシステムへ複製する、請求項1に記載の方法。 - 前記クローンオブジェクトが、以前の複製処理以降にクローンのプロパティを取得した前記ターゲットファイルシステムへ以前に複製されたオブジェクトであるか否かを判定する処理は、前記ソースファイルシステム内の前記クローンオブジェクトのクローンチェックポイント番号に基づいて行われる、請求項5に記載の方法。
- 前記ソースファイルシステムから前記ターゲットファイルシステムへ前記クローンオブジェクトを複製する処理は、更に:
前記クローンオブジェクトが、前記ソースファイルシステム内の新規の親スナップショットファイルオブジェクトを有する前記ターゲットファイルシステムへ以前に複製されたクローンオブジェクトである場合、前記新規の親スナップショットファイルオブジェクトに関連する、前記ソースファイルシステム内の前記クローンオブジェクトの分岐ブロックを複製する、請求項1に記載の方法。 - 前記ソースファイルシステムから前記ターゲットファイルシステムへ前記クローンオブジェクトを複製する処理は、更に:
前記クローンオブジェクトが、前記ターゲットファイルシステムへ以前に複製されたクローンオブジェクトであったが、以前の複製処理以降にデクローンされた、通常のファイルオブジェクトである場合、該通常のファイルオブジェクトの全てのユーザ/メタデータのブロックを複製することにより、前記通常のファイルオブジェクトを、前記ソースファイルシステムから前記ターゲットファイルシステムへ複製する、請求項1に記載の方法。 - 前記クローンオブジェクトの複製に先立ち、前記親スナップショットファイルオブジェクトを、前記ソースファイルシステムから前記ターゲットファイルシステムへ複製する処理を更に含み:
前記クローンオブジェクトを複製する処理は:
前記クローンオブジェクトの複製のための最初の作業項目を、チャンクキューに追加し;
前記最初の作業項目を実行する処理は、前記親スナップショットファイルオブジェクトが旧オブジェクトである場合には前記クローンオブジェクトを前記ターゲットファイルシステムへ複製する一方、前記親スナップショットファイルオブジェクトが新規オブジェクトである場合には前記クローンオブジェクトを前記ターゲットファイルシステムへ複製することなく前記最初の作業項目の実行を終了することを含み;
前記親スナップショットファイルオブジェクトを複製する処理は:
前記親スナップショットファイルオブジェクトの複製のためのクローンキューに第1作業項目を追加し;
前記クローンオブジェクトの後続する複製のための未処理マップに第2作業項目を追加し;
前記第1作業項目を実行して前記親スナップショットファイルオブジェクトを複製し;
前記親スナップショットファイルオブジェクトの前記複製の完了に伴い、前記第2作業項目を、前記未処理マップから前記クローンキューへ移動させる、請求項1に記載の方法。 - 前記最初の作業項目は「生成」作業項目であるか;
前記第1作業項目は「SPAWN」作業項目であるか;
前記第2作業項目は「SPAWN」作業項目であるか;
前記第1作業項目は「ACTIVE」作業項目であるか;
前記第2作業項目は「ACTIVE」作業項目であるか:の少なくとも1つである、請求項9に記載の方法。 - ソースファイルシステムからターゲットファイルシステムへクローンオブジェクトを複製するデータストレージシステムであって:
ソースファイルシステム及びソースストレージプロセッサを有するソースと;
ターゲットファイルシステム及びターゲットストレージプロセッサを有するターゲットと、を有し:
前記ソースストレージプロセッサは:
前記クローンオブジェクトが前記ソースファイルシステム内の変更オブジェクトである場合、前記ソースファイルシステムから前記ターゲットファイルシステムへ前記クローンオブジェクトを複製する処理を実行し、該複製する処理は、前記クローンオブジェクトが新たに生成されたクローンオブジェクトである場合、前記クローンオブジェクトのためのユーザ/メタデータを、前記ターゲットストレージプロセッサへ送信する処理を含み;
前記ターゲットストレージプロセッサは:
前記ソースファイルシステムから前記ターゲットファイルシステムへ予め複製された前記クローンオブジェクトに関連する、(a)前記ソースストレージプロセッサからのメタデータ、及び(b)親スナップショットファイルオブジェクトに基づいて、前記ターゲットファイルシステム内のクローンオブジェクトを生成する処理を実行し、前記ターゲットストレージプロセッサは、前記ターゲットファイルシステム内の前記クローンオブジェクトのクローンチェックポイント番号が、前記親スナップショットファイルオブジェクトのブロックのチェックポイント番号よりも確実に大きくなる様にし;
前記ソースファイルシステム内のクローンオブジェクトに関連する分岐ブロックがある場合、前記ソースストレージプロセッサ及び前記ターゲットストレージプロセッサは、前記クローンオブジェクトに関連する前記分岐ブロックを、前記ソースファイルシステムから前記ターゲットファイルシステムへ複製する処理を更に実行するシステム。 - 前記ターゲットストレージプロセッサは、前記クローンオブジェクトが、前記親スナップショットファイルオブジェクトと共に、少なくとも1つのブロックを共有する様に、前記ターゲットファイルシステム内の前記親スナップショットファイルオブジェクトのクローンとして、前記クローンオブジェクトを生成する、請求項11に記載のシステム。
- 前記ターゲットストレージプロセッサは、前記ターゲットファイルシステム内の前記クローンオブジェクトのクローンチェックポイント番号が、前記親スナップショットファイルオブジェクトのブロックのチェックポイント番号よりも確実に大きくなる様にし:
前記ターゲットファイルシステム内の前記親スナップショットファイルオブジェクトの最後に変更されたチェックポイント番号が、前記ターゲットファイルシステムの現在のチェックポイント番号と異なる場合、前記クローンオブジェクトのクローンチェックポイント番号を、前記現在のチェックポイント番号に設定し;
前記ターゲットファイルシステム内の前記親スナップショットファイルオブジェクトの最後に変更されたチェックポイント番号が、前記ターゲットファイルシステムの現在のチェックポイント番号と等しい場合、前記ターゲットファイルシステムの現在のチェックポイント番号を前進させるために、前記ターゲットファイルシステム内のチェックポイントを発行すると共に、前記クローンオブジェクトの前記クローンチェックポイント番号を、前進されたチェックポイント番号に設定する、請求項11に記載のシステム。 - 前記クローンオブジェクトに関連する分岐ブロックを複製する処理は:
前記ソースストレージプロセッサにより、前記ソースファイルシステム内の前記クローンオブジェクトのクローニング以降に変更された、前記ソースファイルシステム内のクローンオブジェクトのブロックを検出し、該検出の処理は、複数のブロックの各々に関連するチェックポイント番号を、前記ソースファイルシステム内の前記クローンオブジェクトのクローンチェックポイント番号と比較する処理を含み;
前記ソースストレージプロセッサにより、前記クローンチェックポイント番号以上のチェックポイント番号を有するブロックを、前記ターゲットストレージプロセッサへ、送信し;
前記ターゲットストレージプロセッサにより、前記ソースストレージプロセッサから受信されたブロックに基づき、前記ターゲットファイルシステム内の前記クローンオブジェクトを更新する、請求項11に記載のシステム。 - 前記ソースストレージプロセッサは更に、前記クローンオブジェクトが、以前の複製処理以降にクローンのプロパティを取得した前記ターゲットファイルシステムへ以前に複製されたオブジェクトであり、かつ、前記親スナップショットファイルオブジェクトが新規オブジェクトではない場合、前記クローンオブジェクトのために必要なメタデータ、及び該クローンオブジェクトの親スナップショットファイルオブジェクトを、前記ターゲットストレージプロセッサへ送信し;
前記ターゲットストレージプロセッサは更に、前記ソースファイルシステムからの前記メタデータ、及び前記ターゲットファイルシステム上の以前に複製された親スナップショットファイルオブジェクトに基づき、前記親スナップショットファイルオブジェクトと共に、全てのブロックを最初に共有するクローンとして、前記ターゲットファイルシステムにおいて、前記クローンオブジェクトを再生成し;
前記ソースファイルシステム内の前記クローンオブジェクトに関連する分岐ブロックがある場合、前記ソースストレージプロセッサ及び前記ターゲットストレージプロセッサは更に、前記クローンオブジェクトに関連する前記分岐ブロックを、前記ソースファイルシステムから前記ターゲットファイルシステムへ複製する、請求項11に記載のシステム。 - 前記ソースストレージプロセッサは、前記ソースファイルシステム内の前記クローンオブジェクトのクローンチェックポイント番号に基づき、前記クローンオブジェクトが、以前の複製処理以降にクローンのプロパティを取得した前記ターゲットファイルシステムへ以前に複製されたオブジェクトであるか否かを判定する、請求項15に記載のシステム。
- 前記ソースストレージプロセッサは更に、前記クローンオブジェクトが、前記ソースファイルシステム内の新規の親スナップショットファイルオブジェクトを有する前記ターゲットファイルシステムへ以前に複製されたクローンオブジェクトである場合、前記新規の親スナップショットファイルオブジェクトに関連する、前記ソースファイルシステム内の前記クローンオブジェクトの分岐ブロックを複製するための前記ターゲットストレージプロセッサへ、ユーザ/メタデータを送信し;
前記ターゲットストレージプロセッサは更に、前記ユーザ/メタデータに基づき、前記ターゲットファイルシステム内の前記クローンオブジェクトの分岐ブロックを複製する、請求項11に記載のシステム。 - 前記ソースストレージプロセッサは更に、前記クローンオブジェクトが、前記ターゲットファイルシステムへ以前に複製されたクローンオブジェクトであったが、以前の複製処理以降にデクローンされた、通常のファイルオブジェクトである場合、前記ソースファイルシステムから前記ターゲットファイルシステムへ前記通常のファイルオブジェクトを複製するための前記ターゲットストレージプロセッサへ、全てのユーザ/メタデータのブロックを送信し;
前記ターゲットストレージプロセッサは更に、前記ソースファイルシステムからの前記ユーザ/メタデータに基づき、前記通常のファイルオブジェクトの全てのユーザ/メタデータのブロックを複製することにより、前記通常のファイルオブジェクトを複製する、請求項11に記載のシステム。 - 前記ソースストレージプロセッサは更に、前記クローンオブジェクトの複製に先立ち、前記親スナップショットファイルオブジェクトを、前記ソースファイルシステムから前記ターゲットファイルシステムへ複製させ:
前記クローンオブジェクトを複製する処理は:
前記クローンオブジェクトの複製のための最初の作業項目を、チャンクキューに追加し;
前記最初の作業項目を実行する処理は、前記親スナップショットファイルオブジェクトが旧オブジェクトである場合には前記クローンオブジェクトを前記ターゲットファイルシステムへ複製する一方、前記親スナップショットファイルオブジェクトが新規オブジェクトである場合には前記クローンオブジェクトを前記ターゲットファイルシステムへ複製することなく前記最初の作業項目の実行を終了することを含み;
前記親スナップショットファイルオブジェクトを複製する処理は:
前記親スナップショットファイルオブジェクトの複製のためのクローンキューに第1作業項目を追加し;
前記クローンオブジェクトの後続する複製のための未処理マップに第2作業項目を追加し;
前記第1作業項目を実行して前記親スナップショットファイルオブジェクトを複製し;
前記親スナップショットファイルオブジェクトの前記複製の完了に伴い、前記第2作業項目を、前記未処理マップから前記クローンキューへ移動させる、請求項11に記載のシステム。 - 前記最初の作業項目は「生成」作業項目であるか;
前記第1作業項目は「SPAWN」作業項目であるか;
前記第2作業項目は「SPAWN」作業項目であるか;
前記第1作業項目は「ACTIVE」作業項目であるか;
前記第2作業項目は「ACTIVE」作業項目であるか:の少なくとも1つである、請求項19に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/027113 WO2014130035A1 (en) | 2013-02-21 | 2013-02-21 | Object-level replication of cloned objects in a data storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016512633A true JP2016512633A (ja) | 2016-04-28 |
JP6109967B2 JP6109967B2 (ja) | 2017-04-05 |
Family
ID=51391667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015559218A Active JP6109967B2 (ja) | 2013-02-21 | 2013-02-21 | データストレージシステムにおけるクローンオブジェクトのオブジェクトレベルでの複製 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10311151B2 (ja) |
EP (1) | EP2959373B1 (ja) |
JP (1) | JP6109967B2 (ja) |
WO (1) | WO2014130035A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11327851B2 (en) | 2019-10-07 | 2022-05-10 | Fujitsu Limited | Information processing system, information processing method, and non-transitory computer-readable storage medium for storing information processing program |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10664356B1 (en) * | 2013-05-30 | 2020-05-26 | EMC IP Holding Company LLC | Method and system for enabling separation of database administrator and backup administrator roles |
US10860529B2 (en) * | 2014-08-11 | 2020-12-08 | Netapp Inc. | System and method for planning and configuring a file system migration |
US20160041996A1 (en) | 2014-08-11 | 2016-02-11 | Netapp, Inc. | System and method for developing and implementing a migration plan for migrating a file system |
US9449117B2 (en) * | 2014-01-29 | 2016-09-20 | Sap Se | Metadata search based on semantics |
US10261960B2 (en) * | 2014-09-12 | 2019-04-16 | Scality, S.A. | Snapshots and forks of storage systems using distributed consistent databases implemented within an object store |
US10366070B2 (en) | 2015-02-20 | 2019-07-30 | Scality S.A. | Locking and I/O improvements of systems built with distributed consistent database implementations within an object store |
US10248682B2 (en) | 2015-02-20 | 2019-04-02 | Scality, S.A. | Object storage system capable of performing snapshots, branches and locking |
EP3213504B1 (en) * | 2014-10-28 | 2022-04-13 | Hewlett-Packard Development Company, L.P. | Image data segmentation |
US10528602B1 (en) * | 2014-12-26 | 2020-01-07 | Veritas Technologies Llc | Systems and methods for facilitating analytics on remotely stored data sets |
WO2016118361A1 (en) | 2015-01-23 | 2016-07-28 | Servicenow, Inc. | Distributed computing system with resource managed database cloning |
US9880755B2 (en) | 2015-02-25 | 2018-01-30 | Western Digital Technologies, Inc. | System and method for copy on write on an SSD |
US10049121B2 (en) | 2015-03-30 | 2018-08-14 | International Business Machines Corporation | Clone file backup and restore |
US10055299B2 (en) | 2015-03-30 | 2018-08-21 | International Business Machines Corporation | Clone file backup and restore |
US9996424B2 (en) | 2015-06-30 | 2018-06-12 | International Business Machines Corporation | Splitting a clone having snapshots from a parent |
CN106657169B (zh) * | 2015-10-28 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 一种Redis中主从节点数据同步方法 |
CN106649412B (zh) * | 2015-11-04 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和设备 |
CN107046811A (zh) * | 2015-12-03 | 2017-08-15 | 华为技术有限公司 | 一种源存储设备发送源文件和源文件的克隆文件至备份存储设备的方法、源存储设备以及备份存储设备 |
US10296594B1 (en) | 2015-12-28 | 2019-05-21 | EMC IP Holding Company LLC | Cloud-aware snapshot difference determination |
US11023433B1 (en) * | 2015-12-31 | 2021-06-01 | Emc Corporation | Systems and methods for bi-directional replication of cloud tiered data across incompatible clusters |
US9413826B1 (en) | 2016-01-11 | 2016-08-09 | International Business Machines Corporation | Concurrent file and object protocol access using space-efficient cloning |
US10133743B2 (en) * | 2016-02-10 | 2018-11-20 | Dell Products L.P. | Systems and methods for data migration using multi-path input/output and snapshot-based replication |
US11630735B2 (en) | 2016-08-26 | 2023-04-18 | International Business Machines Corporation | Advanced object replication using reduced metadata in object storage environments |
US11176097B2 (en) | 2016-08-26 | 2021-11-16 | International Business Machines Corporation | Accelerated deduplication block replication |
US10802922B2 (en) | 2016-08-26 | 2020-10-13 | International Business Machines Corporation | Accelerated deduplication block replication |
US10353640B2 (en) * | 2016-12-06 | 2019-07-16 | Dell Products L.P. | Seamless data migration in a clustered environment |
GB201704973D0 (en) * | 2017-03-28 | 2017-05-10 | Gb Gas Holdings Ltd | Data replication system |
US10789205B1 (en) * | 2017-04-30 | 2020-09-29 | EMC IP Holding Company LLC | Cloud data archiving using promoted objects list |
CN107038260B (zh) * | 2017-05-27 | 2020-03-10 | 国家计算机网络与信息安全管理中心 | 一种可保持titan实时数据一致性的高效并行加载方法 |
CN108595588B (zh) * | 2018-04-19 | 2022-08-23 | 中国科学院电子学研究所苏州研究院 | 一种科学数据存储关联方法 |
US10671411B2 (en) * | 2018-05-29 | 2020-06-02 | Sap Se | Cloning for object-oriented environment |
JP6878369B2 (ja) * | 2018-09-03 | 2021-05-26 | 株式会社日立製作所 | ボリューム配置管理装置、ボリューム配置管理方法、及びボリューム配置管理プログラム |
US11055010B2 (en) * | 2019-09-05 | 2021-07-06 | Microsoft Technology Licensing, Llc | Data partition migration via metadata transfer and access attribute change |
US11474861B1 (en) * | 2019-11-27 | 2022-10-18 | Meta Platforms Technologies, Llc | Methods and systems for managing asynchronous function calls |
US12111794B2 (en) * | 2019-12-03 | 2024-10-08 | Western Digital Technologies, Inc. | Replication barriers for dependent data transfers between data stores |
US11567899B2 (en) | 2019-12-03 | 2023-01-31 | Western Digital Technologies, Inc. | Managing dependent delete operations among data stores |
US11409711B2 (en) | 2019-12-03 | 2022-08-09 | Western Digital Technologies, Inc. | Barriers for dependent operations among sharded data stores |
US11086726B2 (en) * | 2019-12-11 | 2021-08-10 | EMC IP Holding Company LLC | User-based recovery point objectives for disaster recovery |
CN111752927B (zh) * | 2020-06-30 | 2024-05-17 | 深圳前海微众银行股份有限公司 | 基于克隆的数据形态生成方法、装置、终端设备及介质 |
US11513899B2 (en) | 2020-11-30 | 2022-11-29 | International Business Machines Corporation | Selectively capturing snapshots of volumes based on modified capacity |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6874035B1 (en) * | 2000-02-02 | 2005-03-29 | Storage Technology Corporation | System and methods for transforming data from a source to target platform using snapshot |
US20050240584A1 (en) * | 2004-04-21 | 2005-10-27 | Hewlett-Packard Development Company, L.P. | Data protection using data distributed into snapshots |
US20060020762A1 (en) * | 2004-07-23 | 2006-01-26 | Emc Corporation | Storing data replicas remotely |
US20060236047A1 (en) * | 2005-04-18 | 2006-10-19 | Hidehisa Shitomi | Method for replicating snapshot volumes between storage systems |
US20070013948A1 (en) * | 2005-07-18 | 2007-01-18 | Wayne Bevan | Dynamic and distributed queueing and processing system |
US7334095B1 (en) * | 2004-04-30 | 2008-02-19 | Network Appliance, Inc. | Writable clone of read-only volume |
JP2008040762A (ja) * | 2006-08-04 | 2008-02-21 | Hitachi Ltd | 計算機システム及びそのスナップショット作成方法 |
US20120016840A1 (en) * | 2010-07-15 | 2012-01-19 | Symantec Corporation | Virtual machine aware replication method and system |
US20120130949A1 (en) * | 2010-11-22 | 2012-05-24 | Bluearc Uk Limited | File Cloning and De-Cloning in a Data Storage System |
JP2012216025A (ja) * | 2011-03-31 | 2012-11-08 | Nec Corp | データ複製装置、データ複製制御方法、及びデータ複製制御プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6868417B2 (en) * | 2000-12-18 | 2005-03-15 | Spinnaker Networks, Inc. | Mechanism for handling file level and block level remote file accesses using the same server |
US7334094B2 (en) * | 2004-04-30 | 2008-02-19 | Network Appliance, Inc. | Online clone volume splitting technique |
US8655848B1 (en) * | 2009-04-30 | 2014-02-18 | Netapp, Inc. | Unordered idempotent logical replication operations |
US8473777B1 (en) * | 2010-02-25 | 2013-06-25 | Netapp, Inc. | Method and system for performing recovery in a storage system |
-
2013
- 2013-02-21 EP EP13875395.9A patent/EP2959373B1/en active Active
- 2013-02-21 JP JP2015559218A patent/JP6109967B2/ja active Active
- 2013-02-21 US US14/768,317 patent/US10311151B2/en active Active
- 2013-02-21 WO PCT/US2013/027113 patent/WO2014130035A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6874035B1 (en) * | 2000-02-02 | 2005-03-29 | Storage Technology Corporation | System and methods for transforming data from a source to target platform using snapshot |
US20050240584A1 (en) * | 2004-04-21 | 2005-10-27 | Hewlett-Packard Development Company, L.P. | Data protection using data distributed into snapshots |
US7334095B1 (en) * | 2004-04-30 | 2008-02-19 | Network Appliance, Inc. | Writable clone of read-only volume |
US20060020762A1 (en) * | 2004-07-23 | 2006-01-26 | Emc Corporation | Storing data replicas remotely |
US20060236047A1 (en) * | 2005-04-18 | 2006-10-19 | Hidehisa Shitomi | Method for replicating snapshot volumes between storage systems |
US20070013948A1 (en) * | 2005-07-18 | 2007-01-18 | Wayne Bevan | Dynamic and distributed queueing and processing system |
JP2008040762A (ja) * | 2006-08-04 | 2008-02-21 | Hitachi Ltd | 計算機システム及びそのスナップショット作成方法 |
US20120016840A1 (en) * | 2010-07-15 | 2012-01-19 | Symantec Corporation | Virtual machine aware replication method and system |
US20120130949A1 (en) * | 2010-11-22 | 2012-05-24 | Bluearc Uk Limited | File Cloning and De-Cloning in a Data Storage System |
JP2012216025A (ja) * | 2011-03-31 | 2012-11-08 | Nec Corp | データ複製装置、データ複製制御方法、及びデータ複製制御プログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11327851B2 (en) | 2019-10-07 | 2022-05-10 | Fujitsu Limited | Information processing system, information processing method, and non-transitory computer-readable storage medium for storing information processing program |
Also Published As
Publication number | Publication date |
---|---|
EP2959373B1 (en) | 2020-07-15 |
EP2959373A1 (en) | 2015-12-30 |
WO2014130035A1 (en) | 2014-08-28 |
US20160004720A1 (en) | 2016-01-07 |
EP2959373A4 (en) | 2016-10-05 |
US10311151B2 (en) | 2019-06-04 |
JP6109967B2 (ja) | 2017-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6109967B2 (ja) | データストレージシステムにおけるクローンオブジェクトのオブジェクトレベルでの複製 | |
US11461202B2 (en) | Remote data replication method and system | |
US9928250B2 (en) | System and method for managing deduplication using checkpoints in a file storage system | |
JP5948340B2 (ja) | データストレージシステムにおける、ファイルのクローニング及びデクローニング | |
US10691637B2 (en) | Management of cloned objects in file systems | |
US10691636B2 (en) | Method, system and computer program product for replicating file system objects from a source file system to a target file system and for de-cloning snapshot-files in a file system | |
JP4568115B2 (ja) | ハードウェアベースのファイルシステムのための装置および方法 | |
JP6309103B2 (ja) | スナップショットおよびクローンの複製 | |
CN110096891B (zh) | 对象库中的对象签名 | |
JP6129416B2 (ja) | ファイル・システムの仮想化のための方法および装置、ファイル・システムの仮想化のためのデータ・ストレージ・システム、ならびにデータ・ストレージ・システム内で使用するためのファイル・サーバ | |
JP6275816B2 (ja) | 分散型データベースシステム用高速クラッシュ回復 | |
US10198193B2 (en) | Computer program product, method, apparatus and data storage system for controlling write operations in the data storage system | |
JP6264666B2 (ja) | データ格納方法、データストレージ装置、及びストレージデバイス | |
US10311152B2 (en) | System for queue based object cloning | |
JP2016511499A (ja) | 分散型データベースシステムのシステム全体のチェックポイント回避 | |
EP3005123A1 (en) | Restoring a file system object | |
US11442894B2 (en) | Methods for scalable file backup catalogs and devices thereof | |
CN106873902B (zh) | 一种文件存储系统、数据调度方法及数据节点 | |
JP6376626B2 (ja) | データ格納方法、データストレージ装置、及びストレージデバイス |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170214 |
|
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: 20170307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170308 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6109967 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |