JP2015503780A - 階層化ストレージシステムの管理装置及び管理方法 - Google Patents

階層化ストレージシステムの管理装置及び管理方法 Download PDF

Info

Publication number
JP2015503780A
JP2015503780A JP2014548343A JP2014548343A JP2015503780A JP 2015503780 A JP2015503780 A JP 2015503780A JP 2014548343 A JP2014548343 A JP 2014548343A JP 2014548343 A JP2014548343 A JP 2014548343A JP 2015503780 A JP2015503780 A JP 2015503780A
Authority
JP
Japan
Prior art keywords
file
predetermined
clone
data
management apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014548343A
Other languages
English (en)
Other versions
JP5873187B2 (ja
Inventor
信之 雜賀
信之 雜賀
蟹江 誉
誉 蟹江
荒井 仁
仁 荒井
敦 村上
敦 村上
寛文 井川
寛文 井川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2015503780A publication Critical patent/JP2015503780A/ja
Application granted granted Critical
Publication of JP5873187B2 publication Critical patent/JP5873187B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • G06F16/1756De-duplication implemented within the file system, e.g. based on file segments based on delta files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ユーザの近くにより多くのファイルを格納することで、ユーザの使い勝手を向上すること。レプリケーション処理部3Aは、第1ファイル管理装置内の所定ファイルの複製を第2ファイル管理装置に作成する。シングルインスタンス処理部3Bは、第1所定条件に従って、第1ファイル管理装置内の他の所定ファイルを重複データの排除対象として選択し、選択された他の所定ファイルを所定の基準ファイルのデータを参照する参照元ファイルに変換する。スタブ化処理部3Cは、スタブ化処理の対象となるスタブ化候補ファイルを第2所定条件に従って抽出し、さらに、第3所定条件に従ってスタブ化候補ファイルをスタブ化処理する。【選択図】図1

Description

本発明は、階層化ストレージシステムの管理装置及び管理方法に関する。
ユーザ側に設けるファイルサーバとデータセンタ側に設けるファイルサーバとの間で、ファイルを移動させる階層化ストレージシステムが提案されている(特許文献1)。このような階層化ストレージシステムでは、ユーザの使用頻度の高いファイルをユーザ側のファイルサーバに格納し、使用頻度の低いファイルをデータセンタ側に格納する。
特開2011−76294号公報
従来技術の場合、ユーザの使用頻度の低いファイルはデータセンタ側のファイルサーバに移動されるため、ユーザがそのファイルにアクセスしようとする場合に、アクセス時間が長くなる。ユーザ側のファイルサーバは、WAN(Wide Area Network)などの通信ネットワークを介してデータセンタ側のファイルサーバから、アクセス対象のファイルを取得する必要があるためである。従って、ユーザ側のファイルサーバにファイルが格納されている場合に比べて、データセンタ側のファイルサーバにファイルが格納されている場合は、大幅に応答性能が低下し、ユーザの使い勝手も低下する。
本発明は、上記の問題に鑑みてなされたもので、ユーザ端末のアクセス可能な第1ファイル管理装置の記憶領域を有効に使用して、できるだけ多くのファイルを格納できるようにした、階層化ストレージシステムの管理装置及び管理方法を提供することにある。本発明の他の目的は、第1ファイル管理装置の記憶領域及び第2ファイル管理装置の記憶領域を有効に使用することのできるようにした階層化ストレージシステムの管理装置及び管理方法を提供することにある。
本発明の一つの観点に係る階層化ストレージシステムの管理装置は、第1ファイル管理装置と第2ファイル管理装置とでファイルを階層化して管理する階層化ストレージシステムを管理するための管理装置であって、第1ファイル管理装置内の所定ファイルの複製を第2ファイル管理装置に作成するレプリケーション処理部と、予め設定される第1所定条件に従って、第1ファイル管理装置内の他の所定ファイルを重複データの排除対象として選択し、選択された他の所定ファイルを所定の基準ファイルのデータを参照する参照元ファイルに変換することで、重複データを排除する重複排除処理部と、第1ファイル管理装置内の所定ファイルのデータを削除し、かつ、第2ファイル管理装置に作成された所定ファイルの複製にのみデータを残すというスタブ化処理の対象となるスタブ化候補ファイルを、予め設定される第2所定条件に従って抽出し、さらに、予め設定される第3所定条件に従って、スタブ化候補ファイルをスタブ化処理するスタブ化処理部と、を備える。
第1ファイル管理装置内においてコピー元ファイルの複製作成が要求された場合、コピー元ファイルの複製を参照元ファイルとして作成するファイルアクセス受付部をさらに備えることもできる。
第1ファイル管理装置は、ユーザ端末が直接的にアクセスできるファイル管理装置として構成されてもよく、第2ファイル管理装置は、ユーザ端末が直接的にはアクセスできないファイル管理装置として構成されてもよい。
所定の基準ファイルを参照先とする参照元ファイルの数を示す参照数を所定の基準ファイルは保持しており、参照元ファイルが削除される度に、または、参照元ファイルについてスタブ化処理が実施される度に、参照数が減少するようになっており、ファイルアクセス受付部は、参照数が0になった場合に、所定の基準ファイルを削除可能であるように、構成してもよい。
本発明は、階層化ストレージシステムの管理装置を制御するためのコンピュータプログラムとして捉えることもできる。
本実施形態の全体概要を示す説明図。 階層化ストレージシステムのハードウェア構成図。 階層化ストレージシステムのソフトウェア構成図。 ファイルシステムとiノード管理テーブルの関係を示す説明図。 iノード管理テーブルの詳細を示す説明図。 iノード管理テーブルの拡張部分を示す説明図。 レプリケーション処理の概要を示す説明図。 シングルインスタンス処理の概要を示す説明図。 クローン元ファイルの格納場所を示す説明図。 通常ファイルをクローンファイルに変換する様子を示す説明図。 クローンファイルは、クローン元ファイルとの差分データのみを保持する様子を示す説明図。 いわゆる仮想デスクトップ環境にシングルインスタンスを適用した場合の一例を示す説明図。 シングルインスタンスをドキュメント作成に適用した場合の一例を示す説明図。 シングルインスタンスをデータベースの複製に適用した場合の一例を示す説明図。 スタブ化処理の概要を示す説明図。 クローン元ファイルは、クローンファイルから参照される数を管理していることを示す説明図。 リード処理の概要を示す説明図。 ライト処理の概要を示す説明図。 コピー処理の概要を示す説明図。 受付プログラムにより実施される、リード処理及びライト処理をそれぞれ示すフローチャート。 図20に続くフローチャート。 受付プログラムにより実施されるコピー処理のフローチャート。 受付プログラムにより実施される削除処理のフローチャート。 データムーバープログラムの動作の全体を示すフローチャート。 データムーバープログラムにより実施されるスタブ化処理を示すフローチャート。 データムーバープログラムにより実施されるレプリケーション処理を示すフローチャート。 データムーバープログラムより実施されるファイル同期処理を示すフローチャート。 重複ファイルの候補を抽出する処理を示すフローチャート。 重複を検知するための処理を示すフローチャート。 重複ファイルを排除する処理を示すフローチャート。 第2実施例に係り、クローン元ファイル及びクローンファイルがレプリケーション処理(及びスタブ化処理)の対象となることを示す説明図。 クローン元ファイルの最終アクセス日時をクローンファイルの最終アクセス日時に基づいて推定できることを示す説明図。 クローン元ファイルの最終アクセス日時をクローンファイルの最終アクセス日時に基づいて推定する処理を示すフローチャート。 受付プログラムにより実施される、リード処理及びライト処理を示すためのフローチャート。 図34に続くフローチャート。 図34に続く他のフローチャート。 受付プログラムにより実施される、転送データを読み出す処理を示すフローチャート。 受付プログラムにより実施されるコピー処理のフローチャート。 第3実施例に係り、データムーバープログラムにより実施されるスタブ化処理を示すフローチャート。
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。本実施形態で開示される複数の特徴は、様々に組み合わせることができる。
なお、本明細書では、実施形態において使用される情報を、「aaa表」という表現で説明しているが、これに限らず、例えば、「aaaリスト」、「aaaデータベース」、「aaaキュー」等の他の表現を用いてもよい。本実施形態で用いられる情報が、データ構造に依存しないことを示すために、「aaa情報」と呼ぶこともある。
本実施形態で使用される情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることがあるが、これらは互いに置換が可能である。
さらに、本実施形態の処理動作の説明では、「コンピュータプログラム」を動作主体(主語)として説明することがある。コンピュータプログラムは、マイクロプロセッサによって実行される。従って、プロセッサを動作主体として読み替えても良い。
図1は、本実施形態の全体概要を示す説明図である。図1には、左側上部に示す1つの実施形態(1)と、左側の下部に示す他の一つの実施形態(2)との2つの形態が示されている。
本実施形態の階層化ストレージシステムは、エッジ側に配置される第1ファイル管理装置1と、コア側に配置される第2ファイル管理装置2とで、ファイルを階層化して管理している。エッジ側とは、ユーザサイト側の意味である。コア側とは、ユーザサイトから離れた側であり、例えば、データセンタ等が該当する。
ユーザは、「ユーザ端末」としてのホストコンピュータ(ホストと略記)を介して、エッジ側のファイル管理装置1にアクセスし、所望のファイルに読み書きしたり、新たなファイルを作成したりすることができる。ホストは、コア側のファイル管理装置2内のファイルに直接アクセスすることはできない。
ユーザの使用頻度の少ないファイルは、後述するように、シングルインスタンス処理の対象となる。さらに、最終アクセス日時から所定時間の経過したファイルは、後述するスタブ化処理の対象となる。スタブ化処理を行う前の前提として、後述するレプリケーション処理が実行される。
管理装置3は、階層化ストレージシステムを管理するためのコンピュータであり、例えば、各ファイル共有装置1、2とは別の独立したコンピュータとして設けてもよいし、エッジ側のファイル管理装置1内に設けてもよい。
管理装置3は、例えば、レプリケーション処理部3Aと、「重複排除処理部」としてのシングルインスタンス処理部3Bと、スタブ化処理部3Cと、ファイルアクセス受付部3Dとを備える。なお、図中では、「処理部」を「部」と略記する。
レプリケーション処理部3Aは、第1ファイル管理装置1内の所定ファイルの複製を、第2ファイル管理装置2内に生成するための機能である。
シングルインスタンス処理部3Bは、重複したファイルを検出して、1つにまとめて管理する。シングルインスタンス処理の詳細は後述するが、先に簡単に説明する。シングルインスタンス処理部3Bは、使用頻度の低下したファイルを候補ファイルとして抽出し、候補ファイルと既存のクローン元ファイルとを比較する。
クローン元ファイルとは、「基準ファイル」に該当し、データの参照先となるファイルである。候補ファイルとクローン元ファイルとが一致する場合、シングルインスタンス処理部3Bは、候補ファイルのデータを削除し、候補ファイルの参照先としてクローン元ファイルを設定する。これにより、候補ファイルは、クローンファイルに変換される。クローンファイルとは、必要に応じてクローン元ファイルのデータを参照するファイルであり、「参照元ファイル」に該当する。これにより、同一のデータが複数のファイルにそれぞれ記憶されるのを防止し、記憶領域を効率的に使用することができる。なお、本実施形態では、ブロックデータ単位で重複を排除できるようになっている。
スタブ化処理部3Cは、スタブ化処理を実行するための機能である。スタブ化処理の詳細は後述するが、先に簡単に説明する。まず前提として、レプリケーション処理部3Aの働きにより、エッジ側のファイル管理装置1とコア側のファイル管理装置2とに同一のファイルがそれぞれ格納されている。
エッジ側のファイル管理装置1の空き容量が少なくなると、スタブ化処理部3Cは、エッジ側のファイル管理装置1に記憶されているファイル群のうち、使用頻度の低いファイルから順番にスタブ化対象として選択する。スタブ化対象として選択されたファイルは、そのデータが削除される。スタブ化されたファイルと同一のデータを有するファイルは、コア側のファイル管理装置2に存在する。従って、ホストがスタブ化ファイルにアクセスする場合、コア側のファイル管理装置2に記憶されているレプリケーションファイルからデータが読み出されて、エッジ側のファイル管理装置1に転送される。スタブ化ファイルのデータを取り戻す処理を、本実施形態ではリコール処理と呼ぶ。
ファイルアクセス受付部3Dは、ホストからのファイルアクセス要求を受け付けて、要求内容に応じた所定の処理を実行する。ファイルアクセス要求としては、例えば、リード要求、ライト要求、コピー要求、削除要求などがある。
ホストからファイルコピーが要求されると、ファイルアクセス受付部3Dは、要求されたファイル(コピー元ファイルをコピーしたファイル)を、クローンファイルとして作成する。或るファイルをコピーするということは、コピー元ファイルとコピーファイルとの間でデータが重複することを意味する。そこで、本実施形態では、後述のように、シングルインスタンス処理部3Bを用いて、コピー元ファイルをクローンファイルに変換し、そのクローンファイルをコピーする。
図1の上側に示す実施形態(1)では、エッジ側のファイル管理装置1内で、シングルインスタンス処理が実行されており、一つのクローン元ファイルと、そのクローン元ファイルを参照する複数のクローンファイルとが格納されている。エッジ側のファイル管理装置1内のクローンファイルは、基準となるクローン元ファイルと重複するデータについてはクローン元ファイルのデータを使用し、クローン元ファイルと異なるデータ(差分データ)については保持する。つまり、クローンファイルは、クローン元ファイルと異なる差分データのみを保持する。
コア側のファイル管理装置2に着目する。コア側のファイル管理装置2には、エッジ側のファイル管理装置1に格納された複数のファイルの複製(レプリケーションファイル)が格納されている。但し、エッジ側のファイル管理装置1に格納されたファイルがクローンファイルであったとしても、コア側のファイル管理装置2には、通常のファイルと同様に完全なデータを有するファイル(具体的には、差分データのみならずクローン元ファイルと重複するデータについても有するファイル)が作成され、当該クローンファイルの複製として格納されている。
実施形態(1)によれば、エッジ側のファイル管理装置1の記憶領域を有効に利用できるため、エッジ側のファイル管理装置1により多くのファイルを格納できる。従って、ホストからのアクセス要求に対して速やかに応答でき、ユーザの使い勝手が向上する。
しかし、クローンファイルの複製を作成するために、エッジ側のファイル管理装置1からコア側のファイル管理装置2にクローンファイルのデータを転送する場合、クローンファイルの差分データとクローン元ファイルの基準データの両方を、コア側のファイル管理装置2に転送する必要がある。
図1には、クローンファイルFa、Fbの2つが示されている。一方のクローンファイルFaについては、データ「5」、「2」、「3」、「4」の4個のブロックデータが、エッジ側のファイル管理装置1からコア側のファイル管理装置2に転送される。同様に、他方のクローンファイルFbについては、データ「1」、「2」、「6」、「4」の4個のブロックデータが、エッジ側のファイル管理装置1からコア側のファイル管理装置2に転送される。
従って、エッジ側のファイル管理装置1からコア側のファイル管理装置2に、重複したデータ転送(上記の例では、データ「2」、「4」の転送)が行われることになる。このため、レプリケーション処理のための転送サイズが大きくなり、転送時間も長くなり、通信経路も混雑する。さらには、コア側のファイル管理装置2で重複排除処理(シングルインスタンス処理)が適用されていない場合には、コア側のファイル管理装置2の記憶領域を、効率的に使用することができない。クローンファイルの複製もは通常のファイルと同様に全てのデータを有するファイルとしてコア側のファイル管理装置2に保持されるためである。
そこで、クローン元ファイルの複製もコア側のファイル管理装置2に作成し、クローン元ファイルとクローンファイルとの重複データを排除することが考えられる。つまり、エッジ側のファイル管理装置1からコア側のファイル管理装置2に、クローン元ファイルのデータとクローンファイルの差分データのみを転送する構成とすれば重複したデータ転送を無くすことができるので、コア側のファイル管理装置2に複排除処理(シングルインスタンス処理)が適用されていない場合でも、コア側のファイル管理装置2の記憶領域を、効率的に使用することができる。
しかし、クローン元ファイルの複製をコア側のファイル管理装置2に作成すると、クローン元ファイルもスタブ化処理の対象となる。クローン元ファイルは、一つまたは複数のクローンファイルから参照される、基準となるファイルであるため、ユーザが直接アクセスできないように管理される。
一般的に古いファイルから順番にスタブ化処理の対象となるため、ユーザからアクセスされないクローン元ファイルは、ユーザからアクセス可能なクローンファイルよりも先に、スタブ化処理の対象となり易い。
クローン元ファイルがスタブ化されてしまい、エッジ側のファイル管理装置1にデータが残らなくなると、そのクローン元ファイルを参照する全てのクローンファイルの応答性が悪化する。参照すべきデータを、コア側のファイル管理装置2からエッジ側のファイル管理装置1にWAN等を介して取得する必要があるためである。リコール処理の完了後、しばらくの間は、クローンファイルの応答性は改善される。しかし、やがてクローン元ファイルがスタブ化されると、クローンファイルの応答性が再び低下する。
このように、クローン元ファイルを参照するクローンファイルが頻繁に使用されたとしても、そのクローンファイルにデータを提供するクローン元ファイルは使用頻度が少ないと判断されて、スタブ化対象となる。
そこで、図1の左側下部に示す実施形態(2)では、クローン元ファイルの使用頻度を適切に評価して、クローン元ファイルのスタブ化処理を実行する。実施形態(2)では、クローン元ファイルのスタブ化の可否を判定するための指標値を、そのクローン元ファイルを参照する各クローンファイルの指標値に基づいて推定する。例えば、実施形態(2)では、クローン元ファイルの最終アクセス日時を、そのクローン元ファイルを参照する各クローンファイルの最終アクセス日時の平均値として算出する。
実施形態(2)によればmコア側のファイル管理装置2内にも、シングルインスタンス化されたファイルを格納できるため、コア側のファイル管理装置2の記憶領域を有効に使用できる。さらに、エッジ側のファイル管理装置1からコア側のファイル管理装置2には、クローン元ファイルのデータと各クローンファイルの保持する差分データとを送信するだけでよいため、転送データのサイズを小さくでき、通信混雑を招かない。
さらに、クローン元ファイルの使用頻度を適切に評価するため、クローン元ファイルがクローンファイルよりもいち早くスタブ化されるのを抑制できる。この結果、クローンファイルの応答性を維持して、ユーザの使い勝手が低下するのを防止できる。
図2は、階層化ストレージシステムの全体構成を示すハードウェア構成図である。図3は、階層化ストレージシステムのソフトウェア構成図である。先に図1との対応関係を述べると、「第1ファイル管理装置」としてのファイルストレージ装置10は図1のエッジ側ファイル管理装置1に、「第2ファイル管理装置」としてのアーカイブ装置20は図1のコア側のファイル管理装置2に、「ユーザ端末」としてのホスト12は図1のホストに、それぞれ対応する。
図1の管理装置3は、主に、ファイルストレージ装置10の機能として設けられる。より詳しくは、管理装置3の果たす機能は、ファイルストレージ装置10内のソフトウェア群とアーカイブ装置20内のソフトウェア群との協働により実現される。
エッジ側のサイトST1の構成を説明する。エッジ側サイトST1は、ユーザ側に設けられるもので、例えば、事業所または支店ごとに設けられる。エッジ側サイトST1には、例えば、少なくとも一つのファイルストレージ装置10と、少なくとも一つのRAID(Redundant Arrays of Inexpensive Disks)システム 11と、少なくとも一つのホストコンピュータ(またはクライアント端末)12とが設けられている。
エッジ側サイトST1とコア側サイトST2とは、例えば、WAN等のサイト間通信ネットワークCN1を介して接続される。ファイルストレージ装置10とホストコンピュータ(以下ホスト)12とは、例えば、LAN(Local Area Network)のようなサイト内通信ネットワークCN2を介して接続される。ファイルストレージ装置10とRAIDシステム11とは、例えば、FC−SAN(Fibre Channel-Storage Area Network)、または、IP−SAN(Internet Protocol_SAN)のような通信ネットワークCN3を介して接続される。なお、これら通信ネットワークCN1、CN2、CN3のうちの複数または全てを共通の通信ネットワークとして構成してもよい。
ファイルストレージ装置10は、例えば、メモリ100と、マイクロプロセッサ(図中CPU:Central Processing Unit)101と、NIC(Network Interface Card)102と、HBA(Host Bus Adapter)103とを備える。
CPU101は、メモリ100に格納された所定のコンピュータプログラムP100〜P106を実行することで、後述する所定の機能を実現する。メモリ100は、主記憶メモリ、フラッシュメモリ装置、ハードディスク装置などを含むことができる。メモリ100の記憶内容は後述する。
NIC102は、ファイルストレージ装置10が通信ネットワークCN2を介してホスト12と通信したり、ファイルストレージ装置10が通信ネットワークCN1を介してアーカイブ装置20と通信したりするための通信インターフェース回路である。HBA103は、ファイルストレージ装置10がRAIDシステム11と通信するための通信インターフェース回路である。
RAIDシステム11は、ファイルストレージ装置10により管理されるファイル群のデータをブロックデータとして管理する。RAIDシステム11は、例えば、チャネルアダプタ(CHA)110と、ディスクアダプタ(DKA)111と、記憶装置112とを備える。CHA110は、ファイルストレージ装置10との間の通信を制御するための通信制御回路である。DKA111は、記憶装置112との間の通信を制御するための通信制御回路である。CHA110とDKA111とが協働することで、ファイルストレージ装置10から入力されたデータが記憶装置112に書き込まれたり、記憶装置112から読み出されたデータがファイルストレージ装置10に転送されたりする。
記憶装置112は、例えば、ハードディスク装置、フラッシュメモリ装置、FeRAM(Ferroelectric Random Access Memory)、MRAM(MagnetoresistiveRandom Access Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(Resistance RAM:登録商標)等のように構成される。
ホスト12の構成を説明する。ホスト12は、例えば、メモリ120と、マイクロプロセッサ121と、NIC122及び記憶装置123を備える。ホスト12は、サーバコンピュータのように構成することもできるし、パーソナルコンピュータまたは携帯情報端末(携帯電話を含む)のように構成することもできる。
メモリ120及び/または記憶装置123には、後述するアプリケーションプログラムP120等が格納される。CPU121は、アプリケーションプログラムを実行し、ファイルストレージ装置10で管理されているファイルを使用する。ホスト12は、NIC122を介して、ファイルストレージ装置10と通信する。
コア側サイトST2を説明する。コア側サイトST2は、例えば、データセンタ等に設けられる。コア側サイトST2は、アーカイブ装置20と、RAIDシステム21とを備えている。アーカイブ装置20とRAIDシステム21とは、サイト内通信ネットワークCN4を介して接続されている。
RAIDシステム21は、エッジ側のRAIDシステム11と同様の構成である。コア側のCHA210、DKA211、記憶装置212は、エッジ側のCHA110、DKA111、記憶装置112にそれぞれ対応するため、説明を省略する。
アーカイブ装置20は、ファイルストレージ装置10で管理されているファイル群をバックアップするためのファイルストレージ装置である。アーカイブ装置20は、例えば、メモリ200と、マイクロプロセッサ201と、NIC202と、HBA203とを備えている。それらメモリ200、マイクロプロセッサ201、NIC202、HBA203は、ファイルストレージ装置10のメモリ100、マイクロプロセッサ101、NIC102、HBA103と同様のため、説明を省略する。ファイルストレージ装置10とアーカイブ装置20とは、ハードウェア構成は似ているが、ソフトウェア構成は異なる。
図3を参照する。先にエッジ側サイトST1のソフトウェア構成を説明する。ファイルストレージ装置10は、例えば、ファイル共有プログラムP100と、データムーバープログラムP101と、ファイルシステムプログラム(図中、FSと略記)P102と、カーネル及びドライバ(図中、OSと略記)P103を備える。さらに、ファイルストレージ装置10は、例えば、受付プログラムP104(図7参照)と、抽出プログラムP105(図8参照)と、重複検出プログラムP106(図8参照)とを備える。
各プログラムの動作は、後述するが、簡単に説明すると、ファイル共有プログラムP100は、例えば、CIFS(Common Internet File System)またはNFS(Network File System)のような通信プロトコルを使用して、ホスト12にファイル共有サービスを提供するためのソフトウェアである。データムーバープログラムP101は、後述するレプリケーション処理、ファイル同期処理、スタブ化処理、リコール処理を実行するためのソフトウェアである。ファイルシステムとは、ボリューム114上に、ファイルという管理単位を実現するために構築された論理構造である。ファイルシステムプログラムP102とは、ファイルシステムを管理するソフトウェアである。
カーネル及びドライバP103は、ファイルストレージ装置10の全体を制御するソフトウェアである。カーネル及びドライバP103は、例えば、ファイルストレージ装置10上で動作する複数プログラム(プロセス)のスケジュールを制御したり、ハードウェアからの割り込みを制御したりする。
受付プログラムP104は、ホスト12からのファイルアクセス要求を受け付けて所定の処理を行い、その結果を返すソフトウェアである。抽出プログラムP105は、シングルインスタンス処理を適用するシングルインスタンス候補を抽出するためのソフトウェアである。重複検出プログラムP106は、抽出されたシングルインスタンス候補について、シングルインスタンス処理を行うためのソフトウェアである。
RAIDシステム11は、OS等を格納した論理ボリューム113と、ファイルのデータを格納するための論理ボリューム114とを備えている。複数の記憶装置112の物理的記憶領域を一つにまとめ、その物理的記憶領域から所定サイズの記憶領域を切り出すことで、論理的記憶装置である論理ボリューム113、114を作成できる。
ホスト12は、例えば、アプリケーションプログラム(以下、アプリケーションと略記)P120と、ファイルシステムプログラムP121と、カーネル及びドライバP122とを備えている。アプリケーションP120は、例えば、文書作成プログラム、顧客管理プログラム、データベース管理プログラム等のように構成される。
コア側サイトST2のソフトウェア構成を説明する。アーカイブ装置20は、例えば、データムーバープログラムP201と、ファイルシステムP202と、カーネル及びドライバP203とを備える。これらソフトウェアの役割は必要に応じて後述する。
RAIDシステム21は、RAIDシステム11と同様に、例えば、OS等を格納した論理ボリューム213と、ファイルのデータを記憶するための論理ボリューム214とを備える。それらの説明は省略する。
図4は、ファイルシステムとiノード管理テーブルT10との関係を簡略化して示す説明図である。図4の上側に示すように、ファイルシステムは、例えば、スーパーブロックと、iノード管理テーブルT10と、データブロックなどから構成される。
スーパーブロックとは、例えば、ファイルシステムのサイズ及びファイルシステムの空き容量のような、ファイルシステムの管理情報を一括して保持するための領域である。iノード管理テーブルT10は、各ファイルに設定されたiノードを管理するための管理情報である。
ファイルシステムでは、各ディレクトリまたはファイルのそれぞれについて、1つずつのiノードを対応させて管理する。iノード管理テーブルT10の各エントリのうち、ディレクトリ情報のみ含むエントリを、ディレクトリエントリと呼ぶ。ディレクトリエントリを用いてファイルパスを辿ることで、目的のファイルが格納されているiノードにアクセスすることができる。例えば、図4に示すように、「/home/user-01/a.txt」を辿る場合、iノード#2→iノード#10→iノード#15→iノード#100の順に辿っていくことで、目的のファイルのデータブロックにアクセスすることができる。
ファイルの実体が格納されているiノード(図4の例では「a.txt」)は、例えば、ファイルの所有権、アクセス権、ファイルサイズ、データ格納位置などの情報を有する。図4の下側には、iノードとデータブロックの参照関係が示されている。図4中のデータブロックに添えられた数字100、200、250は、ブロックアドレスを示す。アクセス権の項目に表示されている「u」はユーザ、「g」はグループ、「o」はユーザ以外の者、のそれぞれの略である。また、アクセス権の項目に示されている「r」はread、「x」はexecute、「w」はwrite、のそれぞれの略である。最終アクセス日時は、西暦(4桁)と月日と時分秒の組合せとして記録される。
図5は、iノードがiノード管理テーブルに格納された状態を示す。図5では、iノード番号「2」と「100」を例に挙げて示している。
図6は、本実施例においてiノード管理テーブルT10に追加された部分の構成を示す説明図である。iノード管理テーブルT10は、例えば、iノード番号C100と、所有者C101と、アクセス権C102と、サイズC103と、最終アクセス日時C104と、ファイル名C105と、拡張部分C106と、データブロックアドレスC107とを備えている。
拡張部分C106は、本実施例のために追加された特徴的部分であり、例えば、参照先iノード番号C106Aと、レプリケーション済フラグC106Bと、スタブ化フラグC106Cと、リンク先C106Dと、参照カウントC106Eとを含む。
参照先iノード番号C106Aは、データの参照先のiノードを特定するための情報である。クローンファイルの場合は、参照先iノード番号C106Aに、クローン元ファイルのiノード番号が設定される。クローン元ファイルの場合は、参照先iノード番号C106Aに値は設定されない。参照先が存在しないためである。
レプリケーション済フラグC106Bは、レプリケーション処理が終了したか否かを示す情報である。レプリケーション処理が終了して、アーカイブ装置20に複製が作成された場合は、レプリケーション済フラグにONが設定される。レプリケーション処理がされていない場合、即ち、アーカイブ装置20に複製が生成されていない場合は、レプリケーション済フラグはOFFに設定されている。
スタブ化フラグC106Cは、スタブ化処理が行われたか否かを示す情報である。スタブ化処理が実施されて、スタブ化ファイルに変換された場合、スタブ化フラグにはONが設定される。スタブ化ファイルに変換されていない場合、スタブ化フラグにはOFFが設定される。
リンク先C106Dは、アーカイブ装置20内の複製ファイルを参照するためのリンク情報である。レプリケーション処理が完了している場合に、リンク先C106Dに値が設定される。ファイルストレージ装置10は、リコール処理等を行う場合、リンク先C106Dを参照することで、アーカイブ装置20から複製ファイルのデータを取得することができる。
参照カウントC106Eは、クローン元ファイルの寿命を管理する情報である。参照カウントC106Eの値は、クローン元ファイルを参照するクローンファイルが作成されるたびに1つ増加する。従って、例えば、5個のクローンファイルから参照されているクローン元ファイルの参照カウントC106Eには、「5」が設定される。
参照カウントC106Eの値は、クローン元ファイルを参照するクローンファイルが削除またはスタブ化されると、1つ減少する。従って、前記の例で言えば、1つのクローンファイルが削除され、かつ、他の1つのクローンファイルがスタブ化された場合、参照カウントC106Eの値は「3」となる。そして、参照カウントC106Eの値が0になった場合、クローン元ファイルは削除される。本実施例では、クローン元ファイルを参照するクローンファイルが無くなった場合に、そのクローン元ファイルを削除して、空き領域を増やす。
図7は、レプリケーション処理の概要を示す。レプリケーション処理の詳細は、図26で後述する。
ファイルストレージ装置10のデータムーバープログラムP101は、定期的に、レプリケーション要求を受領する(S10)。レプリケーション要求は、例えば、ホスト12から発行される。レプリケーション要求には、例えば、レプリケーション対象のファイル名などが含まれている。
データムーバープログラムP101は、レプリケーション対象のファイルデータを取得すべく、受付プログラムP104にリード要求を発行する(S11)。受付プログラムP104は、RAIDシステム11内の正ボリューム(コピー元である論理ボリューム)114から、レプリケーション対象ファイルのデータを読出して、データムーバープログラムP101に渡す(S12)。
データムーバープログラムP101は、取得したファイルのデータ及びメタデータを、アーカイブ装置20のデータムーバープログラムP201に送信する(S13)。アーカイブ装置20のデータムーバープログラムP201は、アーカイブ装置20の受付プログラムP204にライト要求を発行する(S14)。受付プログラムP204は、RAIDシステム副ボリューム(コピー先の論理ボリューム)214に、ファイルストレージ装置10から取得したファイルを書き込む(S15)。なお、ファイルのデータブロックと共に送信されるメタデータとは、例えば、iノード管理テーブルT10である。
アーカイブ装置20に複製が作成されると、複製元のファイルのレプリケーション済フラグC106BはONに設定される。レプリケーション済フラグに代えて、レプリケーション済のファイル名などを記載したレプリケーション済ファイルのリストを用いて、レプリケーション済のファイルを管理する構成でもよい。
正ボリューム114内のレプリケーション元のファイルと副ボリューム214内の複製ファイルとは、ペアとして関連付けられる。レプリケーション元ファイルが更新された場合、ファイルがアーカイブ装置20に再転送される。これにより、ファイルストレージ装置10内のレプリケーション元ファイルとアーカイブ装置20内の複製ファイルとは、同期する。
本実施例では、ファイル同期処理の対象となるファイルを、リストで管理する。つまり、レプリケーション処理の済んでいるファイルが更新された場合、そのファイルはリストに記載される。ファイルストレージ装置10は、リストに記載されたファイルを、適当な時期を見計らって、アーカイブ装置20に転送する。リストに代えて、iノード管理テーブルT10に、同期の要否を示すフラグを追加してもよい。ファイルが更新された場合は、そのファイルの同期の要否フラグにONを設定し、ファイル同期処理が終了した場合は要否フラグをOFFに設定する。
図8は、シングルインスタンス処理の概要を示す。シングルインスタンス処理の詳細は、図28、図29、図30で後述する。
抽出プログラムP105は、一定期間アクセスされなかったファイル(例えば、一定期間更新されなかったファイル)を定期的に検索し、該当ファイルの名称を記載したリストT11を作成する(S20)。リストT11は、シングルインスタンス処理の適用候補となるファイルを管理するための情報である。
定期的に実行される重複検出プログラムP106は、リストT11に記載されたシングルインスタンス処理の候補ファイルと、既存のクローン元ファイルとを比較する。
候補ファイルと既存のクローン元ファイルとが一致する場合、重複検出プログラムP106は、候補ファイルのデータを削除する(S21)。重複検出プログラムP106は、候補ファイルのiノード管理テーブルT10の参照先iノード番号C106Aに、クローン元ファイルのiノード番号を設定する(S21)。これにより、その候補ファイルは、クローン元ファイルを参照するクローンファイルに変換される。
候補ファイルと既存のクローン元ファイルとが一致しない場合は、その候補ファイルに対応するクローン元ファイルを新たに作成する。重複検出プログラムP106は、候補ファイルのデータを削除し、かつ、新たに作成されたクローン元ファイルのiノード番号を、候補ファイルの参照先iノード番号C106Aに設定する。
図9は、クローン元ファイルの管理方法を示す説明図である。クローン元ファイルは、上述の通り、一つまたは複数のクローンファイルから参照されるデータを保持する重要なファイルである。従って、本実施例では、クローン元ファイルをユーザの誤操作等から保護するために、ユーザからアクセスできない特定のディレクトリ下で管理する。その特定のディレクトリを、本実施例ではインデックスディレクトリと呼ぶ。
インデックスディレクトリには、例えば、「1K」、「10K」、「100K」、「1M」のように、ファイルサイズのランク毎にサブディレクトリが設けられている。クローン元ファイルは、自身のファイルサイズに応じたサブディレクトリで管理される。クローン元ファイルのファイル名は、例えば、ファイルサイズとiノード番号の組合せとして生成される。
ファイルサイズ780バイト、iノード番号10のクローン元ファイルのファイル名は、「780.10」となる。同様に、ファイルサイズ900バイト、iノード番号50のクローン元ファイルのファイル名は「900.50」となる。それら2つのクローン元ファイル「780.10」、「900.50」は、1KB未満のクローン元ファイルを管理するためのサブディレクトリ「1KB」で管理される。
ファイルサイズ7000バイト、iノード番号3のクローン元ファイルは、ファイルサイズ1KB以上、かつ10KB未満のクローン元ファイルを管理するためのサブディレクトリ「10KB」で管理される。
このように、本実施例では、クローン元ファイルをファイルサイズ毎に分類してサブディレクトリに保管し、かつ、ファイルサイズとiノード番号の組合せをファイル名としている。従って、クローン候補のファイル(シングルインスタンス処理候補のファイル)と比較すべきクローン元ファイルを速やかに抽出することができ、照合処理を比較的短時間で完了することができる。
なお、ファイルサイズとiノード番号の組合せに代えて、例えば、ファイルサイズとハッシュ値の組合せ、または、ファイルサイズとiノード番号及びハッシュ値の組合せから、クローン元ファイルのファイル名を生成してもよい。ハッシュ値は、クローン元ファイルのデータをハッシュ関数に入力することで得られる値である。
図10は、シングルインスタンス処理の候補としてリストT11に記載されたファイルが、クローンファイルに変換される様子を示す。図10(a)の左側には、クローン候補のファイルNFが示されている。図10(a)の右側には、既存のクローン元ファイルOFが示されている。なお、図10では、便宜上、メタデータの一部を示す。
クローン候補ファイルNFとクローン元ファイルOFのデータとは、ともに「1234」であり、両方のデータは一致する。そこで、図10(b)に示すように、ファイルストレージ装置10は、クローン候補ファイルのデータを削除し、さらに、クローン候補ファイルの参照先iノード番号C106Aに、クローン元ファイルのiノード番号である「10」を設定する。これにより、クローン候補のファイルNFは、クローン元ファイルOFを参照するクローンファイルCFに変換される。クローンファイルのデータのうちクローン元ファイルと一致しているデータは、全てクローン元ファイルのデータが参照されるため、データブロック単位で重複データを排除できる。
図11は、クローンファイルが更新された場合を示す。ホスト12によりクローンファイルが更新され、クローン元ファイルのデータと部分的に一致しなくなった場合、クローンファイルは、クローン元ファイルとの差分データのみを保持する。図11の例では、クローンファイルの先頭の2つのデータブロックが「1」、「2」から「5」、「6」に更新されている。そこで、クローンファイルは、差分データである「5」、「6」のみを保持し、他のデータ「3」、「4」は引き続きクローン元ファイルを参照する。
なお、特に図示はしないが、クローン元ファイル及びクローンファイルのいずれか一方または両方を、ランレングス等のデータ圧縮方法を用いて圧縮してもよい。データ圧縮を行うことで、より一層、ファイルストレージ装置10の記憶領域を効率的に使用することができる。
図12〜図14を参照して、シングルインスタンス処理の応用例を幾つか説明する。図12〜図14では、エッジ側サイトの構成のみ示す。図12は、仮想デスクトップ環境に適用した場合である。
図12の例では、ホスト12は仮想化サーバとして構成されており、複数の仮想マシン1200を起動させている。クライアント端末13は、それぞれの仮想マシン1200を介して、ファイルを操作する。クライアント端末13は、例えば、補助記憶装置を備えないシンクライアント端末のように構成することができる。
ファイルストレージ装置10内のファイルシステムは、仮想マシン1200の起動ディスクイメージ(VM-image)をクローンファイルとして管理している。クローンファイル化された各起動ディスクイメージは、ゴールデンイメージ(GI)を参照する。各起動ディスクイメージとゴールデンイメージとの差分は、差分データ(DEF)としてそれぞれ管理される。
このように、シングルインスタンス処理を仮想デスクトップ環境に適用した場合、仮想マシンの起動デスクイメージのサイズを小さくできる。従って、多数の仮想マシン1200を生成した場合でも、全体としてのデータ格納領域を小さくことができる。
図13は、ドキュメント管理システムにシングルインスタンス処理を適用した場合の例を示す。ファイルストレージ装置10のファイルシステムは、複数のクライアント端末12により共有されている共有ドキュメントと、共有ドキュメントから派生した複数の関連ドキュメントとを管理する。
共有ドキュメントから派生した関連ドキュメントは、共有ドキュメントをクローン元ファイルとして参照するクローンファイルとなっている。このように、複数ユーザが、共有ドキュメントに基づいて関連ドキュメントを作成する場合に、関連ドキュメントをクローンファイルとして作成すれば、記憶領域を効率的に使用できる。
図14は、データベースシステムにシングルインスタンス処理を適用する場合を示す一例である。テスト用データベースサーバ12Aと、開発用データベースサーバ12Bと、本番用データベースサーバ12Cとが、それぞれデータベースプログラム1201を備えている。ユーザは、クライアント端末13を介して、各サーバ12A〜12Cのうち使用権限のあるサーバにアクセスし、データベースを使用する。
ファイルストレージ装置10のファイルシステムは、マスターテーブルと、マスターテーブルをコピーしたゴールデンイメージと、ゴールデンイメージを参照するクローンファイルとして作成されたクローンデータベースとを管理している。
テスト用データベースサーバ12A及び開発用データベースサーバ12Bの、データベース開発プログラム1201は、それぞれクローンファイルとして作成されたデータベースを使用する。クローンファイルとして作成されたデータベースとゴールデンイメージとの差分データは、クローンファイルとして作成されたデータベースに対応付けられて管理される。
このように、複数のクライアント端末13にデータベースアクセスを提供する場合に、クローンファイルとして作成されるデータベースをデータベースの用途毎に用意すれば、記憶領域を効率的に使用できる。
以上、シングルインスタンス処理の適用例を幾つか示したが、上記は一例に過ぎず、他の構成にも適用することができる。
図15は、スタブ化処理の概要を示す。データムーバープログラムP101は、一定時間毎に起動して正ボリューム114の空き容量を確認し、空き容量が閾値よりも少なくなった場合に、最終アクセス日時の古いファイルから順番にスタブ化する(S30)。
スタブ化するとは、対象ファイルをスタブ化ファイルにする処理を言う。スタブ化処理とは、ファイルストレージ装置10側のデータを消去し、アーカイブ装置20に有る複製ファイルのデータのみを残す処理である。ホスト12がスタブ化ファイルにアクセスすると、スタブ化ファイルのデータがアーカイブ装置20から読み出されて、ファイルストレージ装置10に保存される(リコール処理)。
図16は、クローン元ファイルの削除条件を示す。図6の参照カウントC106Eで説明したように、クローン元ファイルを参照先とするクローンファイルが作成されるたびに、クローン元ファイルの参照カウントC106Eの値は1つずつ増加する。これに対し、クローンファイルがスタブ化ファイルに変換されたり、クローンファイルが削除されたりすると、そのたびに参照カウントC106Eの値は1つずつ減少する。そして、参照カウントC106Eの値が0になった時点で、そのクローン元ファイルを直接参照するクローンファイルは1つも存在しないため、クローン元ファイルは削除対象となる。
図17は、受付プログラムP104によるリード要求処理の概要を示す。受付プログラムP104は、ホスト12からのリード要求を受け付けると(S40)、リード対象のファイルを正ボリューム114から取得する(S41)。
リード対象ファイルがスタブ化されており、正ボリューム114内にデータが存在しない場合、受付プログラムP104は、リコール処理を実施して、副ボリューム214からリード対象ファイルのデータを読み出す(S42)。受付プログラムP104は、アーカイブ装置20の副ボリューム214から読み出したデータを、正ボリューム114に格納した後で、ホスト12に転送する(S43)。
リード対象ファイルがリコール済みの場合、受付プログラムP104は、そのファイルデータを正ボリューム114から読み出して、ホスト12に転送する。複数のホスト12によってファイルストレージ装置10は共有されているため、先に受け付けられた他のアクセス要求によって、リード対象のスタブ化されたファイルがリコールされている場合がある。なお、リコール済であるか否かは、例えば、iノード管理テーブルT10のブロックアドレスC107の値が0であるか否かを確認すればわかる。リコール済の場合は、ブロックアドレスに0以外の値が設定されている。
図18は、受付プログラムP104によるライト要求処理の概要を示す。受付プログラムP104は、ホスト12からのライト要求を受け付けると(S44)、ライト対象ファイルがスタブ化ファイルに変換されているか否かを確認する(S45)。
ライト対象ファイルがスタブ化ファイルに変換されている場合、つまり、ライト対象ファイルがスタブ化されている場合、受付プログラムP104は、アーカイブ装置20からライト対象ファイルのデータを全て取得する。受付プログラムP104は、取得したデータをファイルストレージ装置10のファイルシステムに書き込み、ライト対象ファイルのスタブ化フラグC106CをOFFに設定する(S46)。
そして、受付プログラムP104は、ライト対象ファイルにライトデータを書き込み、さらに、ライト対象ファイルの名称を更新リストに記載する(S47)。ライト対象ファイルは、ライトデータが書き込まれて内容が変わってしまうため、ファイル同期の対象とする。なお、ライト対象ファイルがスタブ化されていない場合、上記のステップS46は省略されてステップS47が実行される。
図19は、ファイルのコピー処理の概要を示す。ファイルストレージ装置10を共同で使用するユーザは、ファイルストレージ装置10内のファイルを適宜再利用して、新たなファイルを作成することができる。
ファイルの再利用に際して、ファイルのコピーが行われる。通常のファイルのように全データをそのままそっくりコピーしてもよいが、その場合は、重複したデータがファイルストレージ装置10に格納されることになる。そこで、本実施例では、シングルインスタンス処理を用いて、ファイルコピー作成時の記憶容量を削減する。
受付プログラムP104は、ホスト12からのコピー要求を受け付けると(S48)、コピー元として選択されたファイル(図19のクローンファイル1)のコピー(クローンファイル2)を作成する(S49)。即ち、受付プログラムP104は、データをコピーすることなく、メタデータのみをコピーすることで、指定されたファイルのコピーを作成する。
コピー元ファイルとして指定されたファイルがクローンファイルではない場合(通常ファイルのような非クローンファイルの場合)、受付プログラムP104は、最初に、コピー元ファイルをクローンファイルに変換する。
次に、受付プログラムP104は、クローンファイルに変換されたコピー元ファイルのメタデータ(iノード管理テーブルT10)をコピーして一部を再利用することで、コピーファイル(クローンファイルである)を作成する。クローンファイルの数が増加するため、そのクローンファイルの参照先であるクローン元ファイルの参照カウントC106Eの値は1つ増加する。
図20は、受付プログラムP104により実行される、リード要求処理及びライト要求処理を示すフローチャートである。受付プログラムP104は、ホスト12からリード要求またはライト要求を受領すると、起動して以下の処理を実行する。
受付プログラムP104は、ホスト12が要求する対象ファイルのスタブ化フラグC106CがONに設定されているか否か判定する(S100)。スタブ化フラグがONに設定されていない場合(S100:NO)、対象ファイルはスタブ化ファイルに変換されていないため、後述する図21の処理に移行する。
対象ファイルのスタブ化フラグがONに設定されている場合(S100:YES)、受付プログラムP104は、ホスト12からの処理要求の種別がリード要求であるかライト要求であるかを判別する(S101)。
リード要求の場合(S101:read)、受付プログラムP104は、対象ファイルのiノード管理テーブルT10を参照し、ブロックアドレスが有効であるか判定する(S102)。
ブロックアドレスが有効な場合(S102:YES)、受付プログラムP104は、対象ファイルのデータを読み出して、要求元であるホスト12に送信する(S103)。ブロックアドレスが有効な場合、つまりブロックアドレスが0以外の値に設定されている場合は、対象ファイルがスタブ化ファイルに変換されていない。従って、リコール処理が不要である。
受付プログラムP104は、対象ファイルのiノード管理テーブルT10の最終アクセス日時C104の値を更新して、本処理を終了する(S105)。
対象ファイルのブロックアドレスが有効ではない場合(S102:NO)、受付プログラムP104は、データムーバープログラムP101に、リコール処理の実行を要求する(S104)。データムーバープログラムP101は、リコール処理を実行する。
受付プログラムP104は、アーカイブ装置20から取得された対象ファイルを、ホスト12に送信し(S104)、対象ファイルのiノード管理テーブルT10の最終アクセス日時C104の値を更新して、本処理を終了する(S105)。
ホスト12からの処理要求がライト要求の場合(S101:write)、受付プログラムP104は、データムーバープログラムP101に対して、リコール処理の実行を要求する(S106)。データムーバープログラムP101は、その要求に応えてリコール処理を実行する。
受付プログラムP104は、アーカイブ装置20から取得された対象ファイルにライトデータを書き込んで、ファイルのデータを更新する(S107)。さらに、受付プログラムP104は、対象ファイルのiノード管理テーブルT10の最終アクセス日時C104を更新する(S107)。
受付プログラムP104は、ライトデータで更新されたファイルのスタブ化フラグC106CにOFFを設定し、さらに、そのファイルのレプリケーション済フラグをONに設定する(S108)。受付プログラムP104は、ライトデータで更新されたファイルの名称を更新リストに記載して、本処理を終了する(S109)。
図21を参照する。ホスト12の処理対象ファイルのスタブ化フラグC106CにOFFが設定されている場合(S100:NO)、図23のステップS110に移る。受付プログラムP104は、ホスト12からの処理要求がリード要求であるかライト要求であるかを判別する(S110)。
リード要求の場合(S110:read)、受付プログラムP104は、リード対象ファイルがクローンファイルであるか判定する(S111)。リード対象ファイルがクローンファイルではない場合(S111:NO)、受付プログラムP104は、リード対象ファイルのiノード管理テーブルT10のブロックアドレスに従ってデータを読出し、そのデータをホスト12に送信する(S112)。受付プログラムP104は、リード対象ファイルの最終アクセス日時C104を更新する(S119)。
リード対象ファイルがクローンファイルの場合(S111:YES)、受付プログラムP104は、クローン元ファイルから取得したデータとリード対象のクローンファイルが保持している差分データとをマージして、ホスト12に送信する(S113)。受付プログラムP104は、リード対象ファイルであるクローンファイルの最終アクセス日時C104を更新する(S119)。
ホスト12からの処理要求がライト要求である場合(S110:write)、受付プログラムP104は、ライト対象ファイルがレプリケーション済であるかを判定する(S114)。
ライト対象ファイルがレプリケーション済の場合(S114:YES)、受付プログラムP104は、ライト対象ファイルの名称を更新リストに記載する(S115)。ライト対象ファイルはライトデータによって更新されるため、アーカイブ装置20内の複製と一致しなくなるためである。ライト対象ファイルがレプリケーション済ではない場合(S114:NO)、ステップS115はスキップされてステップS116に移る。
受付プログラムP104は、ライト対象ファイルがクローンファイルであるか判定する(S116)。ライト対象ファイルがクローンファイルではない場合(S116:NO)、受付プログラムP104は、ライト対象ファイルのブロックアドレスC107に基づいて、ライトデータをライト対象ファイルに書き込む(S117)。受付プログラムP104は、ライトデータを書き込んだライト対象ファイルの最終アクセス日時C104を更新する(S119)。
ライト対象ファイルがクローンファイルの場合(S116:YES)、受付プログラムP104は、ライトデータをクローンファイルのブロックアドレスに従って書き込む(S118)。受付プログラムP104は、クローン元ファイルのデータは更新せずに、クローンファイルについてのみデータを書き込む。これにより、ライト対象のクローンファイルは、クローン元ファイルのデータと異なる差分データを保持する(S118)。
図23は、受付プログラムP104により実行されるコピー処理を示すフローチャートである。受付プログラムP104は、ホスト12からコピー要求を受領すると、本処理を実行する。
受付プログラムP104は、コピー元として指定されたファイルのスタブ化フラグC106CがONに設定されているか判定する(S130)。コピー元ファイルのスタブ化フラグがONに設定されている場合(S130:YES)、受付プログラムP104は、コピー元ファイルのブロックアドレスが有効であるか判定する(S131)。コピー元ファイルがスタブ化ファイルに変換されている場合でも、他のアクセス要求によって、リコール処理が完了している場合がある。
コピー元ファイルのブロックアドレスが有効である場合(S131:YES)、受付プログラムP104は、そのブロックアドレスに従ってファイルデータ及びメタデータ(iノード管理テーブルT10)を取得する(S132)。
コピー元ファイルのブロックアドレスが有効ではない場合(S131:NO)、受付プログラムP104は、データムーバープログラムP101に対して、コピー元ファイルのデータに関するリコール処理の実行を要求する(S133)。
受付プログラムP104は、コピー元ファイルのファイルデータ及びメタデータを取得すると、コピー元ファイルのコピーを正ボリューム114内に作成する(S134)。このコピーファイルは、通常ファイル(非クローンファイル)である。
受付プログラムP104は、コピー元ファイルの最終アクセス日時C104を更新する(S135)。受付プログラムP104は、ステップS134で作成したコピーファイルについてレプリケーション処理が終了しているか判定する(S136)。レプリケーション処理が終了している場合(S136:YES)、本処理を終了する。
レプリケーション処理が終了していない場合(S136:NO)、受付プログラムP104は、データムーバープログラムP101に対して、レプリケーション処理の実行を要求する(S137)。
コピー元ファイルのスタブ化フラグC106CがOFFに設定されている場合(S130:NO)、受付プログラムP104は、コピー元ファイルがクローンファイルであるか否かを判定する(S138)。
コピー元ファイルがクローンファイルではない場合(S138:NO)、受付プログラムP104は、重複排除プログラム(図30)を呼び出し、コピー元ファイルをクローンファイルに変換する(S139)。クローンファイルではないファイルとしては、クローン元ファイルと通常ファイルとがあるが、ホスト12はクローン元ファイルを認識できず、直接アクセスすることはできない。
受付プログラムP104は、クローンファイルに変換されたコピー元ファイルのiノード管理テーブルT10の情報をコピーして、コピー元ファイルのコピーファイルを作成する(S140)。つまり、コピーファイルも、クローンファイルとして作成される。
受付プログラムP104は、コピー元ファイルの参照するクローン元ファイルの参照カウントC106Eの値を1つ増加する(S141)。ステップS139またはステップS140のいずれかで、クローンファイルが新たに作成されたためである。
受付プログラムP104は、コピー元ファイルの最終アクセス日時C104を更新し(S135)、ステップS136に移る。これより先のステップS136、S137は説明を省略する。
図23は、受付プログラムP104により実行される削除処理を示すフローチャートである。受付プログラムP104は、ホスト12からの削除要求を受領すると、本処理を実行する。
受付プログラムP104は、削除対象ファイルのスタブ化フラグC106CがONに設定されているか判定する(S150)。受付プログラムP104は、削除対象ファイルのスタブ化フラグがONに設定されている場合(S150:YES)、削除対象ファイルのiノード管理テーブルT10を削除する(S151)。さらに、受付プログラムP104は、アーカイブ装置20に対して、削除対象ファイルの複製であるファイルを削除するよう指示して(S152)、本処理を終了する。
削除対象ファイルのスタブ化フラグがOFFに設定されている場合(S150:NO)、受付プログラムP104は、削除対象ファイルが非クローンファイルであるか判定する(S153)。非クローンファイルとは、クローンファイル以外のファイル、即ち、通常ファイルである。削除対象ファイルが通常ファイルの場合(S153:YES)、受付プログラムP104は、削除対象ファイルのiノード管理テーブルT10を削除し(S154)、本処理を終了する。
削除対象ファイルが通常ファイルではない場合(S153:NO)、受付プログラムP104は、削除対象ファイルがクローンファイルであるか判定する(S155)。削除対象ファイルがクローンファイルではない場合(S155:NO)、受付プログラムP104は、本処理を終了する。
削除対象ファイルがクローンファイルの場合(S155:YES)、削除対象のクローンファイルの有するデータ(差分データ)を削除し、さらに、参照先であるクローン元ファイルの参照カウントC106Eを1つ減少させる(S156)。
受付プログラムP104は、クローン元ファイルの参照カウントC106Eの値が0になったか判定する(S157)。参照カウントC106Eの値が0ではない場合(S157:NO)、受付プログラムP104は、本処理を終了する。
クローン元ファイルの参照カウントC106Eの値が0になった場合(S157:YES)、受付プログラムP104は、クローン元ファイルのファイルデータ及びメタデータを削除する(S158)。
図24は、データムーバープログラムP101の処理を示すフローチャートである。本処理は、イベントが発生することにより起動される、イベント駆動型の処理である。
データムーバープログラムP101は、予め設定された所定イベントのうちいずれかのイベントが発生したかを判定する(S160)。データムーバープログラムP101は、イベントが発生すると(S160:YES)、一定時間が経過したというイベントが発生したのか判定する(S161)。
一定時間の経過を知らせるイベントが発生した場合(S161:YES)、データムーバープログラムP101は、スタブ化処理を実行する(S162)。スタブ化処理の詳細は、図25で後述する。
一定時間の経過を知らせるイベントではない場合(S160:NO)、データムーバープログラムP101は、レプリケーション処理の実行を要求するイベントであるか判定する(S163)。レプリケーション処理の実行を要求するイベントの場合(S163:YES)、データムーバープログラムP101は、レプリケーション処理を実行する(S164)。レプリケーション処理の詳細は、図26で後述する。
レプリケーション処理の実行を要求するイベントではない場合(S163:NO)、データムーバープログラムP101は、ファイルの同期を要求するイベントであるか判定する(S165)。ファイルの同期を要求するイベントの場合(S165:YES)、データムーバープログラムP101は、ファイル同期処理を実行する(S166)。ファイル同期処理の詳細は、図27で後述する。
ファイルの同期を要求するイベントではない場合(S165:NO)、データムーバープログラムP101は、リコール処理の実行を要求するイベントであるか判定する(S167)。リコール処理の実行を要求するイベントである場合(S167:YES)、データムーバープログラムP101は、アーカイブ装置20からファイルデータを取得して、ファイルストレージ装置10に送信する(S168)。ファイルストレージ装置10には、メタデータは残されているので、アーカイブ装置20からファイルデータのみ取得すればよい。
図25は、データムーバープログラムP101により実行されるスタブ化処理の詳細を示すフローチャートである。
データムーバープログラムP101は、ファイルストレージ装置10のファイルシステムの空き容量RSをチェックする(S170)。データムーバープログラムP101は、空き容量RSが所定の空き容量閾値ThRSよりも小さいか判定する(S171)。空き容量RSが閾値ThRS以上の場合(S171:NO)、本処理は終了して、図24の処理に戻る。
空き容量RSが閾値ThRSよりも小さい場合(S171:YES)、データムーバープログラムP101は、空き容量RSが閾値ThRS以上になるまで、最終アクセス日時の古い順に、レプリケーション済ファイルを選択する(S172)。
データムーバープログラムP101は、選択されたファイルのデータを削除し、そのファイルのスタブ化フラグをONに設定し、そのファイルのレプリケーション済フラグをOFFに設定する(S173)。これにより、ステップS172で選択されたファイルは、スタブ化ファイルに変換される。さらに、クローンファイルがスタブ化ファイルに変換された場合、データムーバープログラムP101は、そのクローンファイルが参照するクローン元ファイルの参照カウントC106Eの値を1つ減少させる(S173)。
図26は、データムーバープログラムP101により実行されるレプリケーション処理の詳細を示すフローチャートである。
データムーバープログラムP101は、アーカイブ装置20から、複製ファイルの格納先を取得する(S180)。データムーバープログラムP101は、取得した格納先を、レプリケーション対象のiノード管理テーブルT10のリンク先C106Dに設定する(S181)。
データムーバープログラムP101は、受付プログラムP104に対してリード要求を発行し、レプリケーション処理の対象であるファイルを取得する(S182)。データムーバープログラムP101は、レプリケーション対象のファイルをアーカイブ装置20に転送する(S183)。データムーバープログラムP101は、レプリケーション対象ファイルのレプリケーション済フラグC106BにONを設定する(S184)。
図27は、データムーバープログラムP101により実行されるファイル同期処理を示すフローチャートである。
データムーバープログラムP101は、受付プログラムP104に対してリード要求を発行し、更新リストに記載されているファイルのデータ及びメタデータを取得する(S190)。更新リストとは、レプリケーション処理済のファイルのうち、レプリケーション処理後に更新されて差分データが発生したファイルを特定するための情報である。更新リストは、ファイル同期処理を行うファイルを管理するための情報である。
データムーバープログラムP101は、取得したデータをアーカイブ装置20に転送し(S191)、更新リストの内容を削除する(S192)。
図28は、シングルインスタンス処理を行うためのコンピュータプログラムの一部である、抽出プログラムP105の動作を示すフローチャートである。
抽出プログラムP105は、ファイルシステムで管理されている各ファイルについて、受付プログラムP104にリード要求を発行する(S200)。抽出プログラムP105は、最終アクセス日時LT(iノード管理テーブルT10の欄C104に記載の値)が所定のアクセス日時閾値ThLTよりも古いファイルを全て選択する(S200)。抽出プログラムP105は、選択したファイルの名称をシングルインスタンス対象リストT11に追加する(S200)。
図29は、抽出プログラムP105と共にシングルインスタンス処理を実行するコンピュータプログラムの一部である、重複検出プログラムP106の動作を示すフローチャートである。
重複検出プログラムP106は、シングルインスタンス対象リストT11から、対象ファイル名を取得する(S210)。重複検出プログラムP106は、重複排除プログラム(図30)を呼び出して、対象ファイルのシングルインスタンス化(クローンファイル化)を実行させる(S211)。重複検出プログラムP106は、リストT11に記載の全てのファイルについてシングルインスタンス処理を適用するまで(S212)、ステップS210、S211を実行する。
図30は、重複排除プログラムの動作を示すフローチャートである。重複検出プログラムは、インデックスディレクトリ下にあるサブディレクトリ(図9)のうち、対象ファイルのサイズに対応するサブディレクトリを検索する(S220)。
重複排除プログラムは、対象ファイルとサブディレクトリ内のクローン元ファイルとを比較し(S221)、対象ファイルに一致するクローン元ファイルが有るか判定する(S222)。
検索対象のサブディレクトリ内に、対象ファイルに一致する既存のクローン元ファイルが無い場合(S222:NO)、重複排除プログラムは、新たなクローン元ファイルを追加する(S223)。
つまり、重複排除プログラムは、対象ファイルを新たなクローン元ファイルとして、検索対象サブディレクトリに追加する。重複排除プログラムは、新たに作成したクローン元ファイルの参照カウントC106Eに「0」を設定する(S224)。
重複排除プログラムは、クローン元ファイルのiノード番号を、対象ファイルの参照先iノード番号C106Aに設定する(S225)。重複排除プログラムは、対象ファイルのデータを削除し(S226)、クローン元ファイルの参照カウントC106Eの値を1つ増加させる(S227)。
このように構成される本実施例によれば、ファイルストレージ装置10の記憶領域(ファイルシステムの領域)を効率的に使用することができる。このため、より多くのファイルをファイルストレージ装置10に格納することができ、アクセス時の応答性が高まり、さらに、ユーザの使い勝手が向上する。
本実施例では、クローン元ファイルはレプリケーション処理の対象外となっているため、レプリケーション処理の実行を前提とするスタブ化処理もクローン元ファイルには適用されない。従って、ユーザから直接アクセスされないクローン元ファイルが、見かけ上の使用頻度が少ないことを理由にスタブ化ファイルに変換されてしまうのを未然に防止することができる。この結果、クローン元ファイルを参照するクローンファイルの応答性能を維持することができる。
本実施例では、ファイルのコピー要求を受けた場合に、コピーファイルをクローンファイルとして作成する。このため、ファイルデータをコピーする必要がなく、ファイルストレージ装置10の記憶領域を有効に使用できる。
本実施例では、ファイルのコピー要求を受けた場合に、コピー対象のファイルに一致するクローン元ファイルが存在しない場合は、コピー対象ファイルに一致するクローン元ファイルを新たに作成し、コピー対象ファイルをクローンファイルに変換する。従って、速やかにシングルインスタンス処理を適用することができ、重複データの存在時間を短くして、ファイルストレージ装置10の記憶領域を有効に利用できる。即ち、通常の周期でシングルインスタンス処理が実行されるよりも前に、ファイルコピーの時点で、重複データを直ちに排除することができる。
本実施例では、クローン元ファイルを参照するクローンファイルが作成されるたびに、クローン元ファイルの参照カウントC106Eの値を1つずつ増加させる。そして、本実施例では、クローンファイルが削除されたり、スタブ化ファイルに変換されたりするたびに、参照カウントC106Eの値を1つずつ減少させ、参照カウントC106Eの値が0になったら、クローン元ファイルを削除する。従って、クローン元ファイルを参照しているクローンファイルが存在する限りは、クローン元ファイルを存続させることができ、クローンファイルの応答性能を維持できる。さらに、クローン元ファイルを参照するクローンファイルが一つも存在しなくなった場合は、クローン元ファイルを削除するため、ファイルストレージ装置10の記憶領域を有効に使用することができる。
本実施例では、クローンファイルは、クローンファイルの固有のデータ(差分データ)とクローン元ファイルのデータのうち参照していたデータとの両方を保持した状態で、アーカイブ装置20に記憶される。つまり、アーカイブ装置20に格納されるクローンファイルは、全てのデータを保持している。従って、万が一、ファイルストレージ装置10に記憶されているクローンファイルまたはクローン元ファイルのいずれかが損傷した場合でも、アーカイブ装置20から完全なクローンファイルをファイルストレージ装置10に書き戻すことができる。
本実施例では、ユーザから見えない特別なディレクトリ(インデックスディレクトリ)内にクローン元ファイルを格納する。このため、ユーザの誤操作からクローン元ファイルを保護して、階層化ストレージシステムの信頼性を高めることができる。
本実施例では、インデックスディレクトリ内に、ファイルサイズのランク毎にサブディレクトリを設け、対応するファイルサイズのサブディレクトリ内で、クローン元ファイルを管理する。従って、対象ファイルのサイズを基に、クローン元ファイルの検索範囲を絞り込むことができ、対象ファイルに一致するクローン元ファイルを高速に検索することができる。
図31〜図38を参照して第2実施例を説明する。本実施例は、第1実施例の変形例に該当する。従って、第1実施例との相違を中心に説明する。本実施例では、アーカイブ装置20側でも、クローン元ファイルをレプリケーション処理及びスタブ化処理の対象とする。本実施例では、クローン元ファイルの最終アクセス日時を適切に評価して、参照されているクローン元ファイルがスタブ化ファイルに変換されるのを防止する。
図31は、本実施例のレプリケーション処理で転送されるデータを示す。図31(a)は、クローン元ファイル及び通常ファイルの場合を示す。クローン元ファイル及び通常ファイル(非クローンファイル)の複製をアーカイブ装置20に作成する場合、ファイルストレージ装置10からアーカイブ装置20にファイルデータの全てを転送する。
これに対し、クローンファイルの場合は、図31(b)に示すように、クローンファイルに固有のデータ(クローン元ファイルとの差分データ)のみを、ファイルストレージ装置10からアーカイブ装置20に転送する。
アーカイブ装置20では、ファイルストレージ装置10と同様に、複製されたクローンファイルは、複製されたクローン元ファイルが有するデータの一部または全部を参照している。
第1実施例では、クローンファイルは、全てのデータを保持した状態でアーカイブ装置20に転送される。従って、重複したデータ転送が行われることになり、通信ネットワークが混在するばかりか、アーカイブ装置20の記憶領域も無駄に使用される。
これに対し、本実施例では、図31に示すように、クローンファイルは、差分データのみがファイルストレージ装置10からアーカイブ装置20に転送される。このため、本実施例では、重複したデータ転送が行われるのを抑制することができ、アーカイブ装置20の記憶領域を効率的に使用することができる。
しかし、本実施例では、クローン元ファイルもレプリケーション処理の対象とするため、クローンファイルよりも先にクローン元ファイルがスタブ化ファイルに変換されてしまう可能性がある。上述の通り、クローン元ファイルは基準となるファイルであり、誤操作による破壊または消去から保護すべく、特別なディレクトリで管理されている。
従って、クローン元ファイルを参照するクローンファイルが頻繁に使用されても、参照されているデータを保持するクローン元ファイルの使用頻度に影響を与えない。その結果、参照されているクローン元ファイルが参照しているクローンファイルよりも先にスタブ化ファイルに変換されてしまう。スタブ化されたクローン元ファイルを参照する場合は、リコール処理を行う必要があるため、クローンファイルの応答性能は低下し、ユーザの使い勝手が悪化する。
そこで、本実施例では、クローンファイルの最終アクセス日時に基づいて、クローン元ファイルの最終アクセス日時を算出する。クローンファイルの最終アクセス日時に基づいて、クローン元ファイルの最終アクセス日時を算出する方法としては、例えば、以下の方法が考えられる。
第1の方法は、同一のクローン元ファイルを参照する複数のクローンファイルがそれぞれ有する最終アクセス日時のうち、最も新しい最終アクセス日時を、クローン元ファイルの最終アクセス日時として使用する方法である。
第2の方法は、同一のクローン元ファイルを参照する複数のクローンファイルがそれぞれ有する最終アクセス日時の平均値を、重み付けして、または、重み付けすることなく、算出する方法である。
上記2つの方法の優劣を検討する。第1の方法の場合、複数のクローンファイルの中で最も新しい最終アクセス日時を有するクローンファイルが、形式的にクローン元ファイルを参照しているに過ぎず、実際にはクローン元ファイルとの間に共通するデータを持たない場合があり得る。クローン元ファイルと実質的に無関係なクローンファイルの最終アクセス日時によって、クローン元ファイルの最終アクセス日時を決定するのは、適切ではなく、好ましくないと考えられる。
さらに、第1の方法の場合、例えば、複数のクローンファイルのうち大多数のクローンファイルの最終アクセス日時が古いのにもかかわらず、一つのクローンファイルの最終アクセス日時だけが新しい場合に、その一つだけ新しい最終アクセス日時を採用するのは、実態とかけ離れている可能性がある。多くのクローンファイルは殆ど使用されていないのに、ただ一つのクローンファイルだけが使用されているということは、多数決的な観点では、クローン元ファイルの役割は終わったと見るべきである。
従って、本実施例では、第2の方法を採用し、複数のクローンファイルのそれぞれ有する最終アクセス日時の平均値を算出して、その平均値をクローン元ファイルの最終アクセス日時として設定する。但し、特許請求の範囲から除かれない限り、第1の方法も本発明の範囲に含まれる。
図32は、クローン元ファイルの最終アクセス日時を算出する方法(第2の方法)を示す説明図である。
図32には、クローン元ファイルを参照する3つのクローンファイルCF1、CF2、CF3が示されている。クローンファイルCF1のデータは、クローン元ファイルのデータと完全に一致する。クローンファイルCF2のデータは、クローン元ファイルのデータと多くが一致し、一部が異なる。クローンファイルCF3のデータは、クローン元ファイルのデータと全く一致しない。
この場合、クローンファイルの最終アクセス日時の平均値ALTは、クローンファイルCF1の最終アクセス日時LT1と、クローンファイルCF2の最終アクセス日時LT2とから算出する(ALT=(LT1+Lt2)。その平均値ALTがクローン元ファイルの最終アクセス日時C104に設定される。
ここで、平均値ALTの算出に際して、クローン元ファイルとデータが全く共通しないクローンファイルCF3の最終アクセス日時LT3を除外するのは、クローン元ファイルと無関係のクローンファイルを排除して、より実態に近い最終アクセス日時を算出するためである。
データの全く共通しないクローンファイルを除外するということは、換言すれば、データの共通する程度に応じてクローンファイルに重み付けし、最終アクセス日時の平均値を算出するということである。
即ち、データの共通するクローンファイルCF1、CF2の最終アクセス日時LT1、LT2には係数W1(例えば1)をかけて使用し、データが共通しないクローンファイルCF3の最終アクセス日時LT3には係数W2(例えば0)をかけて使用する。これにより、最終アクセス日時の平均値ALTを、ALT=(LT1×W1+LT2×W1+LT3×W2)/3)として求めることができる。重み係数W1は0以上の値であれば、1以外の値に設定してもよい。重み係数W2は、W1より小さい値であれば、0以上の値に設定してもよい。クローン元ファイルのデータを参照する割合に応じて、重み係数Wの値を設定してもよい。但し、平均値ALTが、各クローンファイルの最終アクセス日時LTとかけ離れないように、最終的に調整する必要がある。
図33は、最終アクセス日時を取得するためのプログラムの動作を示すフローチャートである。最終アクセス日時取得プログラム(以下、LT取得プログラム)は、受付プログラムP104により呼び出される。最終アクセス日時を必要とする処理を実行する場合に、LT取得プログラムが起動される。
まず最初に、LT取得プログラムは、対象ファイルがクローン元ファイルであるか判定する(S300)。クローン元ファイルの場合(S300:YES)、LT取得プログラムは、図32で述べたように、クローン元ファイルを参照するクローンファイルから最終アクセス日時を取得して、それらの平均値を算出する(S301)。LT取得プログラムは、算出した平均値をクローン元ファイルの最終アクセス日時として、要求元である受付プログラムP104に返して(S302)、本処理を終了する。
対象ファイルがクローン元ファイルではない場合(S300:NO)、LT取得プログラムは、iノード管理テーブルT10の最終アクセス日時C104から値を取得する(S303)。LT取得プログラムは、取得した最終アクセス日時を受付プログラムP104に返して(S302)、本処理を終了する。
図34は、受付プログラムP104により実行される、リード要求処理及びライト要求処理を示すフローチャートである。
受付プログラムP104は、ホスト12からの処理要求を受領すると、対象ファイルのスタブ化フラグにONが設定されているか判定する(S310)。スタブ化フラグがOFFに設定されている場合(S310:NO)、図21で述べた処理に移る。
スタブ化フラグがONに設定されている場合(S310:YES)、受付プログラムP104は、対象ファイルがクローンファイルであるか判定する(S311)。対象ファイルがクローンファイルの場合(S311:YES)、図35の処理に移る。対象ファイルがクローンファイルではない場合(S311:NO)、図36の処理に移る。
図35は、対象ファイルがクローンファイルの場合の処理である。図35に示す処理は、図20に示す処理のうちステップS101、S102、S103、S105、S107、S108及びS109を備えており、ステップS104及びS106を備えていない。
本実施例では、クローン元ファイルもスタブ化ファイルに変換される可能性があるため、図35に示す処理では、ステップS104に代えて新ステップS312及びS313を実行し、ステップS106に代えて新ステップS314及びS315を実行する。
リード要求の場合(S101:read)、受付プログラムP104は、対象ファイルのブロックアドレスが有効であるか判定する(S102)。
ブロックアドレスが有効ではない場合(S102:NO)、受付プログラムP104は、対象ファイルであるクローンファイルの参照しているクローン元ファイルのデータについてリコールを要求する(S312)。さらに、受付プログラムP104は、対象ファイルであるクローンファイルのデータについてリコールを要求し、クローン元ファイルのデータとクローンファイルのデータをマージした結果を、要求元に返す(S313)。
一方、ライト要求の場合(S101:write)、受付プログラムP104は、対象ファイルであるクローンファイルが参照しているクローン元ファイルのデータについてリコールを要求する(S314)。さらに、受付プログラムP104は、対象ファイルであるクローンファイルのデータについてリコールを要求する(S315)。その後、受付プログラムP104は、対象ファイルであるクローンファイルのデータにライトデータを上書きする(S107)。
図36は、図34の処理において対象ファイルがクローンファイルではない場合の処理を示すフローチャートである。本処理は、図20で述べたステップS101〜S109のみを含むため、説明を省略する。
図37は、レプリケーション処理またはファイル同期処理のために、ファイルストレージ装置10からアーカイブ装置20に転送するためのデータを読み出す処理を示すフローチャートである。
最初に、受付プログラムP104は、対象ファイルがクローンファイルであるか判定する(S320)。対象ファイルがクローンファイルではない場合(S320:NO)、受付プログラムP104は、iノード管理テーブルT10のブロックアドレスに従ってデータを取得し、要求元に返す(S321)。受付プログラムP104は、対象ファイルの最終アクセス日時C104を更新し(S322)、本処理を終了する。
対象ファイルがクローンファイルの場合(S320:YES)、受付プログラムP104は、iノード管理テーブルT10のブロックアドレスに従って、クローンファイルに固有のデータ(差分データ)を取得し、そのデータを要求元に返す(S323)。
図38は、受付プログラムP104により実行されるファイルコピー処理を示すフローチャートである。本処理は、図22で述べた処理と比較して、ステップS133に代えて新ステップS330を備えている。
コピー対象ファイルのブロックアドレスが有効ではない場合(S131:NO)、受付プログラムP104は、クローン元ファイル及びクローンファイルについてリコールを要求し、ファイルデータ及びメタデータを取得する(S330)。
このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、クローン元ファイルもレプリケーション処理の対象とし、アーカイブ装置20側でもシングルインスタンスの関係を維持する。従って、本実施例では、クローンファイルに固有のデータのみをアーカイブ装置20に転送すればよく、ファイルストレージ装置10からアーカイブ装置20へのデータ転送サイズを小さくできる。また、アーカイブ装置20の記憶領域も効率的に使用できる。
本実施例では、クローン元ファイルの最終アクセス日時を、クローンファイルの最終アクセス日時に基づいて算出する(例えば、平均値を求める)。従って、クローンファイルに参照されているクローン元ファイルがクローンファイルよりも先にスタブ化ファイルに変換されるのを抑制することができる。このため、クローンファイルの応答性能の低下を防止できる。
図39は、第3実施例のデータムーバープログラムP101の動作のうち、スタブ化処理の動作を示すフローチャートである。
データムーバープログラムP101は、ファイルシステムの空き容量RSをチェックし(S340)、所定の閾値ThRSよりも小さいか判定する(S341)。空き容量RSが閾値ThRS以上の場合(S341:NO)、本処理を終了する。
空き容量RSが閾値ThRSよりも小さい場合(S341:YES)、データムーバープログラムP101は、受付プログラムP104に対してリード要求を発行し、各ファイルの最終アクセス日時等を取得する(S342)。データムーバープログラムP101は、シングルインスタンス化されていないファイル(非クローンファイル)のうち、最終アクセス日時が所定の閾値よりも古いファイルを選択する(S342)。
データムーバープログラムP101は、ステップS342で選択したファイルのデータを削除し、そのファイルのスタブ化フラグC106CをONに設定し、さらに、そのファイルのレプリケーション済フラグC106BをOFFに設定する(S343)。
データムーバープログラムP101は、ファイルシステムの空き容量RSを再び確認し、空き容量RSが閾値ThRS以上になったか判定する(S344)。空き容量RSが閾値ThRS以上になった場合(S344:YES)、本処理を終了する。
非クローンファイルをスタブ化ファイルに変換しても空き容量RSが閾値ThRS以上にならない場合(S344:NO)、データムーバープログラムP101は、シングルインスタンス化されたファイル(クローンファイル)を選択して、スタブ化ファイルに変換する(S345)。
データムーバープログラムP101は、空き容量RSが閾値ThRS以上になるまで、クローンファイルの中から、シングルインスタンス化された期間SITが所定の閾値ThSITよりも短いクローンファイルを選択する(S345)。データムーバープログラムP101は、選択したファイルのデータを削除し、そのファイルのスタブ化フラグをONに設定する(S345)。さらに、データムーバープログラムP101は、クローン元ファイルの参照カウントC106Eの値を1つ減少させる(S345)。
このように構成される本実施例は、第1実施例または第2実施例のいずれとも結合させることができ、第1実施例または第2実施例と同様の効果を奏する。
本実施例では、スタブ化処理を実行するに際して、まず最初に、非クローンファイルをスタブ化ファイルに変換し(S342、S343)、それでも足りない場合に、クローンファイルをスタブ化ファイルに変換する(S345)。さらに、本実施例では、クローンファイルのうち、クローンファイルでいる期間(シングルインスタンス化された期間)の短いクローンファイルから、スタブ化処理を実施する。
スタブ化ファイルの候補には、以下の2つの種類が含まれている。第1の種類は、ファイル作成の時点からシングルインスタンス化されたものである。つまり、ファイル作成時に、ユーザの明示の指示で、クローンファイルに変換されたファイルである。第2の種類は、シングルインスタンス処理の周期的な実施によって、最近クローンファイルに変換されたばかりのものである。
第1の種類のクローンファイルは、ファイル作成時からクローンファイルであるため、比較的長期間にわたって記憶容量の削減に貢献している。これに対し、第2の種類のクローンファイルは、最近クローンファイルに変換されたものでり、記憶容量の削減に対する貢献は少ない。
そこで、本実施例では、第1の種類のクローンファイルをできるだけファイルストレージ装置10に残して、ユーザの使い勝手を向上する。そのために、非クローンファイルから先にスタブ化ファイルに変換した後で、第2の種類のクローンファイルをスタブ化ファイルに変換する。
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上述された本発明の技術的特徴は、適宜結合させて実施することができる。
本発明は、例えば、以下のように、管理装置を制御するコンピュータプログラムの発明として表現することもできる。
表現1.
第1ファイル管理装置と第2ファイル管理装置とでファイルを階層化して管理する階層化ストレージシステムを管理するコンピュータを管理装置として機能させるためのコンピュータプログラムであって、
前記第1ファイル管理装置内の所定ファイルの複製を前記第2ファイル管理装置に作成するレプリケーション処理部と、
予め設定される第1所定条件に従って、前記第1ファイル管理装置内の他の所定ファイルを重複データの排除対象として選択し、選択された前記他の所定ファイルを所定の基準ファイルのデータを参照する参照元ファイルに変換することで、重複データを排除する重複排除処理部と、
前記第1ファイル管理装置内の前記所定ファイルのデータを削除し、かつ、前記第2ファイル管理装置に作成された前記所定ファイルの複製にのみデータを残すというスタブ化処理の対象となるスタブ化候補ファイルを、予め設定される第2所定条件に従って抽出し、さらに、予め設定される第3所定条件に従って、前記スタブ化候補ファイルを前記スタブ化処理するスタブ化処理部と、
を前記コンピュータ上にそれぞれ実現させる、コンピュータプログラム。
表現2.
前記第1ファイル管理装置内においてコピー元ファイルの複製作成が要求された場合、前記コピー元ファイルの複製を前記参照元ファイルとして作成するファイルアクセス受付部をさらに備える、表現1に記載のコンピュータプログラム。
表現3.
前記第1ファイル管理装置は、ユーザ端末が直接的にアクセスできるファイル管理装置として構成されており、
前記第2ファイル管理装置は、前記ユーザ端末が直接的にはアクセスできないファイル管理装置として構成されている、
表現1または2のいずれかに記載のコンピュータプログラム。
表現4.
前記第1所定条件は、前記第1ファイル管理装置内のファイルのうち最終アクセス日時が予め設定される所定の時間閾値よりも古いファイルを前記他の所定ファイルとして選択すること、である、
表現1〜3のいずれかに記載のコンピュータプログラム。
表現5.
前記第2所定条件は、前記第1ファイル管理装置内の空き容量が所定の空き容量閾値を下回った場合に、前記スタブ化候補を抽出することである、
表現1〜4のいずれかに記載のコンピュータプログラム。
表現6.
前記第3所定条件は、前記空き容量が前記所定の空き容量閾値以上となるまで、前記スタブ化候補ファイルのうち最終アクセス日時が古い順に選択すること、である、
表現1〜5のいずれかに記載のコンピュータプログラム。
表現7.
前記参照元ファイルが前記所定の基準ファイルのiノード番号を保持することで、前記参照元ファイルの参照先として前記所定の基準ファイルが対応付けられる、
表現1〜6のいずれかに記載のコンピュータプログラム。
表現8.
前記所定の基準ファイルを参照先とする前記参照元ファイルの数を示す参照数を前記所定の基準ファイルは保持しており、
前記参照元ファイルが削除される度に、または、前記参照元ファイルについて前記スタブ化処理が実施される度に、前記参照数が減少するようになっており、
前記ファイルアクセス受付部は、前記参照数が0になった場合に、前記所定の基準ファイルを削除可能である、
表現1〜7のいずれかに記載のコンピュータプログラム。
表現9.
前記所定の基準ファイルは前記所定ファイルとして選択されず、前記所定の基準ファイルを参照する前記参照元ファイルが前記所定ファイルとして選択されて、前記レプリケーション処理部及び前記スタブ化処理部の処理対象となる、
表現1〜8のいずれかに記載のコンピュータプログラム。
表現10.
前記所定ファイルとして選択される前記参照元ファイルは、前記所定の基準ファイルの有するデータのうち参照する必要のあった全てのデータを保持した状態で、前記第2ファイル管理装置に送信される、
表現9に記載のコンピュータプログラム。
表現11.
前記所定の基準ファイルは、前記第1ファイル管理装置に設けられる所定ディレクトリ下に存在する、ファイルサイズのランク毎に予め用意された複数のサブディレクトリのうち、前記所定の基準ファイルのサイズに対応するサブディレクトリで管理される、
表現1〜10のいずれかに記載のコンピュータプログラム。
1:エッジ側ファイル管理装置、2:コア側ファイル管理装置、3:管理装置、10:ファイルストレージ装置、12:ホストコンピュータ、13:RAIDシステム、20:アーカイブ装置、21:RAIDシステム

Claims (15)

  1. 第1ファイル管理装置と第2ファイル管理装置とでファイルを階層化して管理する階層化ストレージシステムを管理するための管理装置であって、
    前記第1ファイル管理装置内の所定ファイルの複製を前記第2ファイル管理装置に作成するレプリケーション処理部と、
    予め設定される第1所定条件に従って、前記第1ファイル管理装置内の他の所定ファイルを重複データの排除対象として選択し、選択された前記他の所定ファイルを所定の基準ファイルのデータを参照する参照元ファイルに変換することで、重複データを排除する重複排除処理部と、
    前記第1ファイル管理装置内の前記所定ファイルのデータを削除し、かつ、前記第2ファイル管理装置に作成された前記所定ファイルの複製にのみデータを残すというスタブ化処理の対象となるスタブ化候補ファイルを、予め設定される第2所定条件に従って抽出し、さらに、予め設定される第3所定条件に従って、前記スタブ化候補ファイルを前記スタブ化処理するスタブ化処理部と、
    を備える、階層化ストレージシステムの管理装置。
  2. 前記第1ファイル管理装置内においてコピー元ファイルの複製作成が要求された場合、前記コピー元ファイルの複製を前記参照元ファイルとして作成するファイルアクセス受付部をさらに備える、
    請求項1に記載の階層化ストレージシステムの管理装置。
  3. 前記第1ファイル管理装置は、ユーザ端末が直接的にアクセスできるファイル管理装置として構成されており、
    前記第2ファイル管理装置は、前記ユーザ端末が直接的にはアクセスできないファイル管理装置として構成されている、
    請求項1に記載の階層化ストレージシステムの管理装置。
  4. 前記第1所定条件は、前記第1ファイル管理装置内のファイルのうち最終アクセス日時が予め設定される所定の時間閾値よりも古いファイルを前記他の所定ファイルとして選択すること、であり、
    前記第2所定条件は、前記第1ファイル管理装置内の空き容量が所定の空き容量閾値を下回った場合に、前記スタブ化候補を抽出することであり、
    前記第3所定条件は、前記空き容量が前記所定の空き容量閾値以上となるまで、前記スタブ化候補ファイルのうち最終アクセス日時が古い順に選択すること、である、
    請求項1に記載の階層化ストレージシステムの管理装置。
  5. 前記参照元ファイルが前記所定の基準ファイルのiノード番号を保持することで、前記参照元ファイルの参照先として前記所定の基準ファイルが対応付けられる、
    請求項1に記載の階層化ストレージシステムの管理装置。
  6. 前記所定の基準ファイルを参照先とする前記参照元ファイルの数を示す参照数を前記所定の基準ファイルは保持しており、
    前記参照元ファイルが削除される度に、または、前記参照元ファイルについて前記スタブ化処理が実施される度に、前記参照数が減少するようになっており、
    前記ファイルアクセス受付部は、前記参照数が0になった場合に、前記所定の基準ファイルを削除可能である、
    請求項1に記載の階層化ストレージシステムの管理装置。
  7. 前記所定の基準ファイルは前記所定ファイルとして選択されず、前記所定の基準ファイルを参照する前記参照元ファイルが前記所定ファイルとして選択されて、前記レプリケーション処理部及び前記スタブ化処理部の処理対象となる、
    請求項1に記載の階層化ストレージシステムの管理装置。
  8. 前記所定ファイルとして選択される前記参照元ファイルは、前記所定の基準ファイルの有するデータのうち参照する必要のあった全てのデータを保持した状態で、前記第2ファイル管理装置に送信される、
    請求項7に記載の階層化ストレージシステムの管理装置。
  9. 前記所定の基準ファイルは、前記第1ファイル管理装置に設けられる所定ディレクトリ下に存在する、ファイルサイズのランク毎に予め用意された複数のサブディレクトリのうち、前記所定の基準ファイルのサイズに対応するサブディレクトリで管理される、
    請求項1に記載の階層化ストレージシステムの管理装置。
  10. 前記ファイルアクセス受付部は、前記コピー元ファイルが前記参照元ファイルではない場合、
    前記コピー元ファイルの参照先となる所定の基準ファイルを新たに作成し、
    前記コピー元ファイルと新たに作成された前記所定の基準ファイルとを対応付けて、前記コピー元ファイルを新たに作成された前記所定の基準ファイルを参照する参照元ファイルに変換し、
    前記参照元ファイルに変換された前記コピー元ファイルの有するiノード情報をコピーして、複製ファイルに対応付けることにより、前記コピー元ファイルの複製ファイルを、新たな前記所定の基準ファイルを参照する参照元ファイルとして作成する、
    請求項2に記載の階層化ストレージシステムの管理装置。
  11. 前記スタブ化処理部は、
    前記第1ファイル管理装置内の空き容量が前記所定の空き容量閾値を下回った場合には、予め設定される他の所定の時間閾値よりも古く、かつ、前記重複排除処理部による処理が実施されていない未処理ファイルを、第1スタブ化候補ファイルとして抽出し、
    抽出された前記第1スタブ化候補ファイルについて前記スタブ化処理を実行し、
    前記空き容量が前記所定の空き容量閾値以上となったかを判定し、
    前記空き容量が前記所定の空き容量閾値以上になった場合は、前記スタブ化処理を終了し、
    前記空き容量が前記所定の空き容量閾値以上ではない場合は、前記空き容量が前記所定の空き容量閾値以上となるまで、前記重複排除処理部により前記参照元ファイルに変換された期間の短い参照元ファイルを、第2スタブ化候補ファイルとして抽出して前記スタブ化処理を実行する、
    請求項1に記載の階層化ストレージシステムの管理装置。
  12. 前記所定の基準ファイルと前記参照元ファイルの両方が前記所定ファイルとして選択されて、前記レプリケーション処理部及び前記スタブ化処理部の処理対象となる、
    請求項1に記載の階層化ストレージシステムの管理装置。
  13. 前記所定の基準ファイルの最終アクセス日時は、前記所定の基準ファイルを参照先とする前記参照元ファイルの有する最終アクセス日時に基づいて推定される、
    請求項12に記載の階層化ストレージシステムの管理装置。
  14. 前記所定の基準ファイルの最終アクセス日時は、前記所定の基準ファイルを参照先とする複数の参照元ファイルの有する最終アクセス日時の平均値として算出される、
    請求項13に記載の階層化ストレージシステムの管理装置。
  15. 第1ファイル管理装置と第2ファイル管理装置とでファイルを階層化して管理する階層化ストレージシステムを管理装置を用いて管理するための方法であって、
    前記管理装置は、
    前記第1ファイル管理装置内の所定ファイルの複製を前記第2ファイル管理装置に作成し、
    予め設定される第1所定条件に従って、前記第1ファイル管理装置内の他の所定ファイルを重複データの排除対象として選択し、
    選択された前記他の所定ファイルを所定の基準ファイルのデータを参照する参照元ファイルに変換して重複データを排除し、
    前記第1ファイル管理装置内の前記所定ファイルのデータを削除し、かつ、前記第2ファイル管理装置に作成された前記所定ファイルの複製にのみデータを残すというスタブ化処理の対象となるスタブ化候補ファイルを、予め設定される第2所定条件に従って抽出し、
    さらに、予め設定される第3所定条件に従って、前記スタブ化候補ファイルを前記スタブ化処理する、
    階層化ストレージシステムの管理方法。
JP2014548343A 2012-02-13 2012-02-13 階層化ストレージシステムの管理装置及び管理方法 Expired - Fee Related JP5873187B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/000944 WO2013121456A1 (en) 2012-02-13 2012-02-13 Management apparatus and management method for hierarchical storage system

Publications (2)

Publication Number Publication Date
JP2015503780A true JP2015503780A (ja) 2015-02-02
JP5873187B2 JP5873187B2 (ja) 2016-03-01

Family

ID=48946510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014548343A Expired - Fee Related JP5873187B2 (ja) 2012-02-13 2012-02-13 階層化ストレージシステムの管理装置及び管理方法

Country Status (5)

Country Link
US (1) US20130212070A1 (ja)
EP (1) EP2807582A1 (ja)
JP (1) JP5873187B2 (ja)
CN (1) CN104106063B (ja)
WO (1) WO2013121456A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017123140A (ja) * 2016-01-04 2017-07-13 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド オブジェクト記憶システムにおけるオブジェクトデータの更新方法及び更新装置
JP2017162142A (ja) * 2016-03-09 2017-09-14 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
WO2018092288A1 (ja) * 2016-11-18 2018-05-24 株式会社日立製作所 ストレージ装置及びその制御方法
JP2019197304A (ja) * 2018-05-08 2019-11-14 アズビル株式会社 情報蓄積装置、情報蓄積システムおよび情報蓄積方法
JP7419853B2 (ja) 2020-02-07 2024-01-23 カシオ計算機株式会社 情報処理装置及びプログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495377B2 (en) * 2012-09-12 2016-11-15 International Business Machines Corporation Secure deletion operations in a wide area network
US10102204B2 (en) * 2012-11-20 2018-10-16 International Business Machines Corporation Maintaining access control lists in non-identity-preserving replicated data repositories
DE102013114214A1 (de) * 2013-12-17 2015-06-18 Fujitsu Technology Solutions Intellectual Property Gmbh POSIX-kompatibles Dateisystem, Verfahren zum Erzeugen einer Dateiliste und Speichervorrichtung
EP3285184A1 (en) * 2015-01-30 2018-02-21 Dropbox, Inc. Storage constrained synchronization of shared content items
US10248705B2 (en) 2015-01-30 2019-04-02 Dropbox, Inc. Storage constrained synchronization of shared content items
US10831715B2 (en) 2015-01-30 2020-11-10 Dropbox, Inc. Selective downloading of shared content items in a constrained synchronization system
US9361349B1 (en) 2015-01-30 2016-06-07 Dropbox, Inc. Storage constrained synchronization of shared content items
US9514205B1 (en) * 2015-09-04 2016-12-06 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US10049145B2 (en) 2016-04-25 2018-08-14 Dropbox, Inc. Storage constrained synchronization engine
US10719532B2 (en) 2016-04-25 2020-07-21 Dropbox, Inc. Storage constrained synchronization engine
EP3635582B1 (en) 2017-06-08 2022-12-14 Hitachi Vantara LLC Fast recall for geographically distributed object data
CN111143075B (zh) * 2019-12-30 2023-09-05 航天宏图信息技术股份有限公司 海洋卫星数据定标检验方法、装置、电子设备及存储介质
US11860826B2 (en) 2021-10-15 2024-01-02 Oracle International Corporation Clone-aware approach for space and time efficient replication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328847A (ja) * 2001-04-26 2002-11-15 Nec Corp データバックアップシステム及び方法
WO2009008027A1 (ja) * 2007-07-06 2009-01-15 Fujitsu Limited ストレージ管理装置
WO2011148496A1 (ja) * 2010-05-27 2011-12-01 株式会社日立製作所 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US20050015409A1 (en) * 2003-05-30 2005-01-20 Arkivio, Inc. Techniques for performing operations on migrated files without recalling data
WO2005050381A2 (en) * 2003-11-13 2005-06-02 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US7441096B2 (en) * 2004-07-07 2008-10-21 Hitachi, Ltd. Hierarchical storage management system
JP5082310B2 (ja) * 2006-07-10 2012-11-28 日本電気株式会社 データ移行装置及びプログラム
WO2008046670A1 (en) * 2006-10-18 2008-04-24 International Business Machines Corporation A method of controlling filling levels of a plurality of storage pools
JP4951331B2 (ja) * 2006-12-26 2012-06-13 株式会社日立製作所 ストレージシステム
US20090319532A1 (en) * 2008-06-23 2009-12-24 Jens-Peter Akelbein Method of and system for managing remote storage
JP5427533B2 (ja) 2009-09-30 2014-02-26 株式会社日立製作所 階層ストレージ管理システムにおける重複ファイルの転送方法及びシステム
US8352422B2 (en) * 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8504515B2 (en) * 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US9823981B2 (en) * 2011-03-11 2017-11-21 Microsoft Technology Licensing, Llc Backup and restore strategies for data deduplication
US9087010B2 (en) * 2011-12-15 2015-07-21 International Business Machines Corporation Data selection for movement from a source to a target

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328847A (ja) * 2001-04-26 2002-11-15 Nec Corp データバックアップシステム及び方法
WO2009008027A1 (ja) * 2007-07-06 2009-01-15 Fujitsu Limited ストレージ管理装置
WO2011148496A1 (ja) * 2010-05-27 2011-12-01 株式会社日立製作所 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017123140A (ja) * 2016-01-04 2017-07-13 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド オブジェクト記憶システムにおけるオブジェクトデータの更新方法及び更新装置
JP2017162142A (ja) * 2016-03-09 2017-09-14 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
WO2018092288A1 (ja) * 2016-11-18 2018-05-24 株式会社日立製作所 ストレージ装置及びその制御方法
JP2019197304A (ja) * 2018-05-08 2019-11-14 アズビル株式会社 情報蓄積装置、情報蓄積システムおよび情報蓄積方法
JP7419853B2 (ja) 2020-02-07 2024-01-23 カシオ計算機株式会社 情報処理装置及びプログラム

Also Published As

Publication number Publication date
WO2013121456A1 (en) 2013-08-22
CN104106063B (zh) 2017-06-30
US20130212070A1 (en) 2013-08-15
CN104106063A (zh) 2014-10-15
EP2807582A1 (en) 2014-12-03
JP5873187B2 (ja) 2016-03-01

Similar Documents

Publication Publication Date Title
JP5873187B2 (ja) 階層化ストレージシステムの管理装置及び管理方法
US11520670B2 (en) Method and apparatus for restoring data from snapshots
US10296494B2 (en) Managing a global namespace for a distributed filesystem
TWI534614B (zh) 資料重複刪除技術
US9811662B2 (en) Performing anti-virus checks for a distributed filesystem
US9852150B2 (en) Avoiding client timeouts in a distributed filesystem
US9804928B2 (en) Restoring an archived file in a distributed filesystem
US9811532B2 (en) Executing a cloud command for a distributed filesystem
JP5706966B2 (ja) 情報処理システム、及び、それを用いたファイル復元方法
US10657150B2 (en) Secure deletion operations in a wide area network
US11829606B2 (en) Cloud object storage and versioning system
US11720525B2 (en) Flexible tiering of snapshots to archival storage in remote object stores
US10452680B1 (en) Catch-up replication with log peer
TW201734750A (zh) 包含固態硬碟儲存裝置及類似物的重複資料刪除快取記憶體
US9749193B1 (en) Rule-based systems for outcome-based data protection
CN112334891B (zh) 用于搜索服务器的集中式存储
JP6551126B2 (ja) アーカイブシステム、アーカイブ装置およびアーカイブするためのコンピュータプログラム
EP4241159A1 (en) Data connector component for implementing management requests
US10496493B1 (en) Method and system for restoring applications of particular point in time
US9830471B1 (en) Outcome-based data protection using multiple data protection systems
US10372683B1 (en) Method to determine a base file relationship between a current generation of files and a last replicated generation of files
US11531644B2 (en) Fractional consistent global snapshots of a distributed namespace
JP2017068729A (ja) ファイル記憶装置、情報処理方法、プログラム、ファイル記憶システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160114

R150 Certificate of patent or registration of utility model

Ref document number: 5873187

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees