JP2023536896A - データの論理的破損保護 - Google Patents
データの論理的破損保護 Download PDFInfo
- Publication number
- JP2023536896A JP2023536896A JP2023507527A JP2023507527A JP2023536896A JP 2023536896 A JP2023536896 A JP 2023536896A JP 2023507527 A JP2023507527 A JP 2023507527A JP 2023507527 A JP2023507527 A JP 2023507527A JP 2023536896 A JP2023536896 A JP 2023536896A
- Authority
- JP
- Japan
- Prior art keywords
- storage space
- backup storage
- backup
- extents
- extent
- 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
- 238000003860 storage Methods 0.000 claims abstract description 395
- 238000000034 method Methods 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 21
- 238000005096 rolling process Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000002372 labelling Methods 0.000 claims 2
- 238000011084 recovery Methods 0.000 description 51
- 238000004519 manufacturing process Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 26
- 238000013500 data storage Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000007246 mechanism Effects 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
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/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
- 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
-
- 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
-
- 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
- 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/1464—Management of the backup or restore process for networked environments
-
- 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
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/0653—Monitoring storage devices or 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
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)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
データの論理的破損保護コンピュータ実装方法は、格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を受け取る段階と、要求に応えて、バックアップ格納スペースに追加エクステントを追加する段階と、バックアップ格納スペース内の現在のエクステント位置を識別する段階と、現在のエクステント位置とバックアップ格納スペースに追加された追加エクステントとの間に充満エクステント位置が存在するかどうかを判定する段階と、判定に基づいて、バックアップ格納スペースに追加された追加エクステントを条件付きで利用する段階とを含んでいる。
Description
本発明はデータの論理的破損保護(LCP)の実装に関するものであり、より詳細には、本発明はLCPを実装するための格納容量の拡大に関する。
格納ボリューム内のデータに論理的破損保護(LCP)を実装するには、バックアップ格納スペースを作成して使用し、格納ボリュームからのデータのバックアップを格納する。例えば、格納ボリューム内の所定のデータのポイント・イン・タイム・スナップショットを作成し、バックアップ格納スペース内に格納してもよい。これらのデータバックアップを使用して、消失した、又は破損した格納ボリューム内のデータを復元してもよい。
ただし、現在のところ、バックアップ格納スペースのサイズの増加を望む場合は、最初にバックアップ格納スペースを、バックアップ格納スペースに格納されているすべてのデータバックアップとともに消去しなければならず、それから、当初のサイズよりも大きい交換用バックアップ格納スペースを作成することができる。このことにより、LCP実装によってかなりの処理量が必要になるだけでなく、当初のバックアップ格納スペースを消去してから、新しいデータバックアップを交換用バックアップ格納スペースに格納するまでの間、格納ボリュームはデータの消失/破損に対して脆弱なままで放置されてしまう。
一態様によるコンピュータ実装方法は、格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を受け取る段階と、前記要求に応えて、前記バックアップ格納スペースに追加エクステントを追加する段階と、前記バックアップ格納スペース内の現在のエクステント位置を識別する段階と、前記現在のエクステント位置と前記バックアップ格納スペースに追加された前記追加エクステントとの間に充満エクステント位置が存在するかどうかを判定する段階と、前記判定に基づいて、前記バックアップ格納スペースに追加された前記追加エクステントを条件付きで利用する段階とを含んでいる。
このように、格納ボリュームのためのバックアップ格納スペースのサイズを増加させてもよく、最初にバックアップ格納スペース全体(及び格納されているすべてのデータバックアップ)を消去して新しいサイズで新しいバックアップ格納スペースを構築する必要はない。これにより、バックアップ格納スペースを拡大するために必要な処理量を削減でき、このような拡大を実装する1つ又は複数の有形コンピューティングデバイスの性能を改善することができる。
一態様では、バックアップ格納スペース及び格納ボリュームのパラメータの監視に基づいて自動的に要求を生成し、そのパラメータは容量使用量の閾値、乗数の増分量、及び乗数の制限を含んでいる。
別の態様によれば、論理的破損保護を実装するために格納容量を拡大するためのコンピュータプログラム製品は、具現化されたプログラム命令を有するコンピュータ可読格納媒体を備えており、前記コンピュータ可読格納媒体は、一過性の信号それ自体ではなく、前記プログラム命令はプロセッサによって、前記プロセッサに方法を遂行させるように実行可能であり、前記方法は、格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を、前記プロセッサによって受け取る段階と、前記要求に応えて前記バックアップ格納スペースに追加エクステントを、前記プロセッサによって追加する段階と、前記バックアップ格納スペース内の現在のエクステント位置を、前記プロセッサによって識別する段階と、前記現在のエクステント位置と前記バックアップ格納スペースに追加された前記追加エクステントとの間に充満エクステント位置が存在するかどうかを、前記プロセッサによって判定する段階と、前記判定に基づいて、前記バックアップ格納スペースに追加された前記追加エクステントを、前記プロセッサによって条件付きで利用する段階とを含んでいる。
一態様では、現在のエクステント位置は、ローリングバッファ方式に従って判定される。
別の態様によれば、システムは、プロセッサと、前記プロセッサと統合されているか、前記プロセッサによって実行可能であるか、又は前記プロセッサと統合されていてかつ前記プロセッサによって実行可能である論理とを備えており、前記論理は、格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を受け取り、前記要求に応えて、前記バックアップ格納スペースに追加エクステントを追加し、前記バックアップ格納スペース内の現在のエクステント位置を識別し、前記現在のエクステント位置と前記バックアップ格納スペースに追加された前記追加エクステントとの間に充満エクステント位置が存在するかどうかを判定し、前記判定に基づいて、前記バックアップ格納スペースに追加された前記追加エクステントを条件付きで利用するように構成されている。
別の態様によれば、コンピュータ実装方法は、格納ボリュームのためのバックアップ格納スペースの現在の使用量を監視する段階と、前記現在の使用量を容量閾値と比較する段階と、前記比較する段階及び所定のサイズ制限に基づいて、前記バックアップ格納スペースのサイズを条件付きで増加させる段階とを含んでいる。
別の態様によれば、バックアップ格納スペースの管理を自動化するためのコンピュータプログラム製品は、具現化されたプログラム命令を有するコンピュータ可読格納媒体を備えており、前記コンピュータ可読格納媒体は、一過性の信号それ自体ではなく、前記プログラム命令はプロセッサによって、前記プロセッサに方法を遂行させるように実行可能であり、前記方法は、格納ボリュームのためのバックアップ格納スペースの現在の使用量を、前記プロセッサによって監視する段階と、前記現在の使用量を容量閾値と、前記プロセッサによって比較する段階と、前記比較する段階及び所定のサイズ制限に基づいて、前記バックアップ格納スペースのサイズを、前記プロセッサによって条件付きで増加させる段階とを含んでいる。
このように、バックアップ格納スペースのサイズを、格納ボリュームに合わせて動的に調整してもよい。これにより、バックアップ格納スペースは確実に、LCP実装の部分として格納ボリュームのための十分な数のデータバックアップをサポートするのに十分な大きさになる。その結果、データの破損/消失からの格納ボリュームのデータ保護を確実にすることができ、格納ボリュームを利用する1つ又は複数の有形コンピューティングデバイスの性能をさらに改善することができる。
本発明の他の態様及び実施形態は、図面と併せて解釈すると、例として本発明の原理を示している以下の詳細な説明から明らかになるであろう。
以下の説明は、本発明の一般的な原理を例示する目的でなされたものであり、本明細書で請求される発明の概念を限定することを意味するものではない。
さらに、本明細書に記載の特定の特徴は、様々な可能な組み合わせ及び置換のそれぞれにおいて、他の説明された特徴と組み合わせて使用することができる。
さらに、本明細書に記載の特定の特徴は、様々な可能な組み合わせ及び置換のそれぞれにおいて、他の説明された特徴と組み合わせて使用することができる。
別段本明細書に具体的に定義されない限り、すべての用語は、本明細書から示唆される意味、及び、当業者によって理解される意味若しくは辞書、論文などで定義される意味又はその組み合わせを含んで、それらの最も広い可能な解釈が与えられるものとする。
本明細書及び添付の特許請求項で使用されるとき、単数形「a」、「an」、及び「the」は、別段指定されない限り、複数の指示物を含むことも留意されなければならない。「含む(comprises)」若しくは「含む(comprising)」又はその両方の用語は、本明細書で使用されるとき、記載されている特徴、整数、段階、動作、要素若しくは構成要素又はその組み合わせの存在を指定するが、1つ又は複数の他の特徴、整数、段階、動作、要素、構成要素若しくはそれらの群又はその組み合わせの存在又は追加を除外しないことがさらに理解されるであろう。
以下の説明は、論理的破損保護を実装するための格納容量の拡大のいくつかの態様を開示する。
一般的な一態様では、コンピュータ実装方法は、格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を受け取る段階と、要求に応えて、バックアップ格納スペースに追加エクステントを追加する段階と、バックアップ格納スペース内の現在のエクステント位置を識別する段階と、現在のエクステント位置とバックアップ格納スペースに追加された追加エクステントとの間に充満エクステント位置が存在するかどうかを判定する段階と、判定に基づいて、バックアップ格納スペースに追加された追加エクステントを条件付きで利用する段階とを含んでいる。
このように、格納ボリュームのためのバックアップ格納スペースのサイズを増加させてもよく、最初にバックアップ格納スペース全体(及び格納されているすべてのデータバックアップ)を消去して新しいサイズで新しいバックアップ格納スペースを構築する必要はない。これにより、バックアップ格納スペースを拡大するために必要な処理量を削減でき、このような拡大を実装する1つ又は複数の有形コンピューティングデバイスの性能を改善することができる。
一般的な一態様では、バックアップ格納スペース及び格納ボリュームのパラメータの監視に基づいて自動的に要求を生成し、そのパラメータは容量使用量の閾値、乗数の増分量、及び乗数の制限を含んでいる。
別の一般的な態様によれば、論理的破損保護を実装するために格納容量を拡大するためのコンピュータプログラム製品は、具現化されたプログラム命令を有するコンピュータ可読格納媒体を備えており、コンピュータ可読格納媒体は、一過性の信号それ自体ではなく、プログラム命令はプロセッサによって、プロセッサに方法を遂行させるように実行可能であり、その方法は、格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を、プロセッサによって受け取る段階と、要求に応えてバックアップ格納スペースに追加エクステントを、プロセッサによって追加する段階と、バックアップ格納スペース内の現在のエクステント位置を、プロセッサによって識別する段階と、現在のエクステント位置とバックアップ格納スペースに追加された追加エクステントとの間に充満エクステント位置が存在するかどうかを、プロセッサによって判定する段階と、判定に基づいて、バックアップ格納スペースに追加された追加エクステントを、プロセッサによって条件付きで利用する段階とを含んでいる。
一般的な一態様では、現在のエクステント位置は、ローリングバッファ方式に従って判定される。
別の一般的な態様によれば、システムは、プロセッサと、プロセッサと統合されているか、プロセッサによって実行可能であるか、又はプロセッサと統合されていてかつプロセッサによって実行可能である論理とを備えており、論理は、格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を受け取り、要求に応えて、バックアップ格納スペースに追加エクステントを追加し、バックアップ格納スペース内の現在のエクステント位置を識別し、現在のエクステント位置とバックアップ格納スペースに追加された追加エクステントとの間に充満エクステント位置が存在するかどうかを判定し、判定に基づいて、バックアップ格納スペースに追加された追加エクステントを条件付きで利用するように構成されている。
別の一般的な態様によれば、コンピュータ実装方法は、格納ボリュームのためのバックアップ格納スペースの現在の使用量を監視する段階と、現在の使用量を容量閾値と比較する段階と、比較する段階及び所定のサイズ制限に基づいて、バックアップ格納スペースのサイズを条件付きで増加させる段階とを含んでいる。
別の一般的な態様によれば、バックアップ格納スペースの管理を自動化するためのコンピュータプログラム製品は、具現化されたプログラム命令を有するコンピュータ可読格納媒体を備えており、コンピュータ可読格納媒体は、一過性の信号それ自体ではなく、プログラム命令はプロセッサによって、プロセッサに方法を遂行させるように実行可能であり、その方法は、格納ボリュームのためのバックアップ格納スペースの現在の使用量を、プロセッサによって監視する段階と、現在の使用量を容量閾値と、プロセッサによって比較する段階と、比較する段階及び所定のサイズ制限に基づいて、バックアップ格納スペースのサイズを、プロセッサによって条件付きで増加させる段階とを含んでいる。
このように、バックアップ格納スペースのサイズを、格納ボリュームに合わせて動的に調整してもよい。これにより、バックアップ格納スペースは確実に、LCP実装の部分として格納ボリュームのための十分な数のデータバックアップをサポートするのに十分な大きさになる。その結果、データの破損/消失からの格納ボリュームのデータ保護を確実にすることができ、格納ボリュームを利用する1つ又は複数の有形コンピューティングデバイスの性能をさらに改善することができる。
この開示はクラウドコンピューティングに関する詳細な説明を含んでいるが、本明細書に記載の教示の実装は、クラウドコンピューティング環境に限定されないことを理解するべきである。むしろ、本発明の態様は、現在知られている、又は後に開発される他の任意の種類のコンピューティング環境と共に実装され得る。
クラウドコンピューティングは、最小限の管理労力又はサービスのプロバイダとの対話で、迅速にプロビジョニング及びリリースができる構成可能コンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、格納、アプリケーション、仮想マシン、及びサービス)の共有プールへの便利なオンデマンド型ネットワークアクセスを可能にするサービスデリバリモデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの展開モデルを含んでもよい。
以下が特性である。
オンデマンドのセルフサービス:クラウド利用者は、サービスのプロバイダとの人間による対話を必要とせずに、必要に応じて自動的に、サーバ時間及びネットワーク格納などのコンピューティング能力を一方的にプロビジョニングできる。
広いネットワークアクセス:ネットワークを介して能力を利用可能であり、異種混交のシンクライアントプラットフォーム又はシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、及び、PDA)による使用を促進する標準的なメカニズムを通して能力にアクセスする。
リソースプーリング:プロバイダのコンピューティングリソースをプールし、マルチテナントモデルを使用して複数の利用者にサービスを提供しており、異なる物理及び仮想リソースが需要に応じて動的に割り当てられ、再割り当てされる。利用者は、概して、提供されるリソースの厳密な位置を制御も、又はそれを知ることもできないが、より高い抽象レベル(例えば、国、州、又はデータセンタ)では位置を指定可能である点で、位置的独立感がある。
迅速な伸縮性:場合によっては自動的に、能力を迅速かつ伸縮自在にプロビジョニングして素早くスケールアウトすることも、迅速にリリースして素早くスケールインすることも可能である。利用者にとって、多くの場合、プロビジョニングに使用できる能力は無制限に表示され、いつでも任意の数量で購入できる。
計測サービス:サービスの種類(例えば、格納、処理、帯域幅、及びアクティブなユーザアカウント)に適したある抽象レベルで計量能力を活用することにより、クラウドシステムはリソースの使用を自動的に制御及び最適化する。リソースの使用量を監視、制御、報告できるため、利用したサービスのプロバイダと利用者の両方に透明性を提供できる。
以下がサービスモデルである。
サービスとしてのソフトウェア(SaaS):利用者に提供される能力は、クラウドインフラストラクチャで実行されているプロバイダのアプリケーションの使用である。アプリケーションには、ウェブブラウザ(例えば、ウェブベースのメール)等のシンクライアントインターフェースを介して様々なクライアントデバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティングシステム、格納、又は個々のアプリケーション能力をも含む、基盤となるクラウドインフラストラクチャを管理も、又は制御もしないが、限定されたユーザ固有のアプリケーション構成設定が例外になることはあり得る。
サービスとしてのプラットフォーム(PaaS):利用者に提供される能力は、プロバイダがサポートするプログラミング言語及びツールを使用して作成された、利用者作成又は取得のアプリケーションのクラウドインフラストラクチャ上への展開である。利用者は、ネットワーク、サーバ、オペレーティングシステム、又は格納を含む、基盤となるクラウドインフラストラクチャを管理も、又は制御もしないが、展開されたアプリケーションと、場合によってはアプリケーションのホスティング環境構成とを制御できる。
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される能力は、処理、格納、ネットワーク、その他の基本的なコンピューティングリソースのプロビジョニングであり、ここで、利用者は任意のソフトウェア(オペレーティングシステムとアプリケーションを含み得る)を展開及び実行できる。利用者は基盤となるクラウドインフラストラクチャを管理も、又は制御もしないが、オペレーティングシステム、格納、展開されたアプリケーションを制御でき、場合によっては選ばれたネットワーク構成要素(例えば、ホストファイアウォール)を限定的に制御できる。
以下が展開モデルである。
プライベートクラウド:クラウドインフラストラクチャは組織専用に動作する。これは組織又はサードパーティによって管理され、オンプレミス又はオフプレミスに存在する場合がある。
コミュニティクラウド:クラウドインフラストラクチャは複数の組織で共有され、懸念事項(例えば、ミッション、セキュリティ要件、方針、及びコンプライアンスの考慮事項)を共有してきた特定のコミュニティをサポートしている。これは組織又はサードパーティによって管理され、オンプレミス又はオフプレミスに存在する場合がある。
パブリッククラウド:クラウドインフラストラクチャは、一般市民又は大規模業界団体が利用でき、クラウドサービスを販売する組織が所有している。
ハイブリッドクラウド:クラウドインフラストラクチャは、2つ又はそれより多くのクラウド(プライベート、コミュニティ、又はパブリック)の合成体であり、それらは独自のエンティティでありながら、データとアプリケーションの移植性(例えば、クラウド間の負荷均衡化のためのクラウドバースト)を可能にする標準化された又は独自開発の技術によって結びつけられている。
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性を重視したサービス指向型である。クラウドコンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図1を参照すると、例示的なクラウドコンピューティング環境50が示されている。図示のように、クラウドコンピューティング環境50は、1つ又は複数のクラウドコンピューティングノード10を備えており、これらを相手に、クラウド利用者が使用するローカルコンピューティングデバイス(例えば、携帯情報端末(PDA)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、若しくは自動車コンピュータシステム54N、又はそれらの組み合わせ等)は通信することができる。ノード10は互いに通信してもよい。それらを、1つ又は複数のネットワーク(上記で説明したようなプライベートクラウド、コミュニティクラウド、パブリッククラウド、若しくはハイブリッドクラウド、又はそれらの組み合わせなど)において、物理的又は仮想的にグループ化してもよい(図示せず)。これにより、クラウドコンピューティング環境50は、インフラストラクチャ、プラットフォーム、若しくはソフトウェア、又はそれらの組み合わせをサービスとして提供できるようになり、そのために、クラウド利用者がローカルコンピューティングデバイス上にリソースを維持する必要はない。図1に示すコンピューティングデバイス54A~Nの型式は例示のみを意図しており、コンピューティングノード10及びクラウドコンピューティング環境50は任意の種類のネットワーク、若しくはネットワークアドレス可能な接続、又はそれらの組み合わせを通して(例えば、ウェブブラウザを使用して)任意の種類のコンピュータ化デバイスと通信できることが理解される。
ここで図2を参照すると、クラウドコンピューティング環境50(図1)によって提供されるひと揃いの機能的抽象レイヤが示されている。図2に示される構成要素、レイヤ、及び機能は、例示のみを意図しており、本発明の態様はそれらに限定されないことを事前に理解するべきである。図示のように、以下のレイヤ及び対応する機能が提供される。
ハードウェア及びソフトウェアレイヤ60は、ハードウェア及びソフトウェア構成要素を備える。ハードウェア構成要素の例には、メインフレーム61と、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62と、サーバ63と、ブレードサーバ64と、格納デバイス65と、ネットワーク及びネットワーク構成要素66が含まれる。いくつかの態様では、ソフトウェア構成要素には、ネットワーク・アプリケーション・サーバ・ソフトウェア67及びデータベース・ソフトウェア68が含まれる。
仮想レイヤ70は抽象レイヤを提供し、そこから提供され得る仮想エンティティの例には、仮想サーバ71、仮想格納72、仮想ネットワーク73(仮想プライベートネットワークを含む)、仮想アプリケーション及びオペレーティングシステム74、仮想クライアント75がある。
一実施例では、管理レイヤ80は、以下で説明する機能を提供してもよい。リソースプロビジョニング81は、コンピューティングリソースと、クラウドコンピューティング環境内でタスクを遂行するために利用される他のリソースの動的獲得を提供する。計量及び価格設定82は、リソースがクラウドコンピューティング環境内で利用される際のコスト追跡と、これらのリソースの消費に対する勘定又は請求を提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティが、クラウドの利用者とタスクの身元証明、及びデータとその他のリソースの保護を提供する。ユーザポータル83は、利用者及びシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要なサービスレベルに適合するように、クラウドコンピューティングリソースの割り当て及び管理を提供する。サービスレベルアグリーメント(SLA)の計画及び履行85は、SLAに従って将来の必要性が予想されるクラウドコンピューティングリソースの事前編成と獲得を提供する。
作業負荷レイヤ90は、クラウドコンピューティング環境を利用し得る機能の例を提供する。このレイヤから提供され得る作業負荷と機能の例には、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育デリバリ93、データ分析処理94、トランザクション処理95、論理的破損保護(LCP)96が含まれる。
ここで図3を参照すると、クラウドコンピューティングノードの例の概略図が示されている。クラウドコンピューティングノード10は、好適なクラウドコンピューティングノードの一例にすぎず、本明細書に記載の本発明の態様の使用又は機能の範囲に関していかなる限定の示唆を意図するものではない。いずれにしても、クラウドコンピューティングノード10は、上述の機能のいずれも実装若しくは遂行又はその両方をすることができる。
クラウドコンピューティングノード10には、コンピュータシステム/サーバ12があり、これは、他の多くの汎用又は専用のコンピューティングシステム環境又は構成で動作する。コンピュータシステム/サーバ12との使用に好適である可能性がある周知のコンピューティングシステム、環境、若しくは構成又はそれらの組み合わせの例には、これらに限定されないが、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、手持ち型又はラップトップ型デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、及び任意の上記のシステム又はデバイス等を含む分散型クラウドコンピューティング環境が含まれる。
コンピュータシステム/サーバ12を、コンピュータシステムによって実行されているプログラムモジュールなどのコンピュータシステム実行可能命令の一般的な文脈で説明してもよい。概して、プログラムモジュールは、特定のタスクを遂行する、又は特定の抽象データ形式を実装するルーチン、プログラム、オブジェクト、構成要素、論理、データ構造などを含んでもよい。コンピュータシステム/サーバ12を分散型クラウドコンピューティング環境で実施してもよく、ここでは、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが遂行される。分散型クラウドコンピューティング環境では、プログラムモジュールを、メモリ格納デバイスを含むローカル及びリモートの両方のコンピュータシステム格納媒体に置いてもよい。
図3に示すように、クラウドコンピューティングノード10内のコンピュータシステム/サーバ12が、汎用コンピューティングデバイスの形態で示されている。コンピュータシステム/サーバ12の構成要素には、これらに限定されないが、1つ又は複数のプロセッサ又は処理ユニット16、システムメモリ28、及びシステムメモリ28を含む様々なシステム構成要素をプロセッサ16に結合しているバス18が含まれ得る。
バス18は、いくつかの種類のバス構造のうちのいずれか1つ又は複数を表し、メモリバス又はメモリコントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、様々なバスアーキテクチャのいずれかを使用するプロセッサ又はローカルのバスを含む。限定ではなく例として、そのようなアーキテクチャには、インダストリ・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンスドISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカルバス、及び周辺機器相互接続(PCI)バスが含まれる。
コンピュータシステム/サーバ12は、通常、様々なコンピュータシステム可読媒体を含む。そのような媒体は、コンピュータシステム/サーバ12によってアクセス可能な任意の利用可能な媒体であってもよく、揮発性媒体と不揮発性媒体、リムーバブル媒体と非リムーバブル媒体の両方を含む。
システムメモリ28は、ランダムアクセスメモリ(RAM)30若しくはキャッシュメモリ32又はそれらの組み合わせなど、揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。コンピュータシステム/サーバ12は、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータシステム格納媒体をさらに含んでもよい。単に、例として、格納システム34は、非リムーバブルな不揮発性磁気媒体から読み取り、そこへ書き込むために提供され得る(図示されていないが、通常は「ハードドライブ」と呼ばれる)。図示されていないが、リムーバブルな不揮発性磁気ディスク(例えば、「フロッピディスク」)から読み取り、そこへ書き込むための磁気ディスクドライブと、CD-ROM、DVD-ROM又は他の光学媒体などのリムーバブルな不揮発性光ディスクから読み取り、又はそこへ書き込むための光ディスクドライブを提供することができる。そのような場合、それぞれは、1つ又は複数のデータ媒体インターフェースによってバス18に接続され得る。以下でさらに図示及び説明するように、メモリ28は、本発明の態様の機能を実施するように構成されたひと揃い(例えば、少なくとも1つ)のプログラムモジュールを有する少なくとも1つのプログラム製品を備えてもよい。
ひと揃い(少なくとも1つ)のプログラムモジュール42を有するプログラム/ユーティリティ40を、限定ではなく例として、メモリ28に格納してもよく、また、オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータも同様である。各オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータ又はそれらの何らかの組み合わせは、ネットワーク環境の実装を含んでもよい。プログラムモジュール42は、概して、本明細書に記載の本発明の態様の機能若しくは方式又はその組み合わせを実施する。
コンピュータシステム/サーバ12はまた、キーボード、ポインティングデバイス、ディスプレイ24などの1つ又は複数の外部デバイス14、ユーザがコンピュータシステム/サーバ12と相互に作用することを可能にする1つ又は複数のデバイス、若しくはコンピュータシステム/サーバ12が1つ又は複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)、又はそれらの組み合わせと通信してもよい。そのような通信は、入力/出力(I/O)インターフェース22を介して生じ得る。さらに、また、コンピュータシステム/サーバ12は1つ又は複数のネットワークと通信することができ、その例には、ローカルエリアネットワーク(LAN)、一般的な広域ネットワーク(WAN)、若しくはネットワークアダプタ20を介したパブリックネットワーク(例えば、インターネット)、又はそれらの組み合わせがある。図示のように、ネットワークアダプタ20は、バス18を介してコンピュータシステム/サーバ12の他の構成要素と通信する。図示されていないが、他のハードウェア構成要素若しくはソフトウェア構成要素又はそれらの組み合わせをコンピュータシステム/サーバ12と共に使用できることを、理解するべきである。例としては、これらに限定されないが、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータアーカイブ格納システムなどが含まれる。
ここで図4を参照すると、一態様による格納システム400が示されている。図4に示す要素のいくつかを、様々な態様によれば、ハードウェア若しくはソフトウェア又はそれらの組み合わせとして実装してもよいことに留意されたい。格納システム400は、少なくとも1つの上位格納階層402及び少なくとも1つの下位格納階層406上の複数の媒体と通信するための格納システムマネージャ412を含んでもよい。上位格納階層402は、好ましくは、1つ又は複数のランダムアクセス若しくは直接アクセス又はそれらの組み合わせの媒体404を含んでもよく、その例には、ハードディスクドライブ(HDD)内のハードディスク、不揮発性メモリ(NVM)、ソリッドステートドライブ(SSD)のソリッドステートメモリ、フラッシュメモリ、SSDアレイ、フラッシュメモリアレイなど、若しくは、本明細書に記載されている若しくは当技術分野で知られている他のもの、又はそれらの組み合わせがある。下位格納階層406は、好ましくは、1つ又は複数の下位性能格納媒体408を含んでもよく、そこには、テープドライブの磁気テープ若しくは光媒体若しくはそれらの組み合わせ等のシーケンシャルアクセス媒体、低速アクセスHDD、低速アクセスSSDなど、若しくは、本明細書に記載されている若しくは当技術分野で知られている他のもの、又はそれらの組み合わせが含まれる。1つ又は複数の追加の格納階層416は、システム400の設計者が望むように、格納メモリ媒体の任意の組み合わせを含んでもよい。また、上位格納階層402若しくは下位格納階層406又はそれらの組み合わせのいずれかは、格納デバイス若しくは格納媒体又はその両方の何らかの組み合わせを含んでもよい。
格納システムマネージャ412は上位格納階層402及び下位格納階層406上の格納媒体404、408と、図4に示すような格納エリアネットワーク(SAN)などのネットワーク410、又は何らかの他の好適なネットワーク形式を介して通信してもよい。格納システムマネージャ412はまた、1つ又は複数のホストシステム(図示せず)と、ホストインターフェース414を介して通信してもよく、これは格納システムマネージャ412の部分であってもよいが、そうでなくてもよい。格納システムマネージャ412、若しくは格納システム400の他の構成要素、又はそれらの組み合わせは、ハードウェア若しくはソフトウェア又はそれらの組み合わせで実装されてもよく、当技術分野で知られている種類のコマンドを実行するために、中央処理装置(CPU)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)などのプロセッサ(図示せず)を使用してもよい。もちろん、本明細書を読めば当業者には明らかとなるように、任意の編成の格納システムを使用してもよい。
より多くの態様では、格納システム400は、任意の数のデータ格納階層を含んでもよく、各格納階層内に同じ又は異なる格納メモリ媒体を含んでもよい。例えば、各データ格納階層は、同じ種類の格納メモリ媒体を含んでもよく、その例には、HDD、SSD、シーケンシャルアクセス媒体(テープドライブ内のテープ、光ディスクドライブ内の光ディスクなど)、直接アクセス媒体(CD-ROM、DVD-ROMなど)、又は媒体格納形式の任意の組み合わせがある。そのような構成の1つでは、上位格納階層402は、上位性能格納環境にデータを格納するためのSSD格納媒体の大部分を含んでもよく、下位格納階層406及び追加の格納階層416を含む残りの格納階層は、下位性能格納環境にデータを格納するためのSSD、HDD、テープドライブなどの任意の組み合わせを含んでもよい。このように、より頻繁にアクセスされるデータ、より高い優先度を有するデータ、より素早くにアクセスする必要があるデータなどを上位格納階層402に格納してもよく、他方で、これらの属性を1つも持たないデータを追加の格納階層416(下位格納階層406も含めて)に格納してもよい。もちろん、当業者は、本説明を読めば、多くの他の格納媒体形式の組み合わせを考案して、本明細書に提示された態様に従って異なる格納スキームに実装し得る。
いくつかの態様によると、格納システム(400など)は、要求を受け取ってデータセットを開くように構成された論理と、要求されたデータセットが複数の関連する一部で階層化データ格納システム400の下位格納階層406に格納されているかどうかを判定するように構成された論理と、要求されたデータセットの各関連する一部を階層化データ格納システム400の上位格納階層402に移動させるように構成された論理と、要求されたデータセットを関連する一部から、階層化データ格納システム400の上位格納階層402上でアセンブルするように構成された論理とを含んでもよい。
もちろん、この論理を、様々な態様により、任意のデバイス若しくはシステム若しくはそれらの組み合わせ上の方法として、又はコンピュータプログラム製品として実装してもよい。
[論理的なデータ破損]
[論理的なデータ破損]
一態様では、論理的なデータ破損は、データ格納ハードウェアは損傷なく正常に機能しているが、格納されているデータがコンテンツレベルで破壊されている、若しくは破損している、又はその両方の場合に発生する。これは、意図的又は意図的でないデータの消去、暗号化、及び操作の結果として発生する可能性がある。例えば、論理的なデータ破損を生じさせる可能性がある、アプリケーションの破損の原因には、ユーザエラー、データの不注意又は悪意による破壊、許可なしにデータが暗号化され得るランサムウェアの実装などがある。
論理的なデータ破損に対処するために、論理的破損保護(LCP)では、コンテンツを意識したソリューションの実装が必要になる場合がある。例えば、セーフガードコピー(SGC)は、分散型格納システムに格納されたデータにLCPを実装し、論理的なデータ破損のイベントの識別と、そのようなイベントからの回復を実装してもよい。
[セーフガードコピーの例示的な目的]
[セーフガードコピーの例示的な目的]
一態様では、セーフガードコピーは、以下の例示的な目的を有する。
● 容量使用量を最適化し、性能影響を最小限に抑えて、複数のボリューム又は格納システムの全体で多くの回復コピーを作成できるようにする。
● 本番環境の実行を継続しながら、以前の回復ポイントをひと揃いの回復ボリュームで利用できるようにする。
● セーフガードコピーのデータを保護して、偶発又は故意の侵害を防止する。
● 分散型格納システムのデバイスの番号とホストデバイスのアドレスは使用しないようにする。
● 容量使用量を最適化し、性能影響を最小限に抑えて、複数のボリューム又は格納システムの全体で多くの回復コピーを作成できるようにする。
● 本番環境の実行を継続しながら、以前の回復ポイントをひと揃いの回復ボリュームで利用できるようにする。
● セーフガードコピーのデータを保護して、偶発又は故意の侵害を防止する。
● 分散型格納システムのデバイスの番号とホストデバイスのアドレスは使用しないようにする。
セーフガードコピーは、データのポイント・イン・タイム・フル・ボリューム・スナップショットとは異なる場合があり、これは、本番ボリュームの即座にアクセス可能なコピーを提供し、各コピーは、データの観点から他から独立している。
[例示的なセーフガードコピー動作]
[例示的なセーフガードコピー動作]
図5は、例示的な一態様による、例示的なセーフガードバックアップ構成500を例示する。図示のように、セーフガードコピーは、本番ボリューム504(例えば、ソース/セーフガードソースなどの格納ボリューム)用の複数の回復ポイント502を作成する機能を提供する。これらの回復ポイント502は、セーフガードバックアップ(例えば、バックアップ/SGバックアップ)と呼ばれる。一態様では、回復データは、別個の通常のボリュームではなく、セーフガードバックアップ容量(SGBC)と呼ばれるバックアップ格納スペース506に格納される。ホストからバックアップに直接アクセスすることはできない。バックアップが、分離された回復ボリューム508に回復された後でのみ、データを使用できる。
回復ポイント502が回復ボリューム508に復元されると、回復システム510を使用してアクセスすることができる。このシステムは、セキュリティ要件に応じて、本番システム512と同じであっても、なくてもよい。非同期データのコピー/ミラーリングを使用して、データを回復システム510から本番ボリューム504に復元してもよい。本番ボリューム504を、回復ボリューム508と同じ、又は異なる分散型データ格納システムに置いてもよい。
本番環境は、1つ又は複数の格納システム全体で数百又は数千のボリューム504から構成され得る。論理的破損保護の重要な態様は、バックアップの部分であるすべてのボリュームにわたって整合する回復ポイントを提供することである。これらの回復ポイントは整合性グループ(CG)と呼ばれる。
[例示的なバックアップ管理]
[例示的なバックアップ管理]
セーフガードコピーのバックアップを、意図的でない、又は意図的な改ざんから保護してもよい。例えば、ユーザは、分散型格納システム管理インターフェースを使用して、手動で作成、消去、又は回復することはできない。コピーサービスマネージャ(CSM)のインスタンスを使用して、これらのタスクを遂行してもよい。CSMはセッション概念を使用して、完全な整合性グループを管理してもよい。
図6は、例示的な一態様による、例示的なCSMセーフガードコピーセッション600を例示する。図示のように、セッション600は、複数のコピーセット606A~Nを含む。バックアップする本番ボリュームごとに1つのコピーセットがある。複数のコピーセット606A~Nのそれぞれは、関連するセーフガードバックアップ容量608A~N(例えば、バックアップ格納スペース)を有する本番/ソース/格納ボリューム604A~N及び回復ボリューム602A~Nを含む。CSMは、セッション600全体でバックアップ及び回復などのアクションを遂行する。CSMは、組み込みスケジューラを使用してこれらの動作を自動的に実行してもよい。
CSMは、バックアップのライフサイクルも管理する。バックアップの保持期間を指定でき、CSMは、保持期間後に必要とされないバックアップを自動的に期限切れに(削除)してもよい。こうして管理を簡素化し、確実なものにすることができ、セッション全体で整合性を確実に維持できるようになる。
[例示的なセーフガードバックアップ容量]
[例示的なセーフガードバックアップ容量]
セーフガードバックアップ容量608A~Nをシンプロビジョニングしてもよい。効率を改善するために、小さなエクステントを使用してもよい。既存のセーフガードバックアップが存在しない場合、セーフガードバックアップ容量は、ソースボリュームに関連付けられた純粋な仮想容量である。物理的な格納スペースは、バックアップの作成時に割り当てられ、当初のボリュームに上書きされたデータはバックアップに保存される。バックアップデータはトラック単位で保存される。
バックアップするボリュームごとに、セーフガードバックアップ容量の最大量を指定してもよい。指定された容量に達すると、最も古いバックアップが自動的に削除され、スペースが解放される。所与のボリュームに対してセーフガードバックアップが存在する限り、関連するセーフガードバックアップ容量の消去を防止してもよい。物理スペースで格納プールが不足すると、データがバックアップ用か本番用かに関係なく、分散型格納システムは、プール設定に従って通知を送信してもよい。セーフガード関係で使用されている格納プールの物理スペースを使い果たしたと判定された場合、セーフガードバックアップをマイクロコードによって自動的に削除してもよい(例えば、利用可能な物理スペースの量が閾値量未満になった場合など)。
[例示的なセーフガードコピーのバックアップ]
[例示的なセーフガードコピーのバックアップ]
セーフガードコピーのバックアップが開始されると、分散型格納システムは整合性グループを作成する。本番ボリュームへの更新を追跡するために、メタデータとビットマップをセットアップする。バックアップのセットアップの後、分散型格納システムは、ホストI/Oによって上書きされるデータを、本番ボリュームから、セーフガードバックアップ容量内の整合性グループのログに記録された位置にコピーする。
次のバックアップが開始されると、分散型格納システムは以前のバックアップを閉じて、新しい整合性グループを作成してもよい。したがって、システムは、各バックアップを個別に維持する必要がない場合がある。特定の回復ポイントに復元するには、分散型格納システムは、回復するバックアップよりも新しいすべてのバックアップを必要とする。
整合性グループの作成による影響を最小限に抑えるには、セーフガードコピーのバックアッププロセスは次の3つの段階から構成される。
1.予約:この段階では、分散型格納システムは、新しいセーフガードバックアップを作成する準備をする。システムは必要なビットマップをセットアップし、セーフガードコピー容量でメタデータを準備する。また、それは、前回のバックアップから変更されたすべてのデータが整合性グループのログに格納されることを確認する。すべての準備が完了したら、実際の整合性グループの形成を行うことができる。
2.チェックイン:整合性グループを作成するには、分散型格納システムは、CG内のすべてのボリュームのすべての更新を短時間停止する必要がある。これは、拡張長期ビジー(ELB)状態を提示することによって行われる。キャッシュ内のデータに整合性がある場合、影響を受けるすべてのボリュームの以前の整合性グループのログは閉じられているため、整合性もとれている。これより、分散型格納システムは、新しいバックアップの整合性グループのログにさらにバックアップデータを書き込む。
3.完了:分散型格納システムはELBを解除し、書き込み動作を続行できる。コピーサービスマネージャは、これらの段階を自動的に調和させて遂行し、ホスト動作への影響を最小限に抑える。
[例示的なセーフガードコピーの回復]
1.予約:この段階では、分散型格納システムは、新しいセーフガードバックアップを作成する準備をする。システムは必要なビットマップをセットアップし、セーフガードコピー容量でメタデータを準備する。また、それは、前回のバックアップから変更されたすべてのデータが整合性グループのログに格納されることを確認する。すべての準備が完了したら、実際の整合性グループの形成を行うことができる。
2.チェックイン:整合性グループを作成するには、分散型格納システムは、CG内のすべてのボリュームのすべての更新を短時間停止する必要がある。これは、拡張長期ビジー(ELB)状態を提示することによって行われる。キャッシュ内のデータに整合性がある場合、影響を受けるすべてのボリュームの以前の整合性グループのログは閉じられているため、整合性もとれている。これより、分散型格納システムは、新しいバックアップの整合性グループのログにさらにバックアップデータを書き込む。
3.完了:分散型格納システムはELBを解除し、書き込み動作を続行できる。コピーサービスマネージャは、これらの段階を自動的に調和させて遂行し、ホスト動作への影響を最小限に抑える。
[例示的なセーフガードコピーの回復]
ユーザは、任意の回復ポイントを、分離された回復ボリュームに回復してもよい。このボリュームは、少なくとも本番ボリュームと同じ容量でなければならず、シンプロビジョニングされ得る。ユーザは、バックグラウンドコピーを使用して、又は使用せずに回復を遂行できる。ユーザは、限られた期間だけに回復されたデータが必要な場合は非コピーコマンドを、長期間使用することを意図している場合はコピーコマンドを、指定してもよい。ユーザは、CSMによってセーフガードコピーの回復を開始できる。
図7は、例示的な一態様による、例示的なセーフガードコピー構成700を例示する。図示のように、セーフガードコピー構成700は、本番ボリューム702(例えば、格納ボリューム)と、回復ボリューム704と、バックアップ格納スペース内に格納されている4つの回復ポイントを表す4つのセーフガードバックアップ(例えば、整合性グループのログのt1の706A~t4の706D、ただし、t4が最新である)とを含む。一態様では、非コピーオプションを使用して、時刻t2のポイントまで回復することができる。回復には以下の段階が含まれる。
1.分散型格納システムは、本番ボリューム702から回復ボリューム704へのデータのポイント・イン・タイム・スナップショットを確立する。これにより、回復ボリューム704が本番ボリューム702と同じになる。
2.次に、分散型格納システムは回復ビットマップ708を作成するが、これは、時刻t2以降に変更されたすべてのデータを表しており、本番ボリューム702からではなく、整合性グループのログのt4の706D、t3の706C、及びt2の706Bから参照されなければならない。
1.分散型格納システムは、本番ボリューム702から回復ボリューム704へのデータのポイント・イン・タイム・スナップショットを確立する。これにより、回復ボリューム704が本番ボリューム702と同じになる。
2.次に、分散型格納システムは回復ビットマップ708を作成するが、これは、時刻t2以降に変更されたすべてのデータを表しており、本番ボリューム702からではなく、整合性グループのログのt4の706D、t3の706C、及びt2の706Bから参照されなければならない。
このポイントから、回復ボリューム704を使用して読み取り及び書き込みアクセスを遂行し得る。回復システム710が回復ボリューム704からデータを読み取る場合、分散型格納システムは回復ビットマップ708を検査し、要求されたデータを本番ボリューム702から、又は整合性グループのログのt1の706A~t4の706Dのうちの1つからフェッチしなければならないかを決定する。同じトラックが複数のバックアップに表示される場合、システムは「最も古い」インスタンス(回復ポイントt2の706Bに最も近いインスタンス)を使用してもよい。
回復システム710が回復ボリューム704に書き込む場合、2つのケースのうちの1つが起こり得る。
● 全トラック書き込み:分散型格納システムは、既存のデータを考慮せずに、回復ボリューム704に直接書き込むことができる。
● 部分トラック書き込み:分散型格納システムは、上記のルールに従って最初に既存のデータをフェッチしてから、更新を適用する必要がある。
● 全トラック書き込み:分散型格納システムは、既存のデータを考慮せずに、回復ボリューム704に直接書き込むことができる。
● 部分トラック書き込み:分散型格納システムは、上記のルールに従って最初に既存のデータをフェッチしてから、更新を適用する必要がある。
バックグラウンドコピーで回復を遂行する場合、分散型格納システムは、同じルールに従って、本番ボリューム702及び整合性グループのログのt1の706A~t4の706Dからすべてのデータを回復ボリューム704にバックグラウンドでコピーする。バックグラウンドコピーが依然として実行中でも、いつでも回復ボリューム704にアクセスできる。
データを当初の本番ボリューム702に復元する場合、いくつかの選択肢が有効である。
● フルボリュームの復元:グローバルコピーを使用して、回復ボリューム704から本番ボリューム702にデータを複製してもよい。本番ボリューム702は、回復ボリューム704と同じ又は異なる分散型格納システム上にあってもよい。
● 選択的復元:本番ボリューム702を回復システム710が利用できるか、又は回復ボリューム704を本番システム712が利用できるかのいずれかである。次に、標準のオペレーティングシステム又はアプリケーションの方法を使用して、必要なデータを回復ボリューム704から本番ボリューム702にコピーしてもよい。
● フルボリュームの復元:グローバルコピーを使用して、回復ボリューム704から本番ボリューム702にデータを複製してもよい。本番ボリューム702は、回復ボリューム704と同じ又は異なる分散型格納システム上にあってもよい。
● 選択的復元:本番ボリューム702を回復システム710が利用できるか、又は回復ボリューム704を本番システム712が利用できるかのいずれかである。次に、標準のオペレーティングシステム又はアプリケーションの方法を使用して、必要なデータを回復ボリューム704から本番ボリューム702にコピーしてもよい。
ここで図8を参照すると、一態様による方法800のフローチャートが示されている。方法800を、様々な態様のなかでも、とりわけ、図1~7及び10に示される環境のいずれかで本発明に従って遂行してもよい。もちろん、本明細書を読めば当業者には理解されるように、図8に具体的に説明されている動作よりも多い又は少ない動作を方法800に含めることができる。
方法800の各段階を、動作環境の任意の好適な構成要素によって遂行してもよい。例えば、様々な態様で、方法800を、1つ又は複数のサーバ、コンピュータ、又は1つ又は複数のプロセッサを内部に有する他の何らかのデバイスによって部分的又は全体的に遂行してもよい。ハードウェア若しくはソフトウェア又はそれらの組み合わせに実装され、好ましくは少なくとも1つのハードウェア構成要素を有するプロセッサ(例えば、処理回路、チップ、若しくはモジュール、又はそれらの組み合わせ)を任意のデバイスで利用して、方法800の1つ又は複数の段階を遂行してもよい。例示的なプロセッサには、これらに限定されないが、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)など、それらの組み合わせ、又は当技術分野で知られている任意の他の好適なコンピューティングデバイスが含まれる。
図8に示すように、方法800は動作802と共に開始することになり、ここで、格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求が受け取られる。一態様では、格納ボリュームを、相互接続された格納システム(例えば、分散型データ格納システムなど)内に備えてもよい。別の態様では、格納ボリュームを単一のデバイス内に備えてもよい(例えば、単一ディスクオペレーティングシステム(DOS)内など)。さらに別の態様では、格納ボリュームは、1つ又は複数の有形格納ドライブを備えてもよい。
追加として、一態様では、バックアップ格納スペースを、格納ボリューム内のデータの論理的破損保護(LCP)実装の部分として作成してもよい。例えば、LCP実装は、格納ボリュームのデータバックアップ(例えば、回復ポイント)を作成してもよい。例えば、各データバックアップは、格納ボリューム内の所定のデータのポイント・イン・タイム・スナップショットを含んでもよい。別の例では、各データバックアップを、スナップショットが取られた特定の日時と関連付けてもよい。さらに別の例では、データバックアップを、所定のスケジュールに従って定期的に作成してもよい。
さらに、一態様では、LCP実装は、回復ポイントをバックアップ格納スペースに格納してもよく、ここでは、格納ボリュームを利用するホストからバックアップ格納スペースにアクセスできない。別の態様では、格納ボリューム内の1つ又は複数のエラーの発生に応えて、回復ポイントを、格納ボリュームから分離された回復ボリュームに復元してもよい。さらに別の態様では、格納ボリュームを実装するシステムから分離された回復システムによって、回復ボリュームにアクセスしてもよい。その後、回復システムから格納ボリュームにデータを復元してもよい。
なおもさらに、一態様では、バックアップ格納スペースは、物理的に、若しくは論理的に、又はその両方により格納ボリュームから分離されたデータ格納を含んでもよい。別の態様では、バックアップ格納スペースを、格納ボリュームと同じ物理デバイス内に置いてもよい。さらに別の態様では、バックアップ格納スペースを、格納ボリュームとは異なる物理デバイス内に置いてもよい。さらに別の態様では、バックアップ格納スペースと格納ボリュームの両方は物理データ格納(例えば、1つ又は複数の有形データ格納ドライブなど)を備えてもよい。
また、一態様では、バックアップ格納スペースは、バックアップ容量、セーフガードバックアップ容量などとしても知られている場合がある。別の態様では、格納ボリュームは、ホストボリューム、本番ボリュームなどとしても知られている場合がある。さらに別の態様では、バックアップ格納スペースの初期サイズを、バックアップ格納スペースをLCP実装の部分として作成するときに判定してもよい。例えば、バックアップ格納スペースの初期サイズを、格納ボリュームのサイズの所定の倍数としてもよい。
さらに、一態様では、要求を、手動のユーザ要求に応えて受け取ってもよい。別の態様では、要求を、データバックアップの数、若しくは頻度、又はそれらの組み合わせを増加させるべきという判定に応えて受け取ってもよい。さらに別の態様では、要求を、バックアップ格納スペース、若しくは格納ボリューム、又はそれらの組み合わせのパラメータの監視に基づいて自動的に生成してもよい。
例えば、管理アプリケーションは、バックアップ格納スペース及び格納ボリュームのパラメータを監視してもよい。別の例では、パラメータは、容量使用量の閾値(例えば、現在使用されているバックアップ格納スペースの閾値量)を含んでもよい。さらに別の例では、パラメータは乗数の増分量(例えば、乗数を増加させる単位となる量など)を含んでもよい。
別の例では、パラメータは乗数の制限(例えば、許容される最大乗数など)を含んでもよい。さらに別の例では、乗数は、保護されるべき格納ボリュームのサイズに対するバックアップ格納スペースのサイズを表してもよい。例えば、格納ボリュームの乗数2は、そのような格納ボリュームのためのバックアップ格納スペースのサイズは格納ボリュームのサイズの2倍になることを表してもよい。
さらに別の例では、管理アプリケーションは、乗数の増分量だけ格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を、現在使用されているバックアップ格納スペースの量が容量使用量の閾値を超えているという判定に応えて、自動的に生成してもよい。さらに別の例では、サイズ増加要求を、乗数の制限に達するまで、乗数の増分量により徐々に増加させてもよい。
さらに、方法800は動作804に進むことになり、要求に応えて、追加エクステントをバックアップ格納スペースに追加する。一態様では、エクステントは、バックアップ格納スペースによって使用される有形データ格納ハードウェア内の所定のデータ格納位置を含んでもよい。別の態様では、エクステントは均一な所定のサイズを有してもよく、又はエクステントのサイズは異なっていてもよい。
なおもさらに、一態様では、バックアップ格納スペースを、所定の順序の一連の隣接するエクステントとして表してもよい。別の態様では、追加エクステントを、所定の順序の一連の隣接するエクステントの最後に追加してもよい。さらに別の態様では、追加エクステントを、バックアップ格納スペースによって使用される有形データ格納ハードウェア内に追加のデータ格納位置を割り当てることによって追加してもよい。
また、方法800は動作806に進むことになり、バックアップ格納スペース内で現在のエクステント位置を識別する。一態様では、現在のエクステント位置は、次のデータバックアップをバックアップ格納スペース内に格納する位置を含んでもよい。別の態様では、現在のエクステント位置をローリングバッファ方式に従って判定してもよい。
例えば、バックアップ格納スペースは、所定の順序で配置された複数の隣接するエクステント位置を含んでもよい。現在のエクステント位置がデータバックアップで充満した後(例えば、データバックアップスケジュールなどによる)、所定の順序で次に隣接するエクステント位置が選択される。別の例では、ローリングバッファ方式は、バックアップ格納スペース内で、所定の順序での最後のエクステント位置がデータバックアップで充満していると、所定の順序での最初のエクステント位置が、次に充満するエクステント位置として選択されることを規定してもよい。これにより、バックアップ格納スペース内に循環バッファを作成することができる。
追加として、一態様では、エクステント位置を新しいデータバックアップで充満させるときに、エクステント位置は以前のデータバックアップで充満しているとの判定に応えて、以前のデータバックアップを削除/期限切れにして、新しいデータバックアップをエクステント位置に格納する。
さらに、方法800は動作808に進むことになり、現在のエクステント位置とバックアップ格納スペースに追加された追加エクステントとの間に充満エクステント位置が存在するかどうかを判定する。一態様では、何らかの充満中間エクステントが存在するかどうかを判定してもよく、ここで、充満中間エクステントは、現在データバックアップを格納しているエクステントであって、現在のエクステント位置とバックアップ格納スペースに追加された最初の追加エクステント位置との間に所定の順序で置かれているエクステントを含んでいる。別の態様では、これらの充満中間エクステントは、現在のエクステント位置が、バックアップ格納スペースに追加された追加エクステントに到達する前に期限切れになることが必要になる場合がある。
なおもさらに、方法800は動作810に進むことになり、バックアップ格納スペースに追加された追加エクステントを、判定に基づいて条件付きで利用する。一態様では、現在のエクステント位置と最初の追加エクステント位置との間に所定の順序で1つ又は複数の充満中間エクステントが存在することの識別に応えて、バックアップ格納スペースに、拡大状態にあるというラベルを付けてもよい。
例えば、バックアップ格納スペースに、バックアップ格納スペースのメタデータを調整すること、バックアップ格納スペース内に1つ又は複数のフラグを設定することなどによって、拡大状態にあるというラベルを付けてもよい。
また、一態様では、バックアップ格納スペースに、拡大状態にあるというラベルが付けられているとの判定に応えて、バックアップ格納スペースに追加された追加エクステントの使用を防止してもよく、(例えば、1人又は複数のユーザ、1つ又は複数のアプリケーションなどに)バックアップ格納スペースに追加された追加エクステントは使用する準備ができておらず、1つ又は複数の充満中間エクステントが期限切れになった後にのみ使用できることの通知を送ってもよい。別の態様では、期限切れになることが必要になる充満中間エクステントをユーザに提示してもよく、充満中間エクステントを手動で期限切れにするオプションをユーザに与えてもよい。
追加として、一態様では、また、バックアップスケジュールとローリングバッファ方式に従って、充満中間エクステントを期限切れにするオプションをユーザに与えてもよい(例えば、新しいデータバックアップが、中間エクステント内に格納されたデータバックアップに取って代わるときなど)。別の態様では、すべての充満中間エクステントが期限切れになったと判定されると、拡大状態ラベルをバックアップ容量から削除してもよい。
さらに、一態様では、バックアップ容量に、拡大状態にあるというラベルが付けられていない(例えば、フラグが設定されていない/現在のエクステント位置と最初の追加エクステント位置との間に1つ又は複数の充満中間エクステントが存在しない)との判定に応えて、バックアップ格納スペースに追加された追加エクステントの使用を可能にしてもよく、追加エクステントを使用する準備ができていることの通知を1人又は複数のユーザに送ってもよい。別の態様では、その後、追加エクステントを使用して、バックアップ格納スペースの当初のエクステントと共に、ローリングバッファ方式に従ってデータバックアップを格納してもよい。
なおもさらに、一態様では、単一のセーフガード容量セッション内の複数の異なる格納ボリュームに対して、複数の異なるバックアップ格納スペースが存在してもよい。例えば、充満中間エクステントは、複数のバックアップ格納スペースのそれぞれについて識別されてもよく、上記で示したように、バックアップ格納スペースに追加された追加エクステントの使用に影響を与える可能性もある。
また、一態様では、上記の動作のすべてを、格納ボリュームを含む有形システムの1つ又は複数によって、格納ボリューム自体によって、又は格納ボリュームから分離されたシステムによって遂行してもよい。
このように、格納ボリュームのためのバックアップ格納スペースのサイズを増加させてもよく、最初にバックアップ格納スペース全体(及び格納されているすべてのデータバックアップ)を消去して新しいサイズで新しいバックアップ格納スペースを構築する必要はない。これにより、バックアップ格納スペースを拡大するために必要な処理量を削減でき、このような拡大を実装する1つ又は複数の有形コンピューティングデバイスの性能を改善することができる。
追加として、バックアップ格納スペースに追加エクステントを追加している間、バックアップ格納スペースの当初のエクステントへのアクセスは引き続き許可され得る。これにより、定期的なデータボリュームのバックアップの格納が可能になることがあり、バックアップ格納スペースの拡大中に、LCP実装が格納ボリューム内のデータに引き続き適用されていることが確実になり得る。その結果、格納ボリューム内のデータを、バックアップ格納スペースの拡大中にデータの破損/消失から保護できるようになり、これにより、データの消失を防止し、格納ボリュームを利用する1つ又は複数の有形コンピューティングデバイスの性能をさらに改善することができる。
ここで図9を参照すると、一態様による、バックアップ格納スペースの管理を自動化するための方法900のフローチャートが示されている。方法900を、様々な態様のなかでも、とりわけ、図1から図7及び図10に示される環境のいずれかで本発明に従って遂行してもよい。もちろん、本明細書を読めば当業者には理解されるように、図9に具体的に説明されている動作よりも多い又は少ない動作を方法900に含めることができる。
方法900の各段階を、動作環境の任意の好適な構成要素によって遂行してもよい。例えば、様々な態様で、方法900を、1つ又は複数のサーバ、コンピュータ、又は1つ又は複数のプロセッサを内部に有する他の何らかのデバイスによって部分的又は全体的に遂行してもよい。ハードウェア若しくはソフトウェア又はそれらの組み合わせに実装され、好ましくは少なくとも1つのハードウェア構成要素を有するプロセッサ(例えば、処理回路、チップ、若しくはモジュール、又はそれらの組み合わせ)を任意のデバイスで利用して、方法900の1つ又は複数の段階を遂行してもよい。例示的なプロセッサには、これらに限定されないが、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)など、それらの組み合わせ、又は当技術分野で知られている任意の他の好適なコンピューティングデバイスが含まれる。
図9に示すように、方法900は動作902と共に開始することになり、ここでは、格納ボリュームのためのバックアップ格納スペースの現在の使用量が監視される。一態様では、バックアップ格納スペースの現在の使用量を監視する段階は、現在データバックアップで充満しているバックアップ格納スペース内のエクステント位置の合計数を判定する段階を含んでもよい。別の態様では、現在の使用量は、現在データバックアップで充満しているエクステント位置の合計割合を含んでもよい。
追加として、方法900は動作904に進むことになり、現在の使用量を容量閾値と比較する。一態様では、容量閾値を、バックアップ格納スペース用の複数のパラメータのうちの1つとしてメタデータに格納してもよい。別の態様では、パラメータは、容量使用量の閾値(例えば、現在使用されているバックアップ格納スペースの閾値量)を含んでもよい。
さらに、方法900は動作906に進むことになり、比較及び所定のサイズ制限に基づいて、バックアップ格納スペースのサイズを条件付きで増加させる。一態様では、バックアップ格納スペースのパラメータはまた、乗数の増分量(例えば、乗数を増加させる単位となる量など)を含んでもよい。別の態様では、パラメータは、乗数の制限などの所定のサイズ制限(例えば、バックアップ格納スペース内で許容される最大乗数など)を含んでもよい。
なおもさらに、一態様では、乗数は、保護されるべき格納ボリュームのサイズに対する、作成されるべきバックアップ格納スペースのサイズを表してもよい。例えば、格納ボリュームの乗数2は、そのような格納ボリュームのためのバックアップ格納スペースのサイズは格納ボリュームのサイズの2倍になることを表してもよい。別の態様では、格納ボリュームのためのバックアップ格納スペースのサイズを乗数の増分量だけ増加させる要求を、現在の使用量が容量閾値を超えているとの判定に応えて、自動的に生成してもよい。時間の経過とともに、サイズ増加要求を、乗数の制限に達するまで乗数の増分量によって徐々に増加させてもよい。
このように、バックアップ格納スペースのサイズを、格納ボリュームに合わせて動的に調整してもよい。これにより、バックアップ格納スペースは確実に、LCP実装の部分として格納ボリュームのための十分な数のデータバックアップをサポートするのに十分な大きさになる。その結果、データの破損/消失からの格納ボリュームのデータ保護を確実にすることができ、格納ボリュームを利用する1つ又は複数の有形コンピューティングデバイスの性能をさらに改善することができる。
図10は、例示的な一態様による、例示的な拡大格納環境1000を例示する。図示のように、バックアップ格納スペース1002は、格納ボリューム1004にバックアップ格納を提供する。例えば、バックアップ格納スペース1002は、格納ボリューム1004内のデータのための論理的破損保護(LCP)実装の部分として作成されてもよい。
追加として、定期的に、データバックアップを格納ボリューム1004に対して作成してもよく、バックアップ格納スペース1002の当初のエクステント1006A~Eの1つに格納してもよい。当初のエクステント1006A~Eは、最初の当初のエクステント1006Aから最後の当初のエクステント1006Eまでの所定の順序で並んでいてもよく、ローリングバッファ方式に従って充満させられてもよい。例えば、追加エクステント1008A~Dを追加する前、最初の当初のエクステント1006Aがデータバックアップで充満した後(例えば、バックアップスケジュール等に従って)、次の隣接する当初のエクステント1006Bを、所定の順序に従って充満させるように選択する。
さらに、ローリングバッファ方式は、バックアップ格納スペース1002内で、所定の順序での最後の当初のエクステント1006Eがデータバックアップで充満した後、所定の順序での最初の当初のエクステント1006Aが、次に充満するエクステント位置として選択されることを規定してもよい。
また、バックアップ格納スペース1002のサイズを増加させる要求に応えて、追加エクステント1008A~Dをバックアップ格納スペース1002に追加してもよい。一態様では、追加エクステント1008A~Dがバックアップ格納スペースに追加されたことに応えて、現在のエクステント1006Cを、バックアップ格納スペース1002内で判定してもよい。
なおもさらに、次に、中間エクステント1006D及び1006Eは、現在のエクステント1006Cと、バックアップ拡大部1010の最初の追加エクステント1008Aとの間に存在することを判定してもよい。また、これらの中間エクステント1006D及び1006Eは充満しており、追加エクステント1008A~Dをバックアップ格納スペース1002内で使用する前に期限切れになることが必要になることを判定してもよい。充満中間エクステント1006D及び1006Eの識別に応えて、バックアップ格納スペース1002に、拡大状態にあるというラベルを付けてもよい。
バックアップ格納スペース1002に、拡大状態にあるというラベルが付けられているとの判定に応えて、追加エクステント1008A~Dの使用を防止してもよく、追加エクステント1008A~Dは使用する準備ができておらず、充満中間エクステント1006D及び1006Eが期限切れになった後にのみ使用できることの通知を送ってもよい。
ユーザに、充満中間エクステント1006D及び1006Eを手動で期限切れにするオプションを与えてもよい。また、ユーザに、先在のデータバックアップスケジュール及びローリングバッファ方式に従って、充満中間エクステント1006D及び1006Eを期限切れにするオプションを与えてもよい。
充満中間エクステント1006D及び1006Eが期限切れになったと判定されると、拡大状態ラベルを、バックアップ格納スペース1002から削除してもよい。バックアップ格納スペース1002に、拡大状態にあるというラベルが付けられていないとの判定に応えて、追加エクステント1008A~1008Dの使用を可能にしてもよく、追加エクステント1008A~1008Dを使用する準備ができていることの通知を1人又は複数のユーザに送ってもよい。
その後、追加エクステント1008A~1008Dを使用して、バックアップ格納スペース1002の部分として当初のエクステント1006A~1006Eと共に、ローリングバッファ方式に従ってデータバックアップを格納してもよい。
[セーフガード容量拡大]
[セーフガード容量拡大]
セーフガードコピー(SGC)の実行中、ユーザがバックアップの数を増加させることを必要とする場合があり、その場合はセーフガード容量を増加させる必要がある。
ただし、セーフガード容量を増加させるプロセスでは、セーフガードバックアップを削除し、セーフガードバックアップボリュームを消去する必要がある。その後、ユーザは、セーフガードバックアップボリュームを新しい所望のサイズに作成し、セーフガードバックアップを再開する必要がある。追加として、バックアップ上のユーザデータのレイアウトは複雑であるため、セーフガードバックアップボリュームを増加させるだけでは、新しいスペースをすぐに使用することはできない。
それに応えて、更新された設計により、ユーザは1つのコマンドを発行してセーフガード容量を増加させることができ、新しいスペースが使用可能になるとユーザに通知される。ユーザは、新しいスペースが使用可能になるときの通知を待っている間も、セーフガードセッションを実行し続けることができる。
SGCはローリングバッファメカニズムを使用して、トラック(顧客とメタデータ)をバックアップボリュームにコピーする。これにより、バックアップボリューム上で各セーフガードバックアップが連続的に維持される。ボリュームの最後に新しいスペースを追加した後、新しいスペースを使用すると、セーフガードバックアップがラップアラウンドケース内にある場合、トラックとバックアップが散在的になる可能性がある。
新しい設計では、拡大コマンドを実行し、バックアップボリュームのサイズを増加させることができる。SGCは、セーフガードバックアップボリュームがラップアラウンドケース内に入らなくなるまで、新しい拡大領域を使用しない。拡大コマンドの間は下記のようになる。
● セーフガードバックアップボリュームがラップアラウンドケース内にある場合、拡大状態にあることを示すフラグがセーフガードボリュームに設定される。拡大された容量は使用されない。
● セーフガードバックアップボリュームがラップアラウンドケース内にない場合、フラグは設定されず、セーフガードボリュームを将来のバックアップに使用する準備ができているという通知が、NI(例えば、情報/イベントをユーザに報告するシステム構成要素)に送られる。
● セーフガードバックアップボリュームがラップアラウンドケース内にある場合、拡大状態にあることを示すフラグがセーフガードボリュームに設定される。拡大された容量は使用されない。
● セーフガードバックアップボリュームがラップアラウンドケース内にない場合、フラグは設定されず、セーフガードボリュームを将来のバックアップに使用する準備ができているという通知が、NI(例えば、情報/イベントをユーザに報告するシステム構成要素)に送られる。
拡大中の状態の間、バックアップ関係クエリは、新しい拡大領域を使用するために期限切れにする必要があるバックアップを示し、ボリューム格納ステータスクエリは、セーフガードボリュームが拡大中の状態にあるかどうかを示す。ひとたび、すべてのバックアップが期限切れになり、拡大中の状態から抜けると、通知がNIに送られ、セーフガード拡大領域を使用する準備ができたことをユーザに知らせる。バックアップ関係クエリとボリューム格納ステータスクエリは「拡大中の状態」を表示しない。
[セーフガードコピー仮想容量の管理の自動化]
[セーフガードコピー仮想容量の管理の自動化]
作業負荷とホストは様々であるため、セーフガード(SFG)セッション内のいくつかのボリュームでは、SFGボリュームに2から3の倍数の仮想容量しか必要としない場合がある。SFGセッション内のいくつかのボリュームでは、SFGボリュームに9から10の倍数の仮想容量が必要になる場合がある。SFGソースボリュームへのデータ量も時間とともに変化する可能性がある。
乗数の値を手動で管理することは、多くのSFGボリュームを監視するために、不可能ではないにしても難しい場合がある。その結果、プロセスを自動化する方法は、大規模なセーフガード環境を有するユーザにとって役立つ場合がある。
一態様では、ボリュームの仮想容量のパラメータを監視してもよく、そのようなパラメータの値によっては、必要なときにセーフガードボリュームを自動的に拡大してもよい。
すべてのボリュームに大幅に高い値を設定する必要性を避けるために、異常値ボリュームのための増加を自動的に/動的に調整して、仮想容量の不足によりバックアップが期限切れになり始める前に事前に値を増加させてもよい。これにより、増加が有効になる前に期限切れになるいくらかのバックアップを削減又は排除さえもできる場合がある。
一態様では、監視されるパラメータは(格納ボリューム/対応するバックアップ格納スペース毎に)以下のものを含んでもよい。
● 容量使用量の閾値-これ以上になると乗数を増加させるときの容量の割合
● 乗数の増分-乗数を増加させるときの増分-%又は整数が想定される
● 乗数の制限-許容される最大乗数
● 容量使用量の閾値-これ以上になると乗数を増加させるときの容量の割合
● 乗数の増分-乗数を増加させるときの増分-%又は整数が想定される
● 乗数の制限-許容される最大乗数
所定の間隔又はイベントに従って、現在の環境を(格納ボリューム/対応するバックアップ格納スペース毎に)、次のように監視してもよい。
1.容量使用量の閾値を超えるボリュームがあるかどうかを判定する
2.閾値を超えるボリュームがある場合、乗数が乗数の制限を下回っているかどうかを点検する
3.乗数が乗数の制限を下回っている場合、バックアップ容量の乗数(バックアップ格納スペースのサイズを、対応する格納ボリュームの倍数として規定する乗数)を徐々に増加させるが、場合によっては増分が複数になる
1.容量使用量の閾値を超えるボリュームがあるかどうかを判定する
2.閾値を超えるボリュームがある場合、乗数が乗数の制限を下回っているかどうかを点検する
3.乗数が乗数の制限を下回っている場合、バックアップ容量の乗数(バックアップ格納スペースのサイズを、対応する格納ボリュームの倍数として規定する乗数)を徐々に増加させるが、場合によっては増分が複数になる
1つの例示的な実装は以下の通りである。
例示的な格納ボリューム及び対応するバックアップ格納スペースの現在のパラメータは以下を含む。
● 容量使用量の閾値は50%である
● 乗数の増分は1である
● 乗数の制限は6である
● 各バックアップは約1GBのデータである。
● 容量使用量の閾値は50%である
● 乗数の増分は1である
● 乗数の制限は6である
● 各バックアップは約1GBのデータである。
そのような格納ボリューム/対応するバックアップ格納スペースの例示的な管理は、以下を含む(本番ボリュームのサイズに関する知識が既にあることを仮定している)。
1.現在のバックアップ容量の乗数は3である。
2.セーフガードバックアップ1と2が作成される。
3.パラメータを監視して、仮想容量使用量が50%に達していることを認識する。
A.拡大コマンドを発行して、バックアップ容量を4に増加させる。進行中の拡大状態はない。
B.現在のバックアップ容量の乗数は4である。
4.セーフガードバックアップ3~8が作成される。現在、バックアップ1~5は内部的に期限切れになっている。
5.パラメータを監視して、仮想容量使用量が50%に達していることを認識する。
A.拡大コマンドが発行されて、バックアップ容量を5に増加させる。拡大状態を進行中に設定。
B.現在のバックアップ容量の乗数は5である。
6.セーフガードバックアップ9~10が作成される。現在、バックアップ6~7は内部的に期限切れになっている。
A.バックアップ7の期限切れの後、進行中の拡大状態はない。
7.セーフガードバックアップ11~13が作成される。現在、バックアップ7~9は内部的に期限切れになっている。
8.パラメータを監視して、仮想容量使用量が50%に達していることを認識する。
A.拡大コマンドを発行して、バックアップ容量を6に増加させる。進行中の拡大状態はない。
B.現在のバックアップ容量の乗数は6である。9.バックアップの作成を続行する。このポイントの後、乗数の制限に達したため、バックアップ容量を増加させることができなくなる。
1.現在のバックアップ容量の乗数は3である。
2.セーフガードバックアップ1と2が作成される。
3.パラメータを監視して、仮想容量使用量が50%に達していることを認識する。
A.拡大コマンドを発行して、バックアップ容量を4に増加させる。進行中の拡大状態はない。
B.現在のバックアップ容量の乗数は4である。
4.セーフガードバックアップ3~8が作成される。現在、バックアップ1~5は内部的に期限切れになっている。
5.パラメータを監視して、仮想容量使用量が50%に達していることを認識する。
A.拡大コマンドが発行されて、バックアップ容量を5に増加させる。拡大状態を進行中に設定。
B.現在のバックアップ容量の乗数は5である。
6.セーフガードバックアップ9~10が作成される。現在、バックアップ6~7は内部的に期限切れになっている。
A.バックアップ7の期限切れの後、進行中の拡大状態はない。
7.セーフガードバックアップ11~13が作成される。現在、バックアップ7~9は内部的に期限切れになっている。
8.パラメータを監視して、仮想容量使用量が50%に達していることを認識する。
A.拡大コマンドを発行して、バックアップ容量を6に増加させる。進行中の拡大状態はない。
B.現在のバックアップ容量の乗数は6である。9.バックアップの作成を続行する。このポイントの後、乗数の制限に達したため、バックアップ容量を増加させることができなくなる。
新しいパラメータは、セーフガード管理ソフトウェア(例えば、CSM、GDPSなど)で設定されたポリシである場合がある。ポリシはセーフガードセッションをカバーできる。ボリュームの作業負荷が安定している既存の環境用の新しいセーフガードコピーの実装では、ログのバッファが仮想容量を循環(ラップアラウンド)する前に、バックアップ乗数の増加が生じる可能性がある。
ボリュームの作業負荷が徐々に増加する場合は、十分に低い容量使用量の閾値であれば、乗数は増加し、仮想容量が使い果たされる前に有効になる。非アクティブなボリュームで作業負荷が大幅に増加したことを急に認識する場合、乗数の増加が限られた期間有効になる前に、1つ又は複数のバックアップが期限切れになる場合がある。
一態様では、自動化されたバックアップコピーボリュームの拡大を遂行する方法が提供され、この方法は、容量使用量の閾値、乗数の増分、及び乗数の制限をバックアップコピーシステムの格納管理ソフトウェア内に構成する段階を含む。追加として、この方法は、バックアップコピーボリュームが容量使用量の閾値を超えていると判定する段階を含む。
さらに、この方法は、バックアップコピーボリュームの乗数が乗数の制限を下回っていることを判定する段階を含む。なおもさらに、この方法は、拡大コマンドを発行して、乗数の増分だけバックアップ容量を増加させる段階を含む。また、この方法は、古いバックアップコピーボリュームを内部的に期限切れにする段階を含む。
本発明は、任意の可能な技術的詳細レベルで統合化されたシステム、方法、若しくはコンピュータプログラム製品又はそれらの組み合わせであってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読格納媒体を含んでもよい。
コンピュータ可読格納媒体は、命令実行デバイスによる使用のために命令を保持及び格納することができる有形デバイスとすることができる。コンピュータ可読格納媒体は、例えば、電子格納デバイス、磁気格納デバイス、光学格納デバイス、電磁格納デバイス、半導体格納デバイス、又は上述のものの任意の好適な組み合わせであってもよいが、これらに限定されない。コンピュータ可読格納媒体のより具体的な例の非包括的なリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、パンチカード又は命令が記録されている溝内の隆起構造などの機械的にエンコードされたデバイス、及び、上述のものの任意の好適な組み合わせを含む。コンピュータ可読格納媒体は、本明細書において使用される場合、電波若しくは他の自由に伝搬する電磁波、導波路若しくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又はワイヤを通じて伝送される電気信号等の一過性の信号それ自体とは解釈されるべきではない。
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読格納媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされてもよく、あるいは、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、若しくは無線ネットワーク、又はその組み合わせを介して、外部コンピュータ又は外部格納デバイスにダウンロードされてもよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、若しくはエッジサーバ、又はその組み合わせを備え得る。各コンピューティング/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースが、ネットワークからコンピュータ可読プログラム命令を受け取り、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読格納媒体への格納のために転送する。
本発明の動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データであってもよく、Smalltalk(登録商標)又はC++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述したソースコード又はオブジェクトコードであってもよい。コンピュータ可読プログラム命令を、スタンドアロンのソフトウェアパッケージとして、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上かつ部分的に遠隔のコンピュータ上で、又は、全体的に遠隔のコンピュータ若しくはサーバ上で実行することができる。後者のシナリオでは、遠隔のコンピュータは、ローカルエリアネットワーク(LAN)若しくはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてもよく、又はその接続は、外部コンピュータに対して(例えば、インターネットサービスプロバイダを使用してインターネットを介して)行われてもよい。いくつかの態様では、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)又はプログラマブル論理アレイ(PLA)を含む電子回路機器は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を遂行することができる。
本発明の態様は、本明細書において、本発明の態様よる方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図若しくはブロック図又はその両方を参照して説明される。フローチャート図若しくはブロック図又はその両方の各ブロックと、フローチャート図若しくはブロック図又はその両方のブロックの組み合わせとは、コンピュータ可読プログラム命令により実装され得ることを理解されるだろう。
これらのコンピュータ可読プログラム命令を、コンピュータのプロセッサ、又はマシンを生成するための他のプログラマブルデータ処理装置に提供し、こうすることで、コンピュータのプロセッサ又は他のプログラマブルデータ処理装置を介して実行される命令が、フローチャート若しくはブロック図又はその組み合わせにおける1つ又は複数のブロックにおいて指定された機能/動作を実装する手段を作成するようにしてもよい。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能なデータ処理装置若しくは他のデバイス又はその組み合わせを特定の様式で機能するよう方向付けることができる、コンピュータ可読格納媒体に格納することで、命令を格納したコンピュータ可読格納媒体が、フローチャート若しくはブロック図又はその両方の1つ又は複数のブロックで指定された機能/行為の態様を実装する命令を含む製造品を備えるようにしてもよい。
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、又は、他のデバイスにロードして、コンピュータ、他のプログラマブル装置、又は、他のデバイス上で一連の動作段階を遂行させることでコンピュータ実装プロセスを作ることもでき、これにより、コンピュータ、他のプログラマブル装置、又は、他のデバイス上で実行される命令が、フローチャート若しくはブロック図の、又はこれらの両方の1つ又は複数のブロックで指定される機能/動作を実装するようになる。
図中のフローチャート及びブロック図は、本発明の様々な態様によるシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を例示している。この点で、フローチャート又はブロック図の各ブロックは、モジュール、セグメント、又は命令の一部を表すことができ、これらは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含んでいる。いくつかの代替的実装では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われる場合がある。例えば、連続して示されている2つのブロックが、実際には、1つの段階として実現されてもよく、同時に、実質的に同時に、部分的に若しくは全体的に時間重複する様式で実行されてもよく、又は、ブロックは、場合によっては、関与する機能に依存して逆の順序で実行されてもよい。ブロック図若しくはフローチャート図又はその組み合わせの各ブロック、及び、ブロック図若しくはフローチャート図又はその組み合わせにおけるブロックの組み合わせが、指定された機能若しくは動作を遂行する、又は特定用途向けハードウェア及びコンピュータ命令の組み合わせを実施する、特定用途向けハードウェアベースのシステムによって実装され得ることにも留意されたい。
また、様々な態様によるシステムは、プロセッサと、プロセッサと統合された、若しくはプロセッサによって実行可能な、又はその両方の論理とを含むことができ、その論理は本明細書に記載のプロセス段階のうちの1つ又は複数を遂行するように構成されている。「~と統合された」は、プロセッサには、特定用途向け集積回路(ASIC)、FPGAなどのハードウェア論理として論理が埋め込まれていることを意味する。「プロセッサによって実行可能」は、論理が、ハードウェア論理であること、ファームウェア、オペレーティングシステムの部分、アプリケーションプログラムの部分などのソフトウェア論理であること、その他、又はプロセッサによってアクセス可能であり、プロセッサによる実行時にプロセッサにいくつかの機能を遂行させるように構成されたハードウェア及びソフトウェア論理の何らかの組み合わせであることを意味している。当技術分野で知られているように、ソフトウェア論理は、任意のメモリ形式のローカル若しくはリモートメモリ又はそれらの組み合わせに格納され得る。ASIC、FPGA、中央処理ユニット(CPU)、集積回路(IC)、グラフィックス処理装置(GPU)などのソフトウェアプロセッサモジュール若しくはハードウェアプロセッサ又はその組み合わせなど、当技術分野で知られている任意のプロセッサを使用してもよい。
前述のシステム若しくは方式又はその組み合わせのさまざまな特徴を、上記に提示された説明による複数の組み合わせを作成しながら、いかなる様式にでも組み合わせてよいことは明確であろう。
さらに、本発明の態様は、オンデマンドでサービスを提供するために、顧客のために展開されるサービスの形態で提供されてもよいことが理解されるだろう。
本発明の様々な態様の説明は例示の目的で提示されており、網羅的であることも、開示された態様に限定されることも意図していない。説明された態様の範囲から逸脱することなく、多くの修正及び変形が当業者には明らかであろう。本明細書において使用される用語は、態様の原理、実用的な適用、若しくは市場で見られる技術に対する技術的改善を最もよく説明するために、又は当業者が本明細書に開示された態様を理解できるようにするために、選ばれた。
Claims (25)
- コンピュータ実装方法であって、
格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を受け取る段階と、
前記要求に応えて、前記バックアップ格納スペースに追加エクステントを追加する段階と、
前記バックアップ格納スペース内の現在のエクステント位置を識別する段階と、
前記現在のエクステント位置と前記バックアップ格納スペースに追加された前記追加エクステントとの間に充満エクステント位置が存在するかどうかを判定する段階と、
前記判定に基づいて、前記バックアップ格納スペースに追加された前記追加エクステントを条件付きで利用する段階と
を備える、コンピュータ実装方法。 - 前記バックアップ格納スペースの初期サイズは、前記バックアップ格納スペースが作成されるときに判定される、請求項1に記載のコンピュータ実装方法。
- 前記要求は前記バックアップ格納スペース及び前記格納ボリュームのパラメータの監視に基づいて自動的に生成され、前記パラメータは
容量使用量の閾値と、
乗数の増分量と、
乗数の制限と
を含んでいる、請求項1又は請求項2に記載のコンピュータ実装方法。 - 前記バックアップ格納スペースは、所定の順序の一連の隣接するエクステントとして表され、前記追加エクステントは、前記所定の順序の前記一連の隣接するエクステントの最後に追加される、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
- 前記現在のエクステント位置は、次のデータバックアップを前記バックアップ格納スペース内に格納する位置を含んでいる、請求項1から4のいずれか一項に記載のコンピュータ実装方法。
- 前記現在のエクステント位置は、ローリングバッファ方式に従って判定される、請求項1に記載のコンピュータ実装方法。
- 充満中間エクステントが存在するかどうかを判定する段階をさらに備えており、前記充満中間エクステントは、現在データバックアップを格納しているエクステントであって、前記現在のエクステント位置と前記バックアップ格納スペースに追加された最初の追加エクステント位置との間に所定の順序で置かれているエクステントを含んでいる、請求項1に記載のコンピュータ実装方法。
- 前記現在のエクステント位置と最初の追加エクステント位置との間に所定の順序で1つ又は複数の充満中間エクステントが存在することの識別に応えて、前記バックアップ格納スペースに、拡大状態にあるというラベルを付ける段階をさらに備えている、請求項1に記載のコンピュータ実装方法。
- 前記バックアップ格納スペースに、拡大状態にあるというラベルが付けられているとの判定に応えて、前記バックアップ格納スペースに追加された前記追加エクステントの使用を防止する段階と、前記バックアップ格納スペースに追加された前記追加エクステントは使用する準備ができておらず、1つ又は複数の充満中間エクステントが期限切れになった後にのみ使用できることの通知を送る段階とをさらに備えている、請求項8に記載のコンピュータ実装方法。
- 期限切れになることが必要になる前記1つ又は複数の充満中間エクステントをユーザに提示する段階と、前記1つ又は複数の充満中間エクステントを手動で期限切れにするオプションを前記ユーザに提供する段階とをさらに備えている、請求項8に記載のコンピュータ実装方法。
- 期限切れになることが必要になる前記1つ又は複数の充満中間エクステントをユーザに提示する段階と、バックアップスケジュールとローリングバッファ方式に従って、前記1つ又は複数の充満中間エクステントを期限切れにするオプションを前記ユーザに提供する段階とをさらに備えている、請求項8に記載のコンピュータ実装方法。
- 論理的破損保護を実装するために格納容量を拡大するためのコンピュータプログラムであって、具現化されたプログラム命令を備えており、前記プログラム命令はプロセッサによって、前記プロセッサに方法を遂行させるように実行可能であり、前記方法は、
格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を、前記プロセッサによって受け取る段階と、
前記要求に応えて前記バックアップ格納スペースに追加エクステントを、前記プロセッサによって追加する段階と、
前記バックアップ格納スペース内の現在のエクステント位置を、前記プロセッサによって識別する段階と、
前記現在のエクステント位置と前記バックアップ格納スペースに追加された前記追加エクステントとの間に充満エクステント位置が存在するかどうかを、前記プロセッサによって判定する段階と、
前記判定に基づいて、前記バックアップ格納スペースに追加された前記追加エクステントを、前記プロセッサによって条件付きで利用する段階と
を含んでいる、コンピュータプログラム。 - 前記バックアップ格納スペースの初期サイズは、前記バックアップ格納スペースが作成されるときに判定される、請求項12に記載のコンピュータプログラム。
- 前記要求は前記バックアップ格納スペース及び前記格納ボリュームのパラメータの監視に基づいて自動的に生成され、前記パラメータは
容量使用量の閾値と、
乗数の増分量と、
乗数の制限と
を含んでいる、請求項12又は請求項13に記載のコンピュータプログラム。 - 前記バックアップ格納スペースは、所定の順序の一連の隣接するエクステントとして表され、前記追加エクステントは、前記所定の順序の前記一連の隣接するエクステントの最後に追加される、請求項12から14のいずれか一項に記載のコンピュータプログラム。
- 前記現在のエクステント位置は、次のデータバックアップを前記バックアップ格納スペース内に格納する位置を含んでいる、請求項12から15のいずれか一項に記載のコンピュータプログラム。
- 前記現在のエクステント位置は、ローリングバッファ方式に従って判定される、請求項12に記載のコンピュータプログラム。
- 前記方法は、充満中間エクステントが存在するかどうかを判定する段階をさらに含んでおり、前記充満中間エクステントは、現在データバックアップを格納しているエクステントであって、前記現在のエクステント位置と前記バックアップ格納スペースに追加された最初の追加エクステント位置との間に所定の順序で置かれているエクステントを含んでいる、請求項12に記載のコンピュータプログラム。
- 前記方法は、前記現在のエクステント位置と最初の追加エクステント位置との間に所定の順序で1つ又は複数の充満中間エクステントが存在することの識別に応えて、前記バックアップ格納スペースに、拡大状態にあるというラベルを付ける段階をさらに含んでいる、請求項12に記載のコンピュータプログラム。
- 前記方法は、前記バックアップ格納スペースに、拡大状態にあるというラベルが付けられているとの判定に応えて、前記バックアップ格納スペースに追加された前記追加エクステントの使用を防止する段階と、前記バックアップ格納スペースに追加された前記追加エクステントは使用する準備ができておらず、1つ又は複数の充満中間エクステントが期限切れになった後にのみ使用できることの通知を送る段階とをさらに含んでいる、請求項19に記載のコンピュータプログラム。
- 前記方法は、期限切れになることが必要になる前記1つ又は複数の充満中間エクステントをユーザに提示する段階と、前記1つ又は複数の充満中間エクステントを手動で期限切れにするオプションを前記ユーザに提供する段階とをさらに含んでいる、請求項19に記載のコンピュータプログラム。
- 前記方法は、期限切れになることが必要になる前記1つ又は複数の充満中間エクステントをユーザに提示する段階と、バックアップスケジュールとローリングバッファ方式に従って、前記1つ又は複数の充満中間エクステントを期限切れにするオプションを前記ユーザに提供する段階とをさらに含んでいる、請求項19に記載のコンピュータプログラム。
- システムであって、
プロセッサと、
前記プロセッサと統合されているか、前記プロセッサによって実行可能であるか、又は前記プロセッサと統合されていてかつ前記プロセッサによって実行可能である論理と
を備えており、前記論理は、
格納ボリュームのためのバックアップ格納スペースのサイズを増加させる要求を受け取り、
前記要求に応えて、前記バックアップ格納スペースに追加エクステントを追加し、
前記バックアップ格納スペース内の現在のエクステント位置を識別し、
前記現在のエクステント位置と前記バックアップ格納スペースに追加された前記追加エクステントとの間に充満エクステント位置が存在するかどうかを判定し、
前記判定に基づいて、前記バックアップ格納スペースに追加された前記追加エクステントを条件付きで利用する
ように構成されている、システム。 - コンピュータ実装方法であって、
格納ボリュームのためのバックアップ格納スペースの現在の使用量を監視する段階と、
前記現在の使用量を容量閾値と比較する段階と、
前記比較する段階及び所定のサイズ制限に基づいて、前記バックアップ格納スペースのサイズを条件付きで増加させる段階と
を備えているコンピュータ実装方法。 - バックアップ格納スペースの管理を自動化するためのコンピュータプログラムであって、具現化されたプログラム命令を備えており、前記プログラム命令はプロセッサによって、前記プロセッサに方法を遂行させるように実行可能であり、前記方法は、
格納ボリュームのためのバックアップ格納スペースの現在の使用量を、前記プロセッサによって監視する段階と、
前記現在の使用量を容量閾値と、前記プロセッサによって比較する段階と、
前記比較する段階及び所定のサイズ制限に基づいて、前記バックアップ格納スペースのサイズを、前記プロセッサによって条件付きで増加させる段階とを含んでいる、コンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/989,647 | 2020-08-10 | ||
US16/989,647 US11275514B2 (en) | 2020-08-10 | 2020-08-10 | Expanding storage capacity for implementing logical corruption protection |
PCT/IB2021/057087 WO2022034433A1 (en) | 2020-08-10 | 2021-08-03 | Logical corruption protection for data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023536896A true JP2023536896A (ja) | 2023-08-30 |
Family
ID=80115035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023507527A Pending JP2023536896A (ja) | 2020-08-10 | 2021-08-03 | データの論理的破損保護 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11275514B2 (ja) |
JP (1) | JP2023536896A (ja) |
CN (1) | CN116034347A (ja) |
DE (1) | DE112021003615T5 (ja) |
GB (1) | GB2612763A (ja) |
WO (1) | WO2022034433A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11275514B2 (en) | 2020-08-10 | 2022-03-15 | International Business Machines Corporation | Expanding storage capacity for implementing logical corruption protection |
CN116860526B (zh) * | 2023-09-04 | 2024-02-09 | 善恒展创(深圳)发展合伙企业(有限合伙) | 一种基于信息安全的用户数据处理方法及系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7574560B2 (en) * | 2006-01-03 | 2009-08-11 | Emc Corporation | Methods, systems, and computer program products for dynamic mapping of logical units in a redundant array of inexpensive disks (RAID) environment |
US8412909B2 (en) | 2009-04-08 | 2013-04-02 | Samsung Electronics Co., Ltd. | Defining and changing spare space and user space in a storage apparatus |
US8639900B2 (en) * | 2011-05-25 | 2014-01-28 | International Business Machines Corporation | Defragmentation of data storage pools |
US8924667B2 (en) | 2011-10-03 | 2014-12-30 | Hewlett-Packard Development Company, L.P. | Backup storage management |
KR102025080B1 (ko) | 2013-01-02 | 2019-09-25 | 삼성전자 주식회사 | 스토리지 시스템 및 스토리지 시스템의 여분 공간 조절 방법 |
GB2515537A (en) * | 2013-06-27 | 2014-12-31 | Ibm | Backup management for a plurality of logical partitions |
US9645891B2 (en) | 2014-12-04 | 2017-05-09 | Commvault Systems, Inc. | Opportunistic execution of secondary copy operations |
US10437937B2 (en) | 2016-07-12 | 2019-10-08 | Commvault Systems, Inc. | Dynamic management of expandable cache storage for multiple network shares configured in a file server |
US10503444B2 (en) * | 2018-01-12 | 2019-12-10 | Vmware, Inc. | Object format and upload process for archiving data in cloud/object storage |
US20190317682A1 (en) * | 2018-04-11 | 2019-10-17 | EMC IP Holding Company LLC | Metrics driven expansion of capacity in solid state storage systems |
CN108616583B (zh) | 2018-04-16 | 2020-12-15 | 亿享不道张家口信息科技有限公司 | 一种基于计算机云的存储空间分配方法 |
US11182081B2 (en) | 2018-09-06 | 2021-11-23 | International Business Machines Corporation | Performing a recovery copy command to restore a safeguarded copy backup to a production volume |
US11526408B2 (en) * | 2019-07-18 | 2022-12-13 | Pure Storage, Inc. | Data recovery in a virtual storage system |
US11275514B2 (en) | 2020-08-10 | 2022-03-15 | International Business Machines Corporation | Expanding storage capacity for implementing logical corruption protection |
-
2020
- 2020-08-10 US US16/989,647 patent/US11275514B2/en active Active
-
2021
- 2021-08-03 WO PCT/IB2021/057087 patent/WO2022034433A1/en active Application Filing
- 2021-08-03 CN CN202180056382.8A patent/CN116034347A/zh active Pending
- 2021-08-03 DE DE112021003615.7T patent/DE112021003615T5/de active Pending
- 2021-08-03 JP JP2023507527A patent/JP2023536896A/ja active Pending
- 2021-08-03 GB GB2303341.8A patent/GB2612763A/en active Pending
-
2022
- 2022-02-10 US US17/669,014 patent/US11947808B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
DE112021003615T5 (de) | 2023-06-29 |
US20220164116A1 (en) | 2022-05-26 |
US11275514B2 (en) | 2022-03-15 |
CN116034347A (zh) | 2023-04-28 |
US11947808B2 (en) | 2024-04-02 |
WO2022034433A1 (en) | 2022-02-17 |
GB202303341D0 (en) | 2023-04-19 |
GB2612763A (en) | 2023-05-10 |
US20220043583A1 (en) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132264B2 (en) | Point-in-time copy restore | |
US9514004B2 (en) | Restore in cascaded copy environment | |
JP6722277B2 (ja) | コピーリダイレクト・オン・ライト | |
US10642633B1 (en) | Intelligent backups with dynamic proxy in virtualized environment | |
JP2018531445A6 (ja) | コピーリダイレクト・オン・ライト | |
US11182094B2 (en) | Performing a recovery copy command using a recovery copy data structure for a backup volume lookup | |
US11182081B2 (en) | Performing a recovery copy command to restore a safeguarded copy backup to a production volume | |
US10705756B2 (en) | Agent aware selective backup of a virtual machine using virtual I/O filter snapshots | |
US11947808B2 (en) | Expanding storage capacity for implementing logical corruption protection | |
US9760449B2 (en) | Restoring a point-in-time copy | |
US11262934B2 (en) | Deletion of stored data | |
JP2023537282A (ja) | 論理破損保護を維持した状態でのデータ・ストレージ・トラックの解放 | |
US9760450B2 (en) | Restoring a clone point-in-time copy | |
US10789132B2 (en) | Performing a recovery copy command to create a recovery volume for a consistency group | |
US20200081800A1 (en) | Management of backup volume extents via a tiered storage mechanism | |
US11947838B2 (en) | Utilizing statuses to preserve a state of data during procedures such as testing without causing functional interruptions | |
US11640339B2 (en) | Creating a backup data set | |
US10528593B2 (en) | Consistent point-in-time copy of a consistent asynchronous mirror target without pausing a consistent asynchronous mirror copy | |
US9632710B2 (en) | Efficient use of Flashcopy resources and target volumes for dynamic target volume allocation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240123 |