(57)【特許請求の範囲】
【請求項１】
記憶部にデータブロックに分割されて記録されるファイル群を管理する情報処理装置において、
前記情報処理装置の制御部は、
ファイル群を管理するファイルシステムとして、前記記憶部に記録されているファイル個々が有するファイル管理情報に、バックアップ時点毎の構成データブロックを示す情報を追加して記録管理すると共に、個々のファイルを書換える際に バックアップ要求で示されたカレント世代の構成データブロックを示す情報として 書換える内容にあたる構成データブロックを示す情報を 該当ファイルのファイル管理情報に収集する ことによって、
変更されているファイルを求める際に、個々のファイルについて、所定のバックアップ時点のファイル管理情報と別のバックアップ時点のファイル管理情報とを比較し、比較した差分の情報を取得することにより、そのファイルのファイル管理情報に基づいて 変更されているファイル及び変更されているデータブロックを抽出可能とすることを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって、
変更されたファイルのみのコピーオンライト方式の差分バックアップに備えて、個々のファイルの所定のバックアップ時点のファイル管理情報と別のバックアップ時点のファイル管理情報とを比較することによって取得した差分の情報を、予めファイルシステム管理情報に記憶する ことによって、
前記所定のバックアップ時点と前記別のバックアップ時点の差分バックアップを行なう際に 前記ファイルシステム管理情報を参照して、前記予め記録された差分の情報を使用し、任意の記録媒体にバックアップする対象ファイルに関連する物理的情報を定め、当該情報として記録されている記憶情報をバックアップすることを特徴とする情報処理装置。
【請求項３】
請求項２記載の情報処理装置であって、
前記差分の情報を用いてバックアップした記憶情報と、フルバックアップ時点のフルバックアップの記憶情報とを使用し、各バックアップ時点のファイルを構築可能とすることを特徴とする情報処理装置。
【請求項４】
記憶部にデータブロックに分割されて記録されるファイルを管理する情報処理装置において、
前記情報処理装置の制御部は、
ファイル群を管理するファイルシステムとして、前記記憶部に記録されているデータブロックで構成されるファイル個々が有するファイル管理情報に、バックアップ時点毎の構成データブロックを示す情報を追加して記録管理すると共に、個々のファイルを書換える時に カレントのバックアップ時点での構成データブロックを示す情報があれば該構成データブロックを示す情報を上書きする一方、カレントのバックアップ時点での構成データブロックを示す情報がなければ、書換え前の構成データブロックを示す情報をカレントの情報としてファイル管理情報に書き込み、
バックアップを指示された際に、ファイル群を管理しているファイルシステム管理情報に、カレントのバックアップ時点を示す情報を記録する ことによって、
ファイルシステム管理情報から、個々のファイルについて、カレントのバックアップ時点のファイル管理情報と前回のバックアップ時点のファイル管理情報とを比較し、比較した差分の情報を取得することにより、記録されているファイルシステム管理情報に基づいて、前回のバックアップ時から変更されたファイルのみのファイル管理情報と差分のデータブロックを、任意のバックアップ先に記録可能とする
ことを特徴とする情報処理装置。
【請求項５】
データブロックに分割されて記録されるファイル群を管理するディスク装置において、
管理するファイル個々に、バックアップ世代を記録する記憶領域を設け、当該記憶領域に、バックアップ時点毎のファイルを構成するデータブロック情報をそれぞれの世代の管理情報として記録管理すると共に、
バックアップを指示された際に、ファイルシステム管理情報に、カレントのバックアップ時点を示す情報を記録管理し、
ファイルシステムとして、個々のファイルを書換える時に カレントのバックアップ世代の管理情報があれば該管理情報を上書きする一方、カレントのバックアップ世代での管理情報がなければ、書換え前のデータブロック情報をカレントの管理情報としてファイル管理情報に書き込み、
個々のファイルについて、所定のバックアップ世代の管理情報と別のバックアップ世代の管理情報とを対比して差分を抽出し、当該抽出した差分をバックアップ世代間の差分管理情報として取得して前記ファイルシステム管理情報に記録し、
コピーオンライト方式の差分バックアップを行なう際に、前記ファイルシステム管理情報を参照して、前記バックアップ世代間の差分管理情報に示されるデータブロック情報を差分バックアップ情報として取得可能とすることを特徴とするディスク装置。
【請求項６】
前記バックアップ世代間の差分管理情報に示されるデータブロック情報が示す、物理的に記録されたデータブロックを差分バックアップファイルとして取得し任意の記録媒体に記録することを特徴とする請求項５記載のディスク装置。
【請求項７】
前記差分バックアップファイルと、フルバックアップ時点の物理的に記録されたデータブロックであるフルバックアップファイルとを取得して、各バックアップ時点のファイルを構築可能とすることを特徴とする請求項５又は６記載のディスク装置。
【請求項８】
情報処理装置の制御部が記憶部の管理に用いる データブロックに分割されて記録されるファイル群を管理するプログラムであって、
前記制御部を、
ファイル群を管理するファイルシステムとして、
前記記憶部に記録されているファイル個々が有するファイル管理情報に、バックアップ時点毎の構成データブロックを示す情報を記録管理すると共に、個々のファイルを書換える際に バックアップ要求で示されたカレント世代の構成データブロックを示す情報として 書換える内容にあたる構成データブロックを示す情報を 該当ファイルのファイル管理情報に収集する ように動作させることによって、
変更されているファイルを求める際に、個々のファイルについて、所定のバックアップ時点のファイル管理情報と別のバックアップ時点のファイル管理情報とを比較し、比較した差分の情報を取得することにより、そのファイルのファイル管理情報に基づいて 変更されているファイル及び変更されているデータブロックを抽出可能にさせることを特徴とするプログラム。
【請求項９】
請求項８記載のプログラムであって、
前記制御部に、
変更されたファイルのみのコピーオンライト方式の差分バックアップに備えて、個々のファイルの所定のバックアップ時点のファイル管理情報と別のバックアップ時点のファイル管理情報とを比較することによって取得した差分の情報を、予めファイルシステム管理情報に記憶させる ことによって、
前記所定のバックアップ時点と前記別のバックアップ時点の差分バックアップを行なう際に 前記ファイルシステム管理情報を参照して、前記予め記録された差分の情報に基づき、任意の記録媒体にバックアップする対象ファイルに関連する物理的情報を取得し、当該情報として記録されている記憶情報をバックアップ処理可能にさせることを特徴とするプログラム。
【請求項１０】
情報処理装置に、請求項８又は９に記載のプログラムに対応させて、前記差分の情報に基づいて、所定のバックアップ時点と別のバックアップ時点での変更されているファイルを求めて、任意の記録媒体に差分バックアップの記憶情報としてバックアップ処理させる ことを特徴とするプログラム。
【請求項１１】
情報処理装置に、請求項８又は９に記載のプログラムに対応させて、前記差分の情報に基づいてバックアップ処理した差分バックアップの記憶情報と、フルバックアップ時点のフルバックアップの記憶情報とを取得し、該両記憶情報を用い、各バックアップ時点のファイルを構築可能とさせることを特徴とするプログラム。
【請求項１２】
情報処理装置の制御部が記憶部の管理に用いる データブロックに分割されて記録されるファイル群を管理するプログラムであって、
前記制御部を、
管理するファイル個々に、バックアップ世代を記録する記憶領域を設け、当該記憶領域に、バックアップ時点毎のファイルを構成するデータブロック情報をそれぞれの世代の管理情報として記録管理すると共に、
バックアップを指示された際に、ファイルシステム管理情報に、カレントのバックアップ時点を示す情報を記録管理し、
ファイルシステムとして、個々のファイルを書換える時に カレントのバックアップ世代の管理情報があれば該管理情報を上書きする一方、カレントのバックアップ世代での管理情報がなければ、書換え前のデータブロック情報をカレントの管理情報としてファイル管理情報に書き込み、
個々のファイルについて、所定のバックアップ世代の管理情報と別のバックアップ世代の管理情報とを対比して差分を抽出し、当該抽出した差分をバックアップ世代間の差分管理情報として取得して前記ファイルシステム管理情報に記録し、
コピーオンライト方式の差分バックアップを行なう際に、前記ファイルシステム管理情報を参照して、前記バックアップ世代間の差分管理情報に示されるデータブロック情報を差分バックアップ情報として取得可能とさせる ように動作させることを特徴とするプログラム。
【請求項１３】
記憶部にデータブロックに分割されて記録されるファイル群をバックアップ処理するプログラムであって、
バックアップ処理する情報処理装置の制御部を、
請求項１０に記載のプログラムに対応させて、前記バックアップ世代間の差分管理情報に示されるデータブロック情報が示す、物理的に記録されたデータブロックを差分バックアップファイルとして取得し任意の記録媒体に記録させる 
ように動作させることを特徴とするプログラム。
【請求項１４】
情報処理装置の制御部を、
請求項１３記載のプログラムによって取得した差分バックアップファイルと、  フルバックアップ時点の物理的に記録されたデータブロックが記録されたフルバックアップファイルとを取得して、各バックアップ時点のファイルを構築する 
ように動作させることを特徴とするプログラム。
【請求項１５】
情報処理システムの記憶部にデータブロックに分割されて記録されているファイル群を第１の時点でバックアップし、別の時点である第２の時点でバックアップするときに、前記第１の時点と前記第２の時点のファイル群の変更部分を取得したようにすることで、前記第１の時点及び前記第２の時点のファイル個々の状態を復元可能とするバックアップ方法であって、
情報処理システムの制御部が、
ファイル群を管理するファイルシステムとして、前記記憶部に記録されているファイル個々が有するファイル管理情報に、バックアップ時点毎の構成データブロックを示す情報を追加して記録管理すると共に、個々のファイルを書換える際に バックアップ要求で示されたカレント世代の構成データブロックを示す情報として 書換える内容にあたる構成データブロックを示す情報を 該当ファイルのファイル管理情報に収集する ことにより、
個々のファイルについて、
バックアップを指示する第１の時点での構成データブロックを示す情報を含むファイル毎の管理情報を第１の管理情報として取得し、
バックアップを指示する第２の時点での構成データブロックを示す情報を含むファイル毎の管理情報を第２の管理情報として取得し、
前記第１の管理情報と前記第２の管理情報とを比較し、前記第１の管理情報と前記第２の管理情報との差分を第３の管理情報として取得し、
前記第３の管理情報で示される、ファイルを構成するデータブロックをバックアップ対象として記録する
ことを特徴とするバックアップ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＡＳ（Network Attached Storage）等で用いられるファイルシステム用プログラム及びファイル群のバックアップ方法に関する。
【背景技術】
【０００２】
関連する技術としては、ＮＡＳ等の多量のファイルを記憶する記憶装置で用いられるファイルシステムが挙げられる。また、ファイルシステムのバックアップ方法が挙げられる。
【０００３】
多量のファイルを記憶する記憶装置では、ファイルのバックアップが重要な課題と成っており、当該課題の解決の為に多くの発明や設計が成されている。
【０００４】
関連するファイルシステムのバックアップ方法は、ミラーリング方式、スナップショット方式等が挙げられる。
【０００５】
ミラーリング方式は、バックアップする静止点（任意の時点）を設定し、当該静止点でのファイル群をバックアップ用記憶装置に全て記憶することで、バックアップを行なう。
【０００６】
これに対して、スナップショット方式は、バックアップする静止点で、ファイルのバックアップ管理情報（スナップショット）を取得し、書換え等のファイルの変更時点で前記スナップショットに基づきファイルをバックアップする（コピーオンライト方式）。即ち、ミラーリング方式の様に、変更の発生しないファイルについてバックアップしないので、情報処理装置の制御部に加わる負荷及び、バックアップに要する記憶領域の低減が図れる。また、別ディスク装置やテープメディア等に、スナップショットに基づいてバックアップする。
【０００７】
尚、スナップショット方式は、スナップショットを用いて、コピーオンライト方法を利用し、バックアップを行なうが、当該スナップショットには、ファイル群の一覧の他に、例えばアーカイブビットなどのファイルの属性も記録される。
【０００８】
これら関連する技術を例示すれば、特許文献１が挙げられる。特許文献１には、スナップショット方式の動作を行なう記憶システム（記憶装置）が開示されている。特許文献１の記憶システムでは、ファイルが記憶されたマスターボリュームをバックアップする為に、バッファボリュームとスナップショットボリュームと共有ボリュームとを設け、更に、各ボリューム間のデータ移動を行なう各種手段を設けられている。前記各ボリュームに記憶されるページ番号（論理領域のアドレス情報）と実データ（物理領域に記録される情報）とを、スナップショット方式によって前記各種手段を用い移動することで、マスターボリュームのバックアップを可能とする。
【０００９】
また、周知技術として、ファイルシステムプログラムがファイル管理情報（メタ情報）にファイルのディレクトリ情報や作成者、アクセス許可状態等の情報を記録することも知られている。
【００１０】
【特許文献１】特開２００６-２６８１３９
【発明の開示】
【発明が解決しようとする課題】
【００１１】
特許文献１を始め、多くの関連する技術では、スナップショット取得時点に、アプリケーションプログラムを用いて、記憶装置に格納されたファイル群の現在（カレント）の状態を取得し、当該状態のファイル群が記録されている物理ボリュームをバックアップ（フルバックアップ）する。更に、別のスナップショット取得時点に、記憶装置に格納されたファイル群の状態と先に取得した状態とを比較し、その差分を取得し、当該差分が記録されている物理ボリュームをバックアップ（差分バックアップ）する。尚、差分バックアップと増分バックアップの語彙をバックアップ方式によって使い分ける場合もあるが、本明細書では、両方とも差分バックアップとして記載する。
【００１２】
前述の様にファイル群をバックアップする場合、差分バックアップを利用する場合が多いが、先に取得したスナップショット取得時点の記憶装置に記録してあるファイル群の状態と、現在の記憶装置に記録してあるファイル群の状態をアプリケーションプログラムの有する機能を利用し、差分を比較する必要がある。
【００１３】
アプリケーションプログラムの機能を利用してバックアップ対象領域の差分を比較すると、記憶装置のバックアップ対象ボリュームにある全てのファイルを一つずつ確認する必要がある為、バックアップ対象ボリュームに記録されているファイル数が多い場合には、変更等の処理が成された差分となるファイル数が少なくても、差分の取得に多分のリソースを費やす必要がある。即ち、差分の抽出に多くの時間が掛かり、また、制御部に多大な負荷が加わることになる。換言すれば、バックアップに多くの時間が掛かる。
【００１４】
本発明の目的は、上記課題を解決し、バックアップ時に消費するリソース量の削減を図るプログラム及びディスク装置を提供することにある。
【００１５】
本発明の別の目的は、差分バックアップ時に消費するリソース量の削減を図るプログラム及びディスク装置を提供することにある。
【課題を解決するための手段】
【００１６】
本発明の情報処理装置は、記憶部にデータブロックに分割されて記録されるファイル群を管理する情報処理装置において、前記情報処理装置の制御部は、ファイル群を管理するファイルシステムとして、前記記憶部に記録されているファイル個々が有するファイル管理情報に、バックアップ時点毎の構成データブロックを示す情報を追加して記録管理すると共に、個々のファイルを書換える際に バックアップ要求で示されたカレント世代の構成データブロックを示す情報として 書換える内容にあたる構成データブロックを示す情報を 該当ファイルのファイル管理情報に収集する ことによって、変更されているファイルを求める際に、個々のファイルについて、所定のバックアップ時点のファイル管理情報と別のバックアップ時点のファイル管理情報とを比較し、比較した差分の情報を取得することにより、そのファイルのファイル管理情報に基づいて 変更されているファイル及び変更されているデータブロックを抽出可能とすることを特徴とする。
また、本発明のプログラムは、情報処理装置の制御部が記憶部の管理に用いる データブロックに分割されて記録されるファイル群を管理するプログラムであって、前記制御部を、ファイル群を管理するファイルシステムとして、前記記憶部に記録されているファイル個々が有するファイル管理情報に、バックアップ時点毎の構成データブロックを示す情報を記録管理すると共に、個々のファイルを書換える際に バックアップ要求で示されたカレント世代の構成データブロックを示す情報として 書換える内容にあたる構成データブロックを示す情報を 該当ファイルのファイル管理情報に収集する ことによって、変更されているファイルを求める際に、個々のファイルについて、所定のバックアップ時点のファイル管理情報と別のバックアップ時点のファイル管理情報とを比較し、比較した差分の情報を取得することにより、そのファイルのファイル管理情報に基づいて 変更されているファイル及び変更されているデータブロックを抽出可能なように動作させることを特徴とする。
また、本発明のプログラムは、上記プログラムによって取得される情報に基づいてバックアップ処理を行う。
また、本発明のバックアップ方法は、情報処理システムの記憶部にデータブロックに分割されて記録されているファイル群を第１の時点でバックアップし、別の時点である第２の時点でバックアップするときに、前記第１の時点と前記第２の時点のファイル群の変更部分を取得したようにすることで、前記第１の時点及び前記第２の時点のファイル個々の状態を復元可能とするバックアップ方法であって、情報処理システムの制御部が、ファイル群を管理するファイルシステムとして、前記記憶部に記録されているファイル個々が有するファイル管理情報に、バックアップ時点毎の構成データブロックを示す情報を追加して記録管理すると共に、個々のファイルを書換える際に バックアップ要求で示されたカレント世代の構成データブロックを示す情報として 書換える内容にあたる構成データブロックを示す情報を 該当ファイルのファイル管理情報に収集する ことにより、個々のファイルについて、バックアップを指示する第１の時点での構成データブロックを示す情報を含むファイル毎の管理情報を第１の管理情報として取得し、バックアップを指示する第２の時点での構成データブロックを示す情報を含むファイル毎の管理情報を第２の管理情報として取得し、前記第１の管理情報と前記第２の管理情報とを比較し、前記第１の管理情報と前記第２の管理情報との差分を第３の管理情報として取得し、前記第３の管理情報で示される、ファイルを構成するデータブロックをバックアップ対象として記録する ことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、バックアップ時に消費する処理リソース量の削減を図れる。
【発明を実施するための最良の形態】
【００１８】
本発明の第１の実施の一形態を図１ないし図９に基づいて説明する。
【００１９】
図１は、実施の一形態のバックアップシステムを示すブロック図である。
【００２０】
バックアップシステムは、バックアップ対象のファイル群を格納するネットワークストレージデバイスであるディスク装置１０、バックアップ対象のファイルを使用や書換えを行うクライアントＰＣ２０、バックアップ管理者がバックアップ操作や各種設定を行なう管理クライアントサーバ３０、ディアス装置１０に格納されているバックアップ対象のファイル群のフルバックアップファイル及び差分バックアップファイルを記録するメディアサーバ４０、がネットワーク５０を介して通信可能に接続されている。尚、メディアサーバ４０は、多量のデータを記録可能であれば、どの様な構成でも良く、記憶領域をＨＤＤによって構成しても良いし、テープメディアやディスクメディアを用いて構成しても良い。
【００２１】
本実施の一形態のバックアップシステムでは、ディスク装置１０に本発明の要であるプログラムを格納し、またディスク装置１０の制御部がプログラムを動作することとする。尚、本発明は、ファイルシステムの構造と動作の発明であるため、プログラムの格納場所や当該プログラムをどの制御部で動作させるかは自由度があり、例えば、管理クライアントサーバ３０やメディアサーバ４０の制御部がプログラムを動作させ、ディスク装置１０にデータを格納する様にしても良い。
【００２２】
図２は実施の一形態のディスク装置１０を例示するブロック図である。
【００２３】
ディスク装置１０は、概ね、ファイルの移動やコピー処理等の演算処理を行う制御部１００と、基本制御プログラムが格納されているＲＯＭ１１０と、情報を一時記憶や、各種動作に用いるプログラムが展開されて記録されるメモリ（ＲＡＭ）１２０と、ネットワーク５０を介し管理クライアントサーバ３０などの外部装置との通信を行うためのネットワークインタフェイス１３０と、ストレージデバイスと通信可能とするストレージインタフェイス１４０と、論理的に格納されるファイル群やプログラムが、物理的にデータブロックに区切られ書き込まれるディスクスドライブ１５０とで構成される。
【００２４】
メモリ１２０には、ディスク装置全体の処理動作を行なうファイルサーバプログラム１２１、ファイルシステムの動作処理全般を行うファイルシステム処理プログラム１２２、バックアップ時点のスナップショットを作成するスナップショット作成プログラム１２３、２つのバックアップ時点のスナップショットを比較し、差分情報を作成する差分作成プログラム１２４、その他各種演算処理に用いる情報等が展開されて記録されている。
【００２５】
スナップショット作成プログラム１２３は、バックアップ要求（スナップショット作成要求、世代情報作成要求）を受け、当該時点の世代情報を作成し、ファイルシステム管理情報１５１に記録する。また、バックアップ時点のファイル等のバックアップ対象の状態をスナップショット（ファイル管理情報等）として取得する。
【００２６】
差分作成プログラム１２４は、スナップショットの情報と別のスナップショットの情報とを比較し、スナップショットの差分情報を抽出する。ここでスナップショットの差分情報とは、『カレント世代―世代１』の様に、２つの世代を指定し、主に世代間のファイル管理情報１５２の差分を示す情報である。例えば、前回のスナップショット取得時のファイルの状況と、現在のファイルの状況とを比較したファイルの状況の差分が記録される。また、『世代２―世代１』の様に、バックアップ世代間のスナップショット同士の世代間のファイルの差分を示す情報である。
【００２７】
尚、『世代２−世代１』とは、世代２にあって世代１に無い情報、即ち、新規作成ファイル又は変更ファイルを示す。また、『世代１−世代２』であれば、世代１にあって世代２に無い情報、即ち、削除されたファイルを示す。
【００２８】
ディスクスドライブ１５０は、複数のＨＤＤ（Hard Disk Drive）がストレージインタフェイス１４０を介して制御部１００によって制御され、一つのディスクストレージデバイスとして管理される。尚、ディスクスドライブ１５０は大容量ストレージを実現する為に複数個のＨＤＤを合わせて用いているのみであり、本発明は一個でも良いし、多数でも良い。個数に限定は無い。
【００２９】
ディスクスドライブ１５０には、論理的にファイルシステム管理情報１５１、ファイル管理情報１５２、ファイル１５３等が記録され、物理的にデータブロックとして記録される。
【００３０】
ファイルシステム管理情報１５１では、スナップショットの世代情報が記録・管理される。
【００３１】
ファイル管理情報１５２には、記録されるファイルのデータブロック情報（物理的記録領域を示す情報）、世代情報等が記録される。
【００３２】
データブロック情報とは、論理的に構成されるファイル等が使用する記憶領域の複数のデータブロックの配置を記憶する情報である。即ち、ファイルシステムがファイルを構築・識別する為に用いるアドレスを示すメタ情報である。
【００３３】
世代情報とは、バックアップ時点を示す情報である。即ち、スナップショット作成時にバックアップ対象であるファイルのデータブロック情報等が含まれるファイル管理情報（メタ情報）と関連付けられる情報である。
【００３４】
図３は、ディスクドライブ１５０に記録されるファイルが有する情報を模式的に例示した図である。
【００３５】
論理的に構成されたファイルＡは、ファイル管理情報１５２として管理情報Ｘ１５２ａを有している。
【００３６】
管理情報Ｘ１５２ａには、データブロック情報としてデータブロックＡ〜Ｄ１５３ａの配置が記録され、世代情報として世代１、世代２が記録されている。
【００３７】
世代１には、スナップショット世代１作成時点のファイル管理情報１５２である管理情報Ａ１５２ｂが関連付けられ、世代２には、スナップショット世代２作成時点のファイル管理情報１５２である管理情報Ｂ１５２ｃが関連付けられている。
【００３８】
各世代の管理情報１５２ａ〜ｃには、夫々のスナップショット作成時点のデータブロック情報１５３ａ〜ｃが記録されており、当該情報１５３ａ〜ｃのデータブロックＡ〜Ｆは、物理的にディスクドライブ１５０に記録されている。
【００３９】
データブロックＡ〜Ｆは、図に示す様に、共通するデータブロックとして各世代間で共有される。具体的には、データブロックＡ、Ｂはカレント世代、スナップショット世代１、スナップショット世代２の全ての世代に共有される。一方データブロックＣ〜Ｆは一部の世代のみに使用される。
【００４０】
このように、データブロックを世代間で共有することによって、ディスクドライブ１５０の物理的記憶領域の削減を図っている。
【００４１】
本発明のファイルシステムは、スナップショットの情報をまとめて管理するのではなく、ファイル管理情報１５２を使用してファイル１５３毎に世代情報（バックアップ情報）を保持する。データブロックで構成されるファイル１５３は、世代情報によって示される管理情報１５２のデータブロック情報の差分によってバックアップされる為、更新のないファイルには「更新がない」という記録を保持するのではなく、更新情報自体を保持しない。
【００４２】
この為、バックアップに必要な物理的記憶領域のデータブロックは、カレントのファイルのデータブロックと、スナップショット作成時と別のスナップショット作成時との差分のデータブロックとで共有可能となり、記憶領域の削減が可能となる。尚、ファイルを更新することにより、当該ファイルを構成するデータブロックの配置がすべて書き換わることは稀であり、書き換わらないデータブロックは、同一データであるので共有可能である。
【００４３】
このような構成において、実施の一形態のディスク装置は、差分バックアップ時に消費するリソース量の削減できる。
【００４４】
次に、第１の実施の一形態の主要動作について説明する。
【００４５】
図４は、バックアップ時のスナップショット作成処理を示すフローチャートである。
【００４６】
ディスク装置１０は、管理クライアントサーバ３０から送信されるバックアップ要求に対して、指定された時点のスナップショットを取得し、バックアップ処理する。
【００４７】
ディスク装置１０の制御部１００は、メモリ１２０に展開されたスナップショット作成プログラム１２３に従い、ファイルシステム管理情報１５１にスナップショットの世代情報を記録する（ステップＳ４０１）。ここで、スナップショットの世代情報とは、バックアップ時点の世代（時点、瞬間）を示す情報である。
【００４８】
尚、コピーオンライト方式を使用する為、この時点ではファイルの更新（データブロックの書換え等）やファイル毎の管理情報１５２の更新は行わない。スナップショット作成後、初めてのファイル更新（作成や削除を含む）が行われた時点で、ファイルのバックアップ処理を行う。
【００４９】
ファイル更新が行われた時点でのファイルのバックアップ処理は、次の様に動作する。
【００５０】
１．制御部１００は、ファイルシステム処理プログラム１２２を使用し、更新しようとするファイル管理情報１５２を管理情報１５２ｎとしてコピーする。
【００５１】
２．ファイルの更新部分を格納するデータブロック領域を確保し、確保したデータブロック領域にファイルの更新部分のデータブロックを書き込む。
【００５２】
３．ファイル管理情報１５２にスナップショット世代用にコピーした管理情報１５２ｎにアクセスするための世代情報を登録する。
【００５３】
このとき、更新されない（共有可能な）データブロックはカレントのファイルとスナップショットのファイルとで共有する。尚、同一のバックアップ世代の更新は、カレントのファイルのデータブロックを上書更新する。
【００５４】
このようなスナップショットを用いてバックアップ時点（スナップショット作成時点、世代情報取得時点）のファイルにアクセス可能とし、更に、当該ファイル管理情報１５２及び、データブロック１５３をメディアサーバ４０等の外部メディアに記録することで、ディスクドライブ１５０のバックアップが行なえる。
【００５５】
図５は、当該システムのファイルの更新処理を示すフローチャートである。
【００５６】
ディスク装置１０の制御部１００は、ファイルシステム処理プログラム１２２に従い、ファイルの更新処理を行う。尚、ファイルの更新処理は、コピーオンライト処理である。
【００５７】
クライアントＰＣ２０からのファイルの更新操作を受け、制御部１００は、ファイルシステム管理情報１５１にアクセスし、現在のスナップショットの世代情報を取得する（ステップＳ５０１）。尚、このときのスナップショットの世代情報とは、現在の世代を示す情報である。即ち、最後にスナップショット作成処理で作成された世代情報を取得する。
【００５８】
制御部１００は、スナップショットの世代情報が存在したかを識別し、存在しない場合にはステップＳ５０３に進み、存在する場合にはステップＳ５０５に進む（ステップＳ５０２）。尚、スナップショットの世代情報が存在しない場合とは、未だスナップショット作成要求が成されていない場合であり、存在する場合とは、スナップショット作成要求を受け、スナップショットの世代情報が書き込まれた場合である。
【００５９】
スナップショットの世代情報が存在しない場合には、制御部１００は、クライアントＰＣ２０の操作に従い、ストレージインタフェイス１４０を介してディスクドライブ１５０にファイルの構成に必要なデータブロック領域を確保し、更にデータブロック領域にデータ（データブロック）を書き込む（ステップＳ５０３）。
【００６０】
制御部１００は、ステップＳ５０３で書き込んだデータブロック情報をファイル管理情報１５２に書き込み、ファイルの更新処理を終了する（ステップＳ５０４）。
【００６１】
スナップショットの世代情報が存在する場合には、制御部１００は、クライアントＰＣ２０の操作したファイルのファイル管理情報１５２にアクセスし、ファイルが有する世代情報を取得する（ステップＳ５０５）。
【００６２】
制御部１００は、ファイル管理情報１５２のスナップショットの世代情報がステップＳ５０１で取得したスナップショットの世代と同一の世代であるか識別し、同一の場合にはステップＳ５０３に進み、同一では無い場合にはステップＳ５０７に進む（ステップＳ５０６）。尚、同一の世代情報がある場合とは、バックアップ要求であるスナップショット取得要求を受けてから、次のスナップショット取得要求を受けていない場合である。即ち、同一世代として更新された後の情報が管理情報１５２として記録されることになる。一方、同一の世代情報がない場合とは、前回のスナップショットの作成から、一度もファイルが更新されていない場合である。
【００６３】
制御部１００は、カレント世代のファイル管理情報１５２のデータブロック等の情報を、ステップＳ５０５で取得したスナップショット世代の管理情報としてコピーして当該世代のスナップショットの管理情報として記録する（ステップＳ５０７）。
【００６４】
制御部１００は、ディスクドライブ１５０にファイルの構成に必要なデータブロック領域を確保し、当該領域にデータブロックを書き込む（ステップＳ５０８）。
【００６５】
制御部１００は、ステップＳ５０８で書き込んだデータブロック情報をファイル管理情報１５２に書き込む（ステップＳ５０９）。
【００６６】
制御部１００は、スナップショットの各世代用に作成したファイル管理情報１５２のファイルシステム上のアドレス（論理アドレス）をスナップショットの世代情報と関連付けて、ファイル管理情報１５２に記録し、ファイルの更新処理を終了する（ステップＳ５１０）。
【００６７】
図６は、当該システムのファイルの更新処理動作を例示して説明する説明図である。
【００６８】
ファイルシステム管理情報１５１に世代情報として世代１が記録された状態で、ファイルＡを更新処理することとする。尚、更新前のファイルＡはデータブロックＡ、Ｂ、Ｃ、Ｄで構成され、更新後は、データブロックＡ、Ｂ、Ｅ、Ｄで構成されるものとする。
【００６９】
（１）クライアントＰＣ２０等からのファイルの更新操作を受ける。
【００７０】
（２）制御部１００は、ファイルシステム管理情報１５１にアクセスし、現在のスナップショットの世代情報である『世代１』を取得する（図５のステップＳ５０１処理）。制御部１００は、ファイルＡの有する世代情報とファイルシステム管理情報１５１から取得した世代情報とを比較（図５のステップＳ５０６処理）し、同一で無いため、ファイルＡの管理情報Ｘ１５２ａを、『世代１』のスナップショットの管理情報Ａ１５２ｂとしてコピーして記録する（図５のステップＳ５０７処理）。
【００７１】
（３）制御部１００は、ディスクドライブ１５０にデータブロック領域を確保し、更にデータブロックＥを書き込む。カレント世代の管理情報Ｘは、ここで構成するデータブロック情報が書き換えられる。（図５のステップＳ５０８、Ｓ５０９処理）。
【００７２】
（４）制御部１００は、世代１スナップショットを（２）でコピーしたファイル管理情報Ａ１５２ｂと関連付けて、管理情報Ｘ１５２ａに書き込む（図５のステップＳ５１０処理）。
【００７３】
このように、ファイルＡのカレント世代の管理情報Ｘ１５２ａと、データブロックＥ、世代１スナップショット等がファイルシステム処理プログラム１２２によって更新処理され、ファイルシステムとして機能する。
【００７４】
図７は、ファイルの読み出し要求処理を示すフローチャートである。
【００７５】
ディスク装置１０の制御部１００は、ファイルシステム処理プログラム１２２に従い、ファイルの読み出し更新処理を行う。
【００７６】
クライアントＰＣ２０からのファイルやフォルダの読み出し（アクセス）を受け、制御部１００は、ファイルパスを取得する（ステップＳ７０１）。
【００７７】
制御部１００は、ファイルパスから、読み出しファイルやフォルダがカレント世代のファイルやフォルダかバックアップ世代のファイルやフォルダかを識別し、カレント世代の場合は次ステップに進み、スナップショット世代（バックアップ世代）の場合は、ステップＳ７０６に進む（ステップＳ７０２）。
【００７８】
カレント世代のファイルやフォルダの場合では、制御部１００は、カレント世代のファイル管理情報１５２から、ファイルやフォルダを構成するデータブロックの情報を取得する（ステップＳ７０３）。
【００７９】
制御部１００は、取得したファイルやフォルダを構成するデータブロックの情報を使用し、ディスクドライブ１５０からデータブロックを取得しファイルやフォルダとして構成する（ステップＳ７０４）。
【００８０】
制御部１００は、ファイルを要求したクライアントＰＣ２０に対してファイルやフォルダのデータを送信し、処理を終了する（ステップＳ７０５）。
【００８１】
スナップショット世代のファイルやフォルダの場合には、制御部１００は、カレント世代の管理情報１５２から、バックアップされているファイルやフォルダのスナップショット世代が示すファイル管理情報１５２を取得する（ステップＳ７０６）。
【００８２】
このとき、例えば、ファイルパスによって指定されるファイルが、例えばスナップショット世代１と関連付けられている管理情報Ａが有するデータブロック構造であるファイルＡであれば、カレント世代の管理情報Ｘ１５２ａに記録されているスナップショット世代情報『世代１』を介して、ファイルパスで指定された世代１のファイルＡの管理情報Ａ１５２ｂを取得する。
【００８３】
制御部１００は、スナップショット世代のファイル管理情報１５２から、ファイルやフォルダを構成するデータブロックの情報を取得する（ステップＳ７０７）。
【００８４】
後の処理は、カレント世代のファイル読み出し処理と同様であり、ステップＳ７０４、Ｓ７０５の処理を行う。即ち、制御部１００は、取得したファイルやフォルダを構成するデータブロックの情報を使用し、データブロックを取得しファイルやフォルダとして構成し、クライアントＰＣ２０に対してファイルやフォルダのデータを送信する。
【００８５】
このようにして、スナップショットの取得と、当該スナップショットから各世代のファイルを取得できる。
【００８６】
次に、当該システムの差分バックアップ処理を説明する。
【００８７】
図８は、差分バックアップ時のスナップショット作成処理を示すフローチャートである。
【００８８】
ディスク装置１０は、管理クライアントサーバ３０から送信される差分バックアップ要求に対して、スナップショット作成プログラム１２３、差分作成プログラム１２４に従い、指定された時点のスナップショットを取得し、差分バックアップ処理する。
【００８９】
ディスク装置１０の制御部１００は、スナップショット作成プログラム１２３に従い、ファイルシステム管理情報１５１にスナップショットの差分情報を記録する（ステップＳ８０１）。
【００９０】
スナップショットの差分情報とは、『カレント世代―世代１』の様に、２つの世代を指定し、世代間のファイルの差分を示す情報である。即ち、前回のスナップショット取得時のファイルの状況と、現在のファイルの状況とを比較したファイルの状況を取得可能とする情報である。
【００９１】
ここで当該スナップショットの差分情報を記録することによって、コピーオンライト方式のバックアップは、以下の様に成る。
【００９２】
クライアントＰＣ２０等からのファイルの作成や更新操作を受け、制御部１００は、ファイルシステム管理情報１５１にアクセスし、スナップショットの世代情報として記録されている差分情報を取得する（図５のステップＳ５０１に該当）。
【００９３】
制御部１００は、クライアントＰＣ２０の操作したファイル管理情報１５２にアクセスし、スナップショットの各種世代の世代情報を識別して取得する（図５のステップＳ５０５に該当）。尚、各種世代の世代情報とは、差分情報を構成する２世代の世代情報である。
【００９４】
制御部１００は、ファイル管理情報１５２からスナップショットの各種世代の世代情報を取得し、同一の差分世代（同一の世代）をバックアップしたか識別し、同一の差分世代のバックアップがある場合には、更新処理を終了する（図５のステップＳ５０６に該当）。尚、同一の差分世代のバックアップがある場合は、差分バックアップ済みであることを示す。
【００９５】
制御部１００は、世代情報が示すファイル管理情報１５２の差分（データブロック情報等）を、差分スナップショットとしてコピーし、世代情報の管理情報として記録する（図５のステップＳ５０７に該当）。
【００９６】
制御部１００は、ディスクドライブ１５０にファイルの構成に必要なデータブロック領域を確保し、更にデータブロック１５３を書き込み、当該データブロック１５３と世代情報の管理情報とを差分バックアップとして記録する。
【００９７】
このように、差分バックアップ（世代情報のスナップショットの管理情報とデータブロック１５３）をメディアサーバ４０等の外部メディアに記録することで、ディスクドライブ１５０の差分バックアップが行なえる。
【００９８】
次に、メディアサーバ４０等の外部メディアに記録されたバックアップファイルから、バックアップしたファイルの読み出しについて説明する。
【００９９】
尚、ディスク装置１０には、カレント世代を始め、各世代の世代情報が示すファイル管理情報１５２及びデータブロック１５３が記録されているのに対し、メディアサーバ４０等の外部メディアには、フルバックアップファイル（第１世代等）と差分バックアップファイル（差分世代）とが記録され、全ての世代のファイルを構築しアクセス可能とする。
【０１００】
図９は、バックアップファイルからのファイルの読み出し要求処理を示すフローチャートである。
【０１０１】
メディアサーバ４０の制御部は、ファイルシステム処理プログラムを利用し、ファイルの読み出し要求処理を行う。
【０１０２】
クライアントＰＣ２０からのファイルやフォルダの読み出し（アクセス）を受け、メディアサーバ４０の制御部は、ファイルパスを取得する（ステップＳ９０１）。
【０１０３】
メディアサーバ４０の制御部は、ファイルパスから、読み出すファイルやフォルダがフルバックアップか差分バックアップ（差分情報）へのアクセスかを識別し、フルバックアップへのアクセスの場合は次ステップに進み、差分バックアップの場合は、ステップＳ７０６に進む（ステップＳ９０２）。
【０１０４】
フルバックアップのファイル等へのアクセスの場合では、制御部は、第１世代のファイル管理情報１５２から、ファイルやフォルダを構成するデータブロック情報を取得する（ステップＳ９０３）。
【０１０５】
制御部は、取得したファイルやフォルダを構成するデータブロック情報を使用し、フルバックアップファイルからデータブロックを取得しファイルやフォルダとして構成する（ステップＳ９０４）。
【０１０６】
制御部は、ファイルを要求したクライアントＰＣ２０に対してファイルやフォルダのデータを送信し、処理を終了する（ステップＳ９０５）。
【０１０７】
差分バックアップのファイル等へのアクセスの場合には、制御部は、世代情報の管理情報から、要求された差分バックアップされているファイルやフォルダの各世代のファイル管理情報１５２を取得する（ステップＳ９０６）。
【０１０８】
制御部は、各世代のファイル管理情報が同一かどうか比較し、同一の場合はステップＳ９０９に進み、同一でない場合には次ステップに進む（ステップＳ９０７）。尚、同一の場合とは、差分を構成する世代情報が示すファイル管理情報が同一の時であって、スナップショットの世代情報の作成時点でファイルに変更が無いことを示し、当該変更が無い為に、当該差分バックアップにデータブロックが記録されていないことを示す。
【０１０９】
各世代のファイル管理情報が同一でない場合には、制御部は、差分を構成する世代のファイル管理情報１５２から、ファイルやフォルダを構成するデータブロックの差分の情報を取得し、フルバックアップ時点のファイル管理情報１５２から、残りのデータブロック情報を取得する（ステップＳ９０８）。
【０１１０】
このときの動作を図３の説明例を用いて説明するとすれば、ファイルパスによって指定されるファイルＡが、例えばスナップショット『世代２−世代１』であれば、世代２のファイル管理情報Ｂと世代１の管理情報Ａとを取得し、両管理情報から差分のデータブロック情報Ｆを取得する。更に、フルバックアップ時のファイル管理情報Ｘから残りのデータブロック情報Ａ、Ｂを取得する。後の処理は、フルバックアップファイル等へのアクセスの場合と同様であり、ステップＳ９０４、Ｓ９０５の処理を行う。即ち、制御部は、取得したファイルやフォルダを構成するデータブロック情報を使用し、データブロックを取得しファイルやフォルダとして構成し、クライアントＰＣ２０に対してファイルやフォルダのデータを送信する。
【０１１１】
このようにして、『世代２−世代１』の様に差分バックアップからのファイルの読み出を可能する。
【０１１２】
各世代のファイル管理情報が同一の場合には、スナップショットの世代情報の作成時点でファイルに変更が無い為、アクセス先のファイルが存在しないとして処理する（ステップＳ９０９）。これは、『世代２−世代１』が同一のファイル管理情報であった場合には、世代２時点で新たに記録された情報が無い為であり、世代２時点のファイルには世代１のファイル管理情報にアクセスすれば当該時点のファイルにアクセス可能である。
【０１１３】
このように、ファイル毎の管理情報（メタ情報）にバックアップ世代情報を記録する領域を設け、当該情報を利用することにより、世代毎のファイルを読み出し可能とすると共に、バックアップするデータブロック量を削減できる。
【０１１４】
また、実施の一形態の様にバックアップすれば、バックアップ時に消費する各装置の処理工数及び記憶領域の削減が図れる。
【０１１５】
更に、本発明によれば、ファイル群の変更箇所の識別が、管理情報同士の比較で行なえる為、ファイル全部（データブロック全体）の変更箇所を比較する必要が無い為、従来処理に比べ高速に行なえる。更に、更新箇所の識別が高速に成ることによって、バックアップ及びバックアップ済みファイルへのアクセスが高速に行なえる。
【０１１６】
更に、各世代のファイル管理情報を用いる為、２世代を指定し、作成や削除されたファイルを表示可能とし、操作性も向上する。
【０１１７】
即ち、記録する管理情報の削減や処理に要するリソースの削減を可能とし、更に、バックアップ時に消費するリソース量の削減を図ることができる。
【産業上の利用可能性】
【０１１８】
本発明は、ネットワークアタッチドストレージ（ＮＡＳ）やストレージエリアネットワーク（ＳＡＮ）などの記憶領域のバックアップに適用できる。また、現在及び過去のファイルにアクセス可能とするバックアップに適用できる。更に、停止処理の行なえない、ファイルシステム間のデータ移行の用途にも適用可能である。
【図面の簡単な説明】
【０１１９】
【図１】バックアップシステムを示すブロック図である。
【図２】ディスク装置を例示するブロック図である。
【図３】ディスクドライブに記録されるファイルが有する情報を模式的に示した図である。
【図４】バックアップ時のスナップショット作成処理を示すフローチャートである。
【図５】ファイルの更新処理を示すフローチャートである。
【図６】ファイルの更新処理動作を例示して説明する説明図である。
【図７】ファイルの読み出し要求処理を示すフローチャートである。
【図８】差分バックアップ時のスナップショット作成処理を示すフローチャートである。
【図９】差分バックアップからのファイルの読み出し要求処理を示すフローチャートである。
【符号の説明】
【０１２０】
１０    ディスク装置
２０    クライアントＰＣ
３０    管理クライアントサーバ
４０    メディアサーバ
５０    ネットワーク
１００  制御部
１１０  ＲＯＭ
１２０  メモリ（ＲＡＭ）
１２１  ファイルサーバプログラム
１２２  ファイルシステム処理プログラム（管理情報記憶手段の一部、差分情報記録手段の一部、バックアップ手段、ファイル構築手段）
１２３  スナップショット作成プログラム（世代作成プログラム、管理情報記憶手段の一部）
１２４  差分作成プログラム（差分情報記録手段の一部）
１３０  ネットワークインタフェイス
１４０  ストレージインタフェイス
１５０  ディスクスドライブ
１５１  ファイルシステム管理情報
１５２  ファイル管理情報
１５３  ファイル（データブロック、記憶情報）
【図１】
0004998737.tif 000002
【図２】
0004998737.tif 000003
【図３】
0004998737.tif 000004
【図４】
0004998737.tif 000005
【図５】
0004998737.tif 000006
【図６】
0004998737.tif 000007
【図７】
0004998737.tif 000008
【図８】
0004998737.tif 000009
【図９】
0004998737.tif 000010