JP2023542287A - データ・ストレージ・ボリューム回復管理 - Google Patents
データ・ストレージ・ボリューム回復管理 Download PDFInfo
- Publication number
- JP2023542287A JP2023542287A JP2023515642A JP2023515642A JP2023542287A JP 2023542287 A JP2023542287 A JP 2023542287A JP 2023515642 A JP2023515642 A JP 2023515642A JP 2023515642 A JP2023515642 A JP 2023515642A JP 2023542287 A JP2023542287 A JP 2023542287A
- Authority
- JP
- Japan
- Prior art keywords
- volume
- data
- virtual
- restoration
- storage
- 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
- 238000011084 recovery Methods 0.000 title abstract description 243
- 238000013500 data storage Methods 0.000 title abstract description 20
- 238000007726 management method Methods 0.000 title description 17
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000013507 mapping Methods 0.000 claims description 28
- 230000014759 maintenance of location Effects 0.000 claims description 27
- 230000004048 modification Effects 0.000 claims description 23
- 238000012986 modification Methods 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 21
- 230000000717 retained effect Effects 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 230000004075 alteration Effects 0.000 claims 2
- 230000015654 memory Effects 0.000 description 37
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008676 import Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
データ・ストレージ・システム内のデータのボリュームを復元するためのコンピュータ・プログラム製品、システム、および方法が提供される。ストレージに格納されたデータのボリュームの仮想復元が、ターゲット・ボリュームを使用して実行される。一実施形態では、仮想復元は、ターゲット・ボリュームを、回復ボリュームの仮想復元として回復ボリュームにマッピングするように、ターゲット・ボリュームに関連付けられたメタデータを構成することを含む。回復ボリュームに格納されたデータに対するホストによる要求に応答して、ターゲット・ボリュームを使用して回復ボリュームのデータの物理的復元が実行される。一実施形態では、物理的復元は、仮想復元によってターゲット・ボリュームがマッピングされた回復ボリュームから、ターゲット・ボリュームにデータを転送することを含む。加えて、転送されたデータは、回復ボリューム・データの代わりにターゲット・ボリューム・データとして再ラベル付けされる。
Description
本発明は、データ・ストレージ・システム内のボリュームの回復を管理するためのコンピュータ・プログラム製品、システム、および方法に関する。
データの長期格納のために、さまざまなストレージ・デバイスが利用されている。例えば、データは磁気テープに格納され得る。そのようなテープの集合は、多くの場合、テープ・ライブラリと呼ばれ、データは、テープ・ドライブを使用してテープに書き込まれ、テープから読み取られる。磁気テープは、例えば、カートリッジで運ばれ、必要とされるときに、ロボットによってテープ・ドライブにマウントされ得る。テープ・ドライブにマウントされるときに、カートリッジのテープが、テープ・ドライブの読み取り/書き込みヘッドを通り過ぎて運ばれ、データがカートリッジのテープに書き込まれること、およびテープから読み取られることを可能にする。
メインフレーム・ホストおよびストレージ・コントローラは、テープ・プロトコルを使用して長期ストレージ・デバイスと通信する。仮想テープでは、仮想テープ・サーバ(VTS:Virtual Tape Server)がテープ・デバイスをエミュレートする。インターナショナル・ビジネス・マシンズ・コーポレーションのTS7700は、テープ・ドライブを含むテープ・ライブラリをエミュレートする1つのそのようなVTSである。メインフレーム・ホストは、TS7700をテープ・ライブラリであるものとする。したがって、TS7700などの仮想テープ・サーバは、テープ・ライブラリであるかのように、メインフレーム・ホストに対し現れて、メインフレーム・ホストと通信する。しかし、仮想テープ・サーバは、物理テープ・カートリッジを扱う代わりに、仮想テープ・ボリュームと考えられ得る論理ボリュームを操作する。テープ・カートリッジと同じ方法で、各論理ボリュームに、VOLSER(volume serial number:ボリューム・シリアル番号)、およびそのボリューム・シリアル番号の特定のバージョンを識別するバージョン番号が割り当てられる。
テープ・ストレージ・デバイスのテープ・ライブラリは、通常、データを格納する準備ができた一連の空のテープ・カートリッジを含む。メインフレーム・ホストは、VOLSERによってこれらのテープ・ボリュームを分類し、どのテープ・ボリュームが使用可能であるか、どのテープ・ボリュームがデータを含んでいるか、およびデータの内容が何であるかを記録する。その結果、特定のデータ・セットが必要とされる場合、メインフレームは、特定のデータ・セットをストレージから取り出すために、VOLSERによって識別されたどのテープ・ボリュームをテープ・ライブラリからマウントするべきかを知る。あるテープ・ボリュームに格納されたデータが必要とされなくなった後に、そのテープ・ボリュームおよびそれに関連するVOLSERを再利用するために、そのテープ・ボリュームは「スクラッチ」カテゴリに入れられ得る。
既知のテープ・ストレージ・デバイスでは、ストレージ・マネージャは、やはりVOLSERによってこれらのテープ・ボリュームを分類して管理する。メインフレーム・ホストとは異なり、テープ・ストレージ・デバイスのストレージ・マネージャ論理は、VOLSERによって識別されたテープ・ボリュームの内容を知らないが、そのVOLSERを有する特定のテープ・ボリュームがテープ・ライブラリ内のどこに格納されているか、およびそのVOLSERを有するテープ・ボリュームをどのように管理するべきか(例えば、テープ・ボリュームが削除された後にテープ・ボリュームを保持する期間、維持するコピーの数、それらのコピーを行う場所など)を記録する。
単一のテープ・カートリッジ(VOLSER)は、大量のデータを格納できるため、ホストは、通常、テープに書き込む前に、大量のデータを一緒にまとめる。VOLSERは、複数のデータ・セット(場合によっては、数千個のデータ・セット)を含むことができる。TS7700などの仮想テープ・サーバは、メインフレーム・ホストがアクティブなデータを回収し、VOLSERに削除済みとしてマーク付けした後も、ホスト・ユーザによって指定された期間の間、そのVOLSERを保持してもよい。この慣行は、ホスト内で誰かが、時期尚早にVOLSERに削除のマークを付けるような、偶発的な活動または悪意のある活動の場合に備えて使用される。TS7700では、この慣行はカテゴリ保持と呼ばれる。ユーザは、データを含む任意のボリュームに対して、数時間から数年までの保持期間を設定できる。しかし、VOLSERに含まれているデータは、最終的に削除される。
物理テープ・ボリュームであるか、仮想テープ・サーバの論理ボリュームであるかにかかわらず、ボリュームを復元または回復する必要性が生じることがある。例えば、ボリュームの古いバージョンが削除されたが、後で、ボリュームの特定のバージョンがまだ必要とされるということが発見されることがある。このため、データの古いバージョンを保持することが望ましいことがある。回収プロセスに起因して、論理ボリューム上のデータのすべてが有効でなくなったか、またはいずれかのアクティブなデータが別の論理ボリュームに移動された場合、論理ボリュームのバージョンの変更が発生する。これらのボリュームは、スクラッチされ、新しいデータの書き込みに再利用するために再び取り出される。論理ボリュームのバージョンは、データが追加された場合にも変化することがある。この場合、同じVOLSERが使用され続けるが、バージョン・レベルが変化する。これらの事例のいずれかにおいて、論理ボリュームのより古いバージョンを復元または回復する必要がある場合に備えて、データのより古いバージョンが、ユーザの必要性に基づいて、ある時間の間、保持され得る。
既知の回復プロセス(復元プロセスとも呼ばれる)の1つは、論理ボリュームのより古いバージョンを、削除されたボリュームと同じVOLSER識別情報(ID:identification)を有するボリュームに復元する。しかし、そのVOLSERのボリュームが最新の有効なデータを含んでおり、保持ポリシーによって「ホールド」プロパティも割り当てられている場合、ボリュームを同じVOLSERに復元することは、必須のホールド期間の間、変更せずにボリュームをホールドすることを要求するホールド・プロパティに違反する。同様に、復元されるボリュームのVOLSERがLWORM(Logical Write Once, Read Many:ロジカル・ライト・ワンス・リード・メニー)として分類されている場合、このより古いバージョンを同じVOLSERに復元することを許可することは、これらの厳密な保護ルールに違反する。
別の既知の手法は、ボリュームのより古いバージョンを、異なるスクラッチVOLSERに復元する。しかし、これらの既知の復元方法は、ボリュームが「復元された」と見なされる前に、ボリュームがスクラッチ・ボリュームに物理的にコピーまたは移動されることを必要とする。そのような物理的コピーまたはデータ移動は、通常、ボリュームがストレージから読み取られ、読み取られたデータが変更され、その後、ストレージ・デバイスに再び書き込まれることを必要とする。例えば、復元されているボリュームから読み取られたデータは、通常、復元先のVOLSERに一致するようにメタデータを更新することによって、再ラベル付けされる。したがって、VOLSERを参照するファイルを表すか、またはファイル内に含まれる任意のメタデータが、古いVOLSERの代わりに新しいVOLSERを指定するように更新される。しかし、復元されているボリュームのデータの変更は、データの変更または置き換えを禁止する、ボリュームに対する法的制限に違反することがある。また、WROM(ライト・ワンス・リード・メニー:Write Once, Read Many)などの、読み取り専用としてマーク付けされたボリュームのデータは、読み取り専用制限に違反せずに変更されることも置き換えられることも不可能である。
ストレージ内のデータのボリュームを復元するためのコンピュータ・プログラム製品、システム、および方法が提供される。ストレージに格納されたデータの第1のボリュームの仮想復元が、第2のボリュームを使用して実行される。一実施形態では、第2のボリュームに関連付けられたメタデータは、第2のボリュームを、第1のボリュームの仮想復元として第1のボリュームにマッピングするように構成される。別の態様では、第1のボリュームに格納されたデータに対するホストによる要求に応答して、第2のボリュームを使用して第1のボリュームのデータの物理的復元が実行される。一実施形態では、物理的復元は、仮想復元によって第2のボリュームがマッピングされた第1のボリュームから、第2のボリュームにデータを転送することを含む。加えて、転送されたデータは、第1のボリューム・データの代わりに第2のボリューム・データとして再ラベル付けされる。
上記の実施形態では、第1のボリュームのデータにアクセスすることは、データに対するアクセスがホストによって要求されるまで延期される。その結果、仮想復元における迅速な低コストの復元が容易にされる。さらに、第1のボリュームの仮想復元および物理的復元の間に、第1のボリュームの復元に関連する第1のボリューム上のデータの変更が回避され得る。したがって、第1のボリュームのデータの変更に関するどのような制限にもかかわらず、復元が実現され得る。
別の実施形態では、データを第1のボリュームから第2のボリュームに転送することは、第2のボリュームをストレージ・ドライブにマウントするためのホストによる要求を受信することと、この要求に応答して、第2のボリュームをストレージ・ドライブにマウントすることと、第1のボリュームをストレージ・ドライブにマウントすることと、第2のボリュームのメタデータによって第2のボリュームにマッピングされた第1のボリュームのデータをコピーすることとを含む。
上記の実施形態では、第1のボリュームのデータにアクセスするために第1のボリュームをマウントすることは、第2のボリュームのマウントがホストによって要求されるまで延期される。その結果、仮想復元は、第1のボリュームが要求された物理的復元のためにマウントされるまで、第1のボリュームの迅速な低コストの復元を容易にする。さらに、物理的復元の間に、データが第1のボリューム上ではなく第2のボリューム上で再ラベル付けされるため、第1のボリュームの仮想復元および物理的復元の間に、第1のボリュームの復元に関連する第1のボリューム上のデータの変更が回避され得る。したがって、第1のボリュームのデータの変更に関するどのような制限にもかかわらず、復元が実現され得る。
さらなる実施形態では、転送されたデータを第1のボリューム・データの代わりに第2のボリューム・データとして再ラベル付けすることは、第1のボリュームからコピーされたデータを第1のボリュームの代わりに第2のボリュームのデータであるとして識別するために、データが第2のボリュームに格納されるときに、第1のボリュームから読み取られたヘッダー・データを変更することを含み、第1のボリュームから読み取られたヘッダー・データを変更することが、このデータに対するアクセスがホストによって要求されるまで延期されるようにする。
上記の実施形態では、データを再ラベル付けすることは、第2のボリュームのマウントがホストによって要求されるまで延期される。その結果、仮想復元は、データが、要求された物理的復元のために再ラベル付けされるまで、第1のボリュームの迅速な低コストの復元を容易にする。加えて、第1のボリュームの仮想復元および物理的復元の間に、第1のボリュームの復元に関連する第1のボリューム上のヘッダー・データの変更が回避され得る。代わりに、物理的復元の間に、第2のボリュームに転送されたユーザ・データを再ラベル付けするように、第2のボリューム上のヘッダー・データが変更され、第1のボリューム上のヘッダー・データは変更されない。
さらなる実施形態では、第1のボリュームは、第1のボリューム・シリアル番号を有し、第2のボリュームは、第1のボリューム・シリアル番号と異なる第2のシリアル番号を有する。ユーザ・データが第1のボリュームから読み取られ、読み取られたデータが第2のボリュームにコピーされた際に、第1のボリュームの物理的復元の間に第2のボリュームに格納するためにヘッダー・データを変更することは、ヘッダー・データ内の第1のボリュームの第1のシリアル番号を、ヘッダー・データとして、第2のボリュームの第2のボリューム・シリアル番号に置き換えることを含む。
上記の実施形態では、第2のボリュームのシリアル番号でデータを再ラベル付けすることは、第1のボリュームのデータを要求するために第2のボリュームのマウントがホストによって要求されるまで延期される。その結果、仮想復元は、データが、要求された物理的復元のために異なるシリアル番号で再ラベル付けされるまで、第1のボリュームの迅速な低コストの復元を容易にする。加えて、第1のボリュームの仮想復元および物理的復元の間に、第1のボリュームの復元に関連する第1のボリューム上のヘッダー・データ内のシリアル番号の変更が回避され得る。代わりに、物理的復元の間に、第2のボリュームに転送されたユーザ・データを再ラベ付けするように、第2のボリューム上のシリアル番号ヘッダー・データが変更され、第1のボリューム上のシリアル番号ヘッダー・データは変更されない。
別の実施形態では、第1のボリュームの仮想復元および物理的復元の両方の間に、第1のボリュームの復元による第1のボリュームの変更を防ぐために、第1のボリュームをマウントする前に、第1のボリュームが読み取り専用ボリュームとして分類される。
上記の実施形態では、第2のボリュームのデータに対するどのような変更もなく、仮想復元および物理的復元の両方が実行され得るため、第2のボリュームに対する法的制限またはポリシー制限の順守を保証するために、第2のボリュームが読み取り専用として分類されてよい。したがって、第1のボリュームのデータの変更に関するどのような制限にもかかわらず、復元が実現され得る。
さらに別の実施形態では、第1のボリュームの仮想復元の開始前に、第1のボリュームが保持カテゴリに分類され、保持カテゴリでは、削除を指定された後のある期間の間、ボリュームが保持される。第1のボリュームの仮想復元は、第1のボリュームをホールド・カテゴリに再分類することをさらに含み、ホールド・カテゴリでは、ボリュームの変更が防がれる。第1のボリュームの物理的復元中の、第1のボリュームから第2のボリュームへのデータの転送の完了に応答して、第1のボリュームがホールド・カテゴリから保持カテゴリへ再分類される。
上記の実施形態では、第1のボリュームの復元による第1のボリュームの変更は、第1のボリュームの仮想復元および物理的復元の両方の間では回避され得る。したがって、第1のボリュームの変更が防がれることを保証するために、第1のボリュームがホールド・カテゴリに再分類され得る。したがって、第1のボリュームのデータの変更に関するどのような制限にもかかわらず、復元が実現され得る。
さらに別の実施形態では、少なくとも1つのポリシーが第2のボリュームに割り当てられ、このポリシーは、ボリュームを維持する期間およびボリュームのバージョンの許可された数のうちの少なくとも1つに関するパラメータを定義する。この実施形態では、仮想復元が容易にされ得る。
別の実施形態では、第3のボリュームがストレージにインポートされ、このインポートは、ストレージのボリューム・シリアル付番規則(volume serial numbering convention)に従うボリューム・シリアル番号を有する第4のボリュームを使用して第3のボリュームの仮想復元を実行することを含む。第3のボリュームの仮想復元は、第4のボリュームを第3のボリュームの仮想復元として第3のボリュームにマッピングするように、第4のボリュームに関連付けられたメタデータを構成することを含む。
上記の実施形態では、インポート中に第3のボリュームのデータにアクセスすることは、データに対するアクセスがホストによって要求されるまで延期される。その結果、迅速な低コストのインポートが容易にされる。さらに、第3のボリュームのインポートに関連して、第3のボリューム上のデータの変更が回避され得る。したがって、第3のボリュームのデータの変更に関するどのような制限にもかかわらず、インポートが実現され得る。
さらに別の実施形態では、第2のボリュームが削除され、第3のボリュームを使用して第1のボリュームの第2の仮想復元が実行される。第2の仮想復元は、第3のボリュームを、第1のボリュームの第2の仮想復元として第1のボリュームにマッピングするように、第3のボリュームに関連付けられたメタデータを構成することを含む。
上記の実施形態では、第1のボリュームは、第1のボリュームの第1および第2の仮想復元にわたって変更不可能なままである。その結果、第1のボリュームは、各復元において変更不可能なまま、必要に応じて再帰的に何度も繰り返して復元されてよい。
別の実施形態では、第1のボリュームは、一次ストレージを含んでいるストレージ・サーバに結合された二次ストレージに格納される。第1のボリュームは、第1のボリュームの仮想復元全体を通じて、二次ストレージにおいてアンマウントされたままである。
上記の実施形態では、第1のボリュームのデータにアクセスするために第1のボリュームをマウントすることが、第2のボリュームのマウントがホストによって要求されるまで延期されるため、仮想復元中に、第1のボリュームが二次ストレージにおいてアクセスされないままであり、仮想復元に関連して二次ストレージ内の第1のボリュームからデータを転送する費用を回避する。
本説明に従うデータ・ストレージ・ボリューム回復管理は、コンピュータ技術に対する大幅な改善を実現する。本説明に従うデータ・ストレージ回復管理の一態様では、データ・ストレージ・ボリュームの回復は、ターゲット・スクラッチ・ボリュームを回復ボリュームにマッピングするように、ボリュームに関連付けられたメタデータを構成する仮想回復または復元を含む。このようにして、データを回復ボリュームからターゲット・スクラッチ・ボリュームにコピーすることも、他の転送を実行することもなく、仮想回復が完了され得る。メタデータを構成することは、一部の例では、1秒の数分の1で達成され得るが、数ギガバイトのデータをコピーすることは、多くの場合、約1時間以上の時間がかかる可能性がある。その結果、仮想回復は、さまざまな既知の回復方法と比較して、大幅に少ない計算リソースまたは人的資源を使用して、著しく速く完了され得る。さらに、仮想回復は、どのような方法でも回復ボリューム自体を変更せずに、したがって、回復ボリュームを全くマウントせずに完了され得る。その結果、回復ボリュームは、変更不可能なままとすることができ、回復ボリュームが変更されないままであるというさまざまな保持ポリシーまたは法的必要条件を満たす。さらに、データが回復以外の目的に実際に必要とされない限り、仮想回復は、多くの場合、データをコピーすることまたは移動することに関連する著しいコストを回避することを可能にする。
本明細書では、回復ボリュームのデータへのアクセスが、直ちに、または長期間にわたってさえ、必要とされないことが多いということが理解される。その結果、本明細書において説明されているように、仮想回復は、ボリューム回復に関連する即時の必要性、または長期間にわたる必要性さえ満たすことができることが多く、回復ボリュームのデータへの実際のアクセスに対する必要性は、生じないか、またはまだ生じていない。しかし、ボリュームの仮想回復が完了された後のある時点において、回復ボリュームのデータへのアクセスに対する必要性が明らかになるはずであるそれらの事例では、本説明に従うデータ回復管理は、第2の回復プロセス、すなわち、物理的復元または回復プロセスも提供し、このプロセスは、仮想回復プロセスをすでに完了している回復ボリュームのデータへの準備ができているアクセスを提供する。
一実施形態では、物理的回復プロセスは、回復ボリュームからターゲット・ボリュームにデータをコピーすることを含み、ターゲット・ボリュームは、この段階ではスクラッチ・ボリュームの代わりにプライベート・ボリュームと呼ばれることがある。したがって、実質的に「要求に応じた」データ転送を提供し、仮想回復プロセス中のデータ転送を未然に防ぐために、回復ボリュームからターゲット・プライベート・ボリュームにデータをコピーするための回復ボリュームのすべてのマウントは、データに対する必要性が実際に生じるまで延期される。前述したように、仮想回復のためのデータ転送を取り除くことは、仮想回復プロセスの迅速な完了を容易にする。したがって、時間のかかる、リソースを消費するデータ転送は、データに対する必要性が実際に生じて、物理的回復が実施されるまで延期される。
本説明に従う物理的回復プロセスの別の態様では、物理的回復プロセスに関連して回復ボリュームからターゲット・プライベート・ボリュームにデータがコピーされるときに、コピーされたデータが、コピーされたデータが読み取られた回復ボリュームのVOLSERの代わりにターゲット・プライベート・ボリュームのVOLSERに現在属していることを示すために、ターゲット・プライベート・ボリュームにおいて、コピーされたデータが再ラベル付けされる。したがって、データのこの再ラベル付けも、仮想回復プロセスの後まで延期され、データにアクセスする必要性が生じた、物理的回復が実施されるときまで延期される。このようにして、コピーされたデータの再ラベル付けは、物理的回復プロセスの実質的に「要求に応じた」データの再ラベル付けであり、仮想回復プロセス中のデータの再ラベル付けに対するすべての必要性を未然に防ぐ。ここでも、物理的回復は、どのような方法でも回復ボリュームを変更せずに完了され得る。その結果、回復ボリュームは、変更不可能なままとすることができ、回復ボリュームが変更されないままであるというさまざまな保持ポリシーまたは法的必要条件を満たす。
本説明に従うデータ・ストレージ回復管理の別の態様では、異なるか、または競合するボリューム・シリアル付番方式または規則を有することがある別のソースから素早く効率的にボリュームをインポートするために、仮想回復プロセスが使用されてよい。一実施形態では、インポートされるボリュームは、例えば、ターゲット・データ・ストレージ・システムの既存のボリューム・シリアル番号規則に従う新しいVOLSERにマッピングまたは再マッピングされてよい。したがって、インポートされるボリュームは、例えばホストまたはVTSの既存のアクティブなVOLSERに一致しないか、または他の方法で既存のVOLSERと競合する、ターゲット・データ・ストレージ・システムの新しいVOLSERにマッピングまたは再マッピングされてよい。加えて、インポートされるボリュームは、既存のボリューム・シリアル番号範囲規則(volume serial number range conventions)に従い、それによって、既存のボリューム・シリアル番号範囲規則を維持する、VOLSERにマッピングまたは再マッピングされてよい。
例えばターゲットVTSにインポートされるボリュームが、特定のアプリケーションに応じて、数百個、数千個、数百万個以上に達することがあるということが理解される。実施形態例の仮想回復プロセスは、仮想回復プロセスを使用してインポートされているどのボリュームもマウントせず、別途ボリュームにアクセスすることもなく、多数のボリュームが迅速にターゲットVTSにインポートされることを可能にする。その結果、各インポートされたボリュームは変更不可能なままとすることができ、かつその後の物理的回復の任意の未来のマウント要求の一部としてオンデマンドで再ラベル付けされるのみであることが分かっているので、インポートされているボリュームは、そのボリュームの内容の有効性を維持するように堅牢にされ得る。例えば、法的な理由のため、インポート時のデータの状態が、ワークロード取得の一貫性のある位置を維持するために、変更不可能なままであることを必要とすることがある。実施形態例の仮想回復プロセスは、ボリューム・シリアル番号(VOLSER)の競合がなく、各インスタンスにアクセスする必要がなく、ソース・インスタンスを変更する必要がない、ボリュームのインポートを可能にする。インポートされたボリュームのデータにアクセスする必要性が生じた場合、前述したように、インポートされたボリュームの要求に応じた物理的回復が実行されてよい。
図1Aは、第1のネットワーク102を経由して、ボリュームの回収またはオブジェクトへの追加の形態でオブジェクトまたはボリュームのデータをストレージ・サーバ104に提供する、1つまたは複数のホスト・システムもしくはストレージ・コントローラまたはその両方100を含んでいるデータ・ストレージ環境の実施形態を示している。「オブジェクト」は、この用語が本明細書において使用されるとき、ボリューム、データ・セット、データベース、論理ドライブ、ファイル・システム、およびデータの任意の他のグループ化を含んでよい。ストレージ・サーバ104は、第2のネットワーク108を経由したクラウド・ストレージ106(ストレージ・サーバ104に対してオンサイトまたはオフサイトにあってよい)、物理テープ・カートリッジに格納するためのテープ・ライブラリ110、およびストレージ・サーバ104の一次ストレージのうちの1つまたは複数にバックアップするために、バックアップ・ボリュームまたはテープ・ボリュームなどのオブジェクトを生成してよい。さらに、バージョン・バックアップ・オブジェクト(version backup objects)が、永続的または一時的に一次ストレージ112に格納されることに加えて、クラウドまたはテープ・ストレージに転送されてよい。ストレージ・サーバ104は、VOLSERなどの一意のシリアル番号を有し、標準的なテープ・マークおよびデータ・ブロックを含む、さまざまなバージョンのバックアップ・オブジェクトのバージョン・オブジェクト300を生成してよい。
ストレージ・サーバ104は、プロセッサ114と、プロセッサ114によって実行されるプログラムを含んでいるメモリ116とを含み、これらのプログラムは、テープ形式などの形式でオブジェクトのバージョン・オブジェクト300を作成し、テープ・ライブラリ110、クラウド・ストレージ106、および一次ストレージ112のうちの1つまたは複数に格納する。メモリ116は、ストレージ・サーバ104の動作を管理するためのオペレーティング・システム118と、テープ・ボリュームなどのオブジェクト・バージョン300を作成して管理し、テープ・ライブラリ110、リモート・ストレージ106、および一次ストレージ112のうちの1つまたは複数に格納するための、バージョン・マネージャ120とを含む。回復マネージャ123は、下記にさらに詳細に説明されるように、仮想回復プロセスおよび要求に応じた物理的回復プロセスにおいて、ボリュームの回復を管理する。
図1Bを参照すると、ホスト100は、プロセッサ114h(図1B)と、オブジェクトまたはボリュームのデータをストレージ・サーバ104に提供するためにプロセッサ114hによって実行されるプログラムを含んでいるメモリ116hとを含む。メモリ116hは、ホスト100の動作を管理するためのオペレーティング・システム118hと、オブジェクトまたはボリュームのデータをストレージ・サーバ104に提供するためのバージョン・マネージャ120hとを含む。加えて、バージョン・マネージャ120hは、テープ・ライブラリ110、リモート・ストレージ106、および一次ストレージ112のうちの1つまたは複数に格納される、テープ・ボリュームなどの、オブジェクト・バージョン300の管理のためのコマンドをストレージ・サーバ104に発行する。バージョン・マネージャ120hは、カタログ121hの形態でストレージ・サーバ104に格納されるか、またはストレージ・サーバ104によって格納される、オブジェクトのさまざまな特性を識別するメタデータを維持する。回復マネージャ123hは、テープ・ライブラリ110、リモート・ストレージ106、および一次ストレージ112のうちの1つまたは複数に格納される、テープ・ボリュームなどの、オブジェクト・バージョン300の回復のためのコマンドをストレージ・サーバ104に発行する。
再び図1Aを参照すると、ストレージ・サーバ104(図1A)は、ボリューム・シリアル番号(VOLSER)などのシリアル番号をスクラッチ・プール122から取得し、オブジェクト・バージョン300に使用して、オブジェクト・バージョン300を作成し、テープ・ライブラリ110、リモート・ストレージ106、および一次ストレージ112のうちの1つまたは複数に格納してよい。オブジェクト/ボリュームのすべてのバージョンは、同じシリアル番号またはVOLSERを使用する。テープ・ボリューム・シリアル番号またはVOLSERは、テープ・ボリュームを一意に識別するために使用される。テープ・ストレージの場合、テープ・ラベル内でVOLSERが指定され、VOLSERは、テープに含まれる情報の最初のセットである。テープ・ラベルに加えて、テープ・ボリュームの内部に格納された他のメタデータも、ボリュームのVOLSERを識別する。
バージョン・マネージャ120は、バージョン・オブジェクト300に関するメタデータを含んでいるバージョン・メタデータ400をさらに生成してよく、バージョン・メタデータ400は、バージョン・オブジェクト300のデータをより高いバージョン番号のバージョン・オブジェクト300から復元するために使用されてよい。加えて、バージョン・マネージャ120は、テープ・ライブラリ110、リモート・ストレージ106、および一次ストレージ112のうちの1つまたは複数に格納された、テープ・ボリュームなどの、オブジェクト・バージョン300の管理のためのホスト100からのコマンドを処理する。ストレージ・サーバ104のバージョン・マネージャ120は、カタログ121bの形態でストレージ・サーバ104に格納されたか、またはストレージ・サーバ104によって格納された、オブジェクトのさまざまな特性を識別するメタデータも維持する。
スクラッチ・プール122から取得されたシリアル番号またはVOLSERは、ポリシー・プール200に割り当てられてよく、異なるポリシー・プール200は、異なるデータ保持ポリシーを維持する。106、112、または110などのストレージに書き込むためのオブジェクト・バージョン300iのインスタンスの作成時に、バージョン・マネージャ120は、オブジェクト・バージョン300iをストレージ112、110、106にエクスポートするために、オブジェクト・バージョン300iの指示をエクスポート・キュー124に追加してよい。
一実施形態では、ストレージ・サーバ104は、例として、インターナショナル・ビジネス・マシンズ・コーポレーション(IBM)TS700仮想テープ・サーバなどの、オブジェクトのバージョンの作成を管理し、ストレージ110、112にオフロードするための仮想テープ・サーバを備えてよい。仮想サーバは、接続されたホスト/ストレージ・コントローラ100に対して、テープ・ドライブを含むテープ・ライブラリをエミュレートする。ストレージ・サーバ104は、低コストの物理テープ・ライブラリ110、クラウド・ストレージ106、および一次ストレージ112のうちの1つまたは複数に格納するための、オブジェクトのアーカイブを提供してよい。
118、120、123を含む、メモリ116内のプログラム・コンポーネントが、メモリ116に読み込まれ、プロセッサ114によって実行されるプログラム・コードとして図1Aに示されている。同様に、118h、120h、123hを含む、メモリ116h内のプログラム・コンポーネントが、メモリ116hに読み込まれ、プロセッサ114hによって実行されるプログラム・コードとして図1Bに示されている。代替として、コンポーネントの機能の一部またはすべてが、特定用途向け集積回路(ASIC:Application Specific Integrated Circuits)、フィールド・プログラマブル・ゲート・アレイ(FPGA:Field Programmable Gate Array)などのハードウェア・デバイスにおいて実装されるか、または別々の専用プロセッサによって実行されてよい。
メモリ116、116hは、ダイナミック・ランダム・アクセス・メモリ(DRAM:Dynamic Random Access Memory)、相変化メモリ(PCM:phase change memory)、磁気抵抗ランダム・アクセス・メモリ(MRAM:Magnetoresistive random-access memory)、スピン・トランスファー・トルク(STT:Spin Transfer Torque )-MRAM、SRAMストレージ・デバイス、DRAM、強誘電体ランダム・アクセス・メモリ(FeTRAM:ferroelectric random-access memory)、ナノワイヤベースの不揮発性メモリ、および不揮発性ダイレクト・インライン・メモリ・モジュール(DIMM:Direct In-Line Memory Modules)、NANDストレージ(例えば、フラッシュ・メモリ)、半導体ドライブ(SSD:Solid State Drive)ストレージ、不揮発性RAMなどの、揮発性または不揮発性の1つまたは複数のメモリ・デバイスを備えてよい。
バージョン・マネージャ120は、ネットワークを経由して、オブジェクト・バージョン300を、テープ・ライブラリ110、リモート・ストレージ106、および一次ストレージ112のうちの1つまたは複数にエクスポートしてよい。例えば、図1Aは、第2のネットワーク108を経由してリモート・クラウド・ストレージ106に結合されたストレージ・サーバ104を示している。代替の実施形態では、クラウド・ストレージ106は、例えば、ストレージ・サーバ104と同じ建物にあるなど、ローカルであってよい。クラウド・ストレージ106は、クラウド・ストレージ・サービス・プロバイダによって提供されたクラウド・ストレージ・システムを備えてよい。クラウド・ストレージ106のサービス・プロバイダの例としては、DropBox(登録商標)、Google(登録商標)Drive、Amazon Cloud Drive(登録商標)、Amazon(登録商標)S3、IBM(登録商標)Cloud Object Storage System(商標)などが挙げられる(DropboxはDropbox社の登録商標であり、GoogleはGoogle社の登録商標であり、AmazonおよびAmazon Cloud DriveはAmazon Technologies社の商標であり、IBMおよびCloud Object Storage Systemは世界中においてIBMの商標である)。
バージョン・マネージャ120は、一次ストレージ112を仮想テープ・キャッシュとして使用して、作成されるオブジェクト・バージョン300を、それらがストレージ106、110、112に移行するためにエクスポート・キュー124に追加される前に、格納する。さらなる実施形態では、一次ストレージ112は、使用可能なストレージ106、110、112がない場合に、オブジェクト・バージョン300を格納するために使用されてよい。
一次ストレージ112は、磁気ハード・ディスク・ドライブ、半導体電子機器(EEPROM(Electrically Erasable Programmable Read-Only Memory:電気的消去可能プログラマブル読み取り専用メモリ)、フラッシュ・メモリ、フラッシュ・ディスク、ランダム・アクセス・メモリ(RAM:Random Access Memory)ドライブ、ストレージクラス・メモリ(SCM:storage-class memory)など)から成る半導体ストレージ・デバイス(SSD:solid state storage device)、相変化メモリ(PCM)、抵抗ランダム・アクセス・メモリ(RRAM:resistive random access memory)、スピン・トランスファー・トルク・メモリ(STM-RAM:spin transfer torque memory)、導電性ブリッジRAM(CBRAM:conductive bridging RAM)、磁気ハード・ディスク・ドライブ、光ディスク、テープなどの、さまざまな種類またはクラスのストレージ・デバイスを備えてよい。一次ストレージ112内のボリュームは、単純ディスク束(JBOD:Just a Bunch of Disks)、直接アクセス・ストレージ・デバイス(DASD:Direct Access Storage Device)、新磁気ディスク制御機構(RAID:Redundant Array of Independent Disks)アレイ、仮想化デバイスなどの、デバイスのアレイからさらに構成されてよい。さらに、ストレージ112は、異なるベンダーからの異種ストレージ・デバイス、および第2の種類のストレージ・デバイス(例えば、SSD)より遅いデータ転送速度を有する第1の種類のストレージ・デバイス(例えば、ハード・ディスク・ドライブ)などの、異なる種類のストレージ・デバイスを備えてよい。クラウド・ストレージ106およびテープ・ライブラリ110は、一次ストレージ112と比べて、二次ストレージと見なされてよい。
ボリューム・データをストレージ・サーバ104に伝達するためにホスト/ストレージ・コントローラ100によって使用される第1のネットワーク102は、1つまたは複数の相互接続されたローカル・エリア・ネットワーク(LAN:Local Area Networks)、ストレージ・エリア・ネットワーク(SAN:Storage Area Networks)、広域ネットワーク(WAN:Wide Area Network)、ピアツーピア・ネットワーク、ワイヤレス・ネットワークなどの、ストレージ・ネットワークを含んでよい。第2のネットワーク108は、クラウド・ストレージ106などのリモート・ストレージがアクセスできる、インターネット、広域ネットワーク(WAN)などのネットワークを含んでよい。代替の実施形態では、第1のネットワーク102および第2のネットワーク108は同じネットワークであってよく、一次ストレージ112およびテープ・ライブラリ110のうちの1つまたは複数は、ネットワークを経由してアクセスできるリモート・ストレージであってもよい。
図2は、インスタンス200iには、書き込むオブジェクトまたはボリュームのオブジェクト・シリアル番号(例えば、VOLSER)が割り当てられる、ポリシー・プール200のインスタンス200iの実施形態を示しており、プールを識別するプール識別子202、プールに割り当てられた割り当て済みオブジェクト・シリアル番号(VOLSER)204、オブジェクト・シリアル番号204に関してプールに含まれているオブジェクト・バージョン206、およびオブジェクト・バージョンをポリシー・プール200内に保持する期間を決定するための1つまたは複数の保持ポリシー208を含んでいる。
保持ポリシーの例としては、以下が挙げられる。
-バージョンのバージョン・メタデータ400iおよびバージョン・オブジェクト300iのデータを含む、保持する以前のバージョンの最大数。
-オブジェクトのバージョン・メタデータ400iおよびバージョン・オブジェクト300iのデータを含む、以前のバージョン情報を保持する日数の最大数。
-バージョン・オブジェクト300iのデータが保持される、以前のバージョンの最大数。
-バージョン・オブジェクト300iのバージョン番号がkの倍数に1を足した値である場合(例えば、オブジェクトのバージョン番号=1+x*kである(xはゼロより大きい整数である)場合)に、バージョン・オブジェクト300iのデータが保持されるように、オブジェクトのk個のバージョンごとに1つのバージョンを保持する。
図3は、ホスト/ストレージ・コントローラ100から送信されたオブジェクト・データまたはボリューム・データから作成されるバージョン・オブジェクトのインスタンス300iを示しており、バージョンが作成されるオブジェクト/ボリュームに割り当てられたオブジェクト・シリアル番号(例えば、VOLSER)、オブジェクト・バージョンが作成されたときの作成タイムスタンプ304、オブジェクトのバージョン番号306、最近追加されたデータを含む、バージョン・オブジェクト300iに含まれているホスト/ストレージ・コントローラ100からのバージョンV1~Vnのオブジェクト・データのバージョンごとのオブジェクト・バージョン・データ3081~308nの1つまたは複数のインスタンス、およびストレージ・サーバ104に送信されたオブジェクト・バージョンを作成したホスト/ストレージ・コントローラ100によってオブジェクト・バージョンの末尾に追加されるホスト・トレーリング・メタデータ(host trailing metadata)312を含んでいる。ホスト・トレーリング・メタデータ312は、オブジェクトの構造および形式に関する情報、ならびにデータをオブジェクトに生成したホスト/ストレージ・コントローラ100に関する情報を含んでよい。
図4は、バージョン・オブジェクト300iに関するメタデータを含んでいるバージョン・メタデータ400のインスタンス400iを示しており、インスタンス400iは、バージョン・オブジェクト300iとは別に維持されてよく、空間を節約するために前のバージョンのバージョン・オブジェクト300iが削除された場合に保持されてよい。バージョン・メタデータのインスタンス400iは、割り当て済みオブジェクト・シリアル番号(例えば、VOLSER)402、割り当てられたオブジェクトおよびシリアル番号402が含まれているポリシー・プール404、バージョン・オブジェクトのバージョン番号406、バージョン・オブジェクト300iが作成されたときの作成タイムスタンプ408、バージョン番号406のデータを含んでいる、より高いバージョンの1つまたは複数のバージョン・オブジェクト300jを示すバージョン位置410、バージョン・メタデータ400iによって表されたオブジェクト300iのオブジェクト・サイズ412、バージョン・オブジェクトのデータがその後のバージョン・オブジェクト300jに含まれている場合にバージョン・オブジェクトが終了する位置を示す終了オフセット414(この位置で、バージョン番号406の追加されたデータが終了する)、およびオブジェクト・データを提供するホスト/ストレージ・コントローラ100によって追加された情報を含んでおり、バージョン・オブジェクト300iの末尾に位置しているホスト・トレーリング・メタデータ416を含んでよい。新しいデータおよび変更が追加されるときに、バージョン番号406のホスト・トレーリング・メタデータ312が上書きされ得るため、ホスト・トレーリング・メタデータ312は、416としてバージョン・メタデータ400iに保存される。これによって、バージョン・オブジェクト300iが元のホスト・トレーリング・メタデータ312を使用して復元されることを可能にする。
バージョン・メタデータ400iは、あるバージョンのデータの開始および終了を識別するために必要とされる任意の他の情報を維持する。
バージョン・マネージャ120は、保持ポリシーが、バージョン・メタデータ400の期限が切れて、バージョン・メタデータ400を削除する、バージョン保持期間の終了を決定するまで、バージョン・メタデータ400を維持することに加えて、オブジェクトの実際のデータを含んでいるバージョン・オブジェクト300も維持する。バージョン・メタデータ400は、現在のバージョン番号またはより高いバージョン番号のオブジェクト300からのバージョン・メタデータ400において識別されるバージョンのいずれかを識別し、復元のためにアクセスするために使用されてよい。したがって、ユーザによって、削除のためにボリュームの特定のバージョンがマーク付けされた場合、それにもかかわらず、そのボリューム・バージョンのデータは、本明細書において説明されているように、削除されたボリュームのそのバージョンに割り当てられた保持ポリシーによって定義された保持期間の期限が切れていない限り、物理的回復プロセスによって、プライベート・ボリュームへの復元のためにアクセスされ得る。したがって、そのボリューム・バージョンを識別するバージョン・メタデータ400、およびオブジェクトの実際のデータを含んでいるバージョン・オブジェクト300がまだ存在する場合、削除されたボリュームのデータが、物理的回復プロセスによって、新しいボリュームへの復元のためにアクセスされ得る。しかし、適用可能な保持ポリシーに従って、そのボリューム・バージョンを識別するバージョン・メタデータ400、およびオブジェクトの実際のデータを含んでいるバージョン・オブジェクト300が破棄された後に、削除されたボリュームは回復され得ない。
本明細書では、ボリューム回復管理は、ストレージ空間の使用における効率の改善を実現する関連するメタデータ400と共にオブジェクト300として格納されたボリュームに関連して説明されたが、本説明に従うボリューム回復管理が、他のデータおよびメタデータの格納技術を利用するデータ・ストレージ・システムにおいて利用され得るということが理解される。例えば、本説明に従うボリューム回復管理は、ボリュームの各バージョンが、ポリシー保持期間の期限切れによって破棄されるまで、別個のユニットとして全体的に格納されて保持されるデータ・ストレージ・システムにおいて、利用されてよい。
上記に示されたように、本説明に従うボリューム回復管理は、回復ボリュームをマウントすることを必要とせず、回復ボリュームのどのような変更も必要としないボリュームの復元を提供する、仮想回復プロセスを提供する。加えて、物理的回復プロセスは、回復ボリュームのデータが実際にアクセスされるまで、ターゲット・プライベート・ボリュームにコピーされたデータの「要求に応じた」再ラベル付けを提供する。
図5Aは、この例ではターゲット・スクラッチ・ボリュームVolPに仮想的に回復される回復ボリュームVolRに関する仮想回復プロセスの一実施形態を示している。図5Aの仮想回復プロセスは、本明細書では仮想復元プロセスとも呼ばれる。図6Aは、図5Aに示された仮想回復プロセスの動作のさらに詳細な実施形態を示している。図5Aおよび図6Aに関連してさらに詳細に説明されるように、図5Aの仮想回復プロセスは、ターゲット・スクラッチ・ボリュームVolPを回復ボリュームVolRにマッピングするマッピング・プロセス504(図5A)を含んでいる。本説明に従うボリューム回復の1つの態様では、図5Aに示された仮想回復の完了時に、ホスト100が回復ボリュームVolRのデータにアクセスする必要がない限り、ボリュームVolRの回復が完了したと見なされてよい。
一方、図5Bは、ホスト100が、回復以外の目的で回復ボリュームVolRのデータに実際にアクセスする必要がある場合の、本説明に従う物理的回復プロセスの一例を示している。図5Bの物理的回復プロセスは、本明細書では物理的復元プロセスとも呼ばれる。下記にさらに詳細に説明されるように、回復ボリュームVolRに格納されているユーザ・データに対するホスト100による要求に応答して、図5Aの仮想回復プロセスによって回復ボリュームVolRにマッピングされているターゲット・スクラッチ・ボリュームVolPを使用して、回復ボリュームVolRの物理的復元(図5B)が実行される。物理的復元は、回復ボリュームVolRから、図5Aの仮想復元によってターゲット・スクラッチ・ボリュームVolPがマッピングされたターゲット・プライベート・ボリュームVolPへの、要求に応じたデータのコピー(矢印514によって表されている)を含み、VolRデータの代わりにVolPデータとしてコピーされたデータを再ラベル付けするための、要求に応じたデータ・ヘッダーの変更(矢印518によって表されている)も含む。このようにして、回復ボリュームVolRのデータにアクセスしてコピーすることは、要求に応じるときまで、すなわち、データへのアクセスがホストによって要求されるまで延期される。さらに、データの再ラベル付けも、要求に応じたプロセスであり、ヘッダーの変更も、データへのアクセスがホストによって要求されるまで延期される。テープ・ラベルに加えて、テープ・ボリュームの内部に格納された他のメタデータが、ボリュームのVOLSERを識別する。したがって、VOLSERの変更に起因してテープ・ボリュームのデータを再ラベル付けするために、このVOLSERを参照するすべてのファイル名およびファイル内のメタデータも、再ラベル付けプロセスの一部として更新される。その結果、ソース・ボリューム・シリアル番号(VOLSER)を直接参照するボリュームの内部の、ターゲット・プライベート・ボリュームVolPに格納するために回復ボリュームVolRから読み取られたすべての既知のメタデータが、物理的復元の一部として、ターゲット・ボリュームに格納するために更新される。
一実施形態では、図5Aの仮想回復プロセスのマッピング・プロセス504は、ホスト100がターゲット・プライベート・ボリュームVolPを回復ボリュームVolRであるかのように扱うように、ホストによって維持されかつターゲット・プライベート・ボリュームVolPに関連付けられたメタデータを構成することによって、実現される。加えて、ストレージ・システムのVTSは、後に図5Aの仮想回復プロセスが完了するとホスト100が回復ボリュームVolR内のデータに実際にアクセスすることが必要になる場合に備えて、回復ボリュームVolRを指し示すように、VTSによって維持されかつターゲット・スクラッチ・ボリュームVolPに関連付けられたメタデータを構成する。
本説明に従うボリューム回復の一態様に従って、ホスト100が回復ボリュームVolR内のデータにアクセスする必要がない限り、ホスト100が、単に回復の目的ではなく適用の目的で、回復ボリュームVolRのデータにアクセスすることを実際に必要とするまで、図5Aに示された仮想回復プロセスが、回復ボリュームVolRからスクラッチ・ボリュームVolPにデータを実際に転送する必要性を未然に防ぐということが理解される。したがって、図5Aの仮想回復プロセスの場合、実際のデータ転送が必要とされないため、ターゲット・スクラッチ・ボリュームVolPおよび回復ボリュームVolRは、図5Aではアンマウントされているとして示されている。図5Aの仮想回復プロセスが、回復ボリュームVolRからターゲット・スクラッチ・ボリュームVolPにデータをコピーする代わりに、ターゲット・スクラッチ・ボリュームVolPに関連付けられたメタデータを構成することを対象にするため、図5Aの仮想回復プロセスは、ボリュームVolRからボリュームVolPへの実際のデータ転送と比較して、素早く完了され得る。
一方、ボリュームが「復元された」と見なされる前に、ボリュームが回復され、スクラッチ・ボリュームに物理的にコピーまたは移動されることを必要とする回復方法がすでに知られている。データを移動(コピー)する必要があることには、次のような複数の不利益がある。テープ・ボリュームが非常に大きく(通常は4GB以上のサイズに)なり得るため、データの移動(コピー)は時間がかかる可能性がある。また、そのデータが、極端な状況下を除いて全くアクセスされないことがあるアーカイブ・データである場合、データをコピーして新しいVOLSERに格納することには、時間がかかる。通常、ユーザは、プロセスが確実に完了するように、プロセスを監視することも行うため、単一の大きいボリュームを処理するのに1時間かかる場合、誰かが、そのプロセスを完了まで監視する。データの移動(コピー)は、メモリ、CPU、およびディスクの利用などの、システム・リソースも必要とする。データの移動(コピー)は、VTSまたは物理テープ・ライブラリによって実施される場合にテープ・デバイスの使用も必要とする。これらのテープ・デバイスは、より重要な生産作業の代わりに、この作業を行うことに束縛される。データが、読み取られるときに追加コストが発生する(クラウド・ストレージ・システムなどの)システムのみに存在する場合、そのデータを読み取る必要があることは、費用がかかる可能性がある。
さらに、一部の環境では、アーカイブ・インスタンスは、法的にホールドされると見なされ、変更または置き換えが法的に許可されず、「読み取り専用」として扱われるようなものであることがある。既知の回復方法を妨げることがある環境の他の例としては、WROM(ライト・ワンス・リード・メニー)などの、厳密な保持ポリシーまたは媒体ポリシーを有するボリュームが挙げられる。
一方、本説明に従う仮想回復は、どのような物理的データ移動も伴わずに、ボリュームのより古いバージョンをスクラッチ・ボリュームに復元する能力をユーザに提供する。実際のデータを移動する代わりに、新しいスクラッチ・ボリュームをボリュームの古いバージョンにマッピングするメタデータを変更することのみが必要である。ボリュームのメタデータを変更することは、通常、完了するために1秒未満しか必要とせず、大きいボリュームの実際のデータ・コピーに通常使用されるリソースの量と比較して、無視できる量のリソースしか必要としないことがある。さらに、回復ボリュームが、読み取り動作によって課金するクラウド・システムなどのシステムに格納される場合に、本説明に従う仮想回復は、追加コストを取り除くことができる。データが物理的にコピーされかつボリュームのヘッダー・データが変更される物理的回復は、ホストがデータを実際に必要とするまで延期され、ゆえに、ホストがボリュームをマウントするまで延期され得るため、ホストがデータを実際に読み取ることを常に必要としない場合、回復プロセスにおいて、データを読み込むことに対するクラウドの課金が完全に回避され得る。
図6Aのブロック602~622は、ホスト100の視点から、図5Aの仮想回復プロセスのさらに詳細な例を示している。図6Bのブロック630~650は、ホスト100の視点から、図5Bの物理的回復プロセスのさらに詳細な例を示している。
図6Aの例では、ホスト100の回復マネージャ123hは、コマンド(「コマンド」とラベル付けされた矢印604によって表されている)をVTSストレージ・システムのテープ・ライブラリに発行すること(図6Aのブロック602)によって仮想回復(図5A)を開始し、このコマンドはボリュームの復元を要求する。一実施形態では、このコマンドは、ホスト100が回復するために必要とするボリュームの数、およびどのスクラッチ・カテゴリからターゲット・ボリュームが選ばれ得るかを示す。そのようなコマンドまたは要求は、手動で、または管理インターフェイスなどの適切なインターフェイスを介して自動的に、発行されてよい。一実施形態では、要求は、次のような形式であってよい。
LIBRARY REQUEST, library-name, RECOVER, NUM, N, C
ここで、コマンドの名前が「LIBRARY REQUEST」であり、パラメータ「library-name」が、コマンドが対象にするターゲット・ライブラリを識別し、パラメータ「RECOVER」が、実行される動作を識別し、パラメータ「NUM, N」が、回復されるボリュームの数を識別し、パラメータ「C」が、ターゲット・スクラッチ・ボリュームが選ばれるスクラッチ・カテゴリを識別する。したがって、要求
LIBRARY REQUEST, library-name, RECOVER, NUM, 1, 0002
は、スクラッチ・カテゴリ0002をターゲット・カテゴリとして使用する単一の論理ボリュームの復元を要求する。特定のアプリケーションに応じて、他のコマンドまたは要求の形式の名前、およびパラメータが使用されてよいということが理解される。
LIBRARY REQUEST, library-name, RECOVER, NUM, N, C
ここで、コマンドの名前が「LIBRARY REQUEST」であり、パラメータ「library-name」が、コマンドが対象にするターゲット・ライブラリを識別し、パラメータ「RECOVER」が、実行される動作を識別し、パラメータ「NUM, N」が、回復されるボリュームの数を識別し、パラメータ「C」が、ターゲット・スクラッチ・ボリュームが選ばれるスクラッチ・カテゴリを識別する。したがって、要求
LIBRARY REQUEST, library-name, RECOVER, NUM, 1, 0002
は、スクラッチ・カテゴリ0002をターゲット・カテゴリとして使用する単一の論理ボリュームの復元を要求する。特定のアプリケーションに応じて、他のコマンドまたは要求の形式の名前、およびパラメータが使用されてよいということが理解される。
実施形態例では、図6Aのブロック702~726は、例えばVTS(仮想テープ・サーバ)104などのストレージ・サーバ104のテープ・ライブラリの視点から、図5Aの仮想回復プロセスの1つの例を示しており、図6Bのブロック738~760は、ストレージ・システムのVTSストレージ・サーバ104のテープ・ライブラリの視点から、図5Bの物理的回復プロセスの一例を示している。図6Aの例では、指定されたスクラッチ・カテゴリから取得される指定された数のボリュームに対する仮想回復プロセスの開始を要求するブロック602(図6A)のコマンド604に応答して、VTS104の回復マネージャ123がコマンドを受信し(図6Aのブロック702)、識別されたスクラッチ・カテゴリから特定の1つまたは複数のボリュームを選択し(図6Aのブロック702)、特殊なホールド・カテゴリに入れる。
図7Aは、本明細書ではテープ・ライブラリ・カタログと呼ばれる適切なデータベース内の、ストレージ・デバイスのVTS104のテープ・ライブラリによって維持されるメタデータを、表形式で示している。図7Aの例は、ボリューム・シリアル番号L00000、バージョンV1、ボリューム・シリアル番号L00000、バージョンV2、およびスクラッチ・カテゴリ0002内にあるとして分類されるスクラッチ・ボリュームS99999、という3つのボリュームの3つのエントリを示している。簡単にするために、VTSカタログが、3つのエントリを含んでいるように示されているが、VTSテープ・ライブラリ・カタログが、特定のアプリケーションに応じて数千個以上のエントリを含むことがあるということが理解される。
ホストからのコマンド
LIBRARY REQUEST, library-name, RECOVER, NUM, 1, 0002
に応答して、VTS104の回復マネージャ123は、図5Aに示された仮想回復プロセスのために、例えば、一般的なスクラッチ・カテゴリ0002のスクラッチ・ボリュームS99999(図7A)を選択してよい(図6Aのブロック702)。その場合、VTS104は、一般的なスクラッチ・カテゴリ0002からスクラッチ・ボリュームS99999を選択し、このボリュームを、例えば図7Bに示されているようなカテゴリY000などの、特殊なホールド・カテゴリに一時的に入れる(図6Aのブロック710)。加えて、VTS104の回復マネージャ123は、矢印712によって表されているように、ホストによって発行された要求に応答して、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームが指定されたスクラッチ・カテゴリ0002から取得されたことをホスト100の回復マネージャ123hに知らせる応答を、ホストに発行する。
LIBRARY REQUEST, library-name, RECOVER, NUM, 1, 0002
に応答して、VTS104の回復マネージャ123は、図5Aに示された仮想回復プロセスのために、例えば、一般的なスクラッチ・カテゴリ0002のスクラッチ・ボリュームS99999(図7A)を選択してよい(図6Aのブロック702)。その場合、VTS104は、一般的なスクラッチ・カテゴリ0002からスクラッチ・ボリュームS99999を選択し、このボリュームを、例えば図7Bに示されているようなカテゴリY000などの、特殊なホールド・カテゴリに一時的に入れる(図6Aのブロック710)。加えて、VTS104の回復マネージャ123は、矢印712によって表されているように、ホストによって発行された要求に応答して、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームが指定されたスクラッチ・カテゴリ0002から取得されたことをホスト100の回復マネージャ123hに知らせる応答を、ホストに発行する。
ホスト100の回復マネージャ123hは、ボリューム・シリアル番号S99999を有するものとして要求されたスクラッチ・ボリュームの識別情報を受信した場合(図6Aのブロック606)、ボリューム・シリアル番号S99999を有するターゲット・スクラッチ・ボリュームが他のホストまたは他のホストのプロセスによって別の目的に使用されないことを保証するために、矢印612によって提示されているように、このターゲット・スクラッチ・ボリュームをプライベート・カテゴリに入れられることを要求する別のコマンドを、VTS104に発行する(図6Aのブロック610)。下記に説明されるように、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームは、図5Aに示された仮想回復プロセスのために、ボリュームVolP(図5A)によって表されたターゲット・スクラッチ・ボリュームとして使用される。コマンド612に応答して、VTS104の回復マネージャ123は、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームを、図7Cに示されているカテゴリC000などのプライベート・カテゴリに入れる(図6Aのブロック718)。
ホスト100の回復マネージャ123hは、それ自身のプライベートな使用のために、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームを予約した場合、矢印616によって表されているように、1つまたは複数の保持ポリシーをボリューム・シリアル番号S99999を有するスクラッチ・ボリュームに割り当てるためのコマンドを、VTS104に発行する(図6Aのブロック614)。これらのポリシーは、例えばボリュームが破棄され得る前の、ボリュームが保持される期間を定義する。
例えば、ホスト100は、既存のMVS LIBRARY LMPOLICYコマンドなどの既知のコマンドを使用して、ポリシーを、回復において使用される「n個」の(現在はプライベートである)要求されたボリュームに割り当ててよい(図6Aのブロック614)。この例では、保持ポリシーをスクラッチ・ボリュームS99999に割り当てるために、次のパラメータと共にLIBRARY LMPOLICYコマンドが使用される。
LIBRARY LMPOLICY, S99999, SG=SGRECOVER, MC=MCRECOVER, SC=SCRECOVER, DC=DCRECOVER
VTS104のテープ・ライブラリで確立されたポリシーは、他のデータに使用される既存のポリシーとするか、または回復の目的のための新しいポリシーとすることができる。
ポリシー割り当てコマンド616の受信に応答して、VTS104は、コマンド616によって示された1つまたは複数のポリシーを、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームに割り当てる(ブロック718)。ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームへのポリシーの割り当ては、図7Dでは、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームがボリューム・カテゴリC000に割り当てられることとして表されている。このようにして、ポリシーの動作が、VTSのテープ・ライブラリで指定されたポリシー名に関連付けられる(図6Aのブロック718)。
LIBRARY LMPOLICY, S99999, SG=SGRECOVER, MC=MCRECOVER, SC=SCRECOVER, DC=DCRECOVER
VTS104のテープ・ライブラリで確立されたポリシーは、他のデータに使用される既存のポリシーとするか、または回復の目的のための新しいポリシーとすることができる。
ポリシー割り当てコマンド616の受信に応答して、VTS104は、コマンド616によって示された1つまたは複数のポリシーを、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームに割り当てる(ブロック718)。ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームへのポリシーの割り当ては、図7Dでは、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームがボリューム・カテゴリC000に割り当てられることとして表されている。このようにして、ポリシーの動作が、VTSのテープ・ライブラリで指定されたポリシー名に関連付けられる(図6Aのブロック718)。
ホスト100の回復マネージャ123hは、それ自身のプライベートな使用のために、ボリューム・シリアル番号S99999を有するスクラッチ・ボリュームを予約し、適切な保持ポリシーをそのスクラッチ・ボリュームに割り当てた場合、矢印620によって表されているように、回復コマンドをVTS104に発行する(図6Aのブロック618)。本明細書ではMVS LIBRARY RECOVERと呼ばれる回復コマンドは、回復されるために選択されたボリューム、およびターゲット・スクラッチ・ボリュームになるように選択されたボリュームを識別する。例えば、MVS LIBRARY RECOVERコマンドは、次のようにパラメータが指定されてよい。
LIBRARY REQUEST, library-name, RECOVER, S99999, L00000, V2
LIBRARY REQUEST, library-name, RECOVER, S99999, L00000, V2
したがって、この例の回復コマンド620は、この例ではVTSカタログ(図7D)の3番目のエントリに表されているプライベート・スクラッチ・ボリューム(private scratch volume)S99999を、ターゲット・スクラッチ・ボリュームとして識別する。したがって、この例では、プライベート・スクラッチ・ボリュームS99999が、図5Aの仮想回復プロセスにおけるターゲット・スクラッチ・ボリュームVolPになるように、回復コマンド620によって選択されている。
この例では、回復コマンド620は、図7DのVTSテープ・ライブラリ・カタログの2番目のエントリによって表されているように、回復ボリュームを、ボリューム・シリアル番号L00000、バージョンV2であり、ボリューム・カテゴリC000に分類されているとしてやはり識別する。したがって、この例では、回復ボリュームL00000、バージョンV2が、図5Aの仮想回復プロセスにおける回復ボリュームVolRになるように選択されている。
一部の実施形態では、図5Aの仮想回復プロセスは、適切なユーザ・インターフェイスを介してユーザによって開始されてよい。仮想回復プロセスが開始された後に、ホスト100は、一実施形態では、図6Aのコマンドを自動的に発行することができる。他の実施形態では、図6Aに関連して説明されたコマンドのうちの1つまたは複数は、ホストの適切なユーザ・インターフェイスを介して、ホスト100からユーザによって手動で発行されてよい。
仮想回復プロセス(図5A)のための回復ボリュームVolRおよびターゲット・スクラッチ・ボリュームVolPを識別する、ホスト100によって発行された回復コマンド620に応答して、VTS104の回復マネージャ123は、図5Aに示された仮想回復プロセスを実施し(図6Aのブロック720)、ターゲット・スクラッチ・ボリュームVolPを使用してボリュームVolRを仮想的に回復する。仮想回復プロセスの一実施形態では、VTS104は、回復ボリュームVolR(この例では、ボリュームL00000、V2)の状態を、VTSテープ・ライブラリ・カタログに関して図7Cに示されている前の保持状態から、VTSテープ・ライブラリ・カタログに関して図7Dに示されているホールド状態に変更する(図6Aのブロック722)。
この例では、ホールド状態において、回復ボリュームVolRは、以前のすべてのプロパティが維持され、回復プロセスによって回復ボリュームVolRが変更されない、すなわち、回復ボリュームVolRが変更不可能であることを保証するために、読み取り専用としてマーク付けされる(図6Aのブロック722)。ターゲット・スクラッチ・ボリュームVolP(この例では、ボリュームS99999)も、クライアントの選好に応じて、変更不可能として、または読み取り/書き込みボリュームとして扱われ得る。
したがって、図5Aの仮想回復の一部として、ホスト100は、仮想回復プロセスのための回復ボリュームVolRまたはプライベート・ターゲット・スクラッチ・ボリュームVolPのいずれかのどのような監視も完全に回避し、仮想回復プロセスの間に、ストレージ・サーバのテープ・ドライブまたは他のストレージ・ドライブを、他の使用のために解放したままにすることができる。ホスト100に、回復ボリュームVolRのデータにアクセスする実際の必要性が生じない限り、回復ボリュームVolRおよびターゲット・スクラッチ・ボリュームVolPの両方がアンマウントされたままであり得る。しかし、回復ボリュームVolRのデータにアクセスする必要性が生じた場合、下記に説明されるように、図5Bの物理的回復が実施されてよい。
仮想回復プロセスの別の態様では、回復コマンド620の受信(図6Aのブロック722)にさらに応答して、VTS104の回復マネージャ123は、仮想回復プロセスのために、回復ボリュームVolR(この例では、ボリュームL00000、V2)をターゲット・スクラッチ・ボリュームVolP(この例では、ボリュームS99999、バージョンV1)に関連付ける(図6Aのブロック726)。一実施形態では、VTS104が回復ボリュームVolRおよびターゲット・スクラッチ・ボリュームVolPを関連付けることは、図5Aにおいて「マッピング」とラベル付けされた矢印504によって表されているように、ターゲット・スクラッチ・ボリュームVolPを回復ボリュームVolRにマッピングすることを含む。実施形態例の場合、このマッピングは、回復ボリュームVolR(この例では、L00000、V2)に格納されたデータを指し示すようにターゲット・スクラッチ・ボリュームVolP(この例では、S99999)のメタデータを変更することによって実現されてよい。例えば、VTS104のテープ・ライブラリ・カタログ・エントリ(tape library catalog entry)の形態でのメタデータは、図8Aの表によって表されたマッピング・カタログ・エントリ(mapping catalog entry)に示されているように、ターゲット・スクラッチ・ボリュームVolPを回復ボリュームVolRにマッピングするように構成されてよく、図8AのVTSマッピング・カタログ・エントリによって表された、ターゲット・スクラッチ・ボリュームVolPに関連付けられたメタデータが、回復ボリュームVolRを指し示すようにする。
図5Bに示された物理的回復などの物理的回復に関連してさらに詳細に説明されたように、図5Aおよび図8Aに示されているような回復ボリュームVolRへのターゲット・スクラッチ・ボリュームVolPのマッピングは、仮想回復が完了された後にホスト100が回復ボリュームVolRのデータにアクセスすることを必要とする場合に、回復ボリュームVolRのデータを捜し出して読み取るために、その後の物理的回復において利用され得る。しかし、実施形態例の仮想回復自体は、回復ボリュームVolRまたはターゲット・スクラッチ・ボリュームVolPのどちらかがマウントされて読み取られることも書き込まれることも必要としない。代わりに、図5Aの矢印504および図8AのVTSカタログ・エントリによって表されたようなマッピング(図5A)は、ボリュームのうちのどちらかをマウントすることを必要とせずに、ボリュームVolRおよびVolPに関連付けられたメタデータを構成することによって実現される。したがって、仮想回復は、物理テープ・ドライブまたはクラウドなどの、どのバックエンド・ストレージ・デバイスからも読み取ることなく実現され得る。また、仮想回復を完了するために、ボリュームに格納されたデータの内部のどのヘッダー情報も変更する必要がない。
一方、さまざまな既知の回復方法では、回復は、回復ボリュームが外部ストレージ・デバイスから読み取られ、読み取れたデータが、異なるVOLSERを示すように変更され、ストレージ・デバイスに再び書き込まれることを必要とする。これに対して、前述したように、図5A、図6A、および図8Aの仮想回復では、回復ボリュームVolR(この例では、L00000 V2)に格納されたデータは、アクセスされないままとすることができ、したがって、仮想回復全体を通じてアンマウントされ、読み取られず書き込まれないままとすることができる。
ホスト100が、矢印620によって表されているように、回復コマンドをVTS104に発行しており(図6Aのブロック618)、回復されるために選択されたボリュームVolRおよびターゲット・スクラッチ・ボリュームになるように選択されたボリュームVolPを識別し、ホスト100の回復マネージャ123hは、仮想回復プロセスのために、回復ボリュームVolR(この例では、ボリュームL00000、v2)をターゲット・スクラッチ・ボリュームVolP(この例では、ボリュームS99999、バージョンV1)に関連付ける(図6Aのブロック622)。一実施形態では、ホスト100が回復ボリュームVolRおよびターゲット・スクラッチ・ボリュームVolPを関連付けることは、ターゲット・スクラッチ・ボリュームVolPを回復ボリュームVolRにマッピングすることを含む。ホスト100がターゲット・スクラッチ・ボリュームVolPを回復ボリュームVolRにマッピングすることは、図5Aにおいて「マッピング」とラベル付けされた矢印504によって表されたマッピングの構成要素でもある。
実施形態例では、ホスト100によるマッピングは、ターゲット・スクラッチ・ボリュームVolPが回復ボリュームVolR(この例では、L00000、V2)であるかのように、ターゲット・スクラッチ・ボリュームVolPを参照するように、ターゲット・スクラッチ・ボリュームVolP(この例では、S99999)のメタデータを変更することによって実現されてよい。例えば、ホスト100のマッピング・カタログ・エントリの形態でのメタデータは、図8Aの表によって表されたホスト・カタログ・エントリ(host catalog entry)に示されているように、ターゲット・スクラッチ・ボリュームVolPが、回復ボリュームVolRに現在格納されているデータをすでに含んでいるかのように、ターゲット・スクラッチ・ボリュームVolPを参照するように構成されてよい。一実施形態では、回復ボリュームVolR(この例では、ボリュームL00000)のVOLSERへの参照は、ターゲット・スクラッチ・ボリュームVolP(この例では、S99999)のVOLSERに置き換えられる。したがって、ホストが、例えば、回復ボリュームVolR内に現在格納されているデータ・セットを特定することを必要とする場合、図8Bに示されているように、回復ボリュームVolRへの参照が、ターゲット・スクラッチ・ボリュームVolPへの参照に置き換えられる。実施形態例では、マッピング・メタデータがカタログ・エントリとして説明されているが、そのようなマッピング・メタデータが、特定のアプリケーションに応じて、例えばアプリケーション内のデータ構造などの、他の形態であってよいということが理解される。
図5Bに示された物理的回復などの物理的回復に関連してさらに詳細に説明されたように、図5A、図8A、および図8Bに示されているような回復ボリュームVolRへのターゲット・スクラッチ・ボリュームVolPのマッピングは、仮想回復が完了された後に、ホスト100が回復ボリュームVolRのデータにアクセスすることを必要とする場合に、ホスト100がターゲット・スクラッチ・ボリュームVolPをマウントするように、その後の物理的回復において利用され得る。しかし、前述したように、実施形態例の仮想回復自体は、回復ボリュームVolRまたはターゲット・スクラッチ・ボリュームVolPのどちらかがマウントされることも、読み取られることも、書き込まれることも必要としない。代わりに、図5Aの矢印504によって、ならびに図8AのVTSマッピング・カタログ・エントリおよび図8Bのホスト・マッピング・カタログ・エントリによって表されたようなマッピング(図5A)は、ボリュームのうちのどちらかをマウントすることを必要とせずに、ボリュームVolRおよびVolPに関連付けられたメタデータを構成するVTS104およびホスト100によってそれぞれ実現される。したがって、仮想回復は、物理テープ・ドライブまたはクラウドなどの、どのバックエンド・ストレージ・デバイスからも読み取ることなく実現され得る。また、仮想回復を完了するために、ボリュームに格納されたデータの内部のどのヘッダー情報も変更する必要がない。
一方、さまざまな既知の回復方法では、回復は、回復ボリュームが外部ストレージ・デバイスから読み取られ、読み取られたデータが、異なるVOLSERを示すように変更され、ストレージ・デバイスに再び書き込まれることを必要とする。これに対して、前述したように、図5A、図6A、図8A、および図8Bの仮想回復では、回復ボリュームVolR(この例では、L00000 V2)に格納されたデータは、アクセスされないままとすることができ、したがって、仮想回復全体を通じて読み取られず書き込まれない(変更不可能な)ままとすることができる。
前述したように、図5Bは、ホスト100が、回復以外の目的で回復ボリュームVolRのデータに実際にアクセスする必要がある場合の、本説明に従う物理的回復プロセスの一例を示している。図6Bは、図5Aの物理的回復プロセスの動作のさらに詳細な例を示している。この実施形態では、ホスト100が、前述したように、ターゲット・ボリュームVolPに含まれているかのように、仮想回復プロセスによってターゲット・スクラッチ・ボリュームVolPにマッピングされた(図8B)回復ボリュームVolRのデータに実際にアクセスする必要があるということを決定した場合(図6Bのブロック630)、ホスト100の回復マネージャ123hは、ホスト100によって回復VolRにマッピングされたターゲット・スクラッチ・ボリュームVolPをマウントするためのコマンドをVTS104に発行する(図6Bのブロック634)。この時点で、ターゲット・スクラッチ・ボリュームVolPは、スクラッチ・ボリュームの代わりに、ターゲット・プライベート・ボリュームVolPと呼ばれる。このようにして、ホスト100は、前述したように、ターゲット・プライベート・ボリュームVolP(この例では、S99999)を回復ボリュームVolR(この例では、L00000、V2)であるかのように扱う。ターゲット・プライベート・ボリュームVolPをマウントするためのVTS104へのコマンドが、「コマンド」とラベル付けされた矢印636によって図6Bに表されており、ターゲット・プライベート・ボリュームVolPを回復ボリュームVolRに対して使用して図5Bの物理的回復プロセスを開始する。
ターゲット・プライベート・ボリュームVolPをマウントするためのホスト100のコマンド636に応答して、VTS104の回復マネージャ123は、ターゲット・プライベート・ボリュームVolP(この例では、S99999)をマウントする(図6Bのブロック738)が、また、前述の仮想回復プロセスにおいてVTS104によってターゲット・スクラッチ・ボリュームVolPがマッピングされた回復ボリュームVolR(この例では、L00000、V2)もマウントする(図6Bのブロック738)。この例では、回復ボリュームVolRを指し示すように、ターゲット・プライベート・ボリュームVolPに関連付けられたメタデータを構成して、VTS104によってターゲット・スクラッチ・ボリュームVolPがマッピングされた。VTS104は、図7Eに表されているように、ターゲット・プライベート・ボリュームVolPの「マウント」状態を示すようにVTSテープ・ライブラリ・カタログも更新する。
「データをコピーする」とラベル付けされた矢印514(図5B)によって表されているように、回復ボリュームVolR(この例では、L00000、V2)へのターゲット・プライベート・ボリュームVolP(この例では、S99999)のマッピングを使用して、マウントされた回復ボリュームVolRのデータが、回復マネージャ123によってアクセスされてターゲット・プライベート・ボリュームVolPにコピーされる(ブロック742)。図9Aは、マウントされた回復ボリュームVolRから読み取られたデータの例を概略図の形態で示しており、データのソースを回復ボリュームVolRとして識別するメタデータを含んでいるヘッダー部902を含む。ヘッダー部902は、特定のアプリケーションに応じて、回復ボリュームVolRから読み取られたデータの他の特性を表す他のメタデータを含んでよい。
回復ボリュームVolR(この例では、L00000、V2)から読み取られたデータの残りの部分は、図9Aでは非ヘッダー・データ904と呼ばれ、回復ボリュームVolRに格納されたユーザ・データを含み、特定のアプリケーションに応じて、他の種類のデータを含んでよい。非ヘッダー・データ904は、図9Bに示され、「データをコピーする」とラベル付けされた矢印514(図5B)によって表されているように、マウントされた回復ボリュームVolRからアクセスされ、ターゲット・プライベート・ボリュームVolP(この例では、S99999)にコピーされる(図6Bのブロック742)。
図9Bに示され、図5Bに「ヘッダーを変更する」とラベル付けされた矢印518(図5B)によって表されているように、非ヘッダー・データ904がターゲット・プライベート・ボリュームVolP(この例では、S99999)にコピーされるときに、回復ボリュームVolRから読み取られたヘッダー・データ902が、データ904と共にターゲット・プライベート・ボリュームVolPに格納されている置換ヘッダー906(図9B)に置き換えられる(図6Bのブロック746)。このようにして、回復ボリュームVolRから読み取られたデータは、ボリュームVolPからのそのデータのその後の読み取りにおいて、データのソースをターゲット・プライベート・ボリュームVolP(この例では、S99999)として示すために、ターゲット・プライベート・ボリュームVolPに格納されるときに再ラベル付けされる。これで、回復されたボリュームは、すべての使用においてボリューム・シリアル番号S99999としてアクセスされ得るようになった。
さらに、回復ボリュームVolRのデータにアクセスしてコピーすることは、データへのアクセスがホストによって要求されるまで延期される。さらに、データ・ソースの再ラベル付けも、要求に応じたプロセスであり、ターゲット・プライベート・ボリュームVolPを対象にするコピー動作のためのヘッダーの変更も、ターゲット・プライベート・ボリュームVolPのマウントを要求することによって、ホスト100によって回復ボリュームVolRのデータへのアクセスが要求されるまで、延期される。この実施形態では、前述したように、回復ボリュームVolRは、仮想回復だけでなく物理的回復の間にも、変更不可能なままとすることができ、すなわち、変更されないままとすることができる(図6Bのブロック748)。したがって、回復ボリュームVolRは、将来、外部ストレージ・デバイスのクラウドまたはテープからの読み取りが要求された場合に、ソースとしてまだ使用され得る。
回復ボリュームVolRからターゲット・ボリュームVolPへのデータのコピーおよび再ラベル付けの完了(図6Bのブロック752)時に、「報告」とラベル付けされた矢印756(図6B)によって表されているように、VTS104の回復マネージャ123は、ターゲット・ボリュームVolP(この例では、S99999)への回復ボリュームVolRの物理的回復が完了したことをホスト100に報告する(図6Bのブロック754)。データのコピーおよび再ラベル付けの完了は、「マウント完了」と呼ばれることがある。加えて、VTS104は、図7Fに表されているように、ターゲット・プライベート・ボリュームVolPのアクティブな状態を示すようにVTSテープ・ライブラリ・カタログを更新する。
それに応じて、この実施形態では、ホスト100の回復マネージャ123hは、ターゲット・ボリュームVolPのデータを検証し(図6Bのブロック644)、「コマンド」とラベル付けされた矢印650によって表されているように、回復ボリュームVolRでのホールド状態を解放する(図6Bのブロック648)ためのコマンドをVTS104に発行する。それに応じて、VTS104は、図7Gに示されているように、「ホールド」状態を解放し、「保持」状態を復元するように、VTSテープ・ライブラリ・カタログ内の回復ボリュームVolRの状態を更新する。
実施形態例では、回復ボリュームVolR(この例では、L00000 V2)からターゲット・プライベート・ボリュームVolP(この例では、S99999、V1)へのデータの仮想回復が完了した後に、ホストは、回復ボリュームVolRへのプライベート・ボリュームVolPのマッピングを記録する必要がない。ホストが知る限り、データはS99999に完全に回復される。この時点で、ホストがデータを読み取りたい場合、ホストは、単にターゲット・プライベート・ボリュームVolPの標準的なライブラリのマウント(実施形態例では、「LUM」と呼ばれる)を実行し、他のボリュームを読み取るのと同様に、回復データを読み取る。物理的回復がまだ発生していない場合、マッピング情報を維持するVTS104は、図5Bに関連して説明されたように、回復ボリュームVolRからターゲット・プライベート・ボリュームVolPへの物理的回復のために、データをコピーし、ヘッダーを変更することを開始する。
本説明に従うデータ・ストレージ回復管理の別の態様では、異なるか、または競合するボリューム・シリアル付番方式または規則を有することがある別のソースから素早く効率的にボリュームをインポートするために、図5Aおよび図6Aの仮想回復プロセスが使用されてよい。一実施形態では、ボリュームVolR(図5A)などのインポートされるボリュームの各々は、新しいターゲット・プライベート・ボリュームVolPに(図6Aの矢印504によって表されているように)マッピングまたは再マッピングされてよく、例えば、そのような各ボリュームVolPは、ターゲット・データ・ストレージ・システムのホスト100またはストレージ・サーバ104の既存のボリューム・シリアル番号規則に従うVOLSERを有する。したがって、インポートされるボリュームVolR(図5A)の各々は、例えばホストまたはストレージ・サーバの既存のアクティブなVOLSERに一致しないか、または他の方法で既存のVOLSERと競合する、ターゲット・データ・ストレージ・システムの新しいVOLSERにマッピングまたは再マッピングされてよい。加えて、インポートされるボリュームVolRは、既存のボリューム・シリアル番号範囲規則に従い、それによって、既存のボリューム・シリアル番号範囲規則を維持する、ターゲット・プライベート・ボリュームVolPのVOLSERにマッピングまたは再マッピングされてよい。
例えばターゲットVTSにインポートされるボリュームが、特定のアプリケーションに応じて、数百個、数千個、数百万個以上に達することがあるということが理解される。実施形態例の仮想回復プロセスは、仮想回復プロセスを使用してインポートされているどのボリュームもマウントせず、別途ボリュームにアクセスすることもなく、多数のボリュームが迅速にターゲットVTSにインポートされることを可能にする。その結果、各インポートされたボリュームは変更不可能なままとすることができ、かつその後の物理的回復の未来の再呼び出し要求の一部としてオンデマンドで再ラベル付けされるのみであることが分かっているので、インポートされているボリュームは、そのボリュームの内容の有効性を維持するように堅牢にされ得る。例えば、法的な理由のため、インポート時のデータの状態が、ワークロード取得の一貫性のある位置を維持するために、変更不可能なままであることを必要とすることがある。実施形態例の仮想回復プロセスは、ボリューム・シリアル番号(VOLSER)の競合がなく、各インスタンスにアクセスする必要がなく、ソース・インスタンスを変更する必要がない、ボリュームのインポートを可能にする。インポートされたボリュームのデータにアクセスする必要性が生じた場合、図5Bおよび図6Bに関連して上記に説明されたように、インポートされたボリュームの要求に応じた物理的回復が実行されてよい。
さらに別の態様では、回復ボリュームは、変更不可能なままとすることができ、したがって、実施形態例の回復プロセスによって変更されないままとすることができるため、本説明に従うストレージ・ボリューム回復は、必要とされる回数にわたってボリュームを回復するために、再帰的に適用されてよい。したがって、前述したように、回復ボリュームVolRがターゲット・プライベート・ボリュームVolPに復元された後に、VolPが削除され、その後、ホストがボリュームVolPまたは回復ボリュームVolRの回復を再び要求した場合、回復ボリュームVolRを、例えばターゲット・ボリュームVolP1などの新しいターゲット・スクラッチ・ボリュームに回復する、前述の仮想回復プロセスが繰り返されてよい。この例では、回復ボリュームVolRが変更不可能であり、したがって、第2の仮想回復時に回復データをまだ含んでいるため、新しいターゲット・ボリュームVolP1は、仮想回復において、削除されたボリュームVolPの代わりに、回復ボリュームVolRに直接マッピングされてよい。第1のターゲット・ボリュームVolPに関連して上記に説明されたように、必要に応じて、その後、回復ボリュームVolRから新しいターゲット・ボリュームVolP1にデータを転送して再ラベル付けする物理的回復が実行されてよい。
次に、ターゲット・ボリュームVolP1が削除され、その後、ホストがボリュームVolP1または回復ボリュームVolRの回復を再び要求した場合、回復ボリュームVolRを、例えばターゲット・ボリュームVolP2などの、さらに別の新しいターゲット・スクラッチ・ボリュームに回復する、ターゲット・ボリュームVolPおよびVolP1に関連して上で説明された仮想回復プロセスが再度繰り返されてよい。したがって、この例では、回復ボリュームVolRが変更不可能であり、したがって、第3の仮想回復時に回復データをまだ含んでいるため、新しいターゲット・ボリュームVolP2は、仮想回復において、削除されたボリュームVolPの代わりに、回復ボリュームVolRに直接マッピングされてよい。前のターゲット・ボリュームVolPおよびVolP1に関連して上で説明されたように、必要に応じて、回復ボリュームVolRから最新のターゲット・ボリュームVolP2にデータを転送して再ラベル付けする物理的回復が実行されてよい。したがって、本説明に従うボリューム回復管理は、無期限にボリュームが回復されること、および無期限に変更不可能なままであることを可能にする。
本発明は、システム、方法、もしくはコンピュータ・プログラム製品、またはそれらの組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組合せを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波または他の自由に伝搬する電磁波、導波管もしくは他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはそれらの組合せ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組合せを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはJava、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、またはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して説明される。フローチャート図もしくはブロック図またはその両方の各ブロック、ならびにフローチャート図もしくはブロック図またはその両方に含まれるブロックの組合せが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、もしくは他のデバイス、またはそれらの組合せに特定の方式で機能するように指示できるものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックに指定される機能/動作を実施するように、コンピュータ実装プロセスを生成すべく、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれ、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で一連の動作可能なステップを実行させるものであってもよい。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図もしくはフローチャート図またはその両方の各ブロック、ならびにブロック図もしくはフローチャート図またはその両方に含まれるブロックの組合せは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
各図の計算コンポーネントは、図10に示されたコンピュータ・システム1002などの1つまたは複数のコンピュータ・システムにおいて実装されてよい。コンピュータ・システム/サーバ1002は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明されてよい。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含んでよい。コンピュータ・システム/サーバ1002は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境で実行されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
図10に示されているように、コンピュータ・システム/サーバ1002は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ1002のコンポーネントは、1つまたは複数のプロセッサまたはプロセッシング・ユニット1004、システム・メモリ1006、およびシステム・メモリ1006を含むさまざまなシステム・コンポーネントをプロセッサ1004に結合するバス1008を含んでよいが、これらに限定されない。バス1008は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、およびさまざまなバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、複数の種類のバス構造のいずれかのうちの1つまたは複数を表す。そのようなアーキテクチャの例としては、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnects)バスが挙げられるが、これらに限定されない。
コンピュータ・システム/サーバ1002は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ1002によってアクセスできる任意の使用可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体を含む。
システム・メモリ1006は、ランダム・アクセス・メモリ(RAM)1010もしくはキャッシュ・メモリ1012またはその両方などの、揮発性メモリの形態でのコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ1002は、他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。単に例として、取り外し不可、不揮発性の磁気媒体(図示されておらず、通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム1013を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブを提供することができる。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェイスによってバス1008に接続することができる。下記に詳細に示され、説明されているように、メモリ1006は、本発明の実施形態の機能を実行するように構成された一連の(例えば、少なくとも1つの)プログラム・モジュールを備える少なくとも1つのプログラム製品を含んでよい。
例えば、一連の(少なくとも1つの)プログラム・モジュール1016を含んでいるプログラム/ユーティリティ1014がメモリ1006に格納されてよいが、これに限定されず、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも格納されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データまたはこれらの組合せの各々は、ネットワーク環境の実装を含んでよい。コンピュータ1002のコンポーネントは、通常、本明細書に記載された本発明の実施形態の機能もしくは方法またはその両方を実行するプログラム・モジュール1016として実装されてよい。図1Aのシステムは、1つまたは複数のコンピュータ・システム1002において実装されてよく、システムが複数のコンピュータ・システム1002において実装された場合、コンピュータ・システムはネットワークを経由して通信してよい。
コンピュータ・システム/サーバ1002は、キーボード、ポインティング・デバイス、ディスプレイ1020などの1つもしくは複数の外部デバイス1018、ユーザがコンピュータ・システム/サーバ1002と情報をやりとりできるようにする1つもしくは複数のデバイス、またはコンピュータ・システム/サーバ1002が1つもしくは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、またはそれらの組合せと通信してもよい。そのような通信は、入出力(I/O:Input/Output)インターフェイス1022を介して発生することができる。さらに、コンピュータ・システム/サーバ1002は、ローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、もしくはパブリック・ネットワーク(例えば、インターネット)、またはそれらの組合せなどの1つまたは複数のネットワークと、ネットワーク・アダプタ1024を介して通信することができる。図示されているように、ネットワーク・アダプタ1024は、バス1008を介してコンピュータ・システム/サーバ1002の他のコンポーネントと通信する。図示されていないが、他のハードウェア・コンポーネントもしくはソフトウェア・コンポーネントまたはその両方を、コンピュータ・システム/サーバ1002と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
用語「実施形態(an embodiment)」、「実施形態(embodiment)」、「実施形態(embodiments)」、「実施形態(the embodiment)」、「実施形態(the embodiments)」、「1つまたは複数の実施形態」、「一部の実施形態」、および「一実施形態」は、特に明示的に指定されない限り、「本発明の1つまたは複数の(ただし、すべてではない)実施形態」を意味する。
用語「含む」、「備える」、「有する」、およびこれらの変形は、特に明示的に指定されない限り、「含むが、これに限定されない」ということを意味する。
項目の列挙されたリストは、特に明示的に指定されない限り、項目のいずれかまたはすべてが相互に排他的であることを意味しない。
用語「a」、「an」、および「the」は、特に明示的に指定されない限り、「1つまたは複数」を意味する。
互いに通信するデバイスは、特に明示的に指定されない限り、継続的に互いに通信する必要はない。加えて、互いに通信するデバイスは、直接的に、または1つまたは複数の仲介を介して間接的に通信してよい。
互いに通信する複数のコンポーネントを含む実施形態の説明は、そのようなすべてのコンポーネントが必要とされるということを意味しない。反対に、本発明の多種多様な可能性のある実施形態を例示するために、さまざまな任意選択的コンポーネントが説明される。
本明細書において単一のデバイスまたは品目が説明される場合、単一のデバイス/品目の代わりに2つ以上のデバイス/品目が(協力しているかどうかに関わりなく)使用されてよいということが容易に明らかであろう。同様に、本明細書において2つ以上のデバイスまたは品目が(協力しているかどうかに関わりなく)説明される場合、2つ以上のデバイスまたは品目の代わりに単一のデバイス/品目が使用されてよく、または示された数のデバイスまたはプログラムの代わりに、異なる数のデバイス/品目が使用されてよいということが容易に明らかであろう。デバイスの機能もしくは特徴またはその両方が、代替として、そのような機能/特徴を有していると明示的に説明されない1つまたは複数の他のデバイスによって具現化されてよい。したがって、本発明の他の実施形態は、デバイス自体を含む必要がない。
本発明のさまざまな実施形態に関する前述の説明は、例示および説明の目的で提供されている。これらの説明が本発明を網羅すること、または開示された厳密な形態に制限することは意図されていない。上記の内容を踏まえて、多くの変更および変形が可能である。本発明の範囲が、この「発明を実施するための形態」によってではなく、本明細書に添付された「特許請求の範囲」によって制限されるということが意図される。上記の仕様、実施例、およびデータは、本発明の構成の製造および使用の完全な説明を提供する。本発明の思想および範囲から逸脱することなく本発明の多くの実施形態が作られ得るため、本発明は、本明細書において後で添付される特許請求の範囲に存在する。
Claims (25)
- ストレージに格納されたデータのボリュームを復元するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、動作を引き起こすためにプロセッサによって実行可能なプログラム命令を有するコンピュータ可読ストレージ媒体を備え、前記動作は、
第2のボリュームを第1のボリュームの仮想復元として前記第1のボリュームにマッピングするように、前記第2のボリュームに関連付けられたメタデータを構成することを含む、前記第2のボリュームを使用して前記ストレージに格納されたデータの前記第1のボリュームの第1の仮想復元を実行することと、
前記第1のボリュームに格納されたデータに対するホストによる要求に応答して、前記仮想復元によって前記第2のボリュームがマッピングされた前記第1のボリュームから、前記第2のボリュームにデータを転送し、転送されたデータを、第1のボリューム・データの代わりに第2のボリューム・データとして再ラベル付けすることを含む、前記第2のボリュームを使用して前記第1のボリュームのデータの物理的復元を実行することであって、結果として、前記第1のボリュームのデータにアクセスすることは、前記データに対するアクセスが前記ホストによって要求されるまで延期され、前記第1のボリュームの仮想復元および物理的復元の間に、前記第1のボリュームの復元に関連する前記第1のボリューム上のデータの変更が回避されること
とを含むコンピュータ・プログラム製品。 - データを前記第1のボリュームから前記第2のボリュームに前記転送することは、前記第2のボリュームをストレージ・ドライブにマウントするための前記ホストによる要求を受信することに応答し、ならびに前記要求に応答して、
前記第2のボリュームをストレージ・ドライブにマウントすることと、
前記第1のボリュームをストレージ・ドライブにマウントすることと、
前記第2のボリュームの前記メタデータによって前記第2のボリュームにマッピングされた前記第1のボリュームのデータをコピーすることであって、結果として、前記第2のボリュームを使用する前記第1のボリュームの復元に関連する前記第1のボリュームからのデータのコピーが、前記第2のボリュームの前記物理的復元まで延期されることと
を含む、請求項1に記載のコンピュータ・プログラム製品。 - 転送されたデータを第1のボリューム・データの代わりに第2のボリューム・データとして再ラベル付けすることは、前記第1のボリュームからコピーされたデータを前記第1のボリュームの代わりに前記第2のボリュームのデータであるとして識別するために、データが前記第2のボリュームに格納されるときに、前記第1のボリュームから読み取られたヘッダー・データを変更することであって、結果として、前記第1のボリュームから読み取られたヘッダー・データを変更することが、前記データに対するアクセスが前記ホストによって要求されるまで延期されることを含む、請求項2に記載のコンピュータ・プログラム製品。
- 前記第1のボリュームは、第1のボリューム・シリアル番号を有し、前記第2のボリュームは、前記第1のボリューム・シリアル番号と異なる第2のシリアル番号を有し、ユーザ・データが前記第1のボリュームから読み取られ、読み取られたデータが前記第2のボリュームにコピーされた際に、前記第1のボリュームの前記物理的復元の間に前記第2のボリュームに格納するためにヘッダー・データを変更することは、ヘッダー・データ内の前記第1のボリュームの前記第1のシリアル番号を、ヘッダー・データとして、前記第2のボリュームの前記第2のボリューム・シリアル番号に置き換えることを含む、請求項3に記載のコンピュータ・プログラム製品。
- 前記動作は、前記第1のボリュームの前記仮想復元および物理的復元の両方の間に、前記第1のボリュームの前記復元による前記第1のボリュームの変更を防ぐために、前記第1のボリュームをマウントする前に、前記第1のボリュームを読み取り専用ボリュームとして分類することをさらに含む、請求項2に記載のコンピュータ・プログラム製品。
- 前記第1のボリュームの前記仮想復元の開始前に、前記第1のボリュームは保持カテゴリに分類され、前記保持カテゴリでは、削除を指定された後のある期間の間、ボリュームは保持され、ストレージに格納されたデータの前記第1のボリュームの前記仮想復元は、前記第1のボリュームをホールド・カテゴリに再分類することであって、前記ホールド・カテゴリではボリュームの変更が防がれる、前記再分類することと、前記第1のボリュームの前記物理的復元中の、前記第1のボリュームから前記第2のボリュームへのデータの前記転送の完了にさらに応答して、前記第1のボリュームを前記ホールド・カテゴリから前記保持カテゴリへ再分類することと、をさらに含み、前記第1のボリュームの前記復元による前記第1のボリュームの変更は、前記第1のボリュームの前記仮想復元および前記物理的復元の両方の間では回避される、請求項1に記載のコンピュータ・プログラム製品。
- 前記動作は、少なくとも1つのポリシーを前記第2のボリュームに割り当てることをさらに含み、前記ポリシーが、ボリュームを維持する期間および前記ボリュームのバージョンの許可された数のうちの少なくとも1つに関するパラメータを定義する、請求項1に記載のコンピュータ・プログラム製品。
- 前記動作は、前記ストレージのボリューム・シリアル付番規則に従うボリューム・シリアル番号を有する第4のボリュームを使用して第3のボリュームの仮想復元を実行することを含む、前記第3のボリュームを前記ストレージにインポートすることをさらに含み、前記第3のボリュームの前記仮想復元は、前記第4のボリュームを前記第3のボリュームの仮想復元として前記第3のボリュームにマッピングするように、前記第4のボリュームに関連付けられたメタデータを構成することを含む、請求項1に記載のコンピュータ・プログラム製品。
- 前記動作は、
前記第2のボリュームを削除することと、
第3のボリュームを前記第1のボリュームの第2の仮想復元として前記第1のボリュームにマッピングするように、前記第3のボリュームに関連付けられたメタデータを構成することを含む、前記第3のボリュームを使用して前記第1のボリュームの第2の仮想復元を実行することとをさらに含み、前記第1のボリュームは、前記第1のボリュームの前記第1および第2の仮想復元にわたって変更不可能なままである、請求項1に記載のコンピュータ・プログラム製品。 - 前記第1のボリュームは、一次ストレージを有するストレージ・サーバに結合された二次ストレージに格納され、前記第1のボリュームは、前記第1のボリュームの前記仮想復元全体を通じて、前記二次ストレージにおいてアンマウントされたままである、請求項1に記載のコンピュータ・プログラム製品。
- ホストと共に使用するため、およびデータのボリュームを復元するためのシステムであって、前記システムが、
データの複数のボリュームを有するストレージと、
プロセッサと、
前記プロセッサによって実行された場合に動作を引き起こすプログラム命令を有するコンピュータ可読ストレージ媒体とを備え、前記動作は、
第2のボリュームを第1のボリュームの仮想復元として前記第1のボリュームにマッピングするように、前記第2のボリュームに関連付けられたメタデータを構成することを含む、前記第2のボリュームを使用して前記ストレージに格納されたデータの前記第1のボリュームの第1の仮想復元を実行することと、
前記第1のボリュームに格納されたデータに対するホストによる要求に応答して、前記仮想復元によって前記第2のボリュームがマッピングされた前記第1のボリュームから、前記第2のボリュームにデータを転送し、転送されたデータを、第1のボリューム・データの代わりに第2のボリューム・データとして再ラベル付けすることを含む、前記第2のボリュームを使用して前記第1のボリュームのデータの物理的復元を実行することであって、結果として、前記第1のボリュームのデータにアクセスすることが、前記データに対するアクセスが前記ホストによって要求されるまで延期され、前記第1のボリュームの仮想復元および物理的復元の間に、前記第1のボリュームの復元に関連する前記第1のボリューム上のデータの変更が回避されること
とを含む、システム。 - 前記ストレージは、ストレージ・ドライブを含み、データを前記第1のボリュームから前記第2のボリュームに転送することは、前記第2のボリュームをストレージ・ドライブにマウントするための前記ホストによる要求を受信することに応答し、ならびに前記要求に応答して、
前記第2のボリュームをストレージ・ドライブにマウントすることと、
前記第1のボリュームをストレージ・ドライブにマウントすることと、
前記第2のボリュームの前記メタデータによって前記第2のボリュームにマッピングされた前記第1のボリュームのデータをコピーすることであって、結果として、前記第2のボリュームを使用する前記第1のボリュームの復元に関連する前記第1のボリュームからのデータのコピーが、前記第2のボリュームの前記物理的復元まで延期されることと
を含む、請求項11に記載のシステム。 - 転送されたデータを第1のボリューム・データの代わりに第2のボリューム・データとして再ラベル付けすることは、前記第1のボリュームからコピーされたデータを前記第1のボリュームの代わりに前記第2のボリュームのデータであるとして識別するために、データが前記第2のボリュームに格納されるときに、前記第1のボリュームから読み取られたヘッダー・データを変更することであって、結果として、前記第1のボリュームから読み取られたヘッダー・データを変更することが、前記データに対するアクセスが前記ホストによって要求されるまで延期されることを含む、請求項12に記載のシステム。
- 前記第1のボリュームは、第1のボリューム・シリアル番号を有し、前記第2のボリュームは、前記第1のボリューム・シリアル番号と異なる第2のシリアル番号を有し、ユーザ・データが前記第1のボリュームから読み取られ、読み取られたデータが前記第2のボリュームにコピーされた際に、前記第1のボリュームの前記物理的復元の間に前記第2のボリュームに格納するためにヘッダー・データを変更することは、ヘッダー・データ内の前記第1のボリュームの前記第1のシリアル番号を、ヘッダー・データとして、前記第2のボリュームの前記第2のボリューム・シリアル番号に置き換えることを含む、請求項13に記載のシステム。
- 前記動作は、前記第1のボリュームの前記仮想復元および物理的復元の両方の間に、前記第1のボリュームの前記復元による前記第1のボリュームの変更を防ぐために、前記第1のボリュームをマウントする前に、前記第1のボリュームを読み取り専用ボリュームとして分類することをさらに含む、請求項12に記載のシステム。
- 前記第1のボリュームの前記仮想復元の開始前に、前記第1のボリュームは保持カテゴリに分類され、前記保持カテゴリでは、削除を指定された後のある期間の間、ボリュームは保持され、ストレージに格納されたデータの前記第1のボリュームの前記仮想復元は、前記第1のボリュームをホールド・カテゴリに再分類することであって、前記ホールド・カテゴリではボリュームの変更が防がれる、前記再分類することと、前記第1のボリュームの前記物理的復元中の、前記第1のボリュームから前記第2のボリュームへのデータの前記転送の完了にさらに応答して、前記第1のボリュームを前記ホールド・カテゴリから前記保持カテゴリへ再分類することと、をさらに含み、前記第1のボリュームの前記復元による前記第1のボリュームの変更は、前記第1のボリュームの前記仮想復元および前記物理的復元の両方の間では回避される、請求項11に記載のシステム。
- 前記動作は、少なくとも1つのポリシーを前記第2のボリュームに割り当てることをさらに含み、前記ポリシーが、ボリュームを維持する期間および前記ボリュームのバージョンの許可された数のうちの少なくとも1つに関するパラメータを定義する、請求項11に記載のシステム。
- 前記動作は、前記ストレージのボリューム・シリアル付番規則に従うボリューム・シリアル番号を有する第4のボリュームを使用して第3のボリュームの仮想復元を実行することを含む、前記第3のボリュームを前記ストレージにインポートすることをさらに含み、前記第3のボリュームの前記仮想復元は、前記第4のボリュームを前記第3のボリュームの仮想復元として前記第3のボリュームにマッピングするように、前記第4のボリュームに関連付けられたメタデータを構成することを含む、請求項11に記載のシステム。
- 前記動作は、
前記第2のボリュームを削除することと、
第3のボリュームを前記第1のボリュームの第2の仮想復元として前記第1のボリュームにマッピングするように、前記第3のボリュームに関連付けられたメタデータを構成することを含む、前記第3のボリュームを使用して前記第1のボリュームの第2の仮想復元を実行することとをさらに含み、前記第1のボリュームは、前記第1のボリュームの前記第1および第2の仮想復元にわたって変更不可能なままである、請求項11に記載のシステム。 - 前記ストレージが、一次ストレージおよび二次ストレージを有するストレージ・サーバを含み、前記第1のボリュームは、前記二次ストレージに格納され、前記第1のボリュームは、前記第1のボリュームの前記仮想復元全体を通じて、前記二次ストレージにおいてアンマウントされたままである、請求項11に記載のシステム。
- 第2のボリュームを第1のボリュームの仮想復元として前記第1のボリュームにマッピングするように、前記第2のボリュームに関連付けられたメタデータを構成することを含む、前記第2のボリュームを使用してストレージに格納されたデータの前記第1のボリュームの第1の仮想復元を実行することと、
前記第1のボリュームに格納されたデータに対するホストによる要求に応答して、前記仮想復元によって前記第2のボリュームがマッピングされた前記第1のボリュームから、前記第2のボリュームにデータを転送し、転送されたデータを、第1のボリューム・データの代わりに第2のボリューム・データとして再ラベル付けすることを含む、前記第2のボリュームを使用して前記第1のボリュームのデータの物理的復元を実行することであって、結果として、前記第1のボリュームのデータにアクセスすることは、前記データに対するアクセスが前記ホストによって要求されるまで延期され、前記第1のボリュームの仮想復元および物理的復元の間に、前記第1のボリュームの復元に関連する前記第1のボリューム上のデータの変更が回避されること
とを含む方法。 - データを前記第1のボリュームから前記第2のボリュームに前記転送することが、前記第2のボリュームをストレージ・ドライブにマウントするための前記ホストによる要求を受信することに応答し、前記要求に応答して、
前記第2のボリュームをストレージ・ドライブにマウントすることと、
前記第1のボリュームをストレージ・ドライブにマウントすることと、
前記第2のボリュームの前記メタデータによって前記第2のボリュームにマッピングされた前記第1のボリュームのデータをコピーすることであって、結果として、前記第2のボリュームを使用する前記第1のボリュームの復元に関連する前記第1のボリュームからのデータのコピーが、前記第2のボリュームの前記物理的復元まで延期されることとを含み、前記第1のボリュームは、一次ストレージを有するストレージ・サーバに結合された二次ストレージに格納され、前記第1のボリュームは、前記第1のボリュームの前記仮想復元全体を通じて、前記二次ストレージにおいてアンマウントされたままであり、転送されたデータを第1のボリューム・データの代わりに第2のボリューム・データとして再ラベル付けすることは、前記第1のボリュームからコピーされたデータを前記第1のボリュームの代わりに前記第2のボリュームのデータであるとして識別するために、データが前記第2のボリュームに格納されるときに、前記第1のボリュームから読み取られたヘッダー・データを変更することであって、結果として、前記第1のボリュームから読み取られたヘッダー・データを変更することが、前記データに対するアクセスが前記ホストによって要求されるまで延期されることを含み、
前記第1のボリュームは、第1のボリューム・シリアル番号を有し、前記第2のボリュームは、前記第1のボリューム・シリアル番号と異なる第2のシリアル番号を有し、ユーザ・データが前記第1のボリュームから読み取られ、読み取られたデータが前記第2のボリュームにコピーされた際に、前記第1のボリュームの前記物理的復元の間に前記第2のボリュームに格納するためにヘッダー・データを変更することは、ヘッダー・データ内の前記第1のボリュームの前記第1のシリアル番号を、ヘッダー・データとして、前記第2のボリュームの前記第2のボリューム・シリアル番号に置き換えることを含む、請求項21に記載の方法。 - 前記第1のボリュームの前記仮想復元および物理的復元の両方の間に、前記第1のボリュームの前記復元による前記第1のボリュームの変更を防ぐために、前記第1のボリュームをマウントする前に、前記第1のボリュームを読み取り専用ボリュームとして分類することをさらに含み、
前記第1のボリュームの前記仮想復元の開始前に、前記第1のボリュームは保持カテゴリに分類され、前記保持カテゴリでは、削除を指定された後のある期間の間、ボリュームは保持され、ストレージに格納されたデータの前記第1のボリュームの前記仮想復元は、前記第1のボリュームをホールド・カテゴリに再分類することであって、前記ホールド・カテゴリでは、ボリュームの変更が防がれる、前記再分類することと、前記第1のボリュームの前記物理的復元中の、前記第1のボリュームから前記第2のボリュームへのデータの前記転送の完了にさらに応答して、前記第1のボリュームを前記ホールド・カテゴリから前記保持カテゴリへ再分類することと、をさらに含み、前記第1のボリュームの前記復元による前記第1のボリュームの変更は、前記第1のボリュームの前記仮想復元および前記物理的復元の両方の間では回避され、
前記方法は、少なくとも1つのポリシーを前記第2のボリュームに割り当てることをさらに含み、前記ポリシーが、ボリュームを維持する期間および前記ボリュームのバージョンの許可された数のうちの少なくとも1つに関するパラメータを定義する、請求項22に記載の方法。 - 前記ストレージのボリューム・シリアル付番規則に従うボリューム・シリアル番号を有する第4のボリュームを使用して第3のボリュームの仮想復元を実行することを含む、前記第3のボリュームを前記ストレージにインポートすることをさらに含み、前記第3のボリュームの前記仮想復元は、前記第4のボリュームを前記第3のボリュームの仮想復元として前記第3のボリュームにマッピングするように、前記第4のボリュームに関連付けられたメタデータを構成することを含む、請求項21に記載の方法。
- 前記第2のボリュームを削除することと、
第3のボリュームを前記第1のボリュームの第2の仮想復元として前記第1のボリュームにマッピングするように、前記第3のボリュームに関連付けられたメタデータを構成することを含む、前記第3のボリュームを使用して前記第1のボリュームの第2の仮想復元を実行することとをさらに含み、前記第1のボリュームは、前記第1のボリュームの前記第1および第2の仮想復元にわたって変更不可能なままである、請求項21に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/031,276 | 2020-09-24 | ||
US17/031,276 US11461193B2 (en) | 2020-09-24 | 2020-09-24 | Data storage volume recovery management |
PCT/CN2021/118734 WO2022063020A1 (en) | 2020-09-24 | 2021-09-16 | Data storage volume recovery management |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023542287A true JP2023542287A (ja) | 2023-10-06 |
Family
ID=80740420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023515642A Pending JP2023542287A (ja) | 2020-09-24 | 2021-09-16 | データ・ストレージ・ボリューム回復管理 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11461193B2 (ja) |
JP (1) | JP2023542287A (ja) |
KR (1) | KR20230056707A (ja) |
CN (1) | CN116324732A (ja) |
AU (1) | AU2021348394B2 (ja) |
DE (1) | DE112021004991T5 (ja) |
GB (1) | GB2614675A (ja) |
WO (1) | WO2022063020A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461193B2 (en) | 2020-09-24 | 2022-10-04 | International Business Machines Corporation | Data storage volume recovery management |
US11983430B2 (en) * | 2022-08-01 | 2024-05-14 | International Business Machines Corporation | Replicating data to a plurality of replication devices through a tape device |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6703228B1 (en) * | 1998-09-25 | 2004-03-09 | Massachusetts Institute Of Technology | Methods and products related to genotyping and DNA analysis |
US7630986B1 (en) * | 1999-10-27 | 2009-12-08 | Pinpoint, Incorporated | Secure data interchange |
US6513101B1 (en) * | 2000-01-04 | 2003-01-28 | International Business Machines Corporation | Expiring host selected scratch logical volumes in an automated data storage library |
WO2002017207A2 (en) * | 2000-08-23 | 2002-02-28 | Arexis Ab | System and method of storing genetic information |
WO2002033520A2 (en) * | 2000-10-18 | 2002-04-25 | Genomic Health, Inc. | Genomic profile information systems and methods |
AU1234402A (en) * | 2000-10-20 | 2002-04-29 | Virco Nv | Establishment of biological cut-off values for predicting resistance to therapy |
US8898021B2 (en) * | 2001-02-02 | 2014-11-25 | Mark W. Perlin | Method and system for DNA mixture analysis |
US7783665B1 (en) * | 2002-03-27 | 2010-08-24 | Parallels Holdings, Ltd. | Effective file-sharing among virtual environments |
US20050152905A1 (en) * | 2002-08-22 | 2005-07-14 | Omoigui Osemwota S. | Method of biochemical treatment of persistent pain |
US7020755B2 (en) | 2002-08-29 | 2006-03-28 | International Business Machines Corporation | Method and apparatus for read-only recovery in a dual copy storage system |
US6954831B2 (en) * | 2002-08-29 | 2005-10-11 | International Business Machines Corporation | Method, system, and article of manufacture for borrowing physical volumes |
US6985916B2 (en) * | 2002-08-29 | 2006-01-10 | International Business Machines Corporation | Method, system, and article of manufacture for returning physical volumes |
US20070166728A1 (en) * | 2005-07-22 | 2007-07-19 | Alphagenics, Inc. | Genetic profile imaging and data-sharing device and methodology for socially relevant traits |
US20070198485A1 (en) * | 2005-09-14 | 2007-08-23 | Jorey Ramer | Mobile search service discovery |
US20080009268A1 (en) * | 2005-09-14 | 2008-01-10 | Jorey Ramer | Authorized mobile content search results |
US20080015968A1 (en) * | 2005-10-14 | 2008-01-17 | Leviathan Entertainment, Llc | Fee-Based Priority Queuing for Insurance Claim Processing |
WO2007143166A2 (en) * | 2006-06-02 | 2007-12-13 | University Of Louisville Research Foundation, Inc. | Interoperable public and proprietary web accessible database and data brokerage |
US20080131887A1 (en) * | 2006-11-30 | 2008-06-05 | Stephan Dietrich A | Genetic Analysis Systems and Methods |
US7844609B2 (en) * | 2007-03-16 | 2010-11-30 | Expanse Networks, Inc. | Attribute combination discovery |
US7818396B2 (en) * | 2007-06-21 | 2010-10-19 | Microsoft Corporation | Aggregating and searching profile data from multiple services |
US8738871B1 (en) * | 2007-06-29 | 2014-05-27 | Symantec Corporation | Method and apparatus for mapping virtual drives |
US20090043752A1 (en) * | 2007-08-08 | 2009-02-12 | Expanse Networks, Inc. | Predicting Side Effect Attributes |
US8010896B2 (en) * | 2007-09-13 | 2011-08-30 | International Business Machines Corporation | Using profiling when a shared document is changed in a content management system |
EP2215253B1 (en) * | 2007-09-26 | 2016-04-27 | Navigenics, Inc. | Method and computer system for correlating genotype to phenotype using population data |
US8589437B1 (en) * | 2007-10-15 | 2013-11-19 | 23Andme, Inc. | De-identification and sharing of genetic data |
WO2009051749A1 (en) * | 2007-10-15 | 2009-04-23 | 23Andme, Inc. | Genetic comparisons between grandparents and grandchildren |
WO2010017520A1 (en) * | 2008-08-08 | 2010-02-11 | Navigenics, Inc. | Methods and systems for personalized action plans |
BRPI0918889A2 (pt) * | 2008-09-12 | 2015-12-01 | Navigenics Inc | método para gerar uma pontuação de um índice composto genético ambiental (egci) para uma doença ou condição de um indivíduo |
EP3276526A1 (en) * | 2008-12-31 | 2018-01-31 | 23Andme, Inc. | Finding relatives in a database |
US8595430B2 (en) * | 2010-09-30 | 2013-11-26 | International Business Machines Corporation | Managing a virtual tape library domain and providing ownership of scratch erased volumes to VTL nodes |
US10152492B1 (en) | 2012-03-30 | 2018-12-11 | EMC IP Holding Company LLC | Extended recycle bin for versioning |
US10013166B2 (en) * | 2012-12-20 | 2018-07-03 | Amazon Technologies, Inc. | Virtual tape library system |
CN104956309B (zh) * | 2013-01-25 | 2017-12-12 | 株式会社日立制作所 | 存储系统及数据管理方法 |
CN103336728A (zh) | 2013-05-08 | 2013-10-02 | 上海爱数软件有限公司 | 一种磁盘数据恢复方法 |
CN104216796B (zh) | 2013-06-04 | 2018-02-09 | 北京联想核芯科技有限公司 | 一种数据备份、恢复方法及电子设备 |
US9552370B1 (en) * | 2013-06-27 | 2017-01-24 | EMC IP Holding Company LLC | Signaling impending out of storage condition from a virtual tape drive |
US9606930B2 (en) * | 2014-08-05 | 2017-03-28 | International Business Machines Corporation | Tape-managed partition support for effective workload allocation and space management |
US9514010B2 (en) * | 2014-09-19 | 2016-12-06 | Netapp, Inc | Cluster-wide service agents |
US10776210B2 (en) * | 2016-09-30 | 2020-09-15 | Hewlett Packard Enterprise Development Lp | Restoration of content of a volume |
US10621047B2 (en) | 2017-04-06 | 2020-04-14 | International Business Machines Corporation | Volume group structure recovery in a virtualized server recovery environment |
CN108038026B (zh) | 2017-11-17 | 2021-11-30 | 中国科学院信息工程研究所 | 一种基于闪存的数据快速恢复方法与系统 |
US10852981B2 (en) * | 2018-05-04 | 2020-12-01 | EMC IP Holding Company LLC | System for migrating virtual tape volumes between filesystems |
US10521132B1 (en) * | 2018-06-17 | 2019-12-31 | International Business Machines Corporation | Dynamic scratch pool management on a virtual tape system |
US11221989B2 (en) | 2018-07-31 | 2022-01-11 | International Business Machines Corporation | Tape image reclaim in hierarchical storage systems |
US11468014B2 (en) * | 2018-08-09 | 2022-10-11 | Netapp Inc. | Resynchronization to a filesystem synchronous replication relationship endpoint |
US11086558B2 (en) * | 2018-11-01 | 2021-08-10 | EMC IP Holding Company LLC | Storage system with storage volume undelete functionality |
US11366682B1 (en) * | 2019-10-22 | 2022-06-21 | Amazon Technologies, Inc. | Automatic snapshotting for recovery of instances with local storage |
US11886392B2 (en) | 2020-09-21 | 2024-01-30 | International Business Machines Corporation | Managing versions of objects resulting from appending data for space efficiency |
US11461193B2 (en) | 2020-09-24 | 2022-10-04 | International Business Machines Corporation | Data storage volume recovery management |
-
2020
- 2020-09-24 US US17/031,276 patent/US11461193B2/en active Active
-
2021
- 2021-09-16 GB GB2305748.2A patent/GB2614675A/en active Pending
- 2021-09-16 WO PCT/CN2021/118734 patent/WO2022063020A1/en active Application Filing
- 2021-09-16 AU AU2021348394A patent/AU2021348394B2/en active Active
- 2021-09-16 CN CN202180064893.4A patent/CN116324732A/zh active Pending
- 2021-09-16 JP JP2023515642A patent/JP2023542287A/ja active Pending
- 2021-09-16 KR KR1020237008807A patent/KR20230056707A/ko active Search and Examination
- 2021-09-16 DE DE112021004991.7T patent/DE112021004991T5/de active Pending
-
2022
- 2022-09-02 US US17/902,541 patent/US12026069B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2022063020A1 (en) | 2022-03-31 |
AU2021348394A1 (en) | 2023-03-23 |
GB2614675A (en) | 2023-07-12 |
DE112021004991T5 (de) | 2023-07-06 |
US12026069B2 (en) | 2024-07-02 |
US20220413973A1 (en) | 2022-12-29 |
GB202305748D0 (en) | 2023-05-31 |
CN116324732A (zh) | 2023-06-23 |
US20220091944A1 (en) | 2022-03-24 |
AU2021348394B2 (en) | 2023-08-17 |
KR20230056707A (ko) | 2023-04-27 |
US11461193B2 (en) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698773B2 (en) | Replicating a source data set to a target data store | |
US9009443B2 (en) | System and method for optimized reclamation processing in a virtual tape library system | |
US7660834B2 (en) | Maintaining an aggregate including active files in a storage pool | |
US8924664B2 (en) | Logical object deletion | |
US10872017B2 (en) | Restoring a file system object | |
US11327924B2 (en) | Archiving data sets in a volume in a primary storage in a volume image copy of the volume in a secondary storage | |
CN110799960A (zh) | 数据库租户迁移的系统和方法 | |
US12026069B2 (en) | Data storage volume recovery management | |
US11314639B2 (en) | Protecting against data loss during garbage collection | |
JP2006505069A (ja) | ハードウェアベースのファイルシステムのための装置および方法 | |
US11321007B2 (en) | Deletion of volumes in data storage systems | |
US20120311227A1 (en) | Information storage system, snapshot acquisition method, and data storage medium | |
US9122689B1 (en) | Recovering performance of a file system post-migration | |
US9665436B2 (en) | Creation and management of logical volume snapshots under hierarchical storage system | |
US11886392B2 (en) | Managing versions of objects resulting from appending data for space efficiency | |
US10606506B2 (en) | Releasing space allocated to a space efficient target storage in a copy relationship with a source storage | |
US11675668B2 (en) | Leveraging a cloud-based object storage to efficiently manage data from a failed backup operation | |
US20240078179A1 (en) | Efficient write-back for journal truncation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230327 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20230316 |
|
RD16 | Notification of change of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7436 Effective date: 20230315 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240215 |