(57)【要約】【課題】ファイルレベルのミラーリングを用いた高品質なストレージシステムを実現するための情報処理方法、情報処理システム、情報処理装置及びプログラムを提供すること。【解決手段】上記目的を達成するため、本技術の一形態に係る情報処理方法は、ファイルを記憶することが可能な第１の記憶装置への第１のファイルアクセスを、前記第１の記憶装置に記憶された前記ファイルの複製を記憶する第２の記憶装置に第２のファイルアクセスとして転送することを含む。前記第１のファイルアクセスに対する前記第１の記憶装置の第１のアクセス結果と、前記転送された第２のファイルアクセスに対する前記第２の記憶装置の第２のアクセス結果との整合性が判別される。【選択図】図１
2013120463.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを記憶することが可能な第１の記憶装置への第１のファイルアクセスを、前記第１の記憶装置に記憶された前記ファイルの複製を記憶する第２の記憶装置に第２のファイルアクセスとして転送し、
前記第１のファイルアクセスに対する前記第１の記憶装置の第１のアクセス結果と、前記転送された第２のファイルアクセスに対する前記第２の記憶装置の第２のアクセス結果との整合性を判別する
情報処理方法。
【請求項２】
請求項１に記載の情報処理方法であって、
前記判別ステップは、前記第１のアクセス結果と、前記第２のアクセス結果とをトランザクションで管理する
情報処理方法。
【請求項３】
請求項１に記載の情報処理方法であって、さらに、
前記判別ステップで前記整合性が保たれていないと判別された場合に、前記第１の記憶装置及び前記第２の記憶装置に対してエラー処理を実行する
情報処理方法。
【請求項４】
請求項３に記載の情報処理方法であって、
前記エラー処理の実行ステップは、前記第１及び前記第２のアクセス結果のうち成功となったアクセス結果をキャンセルする
情報処理方法。
【請求項５】
請求項３に記載の情報処理方法であって、
前記転送ステップは、前記ファイルの第１のライトアクセスを、前記第２の記憶装置に前記第２のライトアクセスとして転送し、
前記エラー処理の実行ステップは、前記判別ステップで前記整合性が保たれていないと判別された場合に、前記第１及び前記第２のライトアクセスのうちアクセス結果が失敗となったライトアクセスに関する書き込み先のアドレスをエラーアドレスとして、当該アドレスへのリードアクセスを制限する
情報処理方法。
【請求項６】
請求項１に記載の情報処理方法であって、
前記転送ステップは、前記ファイルの第１のライトアクセスを、前記第２の記憶装置に前記第２のライトアクセスとして転送し、
前記判別ステップは、前記第２の記憶装置からの前記第２のライトアクセスを受信した旨の応答を前記第２のアクセス結果として前記整合性を判別し、
前記情報処理方法は、さらに、前記第２のライトアクセスに関する書き込み先のアドレスをエラーアドレスとして、当該アドレスへのリードアクセスを制限する
情報処理方法。
【請求項７】
請求項１に記載の情報処理方法であって、
前記転送ステップは、前記第１のファイルアクセスの転送であることを示す識別子を、前記第２のファイルアクセスに付与し、
前記情報処理方法は、さらに、前記第２の記憶装置への、前記識別子を有さない第３のファイルアクセスを前記第１の記憶装置に第４のファイルアクセスとして転送し、
前記転送ステップは、前記第４のファイルアクセスを前記第１のファイルアクセスとして処理する
情報処理方法。
【請求項８】
請求項７に記載の情報処理方法であって、
前記転送ステップは、前記第１のファイルアクセスである第１のライトアクセスの転送であることを示す識別子を、前記第２のファイルアクセスである第２のライトアクセスに付与し、
前記情報処理方法は、さらに、前記第２の記憶装置への、前記識別子を有さない第３のライトアクセスを前記第１の記憶装置に第４のライトアクセスとして転送し、
前記転送ステップは、前記第４のライトアクセスを前記第１のライトアクセスとして処理する
情報処理方法。
【請求項９】
ファイルを記憶することが可能な第１の記憶装置と、前記第１の記憶装置に記憶された前記ファイルの複製を記憶する第２の記憶装置とを具備する情報処理システムであって、
前記第１の記憶装置は、
前記前記第１の記憶装置への第１のファイルアクセスを、前記第２の記憶装置に第２のファイルアクセスとして転送する転送部と、
前記第１のファイルアクセスに対する前記第１の記憶装置の第１のアクセス結果と、前記転送された第２のファイルアクセスに対する前記第２の記憶装置の第２のアクセス結果との整合性を判別する判別部とを有する
情報処理システム。
【請求項１０】
ファイルを記憶することが可能な記憶部と、
前記ファイルに関する第１のファイルアクセスを受け付ける受付部と、
前記受け付けられた第１のファイルアクセスを、前記記憶部に記憶された前記ファイルの複製を記憶する外部の記憶装置に第２のファイルアクセスとして転送する転送部と、
前記第１のファイルアクセスに対する第１のアクセス結果と、前記転送された第２のファイルアクセスに対する前記外部記憶装置の第２のアクセス結果との整合性を判別する判別部と
を具備する情報処理装置。
【請求項１１】
ファイルを記憶することが可能な記憶部と、
前記ファイルに関する第１のファイルアクセスを受け付ける受付部と、
前記受け付けられた第１のファイルアクセスを、前記記憶部に記憶された前記ファイルの複製を記憶する外部の記憶装置に第２のファイルアクセスとして転送する転送部と、
前記第１のファイルアクセスに対する第１のアクセス結果と、前記転送された第２のファイルアクセスに対する前記外部記憶装置の第２のアクセス結果との整合性を判別する判別部と
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ミラーリングを用いたストレージシステムを実現するための情報処理方法、情報処理システム、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ミラーリング技術を用いたストレージシステムが知られている。ミラーリング技術は、ブロックレベルのミラーリングと、ファイルレベルのミラーリングの２つに大別される。
【０００３】
ブロックレベルのミラーリングの方法としてＲＡＩＤ１が知られている。ＲＡＩＤ１では１つのファイルエントリに対して、２つ以上のブロックが割り当てられる。データが保存される際には、割り当てられた２つ以上のブロックに同じデータがそれぞれ記録される。
【０００４】
ＲＡＩＤ１では、片方のブロックが使用不可能な状態に陥っても、もう片方のブロックが利用可能で、冗長性を担保できる。しかし、ＲＡＩＤカードのようなＲＡＩＤ１の構成を管理している部分に障害が発生した場合には利用することができない。また、ＲＡＩＤ１を組む複数のブロックは同じサイズで、かつ同じ速度であることが期待されるため、構成の柔軟性に欠ける。
【０００５】
一方ファイルレベルのミラーリングには共有ディスクを用いる方式と、用いない方式がある。共有ディスクを用いる方式については、例えば特許文献１に記載されている。この方式では、高価な共有ディスクが必要となり、コストが高くなる。
【０００６】
共有ディスクを用いない方式としては、例えばマイクロソフト社のＤＦＳ−Ｒ（分散ファイルシステムレプリケーション）があげられる。また例えば特許文献２に記載のような主従のリプリケーション構造を持つものがあげられる。
【０００７】
これらの方式は、一般には、災害等が起きたときのデータの保護を目的に用いられる。すなわち主ストレージの設置場所から離れた場所にミラーリング先となる従ストレージが設けられる。例えばデータが従ストレージに到達したときに、当該データをディスクに書き込む前にＡｃｋを返すことで、遠隔地でも高速にデータをコピーすることが可能である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平６−１７５７８８号公報
【特許文献２】特表平８−５０９５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
近年では、カメラ等で撮影された動画コンテンツ等のデータが、ファイルベースで取り扱われることが多くなっている。このような動画コンテンツデータは大容量となることが多い。このようなコンテンツデータを保持するための高品質のストレージシステムを、ファイルレベルのミラーリングを用いて実現することが求められる。
【００１０】
以上のような事情に鑑み、本技術の目的は、ファイルレベルのミラーリングを用いた高品質なストレージシステムを実現するための情報処理方法、情報処理システム、情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本技術の一形態に係る情報処理方法は、ファイルを記憶することが可能な第１の記憶装置への第１のファイルアクセスを、前記第１の記憶装置に記憶された前記ファイルの複製を記憶する第２の記憶装置に第２のファイルアクセスとして転送することを含む。  
前記第１のファイルアクセスに対する前記第１の記憶装置の第１のアクセス結果と、前記転送された第２のファイルアクセスに対する前記第２の記憶装置の第２のアクセス結果との整合性が判別される。
【００１２】
この情報処理方法では、第１の記憶装置への第１のファイルアクセスが、ファイルの複製を記憶する第２の記憶装置に、第２のファイルアクセスとして転送される。そして第１の記憶装置による第１のアクセス結果と、第２の記憶装置による第２のアクセス結果との整合性が判別される。これによりファイルレベルのミラーリングを用いた高品質なストレージシステムを実現することが可能となる。
【００１３】
前記判別ステップは、前記第１のアクセス結果と、前記第２のアクセス結果とをトランザクションで管理してもよい。
【００１４】
前記情報処理方法は、さらに、前記判別ステップで前記整合性が保たれていないと判別された場合に、前記第１の記憶装置及び前記第２の記憶装置に対してエラー処理を実行することを含んでもよい。
【００１５】
前記エラー処理の実行ステップは、前記第１及び前記第２のアクセス結果のうち成功となったアクセス結果をキャンセルしてもよい。
【００１６】
前記転送ステップは、前記ファイルの第１のライトアクセスを、前記第２の記憶装置に前記第２のライトアクセスとして転送してもよい。この場合、前記エラー処理の実行ステップは、前記判別ステップで前記整合性が保たれていないと判別された場合に、前記第１及び前記第２のライトアクセスのうちアクセス結果が失敗となったライトアクセスに関する書き込み先のアドレスをエラーアドレスとして、当該アドレスへのリードアクセスを制限してもよい。
【００１７】
前記転送ステップは、前記ファイルの第１のライトアクセスを、前記第２の記憶装置に前記第２のライトアクセスとして転送してもよい。この場合、前記判別ステップは、前記第２の記憶装置からの前記第２のライトアクセスを受信した旨の応答を前記第２のアクセス結果として前記整合性を判別してもよい。また前記情報処理方法は、さらに、前記第２のライトアクセスに関する書き込み先のアドレスをエラーアドレスとして、当該アドレスへのリードアクセスを制限することを含んでもよい。
【００１８】
この情報処理方法では、第２のライトアクセスを受信した旨の応答を第２のアクセス結果として整合性が判別される。これによりストレージ処理の高速化を図ることができる。また第２のライトアクセスに関する書き込み先のアドレスをエラーアドレスとして、当該アドレスへのリードアクセスが制限される。これにより高品質なストレージシステムを実現することが可能となる。
【００１９】
前記転送ステップは、前記第１のファイルアクセスの転送であることを示す識別子を、前記第２のファイルアクセスに付与してもよい。この場合、前記情報処理方法は、さらに、前記第２の記憶装置への、前記識別子を有さない第３のファイルアクセスを前記第１の記憶装置に第４のファイルアクセスとして転送することを含んでもよい。また前記転送ステップは、前記第４のファイルアクセスを前記第１のファイルアクセスとして処理してもよい。
【００２０】
この情報処理方法では、第２の記憶装置への第３のファイルアクセスが、第１の記憶装置に第４のファイルアクセスとして転送せれる。転送された第４のファイルアクセスは、第１のファイルアクセスとして処理される。これによりスループットの高い高品質なストレージシステムを実現することが可能となる。
【００２１】
前記転送ステップは、前記第１のファイルアクセスである第１のライトアクセスの転送であることを示す識別子を、前記第２のファイルアクセスである第２のライトアクセスに付与してもよい。この場合、前記情報処理方法は、さらに、前記第２の記憶装置への、前記識別子を有さない第３のライトアクセスを前記第１の記憶装置に第４のライトアクセスとして転送してもよい。また前記転送ステップは、前記第４のライトアクセスを前記第１のライトアクセスとして処理してもよい。
【００２２】
本技術の一形態に係る情報処理システムは、ファイルを記憶することが可能な第１の記憶装置と、前記第１の記憶装置に記憶された前記ファイルの複製を記憶する第２の記憶装置とを具備する。  
前記第１の記憶装置は、転送部と、判別部とを有する。  
前記転送部は、前記前記第１の記憶装置への第１のファイルアクセスを、前記第２の記憶装置に第２のファイルアクセスとして転送する。  
前記判別部は、前記第１のファイルアクセスに対する前記第１の記憶装置の第１のアクセス結果と、前記転送された第２のファイルアクセスに対する前記第２の記憶装置の第２のアクセス結果との整合性を判別する。
【００２３】
本技術の一形態に係る情報処理装置は、記憶部と、受付部と、転送部と、判別部とを具備する。  
前記記憶部は、ファイルを記憶することが可能である。  
前記受付部は、前記ファイルに関する第１のファイルアクセスを受け付ける。  
前記転送部は、前記受け付けられた第１のファイルアクセスを、前記記憶部に記憶された前記ファイルの複製を記憶する外部の記憶装置に第２のファイルアクセスとして転送する。  
前記判別部は、前記第１のファイルアクセスに対する第１のアクセス結果と、前記転送された第２のファイルアクセスに対する前記外部記憶装置の第２のアクセス結果との整合性を判別する。
【００２４】
本技術の一形態に係るプログラムは、前記記憶部と、前記受付部と、前記転送部と、前記判別部と、としてコンピュータを機能させる。
【発明の効果】
【００２５】
以上のように、本技術によれば、ファイルレベルのミラーリングを用いた高品質なストレージシステムを実現することが可能となる。
【図面の簡単な説明】
【００２６】
【図１】本技術の第１の実施形態に係る情報処理システムとしてのストレージシステムの構成例を示す模式的な図である。
【図２】第１の実施形態に係るストレージシステムの動作例を示す模式的なシーケンス図である。
【図３】第１の実施形態に係るトランザクション判定テーブルの一例を示す図である。
【図４】図１に示すストレージシステムのライトアクセス実行時における動作の一例を示すフローチャートである。
【図５】第１の実施形態に係るリードアクセスとしてのＲｅａｄＦｉｌｅが発行されるまでの処理の一例を示すフローチャートである。
【図６】本技術の第２の実施形態に係る情報処理システムとしてのストレージシステムの構成例を示す模式的な図である。
【図７】図６に示すストレージシステムのライトアクセス実行時における動作の一例を示すフローチャートである。
【図８】本技術の第３の実施形態に係る情報システムとしてのストレージシステムの構成例を示す模式的な図である。
【図９】図８に示すアクセス判定部の動作例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
【００２８】
＜第１の実施形態＞
［ストレージシステムの構成］
図１は、本技術の第１の実施形態に係る情報処理システムとしてのストレージシステムの構成例を示す模式的な図である。このストレージシステム１００により、本実施形態に係る情報処理方法が実行される。
【００２９】
ストレージシステム１００は、第１の記憶装置１０と、第２の記憶装置２０と、第１及び第２の記憶装置１０及び２０のそれぞれの動作を管理する管理装置３０とを有する。第１及び第２の記憶装置１０及び２０と、管理装置３０とは、図示しないネットワークを通じて相互に接続されている。
【００３０】
ネットワークは、例えばＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等が用いられる。しかしながらネットワークの種類やそれに用いられるプロトコル等は限定されない。例えば第１の記憶装置１０と管理装置３０とがＬＡＮで接続され、これらと第２の記憶装置２０とがそれぞれＷＡＮで接続されるといった構成も可能である。
【００３１】
第１及び第２の記憶装置１０及び２０は、動画コンテンツ等のファイルデータを記憶する図示しない記憶デバイス（記憶部）をそれぞれ有する。記憶デバイスとしては、例えばＳＳＤ（Solid State Drive）、複数のディスクがＲＡＩＤ（Redundant Arrays of Inexpensive Disks）技術により束ねられたＲＡＩＤデバイス等が用いられる。又はｉＳＣＳＩ（Internet Small Computer System Interface）イニシエータによりディスクが束ねられたもの等が用いられてもよい。あるいは、ＨＤＤ（Hard Disk Drive）やテープを用いた記憶デバイス等が用いられてもよい。その他種々の記憶デバイスが用いられてよい。
【００３２】
これら記憶デバイスは、第１及び第２の記憶装置１０及び２０に内蔵されてもよい。あるいは第１及び第２の記憶装置１０及び２０に、外部の記憶デバイスとしてネットワーク等を通じて接続されてもよい。また各記憶デバイスとして、クラスタストレージを構成するものが用いられてもよい。
【００３３】
また管理装置３０も、例えばＨＤＤ、フラッシュメモリ、その他の固体メモリ等からなる不揮発性の記憶デバイスを有する。
【００３４】
第１及び第２の記憶装置１０及び２０、及び管理装置３０としては、例えばＰＣ（Personal computer）等のコンピュータがそれぞれ用いられる。各装置による情報処理は、コンピュータが有するＲＯＭ（Read Only Member）等に記憶された等のソフトウェアと、ＰＣ等のハードウェア資源との協働により実現される。具体的には、ＣＰＵ（Central Processing Unit）がＲＯＭ等に記憶されたソフトウェアを構成するプログラムを、ＲＡＭ（Random Access Memory）にロードして実行することにより実行される。
【００３５】
すなわち図１に示す各装置の機能ブロックやモジュールは、プログラムをもとにＣＰＵ等が動作することで実現される。プログラムは、例えば記録媒体を介して各装置にインストールされる。又はグローバルネットワーク等を介してインストールされてもよい。なお各ブロックやモジュールを実現するためにハードウェアが適宜設けられてもよい。
【００３６】
本実施形態では、ネットワーク等を通じて接続された図示しない外部機器からストレージシステム１００に対して種々のファイルアクセスが行われる。
【００３７】
外部機器としては、例えばストレージシステム１００に映像データや音声データ等の素材データをファイルデータとして出力する出力装置がある。また、ストレージシステム１００から所定のファイルデータを読み出して編集処理等を実行する編集装置がある。その他、外部機器として、ファイルデータを取り扱う種々のクライアント装置があげられる。
【００３８】
ファイルアクセスとしては、例えばファイルを開く（ファイルの作成を含む）、ファイルにデータを書く、ファイルからデータを読む、ファイルのメタデータを変更する、ファイルを閉じる等の様々なアクセスがある。ファイルアクセスの種類は限定されない。
【００３９】
本実施形態では仮想環境等を利用することで、外部機器からはストレージシステム１００全体が１つのストレージとして認識される。なおストレージシステム１００内においては、第１の記憶装置１０に対して、第２の記憶装置２０は外部の記憶装置に相当する。
【００４０】
図１に示すように、第１の記憶装置１０は、ファイルシステム１１と、ＩＲＰ（I/O Request Packet）オペレーションモジュール１２と、Ｉ／Ｏ（Input/Output）転送モジュール１３と、トランザクション管理モジュール１４と、エラー処理モジュール１５とを有する。
【００４１】
ファイルシステム１１は、第１の記憶装置１０が有する記憶デバイスに記憶されたファイルデータの管理を行う。例えば外部機器が有するアプリケーション４０によりファイルアクセスが実行される。そうすると当該ファイルアクセスが、第１の記憶装置１０が有するファイルシステム１１に対するＩ／Ｏリクエストとして、アプリケーション４０から発行される。Ｉ／Ｏリクエストを受けたファイルシステム１１は所定のアクセスを実行する。
【００４２】
外部機器による第１の記憶装置１０へのファイルアクセスは第１のファイルアクセスに相当する。以後、第１のファイルアクセスが実行されることにより発行されるＩ／Ｏリクエストを第１のＩ／Ｏリクエストと記載する。
【００４３】
また第１のＩ／Ｏリクエストに対するファイルシステム１１のアクセス結果を第１のアクセス結果と記載する。この第１のアクセス結果は、第１のファイルアクセスに対する第１の記憶装置１０のアクセス結果を意味する。第１のアクセス結果は、ＩＲＰオペレーションモジュール１２に返される。
【００４４】
なお本実施形態では、外部機器からのファイルアクセスは第１の記憶装置１０により受け付けられ、第２の記憶装置２０には受け付けられない。すなわち本実施形態では、アクティブ／パッシブ構成にて第１及び第２の記憶装置１０及び２０が動作する。従って第１及び第２の記憶装置１０及び２０は、それぞれメインクラスタ及びサブクラスタとして動作する。
【００４５】
従って、本実施形態に係るミラーリングでは、アクティブなミラー元に書き込まれたファイルデータがパッシブなミラー元にミラーリングされる。この結果、第１の記憶装置１０の記憶デバイスに記憶されたファイルデータの複製が、第２の記憶装置２０の記憶デバイスに記憶される。第１の記憶装置１０にのみファイルアクセスが発行されるので、エラーが発生したとき等の処理を簡略化することが可能となる。
【００４６】
ＩＲＰオペレーションモジュール１２は、ファイルシステム１１のフィルタドライバとして実装される。ＩＲＰオペレーションモジュール１２は、ファイルシステム１１に送信された第１のＩ／Ｏリクエストをフックして、そのコピーをＩ／Ｏ転送モジュール１３に送信することが可能である。
【００４７】
Ｉ／Ｏ転送モジュール１３は、ミラー先として設定された第２の記憶装置２０に第１のＩ／Ｏリクエストのコピーを発行する。このように本実施形態では、第１の記憶装置１０への第１のファイルアクセスが第２の記憶装置２０に第２のファイルアクセスとして転送される。以後、第１のＩ／Ｏリクエストのコピーを第２のＩ／Ｏリクエストと記載する。
【００４８】
ＩＲＰオペレーションモジュール１２及びＩ／Ｏ転送モジュール１３は、本実施形態に係る受付部及び転送部として機能する。
【００４９】
またＩ／Ｏ転送モジュール１３は、第２の記憶装置２０のファイルシステム２１から、第２のＩ／Ｏリクエストに対するアクセス結果を受け取る。
【００５０】
以後、第２のＩ／Ｏリクエストに対するファイルシステム２１のアクセス結果を第２のアクセス結果と記載する。この第２のアクセス結果は、第２のファイルアクセスに対する第２の記憶装置２０のアクセス結果を意味する。第２のアクセス結果は、ＩＲＰオペレーションモジュール１２に返される。
【００５１】
トランザクション管理モジュール１４は、ＩＲＰオペレーションモジュール１２から第１及び第２のアクセス結果を受信する。トランザクション管理モジュール１４は、第１及び第２のアクセス結果に対してトランザクション判定処理を実行する。
【００５２】
例えば第１及び第２のアクセス結果がともに成功となる場合は、第１のＩ／Ｏリクエストの成功という結果がアプリケーション４０に返される。また第１及び第２のアクセス結果がともに失敗となる場合は、第１のＩ／Ｏリクエストの失敗という結果がアプリケーション４０に返される。
【００５３】
第１及び第２のアクセス結果の一方が成功となり他方が失敗となる場合は、その情報がエラー処理モジュール１５に送信される。トランザクション判定処理は、後述するトランザクション判定テーブル１７が参照されることで実行される。
【００５４】
このように本実施形態では、第１のアクセス結果と、第２のアクセス結果とがトランザクションで管理される。これにより第１のアクセス結果と、第２のアクセス結果との整合性が判別される。トランザクション管理モジュール１４は、本実施形態に係る判別部として機能する。
【００５５】
またトランザクション管理モジュール１４は、エラーアドレス１６の情報を有する。例えばファイルアクセスとしてライトアクセスが実行されそのアクセス結果が失敗となった場合に、書き込み先のアドレスがエラーアドレス１６として登録される場合がある。そのエラーアドレス１６の情報がトランザクション管理モジュール１４により扱われる。トランザクション判定処理及びエラーアドレス１６については後に詳しく説明する。
【００５６】
エラー処理モジュール１５は、トランザクション判定処理により第１及び第２のアクセス結果に不整合が生じた場合に、その調停を行う。このように本実施形態では、第１及び第２のアクセス結果の整合性が保たれていないと判別された場合に、そのエラーを復旧させるために、第１及び第２の記憶装置１０及び２０に対してエラー処理が実行される。
【００５７】
管理装置３０は、エラー処理モジュール１５によるエラー処理を管理するエラーマネージャ３１を有する。また管理装置３０の記憶デバイスには、第１及び第２の記憶装置１０及び２０に対するミラーリング設定の情報である設定値３２が格納されている。
【００５８】
本実施形態では、予め管理装置３０により第１及び第２の記憶装置１０及び２０にミラーリング設定が行われる。例えば第１の記憶装置１０に対してミラー元となるｓｒｃディレクトリが設定される。また第２の記憶装置２０に対してミラー先となるｄｅｓｔディレクトリが設定される。その他、ミラーリングのための種々の設定が行われてよい。
【００５９】
［ストレージシステムの動作］
図２は、本実施形態に係るストレージシステム１００の動作例を示す模式的なシーケンス図である。図２では、第１及び第２の記憶装置１０及び２０の動作を中心としたシーケンスが図示されており管理装置３０の動作は省略されている。
【００６０】
アプリケーション４０により第１のファイルアクセスが実行される。図２に示す例では、ファイルを開くアクセスが実行される。これによりネットワーク５０を通じて、アプリケーション４０から第１の記憶装置１０に、第１のＩ／Ｏリクエストが発行される（ステップ１０１）。
【００６１】
ＩＲＰオペレーションモジュール１２により、第１の記憶装置１０に送信された第１のＩ／Ｏリクエストがフックされる。ＩＲＰオペレーションモジュール１２は、フックした第１のＩ／Ｏリクエストが、どのディレクトリ下にあるファイルへのアクセスであるかを判定する。この判定処理は、管理装置３０の記憶デバイスに格納された設定値３２が参照されることで行われる。
【００６２】
例えば第１のＩ／Ｏリクエストが、予めミラー元として設定されたｓｒｃディレクトリ下にあるファイルへのアクセスであったとする。この場合、ＩＲＰオペレーションモジュール１２は、ファイルシステム１１に第１のＩ／Ｏリクエストを発行するとともに、Ｉ／Ｏ転送モジュール１３に第２の第１のＩ／Ｏリクエストを送信する。
【００６３】
ファイルシステム１１は、第１のＩ／Ｏリクエストをもとに記憶デバイス１８に記憶されたリクエスト対象のファイルにアクセスする（ステップ１０２）。そして第１のＩ／Ｏリクエストに対する第１のアクセス結果がＩＲＰオペレーションモジュール１２に返され、トランザクション管理モジュール１４に送信される（ステップ１０３）。
【００６４】
Ｉ／Ｏ転送モジュール１３は、ミラー先として設定されたｄｅｓｔディレクトリ下のファイルへのアクセスとして、第２のＩ／Ｏリクエストを第２の記憶装置２０に送信する（ステップ１０４）。
【００６５】
Ｉ／Ｏ転送モジュール１３によって発行された第２のＩ／Ｏリクエストは、第２の記憶装置２０のファイルシステム２１に送信される。ファイルシステム２１は、第２のＩ／Ｏリクエストをもとに記憶デバイス２８に記憶されたリクエスト対象のファイルにアクセスする（ステップ１０５）。
【００６６】
第２のＩ／Ｏリクエストに対する第２のアクセス結果がファイルシステム２１に返される（ステップ１０６）。第２のアクセス結果は、第１の記憶装置１０のＩＲＰオペレーションモジュール１２を介してトランザクション管理モジュール１４に送信される（ステップ１０７）。
【００６７】
トランザクション管理モジュール１４によりトランザクション判定処理が実行される（ステップ１０８）。またトランザクション判定処理の結果をもとに、エラー処理モジュール１５及びエラーマネージャ３１によりエラー処理が実行される（ステップ１０９）。エラー処理の結果は、アプリケーション４０に返される（ステップ１１０）。
【００６８】
図３は、トランザクション判定処理及びエラー処理にて参照されるトランザクション判定テーブル１７の一例を示す図である。
【００６９】
ファイルを開くアクセスとしてのＣｒｅａｔｅＦｉｌｅについて判定テーブル１７を見てみる。そうすると第    １及び第２のアクセス結果がともに成功（丸印）又はともに失敗（Ｅｒｒｏｒ）の場合は、トランザクション判定は正常となる。そして上記したように第１のＩ／Ｏリクエストの成功又は失敗の結果がアプリケーション４０に返される。
【００７０】
この場合のエラー処理は、図３に示すように、エラー処理モジュール１５に対してもエラーマネージャ３１に対しても、ＤＯ＿ＮＯＴＨＩＮＧとなっている。すなわちエラー処理モジュール１５によるエラー処理もエラーマネージャ３１によるエラー処理も実行されない。
【００７１】
第１のアクセス結果が成功となり、第２のアクセス結果が失敗となった場合は、エラー処理が実行される。なお本実施形態では、第２のアクセス結果の失敗として、「ＳＴＡＴＵＳ＿ＳＨＡＲＩＮＧ＿ＶＩＯＬＡＴＩＯＮ」と「ＯｔｈｅｒＥｒｒｏｒ」とが区別して設定される。そしてトランザクション判定も、これらについて正常とＥｒｒｏｒとで区別されている。
【００７２】
「ＳＴＡＴＵＳ＿ＳＨＡＲＩＮＧ＿ＶＩＯＬＡＴＩＯＮ」は、例えば他のファイルアクセスとの競合によりＣｒｅａｔｅＦｉｌｅが実行不可である場合等に発生する。この場合には、エラー処理モジュール１５により、第１の記憶装置１０による第１のアクセス結果がキャンセルされる。そして「ＳＴＡＴＵＳ＿ＳＨＡＲＩＮＧ＿ＶＩＯＬＡＴＩＯＮ」がアプリケーション４０に通知される。
【００７３】
エラーマネージャ３１に対してはＤＯ＿ＮＯＴＨＩＮＧとなっておりエラー処理は実行されない。「ＳＴＡＴＵＳ＿ＳＨＡＲＩＮＧ＿ＶＩＯＬＡＴＩＯＮ」を受けたアプリケーション４０は、その旨を外部機器を使用するユーザに表示する等の所定の処理を実行する。
【００７４】
第２のアクセス結果が「ＯｔｈｅｒＥｒｒｏｒ」の場合は、本実施形態ではその旨の情報が、エラー処理モジュール１５からエラーマネージャ３１に通知される。通知を受けたエラーマネージャ３１は、第１の記憶装置１０にてアクセスされたファイルが後ほど第２の記憶装置２０の記憶デバイス２８にコピーされるように予約処理を行う。
【００７５】
例えば第２の記憶装置２０に対してファイルアクセスが可能な状況と判定されたときにコピー処理が実行される。あるいは、第２の記憶装置２０の処理負荷が少ないタイミングでコピー処理が実行されてもよい。
【００７６】
第１のアクセス結果が失敗となり、第２のアクセス結果が成功となった場合は、トランザクション判定は警告（Ｗａｒｎｉｎｇ）となる。エラー処理モジュール１５により、第２の記憶装置２０による第２のアクセス結果がキャンセルされる。またエラー処理モジュール１５により警告と判定された旨の情報がエラーマネージャ３１に通知される。エラーマネージャ３１では、その結果がログとして記憶される。
【００７７】
本実施形態では、アクティブ／パッシブ構成にて第１及び第２の記憶装置１０及び２０が動作する。従ってメインクラスタである第１の記憶装置１０による第１のアクセス結果が失敗（ＳＴＡＴＵＳ＿ＳＨＡＲＩＮＧ＿ＶＩＯＬＡＴＩＯＮを含む）の場合は、第２のアクセス結果がキャンセルされる。そしてその結果がストレージシステム１００にて管理可能となるようにログが保持される。
【００７８】
このように本実施形態に係るストレージシステム１００では、トランザクション管理モジュール１４によりトランクション判定が行われる。これにより、第１及び第２のアクセス結果の整合性が判別される。そして第１及び第２のアクセス結果が保たれていないと判別された場合、当該整合性が保たれるように適宜エラー処理が実行される。これによりファイルレベルのミラーリングを用いた高品質なストレージシステム１００を実現することが可能となる。なおトランザクション判定テーブル１７の内容は限定されない。
【００７９】
上記では、ファイルを開く（ファイルの作成を含む）場合について説明した。その他の、ファイルのメタデータを変更する、又はファイルを閉じる等のファクスアクセスが実行される場合にも、適宜トランザクション判定処理及びエラー処理が実行されればよい。例えば第１及び第２のアクセス結果のうち成功となったアクセス結果が適宜キャンセルされればよい。
【００８０】
ファイルからデータを読み込むリードアクセスが実行された場合は、トランザクション処理及びエラー処理が実行されなくてもよい。ファイルの読み込みでは、第１及び第２の記憶装置１０及び２０のそれぞれに記憶されているファイルデータに変更が生じない。従ってリードアクセスに対して第１及び第２のアクセス結果が不整合となった場合でもファイルデータの不整合は生じないからである。
【００８１】
ファイルにデータを書き込むライトアクセスが実行された場合について説明する。ファイルアクセスは、容易にキャンセル可能なものとキャンセル不可能なものとに分類される。例えばファイルを開く動作は静的なファイルデータが何も変化しないため、即時にキャンセルが可能である。
【００８２】
一方、ファイルにデータを書き込む動作は、第１及び第２のアクセス結果の一方が成功で他方が失敗の場合には、ファイル内のデータに不整合が生じてしまう。また例えば成功となったアクセス結果がキャンセルされたとしても、静的なデータとして不整合が生じた状態が残ってしまう。従って、ライトアクセスの実行時には以下のような処理が行われる。
【００８３】
図４は、ライトアクセス実行時におけるストレージシステム１００の動作の一例を示すフローチャートである。
【００８４】
外部機器のアプリケーション４０により第１の記憶装置１０へのライトアクセスである第１のライトアクセスが実行される。当該アクセス対象となるファイルが、ミラー元として設定されたｓｒｃディレクトリ下にあるか否かが判定される（ステップ２０１）。
【００８５】
判定結果がＮｏの場合ミラーリングは行われず、第１の記憶装置１０のローカルのファイルシステム１１に、ライトアクセスとしてのＷｒｉｔｅＦｉｌｅが発行される。そしてファイルシステム１１によりＷｒｉｔｅＦｉｌｅが実行される（ステップ２０２）。
【００８６】
ステップ２０１の判定結果がＹｅｓの場合、ミラー先のファイルにデータを書き込むため、ファイルハンドルが取得される（ステップ２０３）。ここでファイルハンドルはＷｒｉｔｅＦｉｌｅの発行に先んじてＣｒｅａｔｅＦｉｌｅ（Ｆｉｌｅを開く、作成する）が成功しているので、そこで取得したミラー先のファイルハンドルが利用される。
【００８７】
ミラー先である第２の記憶装置２０に、ＷｒｉｔｅＦｉｌｅが発行される（ステップ２０４）。このＷｒｉｔｅＦｉｌｅは、第１のライトアクセスの転送である第２のライトアクセスとして発行される。これと同時、もしくはその後にローカルのファイルシステム１１に第１のライトアクセスとしてのＷｒｉｔｅＦｉｌｅが発行される（ステップ２０５）。
【００８８】
本実施形態では、ミラー先へのＷｒｉｔｅＦｉｌｅの発行は非同期で行われる。これにより動画コンテンツ等の大容量のデータを容易に取り扱うことが可能となる。
【００８９】
２つのＷｒｉｔｅＦｉｌｅの結果である第１及び第２のアクセス結果について、トランザクション判定テーブル１７をもとにトランザクション判定処理が実行される（ステップ２０６）。そして判定結果は正常であるかエラーであるかが判定される（ステップ２０７）。
【００９０】
図３の判定テーブルのＷｒｉｔｅＦｉｌｅについてのデータに示すように、第１及び第２のアクセス結果がともに成功又はともに失敗の場合は、判定結果は正常となる。従ってステップ２０７のＮＯからステップ２０８に進む。一方、第１及び第２のアクセス結果の一方が成功となり他方が失敗の場合、第１及び第２のアクセス結果の整合性が保たれていないと判別される。従ってトランザクション判定の結果はエラーとなりエラー処理が実行される（ステップ２０７のＹｅｓからステップ２０９に進む）。
【００９１】
エラー処理モジュールにより、第１及び第２のライトアクセスのうちアクセス結果が失敗となったライトアクセスに関する書き込み先のアドレスがエラーアドレス１６として登録される（ステップ２０９）。
【００９２】
第１のアクセス結果が成功となり第２のアクセス結果が失敗となった場合は、アクセス結果が失敗となった第２のライトアクセスに関する書き込み先のアドレスがエラーアドレス１６として登録される。第２のアクセス結果が成功となり第１のアクセス結果が失敗となった場合は、アクセス結果が失敗となった第１のライトアクセスに関する書き込み先のアドレスがエラーアドレス１６として登録される。
【００９３】
エラー処理モジュール１５により、トランザクション判定の結果及びエラーアドレス１６の情報がエラーマネージャ３１に通知される（ステップ２１０）。そこでエラーアドレス１６の情報が記憶される。
【００９４】
図３に示すようにエラーマネージャ３１は、第２のアクセス結果が失敗の場合は、再送処理を実行する。すなわちＷｒｉｔｅＦｉｌｅを再び発行し、第２の記憶装置２０のファイルシステム２１に再びデータの書き込みを実行させる。
【００９５】
第１のアクセス結果が失敗の場合は、ファイルの書き戻しが行われる。すなわち第２の記憶装置２０に記憶された書き込み済みのファイルデータが読み込まれ、第１の記憶装置１０の記憶デバイスに書き戻される。
【００９６】
エラーマネージャ３１によるエラー処理が実行されている間は、エラーアドレス１６として登録されたアドレスへのリードアクセスが制限される。図５は、リードアクセスとしてのＲｅａｄＦｉｌｅが発行されるまでの処理の一例を示すフローチャートである。
【００９７】
ＲｅａｄＦｉｌｅの対象となるアドレスがエラーアドレス１６として登録されているか否かが判定される（ステップ３０１）。対象アドレスがエラーアドレス１６として登録されていない場合は（ステップ３０１のＮｏ）、ＲｅａｄＦｉｌｅが発行される。
【００９８】
対象アドレスがエラーアドレス１６として登録されている場合（ステップ３０１のＹｅｓ）、対象アドレスのファイルにデータが正常に書き込まれるまでＲｅａｄＦｉｌｅが待機となる（ステップ３０２）。すなわちエラーマネージャ３１によるエラー処理が正常に終了するまでリードアクセスが一時止められる。このように特定のアドレスにフラグを付けることで、他のＷｒｉｔｅＦｉｌｅ等の処理を妨げずに動作させることが可能となる。
【００９９】
なお、第２の記憶装置２０への第２のライトアクセスが失敗となる場合に、対応する第１のライトアクセスに関する書き込み先のアドレスがエラーアドレス１６として登録されてもよい。そしてステップ３０１の判定処理においてそのエラーアドレス１６の情報が参照されてもよい。
【０１００】
エラーアドレス１６として登録された対象アドレスのファイルにデータが正常に書き込まれると、ＲｅａｄＦｉｌｅの待機が解除される（ステップ３０３）。そしてＲｅａｄＦｉｌｅが発行される。
【０１０１】
図４のステップ２０７にて判定結果が正常となり書き込み処理が実行された場合、書き込み処理が終了したアドレスが、エラーアドレス１６として登録されているかが判定される。そしてエラーアドレス１６として登録されている場合は、その登録が削除される（ステップ２０８）。例えばデータの書き込み処理がエラー処理による復旧である場合には、書き込み先のアドレスはエラーアドレス１６として登録されている。そのような場合には、復旧が終了した際には、エラーアドレス１６の登録が解除される。
【０１０２】
以上、本実施形態に係るストレージシステム１００による情報処理方法では、第１の記憶装置１０への第１のファイルアクセスが、ファイルの複製を記憶する第２の記憶装置２０に、第２のファイルアクセスとして転送される。そして各ファイルアクセスに対する、第１の記憶装置１０の第１のアクセス結果と、第２の記憶装置２０の第２のアクセス結果との整合性が判別される。これによりファイルレベルのミラーリングを用いた高品質なストレージシステム１００を実現することが可能となる。
【０１０３】
第１及び第２のアクセス結果の整合性の判別は、第１及び第２のアクセス結果がトランザクションで管理されることで行われる。これにより複雑な処理を要することなく判別処理を実行することが可能となる。また第１及び第２のアクセス結果の整合性が保たれていないと判別された場合に、上記したようなエラー処理が適宜実行される。これにより高品質なストレージシステム１００を実現することが可能となる。
【０１０４】
一般的なファイルシステムとして、ファイルの共有機構をもつものが知られている。例えばWindows（登録商標）等のファイルシステムでは、あるホスト機器があるファイルにアクセスする際には、例えばＳＨＡＲＥ＿ＲＥＡＤ等の、他のホスト機器が読み書きすることを許可するフラグを設定することが可能である。
【０１０５】
放送局等で用いられるストレージシステムを想定した場合には、インジェストと呼ばれるテープや衛星等から送られてくるデータをリアルタイムで書き込みながら、随時読み込んで編集するという追っかけ編集のニーズがある。そのような場合には、ファイルを開いている時間が数十分にわたる場合があり、その間アクセスを許可したいプロセスがアクセスできない可能性があったり、アクセスを拒否したいプロセスがアクセスできたりしてしまう。
【０１０６】
一方、本実施形態に係るストレージシステム１００では、主クラスタである第１の記憶装置１０に対するファイルアクセスが従クラスタである第２の記憶装置２０にミラーリングされる。これによりファイルアクセスの排他機構を共有することができ、複数のファイルエントリを１つのファイルエントリと等価に扱うことが可能となる。この結果、例えば複数の記憶装置で管理されている複数のファイルを、透過的に１つのファイルとして扱うことが可能となる。
【０１０７】
つまりはファイルレベルでＲＡＩＤ１と同じようにファイルアクセスの状態まで同期を取ることが可能となる。またミラー先のＤｉｓｋ容量やミラー先の個数を問わない柔軟なシステムを構築することが可能となる。例えば従クラスタとなる第２の記憶装置２０に特別なハードウェアやソフトウェアを準備する必要がない。第２の記憶装置２０として、例えばＮＡＳ（Network Attached Storage）等の周知のディスク装置等が利用可能である。この結果、システム構築を行う上での利便性が高くなる。
【０１０８】
また、１つの第１の記憶装置１０に対して第２の記憶装置２０を複数アサインしたり、フォルダ毎に従クラスタを変えたりするなど、柔軟な設定が可能である。また特定のファイルは特定の従クラスタに記録するなど、柔軟な構成のミラーリングが可能となる。その結果、例えば第２の記憶装置２０の記憶デバイスの残り容量の減少にともないアラームが発せられる。そして当該アラームを受け取った第１の記憶装置１０が、フォルダのミラー先を変えるような柔軟な構成が可能となる。
【０１０９】
さらに、ミラー先に複数の従クラスタが用意されている際には、新規にミラー元にフォルダを作成するとき、ミラー先の残り容量などから、そのフォルダのミラー先を選ぶことも可能になり、負荷分散構成を行うことも可能になる。
【０１１０】
＜第２の実施形態＞
本技術に係る第２の実施形態について説明する。これ以降の説明では、上記の実施形態で説明したストレージシステム１００における各装置の構成及び作用と同様な部分については、その説明を省略又は簡略化する。
【０１１１】
図６は、本実施形態に係る情報システムとしてのストレージシステム２００の構成例を示す模式的な図である。
【０１１２】
本実施形態に係る第２の記憶装置２２０は、ファイルシステム２２１と、ＩＲＰオペレーションモジュール２２２と、データバッファ２２９と、トランザクション管理モジュール２２４と、エラー処理モジュール２２５とを有する。各機能ブロックは、第１の記憶装置２１０が有するものと略同様であってよい。データバッファ２２９も周知のものが用いられてよい。
【０１１３】
第１の記憶装置２１０及び管理装置２３０の構成は、第１の実施形態に係る第１の記憶装置１０及び管理装置３０の構成と略同様でよい。
【０１１４】
図７は、ストレージシステム２００のライトアクセス実行時における動作の一例を示すフローチャートである。図７は、第２の記憶装置２２０の動作を中心としたフローチャートである。
【０１１５】
第２の記憶装置２２０へ送信されたライトアクセスが、ミラー先として設定されたｄｅｓｔディレクトリ下のファイルへのアクセスか否かが判定される（ステップ４０１）。すなわち送信されたライトアクセスが第１の記憶装置２１０からの第２のライトアクセスであるか否かが判定される。
【０１１６】
判定結果がＮｏの場合、第２の記憶装置２２０のローカルのファイルシステム２２１にＷｒｉｔｅＦｉｌｅが発行される。そしてファイルシステム２２１によりＷｒｉｔｅＦｉｌｅが実行される（ステップ４０２）。
【０１１７】
ステップ４０１の判定結果がＹｅｓの場合、エラー処理モジュール２２５により、第２のライトアクセスに関する書き込み先のアドレスがエラーアドレスとして登録される（ステップ４０３）。
【０１１８】
ファイルシステム２２１にＷｒｉｔｅＦｉｌｅが送信され、ファイルシステム２２１によるデータ書き込み処理が開始される（ステップ４０４）。当該書き込み処理が終了する前に、ＷｒｉｔｅＦｉｌｅに対する第２のアクセス結果が第１の記憶装置２１０に返される（ステップ４０５）。
【０１１９】
第２のライトアクセスが正常に受信されて書き込み処理が正常に開始された場合には、第２のアクセス結果は正常となる。第２のライトアクセスの受信が失敗となった場合は、第２のアクセス結果は失敗となる。
【０１２０】
すなわち本実施形態では、第２の記憶装置２２０からの第２のライトアクセスを受信した旨の応答が前記第２のアクセス結果として第１の記憶装置２１０に返されえる。そして第１の記憶装置２１０のトランザクション管理モジュール２１４により、第１及び第２のアクセス結果の整合性が判別される。なお、第１の記憶装置２１０から送信されたＷｒｉｔｅＦｉｌｅは、データバッファ２２９にキャッシングされる。
【０１２１】
ファイルシステム２２１による書き込み処理が正常に行われたか否かが判定される（ステップ４０６）。書き込み処理にエラーが発生した場合（ステップ４０６のＹｅｓ）、その旨の情報がエラーマネージャ２３１に送信され（ステップ４０７）、ステップ４０３からの処理が繰り返される。
【０１２２】
ファイルシステム２２１による書き込み処理が正常に行われた場合（ステップ４０６のＮｏ）、エラーアドレスが更新され、書き込み処理が終了したアドレスがエラーアドレスから削除される（ステップ４０８）。そして書き込み処理が成功した旨の情報がエラーマネージャ２３１に通達される（ステップ４０９）。
【０１２３】
なお、書き込み先のアドレスがエラーアドレスとして登録される場合には、図５のフローチャートに示すように、エラーアドレスとして登録されたアドレスへのリードアクセスが制限される。
【０１２４】
以上、本実施形態では、第２の記憶装置２２０に転送された第２のライトアクセスがデータバッファにキャッシングされる。そして第２のライトアクセスを受信した旨の応答が第２のアクセス結果として第１の記憶装置２１０に返される。これによりストレージ処理の高速化を図ることができる。
【０１２５】
例えばライトアクセスに関して言えば、第１の記憶装置２１０への書き込みが終わったとしても、第２の記憶装置２２０への書き込みが終わるまでは、トランザクション判定が待たされてしまう可能性がある。しかしながら本実施形態では、第２のライトアクセスがキャッシングされるので処理の遅延を防ぐことができる。
【０１２６】
また書き込み先のアドレスをエラーアドレスとして登録し、書き込みが正常に実行されるまでライトアクセスが制限される。これにより第１及び第２の記憶装置２１０及び２２０にそれぞれ書き込まれるファイルデータに不整合が生じてしまうのを防止することができる。この結果、ファイルレベルのミラーリングを用いた高品質なストレージシステム２００を実現することができる。
【０１２７】
＜第３の実施形態＞
図８は、本技術の第３の実施形態に係る情報システムとしてのストレージシステム３００の構成例を示す模式的な図である。図８では、管理装置の図示が省略されている。
【０１２８】
本実施形態に係るストレージシステム３００は、サブクラスタとして設けられる第２の記憶装置３２０に対するファイルアクセスを可能とする。これにより待機系のストレージを利用することが可能となり、ストレージ処理のスループットを向上させることができる。
【０１２９】
そのために本実施形態に係るストレージシステム３００では、第２の記憶装置３２０に転送される第２のファイルアクセスに、第１のファイルアクセスの転送であることを示す識別子が付与される。識別子は、例えば第１の記憶装置３１０のＩ／Ｏ転送モジュール３１３やＩＲＰオペレーションモジュール３１２により付与される。あるいはその他の機能ブロックにより識別子が付与されてもよい。
【０１３０】
識別子としては、例えばファイル名に♯等の禁則文字等を付加する等で付与される。その他、第２のファイルアクセスであることが識別可能であるのなら、どのような識別子がどのような方法で付与されても構わない。
【０１３１】
図８に示すように、第２の記憶装置３２０は、アプリケーション主クラスタアクセス判定部（以下、アクセス判定部と記載する）３５０を有する。アクセス判定部３５０は、第２の記憶装置３２０に送信されるファイルアクセスが、ミラー元である第１の記憶装置３１０からの第２のファイルアクセスであるか、それとも外部機器のアプリケーション３４１からのファイルアクセスであるかを判定する。
【０１３２】
図９は、本実施形態に係るアクセス判定部３５０の動作例を示すフローチャートである。アクセス判定部３５０は、第２の記憶装置３２０に送信されたファイルアクセスが第１の記憶装置３１０から転送された第２のファイルアクセスか否かを判定する（ステップ５０１）。
【０１３３】
この判定処理は、ファイルアクセスに識別子が付与されているか否かを判定することにより実行される。識別子が付与されている場合は当該ファイルアクセスは第２のファイルアクセスと判定される。識別子が付与されていない場合は当該ファイルアクセスはアプリケーション３４１から第２の記憶装置３２０へのファイルアクセスと判定される。この識別子を有さないファイルアクセスは第３のファイルアクセスに相当する。
【０１３４】
第１の記憶装置３１０からの第２のファイルアクセスと判定された場合（ステップ５０１のＹｅｓ）、第２の記憶装置３２０のファイルシステム３２１に第２のファイルアクセスが発行され、所定のアクセスが実行される（ステップ５０２）。この際アクセス判定部３５０は、第２のファイルアクセスに付与された識別子を削除する。これによりファイルシステム３２１によるアクセス実行に特別な処理が不要となる。
【０１３５】
アプリケーション３４１からの第３のファイルアクセスと判定された場合は（ステップ５０１のＮｏ）、当該第３のファイルアクセスが第１の記憶装置３１０に転送される（ステップ５０３）。第３のファイルアクセスは、アクセス判定部３５０により、第４のファイルアクセスとして転送される。
【０１３６】
第１の記憶装置３１０では、転送された第４のファイルアクセスがＩＲＰオペレーションモジュール３１２に送信される。ＩＲＰオペレーションモジュール３１２は、第４のファイルアクセスを前記第１のファイルアクセスとして処理する。
【０１３７】
すなわちＩＲＰオペレーションモジュール３１２は第４のファイルアクセスに対して、アプリケーション３４０からの第１のファイルアクセスと同様の処理を実行する。例えば第４のファイルアクセスが、第２のファイルアクセスとして第２の記憶装置３２０に転送される等、上記した処理が実行されればよい。
【０１３８】
特に、本実施形態では、ライトアクセスに対して上記した処理が実行される。すなわち第１の記憶装置３１０からの第２のライトアクセスに、第１のライトアクセスの転送であることを示す識別子が付与される。
【０１３９】
アクセス判定部３５０では、アプリケーション３４１からの識別子が付与されていない第３のライトアクセスが、第４のライトアクセスとして第１の記憶装置３１０に転送される（図８の矢印Ａ）。転送された第４のライトアクセスは、第１のライトアクセスとして処理され、識別子が付与される。そして第２のライトアクセスとして第２の記憶装置３２０に転送される（図８の矢印Ｂ）。
【０１４０】
アクセス判定部３５０により、識別子が付与されている第２のライトアクセスはファイルシステム３２１に発行される。そしてファイルシステム３２１により適宜書き込み処理が実行される。
【０１４１】
このようにアプリケーション３４１からのライトアクセスを第１の記憶装置３１０に転送することで、第１及び第２の記憶装置３１０及び３２０にそれぞれ書き込まれるデータの整合性を保つことが容易に可能となる。
【０１４２】
なおリードアクセスに関しては、データの不整合が発生しないので、第１の記憶装置３１０へ転送することなくファイルシステム３２１にリードアクセスが発行されてよい（図８の矢印Ｃ）。
【０１４３】
従来アクティブ／アクティブ構成にて動作する複数の記憶装置を有するストレージシステムが知られている。そのようなストレージシステムでは、例えば複数の記憶装置において記憶されるファイルデータの整合性を保つために複雑な処理や高いコストが必要であった。そして整合性が合わない状態が続くと、整合性を取る処理に多くの時間を費やしてしまいパフォーマンスが低下していた。
【０１４４】
一方で、本実施形態に係るストレージシステム３００では、第１及び第２の記憶装置３１０及び３２０をアクティブ／アクティブ構成と略同様に動作させることが可能となる。また保持されるファイルデータの整合性を保つための複雑な処理や高いコストが不要となる。この結果、高品質のストレージシステム３００を実現することが可能となる。
【０１４５】
例えば放送局等では、一度データを書き込むと基本的には更新が行われず、データの読み込みが主なアクセスとなるようなシステムが多く用いられる。このようなシステムにおいては、例えば頻度の低い書き込みのために、整合性を取るためのログを取るのはシステムが複雑でコストが増えてしまう。
【０１４６】
従って書き込みが低頻度の場合等には、本実施形態のようにサブクラスタである第２の記憶装置３２０に対する書き込み命令をメインクラスタである第１の記憶装置３１０に転送する。そしてメインクラスタからサブクラスタに対して再度ミラーするという構成を採用する。そうすると性能劣化をほとんど起こさずに不整合を起こさないストレージシステム３００を構築することができる。なお当然のことながら、書き込みが低頻度の場合に限られず、本実施形態に係るストレージシステム３００は利用可能である。
【０１４７】
特に動画コンテンツ等のメディアを扱うシステムでは、ミラー先からミラー元に書き込み先を切り替えるコスト（すなわちファイルアクセスを第１の記憶装置に転送するコスト）より、実際にデータを書き込むコストの方が支配的になることが多い。従って十分な性能を維持したままミラー元にデータを転送することが可能となる。
【０１４８】
＜変形例＞
本技術に係る実施形態は、上記で説明した実施形態に限定されず種々変形される。
【０１４９】
例えば各実施形態に説明した管理装置が、管理モジュールとして第１の記憶装置に備えられてもよい。すなわち管理装置と同様に動作するソフトウェアブロックが第１の記憶装置に設けられてもよい。
【０１５０】
上記した各実施形態及び変形例を適宜組み合わせたものが、本技術にかかる実施形態として採用されてもよい。例えば図８では、第２の実施形態に係るストレージシステム２００の第２の記憶装置２２０にアクセス判定部３５０が追加されたものが図示されている。しかしながら図１に示す第１の実施形態に係る第２の記憶装置２０にアクセス判定部３５０が設けられてもよい。そして第１及び第２の記憶装置１０及び２０がアクティブ／アクティブ構成と略同様に動作可能としてもよい。
【０１５１】
なお、本技術は以下のような構成も採ることができる。
【０１５２】
（１）ファイルを記憶することが可能な第１の記憶装置への第１のファイルアクセスを、前記第１の記憶装置に記憶された前記ファイルの複製を記憶する第２の記憶装置に第２のファイルアクセスとして転送し、
前記第１のファイルアクセスに対する前記第１の記憶装置の第１のアクセス結果と、前記転送された第２のファイルアクセスに対する前記第２の記憶装置の第２のアクセス結果との整合性を判別する
情報処理方法。
（２）前記（１）に記載の情報処理方法であって、
前記判別ステップは、前記第１のアクセス結果と、前記第２のアクセス結果とをトランザクションで管理する
情報処理方法。
（３）前記（１）又は（２）に記載の情報処理方法であって、さらに、
前記判別ステップで前記整合性が保たれていないと判別された場合に、前記第１の記憶装置及び前記第２の記憶装置に対してエラー処理を実行する
情報処理方法。
（４）前記（３）に記載の情報処理方法は、
前記エラー処理の実行ステップは、前記第１及び前記第２のアクセス結果のうち成功となったアクセス結果をキャンセルする
情報処理方法。
（５）前記（３）又は（４）に記載の情報処理方法であって、
前記転送ステップは、前記ファイルの第１のライトアクセスを、前記第２の記憶装置に前記第２のライトアクセスとして転送し、
前記エラー処理の実行ステップは、前記判別ステップで前記整合性が保たれていないと判別された場合に、前記第１及び前記第２のライトアクセスのうちアクセス結果が失敗となったライトアクセスに関する書き込み先のアドレスをエラーアドレスとして、当該アドレスへのリードアクセスを制限する
情報処理方法。
（６）前記（１）から（５）のうちいずれか１つに記載の情報処理方法であって、
前記転送ステップは、前記ファイルの第１のライトアクセスを、前記第２の記憶装置に前記第２のライトアクセスとして転送し、
前記判別ステップは、前記第２の記憶装置からの前記第２のライトアクセスを受信した旨の応答を前記第２のアクセス結果として前記整合性を判別し、
前記情報処理方法は、さらに、前記第２のライトアクセスに関する書き込み先のアドレスをエラーアドレスとして、当該アドレスへのリードアクセスを制限する
情報処理方法。
（７）前記（１）から（６）のうちいずれか１つに記載の情報処理方法であって、
前記転送ステップは、前記第１のファイルアクセスの転送であることを示す識別子を、前記第２のファイルアクセスに付与し、
前記情報処理方法は、さらに、前記第２の記憶装置への、前記識別子を有さない第３のファイルアクセスを前記第１の記憶装置に第４のファイルアクセスとして転送し、
前記転送ステップは、前記第４のファイルアクセスを前記第１のファイルアクセスとして処理する
情報処理方法。
（８）前記（１）から（７）のうちいずれか１つに記載の情報処理方法であって、
前記転送ステップは、前記第１のファイルアクセスである第１のライトアクセスの転送であることを示す識別子を、前記第２のファイルアクセスである第２のライトアクセスに付与し、
前記情報処理方法は、さらに、前記第２の記憶装置への、前記識別子を有さない第３のライトアクセスを前記第１の記憶装置に第４のライトアクセスとして転送し、
前記転送ステップは、前記第４のライトアクセスを前記第１のライトアクセスとして処理する
情報処理方法。
【符号の説明】
【０１５３】
１０、２１０、３１０…第１の記憶装置
１１、２１、２２１、３２１…ファイルシステム
１２、２２２、３１２…ＩＲＰオペレーションモジュール
１３、３１３…Ｉ／Ｏ転送モジュール
１４、２１４、２２４…トランザクション管理モジュール
１５、２２５…エラー処理モジュール
１６…エラーアドレス
２０、２２０、３２０…第２の記憶装置
３０、２３０…管理装置
３１、２３１…エラーマネージャ
１００、２００、３００…ストレージシステム
３５０…アプリケーション主クラスタアクセス判定部
【図１】
2013120463.tif 000003
【図２】
2013120463.tif 000004
【図３】
2013120463.tif 000005
【図４】
2013120463.tif 000006
【図５】
2013120463.tif 000007
【図６】
2013120463.tif 000008
【図７】
2013120463.tif 000009
【図８】
2013120463.tif 000010
【図９】
2013120463.tif 000011