JP2005500603A - ストレージエリア・ネットワークにおける非同期ミラーリング - Google Patents
ストレージエリア・ネットワークにおける非同期ミラーリング Download PDFInfo
- Publication number
- JP2005500603A JP2005500603A JP2003521464A JP2003521464A JP2005500603A JP 2005500603 A JP2005500603 A JP 2005500603A JP 2003521464 A JP2003521464 A JP 2003521464A JP 2003521464 A JP2003521464 A JP 2003521464A JP 2005500603 A JP2005500603 A JP 2005500603A
- Authority
- JP
- Japan
- Prior art keywords
- volume
- mirroring
- storage device
- remote
- local
- 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
Links
Images
Classifications
-
- 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/2056—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 by mirroring
- G06F11/2071—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 by mirroring using a plurality of controllers
- G06F11/2074—Asynchronous techniques
-
- 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/1097—Protocols 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]
Abstract
一つまたは多数のデータオブジェクトを、一つまたは多数のローカル記憶装置(SDL)から一つまたは多数のリモート記憶装置(SDRx)へと同時にミラーリングする方法およびシステムが開示されている。一つまたは多数のデータオブジェクトが、ミラーリング中に使用されうる。ミラーリング機能は、その適用例において、連続したミラーリングサイクルにて順に繰り返される一連の凍結およびコピーからなる。最新のローカル更新ミラーリングバージョンのみが、リモート記憶装置内に格納される。新規に更新された各バージョンが、以前のバージョンを上書きする。ミラーリングは、一連の離散データブロックを凍結およびコピーすることにより、非同期かつバックグラウンドで実行される。ミラーリング機能は、2つ以上のミラーリング動作を同時に実行したり、同時クロスミラーリングを実行したりするように動作することが可能である。
Description
【技術分野】
【0001】
本発明は、一般に、ミラーリング、すなわち、データの複製の分野に関し、特に、ストレージエリア・ネットワーク(SAN:Storage Area Network)または一般のネットワーク接続部に対して接続された複数の記憶装置間におけるデータオブジェクトの非同期ミラーリングに関する。
【0002】
用語解説
選択されたデータオブジェクトは、単独のデータオブジェクト、または複数のデータオブジェクト、またはデータオブジェクトのグループである。
【0003】
データオブジェクトは、ボリューム、論理ボリュームもしくは仮想ボリューム、データファイル、または任意のデータ構造である。データオブジェクトなる用語とボリュームなる用語とは、以下で、同義で用いられる。
【0004】
「ローカル」なる用語は、ローカル記憶装置といったように、出力元を示すのに用いられる。
【0005】
「リモート」なる用語は、リモート記憶装置といったように、出力先を示すのに用いられる。
【0006】
記憶装置は、磁気ディスク、光ディスク、RAIDS、およびJBODSである。
【0007】
データオブジェクト用の記憶域は、記憶装置の一部のみ、または記憶装置の全域、または記憶装置の全域よりも多くの領域にわたる。
【0008】
演算機構または処理機構は、コンピュータプロセッサ、ホスト、サーバ、PC、および、ストレージスイッチ(storage switch)もしくはネットワークスイッチ(network switch)、ストレージルータ(storage router)もしくはネットワークルータ(network router)、またはストレージコントローラである。演算機構は、コンピュータプログラムを実行するためのRAMと共に動作するか、あるいは、メモリと磁気記憶手段または他の記憶手段に記憶されたコンピュータプログラムと共に動作する。
【0009】
ネットワーク接続は、ローカルエリア・ネットワーク(LAN)、ワイドエリア・ネットワーク(WAN)、またはストレージエリア・ネットワーク(SAN)である。
【背景技術】
【0010】
ローカル記憶装置からリモート記憶装置へといったように、ある記憶装置から第2の記憶装置へのリモートミラーリングおよび記憶を実行するような従来技術の直接アクセス記憶システムは、処理をするのが難しい要件を規定しており、そのいくつかの例を以下に説明する。
【0011】
例えば、あるシステムでは、ローカルおよびリモート記憶システムが同種のものであることが要求され、ローカル記憶サイトでのハードウェアとリモート記憶サイトでのハードウェアとが、同一の業者のものでなければならないということを意味している。他のシステムでは、リモート記憶装置への複製の前に、全ローカルデータが、ローカルシステムへ送信されることが要求されている。さらに他のシステムでは、ローカルボリュームが複数の記憶システムにわたる場合、リモートサイトにてデータの一貫性を保つために、同期システムが必要とされる。また別のシステムでは、ローカルサイトでのI/O要求をキューに入れる(queuing )ことにより、あるサイトとリモートサイトとの間でデータ複製の一貫性が実現されている。これによって、大規模な記憶リソースの要求が課されるようになる。この理由として、書込コマンドの順序が保存されねばならないことが挙げられる。
【0012】
Yanai et al. (ヤナイ他)の“Remote Data Mirroring(リモートデータ・ミラーリング)”なる名称の米国特許第5,742,792号(特許文献1)には、リモートのコピーデータの記憶を提供するシステムが開示されている。
【0013】
しかしながら、そのシステムには、専用のデータ記憶システムコントローラが必要である。さらに、第1および第2データ記憶システム間のミラーリングには、データがコピーされる前に、これらのデータ記憶システムが同期している必要がある。
【0014】
Micka et al.(ミッカ他)は、米国特許第5,657,440号(特許文献2)において、リモートデータコピーについて開示しているが、Micka et al.の開示内容では、特に、時間単位チェックポイント信号を周期的に同期させることを要するような順序の一貫性のある書込動作を提供する更新システムが必要とされている。
【0015】
したがって、様々な形態で様々な業者から調達された異機種記憶装置ハードウェアの使用を可能にするデータ複製機能を提供するのは、有利なことである。連続的な複製は不必要であり、離散的な時刻にてなされた複製を保存することが望ましい。さらに、最新の複製のみを保存するだけで通常は充分であり、記憶ボリュームが節約されうる。そのうえ、専用のコントローラを必要としないようにすることが、最適であろう。
【0016】
このような必要性は、以下の本発明の開示内容により解決される。
【0017】
【特許文献1】
米国特許第5,742,792号
【特許文献2】
米国特許第5,657,440号
【発明の開示】
【発明が解決しようとする課題】
【0018】
本願の開示内容では、離散データブロックを順に凍結およびコピーすることにより、選択されたデータオブジェクトをローカル記憶装置からリモート記憶装置へとミラーリングすること、すなわち、複製することを実現するシステムとして実施される方法が提示される。ミラーリングがオペレーティングシステムに対してトランスペアレント(transparent )であるため、ミラーリング中、選択されたデータオブジェクトは、途切れることなく使用されうる。一連の離散データブロックのコピーは、非同期かつバックグラウンドで実行される。
【0019】
本発明の目的は、選択されたデータオブジェクトを、少なくとも一つのローカル記憶装置(SDL)から、少なくとも一つのリモート記憶装置(SDRx)へとミラーリングするように動作する方法およびシステムを提供することにある。
【0020】
少なくとも一つのローカル記憶装置は、第1の処理機構(HL)に対して接続され、少なくとも一つのリモート記憶装置は、第2の処理機構(HR)に対して接続されている。少なくとも一つのローカル記憶装置と、少なくとも一つのリモート記憶装置と、第1および第2の処理機構とは、複数のユーザ、複数の処理機構、および複数の記憶装置を含むネットワーク接続部に対して接続されている。
【課題を解決するための手段】
【0021】
上記目的を達成するために、本発明の方法およびシステムは、
上記第1および第2の処理機構にてミラーリング機能を実行することであって、上記ミラーリング機能は、選択されたデータオブジェクトを凍結する凍結手順と、凍結され選択されたデータオブジェクトを少なくとも一つのリモート記憶装置にコピーするためのコピー手順とを有していることと、
ミラーリング機能の実行と並行して、選択されたデータオブジェクトの使用および更新を可能にすることと、
ミラーリング中断コマンドを受信しない限り、選択されたデータオブジェクトに更新をコピーするためにミラーリング機能を繰り返し実行することを、デフォルトで命令することとを含み、上記の少なくとも一つのローカル記憶装置内にある選択されたデータオブジェクトがコピーされ、上記の少なくとも一つのリモート記憶装置へ順に更新されることを特徴とする。
【0022】
本発明のさらなる目的は、
凍結手順を、ソースボリューム(SV)として選択されたデータオブジェクトに適用し、
少なくとも一つのローカル補助ボリューム(AVL)を作成し、当該ローカル補助ボリュームに対して、選択されたデータオブジェクトへ向けられた更新がリダイレクトされ、選択されたデータオブジェクトのうちの各単独のデータオブジェクトは、少なくとも一つの補助ボリュームのうちの一つのボリュームに対応しており、
上記少なくとも一つのリモート記憶装置のうちの各リモート記憶装置内に、少なくとも一つのリモートボリュームを、作成された各ローカル補助ボリュームに対応させて作成し、
凍結され選択されたデータオブジェクトおよび少なくとも一つのローカル補助ボリュームを含む少なくとも一つの結果としてのソースボリュームを、上記の少なくとも一つのローカル記憶装置内に形成し、
凍結され選択されたデータオブジェクトを、上記の少なくとも一つの結果としてのボリュームから上記の少なくとも一つのリモート記憶装置へとコピーするためのコピー手順を適用する方法および装置を提供することにある。
【0023】
ミラーリング機能は、2つ以上のデータオブジェクトに対して同時に適用され、少なくとも一つのローカル記憶装置から少なくとも一つのリモート記憶装置へと、および、その逆の方向へと、同時に適用される。
【0024】
本発明の他の目的は、
2つ以上のデータオブジェクトを同時に凍結させるための凍結手順を適用し、
2つ以上の凍結され選択されたデータオブジェクトを同時にコピーするために、コピー手順を適用し、
一つのローカル記憶装置内にある一つの単独のデータオブジェクトを、2つ以上のリモート記憶装置へ同時にミラーリングし、
複数の単独のデータオブジェクトであってそれぞれが同数のローカル記憶装置内にあるデータオブジェクトを、一つのリモート記憶装置へ同時にミラーリングし、
一つのローカル記憶装置内にある複数の単独のデータオブジェクトを、それぞれ、同数のリモート記憶装置へ同時にミラーリングし、
複数のローカル記憶装置のうちの各々のローカル記憶装置内にある一つの単独のデータオブジェクトを、一つのリモート記憶装置へ同時にミラーリングする方法およびシステムを提供することにある。
【0025】
本発明のさらに他の目的は、
選択された時点にて、
ミラーリングサイクルを開始し、
選択されたデータオブジェクトを凍結し、
少なくとも一つのローカル補助ボリューム(AVL)を、少なくとも一つのローカル記憶装置(SDL)内に作成すると共に、少なくとも一つのリモートボリューム(RV)を、少なくとも一つのリモート記憶装置(SDRx)内に作成し、
凍結され選択されたデータオブジェクトおよびローカル補助ボリューム(AVL)を含む少なくとも一つの結果としてのソースボリュームを形成し、
上記選択された時点後に、
凍結され選択されたデータオブジェクトを、結果としてのソースボリュームから少なくとも一つのリモートボリュームへと、コピーが完了するまでコピーし、
選択されたデータオブジェクトへ向けられた更新を、ローカル補助ボリュームへリダイレクトし、
結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用を可能にし、
少なくとも一つのリモート記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルを繰り返す方法およびシステムを提供することにある。
【0026】
本発明のさらなる目的は、
少なくとも一つのリモート記憶装置へのコピー完了後、次の時点にて、次のミラーリングサイクルを開始し、
結果としてのソースボリュームを凍結し、
最終のローカル補助ボリュームを、上記ローカル記憶装置内に作成すると共に、最終のリモートボリュームを、上記の少なくとも一つのリモート記憶装置内に作成し、
最後から2番目の結果としてのソースボリュームおよび最終のローカル補助ボリュームを含む、最終の結果としてのソースボリュームを形成し、
上記次の時点後に、
最後から2番目のローカル補助ボリュームを、最終のリモートボリュームへコピーし、
選択されたデータオブジェクトへ向けられた更新を、最終のローカル補助ボリュームへリダイレクトし、
最終の結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用を可能にし、
最終のリモートボリュームへのコピー完了後、
最後から2番目のローカル補助ボリュームを、凍結され選択されたデータオブジェクトに同期させ、
上記第2の処理機構(HR)のコマンドにより、少なくとも一つの最終のリモートボリュームを、最後から2番目のリモートボリュームに同期させ、
上記の少なくとも一つの第2の記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルを繰り返す方法およびシステムを提供することにある。
【0027】
本発明のさらなる目的は、
最後から2番目のローカル補助ボリュームのコピー完了後に起こるさらに別の時点を選択し、
結果としてのソースボリュームを凍結し、
最終のローカル補助ボリュームを、上記ローカル記憶装置内に作成すると共に、最終のリモートボリュームを、上記の少なくとも一つのリモート記憶装置内に作成し、
最後から2番目の結果としてのソースボリュームおよび最終のローカル補助ボリュームを含む、最終の結果としてのソースボリュームを形成し、
最後から2番目のローカル補助ボリュームを、少なくとも一つの最終のリモートボリュームへコピーし、
選択されたデータオブジェクトへ向けられた更新を、最終のローカル補助ボリュームへリダイレクトし、
最終の結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用を可能にし、
最後から2番目のローカル補助ボリュームを、選択されたデータオブジェクトに同期させ、
少なくとも一つの最終のリモートボリュームを、最後から2番目のリモートボリュームに同期させ、
上記の少なくとも一つの第2の記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルを繰り返す方法およびシステムを提供することにある。
【0028】
本発明のさらに別の目的は、
最後から2番目のローカル補助ボリュームより前のコピーが完了した時点にて入力された更新を含む選択されたデータオブジェクトの完全にミラーリングされたコピーを、上記の少なくとも一つのリモート記憶装置内に格納する方法およびシステムを提供することにある。
【0029】
本発明のさらに別の目的は、
少なくとも最終のローカル補助ボリュームを最終のリモートボリュームへコピーする時間にわたって継続するものと規定された離散反復時間間隔で、ミラーリング機能の動作を繰り返し、
更新を同期させて、選択されたデータオブジェクトを上書きし、
後のリモートボリュームを同期させて、最後から2番目の結果としての第1のリモートボリュームを上書きする方法およびシステムを提供することにある。
【発明を実施するための最良の形態】
【0030】
本発明をよりよく説明するため、そして、それが実際にどのように実行可能になるかを示すために、添付の図面を参照する。
【0031】
本発明は、離散的なデータブロックを順次凍結およびコピーすることにより、ローカル記憶装置からリモート記憶装置へと、選択されたデータオブジェクトをミラーリングすること、すなわち、複製することを実現している。ミラーリングがオペレーティングシステムに対してトランスペアレントであるため、ミラーリングの際、選択されたデータオブジェクトが途切れずに用いられうる。連続した離散的なデータブロックのコピーは、非同期かつバックグラウンドで実行される。
【0032】
ミラーリングは、連続したミラーリングサイクルにて順次反復される一連の凍結およびコピー手順からなる。ローカル更新ミラーリングの最新バージョンのみが、リモート記憶装置内に格納される。新規の各更新バージョンは、以前のバージョンを上書きする。ミラーリングが第1のミラーリングサイクルs=1で開始するときに存在する更新バージョンは、さらに2回のミラーリングサイクル後、s=3のときに安全に格納される。
【0033】
説明に用いられる用語は、ストレージエリア・ネットワーク(SAN)対応の仮想化に容易に関連づけられる。このような仮想化SANの仮想ボリュームには、データオブジェクトのグループ、複数のローカル記憶装置、および複数のリモート記憶装置が、含まれてもよい。但し、本方法を容易に理解するために、単一のデータオブジェクト、単一のローカル記憶装置、および単一のリモート記憶装置のみを有するシステムを考えてもよい。
【0034】
ミラーリング機能が実行される場合、選択されたデータオブジェクトが、例えばソースボリュームとして、凍結手順により凍結される。同時に、第1のローカル補助ボリュームが、ローカル記憶装置内に作成され、凍結されたソースボリュームと同じサイズの第1のリモートボリュームが、リモート記憶装置内に作成される。ソースボリュームは凍結されていると共に凍結されたままであるべきであるので、変更されてはならないが、コピー手順によりリモート記憶装置へコピーされてもよい。
【0035】
選択されたデータオブジェクトは、ミラーリング中に使用されうる。凍結時に、オペレーティングシステムO.S.は、凍結された選択データオブジェクトおよび第1のローカル補助ボリュームの双方を含んだ結果としてのソースボリュームを作成する。結果としてのソースボリュームは、I/O書込動作およびI/O読取動作にアクセス可能である。明らかに、凍結ソースボリュームに対しては読取動作のみが許容されている一方で、選択されたデータオブジェクトに対する書込更新は、第1のローカル補助ボリュームへリダイレクトされる。
【0036】
一旦、凍結ソースボリュームがリモート記憶装置へミラーリングされると、凍結およびコピー手順が繰り返される。結果としてのソースボリューム内の第1のローカル補助ボリュームが凍結され、同時に、第2のローカル補助ボリュームおよび第2のリモートボリュームが作成される。第2のローカル補助ボリュームは、以前に作成された結果としてのソースボリュームに対して追加されて、オペレーティングシステムO.S.により使用される、結果としての新規のソースボリュームが形成される。そして次に、凍結された第1のローカル補助ボリュームは、第2のリモートボリュームへコピーされる。同様に、データオブジェクトは、結果としての以前のソースボリュームと共に使用されてもよく、当該ソースボリュームに対して、最新の凍結ローカル補助ボリュームが追加されて、結果としての最新のソースボリュームが形成される。原則的に、ミラーリング機能は、連続した凍結およびコピー手順を実行して、一つのデータオブジェクトまたはデータオブジェクトのグループを、一つまたはそれ以上のローカル記憶装置から、一つまたはそれ以上の他の記憶装置すなわちリモート記憶装置へと複製する。単一の場合とは、単独のデータオブジェクトのみからなり、かつ、単一のローカル記憶装置内にあるような選択されたデータオブジェクトを、単一のリモート記憶装置へミラーリングすることに関係するものである。
【0037】
ミラーリング機能は、2つ以上のミラーリング動作を同時に実行するように動作することが可能である。例えば、2つの異なるデータオブジェクト(各々が、例えば、異なるローカル記憶装置内の異なるボリュームにある)は、2つの異なるリモート記憶装置へミラーリングされることもある。明らかに、同時ミラーリングは、2つの選択されたデータオブジェクトに限られるわけではない。
【0038】
また一方で、ミラーリング機能は、クロスミラーリングが可能である。クロスミラーリングは、最後の例と並行して、2つの異なるデータオブジェクト(一方は、ローカル記憶装置内にあり、他方は、リモート記憶装置内にある)を、それぞれ、リモート記憶装置へミラーリングすると共にローカル記憶装置へミラーリングする結果となる。クロスミラーリングは、2つの選択されたデータオブジェクトを同時にミラーリングすることに限定されるものではない。
【0039】
一般に、ミラーリング機能は、双方向クロスミラーリングばかりでなく、データオブジェクトのグループを、いくつかのローカル記憶装置からいくつかのリモート記憶装置へとミラーリングすることを実現する。下記の〔表1〕のミラーリング概観テーブルに、直接ミラーリングについて、ミラーリングの選択肢I〜VIを示す。これに対して、I〜VIの全選択肢について、クロスミラーリングが追加される必要がある。
【0040】
【表1】
【0041】
発明の実施の形態
“Storage Virtualization in a Storage Network (ストレージ・ネットワークにおけるストレージ仮想化)”なる名称の本願と同一出願人による同時継続中の特許出願PCT/IL00/00309の図1を参照する。この特許出願は、その全体が一体に組み入れられ、以下、「‘309特許」として引用される。さらに、ネットワーク接続部NETを示す本発明の図1を参照する。ネットワーク接続部NETに対して接続されているものとして、複数のユーザUと、ホスト、サーバH、またはプロセッサ等の演算機構と、ハードディスクHD等の記憶装置SDとがある。第1処理機構、すなわち、ローカル処理機構の制御下で、あるローカル記憶装置から、第2の処理機構、すなわち、リモート処理機構により制御されている他のリモート記憶装置へのミラーリングが開始する。例えば、ホストH4は、他の処理機構H3により制御されている記憶装置SDAから記憶装置SDBへのミラーリングを命令してもよい。また一方で、ホストH1は、第1のハードディスクHD1から、プロセッサH2に接続される第2のハードディスクHD2へのミラーリングを制御してもよい。同様に、ホストH2は、第1のハードディスクHD2から第2のハードディスクHD3または他のハードディスクH4へのミラーリングを命令してもよい。2つ以上の記憶装置内にある選択されたデータオブジェクトのミラーリングは、一つまたはそれ以上の記憶装置に対して実行されてもよい。最小限の要件は、2つの処理機構およびネットワーク接続部上の少なくとも2つの記憶装置(コピー元としてのローカル記憶装置、および、書込先としてのリモート記憶装置)についてのものである。
【0042】
前述のように、データオブジェクトをある記憶装置から他の記憶装置へとミラーリングすることには、一連の凍結およびコピー手順を適用することが必要である。なお、ネットワーク接続の動作は、ミラーリング中に妨害されてはいけない。したがって、以下の説明では、まず、凍結手順が示され、次に、凍結手順実行中のシステムの動作が示され、最後にコピー手順が示される。
【0043】
凍結手順
図2に、段階2a〜2dで、凍結手順を図示する。横軸tは時間を指し、t=0で開始する。
【0044】
ミラーリング機能は、ネットワーク接続部NETに接続される、第1および第2の処理機構(それぞれHLおよびHR)等の少なくとも2つの処理機構上で実行されることが想定されている。第1の記憶装置SDLおよび少なくとも一つの第2の記憶装置SDRx(ここでxは特定の記憶装置を示す)は、ローカル記憶装置および少なくとも一つのリモート記憶装置とそれぞれ称され、ネットワーク接続部NETに接続されている。したがって、少なくとも一つのリモート記憶装置SDRxは、第1のリモート記憶装置SDR1、第2のリモート記憶装置(SDR2)等からなる。
【0045】
ローカルおよびリモートの指定は、記憶装置の物理的位置についての制約を全く含むことなく、出力元および出力先用に使用される。したがって、ローカルおよびリモート記憶装置は、例えば、同一の記憶装置内にあるか、あるいは、SANまたはホストHに接続される別々の記憶装置内にある。別々の記憶装置は、隣接していたり、地球の反対側にあったりする。コピーは、ローカル記憶装置から一つまたはそれ以上のリモート記憶装置へとなされる。任意の記憶装置が、いずれかの名前で指定されるが、そこからのミラーリング時には、単一のローカル記憶装置のみがある。
【0046】
ミラーリング機能は、凍結手順およびコピー手順の双方を含んでおり、初めに、凍結されるべく選択されたデータオブジェクトの指定を受信する。図2の段階2aに示すように、所定の時点、t=1にて、凍結手順は、選択されたデータオブジェクトをソースボリュームSVとして凍結するための要求を受信する。この結果、「凍結」されたソースボリュームSVは、「読取専用」に制限される。それにより、ソースボリュームの内容は変更されなくなる。そして、凍結されたソースボリュームSVは、以下に説明するようにコピーされることになる。
【0047】
ミラーリング機能をO.S.に対してトランスペアレントに保つと共に、データオブジェクトの使用が可能になる。時刻t=1にて、ソースボリュームSVが凍結するのと同時に、凍結手順は、ローカル補助ボリューム1、すなわち、AVL1として示す第1の補助(場合によって仮想)ローカルボリュームを作成する。これと共に、凍結されたソースボリュームSVおよびローカル補助ボリューム1は、結果としてのソースボリュームを形成する。オペレーティングシステムO.S.の観点からすると、結果としてのソースボリュームは、トランスペアレントに用いられる出力元の選択データオブジェクトに見える。
【0048】
そして次に、ソースボリュームSVの凍結時から、ローカルの処理機構HLにより凍結されたソースボリュームへ向けられた書込(WRITE )動作は、ミラーリング機能により、結果としてのソースボリューム内にあるローカル補助ボリューム1・AVL1へリダイレクトされる。したがって、凍結されたソースボリュームSVの内容における元々の非変更の部分に関する限り、読取(Read)動作が可能である。凍結されたソースボリュームSVに対する書込(Write )動作は、ローカル補助ボリューム1へリダイレクトされる。そうでなければ、凍結されたソースボリュームSVの内容に対して変化がもたらされるためである。ミラーリング機能、したがって凍結手順は、ローカルおよびリモート処理機構の双方の中にあり、凍結されたデータオブジェクトへリダイレクトされたI/Oコマンドを、システムの動作に関して以下に説明するように、インターセプト(intercept )することが可能になる。ローカル補助ボリューム1(AVL1)へと方向変換した書込(WRITE )動作は、更新として規定される。なお、ローカル補助ボリュームは、作成時から次の凍結がなされるときまで動作可能になっている。すなわち、次のローカル補助ボリュームが作成されるまでである。さらに、当の処理機構の性能は、ルーティング命令のみを処理する凍結機能によってのみわずかに影響される。すなわち、I/O読取(READ)またはI/O書込(WRITE )命令のリダイレクトである。
【0049】
図2の段階2bを参照すると、凍結されたソースボリュームSVがコピーされた後の時刻t=2にて、次の凍結が実行され、ローカル補助ボリューム1(AVL1)へ適用される。同時に、ローカル補助ボリューム1(AVL1)について説明したのと同様に、新規のローカル補助ボリューム2(AVL2)が作成される。並行して、結果としての以前のソースボリュームをローカル補助ボリューム2(AVL2)と共に含むように、結果としての新規のソースボリュームが作成される。そして、凍結されたローカル補助ボリューム1(AVL1)内に格納されている更新は、以下に説明するようにコピーされうる。再度説明すれば、O.S.は、凍結動作がトランスペアレントであるので、結果としての最新のソースボリュームを、出力元のソースボリュームとみなす。
【0050】
図2の段階2cでは、凍結されたローカル補助ボリューム1(AVL1)がコピーされた後、ローカル補助ボリューム2(AVL2)は、時刻t=3にて凍結され、ローカル補助ボリューム3(AVL3)が作成される。そして、凍結されたローカル補助ボリューム2(AVL2)へと以前に書き込まれた更新が、コピーされてもよい。同様に、最後に作成されたローカル補助ボリューム3(AVL3)、すなわち、最終のローカル補助ボリューム3(AVL3)は、結果としての以前のソースボリュームと共に、結果としての新規かつ最終のソースボリュームの一部となる。
【0051】
したがって、結果としての第3のソースボリュームは、時刻t=1にて凍結された第1のソースボリュームSV、凍結されたローカル補助ボリューム1および2(それぞれAVL1およびAVL2)、ならびに、最終のローカル補助ボリューム3(AVL3)からなる。時刻t=3にて、第1の凍結ソースボリュームSVおよび凍結ローカル補助ボリューム1(AVL1)が、既にミラーリングによりコピーされているという事実を利用して、これらの最新の2つのボリュームが同期されてもよい。図2の段階2dは、時刻t=3でのこの最新のステップを反映している。それにより、ローカル補助ボリューム1(AVL1)内に含まれた更新は、第1の凍結ソースボリュームに同期される。ローカル補助ボリューム1(AVL1)が削除されるので、記憶域が節約されると共に、結果としての最終のソースボリュームが不変に保たれる。そして、凍結手順を実行するミラーリング機能は、継続可能になるか、あるいは、自由に中断される。
【0052】
ミラーリングが継続するように命令された場合、時刻t=4にて、図2には示されていないが、ローカル補助ボリューム2(AVL2)のコピー完了後、新規のローカル補助ボリュームが、最終のローカル補助ボリュームとなるように開かれることとなる。同時に、最後から2番目のローカル補助ボリュームAVLのコピー(この場合には、ローカル補助ボリューム3(AVL3))が、開始することになる。同時に、最後から2番目より前のローカル補助ボリュームAVL内にある更新(ここではローカル補助ボリューム2(AVL2))が、第1の凍結ソースボリュームSVに同期されることになる。そして、ローカル補助ボリューム2(AVL2)は削除されてもよい。明らかに、データオブジェクトの使用は、結果としての最新のソースボリュームおよび最終のローカル補助ボリュームからなる結果としての最終のソースボリュームに関連して、継続可能である。
凍結のデータ構造
ソースボリュームSVの凍結が時刻t=1にて命令された場合、凍結ソースボリュームは、連続番号が付されたセグメントすなわち例えば1MBのチャンク(chunk)へと任意に分割され、これらのチャンクは、凍結時にローカル補助ボリューム1(AVL1)内に作成される下記の凍結テーブル1(〔表2〕)にリストアップされている。このように、凍結テーブル1内のエントリの合計数は、MBで表示された凍結ソースボリュームSVの容量に等しい。除算の結果が整数でない場合、凍結テーブル内にリストアップされたチャンクの数は、次の整数へと切り上げられる。凍結テーブル1は、ローカル補助ボリューム1内にあって、O.S.によるデータオブジェクトへのI/O命令をリダイレクトするためのツールである。
【0053】
t=1での凍結コマンドに始まり、データオブジェクトに向けられた全てのI/O書込(WRITE )命令の更新が、ローカル補助ボリューム1へとルーティングされる。I/O読取(READ)命令は、2つの種類に分類される。第1種の読取命令は、t=1での凍結開始以来修正されずにソースボリュームSV内に非変更で存在するデータに関するものである。第2種の読取命令は、書込コマンドによる更新(その更新は凍結後になされている)を経たデータを指しているので、ローカル補助ボリューム1へとルーティングされる。
【0054】
凍結ソースボリュームSVとローカル補助ボリューム1とを対応させるため、マッピングテーブルが必要となる。例えば、O.S.がI/O読取命令を、凍結後に更新されたデータに対して指示する場合、そのデータのローカル補助ボリューム内でのアドレスが必要となる。
【0055】
【表2】
【0056】
〔表2〕の凍結テーブル1を参照すると、ソースボリュームSVのチャンク番号が記載された第1の左列、および、各チャンクがマッピングされているアドレスを指定するインデックスが記載された第2の右列が示されている。凍結テーブル1における第1行左列内のチャンク番号0は、同第1行右列内に−1としてインデックスが付されている。慣行に従い、インデックス−1は、元々の状態、あるいは、最新の凍結以来非変更であることを示している。したがって、問題のチャンク(ここではチャンク0)は、時刻t=1の凍結以来、更新されていないので、関連データは、ソースボリュームSV内にて検出される。−1以外のあらゆるインデックス番号、したがって0以上は、アドレスを示すと共に、このように付番された特定のチャンクが時刻t=1の凍結後に更新されたという事実を示している。−1以外のインデックスにより、I/O命令は、最終のローカル補助ボリューム内で検出される特定のアドレスへリダイレクトされる。
【0057】
なお、I/O命令を凍結ソースボリュームSVおよびローカル補助ボリュームへとルーティングするための機構により、データオブジェクトを連続して制約なく使用することが可能になる。
【0058】
凍結手順
凍結手順は、データオブジェクトへ向けられたI/O命令を、3つの異なる状態に応じてルーティングする。説明の用語を簡潔に保つために、第1の凍結のみを参照する。したがって、単一の凍結ソースボリュームSVおよび単一の第1のローカル補助ボリュームのみを参照する。
【0059】
1.読取(READ)命令は、凍結以来変更されていない場合、ソースボリュームSVへ向けられ、それ以外の場合、ローカル補助ボリュームへ向けられる。
【0060】
2.t=1にて開始した凍結後に変更されたチャンクのための書込(WRITE )命令は、ローカル補助ボリュームへ向けられる。
【0061】
3.ソースボリュームSV内にある非変更のチャンクへの書込(WRITE )命令は、そのチャンクをローカル補助ボリュームへコピーすることを要し、その後に、ローカル補助ボリューム内にてそこに書き込むことを要する。
【0062】
I/O命令のパージング
前述の3つの状態に従ってI/O命令をパージングするシーケンスについて、以下に説明する。
【0063】
図3を参照すると、ステップD1では、O.S.がI/O命令を待ち受け、このような命令が受信されると、ステップD2での検定により、読取(READ)命令と書込(WRITE )命令とが区別される。読取(READ)命令、したがってyes(Y)については、後述する図4におけるステップA1によるさらなる処理のために、制御は、ステップD3へと分岐する。書込(WRITE )命令についてのno(N)の場合、制御は、書込(WRITE )命令を処理するステップD4を経て、ステップD5へと移行し、以前に更新がなされたかどうか、あるいは、これが凍結後最初の書込(WRITE )であるかどうかが、判別される。以前に更新がなされている場合、制御は、ステップD6へと移行して、以下に説明する図5のステップB1により処理されることになる。以前に更新がなされていない場合、制御のフローは、ステップD7へと進む。このステップD7は、以前の更新のないI/O書込(WRITE )命令を、以下のステップC1へと渡す。
【0064】
読取( READ )命令
図4に、凍結開始後データオブジェクトへ送られたI/O読取命令の手順を示す。「I/Oを待ち受ける」最初のステップA1により受信された命令は、ステップA2へと渡される。このステップA2では、読取命令を求めてフィルタ処理がなされる。否定(N)である場合、書込命令は、図5のステップB1へと渡されるべく、ステップA3へと分岐する。yes(Y)の肯定である場合、読取コマンドは、ステップA4へ送られる。
【0065】
凍結ソースボリュームSVが1MBのチャンクに分割されている場合、ステップA4にて、チャンク番号が算出され、凍結テーブル内のインデックスが検索される。1MBによるアドレス番号の整数除算によって算出され、さらに512で除算されて、セクタ番号が求められる。したがって、1MB/512=(1024バイト×1024バイト)/512である。この結果は、以下のステップA5へ送られる。場合により、データがチャンクの境界にわたるときには、アドレス内に見出された情報により指摘されるように(常に、I/O命令の開始位置および長さを示す)、2つ以上のチャンク番号が提供される。そして、O.S.は、凍結テーブル1内のアドレスを、算出されたチャンク番号にわたって検索する。
【0066】
ステップA5では、凍結以来非変更のデータを示すインデックス−1と、他のインデックスとが区別される。ゼロおよび正の整数値は、ローカル補助ボリューム内にあるデータを示す。
【0067】
ステップA5へ送られたチャンク番号が−1である場合、読取コマンドは、「ソースボリュームから読み取る」ためにステップA6へ送られる。それ以外の場合、読取コマンドは、凍結テーブル1内に見出されるように、A7に従って、ローカル補助ボリューム内のアドレスへ向けられる。完了後、ステップA6およびステップA7の双方では、制御が、図3における最初のステップD1へ返される。
【0068】
書込( WRITE )命令
図5に、ローカル補助ボリュームのチャンク(凍結後更新されたデータを含む)へのI/O書込コマンドの処理ステップを示す。
【0069】
最初のステップB1では、本手順は、I/Oコマンドを受信すべく待ち受ける。そして、そのI/Oコマンドは、次のステップB2へ送られる。B2でのフィルタは、I/Oコマンドが読取コマンドであるか書込コマンドであるかが確認される。I/O読取コマンドは、ステップB3へとルーティングされて、図4のステップA1によりI/O読取コマンドとして処理されるが、I/O書込コマンドは、ステップB4へ向けられる。このステップB4では、凍結テーブル1にアクセスするために、チャンク番号が、前述のように除算により算出される。書込コマンドが2以上の単独のチャンクにわたってチャンクの境界にまたがるならば、2つ以上のチャンク番号が導出される。
【0070】
一つまたはそれ以上のチャンク番号は、ステップB5へと渡される。このステップB5では、凍結テーブル1が参照されて、問題のチャンクに対応したインデックス番号が取得される。−1の値が得られた場合、制御はステップB6へ向けられて、ソースボリュームSV内にある非変更データとして処理される。凍結テーブル1にてゼロまたは正のインデックス値が検出された場合、ステップB7により、命令は、特定のアドレスへの書込のために、ローカル補助ボリュームへ向けられる。ステップB6およびステップB7から、制御は、図3におけるI/O待ち受けステップD1へと戻される。
【0071】
図6に、凍結時t=1以来非変更のデータについてのI/O書込命令のステップを示す。第1のステップC1は、「I/Oを待ち受ける」命令である。この命令は、一旦受信されると、「書込I/O」フィルタとして機能するステップC2に至る。受信されたI/O命令が「書込I/O」でない場合、制御は、ステップC3へと渡されて、図4のステップA1により「読取I/O」として処理される。それ以外の場合、書込命令については、ステップC4にてチャンク番号が算出される。また、チャンクの境界にわたるI/Oコマンドも処理されて、少なくとも2つのチャンク番号が得られる。
【0072】
そしてまた、ステップC5では、算出されたチャンク番号が用いられて、凍結テーブルが検索され、非変更データと更新データとが区別される。後者の場合、制御はステップC6へと渡される。このステップC6では、I/Oは、以前に更新された書込I/Oコマンドとして、図5のステップB1により処理されるように仕向けられる。
【0073】
非変更データについては、制御はステップC7へと進む。なお、補助ボリュームへデータを書き込む前に、凍結以来最初に更新されるべきチャンクについて、空いているメモリ位置を求める必要がある。したがって、ステップC7では、ローカル補助ボリューム内の第1の空きチャンクを求めて、検索がなされる。検出された場合、ステップC4にて算出されたチャンク番号と対向したインデックスが変更されて、以降は−1を示さずに、ローカル補助ボリューム内のアドレスを示すようになる。実際には、単一または複数のチャンクは、まず、ソースボリュームSVからローカル補助ボリュームへコピーされ、その後、書込命令による更新のために上書きされる。
【0074】
書込( WRITE )命令
次に、制御は、ステップC7からステップC8へと渡される。このステップC8では、ローカル補助ボリューム内にさらに記憶域が必要であるかどうか検査される。SAN対応仮想化にてさらに記憶域が必要であれば、その要求は、仮想機器へと送られる。‘309特許の開示内容に従い、ローカル補助ボリュームに対する記憶域の拡張がなされるように、ステップC9にて、要求が仮想化装置へと送られる。他の環境について、ローカルホストHLのO.S.により実行される記憶域割当プログラムは、追加の記憶域を処理する。
【0075】
その場合に応じて、制御は、追加の記憶域を要求しないステップC8か、あるいは、記憶域の拡張後のステップC9から、ステップC10へと渡される。このステップC10では、完全なチャンクがソースボリュームSVからローカル補助ボリュームへコピーされる。これが一旦完了すると、制御はステップC11へと渡される。
【0076】
最後のステップC11では、凍結テーブル1は更新されて、ステップC4にて算出されたチャンク番号に対向して、−1の値に代わり、ローカル補助ボリューム内のアドレスが入力される。ステップC11から、制御は、ステップC6を経て、図5のステップB1へと戻される。なお、ローカル補助ボリュームは、たかだか、ソースボリュームSVと同じチャンク番号を有する。この最後の場合は、ソースボリュームSVの全チャンクまたはセグメントが書き込まれたときに発生する。ソースボリュームSVの同一のチャンクに対するI/O書込命令の更新により、以前の書込命令が上書きされる。そして、以前の書込命令は失われる。
【0077】
コピー手順
ソースボリュームSVの凍結に関する説明を参照すると、図2の段階2aでは、凍結実行後に、ソースボリュームがコピーされると記述されている。したがって、ミラーリング機能により、凍結ソースボリュームSVを、元々それがある記憶装置(ローカル記憶装置として規定される)から、他の任意の記憶装置(リモート記憶装置と称される)へコピーする旨が命令される。リモート記憶装置は、場合によると、同一サイトもしくはリモートサイトにおける他の記憶装置であるか、または、複数のサイトにおけるいくつものリモート記憶装置からなる。さらに、リモート記憶装置としては、ソースボリュームSVが保存されている同一の記憶装置が選択されることもありうる。
【0078】
ミラーリング機能は、連続して反復されてもよく、任意の凍結およびコピーサイクル後に停止してもよい。
【0079】
凍結ソースボリュームSVからリモート記憶装置へのコピーにより、処理機構リソースに負荷がかかったり、通信が減速したり、あるいは、処理機構の動作に干渉したりすることはない。これは、凍結およびコピー手順が必要となるのみであるためである。
【0080】
図7にミラーリング機能の概略機構を示すと共に、図8を参照してより詳細に説明する。
【0081】
図7では、左列は、ローカル記憶装置SDL(データオブジェクトがソースボリュームSV内に存在)に対応しており、横軸は時間軸を示している。右列は、ローカル記憶装置内でのそれらと、並行して発生するイベントを示し、リモート記憶装置SDRxでの処理を示している。ここで、x[1,2,…,n]は、少なくとも一つのxの、利用可能な記憶装置から選択される。「リモート記憶装置SDRx」なる名称は、少なくとも一つの記憶装置の意味で、以下に用いられる。
【0082】
図7における段階7Aに、ミラーリング以前の状況を示す。左列にて、時刻t=0で作成されたソースボリュームSVにはデータオブジェクトが含まれており、ミラーリングサイクルカウンタsは0である。右列にはイベントはない。
【0083】
図7の段階7Bでは、左列にて、ミラーリングカウンタは1増加してs=1となり、ソースボリュームの凍結が時刻t=1にて命令される。同時に、第1のローカル補助ボリューム1(AVL1)がローカル記憶装置SDL内に作成され、そこに対して、データへの更新が向けられるようになる。更新は、ローカル補助ボリュームへリダイレクトされる演算機構HLからのI/O書込命令である。
【0084】
t=1での凍結と同時に、第1のリモートボリュームRVx/s(ここではRvx/1)が、リモート記憶装置SDRx内に、図7の右列にてソースボリュームSVと同じサイズで作成される。次に、凍結ソースボリュームSVが、バックグラウンドにてコピーされて、リモートボリュームRVx/1へ書き込まれる。
【0085】
凍結手順により、凍結データオブジェクトが、例えば1MBのチャンクへ分割されることが述べられている。ローカル補助ボリュームおよび結果としてのソースボリュームが作成されると、そこに凍結テーブルも作成されて、ソースボリュームと更新とが関連づけられる。凍結テーブルは、必要な場合に、I/O命令をデータオブジェクトからローカル補助ボリュームへリダイレクトする。
【0086】
また一方で、O.S.は、ソースボリュームSVおよび第1のローカル補助ボリュームAVL1の双方と動作可能に関連したままとなっており、ともに、結果としてのソースボリュームを形成している。なお、ミラーリングは、バックグラウンドで、リモート記憶装置からのI/O命令を待つことなく実行される。そのため、ローカルプロセッサHLまたはネットワーク機構の動作速度が低下することはない。
【0087】
図7の段階7Cでは、ミラーリングカウンタが1増加してs=2となり、第2の凍結コマンドが時刻t=2にて受信され、ソースボリュームSVから第1のリモートボリュームRVx/1へのコピー動作完了時または完了後に実行される。同時に、第1のローカル補助ボリュームAVL1が凍結されて、第2のリモート補助ボリュームRVx/2がリモート記憶装置SDRx内に、右列にて第1のローカル補助ボリュームAVL1と同じサイズで作成される。第2のローカル補助ボリューム2(AVL2)は、ローカル記憶装置SDL内に作成され、そこに対して、データオブジェクトへの更新が向けられる。
【0088】
凍結テーブルは、凍結手順により自動的に作成されて、各ローカル補助ボリューム内に存在することになり、O.S.に有用となる。第1のローカル補助ボリュームAVL1は、第2の演算機構HRのための凍結テーブルを含むものであり、次に、コピーされて、第2のリモートボリュームRVx/2へ書き込まれる。
【0089】
同時に、結果としての新規のソースボリュームが、新規の凍結テーブルと共に作成される。結果としての新規のソースボリュームは、結果としての以前のソースボリュームに対して第2のローカル補助ボリュームAVL2が追加されたものからなる。したがって、O.S.は、結果としての新規のソースボリュームと交信して、ミラーリングと並行してデータボリュームを使用しうる。
【0090】
段階7Cの左列における時刻t=2にて、ローカル記憶装置SDLには、ソースボリュームSV、第1のローカル補助ボリュームAVL1、および第2のローカル補助ボリュームAVL2が含まれている。同時に、右列にて、リモート記憶装置SDRxには、第1のおよび第2のリモートボリュームが含まれている。
【0091】
引き続きミラーリングカウンタはs=2で、段階7Dにて、凍結されたボリューム、すなわち、ソースボリュームSVと第1のローカル補助ボリュームとが同期され、これにより、第1のローカル補助ボリュームAVL1へ以前に書き込まれた更新が、ソースボリュームSVへと入力される。第1のローカル補助ボリュームAVL1内にある凍結テーブルは、更新を正確に同期させるのに用いられる。第1のローカル補助ボリュームAVL1には、たかだかソースボリュームSVと同数のチャンクまたはセグメントが含まれている。この第1のローカル補助ボリュームAVL1がコピーされて、元々のサイズを保っているソースボリュームSVの内容を上書きする。そして、第1のローカル補助ボリュームAVL1は削除される。
【0092】
第2のローカル補助ボリュームAVL2内にある凍結テーブルにおけるチャンク番号に対向したインデックスは、インデックス値が−1に設定されて、同期したボリュームの状態を反映する。並行して、第2のリモートボリュームRVx/2は、第1のボリュームRVx/1に同期する。第1のボリュームRVx/1は、ソースボリュームSVと同じサイズのままとなっている。リモート記憶装置での同期は、最後にコピーされたローカル補助ボリュームと共にそこにコピーされた凍結テーブルを用いて、第2の処理機構HRにより実行される。そして、第2のリモートボリュームRVx/2は削除される。
【0093】
同期がなされると、もはや不要となったローカル補助ボリュームおよびリモートボリュームが削除されることにより、ローカル記憶装置SDLおよびリモート記憶装置SDRxの双方にて必要とされる記憶域が制限される。
【0094】
段階7Eは、段階7Bおよび段階7Cと等価な、他の凍結段階である。第1の演算機構HLでのミラーリングサイクルカウンタは1増加してs=3となり、第2のローカル補助ボリュームAVL2における凍結は、時刻t=3にて実行される。さらに、第3のローカル補助ボリュームAVL3がローカル記憶装置SDLにて作成される。同時に、第3のリモートボリュームRVx/3が、リモート記憶装置SDRx内において、右列に、第2の補助ボリュームAVL2と同じサイズで作成される。そして、結果としての最終のソースボリュームには、結果としての以前のソースボリュームに加えて、最終のローカル補助ボリュームAVL3が含まれる。
【0095】
以前と同様に、最新の凍結ローカル補助ボリューム(ここではAVL2)が、最後に作成されたリモートボリュームRVx/3へコピーされる。コピーの完了が第1の演算機構HLへと通知された後、最新の凍結ローカル補助ボリュームAVL2をソースボリュームに同期させるために、コマンドが与えられる。
【0096】
リモート記憶装置SDRxにて、第2のリモートボリュームRVx/2は、第2の演算機構HRの制御下で、第1のリモートボリュームRVx/1と同期される。なお、この第3のミラーリングサイクルs=3にて、リモート記憶装置SDRxには、第1のミラーリングサイクルs=1にて存在していた結果としてのソースボリュームのコピーが含まれる。ミラーリングサイクルs=Tにて、リモート記憶装置SDRx内に保存されているコピーは、常に、時刻s=T−2での結果としてのソースボリュームのコピーとなっている。リモート記憶装置にて最後に格納されたコピーと、ローカル記憶装置SDL内の結果としての最終のソースボリュームとの間には、常に、ミラーリングサイクル2回分のずれがある。
【0097】
次に、処理は上記説明と同様に継続する。
【0098】
なお、リモート記憶装置xのSDRxなる名称は、同一のサイトまたはリモートサイトにて、ローカル記憶装置とは異なる記憶装置を指すのに用いられる名前である。したがって、ローカルSANL内にあるソースボリュームSVからのミラーリングは、ローカルサイトにおける記憶装置に対してのみでなく、リモートサイトに置かれた記憶装置に対しても実行可能である。同様に、クロスミラーリングや同時クロスミラーリングが実行可能である
ミラーリング制御フロー
図8に、あらゆるネットワーク接続に適用可能なミラーリング機能の一連のステップを示す。ストレージエリア・ネットワーク(すなわち、SAN)について、そして、‘309特許出願のSAN仮想化機構を参照すると、SANは、少なくとも、ローカルホストHL、リモートホストHR、ならびに、2つの別個の記憶装置(すなわち、ローカル記憶装置およびリモート記憶装置)からなる。図8には、これらが全て言及されているものの図示されてはいない。同様の最低条件である、単一のローカルホスト、および単一のリモートホスト、ならびに2つの記憶装置が、他のネットワーク接続のために必要である。前述のように、2つの記憶装置を区別するために、これらは、ローカル記憶装置SDLとリモート記憶装置SDLxと称される。記憶装置に対して与えられた名称は、それらの位置には無関係である。
【0099】
図8のステップ202では、選択されたソースボリュームSVをミラーリングするためにコマンドが与えられる。なお、選択されたソースボリュームSVは、ローカルホストHLに接続したローカル記憶装置SDL内にある。上記のコマンドは、ユーザ、またはシステム管理者、またはオペレーティングシステム、またはソフトウェアコマンドによって入力される。なお、これらは図8には示されていない。ミラーリングは、リモート記憶装置xのSDRx(ここでxは1〜nの任意の整数)と称される一つまたはそれ以上の記憶装置へ向けられる。まず、制御は、ステップ204へと渡される。このステップ204では、ミラーリングサイクルカウンタsは、s=1に設定されている。そして、制御はステップ206へと続く。
【0100】
ステップ206では、凍結手順が適用されて、凍結ソースボリュームSVと、新規に作成された第1のローカル補助(仮想)ボリュームAVL/sとからなる、結果としてのソースボリュームが、ミラーリングサイクルs=1にてローカル記憶装置SDL内に作成される。並行して、制御はステップ208へと渡される。このステップ208では、リモート記憶装置xのSDRx内に、第1のリモート仮想ボリュームRVx/s(ここではRVx/1)を、ソースボリュームSVと同じサイズで作成する旨が命令される。SANの場合、仮想ボリューム(単にボリュームと称される)の作成および管理は、O.S.に対してトランスペアレントであり、物理記憶装置へのデータの記憶は、同時継続中の‘309特許出願にて説明されるように処理される。他の非仮想化環境については、ローカルホストHLにより実行される記憶域割当プログラムが使用される。
【0101】
そして、制御はステップ210へと渡される。このステップ210では、第1のリモートボリュームRVx/sの利用可能性を保証するために、ステップ208からの完了通知が確認される。確認の結果が否定的である場合、ステップ210を通る新規の確認ループが開始する。それ以外の場合、ステップ210の検査に対する肯定的な応答についてのステップ212にて、コマンドにより、ソースボリュームSVを第1のリモート(仮想)ボリュームRVx/sにコピーすることが開始し、制御フローはステップ214へと渡される。
【0102】
ステップ212を補うステップ214により、ソースボリュームSVは、第1のリモートボリュームRVx/1へ書き込まれ、完了後、演算機構HLに対して完了通知がなされる。そして、ステップ210と同様、ステップ216にて完了の確認が実行される。以前と同様に、否定的な応答により、ステップ216での完了の確認を通る再度のループが起動される。また一方で、肯定的な応答により、コマンドはステップ218へと渡される。このステップ218では、ミラーリングサイクルカウンタが1増加して、s=s+1となる(ここではs=2)。
【0103】
そして、制御はステップ220へと渡されて、ミラーリングが継続する。ローカル記憶装置SDLでは、まず、最終のローカル補助ボリューム(AVL/sと称される)が作成される。なお、s=2については、第2のローカル補助ボリュームAVL2となる。そして、最後から2番目のローカル補助ボリュームAVL/s−1(ここではAVL1)が、凍結される。さらに、結果としての最終のソースボリュームも、上記説明と同様に作成される。
【0104】
そして、制御はリモート記憶装置SDRxに向かって、ステップ222へと渡される。このステップ222では、第2のリモートボリューム(RVx/sと称され、ここではRVx/2)が、最後から2番目のローカル補助ボリュームAVL1(ここではAVL/s−1と称される)と同じサイズで作成される。完了通知がステップ224へと送られる。
【0105】
第2のリモート仮想ボリュームRVx/sの作成通知が、ステップ224の完了確認により受信された場合、制御はステップ226へと渡されるが、それ以外の場合、完了確認が繰り返される。
【0106】
ステップ226では、最後から2番目(ここでは第1)のローカル補助ボリュームAVL/s−1を最終(ここでは第2)のリモートRVx/sにコピーするために、コマンドが与えられる。ステップ228では、第1のローカル補助ボリュームAVL/s−1から第2のローカル補助ボリュームAVL/sへの書込動作が実行される。書込が完了すると、その旨がステップ230へと通知される。
【0107】
なお、この段階にて、ソースボリュームSVと第1のローカル補助ボリュームAVL1の双方が、実際に、RVx/1およびAVRx/2の双方内で、SDRxへミラーリングされているものとして、通知される。また一方で、第2の凍結が、ローカルホストHLにて実行されており、新規の更新が、ローカル補助仮想ボリュームAVL2へリダイレクトされる。
【0108】
実際には、第1のローカル補助ボリュームAVL1、あるいは、第2のリモートボリュームRVx/2を個別に動作させるさらなる理由はないので、これらの(仮想)ボリュームは、それぞれ、ソースボリュームSVおよび第1のリモート仮想ボリュームRVx/1と同期されてもよい。このような同期および統合が、それぞれ、ステップ232およびステップ234にて実行されると、ソースボリュームSVおよび第1のリモート仮想ボリュームRVx/1のみが利用可能な状態で残される一方で、第1のローカル補助仮想ボリュームAVL1および第2のリモートボリュームRVx/2が削除される。要望があれば、ミラーリングループがステップ236にて中断されてステップ238にて終了するように命令され、そうでなければ、制御はステップ218へと渡されてミラーリングが続行する。
【0109】
ミラーリングループが中断しない場合、制御はステップ218へと戻される。このステップ218では、ミラーリングカウンタが再び1増加して、s=3となる。その手順により、ステップ218〜ステップ236のループが繰り返され、ミラーリングが継続するか、あるいは、命令があればミラーリングが終了する。
【0110】
前述の方法は、一つの記憶装置または複数の記憶装置から一つまたは複数のリモート記憶装置へとミラーリングされる一つの単独のデータオブジェクトまたは複数のデータオブジェクトの可能な組み合わせに対して、実行される。下記のテーブル2(〔表3〕)に、ローカル補助ボリュームおよびリモートボリュームに関するさまざまな可能性と見通しについて示す。
【0111】
【表3】
【0112】
前述のミラーリング機能は、〔表3〕のテーブル2の行Iにより表される。これは、単一のデータオブジェクトを単一のローカル記憶装置から単一のリモート記憶装置へとミラーリングするための、最も簡潔で基本的なミラーリング実行方法である。各ミラーリングサイクルについて、単一の各ローカル補助ボリュームAVLおよび単一のリモートボリュームRVxが作成される。
【0113】
例えば、行IIにて、単一のデータオブジェクトが、単一のローカル記憶装置SDL内に、複数のリモート記憶装置SDRx(ここでxには、特定の記憶装置の識別情報が入る)へとミラーリングするために格納されており、各ミラーリングサイクルについて、複数のリモート記憶装置の数に等しいリモートボリュームを作成することが必要とされることとなる。したがって、4つのリモート記憶装置SDR1〜SDR4のためにミラーリングが要求された場合、ミラーリング機能は凍結手順を行Iのように適用することになり、コピー手順が、各リモート記憶装置毎に1回、並行して4回実行されることになる。次のミラーリングサイクル、したがって、2回の連続したミラーリングサイクル同士の間隔は、4つの記憶装置の全てに対するコピーおよび書込が完了した後に開始する。各ミラーリングサイクルには、一つのローカル補助ボリュームおよび4つのリモートボリュームRVx(xは、例えば1〜4にわたる)が必要となる。各ミラーリングサイクル毎にミラーリング機能により作成されるローカル補助ボリュームおよびリモートボリュームの最低限の数が、〔表3〕のテーブル2の第3列および最終列に示されている。明らかに、リモート記憶装置の数は、整数で乗算されてもよい。これによって、8、12、16等の個数のリモート記憶装置に対するミラーリングが実現してもよい。
【0114】
テーブル2の行IIIは、単独のデータオブジェクト、したがってデータオブジェクトの一つのグループとして、ローカル記憶装置SDL内にある選択されたデータオブジェクトを、一つのリモート記憶装置SDRxへミラーリングすることに対応している。ミラーリング機能は、単独のデータオブジェクトの全てを同時に凍結させることにより、行Iのように適用される。例えば、選択されたデータオブジェクトが、単独のデータオブジェクトが3つ存在するグループである場合、これらの3つが同時に凍結されて、その各々がリモート記憶装置SDRxへコピーされる。そして、記憶装置SDRxへの書込完了後、次のミラーリングサイクルが開始しうる。
【0115】
行IVは、例えば3つの別個のローカルボリュームSDLi(i=1,2,および3)内にある3つの単独のデータオブジェクトからなる選択されたデータオブジェクトを、一つのリモート記憶装置SDRxへミラーリングする事例を示している。ここでも、凍結手順は、3つの単独のデータオブジェクトについて同時に実行され、行Iの方法が、3つの単独のデータオブジェクトの各々に対して適用される。次のミラーリングサイクルは、出力先のリモート記憶装置SDRxへの最後の書込動作が完了した後に、開始することになる。
【0116】
行Vは、行IIIの方法によるような、そして、行IIに従って多くのリモート記憶装置へコピーするコピー手順によるような凍結手順に対応している。
【0117】
記憶装置のグループ内にある単独のデータオブジェクトのグループからなる選択されたデータオブジェクトをミラーリングする例を、行IVに示す。なお、ここで、単独のデータオブジェクトの個数は、出力先のリモート記憶装置の個数と等しい。2つ以上のデータオブジェクトの同時凍結は、行IIIに適用された凍結手順と同様であり、コピー手順は、行IIに対して適用されたものと同様である。
【0118】
なお、凍結手順は、凍結されるべき2つ以上のデータオブジェクトに対して、選択された同一のデータオブジェクトに属していても、2つ以上のローカル記憶装置内に格納されていても同時であることが、重要である。次のミラーリングサイクルへのサイクルタイムは、多くのリモート記憶装置へといったように複数のコピーが実行される場合、最後のコピーを完結するためのコピー手順に必要な時間により決められる。
【0119】
さらに、ローカル記憶装置からリモート記憶装置への同時クロスミラーリング、および。その逆の方向への同時クロスミラーリングもまた、行I〜VIのミラーリング機能について利用可能である。行Iの方法についての簡潔な例として、ローカルホストHLおよびリモートホストHRの双方が、ミラーリング機能を実行し、各ホストは、他方のホストがリモートホストである場合にローカルホストとして機能する場合がある。
【0120】
なお、本発明は、特に図示されて前述されたことに限定されるものではないことが、当業者には理解されるであろう。例えば、選択されたデータオブジェクト、ローカル記憶装置およびリモート記憶装置のさらなる組み合わせが、考慮されてもよい。本発明の範囲は、添付の特許請求の範囲により規定され、前述の様々な特徴、および前記説明を読んで当業者が想到するであろう変形例および修正例の組み合わせおよび下位の組み合わせを含むべきである。
【図面の簡単な説明】
【0121】
【図1】ネットワーク接続部の例を示す図である。
【図2】凍結手順を説明するための図である。
【図3】様々なタイプのI/O読取命令およびI/O書込命令を分類するためのフローチャートである。
【図4】凍結手順開始後に、ソースボリュームSVへ向けられたI/O読取命令の手順を説明するための図である。
【図5】凍結コマンド後に更新されたデータを含むI/O書込コマンドの処理ステップを示す図である。
【図6】凍結時以来非変更のデータ用のI/O書込命令のステップを示す図である。
【図7】ミラーリング機能の機構の概略を示す図である。
【図8】ミラーリング機能の一連のステップの詳細を説明するための図である。
【0001】
本発明は、一般に、ミラーリング、すなわち、データの複製の分野に関し、特に、ストレージエリア・ネットワーク(SAN:Storage Area Network)または一般のネットワーク接続部に対して接続された複数の記憶装置間におけるデータオブジェクトの非同期ミラーリングに関する。
【0002】
用語解説
選択されたデータオブジェクトは、単独のデータオブジェクト、または複数のデータオブジェクト、またはデータオブジェクトのグループである。
【0003】
データオブジェクトは、ボリューム、論理ボリュームもしくは仮想ボリューム、データファイル、または任意のデータ構造である。データオブジェクトなる用語とボリュームなる用語とは、以下で、同義で用いられる。
【0004】
「ローカル」なる用語は、ローカル記憶装置といったように、出力元を示すのに用いられる。
【0005】
「リモート」なる用語は、リモート記憶装置といったように、出力先を示すのに用いられる。
【0006】
記憶装置は、磁気ディスク、光ディスク、RAIDS、およびJBODSである。
【0007】
データオブジェクト用の記憶域は、記憶装置の一部のみ、または記憶装置の全域、または記憶装置の全域よりも多くの領域にわたる。
【0008】
演算機構または処理機構は、コンピュータプロセッサ、ホスト、サーバ、PC、および、ストレージスイッチ(storage switch)もしくはネットワークスイッチ(network switch)、ストレージルータ(storage router)もしくはネットワークルータ(network router)、またはストレージコントローラである。演算機構は、コンピュータプログラムを実行するためのRAMと共に動作するか、あるいは、メモリと磁気記憶手段または他の記憶手段に記憶されたコンピュータプログラムと共に動作する。
【0009】
ネットワーク接続は、ローカルエリア・ネットワーク(LAN)、ワイドエリア・ネットワーク(WAN)、またはストレージエリア・ネットワーク(SAN)である。
【背景技術】
【0010】
ローカル記憶装置からリモート記憶装置へといったように、ある記憶装置から第2の記憶装置へのリモートミラーリングおよび記憶を実行するような従来技術の直接アクセス記憶システムは、処理をするのが難しい要件を規定しており、そのいくつかの例を以下に説明する。
【0011】
例えば、あるシステムでは、ローカルおよびリモート記憶システムが同種のものであることが要求され、ローカル記憶サイトでのハードウェアとリモート記憶サイトでのハードウェアとが、同一の業者のものでなければならないということを意味している。他のシステムでは、リモート記憶装置への複製の前に、全ローカルデータが、ローカルシステムへ送信されることが要求されている。さらに他のシステムでは、ローカルボリュームが複数の記憶システムにわたる場合、リモートサイトにてデータの一貫性を保つために、同期システムが必要とされる。また別のシステムでは、ローカルサイトでのI/O要求をキューに入れる(queuing )ことにより、あるサイトとリモートサイトとの間でデータ複製の一貫性が実現されている。これによって、大規模な記憶リソースの要求が課されるようになる。この理由として、書込コマンドの順序が保存されねばならないことが挙げられる。
【0012】
Yanai et al. (ヤナイ他)の“Remote Data Mirroring(リモートデータ・ミラーリング)”なる名称の米国特許第5,742,792号(特許文献1)には、リモートのコピーデータの記憶を提供するシステムが開示されている。
【0013】
しかしながら、そのシステムには、専用のデータ記憶システムコントローラが必要である。さらに、第1および第2データ記憶システム間のミラーリングには、データがコピーされる前に、これらのデータ記憶システムが同期している必要がある。
【0014】
Micka et al.(ミッカ他)は、米国特許第5,657,440号(特許文献2)において、リモートデータコピーについて開示しているが、Micka et al.の開示内容では、特に、時間単位チェックポイント信号を周期的に同期させることを要するような順序の一貫性のある書込動作を提供する更新システムが必要とされている。
【0015】
したがって、様々な形態で様々な業者から調達された異機種記憶装置ハードウェアの使用を可能にするデータ複製機能を提供するのは、有利なことである。連続的な複製は不必要であり、離散的な時刻にてなされた複製を保存することが望ましい。さらに、最新の複製のみを保存するだけで通常は充分であり、記憶ボリュームが節約されうる。そのうえ、専用のコントローラを必要としないようにすることが、最適であろう。
【0016】
このような必要性は、以下の本発明の開示内容により解決される。
【0017】
【特許文献1】
米国特許第5,742,792号
【特許文献2】
米国特許第5,657,440号
【発明の開示】
【発明が解決しようとする課題】
【0018】
本願の開示内容では、離散データブロックを順に凍結およびコピーすることにより、選択されたデータオブジェクトをローカル記憶装置からリモート記憶装置へとミラーリングすること、すなわち、複製することを実現するシステムとして実施される方法が提示される。ミラーリングがオペレーティングシステムに対してトランスペアレント(transparent )であるため、ミラーリング中、選択されたデータオブジェクトは、途切れることなく使用されうる。一連の離散データブロックのコピーは、非同期かつバックグラウンドで実行される。
【0019】
本発明の目的は、選択されたデータオブジェクトを、少なくとも一つのローカル記憶装置(SDL)から、少なくとも一つのリモート記憶装置(SDRx)へとミラーリングするように動作する方法およびシステムを提供することにある。
【0020】
少なくとも一つのローカル記憶装置は、第1の処理機構(HL)に対して接続され、少なくとも一つのリモート記憶装置は、第2の処理機構(HR)に対して接続されている。少なくとも一つのローカル記憶装置と、少なくとも一つのリモート記憶装置と、第1および第2の処理機構とは、複数のユーザ、複数の処理機構、および複数の記憶装置を含むネットワーク接続部に対して接続されている。
【課題を解決するための手段】
【0021】
上記目的を達成するために、本発明の方法およびシステムは、
上記第1および第2の処理機構にてミラーリング機能を実行することであって、上記ミラーリング機能は、選択されたデータオブジェクトを凍結する凍結手順と、凍結され選択されたデータオブジェクトを少なくとも一つのリモート記憶装置にコピーするためのコピー手順とを有していることと、
ミラーリング機能の実行と並行して、選択されたデータオブジェクトの使用および更新を可能にすることと、
ミラーリング中断コマンドを受信しない限り、選択されたデータオブジェクトに更新をコピーするためにミラーリング機能を繰り返し実行することを、デフォルトで命令することとを含み、上記の少なくとも一つのローカル記憶装置内にある選択されたデータオブジェクトがコピーされ、上記の少なくとも一つのリモート記憶装置へ順に更新されることを特徴とする。
【0022】
本発明のさらなる目的は、
凍結手順を、ソースボリューム(SV)として選択されたデータオブジェクトに適用し、
少なくとも一つのローカル補助ボリューム(AVL)を作成し、当該ローカル補助ボリュームに対して、選択されたデータオブジェクトへ向けられた更新がリダイレクトされ、選択されたデータオブジェクトのうちの各単独のデータオブジェクトは、少なくとも一つの補助ボリュームのうちの一つのボリュームに対応しており、
上記少なくとも一つのリモート記憶装置のうちの各リモート記憶装置内に、少なくとも一つのリモートボリュームを、作成された各ローカル補助ボリュームに対応させて作成し、
凍結され選択されたデータオブジェクトおよび少なくとも一つのローカル補助ボリュームを含む少なくとも一つの結果としてのソースボリュームを、上記の少なくとも一つのローカル記憶装置内に形成し、
凍結され選択されたデータオブジェクトを、上記の少なくとも一つの結果としてのボリュームから上記の少なくとも一つのリモート記憶装置へとコピーするためのコピー手順を適用する方法および装置を提供することにある。
【0023】
ミラーリング機能は、2つ以上のデータオブジェクトに対して同時に適用され、少なくとも一つのローカル記憶装置から少なくとも一つのリモート記憶装置へと、および、その逆の方向へと、同時に適用される。
【0024】
本発明の他の目的は、
2つ以上のデータオブジェクトを同時に凍結させるための凍結手順を適用し、
2つ以上の凍結され選択されたデータオブジェクトを同時にコピーするために、コピー手順を適用し、
一つのローカル記憶装置内にある一つの単独のデータオブジェクトを、2つ以上のリモート記憶装置へ同時にミラーリングし、
複数の単独のデータオブジェクトであってそれぞれが同数のローカル記憶装置内にあるデータオブジェクトを、一つのリモート記憶装置へ同時にミラーリングし、
一つのローカル記憶装置内にある複数の単独のデータオブジェクトを、それぞれ、同数のリモート記憶装置へ同時にミラーリングし、
複数のローカル記憶装置のうちの各々のローカル記憶装置内にある一つの単独のデータオブジェクトを、一つのリモート記憶装置へ同時にミラーリングする方法およびシステムを提供することにある。
【0025】
本発明のさらに他の目的は、
選択された時点にて、
ミラーリングサイクルを開始し、
選択されたデータオブジェクトを凍結し、
少なくとも一つのローカル補助ボリューム(AVL)を、少なくとも一つのローカル記憶装置(SDL)内に作成すると共に、少なくとも一つのリモートボリューム(RV)を、少なくとも一つのリモート記憶装置(SDRx)内に作成し、
凍結され選択されたデータオブジェクトおよびローカル補助ボリューム(AVL)を含む少なくとも一つの結果としてのソースボリュームを形成し、
上記選択された時点後に、
凍結され選択されたデータオブジェクトを、結果としてのソースボリュームから少なくとも一つのリモートボリュームへと、コピーが完了するまでコピーし、
選択されたデータオブジェクトへ向けられた更新を、ローカル補助ボリュームへリダイレクトし、
結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用を可能にし、
少なくとも一つのリモート記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルを繰り返す方法およびシステムを提供することにある。
【0026】
本発明のさらなる目的は、
少なくとも一つのリモート記憶装置へのコピー完了後、次の時点にて、次のミラーリングサイクルを開始し、
結果としてのソースボリュームを凍結し、
最終のローカル補助ボリュームを、上記ローカル記憶装置内に作成すると共に、最終のリモートボリュームを、上記の少なくとも一つのリモート記憶装置内に作成し、
最後から2番目の結果としてのソースボリュームおよび最終のローカル補助ボリュームを含む、最終の結果としてのソースボリュームを形成し、
上記次の時点後に、
最後から2番目のローカル補助ボリュームを、最終のリモートボリュームへコピーし、
選択されたデータオブジェクトへ向けられた更新を、最終のローカル補助ボリュームへリダイレクトし、
最終の結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用を可能にし、
最終のリモートボリュームへのコピー完了後、
最後から2番目のローカル補助ボリュームを、凍結され選択されたデータオブジェクトに同期させ、
上記第2の処理機構(HR)のコマンドにより、少なくとも一つの最終のリモートボリュームを、最後から2番目のリモートボリュームに同期させ、
上記の少なくとも一つの第2の記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルを繰り返す方法およびシステムを提供することにある。
【0027】
本発明のさらなる目的は、
最後から2番目のローカル補助ボリュームのコピー完了後に起こるさらに別の時点を選択し、
結果としてのソースボリュームを凍結し、
最終のローカル補助ボリュームを、上記ローカル記憶装置内に作成すると共に、最終のリモートボリュームを、上記の少なくとも一つのリモート記憶装置内に作成し、
最後から2番目の結果としてのソースボリュームおよび最終のローカル補助ボリュームを含む、最終の結果としてのソースボリュームを形成し、
最後から2番目のローカル補助ボリュームを、少なくとも一つの最終のリモートボリュームへコピーし、
選択されたデータオブジェクトへ向けられた更新を、最終のローカル補助ボリュームへリダイレクトし、
最終の結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用を可能にし、
最後から2番目のローカル補助ボリュームを、選択されたデータオブジェクトに同期させ、
少なくとも一つの最終のリモートボリュームを、最後から2番目のリモートボリュームに同期させ、
上記の少なくとも一つの第2の記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルを繰り返す方法およびシステムを提供することにある。
【0028】
本発明のさらに別の目的は、
最後から2番目のローカル補助ボリュームより前のコピーが完了した時点にて入力された更新を含む選択されたデータオブジェクトの完全にミラーリングされたコピーを、上記の少なくとも一つのリモート記憶装置内に格納する方法およびシステムを提供することにある。
【0029】
本発明のさらに別の目的は、
少なくとも最終のローカル補助ボリュームを最終のリモートボリュームへコピーする時間にわたって継続するものと規定された離散反復時間間隔で、ミラーリング機能の動作を繰り返し、
更新を同期させて、選択されたデータオブジェクトを上書きし、
後のリモートボリュームを同期させて、最後から2番目の結果としての第1のリモートボリュームを上書きする方法およびシステムを提供することにある。
【発明を実施するための最良の形態】
【0030】
本発明をよりよく説明するため、そして、それが実際にどのように実行可能になるかを示すために、添付の図面を参照する。
【0031】
本発明は、離散的なデータブロックを順次凍結およびコピーすることにより、ローカル記憶装置からリモート記憶装置へと、選択されたデータオブジェクトをミラーリングすること、すなわち、複製することを実現している。ミラーリングがオペレーティングシステムに対してトランスペアレントであるため、ミラーリングの際、選択されたデータオブジェクトが途切れずに用いられうる。連続した離散的なデータブロックのコピーは、非同期かつバックグラウンドで実行される。
【0032】
ミラーリングは、連続したミラーリングサイクルにて順次反復される一連の凍結およびコピー手順からなる。ローカル更新ミラーリングの最新バージョンのみが、リモート記憶装置内に格納される。新規の各更新バージョンは、以前のバージョンを上書きする。ミラーリングが第1のミラーリングサイクルs=1で開始するときに存在する更新バージョンは、さらに2回のミラーリングサイクル後、s=3のときに安全に格納される。
【0033】
説明に用いられる用語は、ストレージエリア・ネットワーク(SAN)対応の仮想化に容易に関連づけられる。このような仮想化SANの仮想ボリュームには、データオブジェクトのグループ、複数のローカル記憶装置、および複数のリモート記憶装置が、含まれてもよい。但し、本方法を容易に理解するために、単一のデータオブジェクト、単一のローカル記憶装置、および単一のリモート記憶装置のみを有するシステムを考えてもよい。
【0034】
ミラーリング機能が実行される場合、選択されたデータオブジェクトが、例えばソースボリュームとして、凍結手順により凍結される。同時に、第1のローカル補助ボリュームが、ローカル記憶装置内に作成され、凍結されたソースボリュームと同じサイズの第1のリモートボリュームが、リモート記憶装置内に作成される。ソースボリュームは凍結されていると共に凍結されたままであるべきであるので、変更されてはならないが、コピー手順によりリモート記憶装置へコピーされてもよい。
【0035】
選択されたデータオブジェクトは、ミラーリング中に使用されうる。凍結時に、オペレーティングシステムO.S.は、凍結された選択データオブジェクトおよび第1のローカル補助ボリュームの双方を含んだ結果としてのソースボリュームを作成する。結果としてのソースボリュームは、I/O書込動作およびI/O読取動作にアクセス可能である。明らかに、凍結ソースボリュームに対しては読取動作のみが許容されている一方で、選択されたデータオブジェクトに対する書込更新は、第1のローカル補助ボリュームへリダイレクトされる。
【0036】
一旦、凍結ソースボリュームがリモート記憶装置へミラーリングされると、凍結およびコピー手順が繰り返される。結果としてのソースボリューム内の第1のローカル補助ボリュームが凍結され、同時に、第2のローカル補助ボリュームおよび第2のリモートボリュームが作成される。第2のローカル補助ボリュームは、以前に作成された結果としてのソースボリュームに対して追加されて、オペレーティングシステムO.S.により使用される、結果としての新規のソースボリュームが形成される。そして次に、凍結された第1のローカル補助ボリュームは、第2のリモートボリュームへコピーされる。同様に、データオブジェクトは、結果としての以前のソースボリュームと共に使用されてもよく、当該ソースボリュームに対して、最新の凍結ローカル補助ボリュームが追加されて、結果としての最新のソースボリュームが形成される。原則的に、ミラーリング機能は、連続した凍結およびコピー手順を実行して、一つのデータオブジェクトまたはデータオブジェクトのグループを、一つまたはそれ以上のローカル記憶装置から、一つまたはそれ以上の他の記憶装置すなわちリモート記憶装置へと複製する。単一の場合とは、単独のデータオブジェクトのみからなり、かつ、単一のローカル記憶装置内にあるような選択されたデータオブジェクトを、単一のリモート記憶装置へミラーリングすることに関係するものである。
【0037】
ミラーリング機能は、2つ以上のミラーリング動作を同時に実行するように動作することが可能である。例えば、2つの異なるデータオブジェクト(各々が、例えば、異なるローカル記憶装置内の異なるボリュームにある)は、2つの異なるリモート記憶装置へミラーリングされることもある。明らかに、同時ミラーリングは、2つの選択されたデータオブジェクトに限られるわけではない。
【0038】
また一方で、ミラーリング機能は、クロスミラーリングが可能である。クロスミラーリングは、最後の例と並行して、2つの異なるデータオブジェクト(一方は、ローカル記憶装置内にあり、他方は、リモート記憶装置内にある)を、それぞれ、リモート記憶装置へミラーリングすると共にローカル記憶装置へミラーリングする結果となる。クロスミラーリングは、2つの選択されたデータオブジェクトを同時にミラーリングすることに限定されるものではない。
【0039】
一般に、ミラーリング機能は、双方向クロスミラーリングばかりでなく、データオブジェクトのグループを、いくつかのローカル記憶装置からいくつかのリモート記憶装置へとミラーリングすることを実現する。下記の〔表1〕のミラーリング概観テーブルに、直接ミラーリングについて、ミラーリングの選択肢I〜VIを示す。これに対して、I〜VIの全選択肢について、クロスミラーリングが追加される必要がある。
【0040】
【表1】
【0041】
発明の実施の形態
“Storage Virtualization in a Storage Network (ストレージ・ネットワークにおけるストレージ仮想化)”なる名称の本願と同一出願人による同時継続中の特許出願PCT/IL00/00309の図1を参照する。この特許出願は、その全体が一体に組み入れられ、以下、「‘309特許」として引用される。さらに、ネットワーク接続部NETを示す本発明の図1を参照する。ネットワーク接続部NETに対して接続されているものとして、複数のユーザUと、ホスト、サーバH、またはプロセッサ等の演算機構と、ハードディスクHD等の記憶装置SDとがある。第1処理機構、すなわち、ローカル処理機構の制御下で、あるローカル記憶装置から、第2の処理機構、すなわち、リモート処理機構により制御されている他のリモート記憶装置へのミラーリングが開始する。例えば、ホストH4は、他の処理機構H3により制御されている記憶装置SDAから記憶装置SDBへのミラーリングを命令してもよい。また一方で、ホストH1は、第1のハードディスクHD1から、プロセッサH2に接続される第2のハードディスクHD2へのミラーリングを制御してもよい。同様に、ホストH2は、第1のハードディスクHD2から第2のハードディスクHD3または他のハードディスクH4へのミラーリングを命令してもよい。2つ以上の記憶装置内にある選択されたデータオブジェクトのミラーリングは、一つまたはそれ以上の記憶装置に対して実行されてもよい。最小限の要件は、2つの処理機構およびネットワーク接続部上の少なくとも2つの記憶装置(コピー元としてのローカル記憶装置、および、書込先としてのリモート記憶装置)についてのものである。
【0042】
前述のように、データオブジェクトをある記憶装置から他の記憶装置へとミラーリングすることには、一連の凍結およびコピー手順を適用することが必要である。なお、ネットワーク接続の動作は、ミラーリング中に妨害されてはいけない。したがって、以下の説明では、まず、凍結手順が示され、次に、凍結手順実行中のシステムの動作が示され、最後にコピー手順が示される。
【0043】
凍結手順
図2に、段階2a〜2dで、凍結手順を図示する。横軸tは時間を指し、t=0で開始する。
【0044】
ミラーリング機能は、ネットワーク接続部NETに接続される、第1および第2の処理機構(それぞれHLおよびHR)等の少なくとも2つの処理機構上で実行されることが想定されている。第1の記憶装置SDLおよび少なくとも一つの第2の記憶装置SDRx(ここでxは特定の記憶装置を示す)は、ローカル記憶装置および少なくとも一つのリモート記憶装置とそれぞれ称され、ネットワーク接続部NETに接続されている。したがって、少なくとも一つのリモート記憶装置SDRxは、第1のリモート記憶装置SDR1、第2のリモート記憶装置(SDR2)等からなる。
【0045】
ローカルおよびリモートの指定は、記憶装置の物理的位置についての制約を全く含むことなく、出力元および出力先用に使用される。したがって、ローカルおよびリモート記憶装置は、例えば、同一の記憶装置内にあるか、あるいは、SANまたはホストHに接続される別々の記憶装置内にある。別々の記憶装置は、隣接していたり、地球の反対側にあったりする。コピーは、ローカル記憶装置から一つまたはそれ以上のリモート記憶装置へとなされる。任意の記憶装置が、いずれかの名前で指定されるが、そこからのミラーリング時には、単一のローカル記憶装置のみがある。
【0046】
ミラーリング機能は、凍結手順およびコピー手順の双方を含んでおり、初めに、凍結されるべく選択されたデータオブジェクトの指定を受信する。図2の段階2aに示すように、所定の時点、t=1にて、凍結手順は、選択されたデータオブジェクトをソースボリュームSVとして凍結するための要求を受信する。この結果、「凍結」されたソースボリュームSVは、「読取専用」に制限される。それにより、ソースボリュームの内容は変更されなくなる。そして、凍結されたソースボリュームSVは、以下に説明するようにコピーされることになる。
【0047】
ミラーリング機能をO.S.に対してトランスペアレントに保つと共に、データオブジェクトの使用が可能になる。時刻t=1にて、ソースボリュームSVが凍結するのと同時に、凍結手順は、ローカル補助ボリューム1、すなわち、AVL1として示す第1の補助(場合によって仮想)ローカルボリュームを作成する。これと共に、凍結されたソースボリュームSVおよびローカル補助ボリューム1は、結果としてのソースボリュームを形成する。オペレーティングシステムO.S.の観点からすると、結果としてのソースボリュームは、トランスペアレントに用いられる出力元の選択データオブジェクトに見える。
【0048】
そして次に、ソースボリュームSVの凍結時から、ローカルの処理機構HLにより凍結されたソースボリュームへ向けられた書込(WRITE )動作は、ミラーリング機能により、結果としてのソースボリューム内にあるローカル補助ボリューム1・AVL1へリダイレクトされる。したがって、凍結されたソースボリュームSVの内容における元々の非変更の部分に関する限り、読取(Read)動作が可能である。凍結されたソースボリュームSVに対する書込(Write )動作は、ローカル補助ボリューム1へリダイレクトされる。そうでなければ、凍結されたソースボリュームSVの内容に対して変化がもたらされるためである。ミラーリング機能、したがって凍結手順は、ローカルおよびリモート処理機構の双方の中にあり、凍結されたデータオブジェクトへリダイレクトされたI/Oコマンドを、システムの動作に関して以下に説明するように、インターセプト(intercept )することが可能になる。ローカル補助ボリューム1(AVL1)へと方向変換した書込(WRITE )動作は、更新として規定される。なお、ローカル補助ボリュームは、作成時から次の凍結がなされるときまで動作可能になっている。すなわち、次のローカル補助ボリュームが作成されるまでである。さらに、当の処理機構の性能は、ルーティング命令のみを処理する凍結機能によってのみわずかに影響される。すなわち、I/O読取(READ)またはI/O書込(WRITE )命令のリダイレクトである。
【0049】
図2の段階2bを参照すると、凍結されたソースボリュームSVがコピーされた後の時刻t=2にて、次の凍結が実行され、ローカル補助ボリューム1(AVL1)へ適用される。同時に、ローカル補助ボリューム1(AVL1)について説明したのと同様に、新規のローカル補助ボリューム2(AVL2)が作成される。並行して、結果としての以前のソースボリュームをローカル補助ボリューム2(AVL2)と共に含むように、結果としての新規のソースボリュームが作成される。そして、凍結されたローカル補助ボリューム1(AVL1)内に格納されている更新は、以下に説明するようにコピーされうる。再度説明すれば、O.S.は、凍結動作がトランスペアレントであるので、結果としての最新のソースボリュームを、出力元のソースボリュームとみなす。
【0050】
図2の段階2cでは、凍結されたローカル補助ボリューム1(AVL1)がコピーされた後、ローカル補助ボリューム2(AVL2)は、時刻t=3にて凍結され、ローカル補助ボリューム3(AVL3)が作成される。そして、凍結されたローカル補助ボリューム2(AVL2)へと以前に書き込まれた更新が、コピーされてもよい。同様に、最後に作成されたローカル補助ボリューム3(AVL3)、すなわち、最終のローカル補助ボリューム3(AVL3)は、結果としての以前のソースボリュームと共に、結果としての新規かつ最終のソースボリュームの一部となる。
【0051】
したがって、結果としての第3のソースボリュームは、時刻t=1にて凍結された第1のソースボリュームSV、凍結されたローカル補助ボリューム1および2(それぞれAVL1およびAVL2)、ならびに、最終のローカル補助ボリューム3(AVL3)からなる。時刻t=3にて、第1の凍結ソースボリュームSVおよび凍結ローカル補助ボリューム1(AVL1)が、既にミラーリングによりコピーされているという事実を利用して、これらの最新の2つのボリュームが同期されてもよい。図2の段階2dは、時刻t=3でのこの最新のステップを反映している。それにより、ローカル補助ボリューム1(AVL1)内に含まれた更新は、第1の凍結ソースボリュームに同期される。ローカル補助ボリューム1(AVL1)が削除されるので、記憶域が節約されると共に、結果としての最終のソースボリュームが不変に保たれる。そして、凍結手順を実行するミラーリング機能は、継続可能になるか、あるいは、自由に中断される。
【0052】
ミラーリングが継続するように命令された場合、時刻t=4にて、図2には示されていないが、ローカル補助ボリューム2(AVL2)のコピー完了後、新規のローカル補助ボリュームが、最終のローカル補助ボリュームとなるように開かれることとなる。同時に、最後から2番目のローカル補助ボリュームAVLのコピー(この場合には、ローカル補助ボリューム3(AVL3))が、開始することになる。同時に、最後から2番目より前のローカル補助ボリュームAVL内にある更新(ここではローカル補助ボリューム2(AVL2))が、第1の凍結ソースボリュームSVに同期されることになる。そして、ローカル補助ボリューム2(AVL2)は削除されてもよい。明らかに、データオブジェクトの使用は、結果としての最新のソースボリュームおよび最終のローカル補助ボリュームからなる結果としての最終のソースボリュームに関連して、継続可能である。
凍結のデータ構造
ソースボリュームSVの凍結が時刻t=1にて命令された場合、凍結ソースボリュームは、連続番号が付されたセグメントすなわち例えば1MBのチャンク(chunk)へと任意に分割され、これらのチャンクは、凍結時にローカル補助ボリューム1(AVL1)内に作成される下記の凍結テーブル1(〔表2〕)にリストアップされている。このように、凍結テーブル1内のエントリの合計数は、MBで表示された凍結ソースボリュームSVの容量に等しい。除算の結果が整数でない場合、凍結テーブル内にリストアップされたチャンクの数は、次の整数へと切り上げられる。凍結テーブル1は、ローカル補助ボリューム1内にあって、O.S.によるデータオブジェクトへのI/O命令をリダイレクトするためのツールである。
【0053】
t=1での凍結コマンドに始まり、データオブジェクトに向けられた全てのI/O書込(WRITE )命令の更新が、ローカル補助ボリューム1へとルーティングされる。I/O読取(READ)命令は、2つの種類に分類される。第1種の読取命令は、t=1での凍結開始以来修正されずにソースボリュームSV内に非変更で存在するデータに関するものである。第2種の読取命令は、書込コマンドによる更新(その更新は凍結後になされている)を経たデータを指しているので、ローカル補助ボリューム1へとルーティングされる。
【0054】
凍結ソースボリュームSVとローカル補助ボリューム1とを対応させるため、マッピングテーブルが必要となる。例えば、O.S.がI/O読取命令を、凍結後に更新されたデータに対して指示する場合、そのデータのローカル補助ボリューム内でのアドレスが必要となる。
【0055】
【表2】
【0056】
〔表2〕の凍結テーブル1を参照すると、ソースボリュームSVのチャンク番号が記載された第1の左列、および、各チャンクがマッピングされているアドレスを指定するインデックスが記載された第2の右列が示されている。凍結テーブル1における第1行左列内のチャンク番号0は、同第1行右列内に−1としてインデックスが付されている。慣行に従い、インデックス−1は、元々の状態、あるいは、最新の凍結以来非変更であることを示している。したがって、問題のチャンク(ここではチャンク0)は、時刻t=1の凍結以来、更新されていないので、関連データは、ソースボリュームSV内にて検出される。−1以外のあらゆるインデックス番号、したがって0以上は、アドレスを示すと共に、このように付番された特定のチャンクが時刻t=1の凍結後に更新されたという事実を示している。−1以外のインデックスにより、I/O命令は、最終のローカル補助ボリューム内で検出される特定のアドレスへリダイレクトされる。
【0057】
なお、I/O命令を凍結ソースボリュームSVおよびローカル補助ボリュームへとルーティングするための機構により、データオブジェクトを連続して制約なく使用することが可能になる。
【0058】
凍結手順
凍結手順は、データオブジェクトへ向けられたI/O命令を、3つの異なる状態に応じてルーティングする。説明の用語を簡潔に保つために、第1の凍結のみを参照する。したがって、単一の凍結ソースボリュームSVおよび単一の第1のローカル補助ボリュームのみを参照する。
【0059】
1.読取(READ)命令は、凍結以来変更されていない場合、ソースボリュームSVへ向けられ、それ以外の場合、ローカル補助ボリュームへ向けられる。
【0060】
2.t=1にて開始した凍結後に変更されたチャンクのための書込(WRITE )命令は、ローカル補助ボリュームへ向けられる。
【0061】
3.ソースボリュームSV内にある非変更のチャンクへの書込(WRITE )命令は、そのチャンクをローカル補助ボリュームへコピーすることを要し、その後に、ローカル補助ボリューム内にてそこに書き込むことを要する。
【0062】
I/O命令のパージング
前述の3つの状態に従ってI/O命令をパージングするシーケンスについて、以下に説明する。
【0063】
図3を参照すると、ステップD1では、O.S.がI/O命令を待ち受け、このような命令が受信されると、ステップD2での検定により、読取(READ)命令と書込(WRITE )命令とが区別される。読取(READ)命令、したがってyes(Y)については、後述する図4におけるステップA1によるさらなる処理のために、制御は、ステップD3へと分岐する。書込(WRITE )命令についてのno(N)の場合、制御は、書込(WRITE )命令を処理するステップD4を経て、ステップD5へと移行し、以前に更新がなされたかどうか、あるいは、これが凍結後最初の書込(WRITE )であるかどうかが、判別される。以前に更新がなされている場合、制御は、ステップD6へと移行して、以下に説明する図5のステップB1により処理されることになる。以前に更新がなされていない場合、制御のフローは、ステップD7へと進む。このステップD7は、以前の更新のないI/O書込(WRITE )命令を、以下のステップC1へと渡す。
【0064】
読取( READ )命令
図4に、凍結開始後データオブジェクトへ送られたI/O読取命令の手順を示す。「I/Oを待ち受ける」最初のステップA1により受信された命令は、ステップA2へと渡される。このステップA2では、読取命令を求めてフィルタ処理がなされる。否定(N)である場合、書込命令は、図5のステップB1へと渡されるべく、ステップA3へと分岐する。yes(Y)の肯定である場合、読取コマンドは、ステップA4へ送られる。
【0065】
凍結ソースボリュームSVが1MBのチャンクに分割されている場合、ステップA4にて、チャンク番号が算出され、凍結テーブル内のインデックスが検索される。1MBによるアドレス番号の整数除算によって算出され、さらに512で除算されて、セクタ番号が求められる。したがって、1MB/512=(1024バイト×1024バイト)/512である。この結果は、以下のステップA5へ送られる。場合により、データがチャンクの境界にわたるときには、アドレス内に見出された情報により指摘されるように(常に、I/O命令の開始位置および長さを示す)、2つ以上のチャンク番号が提供される。そして、O.S.は、凍結テーブル1内のアドレスを、算出されたチャンク番号にわたって検索する。
【0066】
ステップA5では、凍結以来非変更のデータを示すインデックス−1と、他のインデックスとが区別される。ゼロおよび正の整数値は、ローカル補助ボリューム内にあるデータを示す。
【0067】
ステップA5へ送られたチャンク番号が−1である場合、読取コマンドは、「ソースボリュームから読み取る」ためにステップA6へ送られる。それ以外の場合、読取コマンドは、凍結テーブル1内に見出されるように、A7に従って、ローカル補助ボリューム内のアドレスへ向けられる。完了後、ステップA6およびステップA7の双方では、制御が、図3における最初のステップD1へ返される。
【0068】
書込( WRITE )命令
図5に、ローカル補助ボリュームのチャンク(凍結後更新されたデータを含む)へのI/O書込コマンドの処理ステップを示す。
【0069】
最初のステップB1では、本手順は、I/Oコマンドを受信すべく待ち受ける。そして、そのI/Oコマンドは、次のステップB2へ送られる。B2でのフィルタは、I/Oコマンドが読取コマンドであるか書込コマンドであるかが確認される。I/O読取コマンドは、ステップB3へとルーティングされて、図4のステップA1によりI/O読取コマンドとして処理されるが、I/O書込コマンドは、ステップB4へ向けられる。このステップB4では、凍結テーブル1にアクセスするために、チャンク番号が、前述のように除算により算出される。書込コマンドが2以上の単独のチャンクにわたってチャンクの境界にまたがるならば、2つ以上のチャンク番号が導出される。
【0070】
一つまたはそれ以上のチャンク番号は、ステップB5へと渡される。このステップB5では、凍結テーブル1が参照されて、問題のチャンクに対応したインデックス番号が取得される。−1の値が得られた場合、制御はステップB6へ向けられて、ソースボリュームSV内にある非変更データとして処理される。凍結テーブル1にてゼロまたは正のインデックス値が検出された場合、ステップB7により、命令は、特定のアドレスへの書込のために、ローカル補助ボリュームへ向けられる。ステップB6およびステップB7から、制御は、図3におけるI/O待ち受けステップD1へと戻される。
【0071】
図6に、凍結時t=1以来非変更のデータについてのI/O書込命令のステップを示す。第1のステップC1は、「I/Oを待ち受ける」命令である。この命令は、一旦受信されると、「書込I/O」フィルタとして機能するステップC2に至る。受信されたI/O命令が「書込I/O」でない場合、制御は、ステップC3へと渡されて、図4のステップA1により「読取I/O」として処理される。それ以外の場合、書込命令については、ステップC4にてチャンク番号が算出される。また、チャンクの境界にわたるI/Oコマンドも処理されて、少なくとも2つのチャンク番号が得られる。
【0072】
そしてまた、ステップC5では、算出されたチャンク番号が用いられて、凍結テーブルが検索され、非変更データと更新データとが区別される。後者の場合、制御はステップC6へと渡される。このステップC6では、I/Oは、以前に更新された書込I/Oコマンドとして、図5のステップB1により処理されるように仕向けられる。
【0073】
非変更データについては、制御はステップC7へと進む。なお、補助ボリュームへデータを書き込む前に、凍結以来最初に更新されるべきチャンクについて、空いているメモリ位置を求める必要がある。したがって、ステップC7では、ローカル補助ボリューム内の第1の空きチャンクを求めて、検索がなされる。検出された場合、ステップC4にて算出されたチャンク番号と対向したインデックスが変更されて、以降は−1を示さずに、ローカル補助ボリューム内のアドレスを示すようになる。実際には、単一または複数のチャンクは、まず、ソースボリュームSVからローカル補助ボリュームへコピーされ、その後、書込命令による更新のために上書きされる。
【0074】
書込( WRITE )命令
次に、制御は、ステップC7からステップC8へと渡される。このステップC8では、ローカル補助ボリューム内にさらに記憶域が必要であるかどうか検査される。SAN対応仮想化にてさらに記憶域が必要であれば、その要求は、仮想機器へと送られる。‘309特許の開示内容に従い、ローカル補助ボリュームに対する記憶域の拡張がなされるように、ステップC9にて、要求が仮想化装置へと送られる。他の環境について、ローカルホストHLのO.S.により実行される記憶域割当プログラムは、追加の記憶域を処理する。
【0075】
その場合に応じて、制御は、追加の記憶域を要求しないステップC8か、あるいは、記憶域の拡張後のステップC9から、ステップC10へと渡される。このステップC10では、完全なチャンクがソースボリュームSVからローカル補助ボリュームへコピーされる。これが一旦完了すると、制御はステップC11へと渡される。
【0076】
最後のステップC11では、凍結テーブル1は更新されて、ステップC4にて算出されたチャンク番号に対向して、−1の値に代わり、ローカル補助ボリューム内のアドレスが入力される。ステップC11から、制御は、ステップC6を経て、図5のステップB1へと戻される。なお、ローカル補助ボリュームは、たかだか、ソースボリュームSVと同じチャンク番号を有する。この最後の場合は、ソースボリュームSVの全チャンクまたはセグメントが書き込まれたときに発生する。ソースボリュームSVの同一のチャンクに対するI/O書込命令の更新により、以前の書込命令が上書きされる。そして、以前の書込命令は失われる。
【0077】
コピー手順
ソースボリュームSVの凍結に関する説明を参照すると、図2の段階2aでは、凍結実行後に、ソースボリュームがコピーされると記述されている。したがって、ミラーリング機能により、凍結ソースボリュームSVを、元々それがある記憶装置(ローカル記憶装置として規定される)から、他の任意の記憶装置(リモート記憶装置と称される)へコピーする旨が命令される。リモート記憶装置は、場合によると、同一サイトもしくはリモートサイトにおける他の記憶装置であるか、または、複数のサイトにおけるいくつものリモート記憶装置からなる。さらに、リモート記憶装置としては、ソースボリュームSVが保存されている同一の記憶装置が選択されることもありうる。
【0078】
ミラーリング機能は、連続して反復されてもよく、任意の凍結およびコピーサイクル後に停止してもよい。
【0079】
凍結ソースボリュームSVからリモート記憶装置へのコピーにより、処理機構リソースに負荷がかかったり、通信が減速したり、あるいは、処理機構の動作に干渉したりすることはない。これは、凍結およびコピー手順が必要となるのみであるためである。
【0080】
図7にミラーリング機能の概略機構を示すと共に、図8を参照してより詳細に説明する。
【0081】
図7では、左列は、ローカル記憶装置SDL(データオブジェクトがソースボリュームSV内に存在)に対応しており、横軸は時間軸を示している。右列は、ローカル記憶装置内でのそれらと、並行して発生するイベントを示し、リモート記憶装置SDRxでの処理を示している。ここで、x[1,2,…,n]は、少なくとも一つのxの、利用可能な記憶装置から選択される。「リモート記憶装置SDRx」なる名称は、少なくとも一つの記憶装置の意味で、以下に用いられる。
【0082】
図7における段階7Aに、ミラーリング以前の状況を示す。左列にて、時刻t=0で作成されたソースボリュームSVにはデータオブジェクトが含まれており、ミラーリングサイクルカウンタsは0である。右列にはイベントはない。
【0083】
図7の段階7Bでは、左列にて、ミラーリングカウンタは1増加してs=1となり、ソースボリュームの凍結が時刻t=1にて命令される。同時に、第1のローカル補助ボリューム1(AVL1)がローカル記憶装置SDL内に作成され、そこに対して、データへの更新が向けられるようになる。更新は、ローカル補助ボリュームへリダイレクトされる演算機構HLからのI/O書込命令である。
【0084】
t=1での凍結と同時に、第1のリモートボリュームRVx/s(ここではRvx/1)が、リモート記憶装置SDRx内に、図7の右列にてソースボリュームSVと同じサイズで作成される。次に、凍結ソースボリュームSVが、バックグラウンドにてコピーされて、リモートボリュームRVx/1へ書き込まれる。
【0085】
凍結手順により、凍結データオブジェクトが、例えば1MBのチャンクへ分割されることが述べられている。ローカル補助ボリュームおよび結果としてのソースボリュームが作成されると、そこに凍結テーブルも作成されて、ソースボリュームと更新とが関連づけられる。凍結テーブルは、必要な場合に、I/O命令をデータオブジェクトからローカル補助ボリュームへリダイレクトする。
【0086】
また一方で、O.S.は、ソースボリュームSVおよび第1のローカル補助ボリュームAVL1の双方と動作可能に関連したままとなっており、ともに、結果としてのソースボリュームを形成している。なお、ミラーリングは、バックグラウンドで、リモート記憶装置からのI/O命令を待つことなく実行される。そのため、ローカルプロセッサHLまたはネットワーク機構の動作速度が低下することはない。
【0087】
図7の段階7Cでは、ミラーリングカウンタが1増加してs=2となり、第2の凍結コマンドが時刻t=2にて受信され、ソースボリュームSVから第1のリモートボリュームRVx/1へのコピー動作完了時または完了後に実行される。同時に、第1のローカル補助ボリュームAVL1が凍結されて、第2のリモート補助ボリュームRVx/2がリモート記憶装置SDRx内に、右列にて第1のローカル補助ボリュームAVL1と同じサイズで作成される。第2のローカル補助ボリューム2(AVL2)は、ローカル記憶装置SDL内に作成され、そこに対して、データオブジェクトへの更新が向けられる。
【0088】
凍結テーブルは、凍結手順により自動的に作成されて、各ローカル補助ボリューム内に存在することになり、O.S.に有用となる。第1のローカル補助ボリュームAVL1は、第2の演算機構HRのための凍結テーブルを含むものであり、次に、コピーされて、第2のリモートボリュームRVx/2へ書き込まれる。
【0089】
同時に、結果としての新規のソースボリュームが、新規の凍結テーブルと共に作成される。結果としての新規のソースボリュームは、結果としての以前のソースボリュームに対して第2のローカル補助ボリュームAVL2が追加されたものからなる。したがって、O.S.は、結果としての新規のソースボリュームと交信して、ミラーリングと並行してデータボリュームを使用しうる。
【0090】
段階7Cの左列における時刻t=2にて、ローカル記憶装置SDLには、ソースボリュームSV、第1のローカル補助ボリュームAVL1、および第2のローカル補助ボリュームAVL2が含まれている。同時に、右列にて、リモート記憶装置SDRxには、第1のおよび第2のリモートボリュームが含まれている。
【0091】
引き続きミラーリングカウンタはs=2で、段階7Dにて、凍結されたボリューム、すなわち、ソースボリュームSVと第1のローカル補助ボリュームとが同期され、これにより、第1のローカル補助ボリュームAVL1へ以前に書き込まれた更新が、ソースボリュームSVへと入力される。第1のローカル補助ボリュームAVL1内にある凍結テーブルは、更新を正確に同期させるのに用いられる。第1のローカル補助ボリュームAVL1には、たかだかソースボリュームSVと同数のチャンクまたはセグメントが含まれている。この第1のローカル補助ボリュームAVL1がコピーされて、元々のサイズを保っているソースボリュームSVの内容を上書きする。そして、第1のローカル補助ボリュームAVL1は削除される。
【0092】
第2のローカル補助ボリュームAVL2内にある凍結テーブルにおけるチャンク番号に対向したインデックスは、インデックス値が−1に設定されて、同期したボリュームの状態を反映する。並行して、第2のリモートボリュームRVx/2は、第1のボリュームRVx/1に同期する。第1のボリュームRVx/1は、ソースボリュームSVと同じサイズのままとなっている。リモート記憶装置での同期は、最後にコピーされたローカル補助ボリュームと共にそこにコピーされた凍結テーブルを用いて、第2の処理機構HRにより実行される。そして、第2のリモートボリュームRVx/2は削除される。
【0093】
同期がなされると、もはや不要となったローカル補助ボリュームおよびリモートボリュームが削除されることにより、ローカル記憶装置SDLおよびリモート記憶装置SDRxの双方にて必要とされる記憶域が制限される。
【0094】
段階7Eは、段階7Bおよび段階7Cと等価な、他の凍結段階である。第1の演算機構HLでのミラーリングサイクルカウンタは1増加してs=3となり、第2のローカル補助ボリュームAVL2における凍結は、時刻t=3にて実行される。さらに、第3のローカル補助ボリュームAVL3がローカル記憶装置SDLにて作成される。同時に、第3のリモートボリュームRVx/3が、リモート記憶装置SDRx内において、右列に、第2の補助ボリュームAVL2と同じサイズで作成される。そして、結果としての最終のソースボリュームには、結果としての以前のソースボリュームに加えて、最終のローカル補助ボリュームAVL3が含まれる。
【0095】
以前と同様に、最新の凍結ローカル補助ボリューム(ここではAVL2)が、最後に作成されたリモートボリュームRVx/3へコピーされる。コピーの完了が第1の演算機構HLへと通知された後、最新の凍結ローカル補助ボリュームAVL2をソースボリュームに同期させるために、コマンドが与えられる。
【0096】
リモート記憶装置SDRxにて、第2のリモートボリュームRVx/2は、第2の演算機構HRの制御下で、第1のリモートボリュームRVx/1と同期される。なお、この第3のミラーリングサイクルs=3にて、リモート記憶装置SDRxには、第1のミラーリングサイクルs=1にて存在していた結果としてのソースボリュームのコピーが含まれる。ミラーリングサイクルs=Tにて、リモート記憶装置SDRx内に保存されているコピーは、常に、時刻s=T−2での結果としてのソースボリュームのコピーとなっている。リモート記憶装置にて最後に格納されたコピーと、ローカル記憶装置SDL内の結果としての最終のソースボリュームとの間には、常に、ミラーリングサイクル2回分のずれがある。
【0097】
次に、処理は上記説明と同様に継続する。
【0098】
なお、リモート記憶装置xのSDRxなる名称は、同一のサイトまたはリモートサイトにて、ローカル記憶装置とは異なる記憶装置を指すのに用いられる名前である。したがって、ローカルSANL内にあるソースボリュームSVからのミラーリングは、ローカルサイトにおける記憶装置に対してのみでなく、リモートサイトに置かれた記憶装置に対しても実行可能である。同様に、クロスミラーリングや同時クロスミラーリングが実行可能である
ミラーリング制御フロー
図8に、あらゆるネットワーク接続に適用可能なミラーリング機能の一連のステップを示す。ストレージエリア・ネットワーク(すなわち、SAN)について、そして、‘309特許出願のSAN仮想化機構を参照すると、SANは、少なくとも、ローカルホストHL、リモートホストHR、ならびに、2つの別個の記憶装置(すなわち、ローカル記憶装置およびリモート記憶装置)からなる。図8には、これらが全て言及されているものの図示されてはいない。同様の最低条件である、単一のローカルホスト、および単一のリモートホスト、ならびに2つの記憶装置が、他のネットワーク接続のために必要である。前述のように、2つの記憶装置を区別するために、これらは、ローカル記憶装置SDLとリモート記憶装置SDLxと称される。記憶装置に対して与えられた名称は、それらの位置には無関係である。
【0099】
図8のステップ202では、選択されたソースボリュームSVをミラーリングするためにコマンドが与えられる。なお、選択されたソースボリュームSVは、ローカルホストHLに接続したローカル記憶装置SDL内にある。上記のコマンドは、ユーザ、またはシステム管理者、またはオペレーティングシステム、またはソフトウェアコマンドによって入力される。なお、これらは図8には示されていない。ミラーリングは、リモート記憶装置xのSDRx(ここでxは1〜nの任意の整数)と称される一つまたはそれ以上の記憶装置へ向けられる。まず、制御は、ステップ204へと渡される。このステップ204では、ミラーリングサイクルカウンタsは、s=1に設定されている。そして、制御はステップ206へと続く。
【0100】
ステップ206では、凍結手順が適用されて、凍結ソースボリュームSVと、新規に作成された第1のローカル補助(仮想)ボリュームAVL/sとからなる、結果としてのソースボリュームが、ミラーリングサイクルs=1にてローカル記憶装置SDL内に作成される。並行して、制御はステップ208へと渡される。このステップ208では、リモート記憶装置xのSDRx内に、第1のリモート仮想ボリュームRVx/s(ここではRVx/1)を、ソースボリュームSVと同じサイズで作成する旨が命令される。SANの場合、仮想ボリューム(単にボリュームと称される)の作成および管理は、O.S.に対してトランスペアレントであり、物理記憶装置へのデータの記憶は、同時継続中の‘309特許出願にて説明されるように処理される。他の非仮想化環境については、ローカルホストHLにより実行される記憶域割当プログラムが使用される。
【0101】
そして、制御はステップ210へと渡される。このステップ210では、第1のリモートボリュームRVx/sの利用可能性を保証するために、ステップ208からの完了通知が確認される。確認の結果が否定的である場合、ステップ210を通る新規の確認ループが開始する。それ以外の場合、ステップ210の検査に対する肯定的な応答についてのステップ212にて、コマンドにより、ソースボリュームSVを第1のリモート(仮想)ボリュームRVx/sにコピーすることが開始し、制御フローはステップ214へと渡される。
【0102】
ステップ212を補うステップ214により、ソースボリュームSVは、第1のリモートボリュームRVx/1へ書き込まれ、完了後、演算機構HLに対して完了通知がなされる。そして、ステップ210と同様、ステップ216にて完了の確認が実行される。以前と同様に、否定的な応答により、ステップ216での完了の確認を通る再度のループが起動される。また一方で、肯定的な応答により、コマンドはステップ218へと渡される。このステップ218では、ミラーリングサイクルカウンタが1増加して、s=s+1となる(ここではs=2)。
【0103】
そして、制御はステップ220へと渡されて、ミラーリングが継続する。ローカル記憶装置SDLでは、まず、最終のローカル補助ボリューム(AVL/sと称される)が作成される。なお、s=2については、第2のローカル補助ボリュームAVL2となる。そして、最後から2番目のローカル補助ボリュームAVL/s−1(ここではAVL1)が、凍結される。さらに、結果としての最終のソースボリュームも、上記説明と同様に作成される。
【0104】
そして、制御はリモート記憶装置SDRxに向かって、ステップ222へと渡される。このステップ222では、第2のリモートボリューム(RVx/sと称され、ここではRVx/2)が、最後から2番目のローカル補助ボリュームAVL1(ここではAVL/s−1と称される)と同じサイズで作成される。完了通知がステップ224へと送られる。
【0105】
第2のリモート仮想ボリュームRVx/sの作成通知が、ステップ224の完了確認により受信された場合、制御はステップ226へと渡されるが、それ以外の場合、完了確認が繰り返される。
【0106】
ステップ226では、最後から2番目(ここでは第1)のローカル補助ボリュームAVL/s−1を最終(ここでは第2)のリモートRVx/sにコピーするために、コマンドが与えられる。ステップ228では、第1のローカル補助ボリュームAVL/s−1から第2のローカル補助ボリュームAVL/sへの書込動作が実行される。書込が完了すると、その旨がステップ230へと通知される。
【0107】
なお、この段階にて、ソースボリュームSVと第1のローカル補助ボリュームAVL1の双方が、実際に、RVx/1およびAVRx/2の双方内で、SDRxへミラーリングされているものとして、通知される。また一方で、第2の凍結が、ローカルホストHLにて実行されており、新規の更新が、ローカル補助仮想ボリュームAVL2へリダイレクトされる。
【0108】
実際には、第1のローカル補助ボリュームAVL1、あるいは、第2のリモートボリュームRVx/2を個別に動作させるさらなる理由はないので、これらの(仮想)ボリュームは、それぞれ、ソースボリュームSVおよび第1のリモート仮想ボリュームRVx/1と同期されてもよい。このような同期および統合が、それぞれ、ステップ232およびステップ234にて実行されると、ソースボリュームSVおよび第1のリモート仮想ボリュームRVx/1のみが利用可能な状態で残される一方で、第1のローカル補助仮想ボリュームAVL1および第2のリモートボリュームRVx/2が削除される。要望があれば、ミラーリングループがステップ236にて中断されてステップ238にて終了するように命令され、そうでなければ、制御はステップ218へと渡されてミラーリングが続行する。
【0109】
ミラーリングループが中断しない場合、制御はステップ218へと戻される。このステップ218では、ミラーリングカウンタが再び1増加して、s=3となる。その手順により、ステップ218〜ステップ236のループが繰り返され、ミラーリングが継続するか、あるいは、命令があればミラーリングが終了する。
【0110】
前述の方法は、一つの記憶装置または複数の記憶装置から一つまたは複数のリモート記憶装置へとミラーリングされる一つの単独のデータオブジェクトまたは複数のデータオブジェクトの可能な組み合わせに対して、実行される。下記のテーブル2(〔表3〕)に、ローカル補助ボリュームおよびリモートボリュームに関するさまざまな可能性と見通しについて示す。
【0111】
【表3】
【0112】
前述のミラーリング機能は、〔表3〕のテーブル2の行Iにより表される。これは、単一のデータオブジェクトを単一のローカル記憶装置から単一のリモート記憶装置へとミラーリングするための、最も簡潔で基本的なミラーリング実行方法である。各ミラーリングサイクルについて、単一の各ローカル補助ボリュームAVLおよび単一のリモートボリュームRVxが作成される。
【0113】
例えば、行IIにて、単一のデータオブジェクトが、単一のローカル記憶装置SDL内に、複数のリモート記憶装置SDRx(ここでxには、特定の記憶装置の識別情報が入る)へとミラーリングするために格納されており、各ミラーリングサイクルについて、複数のリモート記憶装置の数に等しいリモートボリュームを作成することが必要とされることとなる。したがって、4つのリモート記憶装置SDR1〜SDR4のためにミラーリングが要求された場合、ミラーリング機能は凍結手順を行Iのように適用することになり、コピー手順が、各リモート記憶装置毎に1回、並行して4回実行されることになる。次のミラーリングサイクル、したがって、2回の連続したミラーリングサイクル同士の間隔は、4つの記憶装置の全てに対するコピーおよび書込が完了した後に開始する。各ミラーリングサイクルには、一つのローカル補助ボリュームおよび4つのリモートボリュームRVx(xは、例えば1〜4にわたる)が必要となる。各ミラーリングサイクル毎にミラーリング機能により作成されるローカル補助ボリュームおよびリモートボリュームの最低限の数が、〔表3〕のテーブル2の第3列および最終列に示されている。明らかに、リモート記憶装置の数は、整数で乗算されてもよい。これによって、8、12、16等の個数のリモート記憶装置に対するミラーリングが実現してもよい。
【0114】
テーブル2の行IIIは、単独のデータオブジェクト、したがってデータオブジェクトの一つのグループとして、ローカル記憶装置SDL内にある選択されたデータオブジェクトを、一つのリモート記憶装置SDRxへミラーリングすることに対応している。ミラーリング機能は、単独のデータオブジェクトの全てを同時に凍結させることにより、行Iのように適用される。例えば、選択されたデータオブジェクトが、単独のデータオブジェクトが3つ存在するグループである場合、これらの3つが同時に凍結されて、その各々がリモート記憶装置SDRxへコピーされる。そして、記憶装置SDRxへの書込完了後、次のミラーリングサイクルが開始しうる。
【0115】
行IVは、例えば3つの別個のローカルボリュームSDLi(i=1,2,および3)内にある3つの単独のデータオブジェクトからなる選択されたデータオブジェクトを、一つのリモート記憶装置SDRxへミラーリングする事例を示している。ここでも、凍結手順は、3つの単独のデータオブジェクトについて同時に実行され、行Iの方法が、3つの単独のデータオブジェクトの各々に対して適用される。次のミラーリングサイクルは、出力先のリモート記憶装置SDRxへの最後の書込動作が完了した後に、開始することになる。
【0116】
行Vは、行IIIの方法によるような、そして、行IIに従って多くのリモート記憶装置へコピーするコピー手順によるような凍結手順に対応している。
【0117】
記憶装置のグループ内にある単独のデータオブジェクトのグループからなる選択されたデータオブジェクトをミラーリングする例を、行IVに示す。なお、ここで、単独のデータオブジェクトの個数は、出力先のリモート記憶装置の個数と等しい。2つ以上のデータオブジェクトの同時凍結は、行IIIに適用された凍結手順と同様であり、コピー手順は、行IIに対して適用されたものと同様である。
【0118】
なお、凍結手順は、凍結されるべき2つ以上のデータオブジェクトに対して、選択された同一のデータオブジェクトに属していても、2つ以上のローカル記憶装置内に格納されていても同時であることが、重要である。次のミラーリングサイクルへのサイクルタイムは、多くのリモート記憶装置へといったように複数のコピーが実行される場合、最後のコピーを完結するためのコピー手順に必要な時間により決められる。
【0119】
さらに、ローカル記憶装置からリモート記憶装置への同時クロスミラーリング、および。その逆の方向への同時クロスミラーリングもまた、行I〜VIのミラーリング機能について利用可能である。行Iの方法についての簡潔な例として、ローカルホストHLおよびリモートホストHRの双方が、ミラーリング機能を実行し、各ホストは、他方のホストがリモートホストである場合にローカルホストとして機能する場合がある。
【0120】
なお、本発明は、特に図示されて前述されたことに限定されるものではないことが、当業者には理解されるであろう。例えば、選択されたデータオブジェクト、ローカル記憶装置およびリモート記憶装置のさらなる組み合わせが、考慮されてもよい。本発明の範囲は、添付の特許請求の範囲により規定され、前述の様々な特徴、および前記説明を読んで当業者が想到するであろう変形例および修正例の組み合わせおよび下位の組み合わせを含むべきである。
【図面の簡単な説明】
【0121】
【図1】ネットワーク接続部の例を示す図である。
【図2】凍結手順を説明するための図である。
【図3】様々なタイプのI/O読取命令およびI/O書込命令を分類するためのフローチャートである。
【図4】凍結手順開始後に、ソースボリュームSVへ向けられたI/O読取命令の手順を説明するための図である。
【図5】凍結コマンド後に更新されたデータを含むI/O書込コマンドの処理ステップを示す図である。
【図6】凍結時以来非変更のデータ用のI/O書込命令のステップを示す図である。
【図7】ミラーリング機能の機構の概略を示す図である。
【図8】ミラーリング機能の一連のステップの詳細を説明するための図である。
Claims (48)
- 選択されたデータオブジェクトを、少なくとも一つのローカル記憶装置(SDL)から、少なくとも一つのリモート記憶装置(SDRx)へとミラーリングするように動作する方法において、
前記の少なくとも一つのローカル記憶装置は、第1の処理機構(HL)に対して接続され、前記の少なくとも一つのリモート記憶装置は、第2の処理機構(HR)に対して接続され、前記の少なくとも一つのローカル記憶装置と、前記の少なくとも一つのリモート記憶装置と、前記第1および第2の処理機構とは、複数のユーザ、複数の処理機構、および複数の記憶装置を含むネットワーク接続部に対して接続され、前記方法は、
前記第1および第2の処理機構にてミラーリング機能を実行するステップであって、前記ミラーリング機能は、
選択されたデータオブジェクトを凍結する凍結手順と、
凍結され選択されたデータオブジェクトを少なくとも一つのリモート記憶装置にコピーするためのコピー手順とを有するステップと、
ミラーリング機能の実行と並行して、選択されたデータオブジェクトの使用および更新を可能にするステップと、
ミラーリング中断コマンドを受信しない限り、選択されたデータオブジェクトに更新をコピーするためにミラーリング機能を繰り返し実行することを、デフォルトで命令するステップとを含み、
前記の少なくとも一つのローカル記憶装置内にある選択されたデータオブジェクトがコピーされ、前記の少なくとも一つのリモート記憶装置へ順に更新されることを特徴とする方法。 - 前記ミラーリング機能は、
凍結手順を、ソースボリューム(SV)として選択されたデータオブジェクトに適用するステップと、
少なくとも一つのローカル補助ボリューム(AVL)を作成するステップであって、該ローカル補助ボリュームに対して、選択されたデータオブジェクトへ向けられた更新がリダイレクトされ、選択されたデータオブジェクトのうちの各単独のデータオブジェクトは、少なくとも一つのローカル補助ボリュームのうちの一つのローカル補助ボリュームに対応しているステップと、
前記少なくとも一つのリモート記憶装置のうちの各リモート記憶装置内に、少なくとも一つのリモートボリュームを、作成された各ローカル補助ボリュームに対応させて作成するステップと、
凍結され選択されたデータオブジェクトおよび少なくとも一つのローカル補助ボリュームを含む少なくとも一つの結果としてのソースボリュームを、前記の少なくとも一つのローカル記憶装置内に形成するステップと、
凍結され選択されたデータオブジェクトを、前記の少なくとも一つの結果としてのボリュームから前記の少なくとも一つのリモート記憶装置へとコピーするためのコピー手順を適用するステップとを、さらに含むことを特徴とする請求項1記載の方法。 - 2つ以上のデータオブジェクトに対して、ミラーリング機能を同時に適用するステップを、さらに含むことを特徴とする請求項1記載の方法。
- 少なくとも一つのローカル記憶装置から少なくとも一つのリモート記憶装置へと、および、その逆の方向へと、同時にミラーリングするステップを、さらに含むことを特徴とする請求項1から3のいずれか一項に記載の方法。
- 前記ミラーリング機能は、
2つ以上のデータオブジェクトを同時に凍結させるための凍結手順を適用するステップを、さらに含むことを特徴とする請求項2記載の方法。 - 前記ミラーリング機能は、
2つ以上の凍結された選択されたデータオブジェクトを同時にコピーするために、コピー手順を適用するステップを、さらに含むことを特徴とする請求項2記載の方法。 - 一つのローカル記憶装置内にある一つの単独のデータオブジェクトを、2つ以上のリモート記憶装置へ同時にミラーリングするステップを、さらに含むことを特徴とする請求項1または2記載の方法。
- 2つ以上の単独のデータオブジェクトを、一つのローカル記憶装置から一つのリモート記憶装置へと同時にミラーリングするステップを、さらに含むことを特徴とする請求項1または2記載の方法。
- 複数の単独のデータオブジェクトであってそれぞれが同数のローカル記憶装置内にあるデータオブジェクトを、一つのリモート記憶装置へ同時にミラーリングするステップを、さらに含むことを特徴とする請求項1または2記載の方法。
- 一つのローカル記憶装置内にある複数の単独のデータオブジェクトを、それぞれ、同数のリモート記憶装置へ同時にミラーリングするステップを、さらに含むことを特徴とする請求項1または2記載の方法。
- 複数のローカル記憶装置のうちの各々のローカル記憶装置内にある一つの単独のデータオブジェクトを、一つのリモート記憶装置へ同時にミラーリングするステップを、さらに含むことを特徴とする請求項1または2記載の方法。
- ミラーリングは、
選択された時点にて、
ミラーリングサイクルを開始するステップと、
選択されたデータオブジェクトを凍結するステップと、
少なくとも一つのローカル補助ボリューム(AVL)を、少なくとも一つのローカル記憶装置(SDL)内に作成すると共に、少なくとも一つのリモートボリューム(RV)を、少なくとも一つのリモート記憶装置(SDRx)内に作成するステップと、
凍結され選択されたデータオブジェクトおよびローカル補助ボリューム(AVL)を含む少なくとも一つの結果としてのソースボリュームを形成するステップと、
前記選択された時点後に、
凍結され選択されたデータオブジェクトを、結果としてのソースボリュームから少なくとも一つのローカル補助ボリュームへと、コピーが完了するまでコピーするステップと、
選択されたデータオブジェクトへ向けられた更新を、ローカル補助ボリュームへリダイレクトするステップと、
結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用を可能にするステップと、
少なくとも一つのリモート記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルを繰り返すステップとを、さらに含むことを特徴とする請求項1記載の方法。 - ミラーリングは、
少なくとも一つのリモート記憶装置へのコピー完了後、次の時点にて、次のミラーリングサイクルを開始するステップと、
結果としてのソースボリュームを凍結するステップと、
最終のローカル補助ボリュームを、前記ローカル記憶装置内に作成すると共に、最終のリモートボリュームを、前記の少なくとも一つのリモート記憶装置内に作成するステップと、
最後から2番目の結果としてのソースボリュームおよび最終のローカル補助ボリュームを含む、最終の結果としてのソースボリュームを形成するステップと、
前記次の時点後に、
最後から2番目のローカル補助ボリュームを、最終のリモートボリュームへコピーするステップと、
選択されたデータオブジェクトへと向けられた更新を、最終のローカル補助ボリュームへリダイレクトするステップと、
最終の結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用を可能にするステップと、
最終のリモートボリュームへのコピー完了後、
最後から2番目のローカル補助ボリュームを、凍結され選択されたデータオブジェクトに同期させるステップと、
前記第2の処理機構(HR)のコマンドにより、少なくとも一つの最終のリモートボリュームを、最後から2番目のリモートボリュームに同期させるステップと、
前記の少なくとも一つの第2の記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルを繰り返すステップとを、さらに含むことを特徴とする請求項12記載の方法。 - ミラーリングは、
最後から2番目のローカル補助ボリュームのコピー完了後に起こるさらに別の時点を選択するステップと、
結果としてのソースボリュームを凍結するステップと、
最終のローカル補助ボリュームを、前記ローカル記憶装置内に作成すると共に、最終のリモートボリュームを、前記の少なくとも一つのリモート記憶装置内に、作成するステップと、
最後から2番目の結果としてのソースボリュームおよび最終のローカル補助ボリュームを含む、最終の結果としてのソースボリュームを形成するステップと、
最後から2番目のローカル補助ボリュームを、少なくとも一つの最終のリモートボリュームへコピーするステップと、
選択されたデータオブジェクトへ向けられた更新を、最終のローカル補助ボリュームへとリダイレクトするステップと、
最終の結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用を可能にするステップと、
最後から2番目のローカル補助ボリュームを、選択されたデータオブジェクトに同期させるステップと、
少なくとも一つの最終のリモートボリュームを、最後から2番目のリモートボリュームに同期させるステップと、
前記の少なくとも一つの第2の記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルを繰り返すステップとを、さらに含むことを特徴とする請求項13記載の方法。 - ミラーリングは、
最後から2番目のローカル補助ボリュームより前のコピーが完了した時点にて入力された更新を含む選択されたデータオブジェクトの完全にミラーリングされたコピーを、前記の少なくとも一つのリモート記憶装置内に格納するステップを、さらに含むことを特徴とする請求項14記載の方法。 - ミラーリングは、データボリューム、仮想ボリューム、データファイル、システムファイル、アプリケーションプログラム、オペレーションシステム、データ構造、およびデータベースレコードからなるグループから選択されたデータオブジェクトに対して、適用可能であることを特徴とする請求項1記載の方法。
- ミラーリングは、ローカルエリア・ネットワーク、ワイドエリア・ネットワーク、およびストレージエリア・ネットワークからなるグループから選択されたネットワーク接続部に対して、適用可能であることを特徴とする請求項1記載の方法。
- ミラーリングは、
少なくとも最終のローカル補助ボリュームを最終のリモートボリュームへコピーする時間にわたって継続するものと規定された離散反復時間間隔で、ミラーリング機能の動作を繰り返すことを、さらに含むことを特徴とする請求項1記載の方法。 - ミラーリングは、
更新を同期させて、選択されたデータオブジェクトを上書きし、
後のリモートボリュームを同期させて、最後から2番目の結果としての第1のリモートボリュームを上書きすることを、さらに含むことを特徴とする請求項1記載の方法。 - 選択されたデータオブジェクトは、コンテンツの一部、コンテンツの全部、および前記ローカル記憶装置のコンテンツよりも多くのコンテンツからなるコンテンツ範囲のグループから選択されたコンテンツ範囲を含むことを特徴とする請求項1記載の方法。
- ミラーリングは、
前記ローカル記憶装置(SDL)にて、時刻(t)がt=1の時点で、
カウンタをs=1に設定し、ローカル補助ボリューム(s)を作成するステップと、
選択されたデータオブジェクトを凍結し、ローカル補助ボリューム(s)および選択されたデータオブジェクトを、結果としてのソースボリューム(s)に含めるステップと、
結果としてのソースボリューム(s)に関連してデータオブジェクトを使用することを可能にするステップと、
少なくとも一つのリモート記憶装置にて、
時刻(t)にて、リモートボリューム(s)を、少なくともデータオブジェクトと等しいサイズで作成するステップと、
時刻(t)で開始して、
凍結されたデータオブジェクトを、結果としてのソースボリューム(s)からリモートボリューム(s)へと、コピーが完了するまでコピーするステップとを、さらに含み、
時刻(t)にて凍結されたデータオブジェクトが、前記の少なくとも一つのリモート記憶装置にてミラーリングされることを特徴とする請求項1記載の方法。 - ミラーリングは、
前記ローカル記憶装置にて、前記の少なくとも一つのリモート記憶装置へのコピー完了後に起こる時刻(t)がt=t+1の時点で、
a.カウンタをs=s+1へと増加させるステップと、
b.ローカル補助ボリューム(s)を作成するステップと、
c.結果としてのソースボリューム(s−1)を凍結させ、ローカル補助ボリューム(s)および結果としてのソースボリューム(s−1)を、結果としての仮想ボリューム(s)に含めるステップと、
d.結果としてのローカルボリューム(s)に関連してデータオブジェクトを使用することを可能にするステップと、
前記の少なくとも一つのリモート記憶装置にて、
e.時刻(t)にて、リモートボリューム(s)を、少なくともソースボリュームと等しいサイズで作成するステップと、
時刻(t)で開始して、
f.ローカル補助ボリューム(s−1)を、結果としてのソースボリューム(s)からリモートボリューム(s)へとコピーして、コピーを完了するステップと、
g.リモートボリューム(s)をリモートボリューム(s−1)に上書きすることにより、前記第2の処理機構を同期のために動作させるステップと、
前記第1の記憶装置(SDL)にて、
h.リモートボリューム(s)をローカル補助ボリューム(s−1)に上書きすることにより、前記第1の処理機構を同期のために動作させるステップと、
前記のステップfの完了後、ミラーリング中断コマンドがない限り、前記のステップa〜ステップhをデフォルトで繰り返すことにより、ミラーリングを繰り返すステップとを、さらに含むことを特徴とする請求項15記載の方法。 - ボリューム、仮想ボリュームまたは論理ボリューム、およびファイルからなるグループから、ボリュームが選択されることを特徴とする請求項22記載の方法。
- 時刻(t−2)にて入力された更新を含む選択されたデータオブジェクトの完全にミラーリングされたコピーを、前記の少なくとも一つのリモート記憶装置内に時刻(t)にて格納することを、さらに含むことを特徴とする請求項22記載の方法。
- 選択されたデータオブジェクトを、少なくとも一つのローカル記憶装置(SDL)から、少なくとも一つのリモート記憶装置(SDRx)へとミラーリングするシステムにおいて、
前記の少なくとも一つのローカル記憶装置は、第1の処理機構(HL)に対して接続され、前記の少なくとも一つのリモート記憶装置は、第2の処理機構(HR)に対して接続され、前記の少なくとも一つのローカル記憶装置と、前記の少なくとも一つのリモート記憶装置と、前記第1および第2の処理機構とは、複数のユーザ、複数の処理機構、および複数の記憶装置を含むネットワーク接続部に対して接続され、前記システムは、
前記第1および第2の処理機構にて実行されるミラーリング機能を備え、
該ミラーリング機能は、選択されたデータオブジェクトを凍結する凍結手順と、
凍結された選択されたデータオブジェクトを少なくとも一つのリモート記憶装置にコピーするコピー手順とを含み、
選択されたデータオブジェクトは、ミラーリング機能の実行と並行して使用されかつ更新され、
ミラーリング機能は、ミラーリング中断コマンドを受信しない限り、選択されたデータオブジェクトに更新をコピーするために、デフォルトコマンドにより実行され、前記の少なくとも一つのローカル記憶装置内にある選択されたデータオブジェクトがコピーされ、前記の少なくとも一つのリモート記憶装置へ順に更新されることを特徴とするシステム。 - 前記ミラーリング機能は、
ソースボリューム(SV)として選択されたデータオブジェクトを凍結するために適用される凍結手順と、
少なくとも一つのローカル補助ボリューム(AVL)であって、該ローカル補助ボリュームに対して、選択されたデータオブジェクトへ向けられた更新がリダイレクトされ、選択されたデータオブジェクトのうちの各単独のデータオブジェクトは、少なくとも一つのローカル補助ボリュームのうちの一つのローカル補助ボリュームに対応しているローカル補助ボリュームと、
作成された各ローカル補助ボリュームに対応させて、前記少なくとも一つのリモート記憶装置のうちの各リモート記憶装置内に作成される少なくとも一つのリモートボリュームと、
前記の少なくとも一つのローカル記憶装置内に形成されて、凍結され選択されたデータオブジェクトおよび少なくとも一つのローカル補助ボリュームを含む、結果としてのソースボリュームと、
凍結され選択されたデータオブジェクトを、前記の少なくとも一つの結果としてのボリュームから前記の少なくとも一つのリモート記憶装置へとコピーするために適用されるコピー手順とを、さらに含むことを特徴とする請求項25記載のシステム。 - 2つ以上のデータオブジェクトに対して同時に適用されるミラーリング機能を、さらに含むことを特徴とする請求項25記載のシステム。
- 少なくとも一つのローカル記憶装置から少なくとも一つのリモート記憶装置へと、および、その逆の方向へと、同時にミラーリングするように構成されたミラーリング機能を、さらに含むことを特徴とする請求項25から27のいずれか一項に記載のシステム。
- 2つ以上のデータオブジェクトを同時に凍結させるために適用される凍結手順を、さらに含むことを特徴とする請求項26記載のシステム。
- 2つ以上の凍結された選択されたデータオブジェクトを同時にコピーするために適用されるコピー手順を、さらに含むことを特徴とする請求項26記載のシステム。
- 前記ミラーリング機能は、
一つのローカル記憶装置内にある一つの単独のデータオブジェクトを、2つ以上のリモート記憶装置へ同時にミラーリングするための構成を、さらに含むことを特徴とする請求項25または26記載のシステム。 - 前記ミラーリング機能は、
2つ以上の単独のデータオブジェクトを、一つのローカル記憶装置から一つのリモート記憶装置へ同時にミラーリングするための構成を、さらに含むことを特徴とする請求項25または26記載のシステム。 - 前記ミラーリング機能は、
複数の単独のデータオブジェクトであってそれぞれが同数のローカル記憶装置内にあるデータオブジェクトを、一つのリモート記憶装置へ同時にミラーリングするための構成を、さらに含むことを特徴とする請求項25または26記載のシステム。 - 前記ミラーリング機能は、
一つのローカル記憶装置内にある複数の単独のデータオブジェクトを、それぞれ、同数のリモート記憶装置へ同時にミラーリングするための構成を、さらに含むことを特徴とする請求項25または26記載のシステム。 - 前記ミラーリング機能は、
複数のローカル記憶装置のうちの各々のローカル記憶装置内にある一つの単独のデータオブジェクトを、一つのリモート記憶装置へ同時にミラーリングするための構成を、さらに含むことを特徴とする請求項25または26記載のシステム。 - ミラーリングは、
選択された時点にて、
ミラーリングサイクルが開始されることと、
選択されたデータオブジェクトが凍結されることと、
少なくとも一つのローカル補助ボリューム(AVL)が、少なくとも一つのローカル記憶装置内に、少なくとも一つのリモートボリューム(RV)が、少なくとも一つのリモート記憶装置内に作成されることと、
凍結された選択されたデータオブジェクトおよびローカル補助ボリューム(AVL)を含むように、少なくとも一つの結果としてのソースボリュームが形成されることと、
前記選択された時点後に、
凍結された選択されたデータオブジェクトが、結果としてのソースボリュームから少なくとも一つのリモートボリュームへと、コピーが完了するまでコピーされることと、
選択されたデータオブジェクトへと向けられた更新が、ローカル補助ボリュームへとリダイレクトされることと、
結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用が可能になることと、
少なくとも一つのリモート記憶装置へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルが繰り返されることとを、さらに含むことを特徴とする請求項25記載のシステム。 - ミラーリングは、
少なくとも一つのリモート記憶装置へのコピー完了後、次の時点にて、次のミラーリングサイクルが開始されることと、
結果としてのソースボリュームが凍結されることと、
最終のローカル補助ボリュームが、前記ローカル記憶装置内に作成されると共に、最終のリモートボリュームが、前記の少なくとも一つのリモート記憶装置内に作成されることと、
最後から2番目の結果としてのソースボリュームおよび最終のローカル補助ボリュームを含むように、最終の結果としてのソースボリュームが形成されることと、
前記次の時点後に、
最後から2番目のローカル補助ボリュームが、最終のリモートボリュームへコピーされることと、
選択されたデータオブジェクトへ向けられた更新が、最終の結果としてのソースボリューム内の最終のローカル補助ボリュームへリダイレクトされることと、
最終の結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用が可能になることと、
最終のリモートボリュームへのコピー完了後、
最後から2番目のローカル補助ボリュームが、凍結された選択されたデータオブジェクトに同期することと、
前記リモート処理機構(HR)のコマンドにより、少なくとも一つの最終のリモートボリュームが、最後から2番目のリモートボリュームに同期することと、
前記の少なくとも一つの第2の記憶装置(SDR)へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルが繰り返されることとを、さらに含むことを特徴とする請求項36記載のシステム。 - ミラーリングは、
最後から2番目の補助ボリュームのコピー完了後に起こるさらに別の時点が選択されることと、
結果としてのソースボリュームが凍結されることと、
最終のローカル補助ボリュームが、前記ローカル記憶装置内に作成されると共に、最終のリモートボリュームが、前記の少なくとも一つの第2の記憶装置内に作成されることと、
最後から2番目の結果としてのソースボリュームおよび最終のローカル補助ボリュームを含む、最終の結果としてのソースボリュームが形成されることと、
最後から2番目のローカル補助ボリュームが、少なくとも一つの最終のリモートボリュームへとコピーされることと、
選択されたデータオブジェクトへ向けられた更新が、最終の結果としてのソースボリューム内の最終のローカル補助ボリュームへとリダイレクトされることと、
最終の結果としてのソースボリュームとの連携動作により、ミラーリング中に、選択されたデータオブジェクトの使用が可能になることと、
最後から2番目のローカル補助ボリュームが、選択されたデータオブジェクトに同期することと、
少なくとも一つの最終のリモートボリュームが、最後から2番目のリモートボリュームに同期するステップと、
前記の少なくとも一つの第2の記憶装置(SDR)へのコピー完了後、ミラーリング中断コマンドを受信しない限り、デフォルトコマンドにより、次のミラーリングサイクルが繰り返されることとを、さらに含むことを特徴とする請求項37記載のシステム。 - ミラーリングは、
前記の少なくとも一つのリモート記憶装置が、最後から2番目のローカル補助ボリュームより前のコピーが完了した時点にて入力された更新を含む選択されたデータオブジェクトの完全にミラーリングされたコピーを格納することを、さらに含むことを特徴とする請求項38記載のシステム。 - データボリューム、仮想ボリューム、データファイル、システムファイル、アプリケーションプログラム、オペレーションシステム、データ構造、およびデータベースレコードからなるグループから選択されたデータオブジェクトに対して適用可能なミラーリング機能を、さらに含むことを特徴とする請求項25記載のシステム。
- ローカルエリア・ネットワーク、ワイドエリア・ネットワーク、およびストレージエリア・ネットワークからなるグループから選択されたネットワーク接続部に対して適用可能なミラーリング機能を、さらに含むことを特徴とする請求項25記載のシステム。
- 前記ミラーリング機能の動作は、少なくとも最終のローカル補助ボリュームを最終のリモートボリュームへコピーする時間にわたって継続するものと規定された離散反復時間間隔で繰り返されることを、さらに含むことを特徴とする請求項25記載のシステム。
- 更新が同期して、選択されたデータオブジェクトが上書きされ、
後のリモートボリュームが同期して、最後から2番目の結果としての第1のリモートボリュームが上書きされることを、さらに含むことを特徴とする請求項25記載のシステム。 - 選択されたデータオブジェクトは、コンテンツの一部、コンテンツの全部、および前記ローカル記憶装置のコンテンツよりも多くのコンテンツからなるコンテンツ範囲のグループから選択されたコンテンツ範囲を含むことを特徴とする請求項25記載のシステム。
- 前記ローカル記憶装置(SDL)にて、時刻(t)がt=1の時点で、
ミラーリングサイクルカウンタがs=1に設定され、ローカル補助ボリューム(s)が作成されることと、
選択されたデータオブジェクトが凍結され、ローカル補助ボリューム(s)、結果としてのソースボリューム(s)、および選択されたデータオブジェクトが、結果としてのソースボリューム(s)に含まれることと、
結果としてのソースボリューム(s)に関連してデータオブジェクトの使用が可能になることと、
少なくとも一つのリモート記憶装置にて、
時刻(t)にて、リモートボリューム(s)が、少なくともデータオブジェクトと等しいサイズで作成されることと、
時刻(t)で開始して、
凍結されたデータオブジェクトが、結果としてのソースボリューム(s)からリモートボリューム(s)へと、コピーが完了するまでコピーされることとを、さらに含み、
時刻(t)にて凍結されたデータオブジェクトが、前記の少なくとも一つのリモート記憶装置にてミラーリングされることを特徴とする請求項25記載のシステム。 - 前記ローカル記憶装置にて、前記の少なくとも一つのリモート記憶装置へのコピー完了後に起こる時刻(t)がt=t+1の時点で、
a.ミラーリングサイクルカウンタがs=s+1へと増加することと、
b.ローカル補助ボリューム(s)が作成されることと、
c.結果としてのソースボリューム(s−1)が凍結され、ローカル補助ボリューム(s)および結果としてのソースボリューム(s−1)が、結果としての仮想ボリューム(s)に含まれることと、
d.結果としてのローカルボリューム(s)に関連してデータオブジェクトの使用が可能になるステップと、
前記の少なくとも一つのリモート記憶装置にて、
e.時刻(t)にて、リモートボリューム(s)が、少なくともソースボリュームと等しいサイズで作成されることと、
時刻(t)で開始して、
f.ローカル補助ボリューム(s−1)が、結果としてのソースボリューム(s)からリモートボリューム(s)へと、コピーが完了するまでコピーされることと、
g.リモートボリューム(s)をリモートボリューム(s−1)に上書きすることにより、前記第2の処理機構が同期のために動作することと、
前記第1の記憶装置(SDL)にて、
h.リモートボリューム(s)をローカル補助ボリューム(s−1)に上書きすることにより、前記第1の処理機構が同期のために動作することと、
前記のステップfの完了後、ミラーリング中断コマンドがない限り、前記のステップa〜ステップhをデフォルトで繰り返すことにより、ミラーリングが繰り返されることとを、さらに含むことを特徴とする請求項45記載のシステム。 - ボリューム、仮想ボリュームまたは論理ボリューム、およびファイルからなるグループから、ボリュームが選択されることを特徴とする請求項46記載のシステム。
- 時刻(t−2)にて入力された更新を含む選択されたデータオブジェクトの完全にミラーリングされたコピーが、前記の少なくとも一つのリモート記憶装置内に時刻(t)にて格納されることを、さらに含むことを特徴とする請求項46記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31220901P | 2001-08-14 | 2001-08-14 | |
PCT/IL2002/000665 WO2003017022A2 (en) | 2001-08-14 | 2002-08-13 | Asynchronous mirroring in a storage area network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005500603A true JP2005500603A (ja) | 2005-01-06 |
JP2005500603A5 JP2005500603A5 (ja) | 2006-01-05 |
Family
ID=23210373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003521464A Pending JP2005500603A (ja) | 2001-08-14 | 2002-08-13 | ストレージエリア・ネットワークにおける非同期ミラーリング |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1423770A2 (ja) |
JP (1) | JP2005500603A (ja) |
CN (1) | CN1331062C (ja) |
AU (1) | AU2002326116A1 (ja) |
CA (1) | CA2457091A1 (ja) |
WO (1) | WO2003017022A2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1305265C (zh) * | 2003-11-07 | 2007-03-14 | 清华大学 | San系统中基于负载自适应的异步远程镜像方法 |
US7917711B2 (en) * | 2003-11-14 | 2011-03-29 | International Business Machines Corporation | System, apparatus, and method for automatic copy function selection |
US7054883B2 (en) | 2003-12-01 | 2006-05-30 | Emc Corporation | Virtual ordered writes for multiple storage devices |
US7231502B2 (en) | 2004-02-04 | 2007-06-12 | Falcon Stor Software, Inc. | Method and system for storing data |
JP2005228170A (ja) * | 2004-02-16 | 2005-08-25 | Hitachi Ltd | 記憶装置システム |
GB0410540D0 (en) * | 2004-05-12 | 2004-06-16 | Ibm | Write set boundary management for heterogeneous storage controllers in support of asynchronous update of secondary storage |
US7856419B2 (en) * | 2008-04-04 | 2010-12-21 | Vmware, Inc | Method and system for storage replication |
CN102567131B (zh) * | 2011-12-27 | 2015-03-04 | 创新科存储技术有限公司 | 一种异步镜像方法 |
US9983960B2 (en) | 2012-01-23 | 2018-05-29 | International Business Machines Corporation | Offline initialization for a remote mirror storage facility |
US8930309B2 (en) * | 2012-02-29 | 2015-01-06 | Symantec Corporation | Interval-controlled replication |
US9218255B2 (en) * | 2012-08-27 | 2015-12-22 | International Business Machines Corporation | Multi-volume instant virtual copy freeze |
KR102078867B1 (ko) * | 2013-09-17 | 2020-02-18 | 삼성전자주식회사 | 제어권 관리 방법, 그에 따른 클라이언트 기기 및 그에 따른 마스터 기기 |
US10642809B2 (en) | 2017-06-26 | 2020-05-05 | International Business Machines Corporation | Import, export, and copy management for tiered object storage |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3126225B2 (ja) * | 1991-07-12 | 2001-01-22 | 富士通株式会社 | データベース・システム |
US5455946A (en) * | 1993-05-21 | 1995-10-03 | International Business Machines Corporation | Method and means for archiving modifiable pages in a log based transaction management system |
US5515502A (en) * | 1993-09-30 | 1996-05-07 | Sybase, Inc. | Data backup system with methods for stripe affinity backup to multiple archive devices |
US5799141A (en) * | 1995-06-09 | 1998-08-25 | Qualix Group, Inc. | Real-time data protection system and method |
US5852715A (en) * | 1996-03-19 | 1998-12-22 | Emc Corporation | System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions |
US6073209A (en) * | 1997-03-31 | 2000-06-06 | Ark Research Corporation | Data storage controller providing multiple hosts with access to multiple storage subsystems |
US6067199A (en) * | 1997-06-30 | 2000-05-23 | Emc Corporation | Method and apparatus for increasing disc drive performance |
US6308284B1 (en) * | 1998-08-28 | 2001-10-23 | Emc Corporation | Method and apparatus for maintaining data coherency |
US6549992B1 (en) * | 1999-12-02 | 2003-04-15 | Emc Corporation | Computer data storage backup with tape overflow control of disk caching of backup data stream |
US6496908B1 (en) * | 2001-05-18 | 2002-12-17 | Emc Corporation | Remote mirroring |
-
2002
- 2002-08-13 CN CNB028159489A patent/CN1331062C/zh not_active Expired - Fee Related
- 2002-08-13 EP EP02760525A patent/EP1423770A2/en not_active Withdrawn
- 2002-08-13 CA CA002457091A patent/CA2457091A1/en not_active Abandoned
- 2002-08-13 WO PCT/IL2002/000665 patent/WO2003017022A2/en not_active Application Discontinuation
- 2002-08-13 JP JP2003521464A patent/JP2005500603A/ja active Pending
- 2002-08-13 AU AU2002326116A patent/AU2002326116A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2003017022A3 (en) | 2004-03-18 |
CN1331062C (zh) | 2007-08-08 |
AU2002326116A1 (en) | 2003-03-03 |
WO2003017022A2 (en) | 2003-02-27 |
CA2457091A1 (en) | 2003-02-27 |
CN1549974A (zh) | 2004-11-24 |
EP1423770A2 (en) | 2004-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4581518B2 (ja) | スナップショット取得方法 | |
US7836266B2 (en) | Managing snapshot history in a data storage system | |
JP4336129B2 (ja) | 複数のスナップショットを管理するシステム及び方法 | |
EP0786111B1 (en) | Snapshot of data stored on a mass storage system | |
US6460054B1 (en) | System and method for data storage archive bit update after snapshot backup | |
JP3478746B2 (ja) | ディスク上の追加のアドレス空間を設ける方法 | |
US7467167B2 (en) | System and method for coalescing a plurality of snapshots | |
US20060047926A1 (en) | Managing multiple snapshot copies of data | |
US20040254964A1 (en) | Data replication with rollback | |
US7685385B1 (en) | System and method for satisfying I/O requests before a replica has been fully synchronized | |
US20080027998A1 (en) | Method and apparatus of continuous data protection for NAS | |
US7424497B1 (en) | Technique for accelerating the creation of a point in time prepresentation of a virtual file system | |
JP5984151B2 (ja) | データの復旧方法、プログラムおよびデータ処理システム | |
WO1996012232A9 (en) | Snapshot of data stored on a mass storage system | |
JP2006107162A (ja) | ストレージシステム | |
JP2003280964A (ja) | スナップショット取得方法、ストレージシステム及びディスク装置 | |
JP2010191647A (ja) | ファイル共有システム、ファイルサーバ、ファイル管理方法 | |
US7290100B2 (en) | Computer system for managing data transfer between storage sub-systems | |
JP2000298554A (ja) | Raidデータ記憶システムにおける瞬時バックアップを提供する方法及びシステム | |
JP2005500603A (ja) | ストレージエリア・ネットワークにおける非同期ミラーリング | |
JP4755244B2 (ja) | 情報生成方法、情報生成プログラム及び情報生成装置 | |
US20050177693A1 (en) | Asynchronous mirroring in a storage area network | |
JP2005500603A5 (ja) | ||
US7437360B1 (en) | System and method for communication and synchronization of application-level dependencies and ownership of persistent consistency point images | |
JP2005215940A (ja) | ストレージシステム、サーバ装置及び先行コピーデータ生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050812 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081021 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090317 |