(57)【要約】課題：仮想ファイルシステムのメタデータベースをバックアップ処理側からも利用する形態とすることで、効率的にバックアップを行うことができるファイル管理システム及びファイル管理方法を提供する。解決手段：仮想ドライブ５を制御する仮想ドライブ制御部１１０と、仮想ファイルとストレージ６に保存された物理ファイルとを関連付けるための情報を含むメタデータベース２１０と、ファイルのバックアップを管理するバックアップ制御部１２０と、バックアップの管理に使用されるバックアップ状態管理データベース２２０と、を備え、前記仮想ドライブ制御部１１０は、更新されたファイルの情報を前記バックアップ状態管理データベース２２０に登録し、前記バックアップ制御部１２０は、前記バックアップ状態管理データベース２２０と前記メタデータベース２１０とを参照してファイルをバックアップする。
2013035517.tif 000002
【特許請求の範囲】
【請求項１】
複数のストレージを制御するファイル管理システムであって、
前記複数のストレージのうちの任意のストレージ群で構成した仮想ドライブを制御する仮想ドライブ制御部と、
前記仮想ドライブ上の仮想ファイルと前記ストレージに保存された物理ファイルとを関連付けるための情報を含むメタデータベースと、
前記仮想ドライブに保存されたファイルのバックアップを管理するバックアップ制御部と、
前記バックアップ制御部によるバックアップの管理に使用されるバックアップ状態管理データベースと、
を備え、
前記仮想ドライブ制御部は、更新されたファイルの情報を前記バックアップ状態管理データベースに登録し、
前記バックアップ制御部は、前記バックアップ状態管理データベースと前記メタデータベースとを参照してファイルをバックアップすることを特徴とする、ファイル管理システム。
【請求項２】
前記バックアップ制御部は、ファイルが更新されたことをトリガとしてバックアップを実行することを特徴とする、請求項１記載のファイル管理システム。
【請求項３】
前記仮想ドライブ制御部は、ユーザの操作対象であるマスタ仮想ドライブと、前記マスタ仮想ドライブのデータをバックアップするためのバックアップ仮想ドライブと、を制御することを特徴とする、請求項１又は２記載のファイル管理システム。
【請求項４】
前記バックアップ制御部は、前記ファイル管理システムを構成するファイル管理サーバの負荷を監視し、当該負荷が予め設定された許容値を超過している場合には前記ファイルのバックアップを待機させることを特徴とする、請求項１〜３のいずれかに記載のファイ
ル管理システム。
【請求項５】
前記仮想ドライブ制御部は、ファイルアクセスエラーが発生したときに、前記メタデータベースを参照してエラー対象ファイルに対応するバックアップファイルを取得してファイルの復元を行うことを特徴とする、請求項１〜４のいずれかに記載のファイル管理システム。
【請求項６】
前記ファイルの復元は、前記バックアップ制御部が前記バックアップファイルをコピーして復元ファイルを作成する処理と、前記仮想ドライブ制御部が前記メタデータベースを書き換えて前記エラー対象ファイルへのリンクを前記復元ファイルへのリンクに更新する処理とを含むことを特徴とする、請求項５記載のファイル管理システム。
【請求項７】
障害の発生したストレージで管理されていたデータを復元するストレージリカバリ処理を実行するストレージリカバリ制御部を更に備え、
前記ストレージリカバリ制御部は、前記ストレージリカバリ処理において、前記障害の発生したストレージに含まれるデータのコピーデータを取得し、当該コピーデータを前記障害の発生したストレージと同じ仮想ドライブを構成する他のストレージにコピーするとともに、前記メタデータベースのリンク情報を書き換えることを特徴とする、請求項１〜６のいずれかに記載のファイル管理システム。
【請求項８】
前記メタデータベースとして、マスタ用のメタデータベースとバックアップ用のメタデータベースとを備え、
バックアップデータからシステムを復元するシステムリカバリ処理を実行するシステム初期化制御部を更に備え、
前記システム初期化制御部は、前記システムリカバリ処理において、前記バックアップ用のメタデータベースを基にバックアップ済みファイルを取得し、バックアップ済みファイルを復元コピーすることを特徴とする、請求項１〜７のいずれかに記載のファイル管理システム。
【請求項９】
複数のストレージを制御するファイル管理方法であって、
前記複数のストレージのうちの任意のストレージ群で仮想ドライブを構成するステップと、
前記仮想ドライブ上の仮想ファイルと前記ストレージに保存された物理ファイルとを関連付けてメタデータベースに登録するステップと、
更新されたファイルの情報をバックアップ状態管理データベースに登録するステップと
、
前記バックアップ状態管理データベースと前記メタデータベースとを参照してファイルをバックアップするステップと、
を有することを特徴とする、ファイル管理方法。
【請求項１０】
前記ファイルのバックアップは、ファイルが更新されたことをトリガとして実行されることを特徴とする、請求項９記載のファイル管理方法。
【請求項１１】
前記仮想ドライブを構成するステップは、ユーザの操作対象であるマスタ仮想ドライブを構成するステップと、前記マスタ仮想ドライブのデータをバックアップするためのバックアップ仮想ドライブを構成するステップと、を含むことを特徴とする、請求項９又は１０記載のファイル管理方法。
【請求項１２】
前記ファイルのバックアップは、前記ファイル管理システムを構成するファイル管理サーバの負荷が予め設定された許容値を超過している場合には実行が遅延されることを特徴とする、請求項９〜１１のいずれかに記載のファイル管理方法。
【請求項１３】
ファイルアクセスエラーが発生したときに、前記メタデータベースを参照してエラー対象ファイルに対応するバックアップファイルを取得してファイルの復元を行うステップを含むことを特徴とする、請求項９〜１２のいずれかに記載のファイル管理方法。
【請求項１４】
前記ファイルの復元は、前記バックアップファイルをコピーして復元ファイルを作成する処理と、前記メタデータベースを書き換えて前記エラー対象ファイルへのリンクを前記復元ファイルへのリンクに更新する処理と、を含むことを特徴とする、請求項１３記載のファイル管理方法。
【請求項１５】
障害の発生したストレージで管理されていたデータを復元するストレージリカバリ処理の実行を受け付けるステップと、
前記ストレージリカバリ処理において、前記障害の発生したストレージに含まれるデータのコピーデータを取得し、当該コピーデータを前記障害の発生したストレージと同じ仮想ドライブを構成する他のストレージにコピーするとともに、前記メタデータベースのリンク情報を書き換えるステップと、
を含むことを特徴とする、請求項９〜１４のいずれかに記載のファイル管理方法。
【請求項１６】
前記メタデータベースとして、マスタ用のメタデータベースとバックアップ用のメタデータベースとを備え、
バックアップデータからシステムを復元するシステムリカバリ処理の実行を受け付けるステップと、
前記システムリカバリ処理において、前記バックアップ用のメタデータベースを基にバックアップ済みファイルを取得し、バックアップ済みファイルを復元コピーするステップと、
を含むことを特徴とする、請求項９〜１５のいずれかに記載のファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のストレージを制御するファイル管理システム及びファイル管理方法に関し、特に、バックアップ処理に特徴を有するファイル管理システム及びファイル管理方法に関するものである。
【背景技術】
【０００２】
従来、通信ネットワークを介してコンピュータファイルを保管する方法として、ファイルサーバが普及している。ファイルサーバは、サーバＯＳのファイルシステム上にフォルダツリーを構成し、そのドライブルートや特定のフォルダをネットワーク上のユーザに閲覧権限等を割り当て、共有させるようにしたものである。【０００３】
ファイルやフォルダを共有するユーザは、端末（例えば、ＰＣや携帯電話など）からネットワーク越しに共有設定されたファイル等を閲覧し、ファイルサーバのシステム管理者が設定した管理権限に基づき、任意のファイルについてオープン、クローズ、新規作成、移動、名称変更、複製などを行うことが出来る。ファイルやフォルダを操作するユーザは人間であっても良いし、機械やソフトアウェアなどのコンピュータシステムであっても良い。【０００４】
サーバに保管されたファイルをユーザがオープンする場合は、まずファイルサーバの共有フォルダをユーザ端末から閲覧し、ユーザ端末が任意のファイルを指定してファイルサーバに送信依頼し、ファイルサーバがネットワーク越しに当該ファイルをユーザ端末に送信する。【０００５】
このファイルサーバ上に配置するハードディスク装置を高速化または冗長化するための装置として、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋ）技術が普及している（例えば特許文献１参照）。【０００６】
ＲＡＩＤは複数台のハードディスクを組み合わせることで、仮想的な1台のハードディスクとしてＯＳから認識されるようにする技術の一種で、主に信頼性の向上を狙って用いられることが多い。また、サービスの継続性を保証しつつ、高い安全性を保証するために、このＲＡＩＤとバックアップソフトを組み合わせて運用することも通常行われている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１２９０３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、ＲＡＩＤとバックアップソフトを組み合わせて運用した場合、バックアップソフトから見るとＲＡＩＤの仮想化されたファイルシステムは通常のファイルシステムと見分けがつかず、たとえＲＡＩＤのファイルシステムがアクセス履歴やメタ情報をデータベースに保持していても、そのデータベースの情報をバックアップ処理に利用することはできない。このため、バックアップソフトは通常のファイルシステムと同様のバックアップ処理を強いられ、非効率な制御を行っていた。【０００９】
そこで、本発明は、ＲＡＩＤと同様に複数の記憶装置を統合して仮想ファイルシステムを構成するとともに、仮想ファイルシステムのメタデータベースをバックアップ処理側からも利用する形態とすることで、効率的にバックアップを行うことができるファイル管理システム及びファイル管理方法を提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明は、上記した課題を解決するためになされたものであり、以下を特徴とする。【００１１】
（請求項１）
請求項１に記載の発明は、以下の点を特徴とする。【００１２】
すなわち、請求項１に記載のファイル管理システムは、複数のストレージを制御するファイル管理システムであって、前記複数のストレージのうちの任意のストレージ群で構成した仮想ドライブを制御する仮想ドライブ制御部と、前記仮想ドライブ上の仮想ファイルと前記ストレージに保存された物理ファイルとを関連付けるための情報を含むメタデータベースと、前記仮想ドライブに保存されたファイルのバックアップを管理するバックアップ制御部と、前記バックアップ制御部によるバックアップの管理に使用されるバックアップ状態管理データベースと、を備え、前記仮想ドライブ制御部は、更新されたファイルの情報を前記バックアップ状態管理データベースに登録し、前記バックアップ制御部は、前記バックアップ状態管理データベースと前記メタデータベースとを参照してファイルをバックアップすることを特徴とする。【００１３】
（請求項２）
請求項２に記載の発明は、上記した請求項１記載の発明の特徴点に加え、以下の点を特徴とする。【００１４】
すなわち、前記バックアップ制御部は、ファイルが更新されたことをトリガとしてバックアップを実行することを特徴とする。【００１５】
（請求項３）
請求項３に記載の発明は、上記した請求項１又は２記載の発明の特徴点に加え、以下の点を特徴とする。【００１６】
すなわち、前記仮想ドライブ制御部は、ユーザの操作対象であるマスタ仮想ドライブと、前記マスタ仮想ドライブのデータをバックアップするためのバックアップ仮想ドライブと、を制御することを特徴とする。【００１７】
（請求項４）
請求項４に記載の発明は、上記した請求項１〜３のいずれかに記載の発明の特徴点に加え、以下の点を特徴とする。【００１８】
すなわち、前記バックアップ制御部は、前記ファイル管理システムを構成するファイル管理サーバの負荷を監視し、当該負荷が予め設定された許容値を超過している場合には前記ファイルのバックアップを待機させることを特徴とする。【００１９】
（請求項５）
請求項５に記載の発明は、上記した請求項１〜４のいずれかに記載の発明の特徴点に加え、以下の点を特徴とする。【００２０】
すなわち、前記仮想ドライブ制御部は、ファイルアクセスエラーが発生したときに、前記メタデータベースを参照してエラー対象ファイルに対応するバックアップファイルを取得してファイルの復元を行うことを特徴とする。【００２１】
（請求項６）
請求項に記載の発明は、上記した請求項５記載の発明の特徴点に加え、以下の点を特徴とする。【００２２】
すなわち、前記ファイルの復元は、前記バックアップ制御部が前記バックアップファイルをコピーして復元ファイルを作成する処理と、前記仮想ドライブ制御部が前記メタデータベースを書き換えて前記エラー対象ファイルへのリンクを前記復元ファイルへのリンクに更新する処理とを含むことを特徴とする。【００２３】
（請求項７）
請求項７に記載の発明は、上記した請求項１〜６のいずれかに記載の発明の特徴点に加え、以下の点を特徴とする。【００２４】
すなわち、障害の発生したストレージで管理されていたデータを復元するストレージリカバリ処理を実行するストレージリカバリ制御部を更に備え、前記ストレージリカバリ制御部は、前記ストレージリカバリ処理において、前記障害の発生したストレージに含まれるデータのコピーデータを取得し、当該コピーデータを前記障害の発生したストレージと同じ仮想ドライブを構成する他のストレージにコピーするとともに、前記メタデータベースのリンク情報を書き換えることを特徴とする。【００２５】
（請求項８）
請求項８に記載の発明は、上記した請求項１〜７のいずれかに記載の発明の特徴点に加え、以下の点を特徴とする。【００２６】
すなわち、前記メタデータベースとして、マスタ用のメタデータベースとバックアップ用のメタデータベースとを備え、バックアップデータからシステムを復元するシステムリカバリ処理を実行するシステム初期化制御部を更に備え、前記システム初期化制御部は、前記バックアップ用のメタデータベースを基にバックアップ済みファイルを取得し、バックアップ済みファイルを復元コピーすることを特徴とする。【００２７】
（請求項９）
請求項９に記載の発明は、以下の点を特徴とする。【００２８】
すなわち、請求項９に記載のファイル管理方法は、複数のストレージを制御するファイル管理方法であって、前記複数のストレージのうちの任意のストレージ群で仮想ドライブを構成するステップと、前記仮想ドライブ上の仮想ファイルと前記ストレージに保存された物理ファイルとを関連付けてメタデータベースに登録するステップと、更新されたファイルの情報をバックアップ状態管理データベースに登録するステップと、前記バックアップ状態管理データベースと前記メタデータベースとを参照してファイルをバックアップするステップと、を有することを特徴とする。【００２９】
（請求項１０）
請求項１０に記載の発明は、上記した請求項９記載の発明の特徴点に加え、以下の点を特徴とする。【００３０】
すなわち、前記ファイルのバックアップは、ファイルが更新されたことをトリガとして実行されることを特徴とする。【００３１】
（請求項１１）
請求項１１に記載の発明は、上記した請求項９又は１０記載の発明の特徴点に加え、以下の点を特徴とする。【００３２】
すなわち、前記仮想ドライブを構成するステップは、ユーザの操作対象であるマスタ仮想ドライブを構成するステップと、前記マスタ仮想ドライブのデータをバックアップするためのバックアップ仮想ドライブを構成するステップと、を含むことを特徴とする。【００３３】
（請求項１２）
請求項１２に記載の発明は、上記した請求項９〜１１のいずれかに記載の発明の特徴点に加え、以下の点を特徴とする。【００３４】
すなわち、前記ファイルのバックアップは、前記ファイル管理システムを構成するファイル管理サーバの負荷が予め設定された許容値を超過している場合には実行が遅延されることを特徴とする。【００３５】
（請求項１３）
請求項１３に記載の発明は、上記した請求項９〜１２のいずれかに記載の発明の特徴点に加え、以下の点を特徴とする。【００３６】
すなわち、ファイルアクセスエラーが発生したときに、前記メタデータベースを参照してエラー対象ファイルに対応するバックアップファイルを取得してファイルの復元を行うステップを含むことを特徴とする。【００３７】
（請求項１４）
請求項１４に記載の発明は、上記した請求項１３記載の発明の特徴点に加え、以下の点を特徴とする。【００３８】
すなわち、前記ファイルの復元は、前記バックアップファイルをコピーして復元ファイルを作成する処理と、前記メタデータベースを書き換えて前記エラー対象ファイルへのリンクを前記復元ファイルへのリンクに更新する処理と、を含むことを特徴とする。【００３９】
（請求項１５）
請求項１５に記載の発明は、上記した請求項９〜１４のいずれかに記載の発明の特徴点に加え、以下の点を特徴とする。【００４０】
すなわち、障害の発生したストレージで管理されていたデータを復元するストレージリカバリ処理の実行を受け付けるステップと、前記ストレージリカバリ処理において、前記障害の発生したストレージに含まれるデータのコピーデータを取得し、当該コピーデータを前記障害の発生したストレージと同じ仮想ドライブを構成する他のストレージにコピーするとともに、前記メタデータベースのリンク情報を書き換えるステップと、を含むことを特徴とする。【００４１】
（請求項１６）
請求項１６に記載の発明は、上記した請求項９〜１５のいずれかに記載の発明の特徴点に加え、以下の点を特徴とする。【００４２】
すなわち、前記メタデータベースとして、マスタ用のメタデータベースとバックアップ用のメタデータベースとを備え、バックアップデータからシステムを復元するシステムリカバリ処理の実行を受け付けるステップと、前記システムリカバリ処理において、前記バックアップ用のメタデータベースを基にバックアップ済みファイルを取得し、バックアップ済みファイルを復元コピーするステップと、を含むことを特徴とする。
【発明の効果】
【００４３】
請求項１及び９に記載の発明は上記の通りであり、バックアップ状態管理データベースとメタデータベースとを参照してファイルをバックアップするので、仮想ファイルシステムのメタデータベースをバックアップ処理側からも利用する形態とすることができ、効率的にバックアップを行うことができる。【００４４】
また、バックアップ状態管理データベースでリアルタイムに差分管理を行っているため、バックアップ状態管理データベースを参照するだけで更新ファイルを検出できる。すなわち、バックアップを行う際に取得済みの過去のバックアップデータと比較する差分検知処理を実行する必要がないので、処理工程を短略することができる。従来のバックアップソフトを使用した場合、前述した差分検知処理で全データの読み取りが発生してしまうため、システム負荷が低い業務時間帯を避けて夜間などに「時刻指定実行」する必要があったが、本発明によれば全データの読み取りを実行せずに低負荷で差分を検知することができるため、業務時間帯にバックアップ処理を行うなどの柔軟性の高い運用が可能となる。【００４５】
また、請求項２及び１０に記載の発明は上記の通りであり、ファイルが更新されたことをトリガとしてバックアップを実行する。このように構成すれば、リアルタイムでバックアップ処理を実行することができる。【００４６】
また、請求項３及び１１に記載の発明は上記の通りであり、ユーザの操作対象であるマスタ仮想ドライブと、前記マスタ仮想ドライブのデータをバックアップするためのバックアップ仮想ドライブと、を備えている。すなわち、マスタ仮想ドライブとバックアップ仮想ドライブとが同じ方式の仮想ドライブで制御されているため、バックアップ仮想ドライブを実体化（マウント）させれば、バックアップ仮想ドライブのバックアップデータをマスタ仮想ドライブに復元することなく、ユーザに即時にバックアップデータを提供することができる。【００４７】
また、請求項４及び１２に記載の発明は上記の通りであり、前記ファイル管理システムを構成するファイル管理サーバの負荷が予め設定された許容値を超過している場合にはファイルのバックアップが待機される。このため、バックアップの実行による仮想ドライブへの影響（エラーや速度低下など）を最小化することができる。【００４８】
また、請求項５及び１３に記載の発明は上記の通りであり、ファイルアクセスエラーが発生したときに、前記メタデータベースを参照してエラー対象ファイルに対応するバックアップファイルを取得してファイルの復元を行う。すなわち、仮想ドライブが物理ストレージにアクセスした時のエラーをトリガとして、システムが自動的にファイルの復元を行うため、システム管理者による復元操作がなくてもファイルの復元を行うことができる。また、ファイルアクセスエラーの発生したファイルのみをリカバリ処理の対象とすることができるので、短時間でリカバリ処理を完了でき、エラーファイルへアクセスを試みたユーザのリカバリ待機時間を短縮することができる。【００４９】
また、請求項６及び１４に記載の発明は上記の通りであり、前記ファイルの復元は、前記バックアップファイルをコピーして復元ファイルを作成する処理と、前記メタデータベースを書き換えて前記エラー対象ファイルへのリンクを前記復元ファイルへのリンクに更新する処理と、を含む。このため、リカバリ処理の実行中も仮想ドライブに透過的なアクセスが可能なため、エラーファイルへアクセスを試みたユーザ以外のエンドユーザに影響を与えないようにすることができる。【００５０】
また、請求項７及び１５に記載の発明は上記の通りであり、障害の発生したストレージで管理されていたデータを復元するストレージリカバリ処理を実行するものであり、ストレージリカバリ処理として、前記障害の発生したストレージに含まれるデータのコピーデータを取得し、当該コピーデータを前記障害の発生したストレージと同じ仮想ドライブを構成する他のストレージにコピーするとともに、前記メタデータベースのリンク情報を書き換える。このため、仮想ドライブを構成するストレージ群の特定ストレージに障害が発生した場合に、仮想ドライブ全体を復元しなくても、障害が発生したストレージに保存されていたファイルのみをバックアップから復元することで、復元対象ファイルを限定し、効率的に短時間でリカバリすることができる。これにより、障害が発生したストレージへアクセスを試みたユーザのリカバリ待機時間が短縮される。また、リカバリ処理の実行中も仮想ドライブに透過的なアクセスが可能なため、障害が発生したストレージへアクセスを試みたユーザ以外のエンドユーザに影響を与えないようにすることができる。【００５１】
また、障害が発生したストレージをサーバから切り離した場合でも、自動的にバックアップデータから仮想ドライブの空き領域に自動的に対象ファイルを復元するため、システム管理者による復元操作が不要なだけでなく、障害が発生したストレージからデータをサルベージする必要がなく、即時に当該ストレージを仮想ドライブから切り離すことができる。【００５２】
また、請求項８及び１６に記載の発明は上記の通りであり、前記メタデータベースとして、マスタ用のメタデータベースとバックアップ用のメタデータベースとを備え、バックアップデータからシステムを復元するシステムリカバリ処理を実行するものであって、前記システムリカバリ処理において、前記バックアップ用のメタデータベースを基にバックアップ済みファイルを取得し、バックアップ済みファイルを復元コピーする。すなわち、バックアップしたファイルのみならず、仮想ドライブの構成情報を記録したマスタ用のメタデータベースもバックアップから復元できるため、仮想ドライブに自律回復不能な障害が発生した場合（サーバ消失など）でも、バックアップデータから仮想ドライブの状態を復元することができる。【００５３】
また、ユーザからシステムリカバリ処理が完了していないデータに対する閲覧要求を受けた場合に、当該データのリカバリ処理を優先して実行することにより、システムリカバリ処理の実行中も仮想ドライブへの透過的なアクセスを保証することができる。
【図面の簡単な説明】
【００５４】
【図１】ファイル管理システムの利用環境を示す図である。
【図２】ファイル管理システムの構成を示すブロック図である。
【図３】ファイル更新処理のフロー図である。
【図４】バックアップ登録処理のフロー図である。
【図５】バックアップ処理のフロー図である。
【図６】リカバリ処理のフロー図である。
【図７】非同期リカバリ処理のフロー図である。
【図８】マスタ用ストレージリカバリ処理のフロー図である。
【図９】バックアップ用ストレージリカバリ処理のフロー図である。
【図１０】システムリカバリ処理のフロー図である。
【図１１】メタデータベースの一例を示す図である。
【発明を実施するための形態】
【００５５】
本発明の実施形態について、図を参照しながら説明する。
【００５６】
本実施形態に係るファイル管理システムは、複数のストレージ６を制御するものである。このファイル管理システムは、例えば図１に示すように通信ネットワーク３を介したファイル管理に使用される。この図１に示す例においては、ファイル管理システムを提供するファイル管理サーバ４に対して、少なくとも１以上のサーバコンピュータ１やユーザ端末２が通信ネットワーク３を介して接続されている。
【００５７】
ファイル管理サーバ４には複数のストレージ６が接続されている。ファイル管理サーバ４は、この複数のストレージ６をフォーマット及びマウントし、この複数のストレージ６内のファイルを仮想的なフォルダツリー構成で参照可能とすることにより、仮想ドライブ５機能を提供する。
【００５８】
本実施形態においては、仮想ドライブ５として、マスタ仮想ドライブ５ａと、バックアップ仮想ドライブ５ｂと、の２つの仮想ドライブ５を提供している。マスタ仮想ドライブ５ａは、通信ネットワーク３を介してユーザから操作可能に公開されたドライブである。一方、バックアップ仮想ドライブ５ｂは、マスタ仮想ドライブ５ａのバックアップであり、マスタ仮想ドライブ５ａのデータの複製を保持するものである。このバックアップ仮想ドライブ５ｂは、基本的にユーザの操作対象ではないため、直接操作の対象とはなっていない。
【００５９】
このファイル管理システムによれば、通信ネットワーク３を介してファイル管理サーバ４にアクセスするユーザ（サーバコンピュータ１、ユーザ端末２）は、物理ファイルがどのストレージ６に含まれているかを意識することなく、仮想ドライブ５（詳しくはマスタ仮想ドライブ５ａ）上のファイルパスを指定することでファイルにアクセスすることができる。ファイル管理サーバ４は、ユーザからの仮想ドライブ５へのアクセス要求を受理すると、当該要求に応じたレスポンスをユーザに返信する。
【００６０】
なお、本実施形態においては、ストレージ６がハードディスクであることを前提として説明するが、このストレージ６はハードディスクに限定されるものではなく、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やＵＳＢ接続フラッシュメモリなどの永続的メモリ装置であっても良いし、イーサーネット越しに接続するＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）やＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）であっても良いし、ファイバチャネル回線を介したＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であっても良いし、インターネット上のクラウドストレージサービスであっても構わない。
【００６１】
図２は、ファイル管理システムの構成を示すブロック図である。
【００６２】
この図２が示すように、ファイル管理サーバ４には、複数のストレージ６が接続されており、本実施形態においてはストレージ６ａ、６ｂ、６ｃ、６ｄ、６ｅ、６ｆの６つのストレージ６が接続されている。そして、このうちのストレージ６ａ、６ｂ、６ｃの３つのストレージ６はマスタ用ストレージ群７に割り当てられており、また、ストレージ６ｄ、６ｅ、６ｆの３つのストレージ６はバックアップ用ストレージ群８として割り当てられている。そして、マスタ用ストレージ群７によってユーザの操作対象であるマスタ仮想ドライブ５ａを構成し、バックアップ用ストレージ群８によって前記マスタ仮想ドライブ５ａのデータをバックアップするためのバックアップ仮想ドライブ５ｂを構成している。このマスタ仮想ドライブ５ａ及びバックアップ仮想ドライブ５ｂは、後述する仮想ドライブ制御部１１０によって制御される。
【００６３】
このように、本実施形態では、マスタ仮想ドライブ５ａとバックアップ仮想ドライブ５ｂとを同じ方式の仮想ドライブ５で制御しているため、バックアップ仮想ドライブ５ｂを実体化（マウント）させれば、バックアップデータを即時に復元し、ユーザに提供することができるように形成されている。
【００６４】
なお、上記した仮想ドライブ５の構成は例に過ぎず、仮想ドライブ５の構成はファイル管理サーバ４の管理者によって自由に設定することができる。例えば、マスタ仮想ドライブ５ａやバックアップ仮想ドライブ５ｂを複数設けたり、ストレージ６の数を任意の数に増減させたりすることができる。
【００６５】
また、仮想ドライブ５に割り当てるストレージ６の記憶領域は任意の大きさとすることができるので、ストレージ６の記憶領域の一部のみを特定の仮想ドライブ５に割り当てるようにしてもよい。このため、同一ストレージ６の一部の領域をマスタ仮想ドライブ５ａに割り当て、他の領域をバックアップ仮想ドライブ５ｂに割り当てることも可能であるが、このような割り当て方をした場合にはストレージ６に障害が発生したときにマスタとバックアップとが同時に使用不能となる可能性があるため、マスタ仮想ドライブ５ａに割り当てるストレージ６と、バックアップ仮想ドライブ５ｂに割り当てるストレージ６とは、個別に設けるべきである。
【００６６】
ファイル管理サーバ４は、このように接続されたストレージ６を制御するものであり、図２に示すように、仮想ドライブ制御部１１０、バックアップ制御部１２０、システム初期化制御部１３０、ストレージリカバリ制御部１４０、ネットワーク制御部１５０、メタデータベース２１０、バックアップ状態管理データベース２２０、操作履歴管理データベース２３０、を備えている。
【００６７】
なお、本実施形態においては、ファイル管理サーバ４が単一のサーバであることを前提として説明しているが、前記仮想ドライブ制御部１１０、バックアップ制御部１２０、システム初期化制御部１３０、ストレージリカバリ制御部１４０、ネットワーク制御部１５０、メタデータベース２１０、バックアップ状態管理データベース２２０、操作履歴管理データベース２３０、については、複数のファイル管理サーバ４に分散配置して相互に通信する形態としてもよいし、複数のファイル管理サーバ４のうち、あるファイル管理サーバ４にマスタ仮想ドライブ５ａを管理させ、別のファイル管理サーバ４に前記マスタ仮想ドライブ５ａをバックアップするバックアップ仮想ドライブ５ｂを管理させ、相互に通信する形態としてもよい。
【００６８】
（仮想ドライブ制御部１１０）
仮想ドライブ制御部１１０は、上記したマスタ仮想ドライブ５ａ及びバックアップ仮想ドライブ５ｂを制御するためのものである。
【００６９】
この仮想ドライブ制御部１１０は、ユーザからのファイルアクセス要求を受信すると、このファイルアクセス要求に応じてストレージ６の物理ファイルを検索して送信する。また、ユーザからのファイル更新要求を受信すると、ファイルを更新するとともに、その更新履歴を操作履歴管理データベース２３０に登録する。また、ファイルアクセスエラーが発生したときには、バックアップしたファイルを使用して後述するリカバリ処理を実行する。
【００７０】
（バックアップ制御部１２０）
バックアップ制御部１２０は、前記マスタ仮想ドライブ５ａに保存されたファイルのバックアップを管理するためのものである。
【００７１】
このバックアップ制御部１２０は、バックアップ処理を定期的に実行することで、マスタ仮想ドライブ５ａに保存されたファイルのバックアップをバックアップ仮想ドライブ５ｂに作成する。
【００７２】
（システム初期化制御部１３０）
システム初期化制御部１３０は、システムの初期化を実行するためのものである。
【００７３】
このシステム初期化制御部１３０は、新たなファイル管理システムを構築するときには、システム管理者の設定に従ってシステムの初期化を実行する。また、このシステム初期化制御部１３０は、マスタ仮想ドライブ５ａに自律回復不能な障害が発生した場合（サーバ消失など）には、バックアップデータからシステムを復元することができるシステムリカバリ処理を実行する。
【００７４】
（ストレージリカバリ制御部１４０）
ストレージリカバリ制御部１４０は、障害の発生したストレージ６で管理されていたデータを復元するストレージリカバリ処理を実行するためのものである。ストレージリカバリ処理においては、障害の発生したストレージ６を切り離したときに、当該ストレージ６に保存されていたデータと同じデータ（バックアップデータ、又は、バックアップの元データ）を別の正常なストレージ６にコピーする。このストレージリカバリ処理を実行することにより、仮想ドライブ５を構成するストレージ６が切り離されたとしても、自動的にデータの冗長性が担保されるようになっている。
【００７５】
（ネットワーク制御部１５０）
ネットワーク制御部１５０は、仮想ドライブ５が管理するファイルの入出力を制御するためのものである。
【００７６】
このネットワーク制御部１５０は、通信ネットワーク３外部からのファイルアクセス要求を受信して仮想ドライブ制御部１１０に送信するとともに、仮想ドライブ制御部１１０からの命令に従って通信ネットワーク３外部へとファイル送信を実行する。
【００７７】
（メタデータベース２１０）
メタデータベース２１０は、前記仮想ドライブ５上の仮想ファイルと前記ストレージ６に保存された物理ファイルとを関連付けるための情報を含むデータベースである。
【００７８】
このメタデータベース２１０は、図１１に示すように、ファイルＩＤ、仮想パス（仮想ドライブ５上のパス）、物理パス（ストレージ６上のパス）、ファイル名、ファイルサイズ、更新日時、などの情報を、ファイルごとに保持している。
【００７９】
このメタデータベース２１０としては、図１１に示すように、マスタ仮想ドライブ５ａ用のメタデータベース２１０ａと、バックアップ仮想ドライブ５ｂ用のメタデータベース２１０ｂと、の２つが設けられている。
【００８０】
マスタ仮想ドライブ５ａ用のメタデータベース２１０ａは、マスタ仮想ドライブ５ａ内のファイルを管理するためのものであり、各ファイル情報の仮想パスとしてマスタ仮想ドライブ５ａ上のパスが登録されている。また、各ファイル情報の物理パスとしてマスタ用ストレージ群７上のパスが登録されている。
【００８１】
バックアップ仮想ドライブ５ｂ用のメタデータベース２１０ｂは、バックアップ仮想ドライブ５ｂ内のファイルを管理するためのものであり、各ファイル情報の仮想パスとしてバックアップ仮想ドライブ５ｂ上のパスが登録されている。また、各ファイル情報の物理パスとしてバックアップ用ストレージ群８上のパスが登録されている。
【００８２】
マスタ仮想ドライブ５ａ用のメタデータベース２１０ａとバックアップ仮想ドライブ５ｂ用のメタデータベース２１０ｂとは、ファイルＩＤによって紐づけられており、これにより、マスタデータとバックアップデータとが関連付けられている。例えば、マスタ仮想ドライブ５ａ用のメタデータベース２１０ａにおいて特定のファイルＩＤ（例えば「１」）を割り振られた特定のファイルがあるとすると、バックアップ仮想ドライブ５ｂ用のメタデータベース２１０ｂにおいて当該特定のファイルＩＤ（「１」）が割り振られたファイルは、当該特定のファイルのバックアップデータである。このため、特定のマスタファイルに対応するバックアップファイルを取得したい場合には、当該特定のマスタファイルのファイルＩＤを基にバックアップ仮想ドライブ５ｂ用のメタデータベース２１０ｂを検索すればよい。同様に、特定のバックアップファイルに対応するマスタファイルを取得したい場合には、当該特定のバックアップファイルのファイルＩＤを基にマスタ仮想ドライブ５ａ用のメタデータベース２１０ａを検索すればよい。
【００８３】
なお、メタデータベース２１０が保持するデータとしては、上記に限らず、作成日時、アクセス日時、ファイル属性、アクセス権情報、などのデータを含んでいてもよい。
【００８４】
（バックアップ状態管理データベース２２０）
バックアップ状態管理データベース２２０は、前記バックアップ制御部１２０によるバックアップの管理に使用される管理データベースである。
【００８５】
このバックアップ状態管理データベース２２０に未バックアップのファイルを登録しておくことで、その登録した情報をバックアップ制御部１２０が参照し、必要なバックアップが実行される。
【００８６】
（操作履歴管理データベース２３０）
操作履歴管理データベース２３０は、ユーザによるファイルの操作履歴を管理するためのものである。
【００８７】
前述したように、仮想ドライブ制御部１１０がファイルを更新するときに、その更新履歴がこの操作履歴管理データベース２３０に登録される。そして、仮想ドライブ制御部１１０は、定期的にこの操作履歴管理データベース２３０をチェックし、バックアップの必要のあるファイルをバックアップ状態管理データベース２２０に登録する。これにより、更新されたファイルのみがバックアップ対象として登録されるように形成されている。
【００８８】
（各処理の説明）
以下、本実施形態におけるファイル管理システムが実行する各処理について説明する。
【００８９】
（ファイルアクセス処理）
まず、本実施形態におけるファイルアクセス処理について説明する。この説明では、図１において、ユーザ端末２のいずれかが仮想ドライブ５上に保存されたファイルにアクセスする場合を例にする。
【００９０】
まず、ファイル管理サーバ４は、ユーザ端末２からのファイルアクセス要求を通信ネットワーク３を経由して受け取る。このとき、ファイルの指定は、仮想ドライブ５上のディレクトリパス（例えば「Ｖ：￥ＳｏｍｅＦｏｌｄｅｒ￥ｆｉｌｅ＿ａ」）を使用して行われる。
【００９１】
このファイルアクセス要求は、ネットワーク制御部１５０を介して、仮想ドライブ制御部１１０が受理する。
【００９２】
仮想ドライブ制御部１１０は、受理した仮想ドライブ５上のディレクトリパス（Ｖ：￥ＳｏｍｅＦｏｌｄｅｒ￥ｆｉｌｅ＿ａ）をキーとしてマスタ仮想ドライブ５ａのメタデータベース２１０ａを検索し、検索キーに合致するファイル情報を取得する。
【００９３】
仮想ドライブ制御部１１０は、取得したファイル情報に含まれる物理パス（ストレージ６上のパス）を基に、ストレージ６上に保存される物理ファイルを読み出し、ネットワーク制御部１５０及び通信ネットワーク３を経由してユーザ端末２にファイルを送信する。
【００９４】
（ファイル更新処理）
次に、本実施形態におけるファイル更新処理について、図３を参照しながら説明する。
【００９５】
本実施形態におけるファイル更新処理は、仮想ドライブ制御部１１０によって実行されるものであり、ユーザ端末２からのファイル更新要求を通信ネットワーク３を経由して受け取ったことを契機として実行される。
【００９６】
まず、図３に示すステップＳ１００において、ファイル管理サーバ４は、ネットワーク制御部１５０を経由して、ユーザ端末２から送信されたデータを受け取る。このデータには、更新されたファイルのバイナリデータ、及び、仮想ドライブ５上のディレクトリパス（例えば「Ｖ：￥ＳｏｍｅＦｏｌｄｅｒ￥ｆｉｌｅ＿ａ」）が含まれている。そして、ステップＳ１０１に進む。
【００９７】
次に、ステップＳ１０１において、仮想ドライブ制御部１１０は、受理した仮想ドライブ５上のディレクトリパス（Ｖ：￥ＳｏｍｅＦｏｌｄｅｒ￥ｆｉｌｅ＿ａ）をキーとしてマスタ仮想ドライブ５ａのメタデータベース２１０ａを検索し、検索キーに合致するファイル情報を取得する。仮想ドライブ制御部１１０は、取得したファイル情報に含まれる仮想パス（仮想ドライブ５上のパス）がユーザ端末２が送信してきたディレクトリパスと同じ値である場合、ユーザ端末２の要求がファイルの上書き更新であると判断し、ストレージ６上のパスに保存された物理ファイルをユーザ端末２が送信した新しいバイナリデータで上書き更新する。そして、ステップＳ１０２に進む。
【００９８】
ステップＳ１０２では、ファイル管理サーバ４は、更新を行ったファイルのファイルＩＤを操作履歴管理データベース２３０に登録する。そして、ステップＳ１０３に進む。
【００９９】
ステップＳ１０３では、ファイルの更新が完了したことをユーザに通知するため、ネットワーク制御部１５０を経由して、ファイル更新完了通知をユーザ端末２に送信する。そして、ファイル更新処理が完了する。
【０１００】
（バックアップ登録処理）
次に、本実施形態におけるバックアップ登録処理について、図４を参照しながら説明する。
【０１０１】
本実施形態におけるバックアップ登録処理は、仮想ドライブ制御部１１０によって実行されるものであり、バックアップ対象のファイルを登録する処理である。
【０１０２】
まず、図４に示すステップＳ２００において、仮想ドライブ制御部１１０は、マスタ仮想ドライブ５ａの管理下にあるすべてのファイルを未バックアップとしてバックアップ状態管理データベース２２０に登録する。すなわち、初期状態においては全くバックアップが存在しないため、フルバックアップを実行するためにすべてのファイルをバックアップ対象として登録する。そして、ステップＳ２０１に進む。
【０１０３】
ステップＳ２０１では、仮想ドライブ制御部１１０は、定期処理待機時間まで待機する。そして、ステップＳ２０２に進む。
【０１０４】
ステップＳ２０２では、定期処理待機時間が経過したことを契機として、定期実行のバックアップ登録が実行される。ここでは、仮想ドライブ制御部１１０は、操作履歴管理データベース２３０に登録されたファイルＩＤを取得し、バックアップ状態管理データベース２２０上の当該ファイルＩＤに対応するデータを「未バックアップ」として登録又は更新する。そして、ステップＳ２０１に戻り、再度定期処理待機時間が経過するまで（すなわち、次の定期実行までの間）待機する。
【０１０５】
（バックアップ処理）
次に、本実施形態におけるバックアップ処理について、図５を参照しながら説明する。
【０１０６】
本実施形態におけるバックアップ処理は、バックアップ制御部１２０によって実行されるものであり、予め設定された所定の定期処理実行時間帯において定期実行される処理である。
【０１０７】
なお、定期処理実行時間帯はシステム管理者などによって任意に設定でき、例えば特定曜日の特定時間（平日の夜間２４：００〜早朝５：００など）を指定してバックアップ処理を実行させることができる。定期処理実行時間帯として、すべての時間帯を指定することもでき、この場合には常にバックアップ処理が走っている状態となるので、リアルタイムでバックアップを実行することができる。
【０１０８】
まず、図５に示すステップＳ３００において、定期処理実行時間帯かどうかをチェックする。定期処理実行時間帯である場合にはステップＳ３０１に進む。一方、定期処理実行時間帯でない場合にはステップＳ３００に戻り、定期処理実行時間帯まで待機する。
【０１０９】
ステップＳ３０１では、バックアップ状態管理データベース２２０を参照し、未バックアップとして登録されたファイルが存在するかを確認する。未バックアップとして登録されたファイルが存在する場合にはステップＳ３０２に進む。一方、未バックアップとして登録されたファイルが存在しない場合にはステップＳ３００に戻る。
【０１１０】
ステップＳ３０２では、バックアップ制御部１２０は、ファイル管理サーバ４の負荷（例えば、ＣＰＵ使用率、メモリ使用量、ディスクＩ/Ｏ、ネットワークＩ/Ｏのいずれか、又はこれらの組み合わせ）を監視し、予め設定された各パラメータの許容値（例えば、ＣＰＵ使用率５０％、メモリ使用量１ＧＢ、ディスクＩ/Ｏ１０Ｍｂｐｓ、ネットワークＩ/Ｏ１０Ｍｂｐｓなど）を超過しているかをチェックする。許容値を超過している場合には、ステップＳ３００に戻る。一方、許容値を超過していない場合には、ステップＳ３０３に進む。
【０１１１】
ステップＳ３０３では、バックアップ制御部１２０は、バックアップ状態管理データベース２２０に未バックアップとして登録されたファイルの情報（ファイルＩＤなど）をキーにマスタ仮想ドライブ５ａのメタデータベース２１０ａを検索し、当該未バックアップとして登録されたファイルに対応する物理ファイルへアクセスするためのリンク情報（ＵＲＬなど）を取得する。そして、ステップＳ３０４に進む。
【０１１２】
ステップＳ３０４では、バックアップ制御部１２０は、ステップＳ３０３で取得したリンク情報を基に物理ファイルにアクセスし、当該物理ファイルのバックアップを作成する。バックアップの保存先は、バックアップ用ストレージ群８を構成するいずれかのストレージ６であり、どのストレージ６に保存するかはストレージ６の使用状況等を考慮して仮想ドライブ制御部１１０が決定する。そして、ステップＳ３０５に進む。
【０１１３】
ステップＳ３０５では、バックアップ制御部１２０は、バックアップが完了したことを仮想ドライブ制御部１１０に通知する。このとき、バックアップが完了したファイルのファイルＩＤが通知される。仮想ドライブ制御部１１０は、バックアップの完了通知を受け取ると、ファイルＩＤをキーとしてバックアップ状態管理データベース２２０上のバックアップが完了したファイルに係るデータを取得し、当該データのステータスを「未バックアップ」から「バックアップ完了」へと更新する。また、仮想ドライブ制御部１１０は、バックアップ元のファイルとバックアップ先のファイルとを関連付けるために、バックアップ仮想ドライブ５ｂのメタデータベース２１０ｂを更新する。
【０１１４】
このとき、通知されたファイルＩＤのデータがバックアップ仮想ドライブ５ｂのメタデータベース２１０ｂに存在しない場合（初回のバックアップの場合）には、新たに当該ファイルＩＤでデータを作成し、バックアップ仮想ドライブ５ｂのメタデータベース２１０ｂに登録する。一方、通知されたファイルＩＤのデータがバックアップ仮想ドライブ５ｂのメタデータベース２１０ｂに既に存在する場合（上書きでのバックアップの場合）には、当該データの物理パスを必要に応じて書き換える。なお、物理パスが変更されていない場合には物理パスを書き換える必要はない。
【０１１５】
そして、ステップＳ３００に戻り、定期処理実行時間帯が終了するまでこの動作を繰り返す。これにより、定期処理実行時間帯であれば、未バックアップのファイルが存在する限りバックアップ処理が続行される。
【０１１６】
以上説明したように、本実施形態におけるバックアップ処理によれば、バックアップ状態管理データベース２２０とメタデータベース２１０とを参照してファイルをバックアップするので、仮想ファイルシステムのメタデータベース２１０をバックアップ処理側からも利用する形態とすることができ、効率的にバックアップを行うことができる。
【０１１７】
また、バックアップ状態管理データベース２２０でリアルタイムに差分管理を行っているため、バックアップ状態管理データベース２２０を参照するだけで更新ファイルを検出できる。すなわち、バックアップを行う際に取得済みの過去のバックアップデータと比較する差分検知処理を実行する必要がないので、処理工程を短略することができる。従来のバックアップソフトを使用した場合、前述した差分検知処理で全データの読み取りが発生してしまうため、システム負荷が低い業務時間帯を避けて夜間などに「時刻指定実行」する必要があったが、本実施形態によれば全データの読み取りを実行せずに低負荷で差分を検知することができるため、業務時間帯にバックアップ処理を行うなどの柔軟性の高い運用が可能である。
【０１１８】
また、ファイル管理サーバ４の負荷が予め設定された許容値を超過している場合にはファイルのバックアップが待機されるため、バックアップの実行による仮想ドライブ５への影響（エラーや速度低下など）を最小化することができる。
【０１１９】
（リカバリ処理）
次に、本実施形態におけるリカバリ処理について説明する。本実施形態におけるリカバリ処理は、仮想ドライブ制御部１１０によって実行されるものであり、ファイルアクセスエラーが発生したときに、メタデータベース２１０を参照してエラー対象ファイルに対応するバックアップファイルを取得してファイルの復元を行うものである。
【０１２０】
このリカバリ処理について、図６及び図７を参照しながら説明する。
【０１２１】
まず、図６に示すステップＳ４００において、ファイル管理サーバ４は、ネットワーク制御部１５０を経由して、ユーザ端末２からのファイルアクセス要求を受け取る。そして、ステップＳ４０１に進む。
【０１２２】
ステップＳ４０１において、仮想ドライブ制御部１１０は、ファイルアクセス要求に含まれる仮想ドライブ５上のディレクトリパスをキーとしてマスタ仮想ドライブ５ａのメタデータベース２１０ａを検索し、検索キーに合致するファイル情報を取得する。仮想ドライブ制御部１１０は、取得したファイル情報に含まれる物理パス（ストレージ６上のパス）を基に、ストレージ６上に保存される物理ファイルにアクセスする。このとき、ファイルアクセスエラーが発生した場合にはステップＳ４０２に進み、リカバリ処理を実行する。一方、ファイルアクセスエラーが発生しなかった場合には、仮想ドライブ制御部１１０は、アクセスした物理ファイルをユーザ端末２に送信して処理を終了する。
【０１２３】
ステップＳ４０２では、仮想ドライブ制御部１１０は、バックアップ状態管理データベース２２０を参照し、エラー対象ファイルがバックアップ済みであるかをチェックする。バックアップ済みである場合はステップＳ４０４に進む。一方、最新バージョンがバックアップされていない場合は、ステップＳ４０３に進み、ユーザ端末２にエラーを送信して処理を終了する。
【０１２４】
ステップＳ４０４では、仮想ドライブ制御部１１０は、メタデータベース２１０を参照し、バックアップ済みの物理ファイルデータ（バックアップファイル）を取得する。具体的には、ファイルアクセスエラーの基となったファイルのファイルＩＤをキーにバックアップ仮想ドライブ５ｂのメタデータベース２１０ｂを検索し、バックアップファイルの物理パスを取得する。そして、ステップＳ４０５に進む。
【０１２５】
ステップＳ４０５では、復元されるファイルの容量が閾値以上であるかがチェックされる。ファイルの容量が閾値以上でない場合には、ステップＳ４０６へ進み、同期実行でリカバリ処理が実行される。一方、ファイルの容量が閾値以上の場合には、ステップＳ４０８に進み、非同期実行でリカバリ処理が実行される。
【０１２６】
同期実行でリカバリ処理を実行する場合、ステップＳ４０６では、ステップＳ４０４で取得したバックアップファイルの物理パスを基にバックアップファイルをコピーして復元ファイルを作成する。復元先は、マスタ用ストレージ群７を構成するいずれかのストレージ６であり、どのストレージ６に保存するかはストレージ６の使用状況等を考慮して仮想ドライブ制御部１１０が決定する。復元を行ったら、マスタ仮想ドライブ５ａのメタデータベース２１０ａのリンク情報を書き換えて、ファイルアクセスエラーの基となった仮想ドライブ５上のディレクトリパス（ステップＳ４００でユーザ端末２から送信されたファイルアクセス要求に含まれていた仮想ドライブ５上のディレクトリパス）と、復元した物理ファイルとをリンクさせる。すなわち、エラー対象ファイルに係るファイル情報の物理パスを、復元ファイルの物理パスに更新する。そして、ステップＳ４０７に進む。
【０１２７】
ステップＳ４０７では、仮想ドライブ制御部１１０は、復元した物理ファイルをユーザ端末２に送信して処理を終了する。
【０１２８】
一方、非同期実行でリカバリ処理を実行する場合、ステップＳ４０８では、ステップＳ４０４で取得した物理ファイルデータをユーザ端末２に送信する。なお、物理ファイルは参照専用として送信されるため、ユーザ端末２からの要求が書き込み処理の場合にはエラーを返信する。そして、ステップＳ４０９に進む。
【０１２９】
ステップＳ４０９では、非同期リカバリ処理の処理対象となるように、ファイルアクセスエラーに係るファイル情報をリカバリーキューに登録する。そして、処理を終了する。
【０１３０】
図７は、非同期リカバリ処理を示す図である。この非同期リカバリ処理は、復元対象のファイルが大きい場合に、遅延して復元を行うことでユーザ応答性を良好に保つために設けられている。
【０１３１】
非同期リカバリ処理においては、まず、図７に示すステップＳ５００において、予め設定された定期処理実行時間帯かどうかをチェックする。定期処理実行時間帯である場合にはステップＳ５０１に進む。一方、定期処理実行時間帯でない場合にはステップＳ５００に戻り、定期処理実行時間帯まで待機する。なお、非同期リカバリ処理の定期処理実行時間帯は、バックアップ処理の定期処理実行時間帯と同様に、システム管理者などによって任意に設定できる時間帯である。そして、ステップＳ５０１に進む。
【０１３２】
ステップＳ５０１では、仮想ドライブ制御部１１０は、リカバリーキューを参照する。そして、ステップＳ５０２に進む。
【０１３３】
ステップＳ５０２では、リカバリーキューに登録されたデータがあるかをチェックする。リカバリーキューに登録されたデータがある場合には、ステップＳ５０２へ進む。一方、リカバリーキューに登録されたデータがない場合には、ステップＳ５００に戻る。
【０１３４】
ステップＳ５０３では、仮想ドライブ制御部１１０は、メタデータベース２１０を参照し、リカバリーキューに登録されたデータを基にバックアップ済みの物理ファイルデータ（バックアップファイル）の物理パスを取得する。具体的には、リカバリーキューに登録されたファイルＩＤをキーにバックアップ仮想ドライブ５ｂのメタデータベース２１０ｂを検索し、バックアップファイルの物理パスを取得する。そして、取得した物理パスを基にバックアップファイルをコピーして復元ファイルを作成する。復元先は、マスタ用ストレージ群７を構成するいずれかのストレージ６であり、どのストレージ６に保存するかはストレージ６の使用状況等を考慮して仮想ドライブ制御部１１０が決定する。復元を行ったら、マスタ仮想ドライブ５ａのメタデータベース２１０ａのリンク情報を書き換えて、ファイルアクセスエラーの基となった仮想ドライブ５上のディレクトリパス（ステップＳ４００でユーザ端末２から送信されたファイルアクセス要求に含まれていた仮想ドライブ５上のディレクトリパス）と、復元した物理ファイルとをリンクさせる。すなわち、エラー対象ファイルに係るファイル情報の物理パスを、復元ファイルの物理パスに更新する。この復元ファイルの作成とリンクの更新をリカバリーキューに登録されたデータ全てについて実行したら、ステップＳ５００に戻る。
【０１３５】
以上説明したように、本実施形態におけるリカバリ処理によれば、マスタ仮想ドライブ５ａが物理ストレージ６にアクセスした時のエラーをトリガとして、システムが自動的にファイルの復元を行うため、システム管理者による復元操作がなくてもファイルの復元を行うことができる。
【０１３６】
また、ファイルの復元においては、バックアップファイルをコピーして復元ファイルを作成し、その後、メタデータベース２１０を書き換えてエラー対象ファイルへのリンクを復元ファイルへのリンクに更新するため、ファイルアクセスエラーの発生したファイルのみをリカバリ処理の対象とすることができる。これにより、短時間でリカバリ処理を完了でき、エラーファイルへアクセスを試みたユーザのリカバリ待機時間を短縮することができる。また、リカバリ処理の実行中も他のファイルは影響を受けないため、エラーファイルへアクセスを試みたユーザ以外のエンドユーザに影響を与えないようにすることができる。
【０１３７】
なお、上記実施形態においてはエラー対象ファイルのみを復元の対象としたが、エラー対象ファイル以外のファイルも復元の対象としてもよい。例えば、エラー対象ファイルを保存したストレージ６に障害が発生した可能性があるため、エラー対象ファイルを保存したストレージ６全体を復元の対象としてもよい。
【０１３８】
（マスタ用ストレージリカバリ処理）
次に、本実施形態におけるマスタ用ストレージリカバリ処理について、図８を参照しながら説明する。
【０１３９】
本実施形態におけるマスタ用ストレージリカバリ処理は、ストレージリカバリ制御部１４０によって実行されるものであり、マスタ用ストレージ群７を構成するストレージ６に障害が発生したときに、当該障害の発生したストレージ６で管理されていたデータを、バックアップのデータから復元する処理である。
【０１４０】
まず、図８に示すステップＳ６００において、ストレージリカバリ制御部１４０は、ストレージ６に対する強制取外し処理要求を受信する。この強制取外し処理要求は、システム管理者によりストレージ６の取り外し操作が実行されたことを契機として出力される。そして、ステップＳ６０１に進む。
【０１４１】
ステップＳ６０１では、取り外し対象のストレージ６に含まれるデータのステータスが「強制取外し実施中」となるようにマスタ仮想ドライブ５ａのメタデータベース２１０ａを更新する。なお、「強制取外し実施中」のストレージ６に含まれるデータにユーザからのアクセス要求があった場合には、バックアップデータを参照専用で送信するか、ファイルアクセスエラーを送信する。そして、ステップＳ６０２に進む。
【０１４２】
ステップＳ６０２では、取り外し対象のストレージ６内で管理されているファイルのファイル情報をマスタ仮想ドライブ５ａのメタデータベース２１０ａから抽出する。抽出されたファイル情報には、ファイルＩＤが含まれるので、このファイルＩＤを基にバックアップデータへのアクセス情報を取得する。具体的には、ファイルＩＤをキーにバックアップ仮想ドライブ５ｂのメタデータベース２１０ｂを検索し、バックアップファイルの物理パスを取得する。そして、ステップＳ６０３に進む。
【０１４３】
ステップＳ６０３では、バックアップファイルの物理パスを基に取得したバックアップデータを、取り外し対象のストレージ６と同じ仮想ドライブ５（すなわちマスタ仮想ドライブ５ａ）を構成する他のストレージ６（すなわちマスタ用ストレージ群７に含まれるストレージ６）にコピーする。
【０１４４】
そして、当該他のストレージ６にコピーされたデータへとアクセスできるようにマスタ仮想ドライブ５ａのメタデータベース２１０ａのリンク情報を書き換える。具体的には、コピーしたファイルに係るファイル情報に含まれる物理パスを、コピーしたデータを指し示すように書き換える。
【０１４５】
マスタ仮想ドライブ５ａのメタデータベース２１０ａを書き換えたら、当該データの「強制取外し実施中」のステータスをＯＦＦにする。そして、マスタ用ストレージリカバリ処理が終了する。
【０１４６】
以上説明したように、本実施形態におけるマスタ用ストレージリカバリ処理によれば、障害が発生したストレージ６に含まれるデータのコピーデータを取得し、当該コピーデータをマスタ仮想ドライブ５ａを構成する他のストレージ６にコピーするとともに、メタデータベース２１０のリンク情報を書き換える。このため、マスタ用ストレージ群７の特定のストレージ６に障害が発生した場合に、マスタ仮想ドライブ５ａ全体を復元しなくても、障害が発生したストレージ６に保存されていたファイルのみをバックアップから復元することで、復元対処ファイルを限定し、効率的（短時間）にリカバリすることができる。これにより、障害が発生したストレージ６へアクセスを試みたユーザのリカバリ待機時間が短縮される。また、リカバリ処理の実行中も他のファイルは影響を受けないため、障害が発生したストレージ６へアクセスを試みたユーザ以外のエンドユーザに影響を与えないようにすることができる。
【０１４７】
また、障害が発生したストレージ６をサーバから切り離した場合でも、自動的にバックアップデータからマスタ仮想ドライブ５ａの空き領域に自動的に対象ファイルを復元するため、障害が発生したストレージ６からデータをサルベージする必要がなく、即時に切り離すことができる。
【０１４８】
（バックアップ用ストレージリカバリ処理）
次に、本実施形態におけるバックアップ用ストレージリカバリ処理について、図９を参照しながら説明する。
【０１４９】
本実施形態におけるバックアップ用ストレージリカバリ処理は、ストレージリカバリ制御部１４０によって実行されるものであり、バックアップ用ストレージ群８を構成するストレージ６に障害が発生したときに、当該障害の発生したストレージ６で管理されていたデータを、マスタのデータから復元する処理である。
【０１５０】
まず、図９に示すステップＳ７００において、ストレージリカバリ制御部１４０は、ストレージ６に対する強制取外し処理要求を受信する。この強制取外し処理要求は、ユーザによりストレージ６の取り外し操作が実行されたことを契機として出力される。そして、ステップＳ７０１に進む。
【０１５１】
ステップＳ７０１では、取り外し対象のストレージ６に含まれるデータのステータスが「強制取外し実施中」となるようにバックアップ仮想ドライブ５ｂのメタデータベース２１０ｂを更新する。なお、「強制取外し実施中」のストレージ６に含まれるデータにアクセスする必要性が生じた場合には、バックアップデータを参照専用で返却するか、ファイルアクセスエラーを返却する。そして、ステップＳ７０２に進む。
【０１５２】
ステップＳ７０２では、取り外し対象のストレージ６内で管理されているファイルのファイル情報をバックアップ仮想ドライブ５ｂのメタデータベース２１０ｂから抽出する。なお、抽出されたファイル情報には、ファイルＩＤが含まれるので、このファイルＩＤを基にマスタデータへのアクセス情報を取得する。具体的には、ファイルＩＤをキーにマスタ仮想ドライブ５ａのメタデータベース２１０ａを検索し、マスタファイルの物理パスを取得する。そして、ステップＳ７０３に進む。
【０１５３】
ステップＳ７０３では、マスタファイルの物理パスを基に取得したマスタデータを、取り外し対象のストレージ６と同じ仮想ドライブ５（すなわちバックアップ仮想ドライブ５ｂ）を構成する他のストレージ６（すなわちバックアップ用ストレージ群８に含まれるストレージ６）にコピーする。
【０１５４】
そして、当該他のストレージ６にコピーされたデータへとアクセスできるようにバックアップ仮想ドライブ５ｂのメタデータベース２１０ｂのリンク情報を書き換える。具体的には、コピーしたファイルに係るファイル情報に含まれる物理パスを、コピーしたデータを指し示すように書き換える。
【０１５５】
バックアップ仮想ドライブ５ｂのメタデータベース２１０ｂを書き換えたら、当該データの「強制取外し実施中」のステータスをＯＦＦにする。そして、バックアップ用ストレージリカバリ処理が終了する。
【０１５６】
以上説明したように、本実施形態におけるバックアップ用ストレージリカバリ処理によれば、障害が発生したストレージ６に含まれるデータのコピーデータを取得し、当該コピーデータをバックアップ仮想ドライブ５ｂを構成する他のストレージ６にコピーするとともに、メタデータベース２１０のリンク情報を書き換える。このため、バックアップ用ストレージ群８の特定ストレージ６に障害が発生した場合に、バックアップ仮想ドライブ５ｂ全体を復元しなくても、障害が発生したストレージ６に保存されていたファイルのみをマスタからコピーすることで、復元対処ファイルを限定し、効率的（短時間）にリカバリすることができる。これにより、障害が発生したストレージ６へアクセスを試みたユーザのリカバリ待機時間が短縮される。また、リカバリ処理の実行中も他のファイルは影響を受けないため、障害が発生したストレージ６へアクセスを試みたユーザ以外のエンドユーザに影響を与えないようにすることができる。
【０１５７】
また、障害が発生したストレージ６をサーバから切り離した場合でも、自動的にバックアップデータからバックアップ仮想ドライブ５ｂの空き領域に自動的に対象ファイルを復元するため、障害が発生したストレージ６からデータをサルベージする必要がなく、即時に切り離すことができる。
【０１５８】
（システムリカバリ処理）
次に、本実施形態におけるシステムリカバリ処理について、図１０を参照しながら説明する。
【０１５９】
本実施形態におけるシステムリカバリ処理は、システム初期化制御部１３０によって実行されるものであり、マスタ仮想ドライブ５ａのメタデータベース２１０ａが消失する障害（例えば、復旧不可能なシステムクラッシュやデータベースストレージ障害）が発生した場合に、バックアップ仮想ドライブ５ｂ（実際にはバックアップ用ストレージ群８）のデータを使用してシステムを復元する処理である。
【０１６０】
まず、図１０に示すステップＳ８００において、システム初期化制御部１３０は、システムリカバリ要求を受信する。このシステムリカバリ要求は、ユーザがシステムリカバリを選択したことを契機として出力される。そして、ステップＳ８０１に進む。
【０１６１】
ステップＳ８０１では、マスタ管理機能を初期化する。具体的には、インストーラなどを使用してファイル管理システムを再インストールする。そして、ステップＳ８０２に進む。
【０１６２】
ステップＳ８０２では、バックアップ仮想ドライブ５ｂ（バックアップ用ストレージ群８）に含まれるバックアップデータをマスタ側に登録する。具体的には、バックアップ仮想ドライブ５ｂのメタデータベース２１０ｂを基に、マスタ仮想ドライブ５ａのメタデータベース２１０ａを再構築する。すなわち、バックアップ仮想ドライブ５ｂのメタデータベース２１０ｂに登録された各レコード（ファイル情報）に対応するレコードを、同じファイルＩＤとなるようにマスタ仮想ドライブ５ａのメタデータベース２１０ａに登録する。そして、ステップＳ８０３に進む。
【０１６３】
ステップＳ８０３では、バックアップ用ストレージ群８にバックアップされていた全データをバックアップ仮想ドライブ５ｂのメタデータベース２１０ｂから抽出し、リカバリーキューに登録する。登録されたデータは、非同期実行で順にマスタ用ストレージ群７に復元コピーされる。このとき、各ファイルを復元コピーするごとに、当該ファイルのファイル情報に含まれる物理パスがコピー先の物理パスとなるようにマスタ仮想ドライブ５ａのメタデータベース２１０ａを書き換える。そして、システムリカバリ処理が終了する。
【０１６４】
以上説明したように、本実施形態におけるシステムリカバリ処理によれば、バックアップ仮想ドライブ５ｂのメタデータベース２１０ｂを基にバックアップ済みファイルを取得し、バックアップ済みファイルを復元コピーする。すなわち、マスタ仮想ドライブ５ａのメタデータベース２１０ａをバックアップから復元できるため、マスタ仮想ドライブ５ａに自律回復不能な障害が発生した場合（サーバ消失など）でも、バックアップデータからマスタ仮想ドライブ５ａの状態を復元することができる。
【０１６５】
（変形例）
上記した実施形態においては、バックアップ処理を定期実行で行うこととしたが、バックアップ処理の起動タイミングとしてはこれに限らない。例えば、ファイル更新が発生すると仮想ドライブ制御部１１０がバックアップ制御部１２０にバックアップ処理の起動を要請し、バックアップ制御部１２０は、ファイルが更新されたことをトリガとしてバックアップ処理を実行するようにしてもよい。このように構成すれば、リアルタイムでバックアップ処理を実行することができる。
【符号の説明】
【０１６６】
１  サーバコンピュータ
２  ユーザ端末
３  通信ネットワーク
４  ファイル管理サーバ
５  仮想ドライブ
５ａ  マスタ仮想ドライブ
５ｂ  バックアップ仮想ドライブ
６  ストレージ
７  マスタ用ストレージ群
８  バックアップ用ストレージ群
１１０  仮想ドライブ制御部
１２０  バックアップ制御部
１３０  システム初期化制御部
１４０  ストレージリカバリ制御部
１５０  ネットワーク制御部
２１０  メタデータベース
２２０  バックアップ状態管理データベース
２３０  操作履歴管理データベース
【図１】
2013035517.tif 000003
【図２】
2013035517.tif 000004
【図３】
2013035517.tif 000005
【図４】
2013035517.tif 000006
【図５】
2013035517.tif 000007
【図６】
2013035517.tif 000008
【図７】
2013035517.tif 000009
【図８】
2013035517.tif 000010
【図９】
2013035517.tif 000011
【図１０】
2013035517.tif 000012
【図１１】
2013035517.tif 000013
【国際調査報告】
2013035517.tif 000014
2013035517.tif 000015
2013035517.tif 000016
2013035517.tif 000017