(57)【要約】      （修正有）【課題】複数のファイルシステムをクライアントに対してみかけ上１つのファイルシステムとしてのアクセスサービスを提供する装置に、スナップショット、バックアップ／リカバリ管理を可能とし、保守性、管理性、信頼性、安全性を向上する。【解決手段】複数のファイルサーバ３との間に論理的に配置され、端末からみて仮想的に、複数のファイルシステムを１つのファイルシステムとしてアクセス自在とするファイルアクセスサービスを提供するスイッチ１００を備え、スイッチ１００は、複数のファイルサーバに対してスナップショット実行開始の指示を分配し、複数のファイルサーバでは、スナップショット実行開始の指示を受けて、それぞれスナップショットを作成し、スイッチは、複数の前記ファイルサーバでそれぞれ作成された複数のスナップショットが、スナップショット作成時における仮想ファイルシステムのファイルシステム構造に対応するように設定する。【選択図】            図１
2006099406.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがファイルシステムを備えた複数のファイル装置を備え、
複数の前記ファイル装置に対して、ある時点でのファイルシステムの固定化されたイメージであるスナップショットの作成の実行開始を指示する手段を備え、
複数の前記ファイル装置では、スナップショット作成の実行開始の指示を受けてそれぞれスナップショットを作成し、
複数の前記ファイル装置でそれぞれ作成された複数の前記スナップショットが、スナップショット作成時における、複数の前記ファイルシステムを統合化したファイルシステム構造に対応するように、複数の前記スナップショットにリンクを張って仮想化されたスナップショットを生成する手段を備え、前記仮想化されたスナップショットを用いたバックアップ又はリストアを可能としてなる、ことを特徴とするバックアップ管理システム。
【請求項２】
少なくとも１つの端末と、
それぞれがファイルシステムを備えた複数のファイル装置と、
前記端末と、前記複数のファイル装置との間に論理的に配置され、前記端末からみて仮想的に、複数のファイルシステムを、１つのファイルシステム（「擬似ファイルシステム」という）としてアクセス自在とするファイルアクセスサービスを提供する中間装置と、
を備え、
前記中間装置は、複数の前記ファイル装置のそれぞれに対して、ある時点でのファイルシステムの固定化されたイメージであるスナップショットの作成の実行開始を指示する手段を備え、
複数の前記ファイル装置では、前記中間装置からスナップショット作成の実行開始の指示を受けてそれぞれスナップショットを作成し、
前記中間装置は、複数の前記ファイル装置でそれぞれ作成された複数の前記スナップショットが、スナップショット作成時における、前記擬似ファイルシステムに対応するように、複数の前記スナップショットの間にリンクを張る手段をさらに備えている、ことを特徴とするファイルアクセスサービスシステム。
【請求項３】
前記中間装置は、前記擬似ファイルシステムに対応するスナップショット情報として、複数の前記スナップショット同士を繋ぐ接続部のリンク情報を保持する、ことを特徴とする請求項２記載のファイルアクセスサービスシステム。
【請求項４】
前記中間装置は、スナップショットの実行開始に際して、それぞれの前記ファイルシステムへのアクセスを停止するように制御する手段を備えている、ことを特徴とする請求項２記載のファイルアクセスサービスシステム。
【請求項５】
前記中間装置は、前記ファイル装置と前記端末とのファイルアクセスに関する同期を確認したのち、複数の前記ファイル装置でスナップショットが実行されるように制御する手段を備えている、ことを特徴とする請求項４記載のファイルアクセスサービスシステム。
【請求項６】
前記中間装置は、スナップショット作成後、それぞれの前記ファイルシステムへのアクセスを再開するように制御する手段を備えている、ことを特徴とする請求項４記載のファイルアクセスサービスシステム。
【請求項７】
前記中間装置は、前記ファイルシステムのスナップショット世代に対して、同一世代名を付与する、ことを特徴とする請求項２記載のファイルアクセスサービスシステム。
【請求項８】
前記ファイル装置で作成されたスナップショットを、前記端末側で読み出し、前記スナップショットに対応したバックアップイメージを、バックアップ用記録装置にバックアップする、ことを特徴とする請求項２記載のファイルアクセスサービスシステム。
【請求項９】
バックアップ制御装置を備え、
前記バックアップ制御装置は、バックアップ時、前記中間装置を介して前記複数のファイル装置の複数のファイルシステムを受け取り、前記複数のファイルシステムを仮想化した１つのファイルシステム構造として、バックアップ記録装置にバックアップする、ことを特徴とする請求項２記載のファイルアクセスサービスシステム。
【請求項１０】
前記バックアップ制御装置は、リストア時、前記中間装置を介さずに、前記バックアップ記録装置から、直接、目的のファイル装置に、前記複数のファイルシステムを仮想化した１つのファイルシステムをリストアする、ことを特徴とする請求項９記載のファイルアクセスサービスシステム。
【請求項１１】
複数の前記ファイル装置と通信接続するバックアップ制御装置を備え、
前記バックアップ制御装置が、前記中間装置と通信するインタフェースを備え、
前記バックアップ制御装置は、バックアップ時、前記中間装置を介して、前記複数のファイル装置の複数のファイルシステムを受け取り、前記複数のファイルシステムを仮想化した１つのファイルシステム構造として、バックアップ記録装置にバックアップする、ことを特徴とする請求項２記載のファイルアクセスサービスシステム。
【請求項１２】
前記バックアップ制御装置は、リストア時、前記バックアップ記録装置のバックアップデータを、前記中間装置に供給し、
前記中間装置は、前記バックアップ制御装置から受け取ったバックアップデータを、複数の前記ファイルシステムを１つのファイルシステムとしてみせるための擬似ファイルシステム情報に対応させて、複数の前記ファイル装置に振分けてリストアする、ことを特徴とする請求項１１記載のファイルアクセスサービスシステム。
【請求項１３】
複数の前記ファイル装置と通信接続するバックアップ制御装置を備え、
前記バックアップ制御装置が、前記中間装置と通信するインタフェースを備え、
前記バックアップ制御装置は、バックアップ時、前記中間装置を介して、前記複数のファイル装置の複数のスナップショットを受け取り、前記複数のスナップショットにはリンクが張られており、リンクが張られた前記複数のスナップショットをバックアップ記録装置にバックアップする、ことを特徴とする請求項２記載のファイルアクセスサービスシステム。
【請求項１４】
前記バックアップ制御装置は、リストア時、前記バックアップ記録装置のバックアップデータを前記中間装置に供給し、
前記中間装置は、前記複数のスナップショットを、複数の前記ファイル装置に振分けて転送し、
前記複数のファイル装置では、それぞれに転送された前記スナップショットを用いてファイルシステムをリストアする、ことを特徴とする請求項１３記載のファイルアクセスサービスシステム。
【請求項１５】
複数の前記ファイル装置と通信接続するバックアップ制御装置を備え、
前記バックアップ制御装置が、前記中間装置と通信するインタフェースを備え、
前記バックアップ制御装置は、バックアップ時、前記中間装置より、複数の前記ファイルシステムを１つのファイルシステムとしてみせるための、擬似ファイルシステム情報を受け、前記擬似ファイルシステム情報と実際のファイルシステムを対応させ、バックアップデータと組でバックアップ記録装置にバックアップする、ことを特徴とする請求項２記載のファイルアクセスサービスシステム。
【請求項１６】
リストア時に、前記バックアップ記録装置から複数のファイル装置にバックアップデータが転送され、前記バックアップ制御装置から前記擬似ファイルシステム情報が前記中間装置に転送される、ことを特徴とする請求項１５記載のファイルアクセスサービスシステム。
【請求項１７】
前記中間装置が、クライアントをなす前記端末と、それぞれが前記ファイル装置を構成するサーバ装置との間に論理的に配置されるスイッチ装置よりなり、
前記スイッチ装置は、前記クライアントからのファイルアクセス要求を受信し、前記ファイルアクセス要求を適切なサーバ装置に振り分けて転送し、前記サーバ装置から送信された前述のファイルアクセス要求に対する応答を受信し、ファイルアクセス要求を送信した端末へとその応答を転送する、ことを特徴とする請求項２乃至１６のいずれか一に記載のファイルアクセスサービスシステム。
【請求項１８】
前記スイッチ装置は、前記クライアントから送信されたオブジェクトに関する要求を、前記オブジェクトを管理する前記サーバ装置に転送し、
前記要求に対する前記サーバ装置からの応答を前記要求の送信元であるクライアントに転送し、
転送する応答に前記オブジェクトを識別するために、前記サーバ装置で生成された元オブジェクトＩＤが含まれている場合には、前記元オブジェクトＩＤに対応するオブジェクトを管理するサーバ装置を他のサーバ装置から識別するためのサーバ識別情報を挿入し、前記元オブジェクトＩＤを情報付帯オブジェクトＩＤに書き換え、転送する要求に、前記情報付帯オブジェクトＩＤが含まれている場合には、前記情報付帯オブジェクトＩＤを前記元オブジェクトＩＤに復元する手段を備えている、ことを特徴とする請求項１７記載のファイルアクセスサービスシステム。
【請求項１９】
前記スイッチ装置は、前記複数のファイルシステムのディレクトリツリーを組み合わせた１つの統合ディレクトリツリーにおけるディレクトリツリーのつなぎ目の情報を、前記擬似ファイルシステム情報として、記憶管理する、ことを特徴とする請求項１７記載のファイルアクセスサービスシステム。
【請求項２０】
前記サーバ装置が、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）デバイスであり、
前記スイッチ装置が、所定のレイヤ情報を利用して前記サーバの装置振分を行う、ことを特徴とする請求項１７記載のファイルアクセスサービスシステム。
【請求項２１】
少なくとも１つの端末と、
それぞれがファイルシステムを備えた複数のファイル装置と、
前記端末と、前記複数のファイル装置との間に論理的に配置され、前記端末からみて仮想的に、複数のファイルシステムを１つのファイルシステム（「擬似ファイルシステム」という）としてアクセス自在とするファイルアクセスサービスを提供する中間装置と、
を備えたファイルアクセスサービスシステムのバックアップ方法であって、
前記中間装置が、複数の前記ファイル装置に対して、ある時点でのファイルシステムの固定化されたイメージであるスナップショットの作成の実行開始の指示をそれぞれ分配する工程と、
複数の前記ファイル装置では、前記中間装置から前記スナップショット実行開始の指示を受けて、それぞれスナップショットを作成する工程と、
前記中間装置は、複数の前記ファイル装置でそれぞれ作成された複数の前記スナップショットが、スナップショット作成時における前記擬似ファイルシステムに対応するように、作成された複数の前記スナップショットにリンクを張る工程と、
を含む、ことを特徴とするバックアップ方法。
【請求項２２】
前記中間装置は、前記擬似ファイルシステムに対応するスナップショット情報として、複数の前記スナップショット同士を繋ぐ接続部のリンク情報を保持する、ことを特徴とする請求項２１記載のバックアップ方法。
【請求項２３】
前記中間装置は、スナップショットの実行開始に際して、それぞれの前記ファイルシステムへのアクセスを停止するように制御する工程を含む、ことを特徴とする請求項２１記載のバックアップ方法。
【請求項２４】
前記中間装置は、前記ファイル装置と前記端末とのファイルアクセスに関する同期を確認したのち、複数の前記ファイル装置でスナップショットが実行されるように制御する工程を含む、ことを特徴とする請求項２３記載のバックアップ方法。
【請求項２５】
前記中間装置は、スナップショット作成後、それぞれの前記ファイルシステムへのアクセスを再開するように制御する工程を含む、ことを特徴とする請求項２１記載のバックアップ方法。
【請求項２６】
前記中間装置は、前記ファイルシステムのスナップショット世代に対して、同一世代名を付与する工程を含む、ことを特徴とする請求項２１記載のバックアップ方法。
【請求項２７】
前記ファイル装置で作成されたスナップショットを、前記端末側で読み出し、前記スナップショットに対応したバックアップイメージをバックアップ用記録装置にバックアップする工程を含む、ことを特徴とする請求項２１記載のバックアップ方法。
【請求項２８】
バックアップ制御装置を設け、
バックアップ時に、前記バックアップ制御装置が、前記中間装置を介して、前記複数のファイル装置の複数のファイルシステムを受け取り、前記複数のファイルシステムを仮想化した１つのファイルシステム構造としてバックアップ記録装置にバックアップする、ことを特徴とする請求項２１記載のバックアップ方法。
【請求項２９】
請求項２８記載の方法でバックアップされたデータをリストアするときに、前記バックアップ制御装置は、前記中間装置を介さずに、前記バックアップ記録装置から、直接、目的のファイル装置に、仮想化された１つのファイルシステムをリストアする、ことを特徴とするリストア方法。
【請求項３０】
複数の前記ファイル装置及び前記中間装置と通信接続するバックアップ制御装置を設け、
前記バックアップ制御装置は、バックアップ時、前記中間装置を介して、前記複数のファイル装置の複数のファイルシステムを受け取り、前記複数のファイルシステムを仮想化した１つのファイルシステム構造として、バックアップ記録装置にバックアップする、ことを特徴とする請求項２１記載のバックアップ方法。
【請求項３１】
請求項３０記載の方法でバックアップされたデータをリストアするときに、前記バックアップ制御装置は、リストア時、前記バックアップ記録装置のバックアップデータを前記中間装置に供給する工程と、
前記中間装置は、複数の前記ファイルシステムを１つのファイルシステムとしてみせるための、擬似ファイルシステム情報に基づき、バックアップデータを複数の前記ファイル装置に振分てリストアする工程と、
を含む、ことを特徴とするリストア方法。
【請求項３２】
複数の前記ファイル装置及び前記中間装置と通信接続するバックアップ制御装置を設け、
前記バックアップ制御装置が、バックアップ時、前記中間装置を介して、前記複数のファイル装置の複数のスナップショットを受け取り、前記複数のスナップショットにはリンクが張られており、前記リンクが張られた前記複数のスナップファイルを、バックアップ記録装置にバックアップする、ことを特徴とする請求項２１記載のバックアップ方法。
【請求項３３】
請求項３２記載の方法でバックアップされたデータをリストアするときに、前記バックアップ制御装置は、前記バックアップ記録装置のバックアップされた前記複数のスナップショットを前記中間装置に供給する工程と、
前記中間装置は、前記複数のスナップショットを、複数の前記ファイル装置に振分けて転送する工程と、
前記複数のファイル装置では、それぞれに転送された前記スナップショットに基づきファイルシステムをリストアする工程と
を含む、ことを特徴とするリストア方法。
【請求項３４】
複数の前記ファイル装置及び前記中間装置と通信接続するバックアップ制御装置を設け、
前記バックアップ制御装置は、バックアップ時、前記中間装置より、複数の前記ファイルシステムを１つのファイルシステムとしてみせるための、擬似ファイルシステム情報を受け、前記擬似ファイルシステム情報と実際のファイルシステムを対応させ、バックアップデータと組でバックアップ記録装置にバックアップする、ことを特徴とする請求項２１記載のバックアップ方法。
【請求項３５】
請求項３４記載の方法でバックアップされたデータをリストアするときに、前記バックアップ記録装置から複数のファイル装置にバックアップデータが転送され、前記バックアップ制御装置から前記擬似ファイルシステム情報が前記中間装置に転送される、ことを特徴とするリストア方法。
【請求項３６】
前記中間装置が、クライアントをなす前記端末と、それぞれが前記ファイル装置を構成するサーバ装置との間に論理的に配置されるスイッチ装置よりなり、
前記スイッチ装置は、前記クライアントからのファイルアクセス要求を受信し、前記ファイルアクセス要求を適切なサーバ装置に振り分けて転送し、前記サーバ装置から送信された前述のファイルアクセス要求に対する応答を受信し、ファイルアクセス要求を送信した端末へとその応答を転送する、ことを特徴とする請求項２１乃至２８、３０、３２、３４のいずれか一に記載のバックアップ方法。
【請求項３７】
前記スイッチ装置は、前記クライアントから送信されたオブジェクトに関する要求を、前記オブジェクトを管理する前記サーバに転送し、
前記要求に対する前記サーバからの応答を前記要求の送信元であるクライアントに転送し、
転送する応答に前記オブジェクトを識別するために、前記サーバで生成された元オブジェクトＩＤが含まれている場合には、前記元オブジェクトＩＤに対応するオブジェクトを管理するサーバを他のサーバから識別するためのサーバ識別情報を挿入し、前記元オブジェクトＩＤを情報付帯オブジェクトＩＤに書き換え、転送する要求に、前記情報付帯オブジェクトＩＤが含まれている場合には、前記情報付帯オブジェクトＩＤを前記元オブジェクトＩＤに復元する、ことを特徴とする請求項３６記載のバックアップ方法。
【請求項３８】
前記スイッチ装置は、前記複数のファイルシステムのディレクトリツリーを組み合わせた１つの統合ディレクトリツリーにおけるディレクトリツリーのつなぎ目の情報を、前記擬似ファイルシステム情報として、記憶管理する、ことを特徴とする請求項３６記載のバックアップ方法。
【請求項３９】
前記サーバ装置が、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）デバイスであり、
前記スイッチ装置が、所定のレイヤ情報を利用してサーバの振分けを行う、ことを特徴とする請求項３６記載のバックアップ方法。
【請求項４０】
少なくとも１つのクライアントと、それぞれがファイルシステムを備えた複数のファイルサーバとの間に論理的に配置され、前記クライアントからみて仮想的に、複数のファイルシステムを、１つのファイルシステム（「擬似ファイルシステム」という）としてアクセス自在とするファイルアクセスサービスを提供するスイッチ装置であって、
複数の前記ファイルサーバに対して、ある時点でのファイルシステムの固定化されたイメージであるスナップショットの作成の実行開始の指示をそれぞれ分配する手段と、
前記スナップショット実行開始の指示を受けた複数の前記ファイルサーバでそれぞれ作成された複数の前記スナップショットに対して、スナップショット作成時における、前記擬似ファイルシステムに対応するようにリンクを設定する手段と、
を備えている、ことを特徴とするスイッチ装置。
【請求項４１】
前記擬似ファイルシステムに対応するスナップショット情報として、複数の前記スナップショット同士を繋ぐ接続部のリンク情報を保持する、ことを特徴とする請求項４０記載のスイッチ装置。
【請求項４２】
スナップショットの実行開始に際して、それぞれの前記ファイルシステムへのアクセスを停止するように制御する手段を備えている、ことを特徴とする請求項４０記載のスイッチ装置。
【請求項４３】
前記ファイルサーバと前記クライアントとのファイルアクセスに関する同期を確認したのち、複数の前記ファイルサーバでスナップショットが実行されるように制御する手段を備えている、ことを特徴とする請求項４２記載のスイッチ装置。
【請求項４４】
スナップショット作成後、それぞれの前記ファイルシステムへのアクセスを再開するように制御する手段を備えている、ことを特徴とする請求項４０記載のスイッチ装置。
【請求項４５】
前記ファイルシステムのスナップショット世代に対して、同一世代名を付与する、ことを特徴とする請求項４０記載のスイッチ装置。
【請求項４６】
少なくとも１つのクライアントと、それぞれがファイルシステムを備えた複数のファイルサーバとの間に論理的に配置され、前記クライアントからみて仮想的に、複数のファイルシステムを、１つのファイルシステム（「擬似ファイルシステム」という）としてアクセス自在とするファイルアクセスサービスを提供するスイッチ装置を構成するコンピュータに、
複数の前記ファイルサーバに対して、ある時点でのファイルシステムの固定化されたイメージであるスナップショットの作成の実行開始の指示をそれぞれ分配する処理と、
前記スナップショット実行開始の指示を受けた複数の前記ファイルサーバでそれぞれ作成された複数の前記スナップショットに対して、スナップショット作成時における、前記擬似ファイルシステムに対応するようにリンクを設定する処理と、
を実行させるプログラム。
【請求項４７】
請求項４６記載のプログラムにおいて、
前記擬似ファイルシステムに対応するスナップショット情報として、複数の前記スナップショット同士を繋ぐ接続部のリンク情報を保持する処理を、前記コンピュータに実行させるプログラム。
【請求項４８】
請求項４６記載のプログラムにおいて、
スナップショットの実行開始に際して、それぞれの前記ファイルシステムへのアクセスを停止するように制御する処理を、前記コンピュータに実行させるプログラム。
【請求項４９】
請求項４８記載のプログラムにおいて、
前記ファイルサーバと前記クライアントとのファイルアクセスに関する同期を確認したのち、複数の前記ファイルサーバでスナップショットが実行されるように制御する処理を、前記コンピュータに実行させるプログラム。
【請求項５０】
請求項４８記載のプログラムにおいて、
スナップショット作成後、それぞれの前記ファイルシステムへのアクセスを再開するように制御する処理を、前記コンピュータに実行させるプログラム。
【請求項５１】
請求項４６記載のプログラムにおいて、
前記ファイルシステムのスナップショット世代に対して、同一世代名を付与する処理を、前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントとファイルサーバとの間に論理的に配置されるスイッチ装置に関し、特に、クライアントからみて複数のファイルシステムを仮想化した１つのファイルシステムとしてファイルアクセスサービスを提供するシステムにおいて、スナップショット、バックアップ／リストア操作を効率的に行うスイッチ装置及び方法並びにコンピュータプログラムに関する。 
【背景技術】
【０００２】
プロトコルとしてＮＦＳ（ＮＦＳ；Network File System）／ＣＩＦＳ（Common Internet File System）を用い、複数のホストからファイルシステムへのアクセスを可能としたネットワークストレージシステムとして、例えばＮＡＳ（Network  Attached  Storage；ネットワークアタチッドストレージ）等が用いられている。ここで、ＮＡＳは、ＮＦＳ、ＣＩＦＳ等を介してファイルを共有するコンピュータ、又はデバイスをいう。
【０００３】
ストレージに記録されたデータは、障害発生時等にデータを復元できるように、例えば定期的にテープ等の媒体にバックアップされる。このうち、スナップショットは、ある時点でのファイルシステム構造のイメージを保持した読み取り専用のファイルシステムである。スナップショットをとることで、その後、当該スナップショット作成時点でのファイルシステム構造の固定化されたイメージにアクセスすることができ、また当該スナップショット作成時点のデータに復元することができる（論理ボリュームの復元ができる）。このため、スナップショットは、一例として、スナップされたファイルシステムの一貫したバックアップをとる目的で使用される。なお、スナップショットについては、例えば後記特許文献１、非特許文献１等が参照される。後述されるように、本発明では、複数のスナップショットを繋ぐ処理が行われる。以下では、技術の理解に供するため、まず、スナップショットについて、その概略を、後記特許文献１等の記載に基づき説明しておく。なお、特許文献１には、複数のスナップショットが与えられたときにそれを管理する方法として、ファイルシステム内に、そのファイルシステムを表す一連のメタデータを含め、ファイルシステムのスナップショットがそれに関連するメタデータを含むようにした方法が開示されている。
【０００４】
ある時点でのファイルシステム構造のイメージが、例えば図１３（Ａ）に示すようなファイルシステムをスナップすると、図１３（Ｂ）のようなスナップショットｉｎｏｄｅが作成される。なお、ｉｎｏｄｅは、ファイルシステム層が、ファイルを記述するためのデータ構造体である。スナップショットｉｎｏｄｅは、ファイルシステム構造のルートｉｎｏｄｅの複製であり、図１３（Ａ）と同じく、ｉｎｏｄｅ間接ブロック、ｉｎｏｄｅファイルデータブロック、ファイルデータブロックＡ〜Ｃのポインタ情報を有する。このように、スナップショットの作成は、ポインタ情報を取得するだけであることから、大規模データについても、その作成に要する時間は、例えば数秒程度とされる。そして、スナップショット作成後、例えばファイルデータブロックＣが変更された場合、図１３（Ｃ）に示すように、変更されたファイルデータブロックを指すｉｎｏｄｅファイルデータブロックは、変更されたファイルデータブロックの新たな位置Ｃ’を反映するように変更される（ＷＡＦＬ（Write Anywhere File Layout）の場合）。スナップショットｉｎｏｄｅは元のｉｎｏｄｅファイルシステム間接ブロックを指すポインタを含み、ｉｎｏｄｅファイルデータブロックは元のファイルデータブロックＡ、Ｂ、Ｃへのポインタを保持している。すなわち、スナップショットは、スナップ時点でのファイルシステムの固定化イメージを保持する。一方、新たに書き込まれたｉｎｏｄｅファイルデータブロックは、ファイルデータブロックＡ、Ｂへのポインタと、変更されたファイルデータブロックＣ’へのポインタ情報を保持する。あるいは、スナップされたファイルシステムにその後、変更が加えられると、変更前のデータ（例えば図１３（Ｃ）のファイルデータブロックＣ）が、スナップショット領域に、コピーされ、スナップショットの読み取り時、変更された元のデータ（例えば図１３（Ｃ）のファイルデータブロックＣ）は、スナップショットから読み取られる構成とされるものもある（例えば非特許文献１参照）。
【０００５】
スナップショット作成後にファイルが変更された場合、スナップショットｉｎｏｄｅにアクセスすることにより、ファイルシステムのｉｎｏｄｅ構造をスナップショット作成時点のものに復元することができる。より詳細には、ファイルシステムは、スナップショットｉｎｏｄｅに保持されるポインタをたどりｉｎｏｄｅファイル間接ブロック及びｉｎｏｄｅファイルデータブロックを通して、未変更のファイルデータブロックＡ〜Ｃまでポインタをたどることによって、ファイルシステム構造をスナップショット作成時点の状態に復元することができる。なお、「Snapshot」は、ネットワークアプライアンス社の商標である。ただし、本明細書において「スナップショット」は、ネットワークアプライアンス社のＷＡＦＬ（Write Anywhere File Layout）を対象としたスナップショットに制限されるものでないことは勿論であり、ファイルシステムの固定化されたイメージをいう。
【０００６】
スナップショットの運用として、スナップショット作成ソフトウエアによっては、スナップショットが作成された日時を記録し（世代管理する）、同じファイルシステム内に、複数のスナップショットを管理するものもある。そして、スナップされたファイルシステム構造は、例えばエイリアスを介してアクセスできる。
【０００７】
従来のネットワークファイルシステム環境におけるファイルサーバのバックアップ／リカバリの基本形態としては、例えば個々のファイルサーバ毎に、個別にバックアップ／リカバリが行われている。この場合、クライアントは、ネットワークを介して、ＮＦＳプロトコル等により、ファイルサーバ（例えばＮＡＳ）にアクセスし、リモートログインするか、ローカルにログインしてＣＬＩ（コマンドラインターフェース（ｒｓｈ、ｓｓｈ等））コマンド等を用いて、ローカルなテープドライブ等へのバックアップが行われる。あるいは、バックアップを行うコンピュータであるバックアップサーバが、バックアップクライアント（ファイルサーバコンピュータ）のファイルシステムに、ＮＦＳ／ＣＩＦＳマウントし、バックアップをとるという方法も用いられている。あるいは、プライマリストレージ（使用中のファイルシステムを格納するストレージ）とセカンダリストレージ（データ保管用のストレージ）間のバックアップ／リカバリの通信プロトコルを規定したＮＤＭＰ（Network Data Management Protocol）のように、バックアップクライアント（ファイルサーバ）とバックアップサーバ間の接続を、ＮＦＳプロトコル以外のプロトコル（例えばＳＣＳＩ（Small Computer System Interface）等）を用いて接続したものもあり、また、ファイルサーバ間でテープライブラリを共用するものもある。
【０００８】
また、図１４に示すように、複数のファイルサーバ３の資源を仮想的に統合し、クライアント１との間に論理的に配置されるスイッチ１００’を設け、複数のファイルシステムを統合化して、仮想的に１つのシステムイメージ(SSI; Single System Image)のファイルサービスを提供する構成が知られている（例えば後記特許文献２、３参照）。このスイッチ１００’は、クライアントおよびサーバが標準プロトコル（ＮＦＳ）さえサポートしていれば、それらの既存システムに手を加えることなく、複数のサーバを統合管理してクライアントに、シングルシステムイメージ（例えば１つのＮＡＳ）のファイルサービスを提供するものである。あるいは、同様の仮想化技術として、複数のネットワークストレージを仮想的に一元化し、クライアントから一つのネットワークストレージとしてアクセス可能とするシステム（図１４のスイッチ１００’とは構成が相違している）として、例えば特許文献４等の記載も参照される。
【０００９】
【特許文献１】特開２００４−３８９２９号公報
【特許文献２】特開２００３−２０３０２９号公報
【特許文献３】特開２００４−５４６０７号公報
【特許文献４】特開２００３−３４５６４３号公報
【非特許文献１】「HP JFS  3.3/HP OnlineJFS 3.3 VERITAS@ File System 3.3  システム管理ガイド」、４  オンラインバックアップ、第７５〜８１ページ、インターネット<URL http://docs/hp/com/ja/B3929_90012/B3929_90012/pdf>
【発明の開示】
【発明が解決しようとする課題】
【００１０】
前述したように、スナップショットをとることで、スナップ時点のファイルシステムを復元することができる。ファイルサーバにおいて、バックアップ／リストアは、重要な保守管理業務であり、システムの運用形態によっては、例えば時間単位、日単位、週単位、月単位等スナップショットを定期的にとり、所定回数分履歴を保持することが必要とされる。この場合、従来のシステムにおいては、ファイルサーバごとに個別にスナップショット、バックアップ、リストアが行われており、その管理は、煩雑であり、且つ、管理工数も膨大なものとなる。
【００１１】
また、図１４に示したシステムでは、クライアント１に対して、複数のファイルシステムを隠蔽し、複数のファイルシステムを１つに仮想化し、さらに、オンラインデータ移動（マイグレーション）と組み合わせることで、ファイルサーバの追加やリプレース時に、サーバ管理者の作業負担を軽減しているものの、複数のファイルサーバ３のスナップショット、バックアップ、リストアは、複数のファイルサーバ３ごとに個別に行われており、装置間での連携は想定も考慮されていないというのが実情である。ファイルサーバ（例えばＮＡＳデバイス）を提供するベンダー等から、それなりの管理ツールは提供されているが、ＮＡＳの状態やコマンドを一画面に出力するというものであり、仮想化ファイルシステムのように、複数のファイルシステムを１つに見せる技術には対応していない。
【００１２】
図１４に示したシステムにおいて、ファイルシステムのスナップショット、バックアップ／リストアを、複数のファイルサーバごとに個別に行うとなると、その作業負担、工数が増大することに加えて、複数のファイルシステムがスイッチ１００’を介してクライアント１からみて１つのファイルシステムとして見えるように構成されていることから、バックアップ時に、仮想化されたファイルシステムと実体とのマッピングを管理者側で行うことが必要とされ、その作業は、特段に面倒なものとなる。そして、仮に、バックアップ時に、１つのファイルシステムに仮想化された複数のファイルシステム（実ファイルシステム）と、該仮想化ファイルシステムとの間のマッピングをとっておくことなく、複数のファイルシステムをバックアップした場合、障害後に、リカバリしても、マッピング情報を欠いていることから、もとの仮想化ファイルシステムを復元することは、著しく困難となる。また、管理者等が、仮想化ファイルシステムと実ファイルシステムとの間のマッピングを間違えると、仮想化ファイルシステムをリストアすることは、著しく困難となる。
【００１３】
このように、クライアントに対して複数のファイルシステムを隠蔽し、１つの仮想ファイルシステムにみせるファイルアクセスサービスを提供するシステムにおいて、仮想ファイルシステム・レベルでの統合化された保守管理機能の実現が望まれることを、本発明者等は知見した。
【００１４】
したがって、本発明の目的は、複数のファイルシステムと端末間に論理的に配置され、端末に、複数のファイルシステムをみかけ上１つのファイルシステムとしてのアクセスサービスを提供する装置に、スナップショット、バックアップ／リカバリ管理を可能とし、保守性、管理性、信頼性、安全性を向上する、新たな機能を具備した装置、システム、並びにバックアップ、リストア方法並びにコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本願で開示される発明は、前記目的を達成するため、概略以下の通り構成される。
【００１６】
本発明の１つのアスペクト（側面）に係るシステムは、少なくとも１つの端末と、それぞれがファイルシステムを備えた複数のファイル装置と、前記端末と、前記複数のファイル装置との間に論理的に配置され、前記端末からみて仮想的に、複数のファイルシステムを、１つのファイルシステム（「擬似ファイルシステム」という）としてアクセス自在とするファイルアクセスサービスを提供する中間装置と、を備え、前記中間装置は、複数の前記ファイル装置に対してスナップショット実行開始の指示を分配する手段を備え、複数の前記ファイル装置では、前記中間装置から前記スナップショット実行開始の指示を受けて、それぞれスナップショットを作成し、前記中間装置は、複数の前記ファイル装置でそれぞれ作成された複数の前記スナップショットが、スナップショット作成時における前記擬似ファイルシステムに対応するように設定する手段を備えている、ことを特徴とする。
【００１７】
本発明において、前記中間装置は、スナップショットのタイミングにあわせて、アクセスを停止することにより、仮想ファイルシステムの静止点を取得する。
【００１８】
本発明において、前記中間装置は、複数のスナップショット間において、一のスナップショットの接続部から他のスナップショットの接続部のエントリにリンクをはり、前記スナップショットを擬似ファイルシステムに一致させる。
【００１９】
本発明においては、各ファイルシステムのスナップショット世代に、前記中間装置から同一世代名を付与する構成としてもよい。
【００２０】
本発明においては、前記スナップショットを端末で読み出して、バックアップする構成としてもよい。
【００２１】
本発明においては、バックアップ用装置を備え、バックアップ用装置が、中間装置と通信するインタフェースを備え、バックアップ用装置は、中間装置より、擬似ファイルシステムの情報を受け、前記仮想ファイルシステムと、実際のファイルシステムを対応させ、データと組でバックアップする。
【００２２】
本発明において、リストア時に、中間装置が、擬似ファイルシステム情報に基づき、リストア先の振分を行う。
【００２３】
本発明において、前記バックアップ用装置が、バックアップしている擬似ファイルシステム情報に基づき、ファイルシステムにリストアし、さらに、中間装置に仮想ファイルシステム情報をリストアする。
【００２４】
本発明の他のアスペクトに係る方法は、少なくとも１つの端末と、それぞれがファイルシステムを備えた複数のファイル装置と、前記端末と、前記複数のファイル装置との間に論理的に配置され、前記端末からみて仮想的に、複数のファイルシステムを１つのファイルシステム（「擬似ファイルシステム」という）としてアクセス自在とするファイルアクセスサービスを提供する中間装置と、を備えたファイルアクセスサービスシステムのバックアップ方法であって、
（ａ１）前記中間装置が、複数の前記ファイル装置に対して、ある時点でのファイルシステムの固定化されたイメージであるスナップショットの作成の実行開始の指示をそれぞれ分配する工程と、
（ａ２）複数の前記ファイル装置では、前記中間装置から前記スナップショット実行開始の指示を受けて、それぞれスナップショットを作成する工程と、
（ａ３）前記中間装置は、複数の前記ファイル装置でそれぞれ作成された複数の前記スナップショットが、スナップショット作成時における前記擬似ファイルシステムに対応するように、作成された複数の前記スナップショットにリンクを張る工程と、
を含む。
【００２５】
本発明のさらに他のアスペクトに係るスイッチ装置は、少なくとも１つのクライアントと、それぞれがファイルシステムを備えた複数のファイルサーバとの間に論理的に配置され、前記クライアントからみて仮想的に、複数のファイルシステムを、１つのファイルシステム（「擬似ファイルシステム」という）としてアクセス自在とするファイルアクセスサービスを提供するスイッチ装置であって、複数の前記ファイルサーバに対して、ある時点でのファイルシステムの固定化されたイメージであるスナップショットの作成の実行開始の指示をそれぞれ分配する手段と、前記スナップショット実行開始の指示を受けた複数の前記ファイルサーバでそれぞれ作成された複数の前記スナップショットに対して、スナップショット作成時における、前記擬似ファイルシステムに対応するようにリンクを設定する手段とを備えている。
【００２６】
本発明のさらに他のアスペクトに係るコンピュータプログラムは、少なくとも１つのクライアントと、それぞれがファイルシステムを備えた複数のファイルサーバとの間に論理的に配置され、前記クライアントからみて仮想的に、複数のファイルシステムを、１つのファイルシステム（「擬似ファイルシステム」という）としてアクセス自在とするファイルアクセスサービスを提供するスイッチ装置を構成するコンピュータに、複数の前記ファイルサーバに対して、ある時点でのファイルシステムの固定化されたイメージであるスナップショットの作成の実行開始の指示をそれぞれ分配する処理と、前記スナップショット実行開始の指示を受けた複数の前記ファイルサーバでそれぞれ作成された複数の前記スナップショットに対して、スナップショット作成時における、前記擬似ファイルシステムに対応するようにリンクを設定する処理と、を実行させるプログラムよりなる。
【発明の効果】
【００２７】
本発明によれば、複数のファイルシステムを１つのファイルシステムに仮想化したファイルアクセスサービスを提供するシステムにおいて、管理者はスナップショット、バックアップ、リストアを仮想化された装置として統合的に管理することができ、管理工数を特段に削減することができる。
【発明を実施するための最良の形態】
【００２８】
本発明を実施するための最良の形態について説明する。本発明の一実施の形態に係るシステムは、図１を参照すると、クライアント１と複数のサーバ（ファイルサーバ）３間に論理的に配置され、クライアント１からみて仮想的に、複数のファイルシステムを１つのファイルシステム（「擬似ファイルシステム」という）としてアクセス自在とするファイルアクセスサービスを提供するスイッチ１００を備えたシステムにおいて、スイッチ１００に、複数のファイルシステムのスナップショット、バックアップ、リストアを仮想化された１つのファイルシステムとして統合的に管理する機能を具現化したものである。
【００２９】
スイッチ１００に、スナップショットコマンドが入力される。この入力は、ネットワーク２経由のコマンドか、スイッチ１００にログインして入力される。
【００３０】
スイッチ１００は、スナップショットコマンドを受け、配下のファイルサーバ３にスナップショットコマンドを分配して、それぞれのスナップショットをとる。ファイルサーバ３はスナップショット機能を具備しているものとする。
【００３１】
スイッチ１００では、スナップショットのタイミングにあわせて、ファイルアクセスを停止し（スナップされるファイルシステムを凍結する）、仮想化されたファイルシステムの静止点（チェックポイント）をとることを可能としている。
【００３２】
そして、スイッチ１００が、複数のファイルシステムを仮想化させた１つのファイルシステム（「擬似ファイルシステム」という）に対応する統合化ディレクトリツリーに対応させて、各ファイルシステムのスナップショット間のリンクをとり、擬似ファイルシステムに対応させて、複数のスナップショットの仮想化を行う。スイッチ１００は、スナップショットの仮想化のための情報を管理する。これにより、複数のスナップショットのデータを、擬似ファイルシステムのデータに一致させることができる。
【００３３】
また、スイッチ１００は、各サーバ３のファイルシステムのスナップショットの世代に、スイッチ１００がコマンドで同一世代名を付与して管理する。
【００３４】
次に、スナップショットを用いたバックアップについて説明する。バックアップユニット６へのバックアップ時に、例えばクライアント１がネットワーク２経由でバックアップする場合、複数のファイルサーバ３からスナップショットをクライアント１で読み出す。このとき、クライアント１は、スイッチ１００を介して、仮想化されたスナップショットを読み出すことができ、仮想化されたスナップショット作成時点での擬似ファイルシステム構造のバックアップイメージを、テープ等の記録媒体にバックアップする。すなわち、本発明によれば、スイッチ１００が、複数のスナップショットの間にリンクを張ることで、複数のスナップショットの仮想化が行われ、仮想化されたスナップショットの構造はスナップされた時点での擬似ファイルシステムのファイルシステム構造に一致しているため、スナップされた時点での擬似ファイルシステムを、バックアップし、且つ復元することができる。かかる構成は、本発明の主要な特徴の一つをなしている。
【００３５】
また、ファイルサーバにローカルに接続されたテープドライブユニット（不図示）へのバックアップ、あるいは、ＮＤＭＰ（Network  Dump  Management  Protocol）、ＳＣＳＩ（Small Computer System Interface）等でバックアップする場合には、図８に示すように、バックアップサーバ７が、各ファイルサーバ３のバックアップをとる。
【００３６】
バックアップサーバ７に、スイッチ１００と連携するためのインタフェース（図８の７１参照）を備えておき、スイッチ１００から、複数のファイルシステムを仮想化して１つのファイルシステムとしてみせるための擬似ファイルシステム情報をバックアップサーバ７に渡す。
【００３７】
バックアップサーバ７は、擬似ファイルシステム情報と、サーバ３とを対応させ、データファイルと組でテープドライブ８にバックアップする。
【００３８】
これにより、本発明によれば、擬似ファイルシステムの統合化ディレクトリツリーに対応させた、バックアップを可能としている。前述したように、従来のシステムでは、管理者が、擬似ファイルシステム情報と実ファイルシステムとの対応（マッピング）をとってバックアップを行っていたが、本発明は、かかる作業を不要としている。
【００３９】
次に、本発明の一実施の形態のリストアについて説明する。図１において、クライアント１経由でバックアップユニット６にバックアップされている場合に、前述したように、バックアップユニット６には、擬似ファイルシステムのファイルシステム構造に一致したバックアップイメージで保管されている。このため、バックアップイメージを単一のファイルサーバ３にリストアする場合には、スイッチ１００は関与しない。すなわち、バックアップユニット６から、バックアップイメージをそのままターゲットとなるファイルサーバ３にリストアされる。なお、クライアント１は、スイッチ１００を介して、リストアされたファイルシステムにアクセスすることができることは勿論である。後述するように、ファイルシステムのオブジェクトと該オブジェクトを記憶するサーバとの対応はスイッチ１００で管理され、クライアント１からのファイルアクセス要求は、スイッチ１００を介して該当するサーバ３に振り分けられる。
【００４０】
リストア時に、スイッチ１００で管理される擬似ファイルシステムを複数のファイルサーバ３に復元する場合、スイッチ１００は、その擬似ファイルシステム情報（バックアップイメージに対応している）に基づき、バックアップデータのリストア先を振り分ける。これにより、複数のファイルサーバ３には、スナップショット作成時点における、統合化されたディレクトリツリーに対応するファイルシステムがそれぞれ復元される。
【００４１】
ＮＦＳプロトコル以外のプロトコル、例えばＮＤＭＰ、ＳＣＳＩ等で、バックアップされた場合、図８において、バックアップサーバ７が、バックアップされた擬似ファイルシステム情報に基づき、ファイルサーバ３へリストアする。そして、バックアップサーバ７が、テープドライブ８にバックアップされていた擬似ファイルシステム情報を、スイッチ１００にリストアする。このようにすることで、クライアント１からは、スイッチ１００を介して、スナップショット作成時点における、擬似ファイルシステムを再現することができる。
【００４２】
このように、本発明の実施の形態によれば、複数のファイルシステムを、１つのファイルシステムに仮想化したネットワークファイルシステムにおいて、管理者は、スナップショット、バックアップ、リストアを、仮想化された装置として、統合的に管理することができ、管理工数を特段に削減することができる。以下実施例に即して説明する。
【実施例】
【００４３】
図１は、本発明の一実施例のスイッチが設けられたクライアント・サーバ形式のリモートファイルシステムであるネットワークファイルシステムの構成を示す図である。図１を参照すると、このネットワークファイルシステムは、少なくとも１つのクライアント１と、少なくとも１つのサーバ３とスイッチ１００がネットワーク２に接続されている。サーバ３は、ファイルアクセスサービスによってアクセスされるファイル等のデータを管理するソフトウェアよりなるファイルシステム層４と、ファイル、データを記憶するデバイスである記憶装置５とを備え、各クライアント１にファイルアクセスサービスを提供するファイルサーバである。バックアップユニット６は、ネットワーク２に接続され、サーバ３のバックアップデータを保管する。本実施例では、スイッチ１００に、サーバ３における、スナップショット、バックアップ／リストアの管理を制御する機能が付加されている。バックアップユニット６としては、例えば図８に示すように、ネットワーク２にバックアップサーバを接続し、バックアップサーバ７をファイルサーバ３と接続し、バックアップクライアント（ファイルサーバ３）から、バックアップサーバ７を介してテープドライブ８にバックアップを行うようにしてもよい。
【００４４】
以下では、まず、複数のサーバ３の存在をクライアント１から隠蔽するスイッチ１００の基盤技術として、スイッチ１００におけるオブジェクトＩＤとサーバとの対応の管理について説明しておく（詳細は上記特許文献２等が参照される）。スイッチ１００は、クライアント１からのファイルアクセス要求を受信し、ファイルアクセス要求を適切なサーバ３に振り分けて転送し、一方、サーバ３から送信されたファイルアクセス要求に対する応答を受信し、ファイルアクセス要求を送信したクライアント１へとその応答を転送する。クライアント１は、ファイルアクセス要求の中に、アクセス対象となるディレクトリやファイル等のオブジェクト識別用のＩＤ（「オブジェクトＩＤ」）を指定し、サーバ３で管理されるオブジェクトへアクセスする。オブジェクトＩＤはサーバ３で生成され、クライアント１はアクセス可能なオブジェクトの一覧を有している。クライアント１は、該一覧からオブジェクトまでのアクセスパスを指定した要求を送信し、最初にアクセス可能なオブジェクトのオブジェクトＩＤをサーバ３の応答データから取得する。また、クライアント１でオブジェクトＩＤをすでに取得しているオブジェクトの下位に配置されたオブジェクトについては、クライアント１は、取得済みオブジェクトＩＤと、ファイルアクセスを行うオブジェクトの名前を指定した要求を送信し、その応答からオブジェクトＩＤを取得する。
【００４５】
本実施例のネットワークファイルシステムにおいて、サーバ３の存在は、スイッチ１００により、クライアント１から隠蔽されており、クライアント１からのファイルアクセス要求はスイッチ１００に送信され、スイッチ１００はクライアント１からのファイルアクセス要求を受信し、ファイルアクセス要求を適切なサーバ３に振り分けて転送（ルーティング）する。スイッチ１００は、サーバ３から送信された、当該ファイルアクセス要求に対する応答を受信し、ファイルアクセス要求を送信したクライアント１へ該応答を転送（ルーティング）する。サーバ３で生成されるオブジェクトＩＤは、一般的に、これを生成したサーバ３のみが解釈可能なデータ列によって構成されているため、スイッチ１００およびクライアント１では、そのデータを解釈することができない。また、クライアント１は、サーバ３からの応答を受信し応答に含まれるオブジェクトＩＤを取得しない限り、そのオブジェクトＩＤに対応するオブジェクトを操作することができない。そこで、本実施例においては、スイッチ１００では、サーバ３から送信される応答データ中に含まれるオブジェクトＩＤに、送信元のサーバ３を他のサーバ３から識別するためのサーバ識別情報を挿入し、サーバ識別情報が挿入されたオブジェクトＩＤを含む応答によって、パケットを再構成し、再構成されたパケットを、クライアント１に転送する構成としている。クライアント１は、サーバ識別情報が挿入されたオブジェクトＩＤを含むファイルアクセス要求を、スイッチ１００に送信し、スイッチ１００では、そのオブジェクトＩＤに挿入されたサーバ識別情報を参照して、該ファイルアクセス要求を転送すべきサーバを特定することができる。なお、スイッチ１００は、ファイルアクセス要求を、サーバ３に転送する際には、サーバ識別情報を挿入したオブジェクトＩＤを、サーバ３が生成した元のオブジェクトＩＤに変換する。かかる機能をスイッチ１００が具備することによって、ネットワークファイルシステムにおける複数のサーバによる分散処理を可能としている。
【００４６】
図２は、本実施例のスイッチ１００の構成の一例を示す図である。図２に示すように、本実施例のスイッチ１００は、前記したオブジェクトＩＤの書き換えを行うオブジェクトＩＤ書き換え部１０１と、ファイルアクセス管理部１０２と、パケット処理部１０３と、ファイルシステム補完処理部１０４と、擬似ファイルシステム１０５と、仮想スナップショット管理部１０６と、仮想スナップショットリンク情報１０７と、を備えている。
【００４７】
パケット処理部１０３は、ネットワーク２を介してクライアント１およびサーバ３から受信したパケットを解析して、パケットに含まれるデータをファイルアクセス管理部１０２に出力し、ファイルアクセス管理部１０２から出力されたデータをパケット化して、ネットワーク２を介してクライアント１およびサーバ３に送信する。
【００４８】
ファイルアクセス管理部１０２は、パケット処理部１０３から出力されたデータを入力して解析し、パケット処理部１０３が受信したパケットの転送先を決定する。
【００４９】
オブジェクトＩＤ書き換え部１０１は、ファイルアクセス管理部１０２が決定するパケットの転送先に応じて、前述のデータに含まれるオブジェクトＩＤの書き換えを行う。
【００５０】
擬似ファイルシステム１０５は、図１に示した複数のサーバ３のファイルシステムから構成されている複数のディレクトリツリーを組み合わせ、１つの統合ディレクトリツリーとして管理するためのシステムである。
【００５１】
ファイルシステム補完処理部１０４は、クライアント１からのファイルアクセス要求が、複数サーバ３もしくは複数のファイルシステム層４等の複数の送信先に渡ってファイルアクセスを必要とする場合の補完処理を行う。
【００５２】
仮想スナップショット管理部１０６は、サーバ３に対してスナップショットの指示を行う。また仮想スナップショット管理部１０６は、スナップショット作成時における擬似ファイルシステム（ＰＦＳ）１０５のファイルシステム構造に対応して複数のスナップショットの間にリンクを張る制御も行う。なお、本実施例において、スナップショット、バックアップ、リストア処理は、各サーバ３で行われる。
【００５３】
仮想スナップショット管理部１０６により、複数のサーバ３で作成された複数のスナップショットが、擬似ファイルシステム１０５の統合化ディレクトリツリーと対応するようにリンクが張られるが、仮想スナップショットリンク情報１０７は、複数のスナップショットのリンク情報（つなぎ目での接続先のポインタ情報）を記憶保持する。スイッチ１００の擬似ファイルシステム１０５は、サーバ３におけるデータの変更に応じて変更されるが、仮想スナップショットリンク情報１０７は、スナップショット作成時の仮想スナップショットの固定化されたイメージである。したがって、仮想スナップショットリンク情報１０７に基づき、スナップショット作成時点での擬似ファイルシステム１０５を復元することができる。
【００５４】
本実施例において、スイッチ１００は、後述するように、擬似ファイルシステム１０５において、各サーバ３のディレクトリツリーの接続部の情報を記憶管理する構成とされているのと同様、仮想スナップショットリンク情報１０７として、各サーバ３のスナップショットの接続部（つなぎ目）の情報を記憶管理している。仮想スナップショットリンク情報１０７は、スナップショットの世代に対応して世代管理される。すなわち、予め定められた所定数の世代分、仮想スナップショットリンク情報１０７が記憶保持される。
【００５５】
スイッチ１００は、ファイルアクセスの要求パケットおよび応答パケットを、クライアント１もしくはサーバ３へ適切に振り分ける機能に加え、複数のサーバ３のファイルシステム４上に形成されている複数のディレクトリツリーを、擬似ファイルシステム１０５のディレクトリツリーに統合することによって、複数のサーバ３における個々のファイルシステム４の存在をクライアント１に意識させることなく、スイッチ１００の擬似ファイルシステム１０５のみにアクセスしているかのように振舞わせる機能を有している。
【００５６】
擬似ファイルシステム１０５は、サーバ３によりネットワーク２を介してアクセス可能なものとして公開されているファイルシステム４上の複数のディレクトリツリーにおけるツリー構造を自在に組み合わせて、１つのディレクトリツリーにマッピングする。本実施例では、図２に示したスイッチ１００のオブジェクトＩＤ書き換え部１０１、ファイルアクセス管理部１０２、パケット処理部１０３、ファイルシステム補完処理部１０４、仮想スナップショット管理部１０６の各部について、スイッチ１００を構成するコンピュータ上で実行されるプログラムにより、それぞれの処理・機能を実現するようにしてもよい。
【００５７】
図３は、図２の擬似ファイルシステム１０５のディレクトリツリー２００の一例を示す図である。図３に示すように、擬似ファイルシステム１０５は、サーバ３Ａで公開されているディレクトリｂ（２２１）、およびサーバ３Ｂで公開されているディレクトリｃ（２２２）からのディレクトリツリーのツリー構造を、擬似ファイルシステム１０５上に形成されたルートディレクトリ２２０（／）のサブディレクトリからのディレクトリツリーとしてマッピングする。擬似ファイルシステムディレクトリツリー２００のルートディレクトリ２２０は、ディレクトリ２２１と２２２へのポインタを含む。擬似ファイルシステム１０５は、サーバＢで公開されているディレクトリｅ（２２４）からのディレクトリツリーのツリー構造を、ディレクトリｂ（２２１）からのディレクトリツリーの下層に存在するディレクトリｆ（２２３）のサブディレクトリからのディレクトリツリーとして登録することによって、擬似ファイルシステムディレクトリツリー２００を生成する。本実施例のスイッチ装置では、擬似ファイルシステムディレクトリツリー２００上におけるディレクトリ名は、サーバ３のファイルシステム４で設定されたディレクトリ名と必ずしも同一にする必要はなく、別のディレクトリ名を設定して、クライアント１に公開してもよい。
【００５８】
スイッチ１００において、擬似ファイルシステム１０５は、擬似ファイルシステムディレクトリツリー２００のツリー構造のみを管理しており、オブジェクトのデータ、属性情報、各ファイルシステム４の接合部以外のツリー構造等は、すべてサーバ３側で管理している。例えば図３の擬似ファイルシステムディレクトリツリー２００において、例えばルートディレクトリ２２０のノード接続部等のツリー情報を記憶管理する。図２の仮想スナップショットリンク情報１０７として、スナップショット作成時における擬似ファイルシステムディレクトリツリー２００の接続部のツリー情報のみを記憶管理し、接続部以外の各ツリー構造は、対応するサーバ３におけるスナップショットとして管理される。かかる構成は、本発明の主要な特徴の１つをなしている。
【００５９】
そして、スイッチ１００では、複数のファイルシステム４を結合しているツリー部分のみの名前解決処理を行い、その他（接合部以外）のツリー部分については、サーバ３に処理を任せている。
【００６０】
次に、本実施例の動作の具体例について説明する。図４は、本発明の一実施例の動作を説明する模式図である。図４において、仮想スナップショット機能１１０は、図２の仮想スナップショット管理部１０６に対応しており、スイッチング機能・仮想化管理機能１２０は、図２の、パケット処理部１０３、ファイルアクセス管理部１０２、ファイルシステム補完処理部１０４、擬似ファイルシステム１０５、仮想スナップショットリンク情報１０７等からなる。特に制限されないが、以下では、サーバはＮＡＳデバイスとする。
【００６１】
スイッチ１００は、スナップショット作成指示をうける（ステップ１）。この実施例では、スナップショット作成指示の入力は、ネットワーク経由またはスイッチ１００にログインして行われる。あるいは、スイッチ１００で定期的にスナップショット作成指示が発行される構成としてもよい。
【００６２】
仮想スナップショット機能１１０は、スナップ対象のファイルシステムに更新がかからないように、スイッチング機能・仮想化管理機能１２０に対して、フォワードの停止を指示する（ステップ２）。その際、スナップ対象のファイルシステムの完全な静止点を求めるため、スイッチ１００において、クライアント１からの要求（Ｃａｌｌ）に対するサーバ３からの応答が戻っていることを確認（同期確認）する。同期がとれていない場合、サーバ３へのスナップショットの作成開始の指示は待ち状態とされる。この同期管理は、図２のファイルアクセス管理部１０２とパケット処理部１０３の連携によって行われる。
【００６３】
仮想スナップショット機能１１０は、スナップショット対応サーバ３Ａ、３Ｂ（ＮＡＳ）にスナップショット作成開始を通知する（ステップ３）。
【００６４】
そして、サーバ３におけるスナップショット作成完了の通知を受け、仮想スナップショット機能１１０は、スイッチング機能・仮想化管理機能１２０に対して、フォワードを再開する。
【００６５】
サーバ３Ａ、３Ｂでスナップショット作成後、スイッチ１００で、スナップショットディレクトリに、擬似ファイルシステム１０５に対応するリンク（PFS  Link）を作成する(ステップ５)。例えば擬似ファイルシステムディレクトリツリー２００が、図４の２００（図３の２００に対応）として示すようなものである場合（ディレクトリツリー２００がサーバ３Ａのファイルシステムのディレクトリツリー２０１とサーバ３Ｂのファイルシステムのディレクトリツリー２０２とを統合化したものである場合）、スナップショット作成開始通知の受信により、サーバ３Ａでは、ディレクトリツリー２０１のイメージを「snapshotA.1」、サーバ３Ｂでは、ディレクトリツリー２０２のイメージを「snapshotB.1」として作成する。なお、「snapshotA」は、システム側で設定するスナップショットアクセス用のエイリアス名を表しており、「１」は、世代番号を表している。また、エイリアス名「snapshotA」、「snapshotB」は、単に、サーバ３Ａ、３Ｂに対応させ判りやすくしたものであり、スナップショットのエイリアス名（サーバのスナップショットソフトウェアで設定される）は、サーバ間で、同一であってもよい。
【００６６】
スイッチ１００の擬似ファイルシステム１０５のディレクトリツリー２００において、実ファイルシステム（サーバ３Ａ）のディレクトリツリー２０１は、実ファイルシステム（サーバ３Ｂ）のディレクトリツリー２０２にリンク（PFS Link）をはっている。同様に、サーバ３Ａで作成されたディレクトリツリー２０１のスナップショット「snapshotA.1」は、サーバ３Ｂで作成されたディレクトリツリー２０１のスナップショット「snapshotB.1」に対して、等価なリンク（PFS Link）をはるように設定する。具体的には、２つのスナップショット「snapshotA.1」と「snapshotB.1」との接続部について、リンク先のオブジェクトを指示するポインタ情報を保持する。前述したように、このリンク情報は、スイッチ１００において、仮想スナップショットリンク情報１０７として、スナップショットの世代に対応させて記憶管理される。
【００６７】
これにより、図１の各サーバ３で、それぞれ個別に作成された複数のスナップショットが、スナップショット作成時点における統合ディレクトリツリーに自動でマッピングされる。
【００６８】
図５は、図４に示した本発明の処理シーケンスを説明する図である。サーバをＮＡＳとしている。スイッチ１００は、スナップショット作成指示をうける（ステップ１）。
【００６９】
仮想スナップショット機能１１０は、サーバ３Ａ、３Ｂのファイルシステム構造に更新がかからないように、スイッチング機能・仮想化管理機能１２０に対して、フォワード停止指示を行う。スイッチング機能・仮想化管理機能１２０は、フォワードを停止し、同期を確認する。例えばクライアントからの要求（Ｃａｌｌ）に対するサーバ３Ａ、３Ｂからの応答が戻っていることを確認する。
【００７０】
スイッチ１００の仮想スナップショット機能１１０は、配下のスナップショット対応サーバ（ＮＡＳ）３Ａ、３Ｂに対して、スナップショット作成を通知する（ステップ３）。これは、ｒｓｈ（remote shell）又はｓｓｈ（secure  shell）により、スイッチ１００かサーバ３にてスナップショットコマンドを実行することで行われる。なお、仮想スナップショット機能１１０は、複数のスナップショット対応サーバに並列にスナップショットコマンドを送信してもよい。
【００７１】
スイッチ１００は、各サーバ３Ａ、３Ｂのスナップショット世代として、同一世代名をアサインしてもよい。この場合、世代名称は、スイッチ１００からのスナップショット作成の通知に添付してもよい。
【００７２】
そして、仮想スナップショット機能１１０は、スイッチング機能・仮想化管理機能１２０に対して、フォワード再開を指示する(ステップ４)。
【００７３】
スイッチング機能・仮想化管理機能１２０は、複数のスナップショット間で、擬似ファイルシステム１０５に対応させてリンクを作成する。スイッチング機能・仮想化管理機能１２０はリンク作成後、応答を仮想スナップショット機能１１０に送信し、仮想スナップショット機能１１０は端末に受理応答（accept）を送信する。
【００７４】
図６は、本発明の一実施例において、擬似ファイルシステムイメージでバックアップ／リストアする動作を説明するための図である。２つのファイルシステムのスナップショット(snapshotA、snapshotB）はリンク（PFS Link）をはっている。この状態で、２つのファイルシステムから、各スナップショットと同じイメージが読み出され、図１のスイッチ１００の制御のもと、バックアップが行われ、複数のファイルシステムを１つに仮想化したファイルシステムのバックアップイメージが、テープ等に保管される。なお、図６において、"Production Data"（プロダクションデータ）は、例えばスナップショット(snapshotA、snapshotB）を作成した以降、変更された実データを模式的に表している。
【００７５】
スナップショットを用いたバックアップについて説明する。スナップショットのデータは、スナップされたファイルシステムのデータと同じであるため、標準のファイルシステム構造に基づいて動作するバックアップコマンド（例えばcpio）を使用することができる。またｒａｗディスクイメージを読み取るバックアップコマンド（例えばfscat）等では、スナップショット作成時にスナップされたファイルシステムが格納されていたディスクに対してディスクイメージのバックアップコマンドを使用したときに取得されるのと同一のファイルシステムのｒａｗイメージが取得される。スナップショットの読み取りをサポートするシステムコールを用いた場合、スナップショット作成時に、スナップされたファイルシステムが格納されていたディスクの読み取りによって取得されるのと同一の結果が得られる（上記非特許文献１等参照）。
【００７６】
テープに保管されたバックイメージを１つのファイルシステムにリストアすると、スナップショット作成時点における１つの仮想化されたファイルシステムがそのまま復元される。
【００７７】
なお、図１のクライアント１が、ＮＦＳプロトコルにより、スイッチ１００経由でサーバ３にマウントし、スナップショットを読み出し、バックアップユニット６にバックアップすることで、図６の処理を行うようにしてもよい。
【００７８】
図７は、バックアップサーバを用いて、図６に示した操作を行う例を模式的に示す図である。２つのファイルサーバ３（ＮＡＳ＃１、ＮＡＳ＃２）でそれぞれスナップショットをとり、スイッチ１００（「ＮＡＳスイッチ」という）は、２つのファイルサーバ３（ＮＡＳ＃１、ＮＡＳ＃２）の複数のスナップショットにリンクをはる。そして、２つのファイルサーバ３（ＮＡＳ＃１、ＮＡＳ＃２）のそれぞれのファイルシステムは、スイッチ１００を介して、仮想化されたスナップショットと同じイメージで、バックアップサーバ７を介して、テープドライブ８にバックアップされる。これにより、１つのファイルシステムに仮想化された複数のファイルシステムのスナップ時点でのバックアップイメージ(仮想化されたファイルシステムのバックアップイメージ)が、バックアップされる。かかる構成は、本発明の主たる特徴の１つをなしている。
【００７９】
そして、リストア時には、テープ８からスイッチ１００を介さずにバックアップサーバ７より、１つのファイルサーバ３（ＮＡＳデバイス）に、バックアップイメージをリストアする。当該ファイルサーバ３では、スナップ時点での仮想化されたファイルシステムを復元することができる。
【００８０】
本実施例において、バックアップサーバとサーバとを、ＮＦＳプロトコル以外のプロトコルで接続し、高速転送を行うようにしてもよい。またバックアップ用の記憶装置はテープに制限されず、他の任意の記録装置であってもよいことは勿論である。
【００８１】
図８は、図７に示したバックアップサーバ７を備えたシステム構成の一例を示す図である。バックアップサーバ７とサーバ３(バックアップクライアント)は、ＮＦＳプロトコル以外のインタフェース（ＳＣＳＩ等）で接続されていてもよい。またバックアップサーバ７とスイッチ１００とは、ＮＦＳプロトコル以外のインタフェースで接続されていてもよい。バックアップサーバ７とスイッチ１００間での直接の通信接続を制御するインタフェース７１を備えてもよい。
【００８２】
図９は、本発明の他の実施例において、擬似ファイルシステムイメージでのバックアップ／リストアする動作を説明するための図である。２つのファイルシステムのスナップショット（snapshotA、snapshotB）同士は、擬似ファイルシステムディレクトリツリーに対応してリンク（PFS Link）が張られている。この状態で、仮想化されたスナップショットを用いて、２つのファイルシステムのバックアップが行われ、スナップショット作成時の擬似ファイルシステムディレクトリツリーのバックアップイメージがテープ等に保管される。なお、図９において、"Production Data"（プロダクションデータ）は、スナップショット作成時点以降、変更された実データを模式的に表している。
【００８３】
スイッチ１００が、テープに保管されたバックアップイメージを、スイッチ１００の擬似ファイルシステム情報（図２の仮想スナップショットリンク情報１０７）に基づき、リストア先を振分けることで、２つのファイルシステムにそれぞれリストアし、各ファイルシステムにおいて、スナップショット作成時点でのファイルシステムが復元される。そして、リストアされた２つのファイルシステムにより、スナップショット作成時の仮想ファイルシステムを復元することができる。
【００８４】
図１０は、ファイルサーバ（バックアップクライアント）とスイッチとバックアップサーバとがＮＦＳプロトコルを用いて、図９に示した操作を行う例を模式的に示す図である。２つのファイルサーバ３（ＮＡＳ＃１、ＮＡＳ＃２）でスナップショットをとり、スイッチ１００（ＮＡＳスイッチ）は、複数のスナップショットに、擬似ファイルシステムのディレクトリツリーに対応させてリンクをはり仮想化されたスナップショットを作成する。バックアップサーバ７は、スイッチ１００を介してファイルサーバ３にマウントし、スナップショットを用いてバックアップする。その際、スイッチ１００（ＮＡＳスイッチ）によって仮想化されたスナップショットにしたがって、２つのファイルサーバ３（ＮＡＳ＃１、ＮＡＳ＃２）から読み出されたデータが、テープドライブ８にバックアップされ、これにより、擬似ファイルシステムのファイルシステム構造に対応したファイルシステムのバックアップが行われる。
【００８５】
そして、リストア時には、バックアップサーバ７からスイッチ１００を介して、複数のファイルサーバ（ＮＡＳデバイス）へのバックアップデータの振分が行われる。リストア時におけるスイッチ１００による、サーバ３へのリストアデータ（オブジェクト）の振分は、図２に示した構成において、仮想スナップショットリンク情報１０７に基づき、リストアデータが、どのサーバに対応するか判別し、振分が行われる。なお、バックアップデータは、スナップショット作成時点からの差分をバックアップするようにしてもよい。この場合、２つのサーバには、スナップショット作成時点からの差分が加えられたファイルシステムがリストアされる。
【００８６】
図１１は、ファイルサーバ（バックアップクライアント）とバックアップサーバとがＮＦＳプロトコル以外のプロトコルを用いて通信する場合のバックアップ／リストア処理を説明するための図である。２つのファイルシステムのスナップショット（snapshotA、snapshotB）同士は、スナップショット作成時の擬似ファイルシステムディレクトリツリーに対応させて、リンク（PFS Link）が張られている。この状態で、２つのファイルシステムのバックアップがそれぞれ行われ、さらに、スナップショット作成時の擬似ファイルシステム１０５の情報（ディレクトリーツリー情報）が、テープ８等に保管される。
【００８７】
テープ８の２つのファイルシステムのバックアップイメージを、２つのファイルサーバのファイルシステムにリストアし、スナップショット作成時の擬似ファイルシステム情報をスイッチ１００に格納することで、スイッチ１００を介して、クライアント１からみたとき、当該スナップショット作成時における仮想ファイルシステムを復元することができる。
【００８８】
図１２は、ファイルサーバ（バックアップクライアント）とバックアップサーバとがＮＦＳ以外のプロトコルを用いて、図１１に示した操作を行う例を模式的に示す図である。２つのファイルサーバ３（ＮＡＳ＃１、ＮＡＳ＃２）でスナップショットをとり、スイッチ１００（ＮＡＳスイッチ）は、２つのスナップショットのリンク（PFS Link）をはる。
【００８９】
２つのファイルサーバ３（ＮＡＳ＃１、ＮＡＳ＃２）から、スイッチ１００を介さず、直接に、バックアップサーバ７にそれぞれのデータが、ＳＣＳＩ等により転送され、テープ８等にバックアップする。バックアップサーバ７は、テープ８にストレージ装置のフルバックアップを行ってもよい。
【００９０】
また、スイッチ１００から、バックアップサーバ７にインタフェース７１を介して擬似ファイルシステム情報（PFS情報；例えば図２の仮想スナップショットリンク情報１０７）が転送され、テープ８等に保管される。
【００９１】
そして、リストア時には、バックアップサーバ７から、スイッチ１００を介することなく、テープ８からそれぞれのバックアップイメージが、２つのファイルサーバ３（ＮＡＳデバイス）にリストアされる。
【００９２】
そして、テープ８等にバックアップされた擬似ファイルシステム情報（PFS情報）は、バックアップサーバ７からインタフェース７１を介してスイッチ１００に転送され、リストアされる。
【００９３】
スイッチ１００を介して、クライアントからみたとき、スナップショット作成時の仮想ファイルシステムを復元することができる。クライアントからのファイルアクセス要求において、オブジェクトＩＤにサーバ識別情報が挿入され、スイッチ１００は、このサーバ識別情報に基づき、ファイルアクセス要求を宛先のサーバ３に転送する。クライアントにおいては、バックアップ／リストア前と同様、スナップショット作成時の仮想化されたファイルシステムのオブジェクトにアクセスすることができる。
【００９４】
なお、サーバにおける、バックアップ、リストアコマンドは、クライアントから、スイッチを介してサーバに転送してもよい。バックアップクライアントをなすファイルサーバからバックアップサーバに要求し、その要求を受け、バックアップサーバがファイルサーバのファイルシステムにマウントしバックアップをとるようにしてもよい。あるいはNDMPにしたがい、データ管理アプリケーション（DMA；Data management Application）が指示してもよい。
【００９５】
このように、本実施例によれば、仮想化されたスナップショットを用いて、複数のファイルシステムを仮想化した１つのファイルシステムのバックアップイメージをとることで、複数のファイルシステムと仮想化したファイルシステムとのマッピングを管理者がとることは不要とされ、保守管理を特段に容易化しており、保守管理の負担を軽減しながら、データの安全性、システムの信頼性を確保することができる。
【００９６】
なお、上記実施例では、ＮＡＳを例に説明したが、本発明は、ＮＡＳに限定されるものでないことは勿論であり、ネットワーク接続される任意のファイルサーバに適用可能である。以上、本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むものである。
【図面の簡単な説明】
【００９７】
【図１】本発明の一実施例のシステム構成を示す図である。
【図２】本発明の一実施例のスイッチの構成を示す図である。
【図３】本発明の一実施例における統合ディレクトリツリーを説明するための図である。
【図４】本発明の一実施例におけるスナップショット作成を説明する図である。
【図５】本発明の一実施例におけるスナップショット作成手順を説明する図である。
【図６】本発明の一実施例におけるバックアップ／リストアを説明する図である。
【図７】本発明の一実施例におけるバックアップ／リストアの処理手順を説明する図である。
【図８】本発明の他の実施例のシステム構成を示す図である。
【図９】本発明の他の実施例におけるバックアップ／リストアを説明する図である。
【図１０】本発明の他の実施例におけるバックアップ／リストアの処理手順を説明する図である。
【図１１】本発明の他の実施例におけるバックアップ／リストアを説明する図である。
【図１２】本発明の他の実施例におけるバックアップ／リストアの処理手順を説明する図である。
【図１３】スナップショットを説明するための図である。
【図１４】従来システム構成を示す図である。
【符号の説明】
【００９８】
１  クライアント
２  ネットワーク
３  サーバ
４  ファイルシステム層
５  記憶装置
６  バックアップユニット
７  バックアップサーバ
８  テープドライブユニット
７１  インタフェース
１００  スイッチ
１０１  オブジェクトＩＤ書き換え部
１０２  ファイルアクセス管理部
１０３  パケット処理部
１０４  ファイルシステム補完処理部
１０５  擬似ファイルシステム
１０６  仮想スナップショット管理部
１０７  仮想スナップショットリンク情報
１１０  仮想スナップショット機能
１２０  スイッチング機能・仮想化管理機能
２００  擬似ファイルシステム・ディレクトリツリー
２０１、２０２  ディレクトリツリー
２２０  ルートディレクトリ
２２１、２２２、２２３、２２４  ディレクトリ
【図１】
2006099406.tif 000003
【図２】
2006099406.tif 000004
【図３】
2006099406.tif 000005
【図４】
2006099406.tif 000006
【図５】
2006099406.tif 000007
【図６】
2006099406.tif 000008
【図７】
2006099406.tif 000009
【図８】
2006099406.tif 000010
【図９】
2006099406.tif 000011
【図１０】
2006099406.tif 000012
【図１１】
2006099406.tif 000013
【図１２】
2006099406.tif 000014
【図１３】
2006099406.tif 000015
【図１４】
2006099406.tif 000016