JPH11120055A - コンピュータシステムおよびデータ退避方法 - Google Patents
コンピュータシステムおよびデータ退避方法Info
- Publication number
- JPH11120055A JPH11120055A JP9279157A JP27915797A JPH11120055A JP H11120055 A JPH11120055 A JP H11120055A JP 9279157 A JP9279157 A JP 9279157A JP 27915797 A JP27915797 A JP 27915797A JP H11120055 A JPH11120055 A JP H11120055A
- Authority
- JP
- Japan
- Prior art keywords
- snapshot
- stripe
- information
- data
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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
ステムおよびアプリケーションプログラムなどの改造を
伴なわずにファイルの内容を所定の時点に復元するため
のスナップショットを効率的に採取するコンピュータシ
ステム。 【解決手段】アプリケーションプログラム1a〜1cが
更新を含むアクセスを実行するファイル群を管理するフ
ァイルシステム2と、このファイル群を格納する少なく
とも一つ以上のディスク装置4との間に、ファイル群の
内容を所定の時点に復元するためのスナップショット情
報をディスク装置4ごとに採取し、この採取したスナッ
プショット情報をそれぞれのディスク装置4に格納する
ディスクスナップショット部3を介在させて設けること
により、アプリケーションプログラム1a〜1cやファ
イルシステム2などになんらの変更を伴なわずにスナッ
プショットを効率的に採取することを可能とする。
Description
ク装置などに格納されたファイルの更新前データを後方
回復のために退避するコンピュータシステムに係り、特
に既存のオペレーティングシステム、ファイルシステム
およびアプリケーションプログラムなどの改造を伴なわ
ずにファイルの内容を所定の時点に復元するためのスナ
ップショットを効率的に採取するコンピュータシステム
に関する。
は、冗長化ディスク構成を採用することによって対処が
可能であるが、この冗長化技術は、ソフトウェアバグ、
誤操作およびウイルス感染などによるプログラムまたは
データの喪失・改変、もしくはディスク記憶装置そのも
のを失なうような大規模な障害には役立たない。これら
の問題に対処するためには、スナップショットやバック
アップなどの採取が必須となる。
ルやディスクなどのコピーイメージのことであり、定期
的にファイルやディスク全体を同じディスク記憶装置や
別のディスク記憶装置にコピーして、スナップショット
を作成する。そして、プログラムまたはデータが喪失・
改変された場合には、直前に作成されたスナップショッ
ト(コピーイメージ)にプログラムまたはデータ、もし
くはディスク全体を戻すことによりこれらの障害に対処
する。
ョットを別の大容量記憶媒体(磁気テープなど)に保存
して保管したものである。これにより、ディスク記憶装
置そのものを失った場合(中のデータも全部喪失)であ
っても、新しいディスク記憶装置にこのバックアップを
ロードすることによって、スナップショッ卜採取時のプ
ログラムまたはデータを復元することができる。
採取時には、それらのファイルを変更する可能性がある
アプリケーションをすべて停止する必要がある。そうし
ないと、コピー作成中にファイルやデータが変更されて
しまい、正しいスナップショットやバックアップが採取
できないからである。すなわち、不正なスナップショッ
トやバックアップをディスク記憶装置に戻しても、アプ
リケーションプログラム側でエラーや誤動作を発生させ
る危険性があるため、先の障害対策として意味をなさな
い。
ク記憶装置への書き込みの方が高速であるので、ファイ
ルやディスクイメージを直接バックアップするよりも、
スナップショットを作成し、それを大容量記憶媒体にバ
ックアップする方がアプリケーションの停止期間を短く
押さえられる。また、プログラムまたはデータの喪失・
改変からの復元もスナップショットの方が短期に行なえ
る。バックアップが磁気テープなどのシーケンシャルア
クセスの媒体の場合、特定のファイルを見つけて読み出
すには多くの時間を要してしまい非常に効率が悪い。
プを採取するためにアプリケーションを長時間停止しな
ければならないといった問題を解決する、スナップショ
ット機能を持ったファイルシステムも開示されている
(文献1:「The Episode File Sy
stem」,Proceedings of theW
inter 1992 USENIX Confere
nce,pp.43−60,San Francisc
o,CA、文献2:「File SystemDesi
gn for an NFS File Server
Appliance」、Proceedings o
f the Winter 1994USENIX C
onference,pp.235−244,San
Francisco,CA)。
とえば文献2)では、図32(a)に示すように、ファ
イルがルート・Iノードを起点とするブロック木構造で
あることを前提にしている。そして、スナップショット
作成時には、このルート・Iノードのコピーを作成す
る。このコピーしたIノード(スナップショット・Iノ
ード)は、スナップショットとしてのブロック木構造を
表現することになる。また、コピー元のルート・Iノー
ドは、読み出し/書き込みが行なわれるアクティブなフ
ァイルシステムのブロック木構造を表現する。スナップ
ショット・Iノードは、生成されたときにはルート・I
ノードとまったく同じブロックを指しているので(図3
2(b))、新しいスナップショットのためにコピーし
たIノード以外はまったくディスクスペースを消費しな
い。
したとすると、図32(c)に示すように、新しいデー
タブロックD’をディスク上に書き込み、ルート・Iノ
ードで表現するアクティブなファイルシステムが、この
新しいブロックを指すように変更される。ディスク上の
元のデータブロックDは変更されずに残っており、スナ
ップショット・Iノードは、元のデータブロックDをま
だ指している。したがって、スナップショット・Iノー
ドを指定することにより、スナップショット作成時のデ
ータブロックA、B、C、D、Eをそのまま参照でき
る。
たファイルシステムを使えば、ルート・Iノードをコピ
ーするだけで簡単にスナップショットを作成でき、アプ
リケーションプログラムを停止することなくスナップシ
ョットが作成できる。また、スナップショットをアプリ
ケーションプログラムの実行と並行して大容量記億媒体
に保存できるので、バックアップの採取もアプリケーシ
ョンを停止することなく行なえる。したがって、スナッ
プショットやバックアップのデータ退避のためにアプリ
ケーションプログラムを停止する必要が無くなる。
た手法においては、専用のファイルシステムを新しく開
発する必要があり、既存のコンピュータシステムにその
まま適用できるものではなかった。また、ファイルシス
テム自身もブロック木構造で構成されていることを前提
にしており、たとえばマイクロソフト社のNTFSなど
のエクステントベースのファイルシステムには適用でき
る技術ではなかった。さらに、一般にファイルシステム
は大きな木構造をしており、実際に前述のデータブロッ
クDをD’に更新するには、図33に示すように、その
経路に位置する中間ノードすべてをコピーする必要があ
り、スナップショット作成後の更新性能が大きく低下す
るといった問題もあった。さらに、ファイルシステムと
いう複雑なソフトウェアモジュールにスナップショット
機能を付加したため、スナップショットは読み出しだけ
で非常に硬直なものになってしまっていた。
たものであり、既存のコンピュータシステムやファイル
システムにそのまま適用することができ、かつ更新時の
オーバヘッドもなく、スナップショットの更新なども可
能な非常に柔軟なデータ退避を可能とするコンピュータ
システムおよびデータ退避方法を提供することを目的と
する。
的を達成するために、少なくとも一つ以上の不揮発性記
憶装置に格納されたファイル群に対するアプリケーショ
ンプログラムからの更新を含むアクセスを管理するファ
イルシステムを備えたコンピュータシステムにおいて、
前記ファイルシステムと前記不揮発性記憶装置との間に
介在し、前記ファイル群の内容を所定の時点に復元する
ためのスナップショットを前記不揮発性記憶装置ごとに
採取して、それぞれの不揮発性記憶装置上に格納するス
ナップショット管理手段を具備したものである。
不揮発性記憶装置に格納されたファイル群に対するアプ
リケーションプログラムからの更新を含むアクセスを管
理するファイルシステムと少なくともK個の論理ブロッ
クに相当する容量を有する書き込みバッファとを備えた
コンピュータシステムに適用されるデータ退避方法にお
いて、通常の書き込み処理では、前記書き込みバッファ
に更新すべきデータの論理ブロックを蓄積し、その蓄積
した論理ブロックがK−1個に達するまでその論理ブロ
ックのデータ更新を遅延させ、前記書き込みバッファに
蓄積された各論理ブロックに対する論理アドレスから構
成される論理アドレスタグブロックを生成し、この論理
アドレスタグブロックに書き込みの時間的順序を維持す
るためのタイムスタンプを付加し、K−1個のブロック
に前記論理アドレスタグブロックを加えたK個の論理ブ
ロックを一つのストライプとして前記不揮発性記憶装置
上の更新されるべきデータを保持する領域とは別の空領
域に連続して書き込み、前記ファイル群の内容を所定の
時点に復元するためのスナップショットを採取するスナ
ップショット採取処理では、スナップショット採取時点
で更新すべきデータの論理ブロックが埋まっていない前
記書き込みバッファ内のK−1−L個の各論理ブロック
に対する論理アドレスをヌルアドレスとし、スナップシ
ョット採取時点の前記書き込みバッファに蓄積されたL
個の各論理ブロックに対する論理アドレスと前記ヌルア
ドレスとから構成される論理アドレスタグブロックを生
成し、この論理アドレスタグブロックに書き込みの時間
的順序を維持するためのタイムスタンプを付加し、前記
L個の論理ブロックを含むK−1個のブロックに前記論
理アドレスタグブロックを加えたK個の論理ブロックを
一つのストライプとして前記不揮発性記憶装置上の更新
されるべきデータを保持する領域とは別の空領域に連続
して書き込み、前記付加したタイムスタンプをスナップ
ショット情報として記録するようにしたものである。
揮発性記憶装置と、この不揮発性記憶装置に格納された
ファイル群に対するアプリケーションプログラムからの
更新を含むアクセスを管理するファイルシステムとの間
に、ファイル群の内容を所定の時点に復元するためのス
ナップショット情報を不揮発性記憶装置ごとに採取し、
この採取したスナップショット情報をそれぞれの不揮発
性記憶装置上に格納するスナップショット管理手段を設
けるようにしたものである。
グシステムやファイルシステム、あるいはアプリケーシ
ョンプログラムになんらの改造を伴なうことなく、スナ
ップショットを効率的に採取することが可能となる。
実施形態について説明する。
施形態について説明する。図1はこの実施形態に係るコ
ンピュータシステムの構成を示す概念図である。このシ
ステムは、スナップショットやバックアップが必要なア
プリケーションプログラム1a〜1c、これらのアプリ
ケーションプログラム1a〜1cが使う既存のファイル
システム2、このファイルシステム2とディスク装置4
との間に位置し、ディスクレベルのスナップショットを
採取するディスク・スナップショット部3およびファイ
ルシステム2のデータやディスク・スナップショット部
3のデータを保持するディスク装置4から構成される。
1c、ファイルシステム2およびディスク装置4は既存
のコンピュータシステムと同じ任意の要素であり、従来
のようにファイルシステム2がブロック木構造である必
要はまったくない。また、ファイルシステム2は既存の
ものそのままであり、従来のようにスナップショット機
能を持ったものである必要もない。すなわち、この発明
の特徴となる構成要素はディスクスナップショット部3
であるので、以下ではこのディスクスナップショット部
3について説明する。
ョット部3の構成を示す概念図である。図2に示すよう
に、このディスクスナップショット部3は、ディスクス
ナップショット制御部5、揮発性メモリ6から構成され
る。この揮発性メモリ6内には、書き込みの時間的順序
を維持するためのタイムスタンプ7、ディスク装置4に
書き込むデータをログ構造化して保持する書き込みバッ
ファ8、および書き込みバッファ8内の空き領域と保持
されている書き込みデータの論理アドレスの情報とを保
持するバッファ管理テーブル9が格納される。一方、デ
ィスク装置4内には、通常のデータの他に、スナップシ
ョット情報(SS情報)10が格納される。ディスクス
ナップショット制御部5は、これらタイムスタンプ7、
書き込みバッファ8、バッファ管理テーブル9およびス
ナップショット情報10を管理して、ディスク装置4へ
の読み出し/書き込みおよびスナップショット情報の参
照を制御する。
ッファ8とバッファ管理テーブル9との関係を示す。デ
ィスクスナップショット制御部5は、ファイルシステム
2からディスク装置4への書き込みを要求された書き込
みデータを、すぐにディスク装置4に書き込むのではな
く、ブロック単位に分割して書き込みバッファ8に順番
に詰めて(ログ形式に)格納していく。このとき、その
書き込みデータのファイルシステム2から見た論理アド
レスを、バッファ管理テーブル9が格納したバッファ領
域に対応するエントリに保存する。そして、そのエント
リにデータが割り当てられたことを示すフラッグ“F”
を立てる。よって、このバッファ管理テーブル9を調べ
ることにより、ファイルシステム2から受け取った書き
込みデータを格納すべき次のバッファ領域を決めること
ができる。図3では、バッファ領域B9まで書き込みデ
ータが格納されており、B0、B1、〜、B9の論理ア
ドレスが、LA134、LA99、〜、LA678であ
ることを表わしている。
クサイズの整数倍(K)であるストライプと呼ぶ予め決
められた単位(そのディスク装置の1トラック長に近い
サイズが好ましい)で書き込みを行なう。また、実際の
ディスク装置4を合わせた全記憶容量よりも少ない容量
のディスク装置としてファイルシステム2には見せてい
る(ファイルシステムが最初に記憶容量を問い合わせて
来たときに、実際よりも少ない容量を返す)。よって、
ファイルシステム2から論理的に読み書きできる記憶領
域の他に余分な記憶領域が確保されることになる。ここ
では、この領域を空領域と呼ぶことにする(図4参
照)。また、以下では、ファイルシステム2から見える
ディスクスナップショット部3が提供する論理的なディ
スク領域を論理ディスク装置と呼ぶことにし、一方、デ
ィスク装置4が実際に提供する物理的なディスク領域を
物理ディスク装置と呼ぶことにする。
からの書き込みデータが実際にディスク装置4に書き込
まれるときに付加される情報であり、ディスク装置4内
でのデータ書き込み順序を判定するのに用いられる。よ
って、書き込みバッファ8のデータがディスク装置4に
書き込まれるごとにタイムスタンプ9がインクリメント
される。また、スナップショット情報10は、スナップ
ショット採取時点のタイムスタンプの値を保持する。
ムにおける各処理の動作原理を詳細に説明する。
ムにおける書き込み処理について説明する。アプリケー
ションプログラム1a〜1cがファイルシステム2上の
ファイルを書き込むと、ファイルシステム2は、対応す
る論理ディスク装置に対する書き込み要求に変換してデ
ィスクスナップショット部3に引き渡す。ディスクスナ
ップショット制御部5は、ファイルシステム2から書き
込むべきデータとその論理アドレスとを受け取り、揮発
性メモリ6上の書き込みバッファ8の空領域にブロック
単位に分割して詰めて格納する。また、受け取った論理
ディスク装置のアドレス(以下論理アドレスと呼ぶ)
は、ブロックごとのアドレスに変換してバッファ管理テ
ーブル9の対応するエントリに格納する。なお、すでに
書き込みバッファ8に絡納されているデータに対する更
新データの場合には、書き込みバッファ8の空領域に詰
めて格納するのではなく、直接書き込みバッファ8内の
旧データを変更する。
5は、ファイルシステム2から受け取った書き込みデー
タが1ストライプ分に1ブロック少ない数(K−1)だ
け書き込みバッファ8に溜まった段階で、それらのデー
タをディスク装置4に書き込みにいく。このとき、ディ
スクスナップショット制御部5は、最後の書き込みブロ
ックとして、書き込み管理テーブル7に格納された各ブ
ロックの論理アドレスと揮発性メモリ6上のタイムスタ
ンプとから論理アドレスタグブロックを作成する(この
論理アドレスタグブロック内のアドレスデータとデータ
ブロックとには1対1の関係が予め設定されており、各
データブロックの論理アドレスが分かるようになってい
る)。その後、ディスクスナップショット制御部5は、
この論理アドレスタグブロックを加えた1ストライプ分
のデータをまとめてディスク装置4の空領域に同時に書
き込む(図5参照)。また、タイムスタンプ5の値は、
書き込みが完了した段階でインクリメントされる。
出し処理について説明する前に、まず無効ブロックの判
定処理について説明する。
テム2から1ブロックサイズのデータ書き込みがある場
合を例に説明する。なお、図6中のLnはファイルシス
テム2から渡される論理アドレスを表し、Snは書き込
み順番を表わす。また、この実施形態のコンピュータシ
ステムでは、書き込みバッファ8は15ブロック分のデ
ータを保持できるものとする。この場合、最初のS1〜
S15の書き込みデータが1つのストライプ(ST1)
にまとめられ、タイムスタンプTS1が付加されてディ
スク装置4の空領域に書き出される。同様に、S16〜
S30の書き込みデータが別のストライプ(ST2)に
まとめられ、タイムスタンプTS2が付加されて別の空
領域に書き出される。なお、書き出しごとにタイムスタ
ンプはインクリメントされるので、TS1とTS2とは
TS1<TS2の関係をもつ。
L9、L18のデータは、タイムスタンプTS1のスト
ライプではS5、S2のブロックとして、タイムスタン
プTS2のストライプではS19、S21のブロックと
して重複して存在する。書き込まれた順番を考えると、
S19、S21のデータブロックが有効であり、S5、
S2のデータは無効と判定されなければならない。しか
しながら、ここで便宜上使った書込み順番Snは、実際
のディスク装置4上には記録されていない。
テムでは、ストライプ内の論理アドレスタグを使ってこ
の判定を行なう。図6の例における2つのストライプS
T1、ST2の論理アドレスタグTG1、TG2の内容
は図7に示す通りである。図7から分かるように、2つ
の論理アドレスタグTG1、TG2に同じ論理アドレス
L9、L18のデータが含まれており、ストライプST
1のブロックB5、B2と、ストライプST2のブロッ
クB4、B6とのどちらかのデータが無効である。さら
に、論理アドレスタグTG1のタイムスタンプTS1と
論理アドレスタグTG2のタイムスタンプTS2を比較
すると、TS1<TS2であることからストライプST
1のブロックB5、B2が無効であることが判定でき
る。以上のように、ディスク装置4内の論理アドレスタ
グを調べることにより、無効なデータブロックを見つけ
ることができる。
ムにおけるデータブロックの読み出し処理について説明
する。原理的には、先に述べた無効ブロック判定の処理
をディスク装置4内の全ストライプの論理アドレスタグ
に対して行ない、結果として残る読み出し要求のあった
論理アドレスに対する有効ブロックの物理的位置を検出
する。
の処理を行なっているのでは、ブロック読み出しに膨大
な時間がかかってしまい実用的ではない。そこで、シス
テム起動時にだけ全ストライプの論理アドレスタグの調
査を行ない、揮発性メモリ6上に論理アドレスから物理
アドレスへの変換マップを作る。ファイルシステム2か
らの読み出し要求に対しては、この変換マップを使って
有効ブロックへのアクセスを行なう。これにより、常に
アドレスタグの調査をしなくても良く、読み出し時に性
能が大きく低下することはない。この変換マップについ
て図8を参照して説明する。図8に示すように、変換マ
ップは各論理アドレスに対するブロックが格納されてい
るストライプ番号ST#、そのストライプ内のブロック
番号BLK#、およびそのタイムスタンプTS#をテー
ブル形式で保持している。よって、論理アドレスが与え
られれば、このテーブルを引くことにより、ST#とB
LK#とから簡単に実際の物理アドレスが求まる。
は、調査した論理アドレスタグの全論理アドレスについ
て、テーブルのタイムスタンプより論理アドレスタグの
タイムスタンプが大きいときだけ、そのストライプ番号
と対応するブロック番号をテーブルに登録する。この調
査を全ストライプについて行なえば、有効ブロックだけ
を指す変換マップができあがる。さらに、ディスク装置
4にストライプを書き込むごとに、その論理アドレスタ
グに対して同様の処理を行なうことにより、この変換マ
ップは常に有効なブロックを指す。このようにして、デ
ィスク装置4上の物理ブロックの有効/無効の判定を行
ない変換マップが作られる。
ムにおけるスナップショットの採取処理について説明す
る。アプリケーションプログラム1a〜1cやシステム
管理者からのスナップショット採取の指示を受けると、
ディスクスナップショット制御部5は書き込みバッファ
8にその時点で溜まっているデータをディスク装置4に
書き込みにいく。ただし、通常の書き込みのように、書
き込みバッファ8内に1ストライプ分に1ブロック少な
い数(K−1)のデータブロックが溜まっているとは限
らないので、まだ埋まっていない部分に対応する書き込
み管理テーブル7には無効であることを示すヌルアドレ
スを格納する。そして、通常の書き込みと同様に、最後
の書き込みブロックとして、書き込み管理テーブル7に
格納された各ブロックの論理アドレス(ヌルアドレスを
含む)と揮発性メモリ6上のタイムスタンプとから論理
アドレスタグブロックを作成する。その後、この論理ア
ドレスタグブロックを加えた1ストライプ分のデータを
まとめてディスク装置4の空領域に同時に書込む(図9
参照)。さらに、このときに付加したタイムスタンプの
値をスナップショット採取時の情報として、ディスク装
置4内のスナップショット情報10に書き込む。そし
て、タイムスタンプ7の値は、書き込みが完了した段階
でインクリメントされる。このように、スナップショッ
ト採取には書き込みバッファ8に溜まっていたブロック
とスナップショット情報10とをディスクに書き込むだ
けの時間しかかからない(その他の処理は非常に短い)
ので、従来と同様にアプリケーションプログラム1a〜
1cを停止させることなくスナップショットが作成でき
る。
ンピュータシステムにおけるスナップショットの参照処
理について説明する。まず、先にブロック読み出し処理
で述べた無効ブロック判定の処理を、ディスク装置4内
のタイムスタンプ値がスナップショット情報10の値よ
りも小さいストライプの論理アドレスタグに対して行な
い、全論理アドレスに対する有効ブロックの物理的位置
を検出する。読み出し処理では、全ストライプが対象だ
ったが、このスナップショット参照処理では、スナップ
ショット情報10のタイムスタンプ値までに書き込まれ
たストライプだけを対象にする点が異なる。つまり、図
10のディスク状態では、ストライプST1〜ST4が
ブロック読み出しの無効ブロック判定の対象となるが、
スナップショット参照処理では、ストライプST1〜S
T3が無効ブロック判定の対象になる。
いたのでは、スナップショット参照に膨大な時間がかか
ってしまい実用的ではない。そこで、先の読み出し処理
と同様に、最初にスナップショットを参照するときに対
象となるストライプの論理アドレスタグの調査を行な
い、揮発性メモリ6上に論理アドレスから物理アドレス
へのスナップショット用変換マップを作る。図11に、
ディスク状態が図10である場合のスナップショット用
変換マップと読み出し用変換マップとの様子を示す(簡
単化のためタイムスタンプのフィールドは省略した)。
図11からわかるように、スナップショット採取後に更
新された論理アドレスL3、L7、L9、〜、L25、
L27のブロックも、スナップショット用変換マップ
(図11(a))からは更新前のブロックが参照できる
ようになっている。また、読み出し用変換マップ(図1
1(b))は常に最新のブロックを指している。このよ
うに、無効ブロック判定処理の対象とするストライプを
変えることにより、スナップショット参照用と読み出し
用の変換マップとが作成できる。
イメージは、ディスクスナップショット部3経由で参照
することができるが、その中のファイルを直接参照する
ことはできない。そこで、図12に示すように、ディス
クスナップショット部3にスナップショット採取時のデ
ィスクイメージを別の擬似ディスクとして見せる擬似デ
ィスク機能をもたせる。一般にオペレーティングシステ
ムは、起動フェーズで検出したディスクに格納されてい
るデータがどのファイルシステムのものか検出し、対応
するファイルシステムを構築する機能を持っている。よ
って、この擬似ディスクを検出したオペレーティングシ
ステムは、その上にスナップショット参照用ファイルシ
ステム11を構築して、スナップショッ卜参照用ユーテ
ィリティプログラム12がスナップショット採取時のフ
ァイルをアクセスできるようにする。このスナップショ
ッ卜参照用ユーティリティプログラム12としては、た
とえば、特定ファイルを磁気テープにバックアップする
プログラムなどが考えられる。なお、この擬似ディスク
機能は、RAMディスクなどのハードウェアデバイスを
もたないソフトウェアドライバとして実装すれば良いた
め、その実装は容易である。
施形態を説明する。
ムにおけるスナップショット採取処理では、ファイルシ
ステム2が更新データをキャッシュする機能をもたない
ことを想定していた。つまり、アプリケーションプログ
ラム1a〜1cによるファイルの変更は、すぐにディス
ク装置4に書き出されるものと考えていた。よって、ス
ナップショッ卜採取時には、それまでに書き込みバッフ
ァ8に溜まっていた書き込みデータをディスク装置4に
書き出すだけで、正しいファイルシステム2の状態がデ
ィスク装置4に保存できた。しかしながら、たとえばU
NIXのファイルシステムなど、更新データをキャッシ
ュする機能をもったファイルシステムも今日では広く使
われている。この場合、先のスナップショット採取処理
では、キャッシュされていた更新データが失われてしま
うので、正しいスナップショットが採取できない。
システムでは、ファイルシステム2が更新データをキャ
ッシュする機能を有する場合のスナップショット採取を
説明する。
イルシステムでは、アプリケーションプログラムにより
行なわれたファイル変更が確実にディスク装置に記録さ
れ残ることを保証できるように、アプリケーションプロ
グラムからの指示によりキャッシュしている更新データ
をすべて書き戻す機能をもっている。そこで、この第2
実施形態のディスクスナップショット部3では、アプリ
ケーションプログラム1a〜1cからの書き出し前指示
と書き出し後指示とを受け付け、これらの間にファイル
システム2からの書き出しが無い場合にだけ、先に述べ
たスナップショット採取処理を行なう条件付き採取機能
を備える。
3が備える機能を利用して、更新データがすべて書き戻
された状態のスナップショットを、図13のフローチャ
ートで示される手順を含んだアプリケーションプログラ
ム1a〜1cの指示に応じて採取する。アプリケーショ
ンプログラム1a〜1cは、まず、ディスクスナップシ
ョット部3に書き出し前指示を発行してこれからファイ
ルシステム2の書き戻しを行なうことを指示する(ステ
ップA1)。次に、キャッシュされている全更新データ
をディスク装置4に書き戻すようにファイルシステム2
に指示する(ステップA2)。この指示を受けたファイ
ルシステム2は、全更新データの書き戻しを実行し、そ
の実行が完了したときに、その旨をアプリケーションプ
ログラム1a〜1cに通知する。一方、アプリケーショ
ンプログラム1a〜1cでは、この書き戻しが完了した
旨の通知をファイルシステム2から受け取ったときに、
ディスクスナップショット部3に書き出し後指示を発行
する(ステップA3)。
プショット部3は、書き出し前指示から書き出し後指示
までの間にファイルシステム2からの書き出しが無い場
合にだけ、先に述べたスナップショット採取処理を行な
う。ディスクスナップショット部3は、スナップショッ
トを採取したか否かを書き出し後指示の応答としてアプ
リケーションプログラム1a〜1cに返す。一方、アプ
リケーションプログラム1a〜1cは、ディスクスナッ
プショット部3がスナップショットを採取しなかった場
合には(ステップA4のNO)、最初からこれまでの処
理を繰り返し(ステップA1〜ステップA3)、採取し
た場合に(ステップA4のYES)、この処理を終了す
る。
書き戻しを指示してもディスク装置4へ書き出すベきデ
ータが無かったこと、すなわち、ディスク装置4上には
すでに正しいファイルシステム2の状態が保存されてい
ることが保証される。したがって、ディスクスナップシ
ョット部3で正しいスナップショットが採取できること
になる。たとえば、ただ単にファイルシステム2に書き
戻し指示をするとともにディスクスナップショット部3
にスナップショット採取を指示したのでは、この2つの
指示の間にファイル更新が行なわれた場合に、一部の更
新データがキャッシュに残ってしまうため、正しいスナ
ップショットが採取できない危険性がある。よって、こ
こで述べた手順が必要になる。
施形態を説明する。
ムでは、スナップショットは1つしか採取できなかった
が、この第3実施形態のコンピュータシステムでは、複
数のスナップショットを採取する。
14に示すように、ディスク装置4上のスナップショッ
ト情報10が、複数のスナップショットそれぞれのタイ
ムスタンプを保持する構造となっていることである。
ては、その時点で溜まっていたデータを書き込みにいく
点は同じであるが、書き込んだストライプのタイムスタ
ンプ値を、そのスナップショット(SS)のスナップシ
ョッ卜情報10としてディスク装置4に保存する。たと
えば、図14のストライプ3(ST3)をスナップショ
ットの採取処理で書き込む場合には、そのタイムスタン
プ値TS3をスナップショット1(SS1)のスナップ
ショット情報10として保存する。同様に、ストライプ
5(ST5)のスナップショット採取処理では、そのタ
イムスタンプ値TS5をスナップショット2(SS2)
のスナップショット情報10として保存し、ストライプ
8(ST8)のスナップショット採取処理では、そのタ
イムスタンプ値TS8をスナップショット3(SS3)
のスナップショット情報10として保存する。
は、図14に示すように、参照するスナップショットに
よって対象となるストライプが異なるだけで基本的処理
は同じである。たとえば、スナップショット2(SS
2)を参照する場合には、スナップショット情報10の
タイムスタンプ値TS5から、ST1〜ST5が対象と
なるストライプであることが分かる。そこで、ST1〜
ST5のストライプだけを調べて、無効ブロックの判定
処理とスナップショット参照用変換マップの作成処理と
を実行する。そして、SS2のスナップショッ卜を参照
する場合には、この変換マップを参照してスナップショ
ット採取時のデータをアクセスする。同様に、SS1、
SS3のスナップショットを参照する場合には、そのタ
イムスタンプ値TS3、TS8から対象となるストライ
プがST1〜ST3、ST1〜ST8であることが分か
り、それらの対象となるストライプに対してだけ無効ブ
ロックの判定処理とスナップショット参照用変換マップ
の作成処理とを実行し、その変換マップを使ってそれぞ
れのスナップショットが採取されたときのデータをアク
セスする。
して複数のタイムスタンプ値を保存できるようにするだ
けで、複数のスナップショットを取り扱えるようにな
る。
取した複数のスナップショットをスナップショッ卜参照
用ユーティリティプログラム12からアクセスする方法
を説明する。
に、ディスクスナップショット部3を拡張し、採取した
スナップショッ卜ごとに対応する擬似ディスク装置13
a〜13cを見せる機能をもたせて、それぞれの擬似デ
ィスク装置13a〜13cの上にスナップショット参照
用ファイルシステム11a〜11cを構築する。そし
て、それぞれのスナップショッ卜をアクセスするスナッ
プショット参照用ユーティリティプログラム12は、対
応するスナップショット参照用ファイルシステム11a
〜11cを経由して、スナップショット採取時のアクセ
スを行なう。しかしながら、この方法では、スナップシ
ョット数が増えると擬似ディスクも増えてしまう。たと
えばマイクロソフト社のWindowsなどのように、
プログラムから見えるディスク台数に上限があるオペレ
ーティングシステムも多い。したがって、擬似ディスク
装置13a〜13cが増えてしまうこの方法では、この
制限のために適用できない場合も多くなる。また、プロ
グラムから見えるディスク台数が多いとコンピュータシ
ステムそのものの管理も大変である。
すように、ディスクスナップショット部3にスナップシ
ョット用として擬似リムーバブルディスク13を見せる
機能をもたせて、各スナップショットはその擬似リムー
バブルディスク用の擬似メディアとして取り扱う。この
方法では、擬似ディスク装置13が1台しか要らないの
で、第1の方法のような問題は発生しない。なお、この
方法では、複数のスナップショットを同時にアクセスで
きないが、同時にスナップショットへのアクセスが必要
なケースは少ないので、大きな問題にはならないと思わ
れる。また、それぞれのスナップショットの必要なファ
イルを最新のディスクイメージにコピーすれば、同時ア
クセスが可能となるので大きな制限ではない。
ートするオペレーティングシステムでは、メディアを変
更するとそれに合わせてファイルシステムの再構築など
が自動的に行なわれる。そこで、スナップショットをS
S1からSS2へ切り替えるときには、まず、この擬似
リムーバブルディスク13からメディアが変更された旨
の情報をスナップショット参照用ファイルシステム11
やオペレーティングシステムに通知する。すると、オペ
レーティングシステムは、変更されたメディアをアクセ
スするために、これまでアクセスしていたスナップショ
ットSS1に対するスナップショット参照用ファイルシ
ステム11を終了し、変更されたメディアに対するスナ
ップショット参照用ファイルシステム11を起動する。
この新しく起動されたスナップショット参照用ファイル
システム11からのアクセスに対して、ディスクスナッ
プショット部3の擬似リムーバブルディスクは、スナッ
プショットSS2のディスクイメージを返すことによ
り、スナップショット参照用ユーティリティプログラム
12は、ススナップショットSS2のファイルをアクセ
スできるようになる、なお、ディスク(擬似ディスクを
含む)がリムーバブルか否かの情報は、システム起動時
などにオペレーティングシステムが問い合わせてくるの
で、このときに、リムーバブルである旨をディスクスナ
ップショット部3がオペレーティングシステムに伝えれ
ばよい。
納するディスクを擬似リムーバブルディスクとして扱う
ためにディスクスナップショット部3が行なうことは、 (1)システム起動時などでのオペレーティングシステ
ムからの問い合わせにリムーバブルである旨の情報を返
す。
ムからのスナップショット切り替え指示を受け付ける。
に対して、メディアが変更された旨の情報をファイルシ
ステムやオペレーティングシステムに通知する。
ルシステムからの変更されたメディアへのアクセスに対
しては、ユーザやアプリケーションプログラムから指定
されたスナップショットのイメージをアクセスできるよ
うにする。
では、オペレーティングシステムやスナップショッ卜参
照用ユーティリティプログラム12を含む各種プログラ
ムから見える、スナップショットを採取したときのディ
スク装置とスナップショットを参照する場合のディスク
装置とが異なってしまう。たとえば、図15の場合、W
indowsなどのオペレーティングシステムからは、
ディスク装置4は“C:”ドライブ、SS1の擬似ディ
スクは“D:”ドライブなどとして見えてしまう。よっ
て、環境変数などで各種プログラムが使うべきファイル
名として、“C:”ドライブのAファイルとあったとし
ても、スナップショット参照時には、“D:”ドライブ
のAファイルとしなければ、各種プログラムは正しく動
作しない。同様に、スナップショットのファイルの中に
ある処理に関連するファイル名として“C:”ドライブ
のBファイルとあったとしても、スナップショットの参
照時には、“D:”ドライブのBファイルとしなけれ
ば、各種プログラムは正しく動作しない。
や各種プログラムから見えるディスク装置が異なってし
まうと、環境変数やファイル内容をそれに合わせて変更
しないとプログラムが正しく動作しない場合も多い。一
般に、どのファイルや環境変数を変更すればよいか判っ
ておらず、スナップショットを参照する度に変更するの
は大変な作業である。
ように、ディスクスナップショット部3にディスク装置
4がリムーバブル機能をもつようにオペレーティングシ
ステム、ファイルシステムおよび各種プログラムに見せ
るリムーバブル化機能を設け、最新のディスクイメージ
と複数のスナップショットとをそれぞれ別の擬似メディ
アとして取り扱う。この方法では、スナップショット採
取時の最新ディスクイメージとスナップショットのイメ
ージとは擬似メディアが異なるだけであるので、オペレ
ーティングシステムや各種プログラムなどから見えるデ
ィスク装置は同じであり、第1および第2の方法のよう
な問題は発生しない。なお、この方法では、最新のディ
スクイメージとスナップショットとを同時にアクセスで
きなくなるが、ディスクやファイル名を意識するような
プログラムはもともと複数同時には実行できないので問
題はないと思われる。
ィスクを含む)がリムーバブルか否かの情報は、システ
ム起動時などにオペレーティングシステムが問い合わせ
てくるので、ディスク装置4をリムーバブル化するに
は、このオペレーティングシステムからディスク装置4
への問い合わせを途中で獲得して、リムーバブルである
旨の情報を返せばよい。また、最新ディスクイメージや
スナップショットを切替えるときには、第2の方法で述
べたメディア変更の手順を行えばよい。
ット参照について考える。システムディスクのスナップ
ショットイメージでオペレーティングシステムを起動で
きれば、スナップショットを採取した時点の過去のオペ
レーティングシステム状態をそのまま再現でき、トラブ
ル対応などで非常に役に立つ。しかし、システムディス
クとは、オペレーティングシステムが実行するのに必要
なオペレーティングシステムコード、デバイスドライ
バ、スワップファイルなどを格納するディスクであっ
て、システム実行中は常にアクセスできなければならな
い。よって、システム実行中にアクセスできなくなるリ
ムーバブルディスクにはできず、第2および第3の方法
を適用することはできない。また、システムディスクは
“C:”ドライブなど決まっている場合も多く、オペレ
ーティングシステムから見えるディスクが異なってしま
う第1および2の方法も適用できない。
ように、システム起動時に選択されたスナップショット
を最新のディスク装置4のイメージの代わりにオペレー
ティングシステムやファイルシステムに見せるイメージ
選択機能をディスクスナップショット部3に設け、任意
のスナップショットをシステム起動時に選択できるよう
にする。選択したディスクイメージは、システム実行中
には替わらないのでアクセスできなくなることはない。
また、オペレーティングシステムやアプリケーションプ
ログラムから見えるドライブは、スナップショットを採
取したときと同じであるので、システムディスクが
“C:”ドライブなどに予め決まっていても問題がな
い。
システムの運用例を示す。通常のアプリケーションプロ
グラムを実行する場合は、システム起動時にディスクス
ナップショット部3のイメージ選択機能により最新のデ
ィスクイメージをユーザなどが選択して起動処理を行な
う。これにより、最新のディスクイメージに対応した最
新のファイルシステムが構築され、通常のアプリケーシ
ョンを実行できるようになる(T1)。ここで、スナッ
プショットSS1用のアプリケーションを実行するに
は、一旦、現在実行中のシステムを終了してシステムを
再起動する。そして、この再起動時に、ディスクスナッ
プショット部3のイメージ選択機能によりスナップショ
ットSS1をディスクイメージとしてユ−ザなどが選択
する。これにより、スナップショットSS1に対応した
SS1用のファイルシステムが構築され、スナップショ
ットSS1のファイルをアクセスするアプリケーション
プログラムを実行できるようになる(T2)。さらに、
通常のアプリケーションプログラムをを実行するには、
システムを再起動して、再起動時に最新のディスクイメ
ージを選択するようにする。
選択するのはシステム起動時だけであったが、ディスク
スナップショット部3に次回のシステム起動時に選択す
べきイメージを記録する次回記録機能を持たせて、イメ
ージ選択機能はこの次回記録機能に記録されたイメージ
を選択するようにもできる。これにより、システム起動
時以外でも、ユーザなどだけでなくアプリケーション
(たとえばT1期間に実行されるアプリケーションプロ
グラム)からでもイメージを選択できるようになる。こ
の次回記録機能は、ディスク装置4の予め決めた場所に
選択すべきイメージを保存しておき、システム起動時に
この情報を読み出してイメージ選択機能に教えるだけの
簡単なプログラムで実現できる。
スナップショットをアクセスするこれら第1乃至第4の
方法は、それぞれ排他的に適用されるのではなく、任意
に組み合わせて適用することも可能である。
別情報としては、SS1〜SS3を使っていたが、これ
だけではいつの時点のスナップショットか分かりにく
く、一旦スナップショッ卜を参照してから別のスナップ
ショットを参照すべきことが判明する場合も多い。そこ
で、図14に示すように、スナップショット情報10と
してスナップショットを採取した日時を保存するフィー
ルドを用意し、ディスクスナップショット部3がスナッ
プショット採取時のタイムスタンプだけでなく、日時も
スナップショット情報に記録するようにする。そして、
この日時をスナップショットに対応した擬似ディスクや
擬似メディアの識別情報として用いることにより、いつ
の時点のスナップショットかすぐに分かり、効率のよい
スナップショッ卜の運用が可能になる。
施形態を説明する。
したスナップショットは参照だけで変更しないことを前
提に説明してきた。よって、図20(a)に示すよう
に、各スナップショットは採取された時間順に一直線に
並んでおり一番先頭が最新のディスクイメージとなる順
序関係があった。しかしながら、先に述べたシステムデ
ィスクのスナップショットの場合、オペレーティングシ
ステム起動途中やオペレーティングシステム実行中にフ
ァイルの作成、変更、削除などが行なわれ、また、グル
ープウェアやDBMSなどのアプリケーションプログラ
ムからスナップショットのファイルをアクセスする場合
も、アプリケーションプログラムが実行中である旨の情
報などがファイルに書き込まれる。しかも、古いスナッ
プショットの状態から起動したシステムを使って次にス
ナップショットを採取しても、それは古いスナップショ
ットに戻る前の最新イメージKとも異なる。このような
揚合、戻る前の最新イメージKも参照したくなる場合が
あると考えられる。つまり、図20(b)に示すよう
に、スナップショットSS1、SS2、SS3の順番で
スナップショットを採取した後で、SS2のスナップシ
ョット時点から再起動したシステムでは、SS3への変
更とは全く異なる変更を行ない、さらにそれに対するス
ナップショットSS4を採取するなどができなければな
らない。また、図20(b)に示すように、複数の最新
ディスクイメージを並行してアクセスできる必要もあ
る。
いて説明する。
るには、図21に示すように、ディスク装置4上のスナ
ップショット情報として、親となるスナップショット情
報(親SS)と、親SSからそのスナップショットまで
に書き出されたストライプのタイムスタンプを保存する
ようにする。たとえば、図14のスナップショットSS
3は、その基となったスナップショットはSS2である
ので、スナップショット情報の親SSとしてSS2を保
存する。また、SS2からSS3への間に書き出された
ストライプのタイムスタンプは、TS6〜TS8である
ので、スナップショッ卜情報のタイムスタンプとしてT
S6〜TS8を保存する。また、複数の最新ディスクイ
メージを実現するため、スナップショット情報と同様
に、親SSとその親SSからその最新イメージまでに書
き出されたストライプのタイムスタンプとを最新イメー
ジ(NI)情報としてディスク装置4上に保存する。
(b)のように、スナップショットSS2を変更してス
ナップショットSS4を作成する場合を考える。まず、
先に述べた擬似ディスクなどを使ってSS2の参照を行
なう。そして、オペレーティングシステムやアプリケー
ションプログラムがこのスナップショッ卜SS2を更新
し、それに対する書き込みブロックがディスクスナップ
ショット部3に到着した段階で、ディスクスナップショ
ット部3はSS3の先にある最新イメージNI1への追
加的更新でないので、最新イメージ情報として最新イメ
ージNI2を作成する。(親SSはSS2であるので、
この情報がNI2の親SSとして保存される。)さら
に、通常のディスクスナップショット部3の書き込み動
作と同じように、メモリ6上の書き込みバッファ8にこ
の書き込みブロックを順次溜め、書き込みデータが1ス
トライプ分に1ブロック少ない数(K−1)だけ書込み
バッファ8に溜まった段階で、ディスク装置4に書き込
みにいく。最後の書き込みブロックとして、各ブロック
の論理アドレスとタイムスタンプとから論理アドレスタ
グブロックを作成するのも同じである。なお、通常の最
新イメージNI1とSS2の更新とを同時に行なう場合
には、スナップショット変更用に別の書き込みバッファ
8を用意して、それぞれ別々に溜める。そして、ディス
ク装置4に書き込んだストライプST10のタイムスタ
ンプTS101を最新イメージNI2のタイムスタンプ
として記録する(図21参照)。
S4を採取する処理も前述のスナップショット採取処理
と同じである。つまり、まだ埋まっていない部分に対応
する書き込み管理テーブル9にヌルアドレスを格納し
て、書き込みバッファ8にその時点で溜まっているデー
タをディスク装置4に書き込みにいく。そして、最新イ
メージNI2の情報(親SSがSS2、タイムスタンプ
がTS101)とこのときに付加したタイムスタンプの
値TS102とから、スナップショットSS4のスナッ
プショット情報として、親SSとしてSS2、タイムス
タンプとしてTS101〜TS102をディスク装置4
へ書き込む。そして、タイムスタンプの値は書き込みが
完了した段階でインクリメントされる。また、最新イメ
ージNI2の最新イメージ情報は、親SSとして新しく
作成したSS4が保存され、タイムスタンプはクリアさ
れる。
新されストライプST13がディスク装置に書き出され
た場合は、最新イメージNI2のタイムスタンプ情報に
はTS103が保存される。
最新イメージやスナップショットの参照処理について説
明する。たとえば、ディスク装置4が図21の状態であ
るときに、スナップショットSS4を参照する場合を考
える。このSS4は、SS2を元に変更を加えたスナッ
プショットであるので、参照時の変換マップ作成の対象
とすべきストライプはSS2対象のST1〜ST5とS
S2からSS4への変更分のST10〜ST11とでな
ければならない。そこで、これらのストライプを以下の
手順で見つける。
S4の親SSがSS2であることとSS2からSS4へ
の更新データを書き出したストライプのタイムスタンプ
がTS101〜TS102であることを知る。次に、ス
ナップショット情報10を使って、SS2の親SSがS
S1であることとSS1からSS2への更新データを書
き出したストライプのタイムスタンプがTS4〜TS5
であることを知る。この処理を親SSが無くなるまで繰
り返すことにより、スナップショットSS4までに書き
出されたストライプのタイムスタンプが、TS1〜TS
3、TS4〜TS5、TS101〜TS102であるこ
とが分かる。
ムスタンプを比較することにより、SS4参照時の対象
ストライプであるST1〜ST5とST10〜ST11
とを見つけられる。なお、先に説明した実施形態では、
最新ディスクイメージを読み出す場合には、ディスク装
置上の全ストライプを対象に変換マップを作成すれば良
かったが、ストライプの変更が可能な場合には、最新イ
メージ情報とスナップショット情報とを使い、スナップ
ショット参照と同様の処理を行なって対象とすべきスト
ライプのタイムスタンプを求める。
説明では、ストライプを書き込む度に最新イメ一ジ(N
I)情報のタイムスタンプ情報を変更していた。また、
スナップショット情報や最新イメージ情報のタイムスタ
ンプ情報などは、図21に示すように、区間情報の方が
扱い易い。そこで、最新イメージ(NI)を作成すると
きに、書き出す際に用いるタイムスタンプ値を予め予約
しておき、ディスク装置にタイムスタンプ(TS)情報
として保存しておく方法が考えられる(図21参照)。
これにより、ストライプを書き出す度に最新イメージ情
報のタイムスタンプを更新しなくても、ディスク上の全
ストライプのタイムスタンプを調べることによって、こ
の情報を再現できる。たとえば、ストライプST13を
書き出したときに最新イメージNI2のタイムスタンプ
を更新しなくても、最新イメージNI2のタイムスタン
プはTS101〜TS200が割り当てられることと、
ディスク装置4上のストライプでこの区間に入る最大の
タイムスタンプはTS103であることから、NI2の
タイムスタンプは最後がTS103であることが分か
る。また、予めタイムスタンプ値を最新イメージごとに
分けているので、スナップショット情報やNI情報のタ
イムスタンプ値は必ず区間情報になる。
トの削除について考える。スナップショットの変更を許
さない場合、図22(a)のようにスナップショットS
S2を削除するにはスナップショット情報のスナップシ
ョットSS2に関する情報を削除するだけで良く、特別
な処理を必要としない。しかしながら、スナップショッ
トの更新が可能な場合には、スナップショットの削除処
理はもっと複雑になる。まず、スナップショット情報や
最新イメージ情報には親SSを含む。よって、親SSが
削除された場合には、削除された親SSの親SSをスナ
ップショット情報や最新イメージ情報の親SSにする必
要がある。また、スナップショット情報や最新イメージ
情報のタイムスタンプは、削除された親SSのタイムス
タンプも含むように修正する必要がある。
(b)のようにスナップショットSS3と最新イメージ
NI1とを削除する場合には、図23に示すように、ス
ナップショット情報とNI情報とを削除するだけでな
く、削除ストライプ情報(DEL情報)としてスナップ
ショットSS3と最新イメージNI1のタイムスタンプ
とをディスク装置4上に保存して、これらのタイムスタ
ンプを使わないようにする必更がある。
施形態を説明する。
ショット採取処理では、その時点で溜まっていた更新デ
ータだけで1つのストライプを構成しディスク装置を書
き出していたので、スナップショット採取時のストライ
プには更新データが無く無駄である領域が出でしまう。
したがって、スナップショット採取の頻度が多い場合に
は、ディスク装置4上に無駄な領域が増えてしまう。
場合と同じで、まだ埋まっていない部分に対応する書き
込み管理テーブル9にヌルアドレスを格納し、書き込み
バッファにその時点で溜まっているデータにタイムスタ
ンプを付けてディスク装置4に書き込みに行く。このと
き、スナップショット情報としては、図24に示すよう
に、タイムスタンプ値だけでなく、スナップショット採
取時に溜まっていたストライプ内のブロック番号も保存
する。
込み処理において、書き込みバッファ8やバッファ管理
テーブル9をクリアすることなく、更新データを続けて
書き込みバッファ8に格納する。そして、この書き込み
バッファ8が1ストライプ分に1ブロック少ない数(K
−1)だけ溜まった段階で、論理アドレスタグブロック
を作成し、ディスク装置4に書き出す。このとき、論理
アドレスタグブロックのタイムスタンプには、スナップ
ショット採取時の値を、書き出すディスク装置4の位置
は、スナップショット採取と同じストライプに上書きす
る。(図24のST3)このように採取したスナップシ
ョットの参照処理では、スナップショット情報のタイム
スタンプ値とタイムスタンプが一致するストライプにつ
いては、スナップショット情報のブロックまでをそのス
ナップショットの対象として変換マップ作成時の無効ブ
ロックの判定を行なう。つまり、図24の場合には、ス
トライプST3についてはブロックB1〜B6がスナッ
プショットの対象となるブロックとする。
とスナップショット参照処理とにおいて、以上のように
処理することにより、スナップショットのストライプに
も無駄な領域を作らないでスナップショット採取するこ
とができる。
施形態を説明する。
スナップショット部3として採用している、更新前デー
タの領域を書き換えるのではなく、更新データを溜めて
おいてディスク装置内の予め用意された別の空領域にま
とめて書き込む方法では、空領域が常に存在することが
必須である。そのため、ファイルシステム2からのディ
スクアクセスが空いている間に、すでに他の領域にデー
タが書き込まれて無効になっているデータを寄せ集めて
空領域を作る必要がある。ここでは、この処理を詰替え
処理と呼ぶものとする。この詰替え処理は、先に述べた
無効ブロック判定とストライプ統合との2つのステップ
からなる。ここで、無効ブロックとは、スナップショッ
ト参照としても、通常の読み出しとしてもアクセスされ
ないブロックのことである。つまり、スナップショット
参照用変換マップおよび読み出し用変換マップのいずれ
からも指されていないブロックが無効ブロックである。
ように2つのストライプST1、ST3を1つのストラ
イプST10に統合する場合を考える。図25に示すよ
うに、ストライプST1では、B2、B7、B8、B1
2、B13の5ブロックが有効であり、他の10ブロッ
クは無効であるとする。同様に、ストライプST3で
は、ブロックB18、B19、B20、B21、B2
2、B24、B25、B27、B29の9ブロックが有
効であり、他の6ブロックが無効であるとする。この2
つのストライプの有効ブロックは、合わせて14ブロッ
クしかないので、この2つのブロックを1つに統合する
ことにより、結果として1つの空領域が作れることにな
る。
メモリ内に読み出し、有効ブロックだけを詰めて書込み
バッファに移す。それに合わせて、論理アドレスタグ
も、図26に示すように、TG1、TG3から有効ブロ
ックの論理アドレスだけを対応する位置に移して新しい
論理アドレスタグTG10を作り、その時点のタイムス
タンプを更新する。この例では、14個の有効ブロック
しかなかったので、最後のデータブロックは空状態のま
ま書き込む。このときは、論理アドレスタグTG10の
最後のデータブロックに対する論理アドレスにヌルルア
ドレスを入れることによりデータが入っていないことを
表わせるので問題はない。
合、ただ詰替えを行なったのでは詰替える前の領域を空
き状態にできない。図27を参照してこれらについて説
明する。
プST1とST3を詰替えて新しいストライプST10
を作ったとしても、スナップショット情報では、スナッ
プショットSS1はタイムスタンプがTS1からTS4
であるストライプが対象であり、スナップショットSS
1の参照では、空き状態であるはずのストライプST1
およびST3のブロックをアクセスにいってしまう。
として、詰替えで作成されたストライプのタイムスタン
プをディスク上に保存する。また、ストライプの参照処
理では、スナップショット情報のタイムスタンプ値から
決まるストライプだけでなく、詰替え情報のタイムスタ
ンプのストライプも対象とする。たとえば、スナップシ
ョットSS1の参照処理では、タイムスタンプがTS4
より小さいストライプ(ST1〜ST4)だけでなく、
詰替え情報のタイムスタンプのストライプ(ST10)
も無効ブロック判定の対象とする。これにより、ストラ
イプST10はストライプST1およびST3の有効ブ
ロックだけを詰替えたものであることから、ストライプ
ST1およびST3の全ブロックは必ず無効と判定さ
れ、ストライプST1およびST3はスナップショット
からも参照されることはなくなる。よって、実質的には
空き領域となる。
ットのみから対象とされるストライプ同士を詰替えた場
合にのみ正しく動作し、図28に示すような、スナップ
ショットSS1、SS2、SS3が対象とするストライ
プST2と、スナップショットSS2、SS3が対象と
するストライプST6とを詰替えて、ストライプST1
0を作るような場合には正しく動作しない。なぜなら
ば、ストライプST10にはスナップショットSS1採
取後に書き出されたストライプST6の更新ブロックが
含まれているため、スナップショットSS1の参照処理
でストライプST10も対象にしてしまうと、SS1採
取時のディスク状態が再現できないからである。
って作成されたストライプの中に、元になった各ストラ
イプのタイムスタンプと元ブロックが格納されているブ
ロック位置とを元ストライプ情報として保存する。そし
て、スナップショットの参照処理において、詰替えによ
って作成されたストライプ(詰替え情報から分かる)に
対しては、この元ストライプ情報も活用して不要なブロ
ックを対象にしないようにする。つまり、先のスナップ
ショットSS1の参照処理においては、ストライプST
10の全ブロックを対象にするのではなく、スナップシ
ョットSS1のタイムスタンプST4より小さい、ブロ
ックB1〜B6(タイムスタンプTS2)だけを対象に
する。これにより、スナップショットSS1採取時のデ
ィスクイメージを再現できるとともに、ストライプST
2の全ブロックが無効となりST2を空き領域にでき
る。
は、無効ブロックとはスナップショット参照としても通
常の最新イメージの読み出しとしてもアクセスされない
ブロックと定義し、スナップショット参照用変換マップ
と読み出し用変換マップとが作成され、それらの変換マ
ップから参照されないブロックを見つける方法を取って
いた。しかしながら、この方法では、スナップショット
数が多くなると作成すべき変換マップの数も多くなり、
非常に効率が悪い。
クに対応したビットマップを使う方法について説明す
る。図29には無効ブロックに対応したビットマップを
使った無効ブロック判定のための構成が示されている。
点の最新ディスクイメージを構成するディスク装置4上
の全ブロックの状態をビットマップとして保持する。
に初期化した後、読み出し用変換マップから参照される
ブロックに対応するビットを有効状態にすることにより
容易に作成できる。また、書き出し処理により書き込み
バッファ8内の更新データが空き状態のストライプに書
き出されると、書き出したストライプのビットマップを
有効状態にする(なお、書き込みバッファ管理テーブル
9にヌルアドレスをセッ卜されたブロックに対応するビ
ッ卜は無効のままとする)。さらに、この書き出しによ
り変更された論理アドレスに対する書き出し以前のブロ
ック位置を読み出し用変換マップから求めて、このブロ
ックを無効化されたブロックとして対応するビットマッ
プを無効状態にする。以上のビットマップ変更を更新デ
ータの書き出し処理ごとに行なえば、常に最新ディスク
イメージを構成するディスク装置4上の全ブロックの状
態を維持できるようになる。
図29に示すように、このビットマップもスナップショ
ット情報として保存する。そして、無効ブロックの判定
処理では、メモリ6上のビットマップとスナップショッ
ト情報の全ビットマップとを調べることにより、無効状
態にあるブロックを無効ブロックと判定する。これによ
り、スナップショットの変換マップを作成しなくても、
無効ブロックの判定が可能となり、詰替えるべきストラ
イプを容易に見つけることが可能となる。
ップをスナップショット情報として保存したが、このビ
ットマップは無効ブロックの判定に用いるだけなので、
図30に示すように、スナップショット採取時に無効ブ
ロックの多いストライプに対するビットマップだけをス
ナップショット情報として保存することもできる。図3
0の例では、ストライプST3、ST5、ST6、ST
10の無効ブロックが多いので、これらのストライプの
ビットマップだけがストライプ情報として保存されてい
る。これにより、スナップショット情報のための領域を
減らせ、詰替えのための無効ブロック判定も効率よく行
なえる。
施形態を説明する。
タやスナップショット情報、最新イメージ情報、削除ス
トライプ情報、詰替え情報を記憶するディスク装置は1
台であるものとして説明してきたが、図31に示すよう
に、複数のディスク装置から1台の論理的ディスク装置
を構成したディスクアレイ装置(RAID0、1、3、
4、5)であっても良い。このとき、これまでの説明で
使ってきたストライプのサイズとしては、RAID0の
場合は、“ストライプユニット単位(そのディスク装置
の1トラック長に近いサイズが好ましい)*ディスク台
数”を選び、一方、RAID3、4、5の場合は、“ス
トライプユニット単位*(ディスク台数−1)”を選ぶ
ことにより、全ディスクを同じタイミングで書き込める
ため非常に効率が良い。特に、冗長情報としてパリティ
を使うRAID4、5では、通常必要な2回の読み出し
と1回の書き込みが不要になり、非常に効率が良い。
てディスク装置を用いるコンピュータシステムだけでは
なく、光磁気ディスク、DVD−RAMおよびEEPR
ΟMなどのあらゆる不揮発性記憶装置を用いるスナップ
ショットやバックアップを必要とするコンピュータシス
テムに適用可能である。
とえばディスク装置などの不揮発性記憶装置とファイル
システムとの間に、ディスクレベルのスナップショット
を採取するスナップショット管理手段を介在させる構造
を採用するため、既存のコンピュータシステムのファイ
ルシステムをそのまま使え、専用のファイルシステムを
新しく開発する必要がない。また、ファイルシステム自
身もブロック木構造である必要はまったくなく、NTF
Sなどのエクステントベースのファイルシステムにでも
適用できる。さらに、従来発生していた、スナップショ
ッ卜作成後の更新性能が大きく低下するという問題もな
い。そして、スナップショットはスナップショット情報
という簡単なデータ構造で実現されるため、スナップシ
ョットに対する操作は読み出しだけでなく更新も可能と
なり、ファイルをコピーしなくてもファイル更新を伴な
うアプリケーションプログラム(DBMS、メールな
ど)を使って過去のスナップショットをアクセスして必
要な情報を取り出せる。また、スナップショットは擬似
ディスク、リムーバブルメディア、最新ディスクイメー
ジとして見せることにより、スナップショットをアクセ
スするために、既存のオペレーティングシステム、ファ
イルシステムおよびアプリケーションプログラムなどを
改造することなく、既存のコンピュータシステムにその
まま適用することが可能である。
ステムの構成を示す概念図。
の構成を示す概念図。
ッファとバッファ管理テーブルとの関係を示す図。
す図。
る書き込み処理を説明すための図。
明するための図。
T2の論理アドレスタグTG1、TG2の内容を示す
図。
スへの変換マップを示す図。
るスナップショットの採取処理を説明するための図。
けるスナップショットの参照処理を説明するための図。
ショット用変換マップと読み出し用変換マップとの様子
を示す図。
ショット採取時のディスクイメージを別の擬似ディスク
として見せる擬似ディスク機能を説明するための図。
システムのスナップショット採取手順を説明するための
フローチャート。
システムのスナップショット情報を示す図。
アプリケーションプログラムからアクセスする第1の方
法を説明するための図。
アプリケーションプログラムからアクセスする第2の方
法を説明するための図。
アプリケーションプログラムからアクセスする第3の方
法を説明するための図。
アプリケーションプログラムからアクセスする第4の方
法を説明するための図。
アプリケーションプログラムからアクセスする第4の方
法におけるコンピュータシステムの運用例を示す図。
システムにおけるスナップショットの変更を説明するた
めの図。
新イメージ情報およびタイムスタンプ情報を説明するた
めの図。
けるスナップショットの削除を説明するための図。
新イメージ情報およびタイムスタンプ情報のスナップシ
ョットの削除に伴なう取り扱いを説明するための図。
システムのスナップショット情報を示す図。
システムにおける詰替え処理を説明するためのストライ
プを示す図。
ける詰替え処理を説明するための論理アドレスタグを示
す図。
ける詰替え情報を説明するための図。
ける元ストライプ情報を説明するための図。
ットマップを使った無効ブロック判定のための構成を示
す図。
無効ブロックの多いストライプに対するビットマップだ
けをスナップショット情報として保存する例を示す図。
システムのディスク装置をディスクアレイ装置で構成し
た例を示す図。
めの図。
明するための図。
ルシステム、3…ディスクスナップショット部、4…デ
ィスク装置、5…ディスクスナップショット制御部、6
…揮発性メモリ、7…タイムスタンプ、8…書き込みバ
ッファ、9…バッファ管理テーブル、10…ディスクス
ナップショット情報、11…スナップショット参照用フ
ァイルシステム、12…スナップショット参照用ユーテ
ィリティプログラム、13…スナップショット用ディス
ク装置。
Claims (31)
- 【請求項1】 不揮発性記憶装置に格納されたファイル
群に対するアプリケーションプログラムからの更新を含
むアクセスを管理するファイルシステムを備えたコンピ
ュータシステムにおいて、 前記ファイルシステムと前記不揮発性記憶装置との間に
介在し、前記ファイル群の内容を所定の時点に復元する
ためのスナップショットを前記不揮発性記憶装置ごとに
採取して、それぞれの不揮発性記憶装置上に格納するス
ナップショット管理手段を具備することを特徴とするコ
ンピュータシステム。 - 【請求項2】 前記スナップショットに対するアクセス
を管理するスナップショット用ファイルシステムをさら
に具備し、 前記スナップショット管理手段は、前記スナップショッ
ト用ファイルシステムに対して前記不揮発性記憶装置を
別の擬似記憶装置に見せ掛ける手段を有することを特徴
とする請求項1記載のコンピュータシステム。 - 【請求項3】 前記スナップショット管理手段は、前記
スナップショット用ファイルシステムに対して前記擬似
記憶装置をメディアが差し替え可能なリムーバブル記憶
装置に見せ掛ける手段を有することを特徴とする請求項
2記載のコンピュータシステム。 - 【請求項4】 前記スナップショットに対するアクセス
を管理するスナップショット用ファイルシステムをさら
に具備し、 前記スナップショット管理手段は、前記ファイルシステ
ムおよび前記スナップショット用ファイルシステムに対
して前記不揮発性記憶装置をメディアが差し替え可能な
リムーバブル記憶装置に見せ掛ける手段を有することを
特徴とする請求項1記載のコンピュータシステム。 - 【請求項5】 前記スナップショット管理手段は、シス
テム起動時に選択されたスナップショットの採取時の内
容を前記ファイル群が示すように前記不揮発性記憶装置
を立ち上げる手段を有することを特徴とする請求項1、
2、3または4記載のコンピュータシステム。 - 【請求項6】 前記スナップショット管理手段は、次回
のシステム起動時に選択すべきスナップショットを記録
する手段を有することを特徴とする請求項5記載のコン
ピュータシステム。 - 【請求項7】 前記スナップショット管理手段は、前記
不揮発性記憶装置上に格納された前記スナップショット
に対して追加的な変更を施す手段を有することを特徴と
する請求項1記載のコンピュータシステム。 - 【請求項8】 前記スナップショット管理手段は、前記
不揮発性記憶装置上に格納された前記スナップショット
に対して施された追加的な変更を無効とする手段を有す
ることを特徴とする請求項7記載のコンピュータシステ
ム。 - 【請求項9】 前記スナップショット管理手段は、前記
スナップショットを採取したときの日時をスナップショ
ット情報として記録する手段を有することを特徴とする
請求項1、2、3、4、5、6、7または8記載のコン
ピュータシステム。 - 【請求項10】 前記ファイルシステムは、更新データ
を一時的に格納するキャッシュ領域を備え、 前記キャッシュ領域に格納された更新データすべてを前
記不揮発性記憶装置に反映させるように前記ファイルシ
ステムに指示するとともに、この更新データを含むスナ
ップショットを採取するように前記スナップショット管
理手段に指示する全書き戻し状態実現手段をさらに具備
することを特徴とする請求項1、2、3、4、5、6、
7、8または9記載のコンピュータシステム。 - 【請求項11】 前記全書き戻し状態実現手段は、前記
スナップショット管理手段に対して第1の指示を与える
とともに、前記ファイルシステムに対して前記更新デー
タの前記不揮発性記憶装置への反映を指示した後、前記
ファイルシステムから反映完了の返答を受け取ったとき
に、前記スナップショット手段に対して第2の指示を与
え、 前記スナップショット管理手段は、前記第1の指示を受
け取ってから第2の指示を受け取るまで間に、前記ファ
イルシステムから前記更新データの書き出しがないとき
にのみ、前記スナップショットを採取することを特徴と
する請求項10記載のコンピュータシステム。 - 【請求項12】 不揮発性記憶装置に格納されたファイ
ル群に対するアプリケーションプログラムからの更新を
含むアクセスを管理するファイルシステムとK個の論理
ブロックに相当する容量を有する書き込みバッファとを
備えたコンピュータシステムに適用されるデータ退避方
法において、 通常の書き込み処理では、 前記書き込みバッファに更新すべきデータの論理ブロッ
クを蓄積し、 その蓄積した論理ブロックがK−1個に達するまでその
論理ブロックのデータ更新を遅延させ、 前記書き込みバッファに蓄積された各論理ブロックに対
する論理アドレスから構成される論理アドレスタグブロ
ックを生成し、 この論理アドレスタグブロックに書き込みの時間的順序
を維持するためのタイムスタンプを付加し、 K−1個のブロックに前記論理アドレスタグブロックを
加えたK個の論理ブロックを一つのストライプとして前
記不揮発性記憶装置上の更新されるべきデータを保持す
る領域とは別の空領域に連続して書き込み、 前記ファイル群の内容を所定の時点に復元するためのス
ナップショットを採取するスナップショット採取処理で
は、 スナップショット採取時点で更新すべきデータの論理ブ
ロックが埋まっていない前記書き込みバッファ内のK−
1−L個の各論理ブロックに対する論理アドレスをヌル
アドレスとし、 スナップショット採取時点の前記書き込みバッファに蓄
積されたL個の各論理ブロックに対する論理アドレスと
前記ヌルアドレスとから構成される論理アドレスタグブ
ロックを生成し、 この論理アドレスタグブロックに書き込みの時間的順序
を維持するためのタイムスタンプを付加し、 前記L個の論理ブロックを含むK−1個のブロックに前
記論理アドレスタグブロックを加えたK個の論理ブロッ
クを一つのストライプとして前記不揮発性記憶装置上の
更新されるべきデータを保持する領域とは別の空領域に
連続して書き込み、 前記付加したタイムスタンプをスナップショット情報と
して記録することを特徴とするデータ退避方法。 - 【請求項13】 前記採取したスナップショットに関し
ては前記不揮発性記憶装置を別の擬似記憶装置に見せ掛
け、 この擬似記憶装置に対する読み出し要求に対しては、 前記スナップショット情報として記録されたタイムスタ
ンプで示される時刻またはそれ以前に書き込まれたスト
ライプであって、読み出し要求された論理アドレスのブ
ロックを含む最も後に書き込まれたストライプを検索
し、 この検索により検出されたストライプの要求された論理
アドレスに対応するブロックを読み出し、その読み出し
たデータを要求の応答として返すことを特徴とする請求
項12記載のデータ退避方法。 - 【請求項14】 前記採取したスナップショットを格納
する前記不揮発性記憶装置を別の擬似記憶装置に見せ掛
け、 前記スナップショット情報として記録されたタイムスタ
ンプで示される時刻またはそれ以前に書き込まれたスト
ライプであって、各々の論理アドレスのブロックを含む
最も後に書き込まれたストライプに対応する物理ブロッ
クを検索し、 前記論理アドレスと前記検索により検出された物理ブロ
ックとの対応関係を表すスナップショット用変換マップ
を作成し、 前記擬似記憶装置に対する読み出し要求に対しては、前
記作成したスナップショット用変換マップに基づいて、
要求された論理アドレスに対応する物理ブロックを応答
として返すことを特徴とする請求項12のデータ退避方
法。 - 【請求項15】 オペレーティングシステムからの前記
擬似記憶装置に関する問い合わせに対してリムーバブル
であると応答を返し、スナップショット切り替え後のア
クセスでメディア不確定の応答を返し、かつ切り替え指
定されたスナップショットのタイムスタンプを用いて前
記擬似記憶装置に対する読み出し処理を実行することを
特徴とする請求項13または14記載のデータ退避方
法。 - 【請求項16】 システム起動時に参照すべきスナップ
ショットを問い合わせ、 この問い合わせに応じて選択されたスナップショットの
タイムスタンプを用いて前記擬似記憶装置に対する読み
出し処理を実行することを特徴とする請求項13または
14記載のデータ退避方法。 - 【請求項17】 次回のシステム起動時に選択すべきス
ナップショットを記録し、 この記録されたスナップショットのタイムスタンプを用
いて前記擬似記憶装置に対する読み出し処理を実行する
ことを特徴とする請求項13または14記載のデータ退
避方法。 - 【請求項18】 前記スナップショット情報を親となる
スナップショットの識別子とその後に書き出されたスト
ライプのタイムスタンプとから構成し、 スナップショットを参照する際、前記スナップショット
情報で示された親となるスナップショットを辿りながら
対象とするストライプを決定することを特徴とする請求
項13または14記載のデータ退避方法。 - 【請求項19】 親となるスナップショットの識別子と
その後に書き出されたストライプのタイムスタンプとか
ら最新イメージ情報を構成し、 最新イメージを読み出す際、前記最新イメージ情報で示
された親となるスナップショットを辿りながら対象とす
るストライプを決定することを特徴とする請求項13ま
たは14記載のデータ退避方法。 - 【請求項20】 最新イメージに対応するタイムスタン
プの範囲を予め割り当ててタイムスタンプ情報として保
存しておき、 最新イメージ情報のタイムスタンプとして、前記不揮発
性記憶装置に書き込まれたストライプのタイムスタンプ
であって前記タイムスタンプ情報の範囲内にあるものを
求めることを特徴とする請求項19記載のデータ退避方
法。 - 【請求項21】 前記スナップショット情報または最新
イメージ情報の削除を受け付けることを特徴とする請求
項13、14、15、16、17、18、19または2
0記載のデータ退避方法。 - 【請求項22】 削除によりアクセスされなくなったス
トライプのタイムスタンプを削除スタンプ情報として保
存する請求項13、14、15、16、17、18、1
9、20または21記載のデータ退避方法。 - 【請求項23】 前記スナップショット情報を前記タイ
ムスタンプとストライプ内ブロック位置とにより構成
し、 前記スナップショット採取後も前記書き込みバッファを
クリアせず、 前記書き込みバッファ内の論理ブロックを前回の書き出
し時と同じタイムスタンプで同じストライプ上に書き出
すことを特徴とする請求項13、14、15、16、1
7、18、19、20、21または22記載のデータ退
避方法。 - 【請求項24】 最新イメージおよびスナップショット
のいずれからも参照されないブロックを無効ブロックと
して複数のストライプを新たな一つのストライプに詰め
替えることを特徴とする請求項13、14、15、1
6、17、18、19、20、21、22または23記
載のデータ退避方法。 - 【請求項25】 前記詰め替え後の新たなストライプの
タイムスタンプを詰め替え情報として記録し、スナップ
ショットを参照する際、前記詰め替え情報のタイムスタ
ンプのストライプも検索対象のストライプに含めること
を特徴とする請求項24記載のデータ退避方法。 - 【請求項26】 前記詰め替え対象となったストライプ
の識別子を前記詰め替え後の新たなストライプの元スト
ライプ情報として記録し、スナップショットを参照する
際、前記元ストライプ情報を用いることを特徴とする請
求項24記載のデータ退避方法。 - 【請求項27】 ストライプ内の各論理ブロックの状態
を示すビットマップをスナップショット情報として保存
し、無効ブロックの判定に用いることを特徴とする請求
項24、25または26記載のデータ退避方法。 - 【請求項28】 無効ブロックが多いストライプのビッ
トマップのみをスナップショット情報として保存する請
求項27記載のデータ退避方法。 - 【請求項29】 前記スナップショット情報および最新
イメージ情報に採取日時を付加し、 スナップショットまたは最新イメージの識別に前記付加
した日時を用いることを特徴とする請求項13、14、
15、16、17、18、19、20、21、22、2
3、24、25、26、27または28記載のデータ退
避方法。 - 【請求項30】 前記不揮発性記憶装置がRAID0の
構成であったときには、前記ストライプサイズをストラ
イプユニット単位*ディスク台数とする請求項12、1
3または14記載のデータ退避方法。 - 【請求項31】 前記不揮発性記憶装置がRAID3、
RAID4およびRAID5のいずれかの構成であった
ときには、前記ストライプサイズをストライプユニット
単位×(ディスク台数−1)とする請求項12、13ま
たは14記載のデータ退避方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27915797A JP4128641B2 (ja) | 1997-10-13 | 1997-10-13 | データ退避方法 |
US09/161,508 US6311193B1 (en) | 1997-10-13 | 1998-09-28 | Computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27915797A JP4128641B2 (ja) | 1997-10-13 | 1997-10-13 | データ退避方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11120055A true JPH11120055A (ja) | 1999-04-30 |
JP4128641B2 JP4128641B2 (ja) | 2008-07-30 |
Family
ID=17607253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27915797A Expired - Fee Related JP4128641B2 (ja) | 1997-10-13 | 1997-10-13 | データ退避方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6311193B1 (ja) |
JP (1) | JP4128641B2 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004151785A (ja) * | 2002-10-28 | 2004-05-27 | Shinya Kobayashi | 着脱式デバイス及びプログラムの起動方法 |
US6898669B2 (en) | 2001-12-18 | 2005-05-24 | Kabushiki Kaisha Toshiba | Disk array apparatus and data backup method used therein |
JP2005202915A (ja) * | 2003-12-19 | 2005-07-28 | Hitachi Ltd | スナップショット取得方法 |
JP2006018848A (ja) * | 2005-08-04 | 2006-01-19 | Shinya Kobayashi | 着脱式デバイス |
JP2006525599A (ja) * | 2003-04-30 | 2006-11-09 | オラクル・インターナショナル・コーポレイション | フラッシュバックデータベース |
JP2007148906A (ja) * | 2005-11-29 | 2007-06-14 | Fujitsu Ltd | 動作環境切り替えプログラム及び情報処理装置 |
US7716384B2 (en) | 2002-11-01 | 2010-05-11 | Saslite Corp. | Removable device and control circuit for allowing a medium insertion |
WO2011033692A1 (ja) * | 2009-09-17 | 2011-03-24 | 株式会社日立製作所 | ストレージ装置及びそのスナップショット制御方法 |
US8219777B2 (en) | 2002-10-03 | 2012-07-10 | Hewlett-Packard Development Company, L.P. | Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system |
JP2013516701A (ja) * | 2010-01-07 | 2013-05-13 | マイクロソフト コーポレーション | 漸進的変化を伴う効率的な不変構文表現 |
JP2014032692A (ja) * | 2013-10-04 | 2014-02-20 | Nippon Telegr & Teleph Corp <Ntt> | 検索インデックス生成装置及び検索インデックス構築方法及び検索インデックス構築プログラム |
Families Citing this family (170)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015411A1 (en) * | 1996-06-27 | 2005-01-20 | Gerald Altman | Systems, processes, and products for storage and retrieval of electronic files |
US20040059742A1 (en) * | 1996-06-27 | 2004-03-25 | Gerald Altman | Database systems and processes for storage and retrieval of electronic and related documents |
US6484235B1 (en) | 1999-05-03 | 2002-11-19 | 3Ware, Inc. | Methods and systems for dynamically distributing disk array data accesses |
US6487633B1 (en) | 1999-05-03 | 2002-11-26 | 3Ware, Inc. | Methods and systems for accessing disks using forward and reverse seeks |
US7203732B2 (en) * | 1999-11-11 | 2007-04-10 | Miralink Corporation | Flexible remote data mirroring |
TW454120B (en) | 1999-11-11 | 2001-09-11 | Miralink Corp | Flexible remote data mirroring |
US6775790B2 (en) * | 2000-06-02 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Distributed fine-grained enhancements for distributed table driven I/O mapping |
US6542980B1 (en) * | 2000-08-11 | 2003-04-01 | Trw Inc. | Time slot data memory storage and access system |
US7072916B1 (en) * | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6636879B1 (en) * | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
US6640233B1 (en) * | 2000-08-18 | 2003-10-28 | Network Appliance, Inc. | Reserving file system blocks |
US6584551B1 (en) * | 2000-11-27 | 2003-06-24 | Lsi Logic Corporation | System and method for automatic dynamic expansion of a snapshot repository |
US6631456B2 (en) * | 2001-03-06 | 2003-10-07 | Lance Leighnor | Hypercache RAM based disk emulation and method |
DE60232165D1 (de) | 2001-09-28 | 2009-06-10 | Commvault Systems Inc | System und verfahren zur erzeugung und verwaltung von schnellwiederherstellungsvolumen |
US7043503B2 (en) * | 2002-02-15 | 2006-05-09 | International Business Machines Corporation | Ditto address indicating true disk address for actual data blocks stored in one of an inode of the file system and subsequent snapshot |
US7373364B1 (en) * | 2002-03-05 | 2008-05-13 | Network Appliance, Inc. | System and method for creating a point-in-time restoration of a database file |
US7340489B2 (en) * | 2002-04-10 | 2008-03-04 | Emc Corporation | Virtual storage devices |
US7120827B2 (en) | 2002-05-07 | 2006-10-10 | Hitachi Ltd. | System and method of volume health checking and recovery |
WO2004034197A2 (en) | 2002-10-07 | 2004-04-22 | Commvault Systems, Inc. | System and method for managing stored data |
US20040088274A1 (en) * | 2002-10-31 | 2004-05-06 | Zhichen Xu | Semantic hashing |
US7421433B2 (en) * | 2002-10-31 | 2008-09-02 | Hewlett-Packard Development Company, L.P. | Semantic-based system including semantic vectors |
US20040088301A1 (en) * | 2002-10-31 | 2004-05-06 | Mallik Mahalingam | Snapshot of a file system |
JP2004178337A (ja) * | 2002-11-28 | 2004-06-24 | Hitachi Ltd | 記憶装置システム、記憶装置、計算機およびプログラム |
US7284016B2 (en) * | 2002-12-03 | 2007-10-16 | Emc Corporation | Client-server protocol for directory access of snapshot file systems in a storage system |
US7043470B2 (en) * | 2003-03-05 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Method and apparatus for improving querying |
JP4311532B2 (ja) * | 2003-03-12 | 2009-08-12 | 株式会社日立製作所 | 記憶システム及び同システムにおけるスナップショット管理方法 |
US7039634B2 (en) * | 2003-03-12 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Semantic querying a peer-to-peer network |
US20040205242A1 (en) * | 2003-03-12 | 2004-10-14 | Zhichen Xu | Querying a peer-to-peer network |
US20040181607A1 (en) * | 2003-03-13 | 2004-09-16 | Zhichen Xu | Method and apparatus for providing information in a peer-to-peer network |
US7231409B1 (en) | 2003-03-21 | 2007-06-12 | Network Appliance, Inc. | System and method for reallocating blocks in checkpointing bitmap-based file systems |
US7310681B2 (en) * | 2003-06-23 | 2007-12-18 | Hewlett-Packard Development Company, L.P. | System and method for modeling the memory state of a streaming media server |
US7165145B2 (en) * | 2003-07-02 | 2007-01-16 | Falconstor Software, Inc. | System and method to protect data stored in a storage system |
US7836029B2 (en) * | 2003-07-08 | 2010-11-16 | Pillar Data Systems, Inc. | Systems and methods of searching for and determining modified blocks in a file system |
US6959313B2 (en) * | 2003-07-08 | 2005-10-25 | Pillar Data Systems, Inc. | Snapshots of file systems in data storage systems |
US20050010592A1 (en) * | 2003-07-08 | 2005-01-13 | John Guthrie | Method and system for taking a data snapshot |
US7379954B2 (en) * | 2003-07-08 | 2008-05-27 | Pillar Data Systems, Inc. | Management of file system snapshots |
US7756844B2 (en) * | 2003-07-08 | 2010-07-13 | Pillar Data Systems, Inc. | Methods of determining and searching for modified blocks in a file system |
JP4559046B2 (ja) * | 2003-08-04 | 2010-10-06 | 株式会社日立製作所 | 仮想テープライブラリ装置 |
CN1839401A (zh) * | 2003-09-19 | 2006-09-27 | 东芝解决方案株式会社 | 信息处理装置及信息处理方法 |
US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
US7577807B2 (en) * | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Methods and devices for restoring a portion of a data store |
US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
US7577806B2 (en) * | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
CA2546304A1 (en) | 2003-11-13 | 2005-05-26 | Commvault Systems, Inc. | System and method for performing an image level snapshot and for restoring partial volume data |
CA2544064C (en) | 2003-11-13 | 2012-02-07 | Commvault Systems, Inc. | System and method for performing integrated storage operations |
US7412583B2 (en) | 2003-11-14 | 2008-08-12 | International Business Machines Corporation | Virtual incremental storage method |
US7225210B2 (en) * | 2003-11-20 | 2007-05-29 | Overland Storage, Inc. | Block level data snapshot system and method |
US7313720B1 (en) | 2004-02-12 | 2007-12-25 | Network Appliance, Inc. | Technique for increasing the number of persistent consistency point images in a file system |
JP4489455B2 (ja) * | 2004-02-16 | 2010-06-23 | 株式会社日立製作所 | ディスク制御装置及びディスク制御装置の制御方法 |
US20050240934A1 (en) * | 2004-04-21 | 2005-10-27 | Hewlett-Packard Development Company, L.P. | Task management based on system utilization |
US7213103B2 (en) * | 2004-04-22 | 2007-05-01 | Apple Inc. | Accessing data storage systems without waiting for read errors |
US7334094B2 (en) * | 2004-04-30 | 2008-02-19 | Network Appliance, Inc. | Online clone volume splitting technique |
US7409511B2 (en) * | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Cloning technique for efficiently creating a copy of a volume in a storage system |
JP2006011811A (ja) * | 2004-06-25 | 2006-01-12 | Hitachi Ltd | 記憶制御システム及び記憶制御方法 |
US8959299B2 (en) | 2004-11-15 | 2015-02-17 | Commvault Systems, Inc. | Using a snapshot as a data source |
US20060123210A1 (en) * | 2004-12-06 | 2006-06-08 | St. Bernard Software, Inc. | Method for logically consistent backup of open computer files |
US7711709B2 (en) * | 2004-12-27 | 2010-05-04 | Siebel Systems, Inc. | Efficient storing and querying of snapshot measures |
US7577763B1 (en) | 2005-02-28 | 2009-08-18 | Apple Inc. | Managing read requests from multiple requestors |
US7757056B1 (en) | 2005-03-16 | 2010-07-13 | Netapp, Inc. | System and method for efficiently calculating storage required to split a clone volume |
US8843591B2 (en) * | 2005-03-17 | 2014-09-23 | International Business Machines Corporation | Selectable repainting of updatable network distributable imagery |
JP4248510B2 (ja) * | 2005-03-24 | 2009-04-02 | 株式会社東芝 | 計算機システム、ディスク装置およびデータ更新制御方法 |
US7590668B2 (en) * | 2005-04-15 | 2009-09-15 | Microsoft Corporation | Pausable backups of file system items |
US7373366B1 (en) | 2005-06-10 | 2008-05-13 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for taking and managing snapshots of a storage volume |
US7523146B2 (en) | 2005-06-21 | 2009-04-21 | Apple Inc. | Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment |
US8495015B2 (en) | 2005-06-21 | 2013-07-23 | Apple Inc. | Peer-to-peer syncing in a decentralized environment |
US7636743B2 (en) | 2005-12-19 | 2009-12-22 | Commvault Systems, Inc. | Pathname translation in a data replication system |
US7651593B2 (en) | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US8661216B2 (en) | 2005-12-19 | 2014-02-25 | Commvault Systems, Inc. | Systems and methods for migrating components in a hierarchical storage network |
US7617262B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Systems and methods for monitoring application data in a data replication system |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
CA2632935C (en) | 2005-12-19 | 2014-02-04 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US7962709B2 (en) | 2005-12-19 | 2011-06-14 | Commvault Systems, Inc. | Network redirector systems and methods for performing data replication |
JP4819521B2 (ja) * | 2006-02-17 | 2011-11-24 | 株式会社日立製作所 | 記憶システム及び仮想化方法並びにストレージ装置 |
US7590660B1 (en) | 2006-03-21 | 2009-09-15 | Network Appliance, Inc. | Method and system for efficient database cloning |
US7797670B2 (en) * | 2006-04-14 | 2010-09-14 | Apple Inc. | Mirrored file system |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
US7860826B2 (en) | 2006-08-04 | 2010-12-28 | Apple Inc. | Method and system for using global equivalency sets to identify data during peer-to-peer synchronization |
US7676510B1 (en) | 2006-12-22 | 2010-03-09 | Network Appliance, Inc. | Space reservation monitoring in a fractionally reserved data storage system |
US7657769B2 (en) | 2007-01-08 | 2010-02-02 | Marcy M Scott | N-way synchronization of data |
US8046547B1 (en) | 2007-01-30 | 2011-10-25 | American Megatrends, Inc. | Storage system snapshots for continuous file protection |
US8290808B2 (en) | 2007-03-09 | 2012-10-16 | Commvault Systems, Inc. | System and method for automating customer-validated statement of work for a data storage environment |
US8082407B1 (en) * | 2007-04-17 | 2011-12-20 | American Megatrends, Inc. | Writable snapshots for boot consolidation |
US7865475B1 (en) | 2007-09-12 | 2011-01-04 | Netapp, Inc. | Mechanism for converting one type of mirror to another type of mirror on a storage system without transferring data |
US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US8392481B2 (en) * | 2009-04-22 | 2013-03-05 | International Business Machines Corporation | Accessing snapshots of a time based file system |
US8719767B2 (en) | 2011-03-31 | 2014-05-06 | Commvault Systems, Inc. | Utilizing snapshots to provide builds to developer computing devices |
US9092500B2 (en) | 2009-09-03 | 2015-07-28 | Commvault Systems, Inc. | Utilizing snapshots for access to databases and other applications |
WO2011082138A1 (en) | 2009-12-31 | 2011-07-07 | Commvault Systems, Inc. | Systems and methods for performing data management operations using snapshots |
WO2011082132A1 (en) | 2009-12-31 | 2011-07-07 | Commvault Systems, Inc. | Systems and methods for analyzing snapshots |
US9256383B2 (en) * | 2010-03-16 | 2016-02-09 | Amplidata Nv | Device driver for use in a data storage system |
US8504517B2 (en) | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
US8352422B2 (en) | 2010-03-30 | 2013-01-08 | Commvault Systems, Inc. | Data restore systems and methods in a replication environment |
US8423733B1 (en) * | 2010-04-02 | 2013-04-16 | Symantec Corporation | Single-copy implicit sharing among clones |
WO2011150391A1 (en) | 2010-05-28 | 2011-12-01 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US9298715B2 (en) | 2012-03-07 | 2016-03-29 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9471578B2 (en) | 2012-03-07 | 2016-10-18 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9342537B2 (en) | 2012-04-23 | 2016-05-17 | Commvault Systems, Inc. | Integrated snapshot interface for a data storage system |
US9104634B2 (en) * | 2012-11-30 | 2015-08-11 | Red Hat Israel, Ltd. | Usage of snapshots prepared by a different host |
US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
US9336226B2 (en) | 2013-01-11 | 2016-05-10 | Commvault Systems, Inc. | Criteria-based data synchronization management |
US9639426B2 (en) | 2014-01-24 | 2017-05-02 | Commvault Systems, Inc. | Single snapshot for multiple applications |
US9495251B2 (en) | 2014-01-24 | 2016-11-15 | Commvault Systems, Inc. | Snapshot readiness checking and reporting |
US9632874B2 (en) | 2014-01-24 | 2017-04-25 | Commvault Systems, Inc. | Database application backup in single snapshot for multiple applications |
US9753812B2 (en) | 2014-01-24 | 2017-09-05 | Commvault Systems, Inc. | Generating mapping information for single snapshot for multiple applications |
US9774672B2 (en) | 2014-09-03 | 2017-09-26 | Commvault Systems, Inc. | Consolidated processing of storage-array commands by a snapshot-control media agent |
US10042716B2 (en) | 2014-09-03 | 2018-08-07 | Commvault Systems, Inc. | Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent |
US9448731B2 (en) | 2014-11-14 | 2016-09-20 | Commvault Systems, Inc. | Unified snapshot storage management |
US9648105B2 (en) | 2014-11-14 | 2017-05-09 | Commvault Systems, Inc. | Unified snapshot storage management, using an enhanced storage manager and enhanced media agents |
US20160217175A1 (en) | 2015-01-23 | 2016-07-28 | Netapp, Inc. | Techniques for asynchronous snapshot invalidation |
US10311150B2 (en) | 2015-04-10 | 2019-06-04 | Commvault Systems, Inc. | Using a Unix-based file system to manage and serve clones to windows-based computing clients |
US10503753B2 (en) | 2016-03-10 | 2019-12-10 | Commvault Systems, Inc. | Snapshot replication operations based on incremental block change tracking |
US11947489B2 (en) * | 2017-09-05 | 2024-04-02 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US20190073270A1 (en) * | 2017-09-05 | 2019-03-07 | Robin Systems, Inc. | Creating Snapshots Of A Storage Volume In A Distributed Storage System |
US10452267B2 (en) | 2017-09-13 | 2019-10-22 | Robin Systems, Inc. | Storage scheme for a distributed storage system |
US10430105B2 (en) | 2017-09-13 | 2019-10-01 | Robin Systems, Inc. | Storage scheme for a distributed storage system |
US10579276B2 (en) | 2017-09-13 | 2020-03-03 | Robin Systems, Inc. | Storage scheme for a distributed storage system |
US10423344B2 (en) | 2017-09-19 | 2019-09-24 | Robin Systems, Inc. | Storage scheme for a distributed storage system |
US10534549B2 (en) | 2017-09-19 | 2020-01-14 | Robin Systems, Inc. | Maintaining consistency among copies of a logical storage volume in a distributed storage system |
US10782887B2 (en) | 2017-11-08 | 2020-09-22 | Robin Systems, Inc. | Window-based prority tagging of IOPs in a distributed storage system |
US10846001B2 (en) | 2017-11-08 | 2020-11-24 | Robin Systems, Inc. | Allocating storage requirements in a distributed storage system |
US10452308B2 (en) | 2017-12-19 | 2019-10-22 | Robin Systems, Inc. | Encoding tags for metadata entries in a storage system |
US10430110B2 (en) | 2017-12-19 | 2019-10-01 | Robin Systems, Inc. | Implementing a hybrid storage node in a distributed storage system |
US10430292B2 (en) | 2017-12-19 | 2019-10-01 | Robin Systems, Inc. | Snapshot deletion in a distributed storage system |
US10628235B2 (en) | 2018-01-11 | 2020-04-21 | Robin Systems, Inc. | Accessing log files of a distributed computing system using a simulated file system |
US10642697B2 (en) | 2018-01-11 | 2020-05-05 | Robin Systems, Inc. | Implementing containers for a stateful application in a distributed computing system |
US11392363B2 (en) | 2018-01-11 | 2022-07-19 | Robin Systems, Inc. | Implementing application entrypoints with containers of a bundled application |
US10896102B2 (en) | 2018-01-11 | 2021-01-19 | Robin Systems, Inc. | Implementing secure communication in a distributed computing system |
US11099937B2 (en) | 2018-01-11 | 2021-08-24 | Robin Systems, Inc. | Implementing clone snapshots in a distributed storage system |
US11582168B2 (en) | 2018-01-11 | 2023-02-14 | Robin Systems, Inc. | Fenced clone applications |
US11748203B2 (en) | 2018-01-11 | 2023-09-05 | Robin Systems, Inc. | Multi-role application orchestration in a distributed storage system |
US10846137B2 (en) | 2018-01-12 | 2020-11-24 | Robin Systems, Inc. | Dynamic adjustment of application resources in a distributed computing system |
US10845997B2 (en) | 2018-01-12 | 2020-11-24 | Robin Systems, Inc. | Job manager for deploying a bundled application |
US10642694B2 (en) | 2018-01-12 | 2020-05-05 | Robin Systems, Inc. | Monitoring containers in a distributed computing system |
US10579364B2 (en) | 2018-01-12 | 2020-03-03 | Robin Systems, Inc. | Upgrading bundled applications in a distributed computing system |
US10740022B2 (en) | 2018-02-14 | 2020-08-11 | Commvault Systems, Inc. | Block-level live browsing and private writable backup copies using an ISCSI server |
US10976938B2 (en) | 2018-07-30 | 2021-04-13 | Robin Systems, Inc. | Block map cache |
US11023328B2 (en) | 2018-07-30 | 2021-06-01 | Robin Systems, Inc. | Redo log for append only storage scheme |
US10599622B2 (en) | 2018-07-31 | 2020-03-24 | Robin Systems, Inc. | Implementing storage volumes over multiple tiers |
US10817380B2 (en) | 2018-07-31 | 2020-10-27 | Robin Systems, Inc. | Implementing affinity and anti-affinity constraints in a bundled application |
US11036439B2 (en) | 2018-10-22 | 2021-06-15 | Robin Systems, Inc. | Automated management of bundled applications |
US10908848B2 (en) | 2018-10-22 | 2021-02-02 | Robin Systems, Inc. | Automated management of bundled applications |
US10620871B1 (en) | 2018-11-15 | 2020-04-14 | Robin Systems, Inc. | Storage scheme for a distributed storage system |
US11086725B2 (en) | 2019-03-25 | 2021-08-10 | Robin Systems, Inc. | Orchestration of heterogeneous multi-role applications |
US11256434B2 (en) | 2019-04-17 | 2022-02-22 | Robin Systems, Inc. | Data de-duplication |
US10831387B1 (en) | 2019-05-02 | 2020-11-10 | Robin Systems, Inc. | Snapshot reservations in a distributed storage system |
US10877684B2 (en) | 2019-05-15 | 2020-12-29 | Robin Systems, Inc. | Changing a distributed storage volume from non-replicated to replicated |
US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
US11226847B2 (en) | 2019-08-29 | 2022-01-18 | Robin Systems, Inc. | Implementing an application manifest in a node-specific manner using an intent-based orchestrator |
US11520650B2 (en) | 2019-09-05 | 2022-12-06 | Robin Systems, Inc. | Performing root cause analysis in a multi-role application |
US11249851B2 (en) | 2019-09-05 | 2022-02-15 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US11347684B2 (en) | 2019-10-04 | 2022-05-31 | Robin Systems, Inc. | Rolling back KUBERNETES applications including custom resources |
US11113158B2 (en) | 2019-10-04 | 2021-09-07 | Robin Systems, Inc. | Rolling back kubernetes applications |
US11403188B2 (en) | 2019-12-04 | 2022-08-02 | Robin Systems, Inc. | Operation-level consistency points and rollback |
US11108638B1 (en) | 2020-06-08 | 2021-08-31 | Robin Systems, Inc. | Health monitoring of automatically deployed and managed network pipelines |
US11528186B2 (en) | 2020-06-16 | 2022-12-13 | Robin Systems, Inc. | Automated initialization of bare metal servers |
US11740980B2 (en) | 2020-09-22 | 2023-08-29 | Robin Systems, Inc. | Managing snapshot metadata following backup |
US11743188B2 (en) | 2020-10-01 | 2023-08-29 | Robin Systems, Inc. | Check-in monitoring for workflows |
US11271895B1 (en) | 2020-10-07 | 2022-03-08 | Robin Systems, Inc. | Implementing advanced networking capabilities using helm charts |
US11456914B2 (en) | 2020-10-07 | 2022-09-27 | Robin Systems, Inc. | Implementing affinity and anti-affinity with KUBERNETES |
US11750451B2 (en) | 2020-11-04 | 2023-09-05 | Robin Systems, Inc. | Batch manager for complex workflows |
US11556361B2 (en) | 2020-12-09 | 2023-01-17 | Robin Systems, Inc. | Monitoring and managing of complex multi-role applications |
US11809285B2 (en) | 2022-02-09 | 2023-11-07 | Commvault Systems, Inc. | Protecting a management database of a data storage management system to meet a recovery point objective (RPO) |
US12056018B2 (en) | 2022-06-17 | 2024-08-06 | Commvault Systems, Inc. | Systems and methods for enforcing a recovery point objective (RPO) for a production database without generating secondary copies of the production database |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5151987A (en) * | 1990-10-23 | 1992-09-29 | International Business Machines Corporation | Recovery objects in an object oriented computing environment |
US5317730A (en) * | 1991-01-11 | 1994-05-31 | International Business Machines Corporation | System for modifying persistent database based upon set of data elements formed after selective insertion or deletion |
US5379398A (en) * | 1992-04-20 | 1995-01-03 | International Business Machines Corporation | Method and system for concurrent access during backup copying of data |
US5761739A (en) * | 1993-06-08 | 1998-06-02 | International Business Machines Corporation | Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment |
US5495607A (en) * | 1993-11-15 | 1996-02-27 | Conner Peripherals, Inc. | Network management system having virtual catalog overview of files distributively stored across network domain |
US6202136B1 (en) * | 1994-12-15 | 2001-03-13 | Bmc Software, Inc. | Method of creating an internally consistent copy of an actively updated data set without specialized caching hardware |
US5678024A (en) * | 1995-05-08 | 1997-10-14 | International Business Machines Corporation | Method and system for dynamic performance resource management within a computer based system |
US5761626A (en) * | 1995-12-26 | 1998-06-02 | Ford Global Technologies, Inc. | System and method for distinguishing and characterizing motor vehicles for control of automatic drivers |
US5852818A (en) * | 1996-12-23 | 1998-12-22 | Oracle Corporation | Non-recursive method for parameter evaluation within an information management system |
US6230200B1 (en) * | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
US6078990A (en) * | 1998-02-06 | 2000-06-20 | Ncr Corporation | Volume set configuration using a single operational view |
US6052799A (en) * | 1998-05-15 | 2000-04-18 | International Business Machines Corporation | System and method for recovering a directory for a log structured array |
-
1997
- 1997-10-13 JP JP27915797A patent/JP4128641B2/ja not_active Expired - Fee Related
-
1998
- 1998-09-28 US US09/161,508 patent/US6311193B1/en not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898669B2 (en) | 2001-12-18 | 2005-05-24 | Kabushiki Kaisha Toshiba | Disk array apparatus and data backup method used therein |
US8219777B2 (en) | 2002-10-03 | 2012-07-10 | Hewlett-Packard Development Company, L.P. | Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system |
US7606946B2 (en) | 2002-10-28 | 2009-10-20 | Saslite, Corp. | Removable device and program startup method |
JP2004151785A (ja) * | 2002-10-28 | 2004-05-27 | Shinya Kobayashi | 着脱式デバイス及びプログラムの起動方法 |
US7716384B2 (en) | 2002-11-01 | 2010-05-11 | Saslite Corp. | Removable device and control circuit for allowing a medium insertion |
JP2006525599A (ja) * | 2003-04-30 | 2006-11-09 | オラクル・インターナショナル・コーポレイション | フラッシュバックデータベース |
US7325110B2 (en) | 2003-12-19 | 2008-01-29 | Hitachi, Ltd. | Method for acquiring snapshot |
JP4581518B2 (ja) * | 2003-12-19 | 2010-11-17 | 株式会社日立製作所 | スナップショット取得方法 |
JP2005202915A (ja) * | 2003-12-19 | 2005-07-28 | Hitachi Ltd | スナップショット取得方法 |
JP2006018848A (ja) * | 2005-08-04 | 2006-01-19 | Shinya Kobayashi | 着脱式デバイス |
JP2007148906A (ja) * | 2005-11-29 | 2007-06-14 | Fujitsu Ltd | 動作環境切り替えプログラム及び情報処理装置 |
WO2011033692A1 (ja) * | 2009-09-17 | 2011-03-24 | 株式会社日立製作所 | ストレージ装置及びそのスナップショット制御方法 |
US8510526B2 (en) | 2009-09-17 | 2013-08-13 | Hitachi, Ltd. | Storage apparatus and snapshot control method of the same |
JP2013516701A (ja) * | 2010-01-07 | 2013-05-13 | マイクロソフト コーポレーション | 漸進的変化を伴う効率的な不変構文表現 |
US10564944B2 (en) | 2010-01-07 | 2020-02-18 | Microsoft Technology Licensing, Llc | Efficient immutable syntax representation with incremental change |
JP2014032692A (ja) * | 2013-10-04 | 2014-02-20 | Nippon Telegr & Teleph Corp <Ntt> | 検索インデックス生成装置及び検索インデックス構築方法及び検索インデックス構築プログラム |
Also Published As
Publication number | Publication date |
---|---|
US6311193B1 (en) | 2001-10-30 |
JP4128641B2 (ja) | 2008-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4128641B2 (ja) | データ退避方法 | |
US8280858B2 (en) | Storage pool scrubbing with concurrent snapshots | |
TWI424316B (zh) | 控制器、資料儲存裝置、及程式產品 | |
US7720801B2 (en) | System and method for supporting asynchronous data replication with very short update intervals | |
EP2176795B1 (en) | Hierarchical storage management for a file system providing snapshots | |
KR100745519B1 (ko) | 파일 시스템의 서브셋의 스냅샷 제공 | |
JP4292882B2 (ja) | 複数のスナップショット維持方法及びサーバ装置及びストレージ装置 | |
US8356150B2 (en) | Systems and methods for providing nonlinear journaling | |
US8615641B2 (en) | System and method for differential backup | |
US8819362B1 (en) | Managing replication and reservations | |
US8380689B2 (en) | Systems and methods for providing nonlinear journaling | |
JP5366480B2 (ja) | 計算機システム及びそのバックアップ方法 | |
US7266654B2 (en) | Storage system, server apparatus, and method for creating a plurality of snapshots | |
US20030158873A1 (en) | Dynamic links to file system snapshots | |
US20080028009A1 (en) | Systems and methods for continuous data replication | |
US20030158863A1 (en) | File system snapshot with ditto address feature | |
US20030158834A1 (en) | Writable file system snapshot with ditto address feature | |
JP2007226347A (ja) | 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法 | |
US7610320B2 (en) | Technique for remapping data in a storage management system | |
US6629203B1 (en) | Alternating shadow directories in pairs of storage spaces for data storage | |
US7472307B2 (en) | Recovery operations in storage networks | |
CN110134551B (zh) | 一种持续数据保护方法及装置 | |
JP4394467B2 (ja) | ストレージシステム、サーバ装置及び先行コピーデータ生成方法 | |
US20240232020A1 (en) | Replication techniques using a metadata log | |
KR102005727B1 (ko) | 파일 시스템의 변경 연산 가로채기 기법을 기반으로 한 다중 스냅샷 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080325 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080415 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080513 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080515 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110523 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110523 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110523 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120523 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120523 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130523 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130523 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140523 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |