JP2007018399A - 条件別スナップショット取得方法及びシステム - Google Patents

条件別スナップショット取得方法及びシステム Download PDF

Info

Publication number
JP2007018399A
JP2007018399A JP2005201052A JP2005201052A JP2007018399A JP 2007018399 A JP2007018399 A JP 2007018399A JP 2005201052 A JP2005201052 A JP 2005201052A JP 2005201052 A JP2005201052 A JP 2005201052A JP 2007018399 A JP2007018399 A JP 2007018399A
Authority
JP
Japan
Prior art keywords
file
write request
snapshot
condition
control 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
Application number
JP2005201052A
Other languages
English (en)
Other versions
JP2007018399A5 (ja
JP4799936B2 (ja
Inventor
Shoji Kodama
昇司 児玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005201052A priority Critical patent/JP4799936B2/ja
Priority to US11/206,183 priority patent/US7403960B2/en
Publication of JP2007018399A publication Critical patent/JP2007018399A/ja
Priority to US12/176,733 priority patent/US8117166B2/en
Publication of JP2007018399A5 publication Critical patent/JP2007018399A5/ja
Application granted granted Critical
Publication of JP4799936B2 publication Critical patent/JP4799936B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

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

Description

本発明は、計算機システムで用いられる記憶装置システムに関する。
特許文献1には、記憶装置システム内に格納されているファイルに対し、ある時点での該ファイルの内容(以下、スナップショットと称する)を保存しておく技術(以下、スナップショット技術と称する)が開示されている。特許文献1では、ある時点以降に、該ファイルに対し、更新があった場合、更新前の該ファイルの内容を消去せずに保存しておくことで、スナップショット技術を実現している。
米国特許第5,819,292号明細書
特許文献1では、スナップショットを作成する際、記憶装置システム内に格納されている全ファイルに対し、スナップショットを作成している。従来技術の課題は、記憶装置システム内に、スナップショットを作成する必要のないファイルが含まれている場合でも、記憶装置システム内の全ファイルに対するスナップショットを作成するため、全ファイルに対するスナップショットを保管するためのディスク容量が必要となり、記憶装置システムにかけるコストが増加することである。
そこで、記憶装置システムを効率的に利用し、記憶装置システムにかけるコストを低減するためのスナップショット技術を有する記憶装置システムを開示する。
記憶装置システムは、記憶装置システム内に格納されるファイルのうち、どのようなファイルに対し、スナップショットを作成するのかを定めた条件を管理する。
記憶装置システムの記憶領域を効率的に利用する記憶装置システムを提供することができる。
以下、本発明の実施例について、図面を参照して説明する。尚、本発明は、本実施例に限られるものではない。
以降各図において、構成部位名および構成部位番号に付加したa、b、c、・・・等の小文字アルファベットは同一構成の構成部位が複数あるとき、それらを区別する際に用いるものである。以下の説明においては、同一構成を有する複数の構成部位を区別する必要が無い場合は、この小文字アルファベットを省略して用い、各構成部位を特定する必要があるときには小文字アルファベットを付加した名称および番号で説明する。
図1は、本実施形態における、計算機システムの一例を示した図である。計算機システムは、サーバ0101、記憶装置システム0104、ネットワーク0103、SVP0110とを有する。
サーバ0101は、ネットワーク0103を介して、記憶装置システム0104に接続され、記憶装置システム0104に格納されるデータの処理を行う。記憶装置システム0104は、サーバ0101が取り扱うデータを保存する。SVP0110は、記憶装置システム0104の管理を行い、後述する記憶装置システム0104内のチップセット0109に接続される。
尚、計算機システムの構成は、図1に限られるものではなく、記憶装置システム0104、SVP0110を複数有していてもよい。
サーバ0101は、ネットワーク・インタフェース0102を有し、ネットワーク・インタフェース0102介して、ネットワーク0103に接続される。
記憶装置システム0104は、コントローラ0105と、ディスク・エンクロージャ0112とを有する。
コントローラ0104は、記憶装置システム0104の制御を行う。コントローラ0104は、ネットワーク・インタフェース0106aおよびネットワーク・インタフェース0106b、プロセッサ0107、メモリ0108、時刻管理を行うタイマ0114、ディスク・インタフェース0111aおよびディスク・インタフェース0111b、チップセット0109とを有する。ネットワーク・インタフェース0106a、ネットワーク・インタフェース0106b、プロセッサ0107、メモリ0108、タイマ0114、ディスク・インタフェース0111a、ディスク・インタフェース0111bは、チップセット0109を介して、相互に接続される。
ディスク・エンクロージャ0112は、ドライブ0113を有する。ドライブ0113a、ドライブ0113b、ドライブ0113c、ドライブ0113dには、各々、データが格納される。
尚、記憶装置システムの構成は、図1に限られるものではなく、コントローラ0104、プロセッサ0107、メモリ0108、ディスク・インタフェース0111、ディスク・エンクロージャ0112は、複数有していてもよい。
図2は、計算機システムの論理的な構成の一例を示した図である。
サーバ0101は、アクセス・クライアント0202と、スナップショット管理ソフト0203とを有する。
アクセス・クライアント0202は、記憶装置システム0104の記憶領域0205内に保存されているファイル0211aやファイル0211bをリード/ライトする。
スナップショット管理ソフト0203は、ユーザ0102の指示に従い、記憶装置システム0104に対し、ファイル・ストレージ0205aの、スナップショット0207aやスナップショット02027bの作成や削除の指示を行ったり、ユーザ0102がスナップショット0207aやスナップショット0207bにアクセスするための設定を行う。尚、スナップショットの作成や削除の指示は、ストレージ管理者がSVP0110を使って行ってもよい。
プロセッサ0107上では、マイクロ・プログラム0204が動作する。マイクロ・プログラム0204は、サーバ0101からのファイルへのアクセス要求の処理、ディスク・ドライブ0113へのデータ保存、スナップショットの作成や削除を実行する。
メモリ0108には、条件管理テーブル0301、スナップショット管理テーブル0401、ビットマップ・テーブル0701とが格納されている。条件管理テーブル0301、スナップショット管理テーブル0401、ビットマップ・テーブル0701の詳細については、後述する。
記憶装置システム0104は、ファイル0211aとファイル0211bを格納するファイル・ストレージ0205を有する。尚、記憶装置システム0104は、ファイル・ストレージを複数有していてもよい。本実施形態では、以下、説明の簡略化のため、ファイル・ストレージ数は1個として説明する。
ファイル・ストレージ0205には、ファイルの旧内容を保管しておくためのプール0206aやプール0206bが関連付けられている。ファイルの旧内容とは、ファイルに格納されるデータが更新された際の、更新前のデータである。また、ファイル・ストレージ0205には、ある時点におけるファイル内容にアクセスするためのスナップショット0207aやスナップショット0207bが関連付けられている。プールは、条件の数だけ存在し、各々、プールに格納できるファイルの旧内容量に上限が設定されている。条件とは、外部から指定される、スナップショットを作成するファイルを決定するための条件である(以下、条件と称する)。
図3は、条件管理テーブル0301の一例を示した図である。
マイクロ・コード0204は、条件管理テーブル0301を用いて、条件に関する情報を管理する。条件管理テーブルは、ストレージ管理者等により、SVP0110を用いて設定される。条件を条件管理テーブル0301に登録する際、SVP0110から条件に関する情報を登録するよう指示を受けた記憶装置システム0104は、指示に基づき、条件に関する情報を条件管理テーブル0301に登録する。SVP0110から条件管理テーブル0301に登録されている情報を削除するよう指示を受けた記憶装置システム0104は、条件にマッチするファイルやスナップショットが削除されていることを確認したのち、条件管理テーブル0301から該条件を削除する。後述する上限値0305や表示方法0307は、SVP0110から変更できる。上限値0305を変更する際、記憶装置システム0104は、該変更が現上限値0305を減少させる変更であり、変更する上限値0305が使用量0306より少ないと判断した場合は、SVP0110にエラーを返す。
条件管理テーブルでは、条件ID0302、条件式0303、対象0304、上限値0305、使用量0306、表示方法0307とが管理される。
条件ID0302は、条件毎に割り振る識別子である。
条件式0303は、条件の内容を表す。条件式0303としては、ファイルに付属する関連情報やファイルに格納されている内容が指定される。例えば、ユーザ名=「Kodama」という条件式では、ファイルの所有者が「Kodama」であるファイルをスナップショット作成の対象とする。また、ファイル・サイズ>10MBytesという条件式であれば、ファイルのサイズが10MBytesより大きいのファイルをスナップショット作成の対象とする。キーワード=「黒柳」という条件式であれば、ファイルに格納されている内容がテキスト文書であった場合に文書の中身を検索し、黒柳という文字列を含むファイルのみをスナップショット作成の対象とする。
対象0304は、条件を適用するファイル・ストレージの識別子を示す。
上限値0305は、該条件に対応するプール量の上限値を示す。
使用量0306は、現在のプールの利用量を示す。
表示方法0307は、ユーザ0201が、計算機システムに、スナップショット0207に格納されるファイルのリスティングを要求した場合の、ディレクトリやファイルの構成の表示方法を示す。リスティングとは、ユーザ0201が計算機システムに対し、スナップショット番号等を含むコマンドを送信することにより、記憶装置システム0104が、スナップショット番号等と関連するディレクトリやファイルの構成を、ユーザ0201が使用する操作画面等に表示させることをいう。
本実施形態では、条件にマッチしたファイルについてのみスナップショットが作成される。そのため、スナップショット0207を作成した時刻に、ファイル・ストレージ0205上に存在していても、条件にマッチしないため、スナップショット0207を作成しなかったファイルがある。そこで、表示方法0307では、ユーザ0201が計算機システムに対し、スナップショット0207のディレクトリ・ツリーからファイルのリスティングを要求した際、記憶装置システム0104が操作画面等に、スナップショット0207を作成しなかったファイルを表示させるか否か、あるいは、ディレクトリ形式では表示させずリストとして表示させるかなどの表示方法を示す。
表示方法0307で示す表示方法について、図4を用いて、具体的に説明する。
図4(a)は、ファイル・システム・ツリーの全体の一例を示した図である。ファイルXは、条件001および条件002にマッチする。ファイルYは、条件002にマッチする。ファイルZは、条件001にマッチする。
図4(b)は、表示方法0307が「条件マッチ」であった場合、操作画面等に表示されるディレクトリやファイルの構成の、ファイル・システム・ツリーの一例を示した図である。ユーザ0201は、条件にマッチしたファイルについてのみ、スナップショット0207からリスティングできる。つまり、条件001に関するスナップショットを作成した場合、図4(b)に示すファイル・システム・ツリーの通り、条件001にマッチするスナップショットからリスティングできるファイルは、ファイルXとファイルZである。ファイルYは、条件001にマッチしなかったため、スナップショット作成時点での旧内容は保管されておらず、条件001の表示方法0307が「条件マッチ」であるため、条件001にマッチするスナップショットからはリスティングされない。
図4(c)は、表示方法0307が「全ファイル」であった場合、操作画面等に表示されるディレクトリやファイルの構成の、ファイル・システム・ツリーの一例を示した図である。条件002に関するスナップショットを作成した場合、ユーザ0201は、条件002にマッチしたファイルだけでなく、条件にマッチしなかったファイルについても、条件002にマッチするスナップショットからリスティングできる。ただし、条件002にマッチしていないファイルについては、該スナップショットを作成した時刻でのファイルの内容ではなく、その時刻より過去でその時刻に一番近いファイルの内容になる。
条件002にマッチしていないファイルの表示方法について、図5を用いて、詳細を説明する。
図5(a)は、ファイルXとファイルYを更新するタイミングの一例を示した図である。時刻T0において、ファイルXは、内容1であり、ファイルYは、内容2である。ファイルXは、条件001にマッチし、ファイルYは、条件002にマッチする。時刻T0から時刻T1の間に、ファイルXは、内容3に更新された。時刻T1から時刻T2の間に、ファイルXは、内容4に、ファイルYは、内容5に更新された。条件001のスナップショットは時刻T1で取得し、条件002のスナップショットは時刻T2で取得したとする。つまり、条件002のスナップショットでは、ファイルXの内容4を保存していない。
図5(b)は、表示方法0307が全ファイルであり、ユーザ0201から条件002でのスナップショットにリスティングが要求された場合、操作画面等に送信されるディレクトリやファイルの構成の、ファイル・システム・ツリーの一例を示した図である。図5(b)に示すとおり、ファイルYについては、内容5のファイルがリスティングされ、ファイルXについては、時刻T2より過去で、時刻T2に一番近い時刻に取得した条件001のスナップショットが保存するファイルXの内容3のファイルがリスティングされる。
表示方法0307が、「リスト」である場合は、スナップショットを作成した全ファイルのパス名のリストが操作画面等に送信される。
尚、図3において、条件にマッチするファイルへのアクセス方法として、インターネット・ブラウザを使用することができる。この場合、ユーザ0201は、インターネット・ブラウザ経由で記憶装置システム0104内のスナップショットにアクセスする。記憶装置システム0104は、該スナップショットで保管したファイルのスナップショットへのリンクを持つHTMLファイルを作成し、インターネット・ブラウザに返す。ユーザ0201がリンクをマウスでクリックすると、該リンクに対応するファイル名が記憶装置システム0104に送られる。記憶装置システム0104は、受け取ったファイル名に対応するファイルをインターネット・ブラウザに転送する。ユーザ0201は、該ファイルをサーバ上に保管することもできるし、アプリケーションでそのファイルを開くこともできる。
図6は、スナップショット管理テーブル0401の一例を示した図である。
マイクロ・コード0204は、スナップショット管理テーブル0401を用いて、作成したスナップショットに関する情報を管理する。
スナップショット管理テーブル0401では、スナップショット番号0402、条件ID、作成時刻0404とが管理される。
スナップショット番号0402は、マイクロ・コード0204により作成されたスナップショットに割り振られる識別子である。
条件ID0403は、スナップショット作成要求時に指定された条件IDを示す。
作成時刻0404は、マイクロ・コード0204により、スナップショットが作成された時刻を示す。
スナップショットの作成は、ユーザ0201スナップショット管理ソフト0203を介して指示する。また、ストレージ管理者がSVP0110を使ってスナップショット作成を指示することもできる。ユーザ0201またはストレージ管理者がスナップショット作成を指示するときには、条件IDを指定する。
図7は、記憶装置システム0104内に格納されているファイルやディレクトリ・ファイルを管理するinode情報の一例を示した図である。
記憶装置システム0104内のファイルは、ディレクトリによってツリー構造として管理される。ディレクトリ・ファイルとは、あるディレクトリ内に存在するディレクトリやファイルに関して、ディレクトリ名と該ディレクトリのinode番号のセットや、ファイル名と該ファイルのinode番号のセットをリストで管理するファイル・システムの特殊ファイルである。
本実施形態では、種別0511またはファイル種別0611により、該inode情報0501または該スナップショットinode情報0601が、通常のファイルまたはディレクトリ・ファイルのいずれのものであるかを判断する。種別が「ファイル」であれば、通常のファイルであることを示し、種別が「ディレクトリ」であれば、ディレクトリ・ファイルであることを示す。本実施形態では、説明の簡略化のため、通常のファイルに対応するinode情報0501についてのみ説明する。
inode情報とは、ファイルがブロックの集まりから構成されるため、ファイルがどのブロック・リストから構成されるかを管理するための情報である。ブロック・リストでは、ファイルが構成されるブロックを管理する。例えば、inode番号0502で示されるファイルは、ブロック・リストへのポインタ0510に示されるブロック・リストに含まれるブロックから構成される。
削除フラグ0503は、ファイルが削除されたか否かを示す。ファイルおよびファイルに対応するスナップショットが削除された場合、削除フラグ0503がONとなる。ファイルまたはファイルに対応するスナップショットのすべてが削除されていなければ、削除フラグ0503は、OFFとなる。つまり、inode情報0501で示されるファイルが削除されても、ファイルに対応するスナップショットが削除されていなければ、該ファイルのinode情報は、削除されない。
inode情報0501では、該ファイルに対応するスナップショットを管理しているスナップショットinode情報0601へのポインタ0504が管理される。
また、inode情報0501では、ファイルの付属情報として、例えば、作成日時0505、更新日時0506、所有者0507、ファイル・サイズ0508、アクセス権情報0509が管理される。
図8は、スナップショットinode情報0601の一例を示した図である。
スナップショットinode情報0601は、ポインタ0504からポイントされ、ポイント元のinode情報0501に対応するファイルの旧内容を管理するため情報である。
ポインタ0603は、あるファイル対応するスナップショットが複数存在する場合に用い、ポイント元のinode情報0501に対応するファイルの他の旧内容を管理するスナップショットinode情報0601へのポインタを示す。以下、inode情報0501からポイントされるスナップショットinode情報0610、スナップショットinode情報0610からポイントされるスナップショットinode情報0610とを、ファイルのinode情報0501からリンクされるスナップショットinode情報0601と称する。
inode番号0602で示されるスナップショットは、ブロック・リストへのポインタ0610に示されるブロック・リストに含まれるブロックから構成される。
また、スナップショットinode情報0601では、ファイルのスナップショットの付属情報として、作成日時0606、更新日時0607、所有者0608、ファイル・サイズ0609、アクセス権情報0610が管理される。
さらに、スナップショットinode情報0601では、スナップショットを識別するスナップショット番号0604が管理される。
図9は、ファイルと、該ファイルに対するスナップショットのブロック構成の一例を示した図である。
ファイルXに3個のスナップショットが存在する場合を例に説明する。
ファイルXは、ファイルXのinode情報0501でポイントされるブロック・リストに含まれるブロックから構成される。この例の場合、時刻T3において、ファイルXは、ブロックA、ブロックE、ブロックGおよびブロックHから構成される。スナップショット1は、ファイルXのinode情報0501のでポインタ0504でポイントされるスナップショットinode情報0601により、管理される。スナップショット1は、時刻T0でのファイルXの内容を示し、ブロックA、ブロックB、ブロックC及びブロックDから構成される。スナップショット2は、スナップショット1のスナップショットinode情報0601のポインタ0603でポイントされるスナップショットinode情報0601により、管理される。スナップショット2は、時刻T1でのファイルXの内容を示し、ブロックA、ブロックB、ブロックE及びブロックFから構成される。スナップショット3は、スナップショット2のスナップショットinode情報0601のポインタ0603でポイントされるスナップショットinode情報0601により、管理される。スナップショット3は、時刻T2でのファイルXの内容を示し、ブロックA、ブロックB、ブロックE及びブロックGから構成される。
このように、3つのスナップショットinode情報0601は、ファイルのinode情報0501から順にポイントされ、管理される。
図10は、ボリューム0801上でのファイル・ストレージ0205の構成の一例を示した図である。ボリューム0801とは、論理的なディスク・ボリュームで、物理的な複数のディスク・ドライブ0113から構成される。例えば、複数のディスク・ドライブ0113を用いてRAIDを構成したものがボリューム0801である。
スーパ・ブロック0802は、ボリューム0801上に作成したファイル・システムに関する情報が記録される領域である。具体的には、ファイル・システムの作成日時、ボリュームのサイズ、ファイル・システムのサイズ、inode格納領域0803やスナップショットinode領域0804やビットマップ・テーブル領域0805やデータ・プール領域0806などの各種管理情報の、ボリューム上でのアドレスとサイズなどの情報を記録する。
inode格納領域0803は、ファイルのinode情報が格納される領域である。
スナップショットinode領域0804は、スナップショットのinode情報が格納される領域である。
ビットマップ・テーブル領域0805は、後述するビットマップ・テーブル0701が格納される領域である。
データ・プール領域0806は、ファイルの内容やディレクトリ・リストの内容、ブロック・リスト、ファイルの旧内容等が格納される領域である。ディレクトリ・リストとは、該ディレクトリ内に存在するディレクトリ名とディレクトリのinode番号のセットやファイル名とファイルのinode番号のセットを記録するリストである。データ・プール領域0806は、固定サイズのブロックに分割されている。
図11は、ビットマップ・テーブル0701の一例を示した図である。
ビットマップ・テーブル0701は、データ・プール領域0806の利用状況を管理するための情報である。
ブロック番号0702毎に数字がカウント0703にカウントされる。ブロック番号0702で示されるあるブロックが、ファイルを格納するために割り当てられると、カウントが1になる。そして、該ブロックが、該ファイルに対するスナップショットに用いられるブロックであれば、カウント数が増加する。スナップショットを削除するとカウントが減り、スナップショットをすべて削除するとカウントは1に戻る。つまり、ファイルを削除し、かつ、スナップショットも全て削除すると、カウントは0になる。
図12は、マイクロ・コード0204が実行するスナップショット作成処理の一例を示した図である。
マイクロ・コード0204は、サーバ0101から、条件IDを含むスナップショット作成要求を受信する(ステップ0901)。
次に、マイクロ・コード0204は、条件管理テーブル0301を用いて、条件IDで示される情報に合致する、スナップショットを作成すべきファイルを決定する(ステップ0902)。尚、本実施形態では、ディレクトリ・ファイルに関しては、無条件でディレクトリ・ファイルのスナップショットを作成する。
次に、マイクロ・コード2040は、タイマ0114から現在時刻を取得する(ステップ0903)。
そして、マイクロ・コード2040は、スナップショット管理テーブル0401を参照し、該ファイルに対応するスナップショットのスナップショット番号を割り当てる(ステップ0904)。尚、条件IDで示される情報に合致するファイルが複数存在する場合は、各ファイルに対応するスナップショットそれぞれに、スナップショット番号を割り当てる。
最後に、マイクロ・コード2040は、当該スナップショットのステップ0904で割り当てたスナップショット番号、ステップ0901で受信した条件ID、ステップ0903で取得した現在時刻とをスナップショット管理テーブル0401に記録する(ステップ0905)。
図13は、マイクロ・コード0204が実行するファイル・ライト要求処理の一例を示した図である。ファイル・ライト要求は、アクセス・クライアント0202により、ファイル・ストレージ0205a内に格納されているファイルに対して発行される。
またファイルやディレクトリの追加・削除・変更などに伴うディレクトリ・ファイル更新時は、マイクロ・コード0204により、図13に示す処理が実行される。
マイクロ・コード0204は、ファイル・ライト要求で指定されたファイルが、条件管理テーブル0301に格納されたいずれかの条件にマッチするかどうかを判断する(ステップ1001)。
条件管理テーブル0301に格納されたいずれの条件にもマッチしない場合、スナップショット処理を行う必要がないので、inode情報に含まれるブロック・リストへのポインタ0510が指し示すブロック・リストの当該ブロックにデータをライトする(ステップ1008)。
条件管理テーブル0301に格納された条件にマッチした場合、ステップ1002を実行する。ステップ1002の処理の詳細については、後述する。マッチした条件について、ステップ1002の処理が完了すると、マイクロ・コード0204は、マッチした全条件について、ステップ1002の処理を終えたかどうかを確認する(ステップ1003)。
マイクロ・コード0204は、ステップ1001でマッチした全条件について、ステップ1002の処理を完了していなければ、ステップ1002の処理を繰り返す。
マイクロ・コード0204は、ステップ1001でマッチした全条件について、ステップ1002の処理を完了したら、ステップ1002で作成した全てのスナップショットinode情報を該ファイルのinode情報からリンクされるよう、設定する(ステップ1005)。
次に、マイクロ・コード0204は、ライト・データを書くための空きブロックをビットマップ・テーブル0701を用いて、割り当てる(ステップ1006)。
そして、マイクロ・コード0204は、該ファイルのinode情報0501のブロック・リストが、ステップ1006で割り当てたブロックを含むブロック・リストに更新する (ステップ1007)。
最後に、マイクロ・コード0204は、ライト・データを、ステップ1007で割り当てたブロックに書き込む(ステップ1008)。
図14は、ステップ1002の処理の一例を示した図である。
ステップ1002では、マイクロ・コード0204は、図13のステップ1001でマッチした条件毎に、ファイルの更新前の内容を保管するため、スナップショットinode情報0601を作成する。
マイクロ・コード0204は、該条件について直前のスナップショットが存在するかどうかをファイルのinode情報0501にリンクされるスナップショットinode情報0601を用いて、チェックする(ステップ1101)。直前のスナップショットとは、時間的に見て現在時刻に最も近いスナップショットである。
直前のスナップショットが存在する場合、直前のスナップショットのinode情報0601のブロック・リストへのポインタ0610でポイントするブロック・リストと、該ファイルのinode情報0501のブロック・リストへのポインタ0510でポイントするブロック・リストを比較し、変更があったブロック数をカウントする(ステップ1102)。
直前のスナップショットが存在しない場合、このファイルに対する該条件の最初のスナップショット作成であるため、ファイルのinode情報0501のブロック・リストへのポインタ0510でポイントするブロック・リストのブロック数をカウントする(ステップ1103)。
次に、マイクロ・コード0204は、条件管理テーブル0301を用いて、該条件の現在の使用量0306を参照し、該条件の現在の使用量0306に、ステップ1102もしくはステップ1103でカウントしたブロック数に相当するディスク容量を加えた値が該条件の上限値0305を超えるか否かを判断する(ステップ1104)。該条件の現在の使用量0306に、差分データ量を加えた値が、該条件の上限値0305を超えている場合、これ以上、該条件でスナップショットを作成できないため、マイクロ・コード0204は、エラー・ログをSVP0110に記録し(ステップ1105)、ステップ1002を終了する。
該条件の現在の使用量0306に、差分データ量を加えた値が、該条件の上限値0305を超えていない場合、マイクロ・コード0204は、新しいスナップショットinode情報0601を作成する(ステップ1106)。
尚、ステップ1104の処理を行うことで、複数のユーザが記憶装置システム0104を共有する場合にも、ユーザ0201間でも公平性を保証することができる。つまり、複数のユーザ0201が記憶装置システムを共有する場合、各ユーザ0201が記憶装置システム0104内に所有しているファイル量に大きな差があり、スナップショットを作成した場合、大量にファイルを所有するユーザや高頻度にファイルを更新するユーザが旧内容を保管するためのプール量を多く消費することになる場合がある。この場合を考慮し、ステップ1104の処理を行うことで、必要なスナップショットを作成できなくなることや、特定のユーザ0201の行為が他のユーザ0201の利便性を損なうことを防止することができる。
次に、マイクロ・コード0204は、スナップショット管理テーブル0401を用いて、該条件の最新のスナップショット番号0402を取得する(ステップ1107)。そして、マイクロ・コード0204は、スナップショットinode情報0601に必要情報を記録する(ステップ1108)。具体的には、マイクロ・コード0204は、作成日時などファイルの付属情報を、ファイルのinode情報0501からコピーし、スナップショット番号0604に、ステップ1107で取得したスナップショット番号0402を記録する。
次に、マイクロ・コード0204は、ファイルのinode情報0501のブロック・リストへのポインタ0510で示されるブロック・リストのコピーを作成し、inode情報0501からスナップショットinode情報0601へリンクするよう、設定する(ステップ1109)。
最後に、ブロック・リストがポイントするブロック番号について、ビットマップ・テーブル0701の対応するエントリの値を1増やす(ステップ1110)。
尚、ステップ1001において、ディレクトリ・ファイルの更新の場合、全条件にマッチするものとする。つまり、どの条件のスナップショットにおいても、ディレクトリの変更は常に保管することになる。これにより、ファイルが削除されても、ディレクトリのスナップショットから、そのファイルのinode情報0501をトラッキングすることができる。
また、ステップ1104において、使用量0306が上限値0305を超えた場合、一番古いスナップショットを削除することで使用量0306を減らし、その上でスナップショット作成処理を継続することもできる。
図15は、条件毎の利用ブロック数の算出方法の一例を示した図である。
条件001に対応するスナップショットが、スナップショット1及びスナップショット2の2つ作成されている場合、旧データを格納するブロックは、合計6ブロックである。スナップショット1とスナップショット2で、ブロックAとブロックBをともに利用しているため、条件001に対応するスナップショットを確保するために利用するブロック数は減る。
また、条件002に対応するスナップショットが、スナップショット3である場合、旧データを格納するブロックは、4ブロックである。図15の例の場合、ブロックA、ブロックB及びブロックEは、条件001と条件2では、共通して利用しているブロックであるが、二重にカウントとされる。
図16(a)は、時間変化とファイルの更新状況、条件毎のスナップショット作成のタイミングの一例を示した図である。
ファイルは、時刻T0に作成され、ブロック0からブロック3により、構成されたとする。図16(a)に示す例では、該ファイルは、時刻T5に、ブロック2が更新される。次に、該ファイルは、時刻T9に、ブロック3が更新される。最後に、該ファイルは、時刻T15に、ブロック0が更新される。
ここで、サーバ0101aの指示に基づき、条件Aのスナップショットが、マイクロ・コード0204により、時刻T6、時刻T7、時刻T8、時刻T12に作成される。サーバ0101の指示に基づき、条件Bのスナップショットが、マイクロ・コード0204により、時刻T1と時刻T3に作成される。
スナップショットS6、スナップショットS7、スナップショットS8については、時刻T9でファイルが更新されるまで、スナップショットinode情報0601は作成されない。時刻T9で、ファイルのブロック2が更新されるとき、マイクロ・コード0204は、図14のステップ1106に従い、スナップショット番号S8のスナップショットinode情報0601を作成する。スナップショットS6とスナップショットS7については、スナップショットinode情報0601は、作成されない。時刻T5と時刻T15でのファイル更新時も同様に、マイクロ・コード0204は、それぞれ、スナップショットS3とスナップショットS12のスナップショットinode情報0601を作成する。
図16(b)は、ファイルのinode情報0501とスナップショットinode情報0601の変化の一例を示した図である。具体的には、図16(b)は、図16(a)に示す時刻T15時点でのファイルのinode情報0501とスナップショットinode情報0601との関係を示した図である。図16(a)の時刻T5で、ブロック2に更新があった場合、マイクロ・コード0204は、更新前のブロック・リストを用いて、スナップショットS3のスナップショットinode情報0601を作成する(ケース1)。図16(a)の時刻T9で、ブロック3に更新があった場合、マイクロ・コード0204は、更新前のブロック・リストを用いて、スナップショットS8のスナップショットinode情報0601を作成する(ケース2)。同様に、図16(a)の時刻T15で、ブロック0に更新があった場合、マイクロ・コード0204は、更新前のブロック・リストを用いて、スナップショットS3のスナップショットinode情報0601を作成する(ケース3)。ケース4-ケース8については、後述する。
図17は、マイクロ・コード0204が実行する、ファイル・リード要求に対する処理の一例を示した図である。
マイクロ・コード0204は、サーバ0101から受信したファイル・リード要求が、ファイルのスナップショットに対するものかどうかを判別する(ステップ1201)。この判別は、アクセス・クライアント0202がアクセスする記憶装置システム0104のエキスポート・ポイントによって判別する。記憶装置システム0104は、ファイル・ストレージ0205やファイル・ストレージ0205のスナップショット0207にエキスポート・ポイントと呼ぶ識別子を割り当てる。アクセス・クライアント0202は、エキスポート・ポイントとファイルのパス名のセットで、どのファイル・ストレージ0205もしくはスナップショット0207のどのファイルにアクセスしたいかを記憶装置システム0104に知らせる。パス名とは、ファイル・ストレージ0205やスナップショット0207のトップ・ディレクトリからファイルまでの相対アドレスのことである。
該ファイル・リード要求が、スナップショットに対するファイル・リード要求でない場合、マイクロ・コード0204は、ファイルinode情報0501の削除フラグ0503を参照して、ファイルが削除されているかどうかを判別する(ステップ1207)。ステップ1207で、ファイルが削除されていないと判別された場合、マイクロ・コード0204は、ファイルのinode情報0501を参照し、データをリードする(ステップ1208)。ステップ1207で、ファイルが削除されていると判別された場合、マイクロ・コード0204は、エラーをアクセス・クライアント0202に返す。
該ファイル・リード要求が、スナップショットに対するファイル・リード要求であれば、条件IDとスナップショット番号を調べる(ステップ1202)。ステップ1202の条件IDとスナップショット番号は、アクセス・クライアント0202がファイル・ストレージ内のファイルを指定したのか、スナップショット内のファイルを指定したのかを調べることで判別できる。
次に、マイクロ・コード0204は、ファイルのinode情報0501にリンクされるスナップショットinode情報0601の中に、ステップ1202で調べたスナップショット番号を有するスナップショットinode情報0601があるかどうかを調べる(ステップ1203)。ステップ1203の処理の結果、ステップ1202で調べたスナップショット番号を有するスナップショットinode情報0601が存在すれば、マイクロ・コード0204は、そのスナップショットinode情報0601を参照し、データをリードする(ステップ1204)。
ステップ1203の処理の結果、ステップ1202で調べたスナップショット番号を有するスナップショットinode情報0601が存在しない場合、マイクロ・コード0204は、ステップ1203で調べたスナップショットinode情報の中で、ステップ1202で調べたスナップショット番号より大きいスナップショット番号を持つスナップショットinode情報0601の中で、該条件と同じ条件で作成されたスナップショットinode情報0601が存在するかどうかを調べる(ステップ1205)。該条件と同じ条件で作成されたスナップショットinode情報0601が存在すればマイクロ・コード0204は、そのスナップショットinode情報0601を参照し、データをリードする(ステップ1206)。ステップ1205で、該条件と同じ条件で作成されたスナップショットinode情報0601が存在しなければ、マイクロ・コード0204は、条件管理テーブル0301から該スナップショットの表示方法が「全ファイル」であり、かつ、該スナップショット番号より小さいスナップショットが存在するかを調べる(ステップ1207)。該条件と同じ条件で作成されたスナップショットinode情報0601が存在すれば、マイクロ・コード0204は、そのスナップショットinode情報0601を参照し、データをリードする(ステップ1208)。もし、該条件と同じ条件で作成されたスナップショットinode情報0601が存在しなければエラーをアクセス・クライアント0202に返す。
ステップ1201で、スナップショットに対するリード要求で無い場合、ステップ1209でファイルのinode情報0501の削除フラグ0503がONかOFFかを判定する。削除フラグ0503がONの場合、アクセス・クライアント0202にエラーを返す。削除フラグ0503がOFFの場合、ファイルのinode情報0501を参照し、データをリードする。
図16(b)に示す、ケース4とケース5は、スナップショットに対するファイル・リード処理についての説明である。
ケース4は、ステップ1206の処理に相当し、スナップショットS7に対する、アクセス・クライアント0202からのファイル・リード要求の処理の例を示す。ファイルのinode情報0501には、スナップショットS7に対応するスナップショットinode情報0601がリンクされていない。そこで、マイクロ・コード0204は、スナップショットS7と同じ条件で、スナップショットS7より大きいスナップショット番号を持つスナップショットを調べる。この例では、スナップショットS8が該当する。そこで、マイクロ・コード0204は、スナップショットS8からデータをリードする。
ケース5は、ステップ1207の処理に相当し、時刻T13のとき、スナップショットS12に対する、アクセス・クライアント0202からのファイル・リード要求の処理の例を示す。この場合、スナップショットS12のスナップショットinode情報0601は、ファイルのinode情報0501でリンクされておらず、またスナップショットS12よりスナップショット番号が大きく、条件が同じスナップショットが存在しないので、ファイルのinode情報0501を参照してデータをリードする。
図18は、マイクロ・コード0204が実行する、スナップショット削除処理の一例を示した図である。
スナップショット作成要求と同様に、ユーザ0201や管理者が、スナップショット削除要求を記憶装置システム0104に対して発行し、マイクロ・コード0204が受理する(ステップ1501)。スナップショット削除要求には、スナップショット番号が含まれる。
マイクロ・コード0204は、スナップショット削除要求に含まれるスナップショット番号を持つスナップショットinode情報0601が存在するか否かを、inode情報0501ごとに確認する(ステップ1502)。スナップショット削除要求に含まれるスナップショット番号を有するスナップショットinode情報0601が、inode情報0501からリンクされるスナップショットinode情報0601に含まれていなければ、ステップ1510の処理を行う。
スナップショット削除要求に含まれるスナップショット番号を有するスナップショットinode情報0601が、inode情報0501からリンクされるスナップショットinode情報0601に含まれていれば、該スナップショットinode情報0601について、スナップショット作成時の条件IDが同じで、指定されたスナップショット番号より古い時点で作成されたスナップショット番号が存在し、古いスナップショット番号に対応するスナップショットinode情報0601が、inode情報0501からリンクされるスナップショットinode情報0601の中に他に含まれていないかどうかを確認する(ステップ1503)。ステップ1503で、スナップショット番号が存在する場合は、ステップ1502で得たスナップショットinode情報0601のスナップショット番号をステップ1503で得たスナップショット番号に書き換える(ステップ1504)。
ステップ1504で、スナップショット番号が存在しなければ、ステップ1503で得たスナップショットinode情報0601をファイルのinode情報0501のリンクから外す(ステップ1505)。具体的には、ファイルのinode情報0501のリンクは複数のスナップショットinode情報0601をキュー状に接続し、管理している。このキューから該スナップショットinode情報0601から取り出す。
次に、マイクロ・コード0204は、該スナップショットinode情報0601のブロック・リストへのポインタ0610がポイントするブロック・リストが示すブロック番号について、ビットマップ・テーブルの対応するエントリの値を1減らす(ステップ1506)。そして、マイクロ・コード0204は、スナップショットinode情報0601とブロック・リストを解放する(ステップ1507)。解放するとは、該スナップショットinode情報0601を未使用状態にし、ブロック・リストに割り当てたディスク領域を未使用状態にすることをいう。ファイルのinode情報0501からリンクするスナップショットinode情報0601がなく、かつ、ファイルのinode情報0501の削除フラグがONであれば、マイクロ・コード0204は、ファイルのinode情報0501を開放し、ステップ1510の処理を行う。ファイルinode情報0501の削除フラグがOFFであれば、マイクロ・コード0204は、ステップ1510の処理を行う。
そして、マイクロ・コード0204は、すべてのinode情報0501について、ステップ1502の処理を実行したかどうかを確認する(ステップ1510)。すべてのinode情報0501について、ステップ1502の処理を実行していなければ、マイクロ・コード0204は、ステップ1502の処理を行う。すべてのinode情報0501について、ステップ1502の処理を実行している場合、マイクロ・コード0204は、スナップショット管理テーブル0401から該スナップショット番号のエントリを削除する(ステップ1511)。
図16(b)に示す、ケース6、ケース7およびケース8は、スナップショット削除処理についての説明である。ケース6は、ステップ1504の処理に相当し、スナップショット削除要求が、スナップショットS8に対するものであるため、マイクロ・コード0204は、スナップショットS8を削除するが、その直前のスナップショットS7のスナップショットinode情報0601が無いので、S8のスナップショットinode情報0601をスナップショット番号S7に書き換える。
ケース7は、ステップ1505からステップ1507の処理に相当し、スナップショット削除要求がスナップショット12に対する場合である。この場合、直前のスナップショットS8は、スナップショットinode情報を持つので、スナップショットのS12のエントリを削除する。
ケース8は、スナップショット削除対象が、スナップショットS7であり、スナップショットS7は、スナップショットinode情報0601を有していないので、マイクロ・コード0204は、スナップショット管理テーブルからS7のエントリを削除する。
尚、ステップ1502以降の処理を、バックグラウンド・ジョブとして動作させ、ファイル・アクセス処理の性能に影響が出ないようにすることができる。
図19は、マイクロ・コード0204が実行する、ファイルの削除の処理の一例を示した図である。
サーバ0101aまたはサーバ0102bからファイル削除要求を受け取ったマイクロ・コード0204は、ファイルのリンク元のディレクトリ・ファイルから該ファイルのエントリを削除する(ステップ1301)。このとき、マイクロ・コード0204は、ディレクトリ・ファイルを更新するため、図13のファイル・ライト処理を実行する。これにより、ディレクトリ・ファイルの旧内容は保管される。次に、マイクロ・コード0204は、図13に示す、削除するファイルへのファイル・ライト処理を実行する。このとき、ライト・データは、指定されず、何も書き込まれないよう制御する。これにより、マイクロ・コード0204は、スナップショットinode情報0601を作成していない最新のスナップショットがある場合、該スナップショットに対応するスナップショットinode情報0601を作成する(ステップ1302)。次に、マイクロ・コード0204は、削除するファイルのinode情報0501からリンクされるスナップショットinode情報0601が存在するか否かをチェックする(ステップ1303)。該スナップショットinode情報0601が存在しない場合、マイクロ・コード0204は、該ファイルのinode情報0501を削除する(ステップ1304)。該スナップショットinode情報0601が存在する場合、マイクロ・コード0204は、該ファイルのinode情報0501の削除フラグをONにする(ステップ1305)。そして、マイクロ・コード0204は、該ファイルのinode情報0501のブロック・リストへのポインタ0610からポイントされるブロック・リストを解放する(ステップ1306)。最後に、マイクロ・コード0204は、ステップ1305で解放されたブロック番号に対応するビットマップ・テーブルのエントリの値を1減らす(ステップ1307)。
図20は、マイクロ・コード0204が実行する、ディレクトリ・リスティング処理の一例を示した図である。ディレクトリ・リスティングとは、記憶装置システム0104が、アクセス・クライアント0202を介してユーザ0201が指定したディレクトリ内に存在する、ファイルやサブ・ディレクトリの構成を、ユーザ0201が使用する表示画面等に表示することである。
マイクロ・コード0204は、指定されたディレクトリのディレクトリ・ファイルをリードする (ステップ1401)。この処理は、具体的には、図12のルーチンを呼び出す。これにより、ユーザ0201がスナップショット内のファイルを探索するために、ディレクトリ・リスティング要求を発行した場合、ディレクトリのスナップショットを探索することができる。
マイクロ・コード0204は、ディレクトリのスナップショットに対するリスティング要求かどうかを判別する(ステップ1402)。このとき、マイクロ・コード0204は、図12のルーチンを呼び出し、スナップショット番号を取得する。リスティング要求が、現在のディレクトリに対するものであれば、リターン・リストにディレクトリ・ファイル内の全ファイル・エントリを加える。(ステップ1405)そして、マイクロ・コード0204は、リターン・リストを呼び出し、表示画面等に表示させる。(ステップ1408)。
ステップ1402において、リスティング要求が、ディレクトリのスナップショットに対するものであれば、エントリがリンクするファイルのinode情報0501を取得する(ステップ1403)。このinode情報0501がリンクするスナップショットinode情報0601の中にアクセス・クライアント0202が指定した、スナップショット番号に一致するスナップショットinode情報0601があるかどうかを調べる(ステップ1404)。スナップショット番号に一致するスナップショットinode情報0601がなければ、次のエントリに進む。スナップショット番号に一致するスナップショットinode情報0601があれば、マイクロ・コード0204は、リターン・リストに該ファイル・エントリを加える(ステップ1406)。これにより、指定されたスナップショットに対応する条件のファイルのみ、ユーザ0201は、表示画面等により、確認できる。マイクロ・コード0204は、全エントリについて、ステップ1403からステップ1407の処理を実行したかどうかを確認する(ステップ1407)。全エントリについて、ステップ1403からステップ1407の処理を実行していなければ、次のエントリに進む。全エントリについて、ステップ1403からステップ1407の処理が終了していれば、マイクロ・コード0204は、リターン・リストを呼び出し、表示画面等に表示させる。(ステップ1408)。
ステップ1404において、マイクロ・コード0204は、スナップショット番号が一致せず、異なる条件でスナップショットされたファイルであっても、該スナップショットの作成時刻より過去で、該スナップショットの作成時刻に一番近いスナップショットがあれば、そのスナップショットをリターン・リストに加える。これにより、マイクロ・コード0204は、図5(b)に示すファイル・システム・ツリーの構成を、表示画面等に表示することができる。
図21は、ファイルの検索機能を持つ計算機システムの構成の一例を示した図である。マイクロ・コード0204は、内部機能としてファイル・ストレージ0205内のファイルの中身を検索し、ファイルのインデックス2102を作成する機能である検索エンジン2101を有する。図3において、条件式0303にキーワードを指定することで、スナップショット時に指定したキーワードを内容に含むファイルをスナップショットの対象とすることができる。
本実施形態では、スナップショットを作成する対象をファイルとしたが、OSD(Object-based Storage Device)のオブジェクトであっても良いし、ボリュームの集合であっても良い。サーバ0101と記憶装置システム0104を接続するネットワークとしては、Ethernet(登録商標)やFibre Channel、InfiniBandなどを使用することができる。また、通信プロトコルについても、TCP/IP、FCP(Fibre Channel Protocol)、iSCSI(Internet SCSI)、SRP (SCSI RDMA Protocol)などが適用できる。
本実施形態では、条件式により対照ファイルを制限したが、ファイル・ストレージ内の全ファイルを対象とする条件式を指定しても構わない。
また、本実施形態では、1個のボリュームをファイル・データ格納用とプール用に共有したが、ファイル・データを格納するボリュームと、プール用のボリュームが別々であっても構わない。
計算機システムの一例を示した図である。 計算機システムの論理的な構成の一例を示した図である。 条件管理テーブルの一例を示した図である。 ファイル・システム・ツリーの一例を示した図である。 ファイル・システム・ツリーの一例を示した図である。 ファイル・システム・ツリーの一例を示した図である。 ファイルの更新のタイミングの一例を示した図である。 ファイル・システム・ツリーの一例を示した図である。 スナップショット管理テーブルの一例を示した図である。 inode情報の一例を示した図である。 スナップショットinode情報の一例を示した図である。 ファイルと、該ファイルに対するスナップショットのブロック構成の一例を示した図である。 ファイル・ストレージの構成の一例を示した図である。 ビットマップ・テーブルの一例を示した図である。 スナップショット作成処理の一例を示した図である。 ファイル・ライト要求処理の一例を示した図である。 ファイル・ライト要求処理内の処理の一例を示した図である。 条件ごとの利用ブロック数の算出方法の一例を示した図である。 時間変化とファイルの更新状況、条件毎のスナップショット作成のタイミングの一例を示した図である ファイルのinode情報0501とスナップショットinode情報0601の変化の一例を示した図である。 ファイル・リード要求処理の一例を示した図である。 スナップショット削除処理の一例を示した図である。 ファイル削除処理の一例を示した図である。 ディレクトリ・リスティング処理の一例を示した図である。 ファイルの検索機能を持つ計算機システムの構成の一例を示した図である。
符号の説明
0101 サーバ
0103 ネットワーク
0104 記憶装置システム
0205 ファイル・ストレージ
0207 スナップショット
0206 プール
0204 マイクロ・コード
0301 条件管理テーブル
0401 スナップショット管理テーブル
0501 ビットマップ・テーブル

Claims (20)

  1. コンピュータと接続される制御装置と、
    前記制御装置と接続される記憶装置とを有する記憶装置システムおけるデータ管理方法であって、
    前記制御装置が、前記記憶装置内に格納されている1または複数のファイルのうち、いずれのファイルに対し、ある時点における該ファイルに格納されているデータを保存するのかを決定するための条件を受信するステップと、
    前記制御装置が、前記条件を前記記憶装置システム内に格納するステップとを有することを特徴とするデータ管理方法。
  2. 請求項1記載のデータ管理方法であって、
    前記条件を受信するステップでは、複数の条件を受信し、
    前記条件を管理するステップでは、複数の条件を前記記憶装置システム内に格納することを特徴とするデータ管理方法。
  3. 請求項1記載のデータ管理方法であって、
    前記制御装置が、前記コンピュータから、該ファイルに格納されているデータを保存するよう、前記条件の指定を含む指示を受信するステップと、
    前記制御装置が、前記指示に基づき、前記指示に含まれる条件に合致する、ある時点におけるファイルに格納されているデータを保存すべきファイルを決定するステップとを有することを特徴とするデータ管理方法。
  4. 請求項3記載のデータ管理方法であって、
    前記制御装置が、前記指示を受信したのち、前記1または複数のファイルのいずれかに対し、前記コンピュータから書き込み要求を受信した際、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであるか否かを判定するステップと、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであれば、前記制御装置が、前記書き込み要求に対応する領域に格納されているデータを保存したのち、前記書き込み要求に応じて、前記書き込み要求で指定された領域にデータを書き込むステップと、
    前記書き込み要求に対応するファイルが、前記条件に合致するファイルでなければ、前記制御装置が、前記書き込み要求に応じて、前記書き込み要求に対応する領域にデータを書き込むステップとを有することを特徴とするデータ管理方法。
  5. 請求項3記載のデータ管理方法であって、
    前記制御装置が、前記条件に合致する、ファイルおよび該ファイルのある時点におけるデータを保存するための記憶領域の容量の指定を受信するステップと、
    前記制御装置が、前記容量を前記記憶装置システム内に格納するステップとを有することを特徴とするデータ管理方法。
  6. 請求項5記載のデータ管理方法であって、
    前記制御装置が、前記指示を受信したのち、前記1または複数のファイルのいずれかに対し、前記コンピュータから書き込み要求を受信した際、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであるか否かを判定するステップと、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであれば、前記制御装置が、前記指示に含まれる条件に合致するファイルのある時点における該ファイルのデータを保存した場合、前記容量を超えるか否かを判定するステップと、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルでなければ、前記制御装置が、前記書き込み要求に応じて、前記書き込み要求に対応する領域にデータを書き込むステップとを有することを特徴とするデータ管理方法。
  7. 請求項6記載のデータ管理方法であって、
    前記制御装置が、前記容量を超えないと判断した場合、前記書き込み要求に対応する領域に格納されているデータを保存したのち、前記書き込み要求に応じて、前記書き込み要求に対応する領域にデータを書き込むステップと、
    前記制御装置が、前記容量を超えると判断した場合、前記コンピュータにエラーを送信するステップとを有することを特徴とするデータ管理方法。
  8. 請求項6記載のデータ管理方法であって、
    前記制御装置が、前記容量を超えないと判断した場合、前記書き込み要求に対応する領域に格納されているデータを保存したのち、前記書き込み要求に応じて、前記書き込み要求に対応する領域にデータを書き込むステップと、
    前記制御装置が、前記容量を超えると判断した場合、該条件に合致するファイルのある時点におけるファイルのデータの一部を削除するステップを有することを特徴とするデータ管理方法。
  9. コンピュータと接続される制御装置と、
    前記制御装置と接続される記憶装置とを有する記憶装置システムであって、
    前記制御装置は、前記記憶装置内に格納されている1または複数のファイルのうち、いずれのファイルに対し、ある時点における該ファイルに格納されているデータを保存するのかを決定するための条件を受信し、
    前記条件を前記記憶装置システム内に格納することを特徴とする記憶装置システム。
  10. 請求項9記載の記憶装置システムであって、
    前記制御装置は、前記条件を、管理テーブルを用いて管理することを特徴とする記憶装置システム。
  11. 請求項9記載の記憶装置システムであって、
    前記制御装置は、前記コンピュータから、複数の条件を受信し、
    複数の条件を前記記憶装置システム内に格納することを特徴とする記憶装置システム。
  12. 請求項9記載の記憶装置システムであって、
    前記制御装置は、前記コンピュータから、該ファイルに格納されているデータを保存するよう、前記条件の指定を含む指示を受信し、
    前記指示に基づき、前記指示に含まれる条件に合致する、ある時点におけるファイルに格納されているデータを保存すべきファイルを決定することを特徴とする記憶装置システム。
  13. 請求項12記載の記憶装置システムであって、
    前記制御装置は、前記指示を受信したのち、前記1または複数のファイルのいずれかに対し、前記コンピュータから書き込み要求を受信した際、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであるか否かを判定し、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであれば、前記書き込み要求に対応する領域に格納されているデータを保存したのち、前記書き込み要求に応じて、前記書き込み要求で指定された領域にデータを書き込み、
    前記書き込み要求に対応するファイルが、前記条件に合致するファイルでなければ、前記書き込み要求に応じて、前記書き込み要求に対応する領域にデータを書き込むことを特徴とする記憶装置システム。
  14. 請求項12記載の記憶装置システムであって、
    前記制御装置は、前記条件に合致する、ファイルおよび該ファイルのある時点におけるデータを保存するための記憶領域の容量の指定を受信し、
    前記容量を前記記憶装置システム内に格納することを特徴とする記憶装置システム。
  15. 請求項14記載の記憶装置システムであって、
    前記制御装置は、前記指示を受信したのち、前記1または複数のファイルのいずれかに対し、前記コンピュータから書き込み要求を受信した際、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであるか否かを判定し、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであれば、前記指示に含まれる条件に合致するファイルのある時点における該ファイルのデータを保存した場合、前記容量を超えるか否かを判定し、
    前記指示に含まれる条件に合致するファイルでなければ、前記書き込み要求に応じて、前記書き込み要求に対応する領域にデータを書き込むことを特徴とする記憶装置システム。
  16. 請求項15記載の記憶装置システムであって、
    前記制御装置は、前記容量を超えないと判断した場合、前記書き込み要求に対応する領域に格納されているデータを保存したのち、前記書き込み要求に応じて、前記書き込み要求に対応する領域にデータを書き込み、
    前記容量を超えると判断した場合、前記コンピュータにエラーを送信することを特徴とする記憶装置システム。
  17. 請求項15記載の記憶装置システムであって、
    前記制御装置は、前記容量を超えないと判断した場合、前記書き込み要求に対応する領域に格納されているデータを保存したのち、前記書き込み要求に応じて、前記書き込み要求に対応する領域にデータを書き込み、
    前記容量を超えると判断した場合、該条件に合致するファイルのある時点におけるファイルのデータの一部を削除することを特徴とする記憶装置システム。
  18. コンピュータと、
    前記コンピュータと接続される制御装置と記制御装置に接続される記憶装置とを有する記憶装置システムとを有する計算機システムであって、
    前記コンピュータは、前記記憶装置内に格納されている1または複数のファイルのうち、いずれのファイルに対し、ある時点における該ファイルに格納されているデータを保存するのかを決定するための条件を送信し、
    前記制御装置は、前記条件を受信し、
    前記条件を前記記憶装置システム内に格納し、
    前記コンピュータは、該ファイルに格納されているデータを保存するよう、前記条件の指定を含む指示を前記制御装置に送信し、
    前記制御装置は、前記指示を受信し、
    前記指示に基づき、前記指示に含まれる条件に合致する、ある時点におけるファイルに格納されているデータを保存すべきファイルを決定し、
    前記コンピュータは、前記1または複数のファイルのいずれかに対し、前記コンピュータから書き込み要求を、前記制御装置に送信し、
    前記制御装置は、前記書き込み要求を受信し、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであるか否かを判定し、
    前記書き込み要求に対応するファイルが、前記指示に含まれる条件に合致するファイルであれば、前記書き込み要求に対応する領域に格納されているデータを保存したのち、前記書き込み要求に応じて、前記書き込み要求で指定された領域にデータを書き込み、
    前記書き込み要求に対応するファイルが、前記条件に合致するファイルでなければ、前記書き込み要求に応じて、前記書き込み要求に対応する領域にデータを書き込むことを特徴とする計算機システム。
  19. 請求項18記載の計算機システムであって、
    前記コンピュータは、前記条件として、データの所有者を指定することを特徴とする計算機システム。
  20. 請求項18記載の計算機システムであって、
    前記コンピュータは、前記条件として、データの内容に含まれるキーワードを指定することを特徴とする計算機システム。
JP2005201052A 2005-07-11 2005-07-11 条件別スナップショット取得方法及びシステム Expired - Fee Related JP4799936B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005201052A JP4799936B2 (ja) 2005-07-11 2005-07-11 条件別スナップショット取得方法及びシステム
US11/206,183 US7403960B2 (en) 2005-07-11 2005-08-18 Method and system for creating snapshots by condition
US12/176,733 US8117166B2 (en) 2005-07-11 2008-07-21 Method and system for creating snapshots by condition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005201052A JP4799936B2 (ja) 2005-07-11 2005-07-11 条件別スナップショット取得方法及びシステム

Publications (3)

Publication Number Publication Date
JP2007018399A true JP2007018399A (ja) 2007-01-25
JP2007018399A5 JP2007018399A5 (ja) 2008-08-21
JP4799936B2 JP4799936B2 (ja) 2011-10-26

Family

ID=37619385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005201052A Expired - Fee Related JP4799936B2 (ja) 2005-07-11 2005-07-11 条件別スナップショット取得方法及びシステム

Country Status (2)

Country Link
US (2) US7403960B2 (ja)
JP (1) JP4799936B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186341A (ja) * 2009-02-12 2010-08-26 Toshiba Corp メモリシステム
JP2011523746A (ja) * 2008-05-31 2011-08-18 エルエスアイ コーポレーション タイムスナップショットにおけるポイントのランク付及び優先順位付システム
JP2011204008A (ja) * 2010-03-25 2011-10-13 Nippon Telegr & Teleph Corp <Ntt> ファイルサーバ及びクライアント端末及び検索インデックス生成装置及び連続スナップショット管理方法及びバックアップ方法及び検索インデックス構築方法及びそれらのプログラム
JP2014032692A (ja) * 2013-10-04 2014-02-20 Nippon Telegr & Teleph Corp <Ntt> 検索インデックス生成装置及び検索インデックス構築方法及び検索インデックス構築プログラム

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4799936B2 (ja) * 2005-07-11 2011-10-26 株式会社日立製作所 条件別スナップショット取得方法及びシステム
US20110087792A2 (en) * 2006-02-07 2011-04-14 Dot Hill Systems Corporation Data replication method and apparatus
US7603395B1 (en) 2006-05-02 2009-10-13 Emc Corporation Using pseudosnapshots for continuous data protection systems to surface a copy of data
US7971091B1 (en) * 2006-05-02 2011-06-28 Emc Corporation Network configuration backup and restore operations using continuous data protection
JP5124989B2 (ja) * 2006-05-26 2013-01-23 日本電気株式会社 ストレージシステム及びデータ保護方法とプログラム
US8539253B2 (en) * 2006-07-18 2013-09-17 Netapp, Inc. System and method for securing information by obscuring contents of a persistent image
US7900088B1 (en) * 2006-09-29 2011-03-01 Emc Corporation System for performing incremental file system check
US8151060B2 (en) 2006-11-28 2012-04-03 Hitachi, Ltd. Semiconductor memory system having a snapshot function
US8751467B2 (en) * 2007-01-18 2014-06-10 Dot Hill Systems Corporation Method and apparatus for quickly accessing backing store metadata
US8935206B2 (en) * 2007-01-31 2015-01-13 Hewlett-Packard Development Company, L.P. Snapshots in distributed storage systems
CN101271425A (zh) * 2007-03-23 2008-09-24 国际商业机器公司 基于磁盘映像概要的应用程序服务器预配置系统和方法
US7716183B2 (en) * 2007-04-11 2010-05-11 Dot Hill Systems Corporation Snapshot preserved data cloning
US8204858B2 (en) * 2007-06-25 2012-06-19 Dot Hill Systems Corporation Snapshot reset method and apparatus
US7904466B1 (en) * 2007-12-21 2011-03-08 Netapp, Inc. Presenting differences in a file system
US9208192B2 (en) * 2009-03-05 2015-12-08 International Business Machines Corporation Conditional storage of multiple information items
US8751523B2 (en) * 2009-06-05 2014-06-10 Apple Inc. Snapshot based search
US20120259961A1 (en) 2011-04-07 2012-10-11 Infinidat Ltd. System of managing remote resources
TW201241794A (en) * 2011-04-08 2012-10-16 Hon Hai Prec Ind Co Ltd System and method for detecting damages of image capturing device
US8751758B2 (en) * 2011-07-01 2014-06-10 International Business Machines Corporation Delayed instant copy operation for short-lived snapshots
US9087201B2 (en) 2012-01-05 2015-07-21 Infinidat Ltd. System and methods for host enabled management in a storage system
US20170003915A1 (en) * 2012-04-25 2017-01-05 International Business Machines Corporation Retrieving data in a dispersed storage network
US9015123B1 (en) 2013-01-16 2015-04-21 Netapp, Inc. Methods and systems for identifying changed data in an expandable storage volume
US9442944B2 (en) * 2013-11-12 2016-09-13 Dropbox, Inc. Content item purging
US10120617B2 (en) 2013-11-12 2018-11-06 International Business Machines Corporation Using deterministic logical unit numbers to dynamically map data volumes
US9323764B2 (en) 2013-11-12 2016-04-26 International Business Machines Corporation Copying volumes between storage pools
US10083196B2 (en) * 2015-02-04 2018-09-25 Delphix Corporation Creating secure virtual databases storing masked data
US10652025B2 (en) 2017-07-10 2020-05-12 Micron Technology, Inc. Secure snapshot management for data storage devices
US10936231B2 (en) 2019-04-22 2021-03-02 EMC IP Holding Company LLC Allocating snapshot group identifiers
US12093435B2 (en) 2021-04-29 2024-09-17 Dell Products, L.P. Methods and systems for securing data in a distributed storage system
US11892983B2 (en) 2021-04-29 2024-02-06 EMC IP Holding Company LLC Methods and systems for seamless tiering in a distributed storage system
US12072890B2 (en) * 2021-05-06 2024-08-27 Thoughtspot, Inc. Visualization data reuse in a data analysis system
US11748301B2 (en) * 2021-10-20 2023-09-05 EMC IP Holding Company LLC Global tracking of virtual inode numbers in snap-based filesystems
US11762682B2 (en) 2021-10-27 2023-09-19 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components with advanced data services
US12007942B2 (en) * 2021-10-27 2024-06-11 EMC IP Holding Company LLC Methods and systems for seamlessly provisioning client application nodes in a distributed system
US11922071B2 (en) 2021-10-27 2024-03-05 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components and a GPU module
US11677633B2 (en) 2021-10-27 2023-06-13 EMC IP Holding Company LLC Methods and systems for distributing topology information to client nodes
US12067392B2 (en) * 2022-05-27 2024-08-20 Red Hat, Inc. Providing access to historical metadata for software repositories

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227750A (ja) * 1989-02-28 1990-09-10 Nec Corp ファイルバックアップ方式
JPH1153240A (ja) * 1997-08-04 1999-02-26 Fujitsu Ltd 計算機のデータバックアップ装置及びデータバックアップ方法並びにデータバックアッププログラムを記録したコンピュータ読み取り可能な記録媒体
US20030158862A1 (en) * 2002-02-15 2003-08-21 International Business Machines Corporation Standby file system with snapshot feature
JP2004178289A (ja) * 2002-11-27 2004-06-24 Hitachi Ltd スナップショット取得方法、ディスク装置及びストレージシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994029807A1 (en) 1993-06-03 1994-12-22 Network Appliance Corporation Write anywhere file-system layout
NL1020670C2 (nl) * 2002-05-24 2003-11-25 Oce Tech Bv Het bepalen van een semantische afbeelding.
US6981114B1 (en) * 2002-10-16 2005-12-27 Veritas Operating Corporation Snapshot reconstruction from an existing snapshot and one or more modification logs
US7155465B2 (en) * 2003-04-18 2006-12-26 Lee Howard F Method and apparatus for automatically archiving a file system
JP4550541B2 (ja) * 2004-10-06 2010-09-22 株式会社日立製作所 ストレージシステム
JP4799936B2 (ja) * 2005-07-11 2011-10-26 株式会社日立製作所 条件別スナップショット取得方法及びシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227750A (ja) * 1989-02-28 1990-09-10 Nec Corp ファイルバックアップ方式
JPH1153240A (ja) * 1997-08-04 1999-02-26 Fujitsu Ltd 計算機のデータバックアップ装置及びデータバックアップ方法並びにデータバックアッププログラムを記録したコンピュータ読み取り可能な記録媒体
US20030158862A1 (en) * 2002-02-15 2003-08-21 International Business Machines Corporation Standby file system with snapshot feature
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
JP2004178289A (ja) * 2002-11-27 2004-06-24 Hitachi Ltd スナップショット取得方法、ディスク装置及びストレージシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523746A (ja) * 2008-05-31 2011-08-18 エルエスアイ コーポレーション タイムスナップショットにおけるポイントのランク付及び優先順位付システム
JP2010186341A (ja) * 2009-02-12 2010-08-26 Toshiba Corp メモリシステム
JP2011204008A (ja) * 2010-03-25 2011-10-13 Nippon Telegr & Teleph Corp <Ntt> ファイルサーバ及びクライアント端末及び検索インデックス生成装置及び連続スナップショット管理方法及びバックアップ方法及び検索インデックス構築方法及びそれらのプログラム
JP2014032692A (ja) * 2013-10-04 2014-02-20 Nippon Telegr & Teleph Corp <Ntt> 検索インデックス生成装置及び検索インデックス構築方法及び検索インデックス構築プログラム

Also Published As

Publication number Publication date
US8117166B2 (en) 2012-02-14
US7403960B2 (en) 2008-07-22
JP4799936B2 (ja) 2011-10-26
US20070011137A1 (en) 2007-01-11
US20080288564A1 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
JP4799936B2 (ja) 条件別スナップショット取得方法及びシステム
US9558205B2 (en) Method for creating clone file, and file system adopting the same
US7386552B2 (en) Methods of migrating data between storage apparatuses
US9110909B2 (en) File level hierarchical storage management system, method, and apparatus
JP4704161B2 (ja) ファイルシステムの構築方法
JP4568115B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
US8364645B2 (en) Data management system and data management method
US8473636B2 (en) Information processing system and data management method
US7860909B2 (en) Search engine system using snapshot function of storage system
US20080027998A1 (en) Method and apparatus of continuous data protection for NAS
US20100036872A1 (en) Data management method
US8250035B1 (en) Methods and apparatus for creating a branch file in a file system
US8060711B2 (en) Storage system
US20070192375A1 (en) Method and computer system for updating data when reference load is balanced by mirroring
JPH1031612A (ja) 高度ファイル・サーバ
US20070300034A1 (en) Virtual storage control apparatus
EP1636690B1 (en) Managing a relationship between one target volume and one source volume
US7882086B1 (en) Method and system for portset data management
US20060221721A1 (en) Computer system, storage device and computer software and data migration method
US8909875B1 (en) Methods and apparatus for storing a new version of an object on a content addressable storage system
JP2005215940A (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
US20070192273A1 (en) Online data volume deletion
JP4005102B2 (ja) ゲートウェイ装置
US8010741B1 (en) Methods and apparatus for controlling migration of content

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080707

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

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: 20110712

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: 20110803

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees