JP2007219609A - スナップショット管理装置及び方法 - Google Patents
スナップショット管理装置及び方法 Download PDFInfo
- Publication number
- JP2007219609A JP2007219609A JP2006036365A JP2006036365A JP2007219609A JP 2007219609 A JP2007219609 A JP 2007219609A JP 2006036365 A JP2006036365 A JP 2006036365A JP 2006036365 A JP2006036365 A JP 2006036365A JP 2007219609 A JP2007219609 A JP 2007219609A
- Authority
- JP
- Japan
- Prior art keywords
- snapshot
- acquired
- snapshots
- file
- cpu
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000007726 management method Methods 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 46
- 238000012217 deletion Methods 0.000 claims description 21
- 230000037430 deletion Effects 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 7
- 230000006872 improvement Effects 0.000 abstract description 4
- 241000283690 Bos taurus Species 0.000 description 46
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 17
- 238000012544 monitoring process Methods 0.000 description 5
- 102100021916 Sperm-associated antigen 1 Human genes 0.000 description 3
- 101100478055 Dictyostelium discoideum cotC gene Proteins 0.000 description 2
- 101100310674 Tenebrio molitor SP23 gene Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 102100022907 Acrosin-binding protein Human genes 0.000 description 1
- 101000642536 Apis mellifera Venom serine protease 34 Proteins 0.000 description 1
- 101100293597 Caenorhabditis elegans nas-4 gene Proteins 0.000 description 1
- 101000756551 Homo sapiens Acrosin-binding protein Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/1461—Backup scheduling policy
-
- 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/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】
ユーザの利便性の向上に貢献し得るスナップショット管理装置及び方法を提案する。
【解決手段】
スナップショットを定期的に取得し、取得した2つのスナップショット間の相違量を検出し、検出した相違量が予め定められた閾値よりも小さいときには、当該2つのスナップショットのうち、先行して取得したスナップショットを削除するようにしたことにより、ユーザの利便性の向上に貢献し得るスナップショット管理装置及び方法を実現できる。
【選択図】図15
ユーザの利便性の向上に貢献し得るスナップショット管理装置及び方法を提案する。
【解決手段】
スナップショットを定期的に取得し、取得した2つのスナップショット間の相違量を検出し、検出した相違量が予め定められた閾値よりも小さいときには、当該2つのスナップショットのうち、先行して取得したスナップショットを削除するようにしたことにより、ユーザの利便性の向上に貢献し得るスナップショット管理装置及び方法を実現できる。
【選択図】図15
Description
本発明は、スナップショット管理装置及び方法に関し、例えば記憶システムに適用して好適なものである。
従来、NAS(Network Attached Storage)などのネットワークストレージで扱われる技術の1つとして、スナップショットがある。スナップショットは、ファイルシステムが、ファイルの更新等により最新の状態を保持しつつ、ある時点でのファイルシステムの静的なイメージを保持する技術である。
このようなスナップショットは、ファイルシステムが更新されている最中でもスナップショットを使用してバックアップが可能なオンラインバックアップや、ユーザが誤ってファイルの更新又は削除を行なったときのファイルの回復に利用される。
また近年では、例えば下記特許文献1において、スナップショットを複数世代取得する技術も提案されている。この特許文献1に開示された技術を応用すると、定期的に取得した複数のスナップショットを順次マウントすると共に、NASのファイル共有設定を行うことで、複数のユーザに複数世代のスナップショットを公開することが可能となる。
特開2004−342050号公報
かかる従来のNASでは、搭載されたOS(Operating System)の仕様によって数が異なるが、マウントできるボリューム数(スナップショット数)に制限があり、取得したすべてのスナップショットをマウントすることはできない。
このため従来のNASに、例えば定期的にスナップショットを自動取得し、取得したスナップショットのファイルの共有設定を行うことで、ユーザにスナップショットを公開するような機能を搭載するに際しては、マウントするスナップショット数が予め定められた上限を超えた段階から、新たなスナップショットをマウントする際に最古のスナップショットをアンマウントする必要があった。
しかしながら、ファイルシステムの更新が少ない場合、かかる機能を備えたNASにより取得されるスナップショットはほとんど内容が同じ(例えば直前に作成されたスナップショットと99〔%〕同じ内容)であり、このようなスナップショットを1つ追加するために、最も現在のボリュームに対して最も差分の大きい最古のスナップショットがアンマウントされることとなる。
ところがユーザが過去の更新ミスに気付き、過去に遡って検証するケースなどを考えた場合、できるだけ長期間に渡ったスナップショット群を参照できる方が望ましい。
本発明は以上の点を考慮してなされたもので、ユーザの利便性の向上に貢献し得るスナップショット管理装置及び方法を提案しようとするものである。
かかる課題を解決するため本発明においては、ユーザが利用する第1のボリュームのある時点のイメージであるスナップショットを取得して管理するスナップショット管理装置において、前記スナップショットを定期的に取得して管理するスナップショット取得部と、前記スナップショット取得部により取得された2つの前記スナップショット間の相違量を検出する相違量検出部と、前記相違量検出部により検出された前記相違量が予め定められた閾値よりも小さいときには、当該2つのスナップショットのうち、先行して取得した前記スナップショットを削除するスナップショット削除部とを備えることを特徴とする。なお、ここでいう「スナップショットの削除」の意味には、スナップショットのアンマウントやファイル共有設定の解除によって、ユーザからスナップショットが参照不可になり、ユーザの視点から実質的に削除されたのと同じ状態にある場合も含む(以下、同様)。
この結果このスナップショット管理装置では、ほとんど内容が同じであるスナップショットが複数蓄積されるのを防止し、長期間に渡った内容の異なるスナップショットをユーザに提示することができる。
また本発明においては、ユーザが利用する第1のボリュームのある時点のイメージであるスナップショットを取得して管理するスナップショット管理方法において、前記スナップショットを定期的に取得する第1のステップと、取得した2つの前記スナップショット間の相違量を検出する第2のステップと、検出した前記相違量が予め定められた閾値よりも小さいときには、当該2つのスナップショットのうち、先行して取得した前記スナップショットを削除する第3のステップとを備えることを特徴とする。
この結果このスナップショット管理方法によれば、ほとんど内容が同じであるスナップショットが複数蓄積されるのを防止し、長期間に渡った内容の異なるスナップショットをユーザに提示することができる。
本発明によれば、長期間に渡った内容の異なるスナップショットをユーザが参照することができるため、ユーザの利便性の向上に貢献することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)本実施の形態による記憶システムの構成
図1において、1は全体として本実施の形態による記憶システムを示す。この記憶システム1は、1又は複数台のホスト装置2がネットワーク3を介してNAS装置4に接続され、NAS装置4にストレージ装置5が接続されることにより構成されている。
(1−1)本実施の形態による記憶システムの構成
図1において、1は全体として本実施の形態による記憶システムを示す。この記憶システム1は、1又は複数台のホスト装置2がネットワーク3を介してNAS装置4に接続され、NAS装置4にストレージ装置5が接続されることにより構成されている。
ホスト装置2は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。ホスト装置2は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備える。
ネットワーク3は、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。このネットワーク3を介したホスト装置2及びNAS装置4間の通信は、ネットワーク3がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
NAS4は、CPU10及びメモリ11等を備えて構成される。CPU10は、ホスト装置2からのデータ入出力要求に応じたデータ入出力処理などを実行するプロセッサであり、後述のようにメモリ11に格納された各種制御プログラムに基づいて、ファイルシステム機能、ファイル共有機能及びスナップショット機能などに関する各種処理を実行する。
メモリ11には、OS(Operating System)層12を構成するファイルシステム13、スナップショットプログラム14及びデバイスドライバ15と、ファイル共有プログラム16と、スナップショット管理テーブル17と、ジョブスケジューラ18とが格納されている。
ファイルシステム13は、上位層に対して階層構造化されたディレクトリ又はファイルなどの論理ビューを提供し、これらの論理ビューをブロックデータやブロックアドレスなどの物理的なデータ構造に変換して下位層との間のデータI/O処理を実行するためのプログラムである。またスナップショットプログラム14は、ある時点での静的なファイルシステムイメージであるスナップショットを複数維持する機能(スナップショット機能)を実行するためのプログラムである。さらにデバイスドライバ15は、ファイルシステム13から要求されたブロックI/Oを実行するためのプログラムである。
またファイル共有用プログラム16は、ネットワーク3を介して接続されたホスト装置2に対して、NFS(Network File System)やCIFS(Common Internet File System)などのファイル共有プロトコルを提供し、複数のホスト装置2間で1つのファイルを共有できるようにするファイル共有サービスを提供するためのプログラムである。CPU10は、このファイル共用プログラム16を実行することにより、ホスト装置2から与えられるファイル単位でのデータ入出力要求に応じたデータ入出力処理を実行する。
スナップショット管理テーブル17は、複数のスナップショットを一元管理するために利用される。またジョブスケジューラ18は、予め設定されたタイミングでスナップショットプログラム14や他のプログラムに対して予め設定された処理の実行命令を発行するプログラムである。
ストレージ装置5は、CPU20、キャッシュメモリ21及び複数のディスクドライブからなるディスクドライブ群22等を備えて構成される。CPU20は、ストレージ装置5全体の動作制御を司るプロセッサである。
キャッシュメモリ21は、CPU20のワークメモリとして用いられる。またキャッシュメモリ21には、各種制御プログラムや各種制御パラメータが格納されている。CPU20がこれら制御プログラムを実行して対応するディスクドライブやキャッシュメモリ等を制御することにより、ストレージ装置5全体として、ホスト装置2からNAS装置4を介して与えられるデータ入出力要求に応じたデータ入出力処理を行うことができる。
ディスクドライブ群22を構成する各ディスクドライブは、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスク、又はSATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクから構成される。これらディスクドライブは、CPU20によりRAID方式で運用される。
1又は複数のディスクドライブにより構成されるRAIDグループが提供する物理的な記憶領域上に、1又は複数の論理ボリュームが設定され、この論理ボリュームにホスト装置2からのデータが所定大きさのブロックを単位として読み書きされる。
各論理ボリュームには、それぞれ固有の識別子(LUN:Logical Unit Number)が割り当てられる。本実施の形態の場合、データの入出力は、この識別子と、各ブロックにそれぞれ割り当てられるそのブロックに固有の番号(LBA:Logical Block Address)との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
ストレージ装置5内に作成される論理ボリュームの属性としては、プライマリボリュームP−VOL、差分ボリュームD−VOL及び仮想ボリュームV−VOLなどがある。
プライマリボリュームP−VOLは、ユーザがデータを読み書きするボリュームであり、NAS装置4のデバイスドライバ15、ファイルシステム13及びファイル共有プログラム16によるファイル共有機能を用いてアクセスされる。また差分ボリュームD−VOLは、スナップショットの作成時において、プライマリボリュームP−VOLが更新されたときに、更新される古いデータを退避させるためのボリュームである。ユーザは、この差分ボリュームD−VOLを認識することはできない。
仮想ボリュームV−VOLは、現実に存在しない仮想的な論理ボリュームである。この仮想ボリュームV−VOLには、実際に存在する1又は複数の論理ボリューム(以下、これを実ボリュームと呼ぶ)が関連付けられる。ホスト装置2から仮想ボリュームV−VOLに対してデータ入出力要求が与えられた場合、その仮想ボリュームV−VOLに関連付けられた実ボリュームに対してデータの読み書きが行なわれる。
スナップショット機能は、スナップショットを作成した時点のプライマリボリュームのイメージを、プライマリボリュームP−VOL及び差分ボリュームD−VOLを合成した仮想ボリュームV−VOLを作成してファイルシステム13に提供する機能である。
例えば、図2(A)に示すように、プライマリボリュームP−VOL内の第1〜第9のブロック22にそれぞれ「A」〜「I」というデータが格納され、かつ差分ボリュームD−VOLに何らのデータも退避されていない初期状態において、プライマリボリュームP−VOLのスナップショットが作成されたものとする。
その後図2(B)に示すように、プライマリボリュームP−VOLの第1〜第5のブロック22に「a」〜「e」というデータを書き込むべきデータ入出要求がホスト装置2からストレージ装置5に与えられた場合、ストレージ装置5は、それまでこれら第1〜第5のブロック22に格納していた古いデータを差分データとして差分ボリュームD−VOLに退避し、その後これら第1〜第5のブロック22内に新たなデータを格納する。
また、この後図2(A)において作成したスナップショットの参照要求がホスト装置2から与えられた場合、ストレージ装置5は、スナップショット機能により、図2(C)に示すように、プライマリボリュームP−VOL内における更新が行なわれていない第6〜第9のブロック22のデータと、差分ボリュームD−VOLに退避した古いデータとを組み合わせて仮想ボリュームV−VOLを作成し、これを要求されたスナップショットとしてファイルシステムやユーザに提供する。
これによりこの記憶システム1においては、ファイルシステム機能及びファイル共有機能を用いてユーザがスナップショットにアクセスすることができる。
(1−2)第1の形態によるスナップショット機能の説明
(1−2−1)第1の実施の形態によるスナップショット機能の概要
次に、この記憶システム1に搭載されたスナップショット機能について説明する。
(1−2−1)第1の実施の形態によるスナップショット機能の概要
次に、この記憶システム1に搭載されたスナップショット機能について説明する。
本実施の形態による記憶システム1は、NAS装置4が定期的にスナップショットを取得してこれをマウントすると共に、そのスナップショットを共有化する設定(以下、これをファイル共有設定と呼ぶ)を行なうことにより、当該スナップショットを各ユーザが参照し得るようになされている。
この場合において、NAS装置4は、ある第1のスナップショットを取得してから次の第2のスナップショットを取得するまでの間の差分ボリュームD−VOLの更新データ量が少ないときには、第2のスナップショットを取得した段階で第1のスナップショットをアンマウントすると共に当該第1のスナップショットについてのファイル共有設定の解除を行なう。
ただし、このようにNAS装置4を構成した場合、更新の少ないプライマリボリュームP−VOLについては、スナップショットが作成されるごとに前のスナップショットが順次アンマウントされ、そのファイル共有設定が解除されるため、長期間に渡ってスナップショットが存在しない事態が発生する。そこで本実施の形態による記憶システム1では、一定個数ごとのスナップショットについては、かかる差分ボリュームD−VOLのデータ更新量に関わりなく、次のスナップショットを取得した後もそのマウント及びファイル共有設定を継続するようにNAS装置4が構成されている。
図3は、NAS装置4におけるこのようなスナップショット機能の一連の流れを示している。NAS装置4のCPU10は、定期的に行うスナップショット取得処理において、まず1つ目のスナップショット(SS1)を取得する。そしてCPU10は、このスナップショットをマウントすると共に、そのファイル共有設定を行い、この後このスナップショットをユーザに公開する。これによりユーザは、このスナップショットを自在に参照できるようになる(SP1)。
この後CPU10は、1つ目のスナップショットを取得してから一定時間が経過すると、2つ目のスナップショット(SS2)を取得する。またCPU10は、1つ目のスナップショットを取得してから2つ目のスナップショットを取得するまでの間の差分ボリュームD−VOLの更新データ量を求める。そしてCPU10は、求めた更新データ量が予め定められた閾値(以下、これを変更データ量用閾値と呼ぶ)よりも小さかったときには、1つ目のスナップショットをアンマウントすると共にそのファイル共有設定を解除する。そしてCPU10は、この後このとき取得した2つ目のスナップショットをマウントすると共にそのファイル共有設定を行い、このスナップショットをユーザに公開する(SP2)。
さらに、CPU10は、この後これと同様にして、一定時間が経過するごとに3つ目のスナップショット(SS3)又は4つ目のスナップショット(SS4)を順次取得し、その都度、1つ前のスナップショット(2つ目又は3つ目のスナップショット)を取得してからそのスナップショット(3つ目又は4つ目のスナップショット)を取得するまでの間の差分ボリュームD−VOLの更新データ量を求め、求めた更新データ量が更新データ量用閾値よりも小さかったときには、かかる1つ前のスナップショットをアンマウントし、そのファイル共有設定を解除する。そしてCPU10は、この後そのとき取得したスナップショット(3つ目又は4つ目のスナップショット)をマウントすると共に、そのファイル共有設定を行い、このスナップショットをユーザに公開する(SP3,SP4)。
そしてCPU10は、この後、上述のステップSP2〜ステップSP4を繰り返す。
このようにしてこの記憶システム1では、一定時間ごとに取得されるスナップショットのうち、先に取得されたスナップショットとほとんど内容が変わらないスナップショットを間引きながら、これ以外のスナップショットについては、マウント及びそのファイル共有設定を維持してユーザに公開するようになされている。
(1−2−2)ストレージ装置の機能構成
次に、上述のようなスナップショット機能を実現するためのNAS装置4の具体的な機能構成について説明する。図4に示すように、本実施の形態の場合、スナップショットプログラム14は、スナップショット取得プログラム30及び第1のマウント/ファイル共有設定処理プログラム31から構成されている。そしてCPU30は、これら2つのプログラムのうち、スナップショット取得プログラム30に基づいてスナップショットを取得する一方、この取得したスナップショットのマウント及びそのファイル共有設定処理を第1のマウント/ファイル共有設定プログラム31に基づいて実行する。
次に、上述のようなスナップショット機能を実現するためのNAS装置4の具体的な機能構成について説明する。図4に示すように、本実施の形態の場合、スナップショットプログラム14は、スナップショット取得プログラム30及び第1のマウント/ファイル共有設定処理プログラム31から構成されている。そしてCPU30は、これら2つのプログラムのうち、スナップショット取得プログラム30に基づいてスナップショットを取得する一方、この取得したスナップショットのマウント及びそのファイル共有設定処理を第1のマウント/ファイル共有設定プログラム31に基づいて実行する。
(1−2−2−1)スナップショット取得処理
図5(C)は、取得したスナップショットをNAS装置4のCPU10が管理するために用いるスナップショット管理テーブル17の構成例を示している。ここでは、説明を分かり易くするため、図5(A)に示すように、プライマリボリュームP−VOLの記憶領域が8個のブロック40から構成され、図5(B)に示すように、差分ボリュームD−VOLの記憶領域が無限個のブロック41から構成されているものとする。また取得可能なスナップショットの個数を最大4つまでとする。
図5(C)は、取得したスナップショットをNAS装置4のCPU10が管理するために用いるスナップショット管理テーブル17の構成例を示している。ここでは、説明を分かり易くするため、図5(A)に示すように、プライマリボリュームP−VOLの記憶領域が8個のブロック40から構成され、図5(B)に示すように、差分ボリュームD−VOLの記憶領域が無限個のブロック41から構成されているものとする。また取得可能なスナップショットの個数を最大4つまでとする。
図5(C)に示すように、スナップショット管理テーブル17には、プライマリボリュームP−VOLの各ブロック40にそれぞれ対応させて、ブロックアドレス欄42、コピーオンライトビットマップ欄(以下、これをCoWビットマップ欄と呼ぶ)43及び複数の退避先ブロックアドレス欄44が設けられている。
各ブロックアドレス欄42には、それぞれプライマリボリュームP−VOLの対応するブロックアドレス(「0」〜「7」)が格納されている。また各CoWビットマップ欄43には、それぞれ取得可能なスナップショット数と同じビット数のビット列(以下、これをCoWビットマップと呼ぶ)が格納されている。このCoWビットマップの各ビットは、左側から順に1つ目から4つ目の各スナップショットとそれぞれ対応し、スナップショットが取得されていない初期時にはすべて「0」に設定される。
一方、退避先ブロックアドレス欄44は、プライマリボリュームP−VOLの1つのブロック40につき4つずつ設けられている。これら4つの退避先ブロックアドレス欄44は、それぞれ1つ目から4つ目までのスナップショット(「SS1」〜「SS4」)と対応付けられている。
各退避先ブロックアドレス欄44には、それぞれプライマリボリュームP−VOL上の対応するブロック40(対応するブロックアドレス欄42に格納されたブロックアドレスのブロック40)のそのスナップショット(「SS1」〜「SS4」)の差分データを退避させた差分ボリュームD−VOL内のブロックアドレスが格納される。ただしプライマリボリュームP−VOL上の対応するブロック40のそのスナップショット(「SS1」〜「SS4」)の差分データが未だ退避されていない、つまりそのスナップショットにおいてそのブロック40にユーザデータの書き込みが未だ行なわれていない状態のときには、対応する退避先のブロックアドレスがないことを表す「なし」のコードが格納される。
さらにスナップショット管理テーブル17には、1つ目及び2つ目のスナップショット、2つ目及び3つ目のスナップショット、並びに3つ目及び4つ目のスナップショットにそれぞれ対応させてCoW回数欄45が設けられている。これら各CoW回数欄45には、それぞれ1つ目のスナップショットを作成してから2つ目のスナップショットを作成するまでの間、2つ目のスナップショットを作成してから3つ目のスナップショットを作成するまでの間、又は3つ目のスナップショットを作成してから4つ目のスナップショットを作成するまでの間に行なわれた1ブロック分のデータを差分ボリュームD−VOLに退避(以下、適宜、これをコピーオンライトと呼ぶ)した回数が格納される。このCoW回数欄45に格納されたコピーオンライトの回数にブロックサイズ(固定長)を掛けたものが連続する2つのスナップショットを取得するまでの間における差分ボリュームD−VOLの更新データ量となる。
そしてNAS装置4のCPU10は、図6(A)に示すように、プライマリボリュームP−VOLのブロックアドレスが「0」〜「1」の各ブロック40にそれぞれ「A」〜「H」というデータが格納され、スナップショット管理テーブル17が、図6(C)のように未だスナップショットが取得されていない初期状態において、1つ目のスナップショットを取得すべきタイミングとなると、図7(C)に示すように、まずスナップショット管理テーブル17の各CoWビットマップ欄43にそれぞれ格納されているすべてのCoWビットマップについて、1つ目のスナップショットと対応付けられている左端のビットをオン(「1」)にする。このようにCoWビットマップのビットがONの場合、これはプライマリボリュームP−VOLにおける対応するブロック40にユーザデータの書き込みが行なわれた場合に、その書き込みが行われる直前のそのブロック40内のデータを差分データとして差分ボリュームD−VOLに退避すべきことを意味する。そして、CPU10は、この後、プライマリボリュームP−VOLに対するユーザデータのデータ書込み要求が与えられるのを待つ。
この後、例えば図8(A)に示すように、プライマリボリュームP−VOL上のブロックアドレスが「0」〜「4」のブロック40にそれぞれ「a」、「b」、「c」、「d」又は「d」のユーザデータを書き込むべきデータ書込み要求が与えられると、CPU10は、スナップショット取得プログラム30に基づいて、まず、スナップショット管理テーブル17における対応するCoWビットマップの対応するビットがオンとなっているか否かを確認する。具体的に、CPU10は、スナップショット管理テーブルにおけるブロックアドレスが「0」〜「4」の各ブロックとそれぞれ対応付けられた各CoWビットマップのうち、1つ目のスナップショットと対応付けられた左端のビットの値を確認することとなる。
そしてCPU10は、これらのビットがオンとなっている(「1」である)ことを確認すると、図8(B)に示すように、プライマリボリュームP−VOL上のブロックアドレスが「0」〜「4」の各ブロック40にそれぞれ格納されているユーザデータを、それぞれ差分データとして、差分ボリュームD−VOLの空いているブロック41(図8(B)の例では、ブロックアドレスが「0」〜「4」のブロック41)に退避させる。
またCPU10は、この後、スナップショット管理テーブル17の「SS1」の行の対応する各退避先ブロックアドレス欄44(「0」〜「4」のブロックアドレスに対応する退避先ブロックアドレス欄44)内に、それぞれ対応する差分データを退避させた差分ボリュームD−VOL上のブロックアドレス(この例では「0」〜「4」)を格納する一方、スナップショット管理テーブル17における対応する各CoWビット欄43(「0」〜「4」のブロックアドレスに対応するCoWビットマップ欄43)にそれぞれ格納された各CoWビットマップの左端のビットをオフ(「0」)に戻す。このようにCoWビットマップの対応するビットがオフに戻された場合、そのスナップショットについては、これ以降にプライマリボリュームP−VOL上の対応するブロック40に対するユーザデータの書き込み要求がホスト装置2から与えられた場合においても、コピーオンライト処理は行われない。そしてCPU10は、このような一連のスナップショット管理テーブル17の更新が終了すると、かかるユーザデータをプライマリボリュームP−VOLに書き込む。
続いて、CPU10は、例えば図9(A)に示すように、プライマリボリュームP−VOL上のブロックアドレスが「0」及び「2」のブロック40にそれぞれ「x」又は「y」のユーザデータを書き込むべきデータ書込み要求が与えられると、スナップショット取得プログラム30に基づいて、スナップショット管理テーブル17における対応するCoWビットマップの対応するビットがオンとなっているか否かを確認する。具体的に、CPU10は、プライマリボリュームP−VOLのブロックアドレスが「0」及び「1」の各ブロック40とそれぞれ対応付けられたスナップショット管理テーブル17上の各CoWビットマップのうち、1つ目のスナップショットと対応付けられた左端のビットの値を確認することとなる。
このとき、これらのビットは既にオンとなっているため、プライマリボリュームP−VOL上のブロックアドレスが「0」及び「1」の各ブロック40にそれぞれ格納されているユーザデータを差分ボリュームD−VOLに退避(コピーオンライト)させる必要がないことが分かる。かくして、CPU10は、このときかかるコピーオンライトを実行することなく、図9(A)に示すように、プライマリボリュームP−VOL上のブロックアドレスが「0」及び「1」の各ブロック40のデータをそれぞれ対応する「x」又は「y」のデータに更新するデータ書込み処理のみを実行する。
一方、CPU10は、この後2つ目のスナップショットの取得命令がホスト装置2から与えられると、図10(C)に示すように、まずスナップショット管理テーブル17の各CoWビットマップ欄43にそれぞれ格納された各CoWビットマップにおける、2つ目のスナップショットと対応付けられた左端から2番目のビットをそれぞれオン(「1」)にする。またCPU10は、1つ目のスナップショットの作成時から2つ目のスナップショットの作成時までの間に発生したコピーオンライトの回数を、スナップショット管理テーブル17における1つ目及び2つ目のスナップショットと対応付けられたCoW回数欄45に格納する。
この後CPU10は、図11(A)に示すように、プライマリボリュームP−VOLのブロックアドレスが「5」のブロック40に「f」というユーザデータを書き込むべきデータ書込み要求がホスト装置2から与えられると、スナップショット取得プログラム30に従って、まず、スナップショット管理テーブル17上のブロックアドレスが「5」のブロック40と対応付けられた各CoWビットマップにおける、2つ目のスナップショットと対応付けられた左端から2番目のビットの値を確認する。この場合、かかるビットの値は「1」であるため、CPU10は、図11(B)に示すように、プライマリボリュームP−VOLのブロックアドレスが「5」のブロック40に格納されているユーザデータを、差分データとして、差分ボリュームD−VOLの空いているブロック41(図11(B)の例ではブロックアドレスが「5」のブロック41)に退避させる。
またCPU10は、この後図11(C)に示すように、スナップショット管理テーブル17における対応するCoWビットマップの左端から2番目のビットをクリアする一方、当該スナップショット管理テーブル17における2つ目のスナップショットと対応付けられた退避先ブロックアドレス欄44の行(「SS2」の行)の対応する退避先ブロックアドレス欄44内に、対応する差分データを退避させた差分ボリュームD−VOL上のブロック41のブロックアドレスを格納する。
この場合において、プライマリボリュームP−VOL上のブロックアドレスが「5」のブロック40は、対応するCoWビットマップの1つ目のスナップショットと対応付けられた左端のビットも「1」であり、2つ目のスナップショットの取得時点までユーザデータの変更がなかった、つまり1つ目のスナップショット取得時点のデータ内容と、2つ目のスナップショット取得時点のデータ内容とが同じであることが分かる。
そこで、このときCPU10は、プライマリボリュームP−VOLのブロックアドレスが「5」のブロック40と対応付けられたスナップショット管理テーブル17上のCoWビットマップにおける1つ目のスナップショットのビットをクリアする。またCPU10は、スナップショット管理テーブル17における1つ目のスナップショットと対応付けられた退避先ブロックアドレス欄44の行(「SS2」の行)の対応する退避先ブロックアドレス欄44内に、2つ目のスナップショットと対応付けられた退避先ブロックアドレス欄44の行のブロックアドレスが「5」の退避先ブロックアドレス欄44に格納したブロックアドレスと同じブロックアドレスを格納する。
そしてCPU10は、このようなスナップショット管理テーブル17の更新が終了すると、かかるユーザデータをプライマリボリュームP−VOLに書き込ませる。
さらに、CPU10は、この後3つ目のスナップショットの取得命令がホスト装置2から与えられると、図12(C)に示すように、まずスナップショット管理テーブル17の各CoWビットマップ欄43にそれぞれ格納された各CoWビットマップにおける、3つ目のスナップショットと対応付けられた左端から3番目のビットをそれぞれオン(「1」)にする。またCPU10は、2つ目のスナップショットの作成時から3つ目のスナップショットの作成時時までの間に発生したコピーオンライトの回数を、スナップショット管理テーブル17における、2つ目及び3つ目のスナップショットと対応付けられたCoW回数欄45に格納する。
そしてCPU10は、この後、ホスト装置2からプライマリボリュームP−VOLに対してユーザデータのデータ書込み要求が与えられ、又はホスト装置2から4つ目のスナップショットの取得要求が与えられた場合には、上述と同様に処理する。
次に、上述のようにして作成したスナップショットの参照要求がホスト装置2から与えられた場合のCPU10の処理内容について説明する。このときのプライマリボリュームP−VOL及び差分ボリュームD−VOLは図13(A)及び(B)の状態であり、スナップショット管理テーブル17の状態は図13(C)の状態であるものとする。
取得したスナップショットの参照処理時に使用するのは、スナップショット管理テーブル17の各CoWビットマップ欄43にそれぞれ格納されたCoWビットマップのうちのそのスナップショットと対応付けられたビットと、スナップショット管理テーブル17上の「SS1」〜「SS4」の各行のうちのそのスナップショットと対応付けられた行の各退避先ブロックアドレス欄44内のデータである。
CPU10は、上述のようにして作成したスナップショットの参照要求がホスト装置2から与えられると、スナップショット管理テーブル17上の各CoWビットマップ欄43にそれぞれ格納されたCoWビットマップのうちのそのスナップショットと対応付けられたビットをブロックアドレス(「0」〜「7」)順に読み出す。具体的に、CPU10は、例えば1つ目のスナップショットの参照要求が与えられた場合には、各CoWビットマップ欄43にそれぞれ格納されたCoWビットマップのうち、左端のビットを順次読み出すこととなる。
続いてCPU10は、そのスナップショットの各ブロックについて、上述のように対応するCoWビットマップ欄43から読み出したビットがオン(「1」)の場合には、そのブロックのデータをプライマリボリュームP−VOLから読み出し(図13(A)参照)、これをそのスナップショットの対応するブロックにマップする。またCPU10は、CoWビットマップ欄43から読み出したビットがオフ(「0」)の場合には、そのブロックのデータを差分ボリュームD−VOLから読み出し(図13(B)参照)、これをスナップショットの対応するブロックにマップする。このようなマッピング処理によって、指定されたスナップショットを再現することができる。
ここで、図14は、このようなスナップショット取得処理に関するCPU10の処理内容を示すフローチャートである。CPU10は、メモリ11(図4)に格納されたスナップショット取得プログラム30(図4)に基づき、図14に示すスナップショット処理手順RT1に従って、スナップショットを取得する。
すなわちCPU10は、後述のように第1のマウント/ファイル共有設定プログラム31(図4)により呼び出されると、スナップショット作成処理を開始し、まず、スナップショット管理テーブル17を検索して、未取得のスナップショットを検出する(SP10)。
続いてCPU10は、かかる検索により1つ目のスナップショットが検出されたか否か(すなわち1つ目のスナップショットが既に取得されているか否か)を判断し(SP11)、肯定結果を得ると、スナップショット管理テーブル17の各CoWビットマップ欄43にそれぞれ格納されたCoWビットマップのうち、これから取得しようとするスナップショット(この場合には1つ目のスナップショット)と対応するビット(この場合には左端のビット)をオン(「1」)にする(SP13)。そしてCPU10は、この後このスナップショット取得処理を終了する。
これに対してCPU10は、ステップSP11の判断において否定結果を得ると、スナップショット管理テーブル17の各CoWビットマップ欄43にそれぞれ格納されたCoWビットマップの各ビットのうち、これから取得しようとするスナップショットの1つ前のスナップショットと対応付けられたビットであって、オンとなっているビットの数をカウントする。これによりCPU10は、かかる1つ前のスナップショットの取得開示時から現在までの間にコピーオンライト処理したブロック数を求める。そしてCPU10は、このようにして得られたブロック数をスナップショット管理テーブル17における当該1つ前のスナップショット及びこれらから取得しようとするスナップショットと対応付けられたCoW回数欄45に格納する(SP12)。
そしてCPU10は、この後、スナップショット管理テーブル17の各CoWビットマップ欄43にそれぞれ格納されたCoWビットマップのうち、これから取得しようとするスナップショットと対応するビットをオン(「1」)にする(SP13)。そしてCPU10は、この後このスナップショット取得処理を終了する。
(1−2−2−2)マウント/ファイル共有設定処理
次に、NAS装置4におけるスナップショットのマウント及びファイル共有設定処理について説明する。
次に、NAS装置4におけるスナップショットのマウント及びファイル共有設定処理について説明する。
スナップショットの第1のマウント及びファイルの共有設定プログラム31(図4)は、ジョブスケジューラ18により定期的に呼び出され、マウント及びそのファイル共有設定を行ったスナップショットの要否を判断し、不要な場合には当該スナップショットをアンマウントすると共に、そのファイル共有設定を解除する。
図15は、このようなスナップショットのマウント及びそのファイル共有設定処理に関するCPU10の処理内容を表すフローチャートである。CPU10は、メモリ11(図4)に格納された第1のマウント/ファイル共有設定プログラム31(図4)に基づき、図15に示す第1のマウント/ファイル共有設定処理手順RT2に従って、かかるスナップショットのマウント及びそのファイル共有設定処理を実行する。
すなわちCPU10は、ジョブスケジューラ18から定期的に与えられるスナップショット機能の実行命令を受信すると、この第1のマウント/ファイル共有設定処理手順RT2を開始し、まず、スナップショット取得プログラム30(図4)を呼び出すことにより、新たなスナップショットを取得する(SP20)。
続いてCPU10は、取得したスナップショットが1個目のスナップショットであるか否かを判断する(SP21)。そしてCPU10は、この判断において否定結果を得ると、スナップショット管理テーブル17上の対応するCoW回数欄45に格納されているコピーオンライト回数を読み出し、このコピーオンライト回数にプライマリボリュームP−VOLの1つのブロック40(図5(A))のブロックサイズを掛けるようにして、1つ前のスナップショットを取得してからステップSP20においてスナップショットを取得するまでの差分ボリュームD−VOLの更新データ量を算出する(SP22)。
次いでCPU10は、算出した更新データ量が、上述の更新データ量用閾値よりも大きいか否かを判断し(SP23)、否定結果を得ると、1つ前のスナップショットをアンマウントすると共にそのファイル共有設定を解除する(SP24)。
これに対してCPU10は、ステップSP21若しくはステップSP23の判断において肯定結果を得、又はステップSP24の処理を終えると、これ以上スナップショットをマウントできるか否かを判断する(SP24)。
そしてCPU10は、この判断において否定結果を得るとステップSP26に進み、これに対して肯定結果を得ると、最も古いスナップショットをアンマウントすると共にそのファイルの共有設定を解除する(SP25)。
またCPU10は、この後ステップSP20において取得したスナップショットをマウントする(SP26)と共に、そのファイル共有設定を行い(SP27)、この後、この一連のマウント/ファイル共有設定処理を終了する。
なお、ステップSP27において行なうファイル共有設定には、OSとしてウインドウズ(Windows(登録商標))を用いたホスト装置2からのアクセスのためのCIFS(Common Internet File System)共有設定と、OSとしてユニックス(Unix(登録商標))を用いたホスト装置2からのアクセスのためのNFS(Network File System)共有設定がある。
CIFS共有設定の場合、NAS装置4においてファイル共有設定を行うだけでホスト装置2(ウインドウズクライアント)からスナップショットを参照することが可能であるが、NFS共有設定の場合には、ホスト装置2(ユニックスクライアント)に対する設定も必要となる。これは、ユニックスクライアントであるホスト装置2がリモート(NAS装置4)にあるファイルシステム(スナップショット)を参照可能にするための操作であり、リモートマウント又はNFSマウントと呼ばれる。
NAS装置4側のマウント/ファイル共有設定処理又はアンマウント/ファイル共有設定の解除処理において、スナップショットのマウントやアンマウント及びNFS共有設定の設定又は解除が行なわれた場合、ユニックスクライアントであるホスト装置2にこれを通知する必要がある。そして、この場合にホスト装置2は、かかる通知を受けて、リモートマウント(NFSマウント)の設定又は解除を行なうこととなる。この場合に通知される情報としては、追加又は削除されたマウントポイント(ディレクトリ)がある。
図16は、このようなリモートマウント(NFSマウント)の設定又は解除に関するユニックスクライアントであるホスト装置2の処理内容を表すフローチャートである。かかるユニックスクライアントであるホスト装置2は、通常時、NAS装置4(のCPU10)から上述の通知が送信されてくるのを待ち受け(SP28)、やがてかかる通知を受信すると、リモートマウント(NFSマウント)の設定又は解除を実行する。
(1−3)本実施の形態の効果
以上の構成において、NAS装置4は、定期的にスナップショットを取得し、取得したスナップショットをマウントすると共にそのファイル共有設定を行ってユーザに公開する。またNAS装置4は、この際、1つ前のスナップショットを取得してからそのスナップショットを取得するまでの間の差分ボリュームD−VOLの更新データ量を求め、この更新データ量が予め定められた更新データ量用閾値よりも小さかった場合には、かかる1つ前のスナップショットをアンマウントすると共にそのファイル共有設定を解除する。
以上の構成において、NAS装置4は、定期的にスナップショットを取得し、取得したスナップショットをマウントすると共にそのファイル共有設定を行ってユーザに公開する。またNAS装置4は、この際、1つ前のスナップショットを取得してからそのスナップショットを取得するまでの間の差分ボリュームD−VOLの更新データ量を求め、この更新データ量が予め定められた更新データ量用閾値よりも小さかった場合には、かかる1つ前のスナップショットをアンマウントすると共にそのファイル共有設定を解除する。
従って、この記憶システム1では、連続して取得した2つのスナップショットの内容にある程度の差異がある場合にのみそのスナップショットのマウント及びファイル共有設定が継続され、かかる2つのスナップショットの内容がほとんど同じである場合には前のスナップショットが削除(スナップショットのアンマウント及びファイル共有設定の解除)されることとなるため、限られたマウント数の中で、長期間に渡った内容のスナップショットをユーザに提供することができる。
(2)第2の実施の形態
図17に示すように、NAS装置4内部のファイル共有プログラム16(図1)及びファイルシステム13(図1)によって、ユーザからのアクセスによるファイル更新ログとスナップショット機能によるスナップショット取得のログとが統合されている場合には、このログの情報(ログ情報)から連続する2つのスナップショットを取得するまでの間に更新され又は新たに作成されたファイル又はディレクトリの数などの情報を取得することができる。そこで、第2の実施の形態の記憶システム50(図2)においては、差分ボリュームD−VOLの更新データ量に代えて、更新されたファイル/ディレクトリ数に応じて、スナップショットのマウント及びそのファイル共有設定の可否を判断することを1つ目の特徴とする。
図17に示すように、NAS装置4内部のファイル共有プログラム16(図1)及びファイルシステム13(図1)によって、ユーザからのアクセスによるファイル更新ログとスナップショット機能によるスナップショット取得のログとが統合されている場合には、このログの情報(ログ情報)から連続する2つのスナップショットを取得するまでの間に更新され又は新たに作成されたファイル又はディレクトリの数などの情報を取得することができる。そこで、第2の実施の形態の記憶システム50(図2)においては、差分ボリュームD−VOLの更新データ量に代えて、更新されたファイル/ディレクトリ数に応じて、スナップショットのマウント及びそのファイル共有設定の可否を判断することを1つ目の特徴とする。
この場合において、例えば図17において、『スナップショット間で3個以上のファイルが更新されたときにはスナップショットのアンマウント及びそのファイル共有設定の解除を行なわない』とするファイル/ディレクトリ数の閾値(以下、これをファイル/ディレクトリ数用閾値と呼ぶ)を設定した場合、1つ目のスナップショット(「SS1」)の取得時点から2つ目のスナップショット(「SS2」)の取得時点までの間におけるファイルの更新(ログ情報の「Operationが「Write」となっているログ)は、図中破線で囲んだ1回だけであるため、1つ目のスナップショットのアンマウント及びそのファイル共有設定の解除を行なってから2つ目のスナップショットのマウント及びそのファイル共有設定を行うことになる。
しかしながら、スナップショットがアンマウント及びそのファイル共有設定が解除されてしまうと、システム管理者が再びそのスナップショットをマウント及びそのファイル共有設定をマニュアルで行わない限り、ユーザがそのスナップショットを参照することができなくなる。この結果、例えばこのスナップショットがアンマウント等される前及び後で同じファイルが更新された場合、当該スナップショットがアンマウント等される前のそのファイルの内容を参照し得なくなるという不具合が生じる。
そこで、この第2の実施の形態の記憶システム50では、NAS装置51においてスナップショットをアンマウント等する際に、当該スナップショットの取得時点から次のスナップショットの取得時点までの間に更新されたファイルについては、その更新後のファイル(図17の例では、破線で囲んだ/home/A.txtに相当)を別のファイル共有設定されているディレクトリにコピーする。これにより第2の実施の形態においては、そのスナップショット全体をマウントすることなく、その更新後のファイルを参照することが可能となる。
図18は、このような第2の実施の形態によるスナップショットのマウント及びそのファイル共有設定処理に関するNAS装置51のCPU10の処理内容を示すフローチャートである。CPU10は、第1の実施の形態の第1のマウント/ファイル共有設定プログラム31に代えてスナップショットプログラム52を構成する第2のマウント/ファイル共有設定プログラム53(図4)に基づき、図18に示す第2のマウント/ファイル共有設定処理手順RT3に従って、かかる第2の実施の形態によるマウント/ファイル共有設定処理を実行する。
すなわちCPU10は、ジョブスケジューラ18から定期的に与えられるスナップショット機能の実行命令を受信すると、この第2のマウント/ファイル共有設定処理手順RT3を実行し、まず、スナップショット取得プログラム30(図4)を呼び出すことにより、新たなスナップショットを取得する(SP30)。
続いてCPU10は、取得したスナップショットが1つ目のスナップショットであるか否かを判断する(SP31)。そしてCPU10は、この判断において否定結果を得ると、1つ前のスナップショットを取得してからステップSP30においてスナップショットを取得するまでに更新が行なわれたファイルの数を、かかるログ情報から求める(SP32)。なお、以下においては、更新が行なわれたファイルを更新ファイルと呼び、その数を更新ファイル数と呼ぶものとする。
その後CPU10は、求めた更新ファイル数が予め定められた閾値よりも大きいか否かを判断する(SP33)。そしてCPU10は、この判断において否定結果を得た場合には、1つ前のスナップショットを取得してからステップSP30においてスナップショットを取得するまでに更新が行なわれた更新ファイルをログ情報に基づいて特定すると共に、当該更新ファイルを予め更新ファイルの退避先として予め設定されたディレクトリにコピーし、その後前のスナップショットをアンマウントすると共にそのファイル共有設定を解除する。
一方、CPU10は、ステップSP31又はステップSP33の判断において肯定結果を得、又はステップSP34の処理を終えると、これ以上スナップショットをマウントできないか否かを判断する(SP35)。
CPU10は、この判断において否定結果を得るとステップSP37に進み、これに対して肯定結果を得ると、そのときマウント等されているスナップショットの中から最も古いスナップショットをアンマウントすると共にそのファイル共有設定を解除する(SP36)。
そしてCPU10は、この後ステップSP30のスナップショット取得処理において取得したスナップショットをマウントし(SP37)、さらにそのスナップショットのファイル共有設定を行った後に(SP38)、この一連のマウント/ファイル共有設定処理を終了する。
このように、この第2の実施の形態による記憶システム50では、NAS装置51においてスナップショットをアンマウント等する際に、当該スナップショットの取得時点から次のスナップショットの取得時点までの間に更新されたファイルについては、その更新後のファイルを別のファイル共有設定されているディレクトリにコピーするため、スナップショットをアンマウント等した後でもユーザがこのファイルを参照することができ、かくしてユーザの利便性を向上させることができる。
(3)第3の実施の形態
第1の実施の形態のNAS装置4では、図14について上述した第1のマウント/ファイル共有設定処理手順RT2のステップSP24において、連続する2つのスナップショットをそれぞれ取得するまでの間における差分ボリュームD−VOLの更新データ量が更新データ量用閾値よりも小さいスナップショットについては、新たなスナップショットのマウント及びそのファイル共有設定がなされる前に、アンマウント及びそのファイル共有設定の解除を行なっている。これに対して、第3の実施の形態では、この処理を他の処理と非同期化する、つまりスナップショットのアンマウント及びそのファイル共有設定の解除を新たなスナップショットのマウント及びファイル共有設定とは別のタイミングで行なうことを特徴としている。
第1の実施の形態のNAS装置4では、図14について上述した第1のマウント/ファイル共有設定処理手順RT2のステップSP24において、連続する2つのスナップショットをそれぞれ取得するまでの間における差分ボリュームD−VOLの更新データ量が更新データ量用閾値よりも小さいスナップショットについては、新たなスナップショットのマウント及びそのファイル共有設定がなされる前に、アンマウント及びそのファイル共有設定の解除を行なっている。これに対して、第3の実施の形態では、この処理を他の処理と非同期化する、つまりスナップショットのアンマウント及びそのファイル共有設定の解除を新たなスナップショットのマウント及びファイル共有設定とは別のタイミングで行なうことを特徴としている。
具体的には、第3の実施の形態による記憶システム60においては、NAS装置61のメモリ11に図19に示すような削除候補リスト62が格納されており、NAS装置61が、スナップショットのマウント及びそのファイル共有設定時には、アンマウント及びファイル共有設定の解除対象のスナップショットをこの削除候補リスト62に登録しておき、かかる削除候補リスト61に登録された各スナップショットを別のバッチジョブによってまとめてアンマウント及びそのファイル共有設定の解除する処理を定期的に実行するようになされている。
なお、かかる削除候補リスト62に登録された各スナップショットをアンマウント及びそのファイル共有設定の解除する処理の実行タイミングとしては、上述のように定期的に実行する場合のほか、マウント可能なスナップショットの残数が予め定められた下限値を下回ったときなど、他のタイミングを適用するようにしても良い。
図4との対応部分に同一符号を付した図20は、このようなスナップショット機能が搭載された第3の実施の形態のNAS装置61の概略構成を示す。かかるNAS装置61においては、実装されたスナップショットプログラム63内に、第1のマウント/ファイル共有設定プログラム31(図4)に代えて第3のマウント/ファイル共有設定プログラム64が設けられている点と、スナップショットプログラム72内に、削除候補リスト62に登録されたスナップショットをアンマウントすると共にそのファイル共有設定を解除するアンマウント/ファイル共有設定解除プログラム65が設けられている点とを除いて第1の実施の形態によるNAS装置4と同様に構成されている。
そしてNAS装置61のCPU10は、メモリ11に格納されたかかる第3のマウント/ファイル共有設定プログラム64に基づき、図21に示す第3のマウント/ファイル共有設定処理手順RT4に従って、上述のような第3の実施の形態によるマウント/ファイル共有設定処理を実行する。
すなわちCPU10は、この第3のマウント/ファイル共有設定処理手順RT4のステップSP40〜ステップSP42を、図16について上述した第2のマウント/ファイル共有設定処理手順RT2のステップSP20〜ステップSP23と同様に処理する。
そしてCPU10は、ステップSP43における判断において否定結果を得ると、最後にマウントしたスナップショットのスナップショット名を削除候補リスト62に追加し(SP44)、この後ステップSP45〜ステップSP48までを、上述の第2のマウント/ファイル共有設定処理手順RT2のステップSP24〜ステップSP27と同様に処理する。
一方、CPU10は、ジョブスケジューラ18(図1)から定期的に与えられるアンマウント/ファイル共有設定解除処理の実行命令に応じて、メモリ11に格納された上述のアンマウント/ファイル共有設定解除プログラム65に基づき、図22に示すアンマウント/ファイル共有設定解除処理手順RT5に従って、削除候補リスト62に登録されたすべてのスナップショットについて、そのアンマウント及びファイル共有設定の解除処理を実行する。
すなわちCPU10は、ジョブスケジューラ18からアンマウント/ファイル共有設定解除処理の実行命令が与えられると、このアンマウント/ファイル共有設定解除処理手順RT5を開始し、まず、削除候補リスト62に登録されたすべてのスナップショット名を読み出す(SP49)。
続いてCPU10は、削除候補リスト62から読み出した各スナップショット名のスナップショットについて、それぞれそのアンマウント及びファイル共有設定の解除を実行する(SP50)。
次いでCPU10は、削除候補リスト62に登録されたすべてのスナップショット名を当該削除候補リスト62から削除し(SP51)、この後このアンマウント/ファイル共有設定解除処理を終了する。
このように第3の実施の形態による記憶システム60では、マウント/ファイル共有設定処理のうち、不要なスナップショットのアンマウント及びそのファイル共有設定の解除処理を他の処理と非同期で行なうため、例えば当該アンマウント及びそのファイル共有設定解除処理をCPU10が空いているときに行なうようにすることで、マウント/ファイル共有設定処理に対するCPU10の負荷を軽減させることができる。
(4)第4の実施の形態
上述の第3の実施の形態による記憶システム60において、複数のファイルシステムのスナップショットを1つのスナップショット管理テーブル17で管理し、一元的にマウント/アンマウントの可否の判定を行う構成を採用した場合、複数のユーザがそれぞれ異なるスナップショットにアクセスすることを考慮すると、アクセス数が多く更新頻度が高いファイルシステムのスナップショットが多くマウント等されて数多く残存し、アクセス数が少なく更新頻度が低いファイルシステムのスナップショットがアンマウント等されてほとんど残らないという事態が発生する。
上述の第3の実施の形態による記憶システム60において、複数のファイルシステムのスナップショットを1つのスナップショット管理テーブル17で管理し、一元的にマウント/アンマウントの可否の判定を行う構成を採用した場合、複数のユーザがそれぞれ異なるスナップショットにアクセスすることを考慮すると、アクセス数が多く更新頻度が高いファイルシステムのスナップショットが多くマウント等されて数多く残存し、アクセス数が少なく更新頻度が低いファイルシステムのスナップショットがアンマウント等されてほとんど残らないという事態が発生する。
そこで、第4の実施の形態による記憶システム70(図1)では、アクセスユーザ数も考慮し、更新データ量も少なく、かつアクセスユーザ数も少ないファイルシステムのスナップショットのみをアンマウントするようにする。これによりこの記憶システム70によれば、更新頻度が少ないスナップショットについても、マウント及びそのファイル共有設定を維持することができる。
図20との対応部分に同一符号を付した図23は、このようなスナップショット機能が搭載された第4の実施の形態のNAS装置71の概略構成を示す。かかるNAS装置71においては、実装されたスナップショットプログラム72内に、第3のマウント/ファイル共有設定プログラム64(図20)に代えて第4のマウント/ファイル共有設定プログラム73が設けられている点と、スナップショットプログラム72内に、各スナップショットに対するユーザからのアクセス頻度を監視するアクセス監視プログラムが設けられている点とを除いて第3の実施の形態による記憶システム60と同様に構成されている。
そしてNAS装置71のCPU10は、メモリ11に格納されたかかるアクセス監視プログラム74に基づき、図24に示すアクセス監視処理手順RT6に従って、各スナップショットに対する一定期間(例えば1日)当たりのユーザのアクセス数を監視する。
すなわちCPU10は、ジョブスケジューラ18(図23)から上述の一定期間ごとに与えられるアクセス監視処理の実行命令を受信すると、まず、ログ情報に基づいて、ユーザからのアクセスのあったすべてのファイルシステムのファイルシステム名を取得したか否かを判断する(SP60)。
そしてCPU10は、この判断において否定結果を得ると、ログ情報に基づいて、ユーザからのアクセスがあったファイルシステムのファイルシステム名を1つ取得し(SP61)、その後そのファイルシステムに関するスナップショットであって、ユーザからのアクセスがあったすべてのスナップショットのスナップショット名をログ情報から取得する(SP62)。
続いて、CPU10は、ステップSP62においてスナップショット名を取得した各スナップショットについて、それぞれそのスナップショットにアクセスしたユーザ数をログ情報から取得し(SP63)、この後ステップSP61〜ステップSP63において取得したファイルシステム名、スナップショット名及びアクセスユーザ数を第4のマウント/ファイル共有設定プログラム73に出力する(SP64)。
この後CPU10は、同様の処理を繰り返し(SP60〜SP64−SP60)、やがてその一定期間内にユーザがアクセスしたすべてのファイルシステムのファイルシステム名を取得し終えることによりステップSP60において肯定結果を得ると、このアクセス監視処理を終了する。
一方、図25は、メモリ11に格納された上述の第4のマウント/ファイル共有設定プログラム73に基づいてCPU10が行なうマウント/ファイル共有設定処理の処理内容を示したフローチャートである。
CPU10は、ジョブスケジューラ18から定期的に与えられるマウント/ファイル共有設定処理の実行命令を受信すると、この図25に示す第4のマウント/ファイル共有設定処理手順RT7を開始し、ステップSP70〜ステップSP72を図21について上述した第3のマウント/ファイル共有設定処理手順RT4のステップSP40〜ステップSP42と同様に処理する。
そしてCPU10は、この後、ステップSP73においてスナップショット管理テーブル17上の対応するCoW回数欄45(図5)から読み出したCoW回数に基づいて、1つ前にマウントしたスナップショットの取得時点からそのとき取得したスナップショットの取得時点までの間における差分ボリュームD−VOLの更新データ量が予め定められた更新データ量用閾値よりも小さく、かつ、そのスナップショットに対するアクセスユーザ数が、当該アクセスユーザ数について予め定められた閾値(以下、これをアクセスユーザ数用閾値と呼ぶ)よりも小さいか否かを判断する(SP73)。
CPU10は、このステップSP73において否定結果を得るとステップSP75に進み、これに対して肯定結果を得ると、そのスナップショットのスナップショット名を削除候補リスト62(図19)に追加登録した後にステップSP75に進む。そしてCPU10は、この後ステップSP75〜ステップSP78を第3のアンマウント/ファイル共有設定解除処理手順RT4のステップSP40〜ステップSP42と同様に処理する。
かくして、削除候補リスト62に登録されたスナップショットは、この後アンマウント/ファイル共有設定解除プログラム65に基づき、図22について上述したアンマウント/ファイル共有設定解除処理手順RT5に従って、アンマウントされると共にそのファイル共有設定が解除されることとなる。
このようにこの第4の実施の形態の記憶システム70では、更新データ量も少なく、かつアクセスユーザ数も少ないファイルシステムのスナップショットのみをアンマウントするようにしているため、アクセス数が多く更新頻度が高いファイルシステムのスナップショットが多くマウント等されて数多く残存し、アクセス数が少なく更新頻度が低いファイルシステムのスナップショットがアンマウント等されてほとんど残らないという事態が発生することを有効に防止することができる。
(5)他の実施の形態
なお上述の第1〜第4の実施の形態においては、本発明をNAS装置4,51,61,71に適用するようにした場合について述べたが、本発明はこれに限らず、例えばストレージ装置など、複数のスナップショットを定期的に取得できるように構成された種々の装置に広く適用することができる。
なお上述の第1〜第4の実施の形態においては、本発明をNAS装置4,51,61,71に適用するようにした場合について述べたが、本発明はこれに限らず、例えばストレージ装置など、複数のスナップショットを定期的に取得できるように構成された種々の装置に広く適用することができる。
また上述の第1〜第4の実施の形態においては、スナップショットを定期的に取得して管理するスナップショット取得部と、スナップショット取得部により取得された2つのスナップショット間の相違量を検出する相違量検出部と、相違量検出部により検出された相違量が予め定められた閾値よりも小さいときには、当該2つのスナップショットのうち、先行して取得したスナップショットを削除(スナップショットのアンマウント及びファイル共有設定の解除)するスナップショット削除部と、スナップショット取得部により取得されたスナップショットをマウントすると共に当該スナップショットのファイルの共有設定を行って、当該スナップショットを外部に公開するマウント及びファイル共有設定部とを、スナップショットプログラム14,52,63,72と同じ1つのCPU10とで構成するようにした場合について述べたが、本発明はこれに限らず、これらを物理的に異なるハードウェアとして構築するようにしても良い。
さらに上述の第1、第3及び第4の実施の形態においては、連続する2つのスナップショット間における差分ボリュームD−VOLの更新データ量に基づいて、先行するスナップショットのアンマウント等の要否を判断するようにした場合について述べたが、本発明はこれに限らず、連続していない2つのスナップショットについて同様の処理を行なうようにしても良い。
さらに上述の第1〜第4の実施の形態においては、2つのスナップショット間の相違量を検出する方法として、その2つのスナップショット間における差分ボリュームD−VOLの更新データ量や、更新ファイル数を適用するようにした場合について述べたが、本発明はこれに限らず、かかる相違量を検出する方法としては、この他種々の方法を広く適用することができる。
さらに上述の第4の実施の形態においては、複数のファイルシステムのスナップショットを1つのスナップショット管理テーブル17で管理する場合に、アクセス数が多く更新頻度が高いファイルシステムのスナップショットが多くマウントされ、アクセス数が少なく更新頻度が低いファイルシステムのスナップショットがアンマウントされる事態を防止する手段として、差分ボリュームD−VOLの更新データ量だけでなく、アクセスユーザ数も考慮するようにした場合について述べたが、本発明はこれに限らず、スナップショットのマウントの可否の判断処理を各ファイルシステムで分散及び独立して行なうようにしても良い。
具体的には、例えばある第1のファイルシステムの各スナップショットをSS1−1,SS1−2,……,SS1−nとした場合、その第1のファイルシステムの更新頻度に基づいてマウントの可否を判断する対象となるスナップショットは当該第1のファイルシステムのスナップショットSS1−1,SS1−2,……,SS1−nのみであり、他の第2のファイルシステムのスナップショットSS2−1,SS2−2,……,SS2−nを対象としない。また、かかる第2のファイルシステムについては、第1のファイルシステムと独立して、第2のファイルシステムの更新頻度に基づいて、各スナップショットSS1−1,SS1−2,……,SS1−nのマウントの可否を判断する。
この方法は、図16について上述した第1のマウント/ファイル共有設定処理手順RT2に従ったスナップショットのマウント/ファイル共有設定処理を、ファイルシステムごとに実行することにより実現することができる。
このように各スナップショットのマウントの可否の判断をファイルシステムごとに独立して行うことによって、異なるファイルシステム間に発生する干渉(つまり、相対的に更新頻度の下がったスナップショットばかりがアンマウントされること)を有効に防止することができる。
1,50,60,70……記憶システム、2……ホスト装置、4,51,61,71……NAS装置、5……ストレージ装置、10……CPU、11……メモリ、13……ファイルシステム、14,52,63,72……スナップショットプログラム、16……ファイル共有プログラム、17……スナップショット管理テーブル、18……ジョブスケジューラ、30,53……スナップショット取得プログラム、31,64,73……マウント/ファイル共有設定プログラム、40,41……ブロック、62……削除候補リスト、65……アンマウント/ファイル共有設定解除プログラム、74……アクセス監視プログラム、P−VOL……プライマリボリューム、D−VOL……差分ボリューム、V−VOL……仮想ボリューム(スナップショット)。
Claims (10)
- ユーザが利用する第1のボリュームのある時点のイメージであるスナップショットを取得して管理するスナップショット管理装置において、
前記スナップショットを定期的に取得して管理するスナップショット取得部と、
前記スナップショット取得部により取得された2つの前記スナップショット間の相違量を検出する相違量検出部と、
前記相違量検出部により検出された前記相違量が予め定められた閾値よりも小さいときには、当該2つのスナップショットのうち、先行して取得した前記スナップショットを削除するスナップショット削除部と
を備えることを特徴とするスナップショット管理装置。 - 前記スナップショット取得部は、
取得した前記スナップショットと現在の前記第1のボリュームの内容との間の差分を差分データとして第2のボリュームに退避させ、
前記相違量検出部は、
前記2つのスナップショットのうち、先行する前記スナップショットを取得してから後行する前記スナップショットを取得するまでの間における前記第2のボリュームの更新データ量を、当該2つのスナップショット間の相違量として検出する
ことを特徴とする請求項1に記載のスナップショット管理装置。 - 前記スナップショット取得部により取得された前記スナップショットをマウントすると共に当該スナップショットのファイルの共有設定を行って、当該スナップショットを外部に公開するマウント及びファイル共有設定部を備える
ことを特徴とする請求項1に記載のスナップショット管理装置。 - 前記スナップショット削除部は、
前記マウント及びファイル共有設定部による前記スナップショットのマウント及び当該スナップショットのファイルの共有設定処理と非同期に、対応する前記スナップショットを削除するスナップショット削除処理を実行する
ことを特徴とする請求項3に記載のスナップショット管理装置。 - 前記スナップショット削除部は、
アクセスユーザ数も考慮して前記スナップショットの削除の要否を判断する
ことを特徴とする請求項1に記載のスナップショット管理装置。 - ユーザが利用する第1のボリュームのある時点のイメージであるスナップショットを取得して管理するスナップショット管理方法において、
前記スナップショットを定期的に取得する第1のステップと、
取得した2つの前記スナップショット間の相違量を検出する第2のステップと、
検出した前記相違量が予め定められた閾値よりも小さいときには、当該2つのスナップショットのうち、先行して取得した前記スナップショットを削除する第3のステップと
を備えることを特徴とするスナップショット管理方法。 - 前記第1のステップでは、
取得した前記スナップショットと現在の前記第1のボリュームの内容との間の差分を差分データとして第2のボリュームに退避させ、
前記第2のステップでは、
前記2つのスナップショットのうち、先行する前記スナップショットを取得してから後行する前記スナップショットを取得するまでの間における前記第2のボリュームの更新データ量を、当該2つのスナップショット間の相違量として検出する
ことを特徴とする請求項6に記載のスナップショット管理方法。 - 前記第1のステップでは、
取得した前記スナップショットをマウントすると共に当該スナップショットのファイルの共有設定を行って、当該スナップショットを外部に公開する
ことを特徴とする請求項6に記載のスナップショット管理方法。 - 前記第3のステップでは、
前記スナップショットのマウント及び当該スナップショットのファイルの共有設定処理と非同期に、対応する前記スナップショットを削除するスナップショット削除処理を実行する
ことを特徴とする請求項8に記載のスナップショット管理方法。 - 前記第3のステップでは、
アクセスユーザ数も考慮して前記スナップショットの削除の要否を判断する
ことを特徴とする請求項5に記載のスナップショット管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006036365A JP2007219609A (ja) | 2006-02-14 | 2006-02-14 | スナップショット管理装置及び方法 |
US11/407,893 US7882067B2 (en) | 2006-02-14 | 2006-04-21 | Snapshot management device and snapshot management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006036365A JP2007219609A (ja) | 2006-02-14 | 2006-02-14 | スナップショット管理装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007219609A true JP2007219609A (ja) | 2007-08-30 |
Family
ID=38429642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006036365A Withdrawn JP2007219609A (ja) | 2006-02-14 | 2006-02-14 | スナップショット管理装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7882067B2 (ja) |
JP (1) | JP2007219609A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009116773A (ja) * | 2007-11-09 | 2009-05-28 | Hitachi Ltd | バックアップ実行可否判定システム |
JP2011204008A (ja) * | 2010-03-25 | 2011-10-13 | Nippon Telegr & Teleph Corp <Ntt> | ファイルサーバ及びクライアント端末及び検索インデックス生成装置及び連続スナップショット管理方法及びバックアップ方法及び検索インデックス構築方法及びそれらのプログラム |
US8225059B2 (en) | 2009-07-30 | 2012-07-17 | Hitachi, Ltd. | Remote copy system and remote copy control method |
JP2013511104A (ja) * | 2009-11-16 | 2013-03-28 | マイクロソフト コーポレーション | ブロブとしての仮想ハードドライブ管理 |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529897B1 (en) | 2003-12-31 | 2009-05-05 | Vmware, Inc. | Generating and using checkpoints in a virtual computer system |
US7506202B1 (en) | 2005-02-08 | 2009-03-17 | Symantec Operating Corporation | Compression of temporal dimension in a temporal storage device |
JP4809040B2 (ja) * | 2005-11-08 | 2011-11-02 | 株式会社日立製作所 | ストレージ装置及びスナップショットのリストア方法 |
US8990153B2 (en) * | 2006-02-07 | 2015-03-24 | Dot Hill Systems Corporation | Pull data replication model |
US20080140963A1 (en) * | 2006-12-11 | 2008-06-12 | Thomason Ronald G | Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots |
US8751467B2 (en) * | 2007-01-18 | 2014-06-10 | Dot Hill Systems Corporation | Method and apparatus for quickly accessing backing store metadata |
US7716183B2 (en) * | 2007-04-11 | 2010-05-11 | Dot Hill Systems Corporation | Snapshot preserved data cloning |
US7975115B2 (en) * | 2007-04-11 | 2011-07-05 | Dot Hill Systems Corporation | Method and apparatus for separating snapshot preserved and write data |
US8001345B2 (en) * | 2007-05-10 | 2011-08-16 | Dot Hill Systems Corporation | Automatic triggering of backing store re-initialization |
US8204858B2 (en) * | 2007-06-25 | 2012-06-19 | Dot Hill Systems Corporation | Snapshot reset method and apparatus |
US8725967B2 (en) * | 2008-08-08 | 2014-05-13 | Amazon Technologies, Inc. | Providing executing programs with access to stored block data of others |
US8504524B1 (en) * | 2009-02-09 | 2013-08-06 | American Megatrends, Inc. | Reclaiming space from a file system |
JP2010191647A (ja) * | 2009-02-18 | 2010-09-02 | Hitachi Ltd | ファイル共有システム、ファイルサーバ、ファイル管理方法 |
US9134922B2 (en) | 2009-03-12 | 2015-09-15 | Vmware, Inc. | System and method for allocating datastores for virtual machines |
US8751523B2 (en) * | 2009-06-05 | 2014-06-10 | Apple Inc. | Snapshot based search |
US8271426B2 (en) * | 2009-10-01 | 2012-09-18 | Oracle International Corporation | Change application for datasets using frozen and delta values |
CN102262819B (zh) | 2009-10-30 | 2014-10-15 | 国际商业机器公司 | 基于移动通信网络确定道路的实时通行时间的方法和装置 |
JP2011100292A (ja) * | 2009-11-05 | 2011-05-19 | Hitachi Ltd | 計算機システム及びその管理方法 |
US9015430B2 (en) * | 2010-03-02 | 2015-04-21 | Symantec Corporation | Copy on write storage conservation systems and methods |
US8315991B2 (en) * | 2010-04-20 | 2012-11-20 | International Business Machines Corporation | Detecting inadvertent or malicious data corruption in storage subsystems and recovering data |
US8224781B2 (en) * | 2010-05-14 | 2012-07-17 | Lsi Corporation | Data protection in a data storage system |
US8775774B2 (en) | 2011-08-26 | 2014-07-08 | Vmware, Inc. | Management system and methods for object storage system |
US8595460B2 (en) | 2011-08-26 | 2013-11-26 | Vmware, Inc. | Configuring object storage system for input/output operations |
US8650359B2 (en) | 2011-08-26 | 2014-02-11 | Vmware, Inc. | Computer system accessing object storage system |
US8775773B2 (en) | 2011-08-26 | 2014-07-08 | Vmware, Inc. | Object storage system |
US8769174B2 (en) | 2011-08-29 | 2014-07-01 | Vmware, Inc. | Method of balancing workloads in object storage system |
US8677085B2 (en) * | 2011-08-29 | 2014-03-18 | Vmware, Inc. | Virtual machine snapshotting in object storage system |
US8898593B2 (en) * | 2011-10-05 | 2014-11-25 | Microsoft Corporation | Identification of sharing level |
US9063768B2 (en) | 2011-10-10 | 2015-06-23 | Vmware, Inc. | Method and apparatus for comparing configuration and topology of virtualized datacenter inventories |
US10176184B2 (en) | 2012-01-17 | 2019-01-08 | Oracle International Corporation | System and method for supporting persistent store versioning and integrity in a distributed data grid |
US9047169B1 (en) * | 2012-03-30 | 2015-06-02 | Emc Corporation | Resizing snapshot mount points |
US9047309B1 (en) * | 2012-12-31 | 2015-06-02 | Emc Corporation | Dynamic snapshot mounting |
US9766987B2 (en) | 2013-01-11 | 2017-09-19 | Commvault Systems, Inc. | Table level database restore in a data storage system |
US9069709B1 (en) * | 2013-06-24 | 2015-06-30 | Emc International Company | Dynamic granularity in data replication |
US9547655B1 (en) * | 2013-07-11 | 2017-01-17 | Ca, Inc. | Filesystem independent snapshot driver |
US10248618B1 (en) * | 2014-03-31 | 2019-04-02 | EMC IP Holding Company LLC | Scheduling snapshots |
US20160004721A1 (en) * | 2014-07-01 | 2016-01-07 | Commvault Systems, Inc. | Replicating local file systems as respective luns in a storage array, using block-level data transfers and enhanced storage managers, data agents, and media agents in an information management system |
US10031917B2 (en) | 2014-07-29 | 2018-07-24 | Commvault Systems, Inc. | Efficient volume-level replication of data via snapshots in an information management system |
EP3198485B1 (en) | 2014-09-25 | 2018-09-12 | Oracle International Corporation | System and method for supporting zero-copy binary radix tree in a distributed computing environment |
US10664495B2 (en) | 2014-09-25 | 2020-05-26 | Oracle International Corporation | System and method for supporting data grid snapshot and federation |
US10268695B2 (en) | 2014-10-28 | 2019-04-23 | Hewlett Packard Enterprise Development Lp | Snapshot creation |
US10140188B2 (en) * | 2014-11-26 | 2018-11-27 | ArcServe (USA) LLC | Snapshot management |
US20160210306A1 (en) | 2015-01-15 | 2016-07-21 | Commvault Systems, Inc. | Managing structured data in a data storage system |
US10108687B2 (en) | 2015-01-21 | 2018-10-23 | Commvault Systems, Inc. | Database protection using block-level mapping |
US9904598B2 (en) | 2015-04-21 | 2018-02-27 | Commvault Systems, Inc. | Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology |
US11163498B2 (en) | 2015-07-01 | 2021-11-02 | Oracle International Corporation | System and method for rare copy-on-write in a distributed computing environment |
US10860378B2 (en) | 2015-07-01 | 2020-12-08 | Oracle International Corporation | System and method for association aware executor service in a distributed computing environment |
US10585599B2 (en) | 2015-07-01 | 2020-03-10 | Oracle International Corporation | System and method for distributed persistent store archival and retrieval in a distributed computing environment |
US11010409B1 (en) * | 2016-03-29 | 2021-05-18 | EMC IP Holding Company LLC | Multi-streaming with synthetic replication |
US10423609B1 (en) * | 2017-03-29 | 2019-09-24 | Amazon Technologies, Inc. | Consistent snapshot points in a distributed storage service |
US11550820B2 (en) | 2017-04-28 | 2023-01-10 | Oracle International Corporation | System and method for partition-scoped snapshot creation in a distributed data computing environment |
US10769019B2 (en) | 2017-07-19 | 2020-09-08 | Oracle International Corporation | System and method for data recovery in a distributed data computing environment implementing active persistence |
US10721095B2 (en) | 2017-09-26 | 2020-07-21 | Oracle International Corporation | Virtual interface system and method for multi-tenant cloud networking |
US10862965B2 (en) | 2017-10-01 | 2020-12-08 | Oracle International Corporation | System and method for topics implementation in a distributed data computing environment |
CN111124747B (zh) * | 2018-10-31 | 2023-09-01 | 伊姆西Ip控股有限责任公司 | 用于删除快照的方法、设备和计算机可读介质 |
US11269732B2 (en) | 2019-03-12 | 2022-03-08 | Commvault Systems, Inc. | Managing structured data in a data storage system |
US10963182B2 (en) | 2019-05-29 | 2021-03-30 | Nutanix, Inc. | System and method for on-demand recovery points |
US11429559B2 (en) * | 2020-05-29 | 2022-08-30 | EMC IP Holding Company LLC | Compliance recycling algorithm for scheduled targetless snapshots |
US11537297B1 (en) | 2021-09-20 | 2022-12-27 | Vmware, Inc. | Deleting snapshot pages using sequence numbers and page lookups |
US12159044B2 (en) | 2022-06-08 | 2024-12-03 | Commvault Systems, Inc. | Cloud-based destination for block-level data replication processing |
US20240362250A1 (en) * | 2023-04-28 | 2024-10-31 | Dell Products L.P. | Sub-track granularity for preserving point-in-time data |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870758A (en) * | 1996-03-11 | 1999-02-09 | Oracle Corporation | Method and apparatus for providing isolation levels in a database system |
JP3868708B2 (ja) * | 2000-04-19 | 2007-01-17 | 株式会社日立製作所 | スナップショット管理方法及び計算機システム |
US6594744B1 (en) * | 2000-12-11 | 2003-07-15 | Lsi Logic Corporation | Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository |
WO2003028183A1 (en) * | 2001-09-28 | 2003-04-03 | Commvault Systems, Inc. | System and method for generating and managing quick recovery volumes |
US7237075B2 (en) * | 2002-01-22 | 2007-06-26 | Columbia Data Products, Inc. | Persistent snapshot methods |
US6959310B2 (en) * | 2002-02-15 | 2005-10-25 | International Business Machines Corporation | Generating data set of the first file system by determining a set of changes between data stored in first snapshot of the first file system, and data stored in second snapshot of the first file system |
US7225204B2 (en) * | 2002-03-19 | 2007-05-29 | Network Appliance, Inc. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US6993539B2 (en) * | 2002-03-19 | 2006-01-31 | Network Appliance, Inc. | System and method for determining changes in two snapshots and for transmitting changes to destination snapshot |
MXPA05003735A (es) * | 2002-10-07 | 2005-11-17 | Commvault Systems Inc | Sistema y metodo para manejar datos almacenados. |
US6981114B1 (en) * | 2002-10-16 | 2005-12-27 | Veritas Operating Corporation | Snapshot reconstruction from an existing snapshot and one or more modification logs |
JP4199993B2 (ja) * | 2002-11-27 | 2008-12-24 | 株式会社日立製作所 | スナップショット取得方法 |
JP4292882B2 (ja) | 2003-03-18 | 2009-07-08 | 株式会社日立製作所 | 複数のスナップショット維持方法及びサーバ装置及びストレージ装置 |
US20050022213A1 (en) * | 2003-07-25 | 2005-01-27 | Hitachi, Ltd. | Method and apparatus for synchronizing applications for data recovery using storage based journaling |
US7467266B2 (en) * | 2003-08-05 | 2008-12-16 | International Business Machines Corporation | Snapshot management method apparatus and system |
JP4550541B2 (ja) * | 2004-10-06 | 2010-09-22 | 株式会社日立製作所 | ストレージシステム |
US7562077B2 (en) * | 2005-03-28 | 2009-07-14 | Netapp, Inc. | Method and apparatus for generating and describing block-level difference information about two snapshots |
JP4662548B2 (ja) * | 2005-09-27 | 2011-03-30 | 株式会社日立製作所 | スナップショット管理装置及び方法並びにストレージシステム |
-
2006
- 2006-02-14 JP JP2006036365A patent/JP2007219609A/ja not_active Withdrawn
- 2006-04-21 US US11/407,893 patent/US7882067B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009116773A (ja) * | 2007-11-09 | 2009-05-28 | Hitachi Ltd | バックアップ実行可否判定システム |
US8225059B2 (en) | 2009-07-30 | 2012-07-17 | Hitachi, Ltd. | Remote copy system and remote copy control method |
JP2013511104A (ja) * | 2009-11-16 | 2013-03-28 | マイクロソフト コーポレーション | ブロブとしての仮想ハードドライブ管理 |
US10628086B2 (en) | 2009-11-16 | 2020-04-21 | Microsoft Technology Licensing, Llc | Methods and systems for facilitating communications with storage |
JP2011204008A (ja) * | 2010-03-25 | 2011-10-13 | Nippon Telegr & Teleph Corp <Ntt> | ファイルサーバ及びクライアント端末及び検索インデックス生成装置及び連続スナップショット管理方法及びバックアップ方法及び検索インデックス構築方法及びそれらのプログラム |
Also Published As
Publication number | Publication date |
---|---|
US7882067B2 (en) | 2011-02-01 |
US20070198605A1 (en) | 2007-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007219609A (ja) | スナップショット管理装置及び方法 | |
JP4662548B2 (ja) | スナップショット管理装置及び方法並びにストレージシステム | |
JP4704893B2 (ja) | 計算機システム及び管理計算機とストレージシステム並びにバックアップ管理方法 | |
JP4996619B2 (ja) | バックアップ・サーバとバックアップ記憶システムとを備えるシステムを動作させる方法及びプログラム | |
JP4903461B2 (ja) | 記憶システム及びデータ移行方法並びにサーバ装置 | |
US8271753B2 (en) | Storage controller and storage control method for copying a snapshot using copy difference information | |
JP5205164B2 (ja) | ファイルシステム管理装置及び方法 | |
JP2007206931A (ja) | 記憶システム、データ処理方法並びにストレージ装置 | |
JP4550541B2 (ja) | ストレージシステム | |
JP5705309B2 (ja) | バックアップ・プロセスを処理する方法、システム、及びコンピュータ・プログラム | |
EP2158541B1 (en) | Performing backup operations for a volume group of volumes | |
JP5222469B2 (ja) | 記憶システム及びデータ管理方法 | |
JP5188538B2 (ja) | 計算機システム及びリストア方法 | |
JP4916420B2 (ja) | ストレージシステム及びリモートコピー制御方法 | |
US7383465B1 (en) | Undoable volume using write logging | |
JP2007280323A (ja) | 記憶システム及びデータ管理方法 | |
JP2006302015A (ja) | ストレージシステム及びデータ管理方法 | |
JP2007141043A (ja) | ストレージシステムにおける障害管理方法 | |
WO2013030893A1 (en) | Computer system and data access control method | |
JP2007226347A (ja) | 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法 | |
JP2007087036A (ja) | スナップショット維持装置及び方法 | |
JP2008015768A (ja) | 記憶システム並びにこれを用いたデータの管理方法 | |
JP2008140300A (ja) | ストレージシステム及びウィルス感染拡散防止方法並びにウィルス除去支援方法 | |
JP5232406B2 (ja) | 情報処理装置及び方法 | |
US20060020762A1 (en) | Storing data replicas remotely |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090106 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090130 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100601 |