JP2016066220A - ストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラム - Google Patents
ストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラム Download PDFInfo
- Publication number
- JP2016066220A JP2016066220A JP2014194335A JP2014194335A JP2016066220A JP 2016066220 A JP2016066220 A JP 2016066220A JP 2014194335 A JP2014194335 A JP 2014194335A JP 2014194335 A JP2014194335 A JP 2014194335A JP 2016066220 A JP2016066220 A JP 2016066220A
- Authority
- JP
- Japan
- Prior art keywords
- file
- directory
- hierarchy
- relocation
- group
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
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
【課題】ファイルの再配置による処理負荷を軽減したストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラムを提供する。【解決手段】記憶部15は、複数の階層を有する。グループ管理部11は、記憶部15の階層のいずれかに格納されたファイルを複数のグループに分割して管理する。移動判定部12は、複数の前記グループのうち階層移動条件を満たすグループを階層の移動の対象として選択する。ファイル移動部13は、移動判定部12により選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させる。【選択図】図1
Description
本発明は、ストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラムに関する。
近年、コンピュータが取り扱うデータ量は増加の一途をたどっている。そのため、コンピュータが記憶装置として用いるストレージ装置の記憶容量も増大している。
ストレージ装置に搭載される記憶媒体には、様々な性能を有するものがある。一般的には、SSD(Solid State Drive)やSAS(Serial Attached SCSI(Small Computer System Interface))ディスク装置などの性能が高い記憶媒体は高価で、容量を多く確保することが困難である。一方、NEARLINE SATA(Serial Advanced Technology Attachment)ディスク装置などの性能が低い記憶媒体は安価で、容量を多く確保することが容易である。
そこで、記憶容量の増大に対応するとともにコスト削減を実現するために、記憶容量及びコストのバランスを考慮して、性能が異なる記憶媒体をストレージ装置の中に配置することが多くなってきている。このように性能が異なる記憶媒体を搭載するストレージ装置は、階層型のストレージ装置と呼ばれる。この場合、性能が異なる記憶媒体のグループが、階層(Tier)にあたる。
階層型のストレージ装置では、性能が異なる記憶媒体に対する最適なファイル配置とともに透過的なアクセスが望まれる。それらを実現するために、階層型のストレージ装置において、ファイルのアクセス頻度が高いデータをより高速な記憶媒体へ配置し、アクセス頻度が低いファイルをより低速な記憶媒体へ配置する階層化処理が行われる。
階層型のストレージ装置におけるデータの再配置方法として、例えば、階層移動型とキャッシング型という2つの方法が存在する。階層移動型のストレージ装置は、アクセス頻度が高いファイルをより高速な記憶媒体へ再配置し、アクセス頻度が低いファイルをより低速な記憶媒体へ再配置する。また、キャッシング型のストレージ装置は、高速な記憶媒体をキャッシュとして利用する。具体的には、キャッシング型のストレージ装置は、全てのファイルを低速な記憶媒体に配置しつつ、アクセス頻度が高いファイルを高速な記憶媒体に配置し、アクセス頻度が低くなったファイルは高速な記憶媒体から削除する。
階層移動型及びキャッシング型のいずれのストレージ装置も、ファイル単位のアクセス状況をチェックした上で、ファイルを適切な位置に配置する。以下では、階層移動型及びキャッシング型のストレージ装置によるファイルの移動を、ファイルの再配置と呼ぶ。
ファイルの再配置を実行するための判定基準は、ユーザカスタマイズ可能な降格及び昇格のポリシー設定により与えられる。ここで、降格とは、上位の階層にあるファイルの下位の階層への移動又はキャッシュとして用いている上位の階層にあるファイルの削除を指す。また、昇格とは、下位の階層にあるファイルの上位の階層への移動、又はキャッシュとして用いている上位の階層へのコピー、言い換えればキャッシングを指す。さらに、ポリシーとは、ファイル単位に、降格又は昇格を行うか否かの判定条件を記録した設定情報である。
例えば、降格のポリシーは、ファイル単位に最終アクセスからの経過日数が予め決められた所定経過日数を超えたファイルを、下位の階層に降格又はキャッシュから削除するなどと設定できる。この例では、各ファイルのメタデータに含まれる最終アクセス時間が、再配置の判定に用いられる。メタデータとは、作成日時、作成者、データ形式などのファイルの管理情報を含む情報である。また、昇格のポリシーは、単位時間あたりにアクセスした回数が予め決められた閾値を超えたファイルを上位の階層に昇格又はコピーするなどと設定できる。この例では、FCL(File Change Log)を参照し、ファイル毎の参照回数をカウントした値が、再配置の判定に用いられる。ここで、FCLとは、ファイルシステム内のファイルにアクセスした読み取り及び書き込みを記録したリポジトリである。
このようなファイルの再配置の技術として、ファイル単位にアクセス頻度を監視し、負荷集中のディスク装置を抽出し、負荷分散する従来技術が提案されている。また、管理者による移行ポリシーに基づき、ファイルサーバ間でデータ移行を行う従来技術が提案されている。
しかしながら、昇格・降格をファイル単位で管理した場合、ファイル数が多くなるにつれて処理時間が増大する。例えば、上述した降格の判定であれば、ファイルの最終参照日時をチェックして判定を行うため、全ファイルのメタデータを参照するため処理時間が増大する。また、上述した昇格の判定の場合、FCLを解析して判定を行うが、対象ファイル数が増加すると、FCLも膨大になるため、これについても解析処理時間が増大する。また、膨大なメタデータのサーチやFCLの解析をする場合、CPU(Central Processing Unit)使用率が高負荷となるおそれがある。
このようなことから、例えば、数億や数十億を超えるファイル数を扱う場合のように、膨大なファイルが格納される環境や、単位時間当たりに大量のアクセスがある環境の場合、高負荷な状態が長時間続き、業務アクセスに支障が発生してしまう。さらには、例えば、メタデータのサーチやFCLの解析処理で24時間以上を費やすことも考えられ、1日に1回の処理を完了できなくなることが考えられる。
開示の技術は、上記に鑑みてなされたものであって、ファイルの再配置による処理負荷を軽減したストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラムを提供することを目的とする。
本願の開示するストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラムは、一つの態様において、記憶部は、複数の階層を有する。グループ管理部は、前記記憶部の前記階層のいずれかに格納されたファイルを複数のグループに分割して管理する。移動対象選択部は、複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択する。ファイル移動部は、前記移動対象選択部により選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させる。
本願の開示するストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラムの一つの態様によれば、ファイルの再配置による処理負荷を軽減することができるという効果を奏する。
以下に、本願の開示するストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラムが限定されるものではない。
図1は、実施例1に係るストレージ装置のブロック図である。図1に示すように、本実施例に係るストレージ装置1は、グループ管理部11、移動判定部12、ファイル移動部13、要求処理部14及び記憶部15を有している。
記憶部15は、本実施例では、Flash151、SAS152及びSATA153を有している。ここで、本実施例では、3つの異なる種類の記憶媒体を有する場合で説明するが、記憶部15は、2つ以上の種類の記憶媒体を有し階層化されていれば、記憶媒体の種類に特に制限はない。
以下では、Flash151、SAS152及びSATA153の階層を、それぞれTier#1、Tier#2及びTier#3と呼ぶ。すなわち、Tier#1は、最も高速な記憶媒体の階層であり、処理を高速に行うことが求められるファイルが格納される。Tier#2は、2番目に高速な記憶媒体の階層であり、Tier#1に格納されるファイルよりは処理速度が遅くてもよいが、Tier#3に格納されるファイルよりは処理を高速に行うことが求められるファイルが格納される。Tier#3は、最も低速な記憶媒体の階層であり、高速な処理が求められないファイルが格納される。ここでは、Tier#1の順位を最上位とし、Tier#3の順位を最下位とする。そして、以下では、上位の階層へファイルを再配置することを、ファイルの「昇格」という。また、下位の階層へファイルを再配置することをファイルの「降格」という。
さらに、本実施例に係るストレージ装置1は、ファイルの再配置をディレクトリ単位で行う。そこで、配下に存在するファイルの移動を行うか否かの判定対象となるディレクトリを、「再配置対象ディレクトリ」という。また以下では、ディレクトリの階層構造を表す論理ツリーにおけるディレクトリが属する階層を「ディレクトリ階層」と呼ぶ。すなわち、ディレクトリ階層が上位になるにしたがい、論理ツリーの上位に位置するディレクトリということになる。そして、以下では、ディレクトリ階層が上のディレクトリに再配置対象ディレクトリを変更することを、再配置対象ディレクトリの「上昇」という。また、ディレクトリ階層が下のディレクトリに再配置対象ディレクトリを変更することを、再配置対象ディレクトリの「下降」という。さらに、再配置対象ディレクトリの昇格及び降格をまとめて、再配置対象ディレクトリの「移行」という。
図2は、論理ツリー上のファイルと階層ストレージ上のファイルとの関係を表す図である。図2では、上部が論理的なディレクトリの階層構造を表す論理ツリー200であり、下部が階層ストレージであるストレージ装置1の記憶部15を表している。論理ツリー200内のファイルは、物理的には破線矢印で対応が表される先の記憶媒体の中に格納されている。
本実施例では、論理ツリー200の中のディレクトリ単位でファイルの再配置を行う。具体的には、以下に説明するように、本実施例では、どのディレクトリをファイルの再配置を行う対象である再配置対象ディレクトリとするかを決定し、その再配置対象ディレクトリ毎にファイルの再配置を行う。ここで、論理ツリー200において再配置対象ディレクトリを変更することと、物理的なファイルを格納する階層を変更することとは独立した関係にある。
本実施例では、Flash151は、階層管理テーブル51、再配置ポリシー定義52、メタデータ53及びFCL54を格納する。
ここで、ストレージ装置1は、複数のファイルシステムを有している。図3は、ストレージ装置に複数のファイルシステムが存在する場合の概略図である。階層管理テーブル51、再配置ポリシー定義52、メタデータ53及びFCL54は、図3に示すように、ファイルシステム毎に用意されている。例えば、図3のようにファイルシステム#1〜#3という3種類ある場合、ファイルシステム#1〜#3のそれぞれに対して、階層管理テーブル51、再配置ポリシー定義52、メタデータ53及びFCL54が存在する。この場合、ファイルシステム#1〜#3のそれぞれにFlash151、SAS152及びSATA153が割り当てられ階層化されている。そして、各ファイルシステム#1〜#3のFlash151が、階層管理テーブル51、再配置ポリシー定義52、メタデータ53及びFCL54を格納する。
図4は、再配置ポリシー定義を説明するための図である。再配置ポリシー定義52は、再配置対象ディレクトリの配下にあるファイルの再配置を行うか否かを判定するための条件である。本実施例では、再配置ポリシー定義52は、1つのファイルシステムに存在する全ての再配置対象ディレクトリに対して適用される。例えば、降格ポリシーは、あるディレクトリ配下のファイルに所定の日数参照が無ければ、そのディレクトリ配下のファイルを上位のTierに再配置するというように設定できる。また、例えば、昇格ポリシーは、あるディレクトリ配下のファイルの参照回数の合計が所定回数以上であれば、そのディレクトリ配下のファイルを昇格させるというように設定できる。
これ以外にも、再配置ポリシー定義52は、ディレクトリの配下のファイルの利用頻度を判定できる基準であれば他の基準を用いることもできる。例えば、最終更新日時を利用して降格ポリシーを設定してもよい。また、単位時間当たりのリード回数及びライト回数を分けたアクセス頻度を用いて昇格ポリシーを設定してもよい。また、再配置対象ディレクトリ配下のファイルの読み込みのトータルサイズが閾値を超えた場合に昇格させるように昇格ポリシーを設定してもよい。また、再配置対象ディレクトリ配下のファイルの書き込みのトータルサイズが閾値を超えた場合に昇格させるように昇格ポリシーを設定してもよい。また、参照回数を用いるとしても、例えば、再配置対象ディレクトリ配下の各ファイルへの平均アクセス数を用いることもできる。
図5は、FCLの一例を表す図である。図5に示すように、FCL54には、例えば、各ファイルに対する1アクセスが1行で記録される。そして、例えば、FCL54は、アクセス時間、アクセスしたユーザの情報、ファイルのパス、アクセスの種類が記録される。変更が行われた場合には、さらに、FCL54に変更内容が記録される。ここで、本実施例では、ファイルの再配置にFCL54は用いないので、ストレージ装置1は、FCL54を有さなくてもよい。
図6は、メタデータを説明するための図である。図6に示すように、inode領域531及びディレクトリブロック532を有する。inodeは、各ファイル及びディレクトリの管理情報である。
inode領域531は、inodeを格納する領域である。ファイルのinodeには、ファイルの管理情報としてファイルのアクセス権限や所有者、最終参照日時、最終更新日時及びファイルのデータが格納されているアドレスなどの情報が記録されている。ディレクトリのinodeには、ディレクトリの管理情報としてディレクトリのアクセス権限や所有者、最終参照日時及び最終更新日時が記録されている。さらに、ディレクトリのinodeには、ディレクトリ内に存在するファイル名及びディレクトリ名、並びに、inodeのデータが格納されているアドレスなどの情報が記録されている。
また、ディレクトリブロック532は、ディレクトリ単位に、そのディレクトリ内に存在するファイル名及びディレクトリ名、並びに、inodeの情報を格納する領域である。
例えば、ディレクトリブロック532では、ファイルEのファイル名前201に対応させて、ファイルEのinode番号202が格納されている。そして、ファイルEのinode番号202が「3」であるとすると、ファイルEの情報は、inode領域531におけるino=3であるエントリ203に格納されている。そして、エントリ204には、ファイル最終時刻204などが格納されている。
また、ディレクトリブロック532では、ファイルCのファイル名211に対応させて、ファイルCのinode番号212が格納されている。そして、ファイルCのinode番号212が「399」であるとすると、ファイルCの情報は、inode領域531におけるino=399であるエントリ213に格納されている。そして、エントリ213には、データのアドレス214などが格納されている。
図7は、階層管理テーブルの一例の図である。階層管理テーブル51は、ファイルシステム毎に、例えば、図7に示すフォーマットで再配置対象ディレクトリに関する再配置判定情報を保持する。
「No.」は、階層管理テーブル51における番号を連番で管理するための情報である。「No.」は、新しいディレクトリが再配置対象ディレクトリとして新たに選択された場合、グループ管理部11により新しい番号が付与される。
「制御ディレクトリinode」は、管理者により設定される値であり、再配置対象ディレクトリのinode番号である。ファイル再配置時には、制御ディレクトリinodeの番号を基に、後述するファイル移動部13により、そのディレクト配下のファイルが特定される。
「直下ファイルのみ対象」は、再配置対象ディレクトリの直下のファイル、すなわち、再配置対象ディレクトリ配下のファイルであって配下のディレクトリに含まれないファイルのみを再配置対象とするか否かを表す情報である。以下では、ディレクトリの直下のファイルを「直下ファイルという」。この情報が「Yes」の場合、再配置対象ディレクトリ直下ファイルのみが再配置対象となる。この情報が「No」の場合、再配置対象ディレクトリ配下のサブディレクトリに含まれるファイルも再配置の対象となる。「直下ファイルのみ対象」は、運用に合わせてグループ管理部11により登録される情報である。
「非再配置」は、配下のファイルの再配置を行わせたくないディレクトリを表す情報である。この情報が「Yes」の場合、再配置対象から除外され、そのディレクトリは、属しているTierが保持し続ける。この情報が「No」の場合、再配置対象である。本実施例では、ストレージ装置1の運用の開始時に、再配置対象ディレクトリと非再配置対象ディレクトリは管理者により設定される。そして、管理者により設定された設定情報が、後述するグループ管理部11によって、階層管理テーブル51に記録される。ただし、ストレージ装置1において非再配置対象を設けない場合には、グループ管理部11は、この要素を管理しなくてもよい。
「アクセス回数」は、再配置対象ディレクトリが管理する配下のファイルへのアクセス回数の総計である。この情報は、再配置対象ディレクトリが管理する配下のファイルへのアクセス回数がグループ管理部11により累積されることで求められる。この情報は、再配置処理の完了後、グループ管理部11により初期化される。ただし、アクセス回数をファイルの再配置に用いない場合には、グループ管理部11は、この要素は管理しなくてもよい。
「最終参照日時」は、再配置対象ディレクトリが管理するファイルに対する最終参照日時である。再配置対象ディレクトリが管理するファイルが参照される都度、グループ管理部11により、その再配置対象ディレクトリに関する最終参照日時が更新される。ただし、最終参照日時をファイルの再配置に用いない場合には、グループ管理部11は、この要素は管理しなくてもよい。
「削除期限」は、管理者により設定される値であり、最終参照日時からの経過日又は指定日時を指定する。最終参照日時からの経過日の場合、例えば「+365」と指定された場合、ファイル移動部13は、最終参照日時から365日経過した該当ファイルを削除する。また、指定日時の場合、例えば、「2020.04.01 0:00」と指定された場合、ファイル移動部13は、その指定した日時を過ぎた該当ファイルを削除する。このように、再配置処理時に該当期限を過ぎているファイルは、ファイル移動部13により削除される。この情報が「NULL」の場合、その再配置対象ディレクトリが管理するファイルは削除されない。ただし、ストレージ装置1において削除期限を設けない場合、グループ管理部11は、この要素を管理しなくてもよい。
「制御ディレクトリ自動遷移」は、管理者により設定される値であり、再配置対象ディレクトリを自動で他のディレクトリ階層へ上昇又は下降させるか否かを指定する値である。この情報が「Yes」の場合、指定されたアクセスの上限値及び下限値により再配置対象ディレクトリがグループ管理部11により遷移させられる。この情報が「No」の場合、再配置対象ディレクトリは、そのディレクトリに固定される。ストレージ装置1又はファイルシステム単位で再配置対象ディレクトリの自動遷移を行わせない場合、グループ管理部11は、この要素を管理しなくてもよい。
「制御ディレクトリアクセス上限」は、管理者により設定される上限値であり、再配置対象ディレクトリの移行判定に用いられる。ストレージ装置1又はファイルシステム単位で、この情報を用いて再配置対象ディレクトリの移行を行わせない場合、グループ管理部11は、この要素を管理しなくてもよい。
「制御ディレクトリアクセス下限」は、管理者により設定される下限値であり、再配置対象ディレクトリの移行判定に用いられる。ストレージ装置1又はファイルシステム単位で、この情報を用いて再配置対象ディレクトリの移行を行わせない場合、グループ管理部11は、この要素を管理しなくてもよい。
管理者は、階層管理テーブル51をカスタマイズ可能である。例えば、最終更新日時、単位時間当たりのリード回数及びライト回数毎のアクセス頻度、管理するファイルの読み込みのトータルサイズ又は書き込みのトータルサイズを階層管理テーブル51に追加してもよい。このように、階層管理テーブル51に新たな情報が追加されることで、ストレージ装置1は、これらの追加された情報を再配置判定に利用することが可能となる。
グループ管理部11は、階層管理テーブル51に再配置対象ディレクトリの情報を登録することで、再配置対象ディレクトリのグループ化、昇格及び降格を行う。以下に、グループ管理部11による階層管理テーブル51の管理について具体的に説明する。
グループ管理部11は、ファイルの再配置の運用開始時に、管理者からディレクトリのinode、非再配置対象の情報、削除期限の情報、制御ディレクトリ自動遷移の情報、アクセス数の上限値及び下限値の入力を受ける。そして、グループ管理部11は、再配置対象ディレクトリ毎に階層管理テーブル51において連番に番号を与える。そして、グループ管理部11は、その与えた番号に対して各再配置対象ディレクトリのinode、非再配置対象の情報、削除期限の情報、制御ディレクトリ自動遷移の情報、アクセス数の上限値及び下限値を登録する。
例えば、図8は、再配置対象ディレクトリを設定した場合の論理ツリーの一例の図である。図8は、枠301で囲われた同じ階層に存在するディレクトリを全て再配置対象ディレクトリとした場合である。図8に示すように、各ディレクトリの左上に「制御」の文字が付加されているディレクトリが再配置対象ディレクトリを表す。再配置対象ディレクトリを指定する場合、特定のディレクトリを再配置対象ディレクトリとして指定していくことも可能であるし、図8のようにディレクトリの階層に含まれるディレクトリをまとめて再配置対象ディレクトリとして指定することも可能である。
再配置対象ディレクトリは、ファイルの再配置を行う場合に、配下のファイル全てが一括で再配置の対象となる。図8の場合、全てのファイルが再配置対象ディレクトリに属する。
図9は、非再配置対象ディレクトリを設定した場合の論理ツリーの一例の図である。図9では、枠303で囲われた各ディレクトリが再配置対象ディレクトリである。そして、枠302で囲われたディレクトリが非再配置対象ディレクトリである。この場合、枠303に囲われた各ディレクトリの配下のファイルが再配置の対象のファイルとなる。一方、枠302で囲われたディレクトリの配下のファイルは再配置の対象から除かれ、格納されるTierが保持される。
ここで、再配置対象ディレクトリと非再配置対象ディレクトリとが同一ディレクトリに誤って設定された場合や、いずれにも属さないディレクトリがある場合には、グループ管理部11は、そのディレクトリがいずれか一方に属するように補正する。そこで、以下に、グループ管理部11による再配置対象ディレクトリ及び非再配置対象ディレクトリの補正方法の一例について説明する。
例えば、グループ管理部11は、非再配置対象として設定されているディレクトリ配下のファイルを除いたファイル全てがいずれかの再配置対象ディレクトリに属するか否かを判定する。いずれかの再配置対象ディレクトリにも属さないファイルが存在した場合、グループ管理部11は、既に設定済みの再配置対象ディレクトリと重ならないディレクトリの中で最上位階層のディレクトリを再配置対象ディレクトリとして割り当て補正する。
例えば、枠303に囲われたディレクトリのうちディレクトリ303のみ再配置対象ディレクトリに設定されていない場合で説明する。その場合、グループ管理部11は、他の再配置対象ディレクトリと重ならないディレクトリの中での最上位階層のディレクトリであるディレクトリ303を特定し、ディレクトリ303を再配置対象ディレクトリに割り当てて補正する。
また、同一ディレクトリが非再配置対象ディレクトリ及び再配置対象ディレクトリの両方に合致する場合、グループ管理部11は、例えば、非再配置対象ディレクトリの設定を優先するように再配置対象ディレクトリを補正する。
グループ管理部11は、ファイルの再配置の運用を開始すると、階層管理テーブル51に登録された再配置対象ディレクトリが管理するファイルへのアクセス回数の累積を行い、アクセス回数に登録していく。また、グループ管理部11は、階層管理テーブル51の再配置対象ディレクトリの最終アクセス日時を更新する。
そして、グループ管理部11は、アクセス回数が上限値以上となった再配置対象ディレクトリを検出する。ただし、グループ管理部11は、非再配置対象ディレクトリが「Yes」又は制御ディレクトリ自動遷移が「No」のディレクトリについては検出を行わない。以下では、アクセス回数が上限値以上となった再配置対象ディレクトリを、「下降対象ディレクトリ」という。次に、グループ管理部11は、メタデータ53を用いて、下降対象ディレクトリの直下にディレクトリ(以下、「直下ディレクトリ」という。)が存在するか否かを判定する。
直下ディレクトリが存在する場合、グループ管理部11は、直下ディレクトリ全てを再配置対象ディレクトリとして、階層管理テーブル51に登録する。この時、グループ管理部11は、各直下ディレクトリに対応させてグループ管理部11に新たに番号を振った行を作成する。そして、グループ管理部11は、下降対象ディレクトリに設定された削除期限、並びに、アクセスの上限値及び下限値といった設定情報を、直下ディレクトリに引き継がせて階層管理テーブル51に登録する。そして、グループ管理部11は、アクセス回数及び最終参照日時の情報を初期化する。
さらに、グループ管理部11は、メタデータ53を用いて、下降対象ディレクトリの直下ファイルが存在するか否かを判定する。直下ファイルが存在しなければ、グループ管理部11は、下降対象ディレクトリを階層管理テーブル51から削除する。
これに対して、直下ファイルが存在する場合、グループ管理部11は、階層管理テーブル51における下降対象ディレクトリの直下ファイルのみ対象の欄を「Yes」とし、下降対象ディレクトリが管理するファイルを直下ファイルのみとする。
図10は、再配置対象ディレクトリを下降させる場合の一例の図である。アクセス数が上限値以上となり、ディレクトリ311が下降対象ディレクトリとなった場合、グループ管理部11は、ディレクトリ311の直下ディレクトリとしてディレクトリ312及び313を特定する。そして、グループ管理部11は、ディレクトリ312及び313を再配置対象ディレクトリとする。この場合、ディレクトリ311は再配置対象ディレクトリでなくなり、枠314で囲われた2つの直下ディレクトリであるディレクトリ312及び313が再配置対象ディレクトリとなる。
さらに、例えば、図10において、アクセス数が上限値以上となり、ディレクトリ315が下降対象ディレクトリとなった場合、グループ管理部11は、ディレクトリ315に直下ディレクトリが無いことを確認する。この場合、グループ管理部11は、ディレクトリ315を再配置対象ディレクトリとしたままとする。
図11は、直下ファイルが存在する再配置対象ディレクトリを下降させる場合の一例の図である。アクセス数が上限値以上となり、ディレクトリ321が下降対象ディレクトリとなった場合、グループ管理部11は、直下ディレクトリであるディレクトリ325を再配置対象ディレクトリとする。さらに、ディレクトリ321は直下ファイル322を有しているので、グループ管理部11は、ディレクトリ321をファイル322のみを再配置の対象とする再配置対象ディレクトリとする。この場合、枠323で囲われたディレクトリ325が再配置対象ディレクトリになるとともに、枠324で囲われたディレクトリ321とファイル322との組が再配置対象ディレクトリとなる。
また、グループ管理部11は、アクセス回数が下限値以下となった再配置対象ディレクトリを検出する。ただし、グループ管理部11は、非再配置対象ディレクトリが「Yes」又は制御ディレクトリ自動遷移が「No」のディレクトリについては検出を行わない。以下では、アクセス回数が下限値以下となった再配置対象ディレクトリを、「上昇対象ディレクトリ」という。
次に、グループ管理部11は、上昇対象ディレクトリの上位にディレクトリが存在するか否か、すなわち、上昇対象ディレクトリの上位がファイルシステムのトップであるか否かを判定する。
上昇対象ディレクトリの上位がファイルシステムのトップの場合、グループ管理部11は、再配置対象ディレクトリの移行を行わない。
これに対して、上昇対象ディレクトリの上位がファイルシステムのトップでない場合、グループ管理部11は、上昇対象ディレクトリが属するディレクトリの配下に同じ階層のディレクトリである同列ディレクトリが存在するか否かを判定する。同列ディレクトリは、言い換えれば、上昇対象ディレクトリの横並びのディレクトリである。
同列ディレクトリがある場合、グループ管理部11は、同列ディレクトリの全てのアクセス数が下限値以下か否かを判定する。アクセス数が下限値以下でない同列ディレクトリが存在する場合、グループ管理部11は、再配置対象ディレクトリの移行を行わない。
これに対して、アクセス数が下限値以下でない同列ディレクトリが存在する場合、グループ管理部11は、上昇対象ディレクトリの一つ階層が上の直上ディレクトリを再配置対象ディレクトリとして階層管理テーブル51に登録する。この時、グループ管理部11は、直上ディレクトリに対応させてグループ管理部11に新たに番号を振った行を作成する。そして、グループ管理部11は、上昇対象ディレクトリに設定された削除期限、並びに、アクセスの上限値及び下限値といった設定情報を、直上ディレクトリに引き継がせて階層管理テーブル51に登録する。そして、グループ管理部11は、アクセス回数及び最終参照日時の情報を初期化する。
さらに、グループ管理部11は、上昇対象ディレクトリ及び同列ディレクトリを階層管理テーブル51から削除する。
図12は、再配置対象ディレクトリを上昇させる場合の一例の図である。アクセス数が上限値以上となり、ディレクトリ331が上昇対象ディレクトリとなった場合、グループ管理部11は、ディレクトリ331の直上ディレクトリとしてディレクトリ332を特定する。そして、グループ管理部11は、ディレクトリ332を再配置対象ディレクトリとする。この場合、ディレクトリ331は再配置対象ディレクトリでなくなり、枠333で囲われた直上ディレクトリであるディレクトリ332が再配置対象ディレクトリとなる。
図13は、同列ファイルが存在する再配置対象ディレクトリを上昇させる場合の一例の図である。アクセス数が下限値以下となり、ディレクトリ341が上昇対象ディレクトリとなった場合、グループ管理部11は、同列ディレクトリであるディレクトリ342を特定する。そして、ディレクトリ342のアクセス数が下限値以下であれば、グループ管理部11は、ディレクトリ341及び342の直上ディレクトリであるディレクトリ343を再配置対象ディレクトリとする。この場合、枠344で囲われたディレクトリ343が再配置対象ディレクトリになり、ディレクトリ341及び342は再配置対象ディレクトリでなくなる。
以上のように、グループ管理部11は、アクセス数が多い場合に再配置対象ディレクトリを下降させ、アクセス数が少ない場合に再配置対象ディレクトリを上昇させる。これは、ディレクトリ配下のファイルに対するアクセス数が多い場合、再配置の判定対象とするファイルが多すぎるなどと考えられ、ファイルの再配置の判定を行うにはより粒度の細かい判定を行うことが好ましい。そのため、アクセス数が多い場合に再配置対象ディレクトリを下降させることで、各再配置対象ディレクトリが管理するファイルの数を減らして、判定の粒度を細かくでき、適切な再配置が行えるようになる。また、ディレクトリ配下のファイルに対するアクセス数が少ない場合、再配置の判定対象とするファイルが少なすぎるなどが考えられ、ファイルの再配置の判定を行う粒度を大きくして処理を軽くすることが好ましい。そのため、アクセス数が少ない場合に再配置対象ディレクトリを上昇させることで、各再配置対象ディレクトリが管理するファイルの数を増やして、判定の粒度を大きくでき、適切な再配置を行いつつ、再配置の判定処理を軽くできる。
図1に戻って説明を続ける。移動判定部12は、ファイルの再配置実行のスケジュールを記憶している。そして、ファイルの再配置実行のタイミングが到来すると、移動判定部12は、階層管理テーブル51を参照して再配置対象ディレクトリを特定する。さらに、移動判定部12は、再配置ポリシー定義52から再配置の対象とするファイルシステムに応じた昇格ポリシー及び降格ポリシーを取得する。ここで、本実施例では、予め決められたスケジュールでファイルの再配置を実行する場合で説明したが、これに限らず、例えば、移動判定部12は、管理者から実行指示を受けて、ファイルの再配置を実行してもよい。そして、移動判定部12は、昇格ポリシー又は降格ポリシーを満たす再配置対象ディレクトリを再配置実行ディレクトリとして抽出する。
例えば、昇格ポリシーとしてトータルアクセス数が総計数閾値以上と設定された場合、移動判定部12は、各再配置対象ディレクトリのアクセス回数を階層管理テーブル51上から取得する。次に、移動判定部12は、取得したアクセス回数が合計数閾値以上である再配置実行ディレクトリを、ファイルを昇格させる再配置実行ディレクトリとして抽出する。
また、例えば、昇格ポリシーとして平均アクセス数が平均数閾値以上と設定された場合、移動判定部12は、メタデータ53から再配置対象ディレクトリ毎のファイル数を取得する。次に、移動判定部12は、階層管理テーブル51に記録された各再配置対象ディレクトリのアクセス回数をファイル数で除算して、平均アクセス数を求める。そして、移動判定部12は、算出した平均アクセス数が平均数閾値以上の再配置対象ディレクトリを、ファイルを昇格させる再配置実行ディレクトリとして抽出する。
また、例えば、降格ポリシーとして所定期間参照が無いと設定された場合、移動判定部12は、階層管理テーブル51上の各再配置対象ディレクトリの最終参照日時を取得する。次に、移動判定部12は、取得した最終参照日時から現在までの日数を算出する。そして、移動判定部12は、算出した日数が所定期間以上である再配置実行ディレクトリを、ファイルを降格させる再配置実行ディレクトリとして抽出する。
そして、このような再配置実行ディレクトリの決定処理においては、降格ポリシー及び昇格ポリシーの設定条件により、移動判定部12が、再配置実行ディレクトリとするディレクトリが異なってくる。ここで、図14を参照して、ポリシーの設定条件による再配置実行ディレクトリの選択の違いについて説明する。図14は、2つの再配置対象ディレクトリの状態を表す図である。例えば、再配置対象ディレクトリA及び再配置対象ディレクトリBが、図14に示す状態である場合について説明する。
例えば、この状態では、欄401に示すように、再配置対象ディレクトリAの平均アクセス回数の方が、再配置対象ディレクトリBの平均アクセス数より大きい。そのため、この状態で、昇格ポリシーの条件が平均アクセス数を用いて設定されている場合、再配置対象ディレクトリAが再配置対象ディレクトリBに優先して昇格される。これに対して、欄402に示すように、再配置対象ディレクトリBのトータルアクセス数の方が、再配置対象ディレクトリAのトータルアクセス数よりも大きい。そのため、この状態で、昇格ポリシーの条件がトータルアクセス数を用いて設定されている場合、再配置対象ディレクトリBが再配置対象ディレクトリAに優先して昇格される。このように、昇格ポリシーの設定条件によって、再配置実行ディレクトリとされる再配置対象ディレクトリは異なる。そこで、管理者は、運用状態に合わせた適切なファイルの再配置が行われるように昇格ポリシー及び降格ポリシーを適切に選択することが好ましい。
移動判定部12は、抽出した再配置実行ディレクトリの情報を降格又は昇格の何れを行うかとともに、ファイル移動部13に通知する。この移動判定部12が、「移動対象選択部」の一例にあたる。
ファイル移動部13は、再配置実行ディレクトリの情報及びその再配置実行ディレクトリに対して降格又は昇格の何れを行うかの情報を移動判定部12から受ける。
ファイル移動部13は、階層管理テーブル51を用いて、指定された再配置実行ディレクトリ配下のファイルを特定する。そして、ファイル移動部13は、特定したファイルに対して、指定された降格又は昇格の処理を実行してファイルの再配置を行い、ファイルが存在する記憶媒体の階層を変更する。
要求処理部14は、読出し要求や書き込み要求といったファイルに対する処理要求をサーバ2から受信する。そして、要求処理部14は、処理要求で指定されたファイルの格納場所を階層管理テーブル51から取得する。そして、要求処理部14は、取得した格納場所にあるファイルに対して、指定された処理を実行する。
そして、要求処理部14は、実行した処理にしたがって、実行した処理の対象であるファイルに対する階層管理テーブル51における情報を更新する。例えば、要求処理部14は、階層管理テーブル51におけるアクセス回数及び最終参照日時を更新する。なお、ファイルの削除を行った場合、要求処理部14は、階層管理テーブル51から削除したファイルに関連する制御ディレクトリの情報を更新する。また、ファイルの追加を行った場合、要求処理部14は、階層管理テーブル51に対して追加したファイルに関連する制御ディレクトリの情報を更新する。
また、要求処理部14は、実行した処理の対象であるファイルに対するメタデータ53及びFCL54の情報も更新する。
次に、図15を参照して、本実施例に係るストレージ装置1によるファイルの再配置処理の全体的な流れについて説明する。図15は、実施例1に係るストレージ装置によるファイルの再配置処理のフローチャートである。
グループ管理部11は、再配置対象ディレクトリ及び非再配置対象ディレクトリの操作者からの指定を取得する(ステップS1)。さらに、グループ管理部11は、再配置対象ディレクトリの設定情報として、inode番号、削除期限、アクセスの上限値及び下限値といった情報を取得する。
次に、グループ管理部11は、取得した再配置対象ディレクトリ及び非再配置対象ディレクトリの情報を階層管理テーブル51に登録する。さらに、グループ管理部11は、再配置対象ディレクトリに対する設定情報を用いて、階層管理テーブル51における再配置対象ディレクトリの設定を登録する(ステップS2)。
その後、グループ管理部11は、階層管理テーブル51を初期化する(ステップS3)。具体的には、グループ管理部11は、階層管理テーブル51におけるアクセス回数や最終参照日時の情報を初期化する。
要求処理部14は、サーバ2からの処理要求にしたがい各ファイルに対する処理を行い、実行した処理によるファイルアクセスの情報を階層管理テーブル51に記録する(ステップS4)。
移動判定部12は、昇格ポリシー又は降格ポリシーを満たす再配置対象ディレクトリを再配置実行ディレクトリとして抽出する(ステップS5)。
次に、移動判定部12は、再配置実行ディレクトリの情報及び昇格か降格かの実行する処理の情報をファイル移動部13に通知する。ファイル移動部13は、受信した通知にしたがい、再配置実行ディレクトリの配下のファイルの再配置を実行する(ステップS6)。
グループ管理部11は、階層管理テーブル51を用いて、各再配置対象ディレクトリのアクセス回数と上限値及び下限値から、ディレクトリ階層の移行の対象となる再配置対象ディレクトリがあるか否かを判定する(ステップS7)。移行の対象となる再配置対象ディレクトリが無い場合(ステップS7:否定)、グループ管理部11は、ステップS9へ進む。
これに対して、移行の対象となる再配置対象ディレクトリがある場合(ステップS7:肯定)、グループ管理部11は、移行の対象である再配置対象ディレクトリが属するディレクトリ階層を上昇又は下降させる処理を実行する(ステップS8)。
そして、グループ管理部11、移動判定部12及びファイル移動部13は、ストレージ装置1の動作を停止させるか否かを判定する(ステップS9)。動作を停止させる場合(ステップS9:肯定)、グループ管理部11、移動判定部12及びファイル移動部13は、ファイルの移動処理を終了する。
これに対して、ストレージ装置1の動作が継続する場合(ステップS9:否定)、ストレージ装置1が実行する処理は、ステップS3に戻る。
次に、図16を参照して、ディレクトリ階層の下降処理について説明する。図16は、ディレクトリ階層の下降処理のフローチャートである。
グループ管理部11は、階層管理テーブル51において、アクセス回数がアクセス回数の上限値以上の再配置対象ディレクトリを検索する(ステップS101)。
グループ管理部11は、アクセス回数が上限値以上の下降対象ディレクトリがあるか否かを判定する(ステップS102)。下降対象ディレクトリが無い場合(ステップS102:否定)、グループ管理部11は、下降処理を終了する。
これに対して、下降対象ディレクトリがある場合(ステップS102:肯定)、グループ管理部11は、メタデータ53を用いて、下降対象ディレクトリの下位のディレクトリ階層を検索する(ステップS103)。
そして、グループ管理部11は、下降対象ディレクトリの直下にディレクトリが存在しているか否かを判定する(ステップS104)。直下にディレクトリが存在しない場合(ステップS104:否定)、グループ管理部11は、ステップS106へ進む。
これに対して、直下にディレクトリが存在する場合(ステップS104:肯定)、グループ管理部11は、下降対象ディレクトリの直下のディレクトリ全てを再配置対象ディレクトリとして階層管理テーブル51に登録する(ステップS105)。
次に、グループ管理部11は、メタデータ53を用いて、下降対象ディレクトリ直下のファイルを検索する(ステップS106)。
そして、グループ管理部11は、下降対象ディレクトリの直下にファイルが存在するか否かを判定する(ステップS107)。直下にファイルが存在する場合(ステップS107:肯定)、グループ管理部11は、下降対象ディレクトリを直下のファイルのみを対象とした再配置対象ディレクトリとして階層管理テーブル51を更新する(ステップS108)。
これに対して、直下にファイルが存在しない場合(ステップS107:否定)、グループ管理部11は、下降対象ディレクトリを階層管理テーブル51から削除する(ステップS109)。
次に、図17を参照して、ディレクトリ階層の上昇処理について説明する。図17は、ディレクトリ階層の上昇処理のフローチャートである。
グループ管理部11は、階層管理テーブル51において、アクセス回数がアクセス回数の下限値以下の再配置対象ディレクトリを検索する(ステップS201)。
グループ管理部11は、アクセス回数が下限値以下の上昇対象ディレクトリがあるか否かを判定する(ステップS202)。上昇対象ディレクトリが無い場合(ステップS202:否定)、グループ管理部11は、上昇処理を終了する。
これに対して、上昇対象ディレクトリがある場合(ステップS202:肯定)、グループ管理部11は、メタデータ53を用いて、上昇対象ディレクトリの上位のディレクトリ階層を検索する(ステップS203)。
そして、グループ管理部11は、上昇対象ディレクトリが最上位階層ディレクトリか否かを判定する(ステップS204)。最上位階層ディレクトリの場合(ステップS204:肯定)、グループ管理部11は、上昇処理を終了する。
これに対して、最上位階層ディレクトリでない場合(ステップS204:否定)、グループ管理部11は、同じディレクトリの配下にあり、且つ、同じ階層のディレクトリである同列ディレクトリがあるか否かを判定する(ステップS205)。同列ディレクトリが無い場合(ステップS205:否定)、グループ管理部11は、ステップS208へ進む。
一方、同列ディレクトリが有る場合(ステップS205:肯定)、グループ管理部11は、同列ディレクトリのアクセス回数がアクセス回数の下限値以下か否かを判定する(ステップS206)。下限値より大きい場合(ステップS206:否定)、グループ管理部11は、上昇処理を終了する。
これに対して、下限値以下の場合(ステップS206:肯定)、グループ管理部11は、同列ディレクトリを階層管理テーブル51から削除する(ステップS207)。
そして、グループ管理部11は、上昇対象ディレクトリを階層管理テーブル51から削除する(ステップS208)。
さらに、グループ管理部11は、アクセス回数がアクセス回数の下限値以下の再配置対象ディレクトリの1つ上位のディレクトリを再配置対象ディレクトリとして階層管理テーブル51を更新する(ステップS209)。
以上に説明したように、本実施例に係るストレージ装置は、ファイルをグループ化し、グループ毎に再配置の条件を満たすか否かを判定して、グループに属するファイルの再配置を行う。これにより、再配置におけるメタデータのサーチやFCLの解析処理を省略することができ、CPUの負荷を軽減するとともに処理時間を短縮することができる。
また、再配置にFCLを用いないため、ストレージ装置内にFCLを配置しない構成にすることもできる。FCLをファイルの再配置に用いる場合、再配置の判定の対象となるファイル数が多くなるほどFCLも膨大になってしまう。これに対してFCLを配置しない構成にした場合、再配置の判定の対象となるファイル数の増加によるディスク領域の圧迫を軽減することができる。
次に、実施例2について説明する。本実施例に係るストレージ装置は、ディレクトリにグルーピングすることで再配置対象ディレクトリを自動的に決定することが実施例1と異なる。本実施例に係るストレージ装置のブロック図も図1で表される。以下の説明では、各部の実施例1と同じ機能については説明を省略する。
図18は、実施例2に係る階層管理テーブルの一例の図である。図18に示すように、本実施例に係る階層管理テーブル51は、実施例1と同様の各項目に加えて、モニタリングという項目を有する。このモニタリングの値は、管理者により設定される。
モニタリングの値が「Yes」の場合、その再配置対象ディレクトリをグルーピングの対象とすることを表す。これに対して、モニタリングの値が「No」であれば、その再配置対象ディレクトリはグルーピング対象としないことを表す。以下では、モニタリングの値が「Yes」の再配置対象ディレクトリを、「モニタリング対象」の再配置対象ディレクトリという。
また、本実施例では、再配置ポリシー定義52は、各ディレクトリのそれぞれに対する再配置ポリシーを有している。
グループ管理部11は、再配置対象ディレクトリが設定されていない場合、全てのディレクトリを対象として、全て同じ再配置ポリシーのディレクトリを含むディレクトリのうち最も上位のディレクトリを再配置対象ディレクトリとして決定する。
また、グループ管理部11は、再配置対象ディレクトリのディレクトリ階層の移行処理の前に、階層管理テーブル51を参照して、その時点の各再配置対象ディレクトリがモニタリング対象か否かを判定する。
次に、モニタリング対象の再配置対象ディレクトリが有る場合、グループ管理部11は、その再配置対象ディレクトリ配下のディレクトリのうち最下層のディレクトリから上位に向かって順に再配置ポリシーを再配置ポリシー定義52から取得する。そして、グループ管理部11は、全て同じ再配置ポリシーのディレクトリを含むディレクトリのうち最も上位のディレクトリを再配置対象ディレクトリとして、ディレクトリ階層を下降させる。
ここで、図19を参照して、グルーピングによる再配置対象ディレクトリの下降について説明する。図19は、グルーピングにより再配置対象ディレクトリを下降させる場合の一例の図である。
ディレクトリ351が再配置対象ディレクトリである場合で説明する。グループ管理部11は、ディレクトリの移行を行う前に、階層管理データ51を用いて、ディレクトリ351を含む各再配置対象ディレクトリがモニタリング対象か否かを判定する。
そして、ディレクトリ351がモニタリング対象であるので、グループ管理部11は、ディレクトリ351の配下のディレクトリのうち、最下層のディレクトリであるディレクトリ352〜355の再配置ポリシーを再配置ポリシー定義52から取得する。
この場合、ディレクトリ352とディレクトリ353〜355との再配置ポリシーが異なるものとする。そこで、グループ管理部11は、ディレクトリ352をディレクトリ階層の上位方向に遡り、再配置ポリシーが一致するディレクトリを含む最も上位のディレクトリとして、ディレクトリ356を特定する。また、グループ管理部11は、ディレクトリ353〜355をディレクトリ階層の上位方向に遡り、再配置ポリシーが一致するディレクトリを含む最も上位のディレクトリとして、ディレクトリ357を特定する。
そして、グループ管理部11は、再配置対象ディレクトリをディレクトリ351からディレクトリ356及び357へ下降させる。この場合、再配置対象ディレクトリとなったディレクトリ356を最上位として、枠361で囲われたディレクトリが1つのグループとして扱われる。また、再配置対象ディレクトリとなったディレクトリ357を最上位として、枠362で囲われたディレクトリが1つのグループとして扱われる。
ここでは、既に再配置対象ディレクトリが設定されている場合で説明したが、グループ管理部11は、再配置対象ディレクトリが設定されていない場合も同様の処理でグループを作成し再配置対象ディレクトリを決定する。
次に、図20を参照して、本実施例に係るストレージ装置1によるファイルの再配置処理全体的な流れについて説明する。図20は、実施例2に係るストレージ装置によるファイルの再配置処理のフローチャートである。
グループ管理部11は、再配置対象ディレクトリ及び非再配置対象ディレクトリの操作者からの指定を取得する(ステップS301)。さらに、グループ管理部11は、再配置対象ディレクトリの設定情報として、inode番号、削除期限、アクセスの上限値及び下限値といった情報を取得する。
次に、グループ管理部11は、取得した再配置対象ディレクトリ及び非再配置対象ディレクトリの情報を階層管理テーブル51に登録する。さらに、グループ管理部11は、再配置対象ディレクトリに対する設定情報を用いて、階層管理テーブル51における再配置対象ディレクトリの設定を登録する(ステップS302)。
その後、グループ管理部11は、階層管理テーブル51を初期化する(ステップS303)。具体的には、グループ管理部11は、階層管理テーブル51におけるアクセス回数や最終参照日時の情報を初期化する。
要求処理部14は、サーバ2からの処理要求にしたがい各ファイルに対する処理を行い、実行した処理によるファイルアクセスの情報を階層管理テーブル51に記録する(ステップS304)。
移動判定部12は、昇格ポリシー又は降格ポリシーを満たす再配置対象ディレクトリを再配置実行ディレクトリとして抽出する(ステップS305)。
次に、移動判定部12は、再配置実行ディレクトリの情報及び昇格か降格かの実行する処理の情報をファイル移動部13に通知する。ファイル移動部13は、受信した通知にしたがい、再配置実行ディレクトリの配下のファイルの再配置を実行する(ステップS306)。
グループ管理部11は、階層管理テーブル51を用いて、モニタリング対象の再配置対象ディレクトリがあるか否かを判定する(ステップS307)。モニタリング対象の再配置対象ディレクトリがある場合(ステップS307:肯定)、グループ管理部11は、モニタリング対象の再配置対象ディレクトリの配下のディレクトリの再配置ポリシーを再配置ポリシー定義52で確認する。そして、グループ管理部11は、同じ再配置ポリシーのみを含むディレクトリの最も上位のディレクトリを再配置対象ディレクトリとして、グルーピングを行い、再配置対象ディレクトリを下降させる(ステップS308)。そして、グループ管理部11は、ステップS311へ進む。
一方、モニタリング対象の再配置対象ディレクトリが無い場合(ステップS307:否定)、グループ管理部11は、階層管理テーブル51を用いて、ディレクトリ階層の移行の対象となる再配置対象ディレクトリがあるか否かを判定する(ステップS309)。具体的には、グループ管理部11は、各再配置対象ディレクトリのアクセス回数と上限値及び下限値とから、ディレクトリ階層の移行の対象となる再配置対象ディレクトリがあるか否かを判定する。移行の対象となる再配置対象ディレクトリが無い場合(ステップS309:否定)、グループ管理部11は、ステップS311へ進む。
これに対して、移行の対象となる再配置対象ディレクトリがある場合(ステップS309:肯定)、グループ管理部11は、移行の対象である再配置対象ディレクトリが属するディレクトリ階層を上昇又は下降させる処理を実行する(ステップS310)。
そして、グループ管理部11、移動判定部12及びファイル移動部13は、ストレージ装置1の動作を停止させるか否かを判定する(ステップS311)。動作を停止させる場合(ステップS311:肯定)、グループ管理部11、移動判定部12及びファイル移動部13は、ファイルの移動処理を終了する。
これに対して、ストレージ装置1の動作が継続する場合(ステップS311:否定)、ストレージ装置1が実行する処理は、ステップS303に戻る。
以上に説明したように、本実施例に係るストレージ装置は、ディレクトリのグルーピングを行うことで、再配置実行ディレクトリを自動的に決定することができる。これにより、管理者が再配置実行ディレクトリを設定しない場合や、再配置実行ディレクトリを下降させたい場合などに、自動的に再配置実行ディレクトリを設定することができ、管理者の手間を簡略化することができる。
次に、実施例3について説明する。本実施例に係るストレージ装置は、上位の記憶媒体の空き状態を考慮して、ファイルを配置する記憶媒体を変更することが実施例1と異なる。本実施例に係るストレージ装置のブロック図も図1で表される。以下の説明では、各部の実施例1と同じ機能については説明を省略する。
移動判定部12は、再配置対象ディスクを対象としたファイルの再配置の判定を実行した後であって、実際にファイルの再配置を実行する前に、再配置判定の結果から、メタデータ53を用いて各Tierに移行されるデータ量を算出する。次に、移動判定部12は、Flash151及びSAS152の空き容量を算出する。
そして、Flash151又はSAS152に予め決められた上限容量より多くの空き容量が生じると判定した場合、移動判定部12は、他のディレクトリと比較して未アクセス期間の少ないディレクトリやアクセス頻度の高い再配置対象ディレクトリを特定する。そして、移動判定部12は、特定したアクセス頻度の高い再配置対象ディレクトリをFlash151又はSAS152に配置する。これにより、より多くのファイルを上位のディレクトリに配置することができ、記憶媒体をより効率的に使用して処理効率を向上させることができる。
これに対して、Flash151又はSAS152に空き容量が無い又は予め決められた下限容量より少なくなってしまう場合、移動判定部12は、再配置対象ディレクトリのうちアクセス頻度の低い再配置対象ディレクトリを特定する。そして、移動判定部12は、特定したアクセス頻度の低い再配置対象ディレクトリをより下位の記憶媒体に配置する。これにより、上位の記憶媒体の空き容量を確保でき、より効率的なファイルの配置を実現することができる。
以上に説明したように、本実施例に係るストレージ装置は、再配置を行う再配置対象ディレクトリを決めた上で、記憶媒体の空き状態に応じて、再配置する再配置対象ディレクトリを調整する。これにより、より適切にファイルの配置を行うことができ、ストレージ装置の処理能力を向上させることができる。
(ハードウェア構成)
図21は、ストレージ装置のハードウェア構成図である。ストレージ装置1は、CPU(Central Processing Unit)91、メモリ92、Flash151、SAS152及びSATA153を有している。
図21は、ストレージ装置のハードウェア構成図である。ストレージ装置1は、CPU(Central Processing Unit)91、メモリ92、Flash151、SAS152及びSATA153を有している。
Flash151は、図1に例示した移動判定部12、ファイル移動部13及び要求処理部14の各処理を実現するためのプログラムを含む各種プログラムを記憶している。
CPU91は、Flash151から各種プログラムを読み込み、メモリ92上に展開して実行することで、図1に例示した移動判定部12、ファイル移動部13及び要求処理部14の各処理を実現する。
ここで、以上では、処理を早く行うため、Flash151に各種プログラムを格納したが、これに限らず、SAS152及びSATA153に格納してもよい。また、各実施例では、階層管理テーブル51、再配置ポリシー定義52、メタデータ53及びFCL54をFlash151に格納する場合を例に説明したが、格納場所はこれに限らず、例えば、SAS152及びSATA153に格納してもよい。
また、以上の説明では、ファイル再処理プロセスがストレージ装置1内に存在する場合を例に説明したが、例えば、サーバ2上でファイル再配置処理プロセスを動作させてもよい。その場合、移動判定部12、ファイル移動部13及び要求処理部14の各処理を実現するストレージ装置制御プログラムは、サーバ2上でCPUにより実行され、各機能が実現される。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)複数の階層を有する記憶部と、
前記記憶部の前記階層のいずれかに格納されたファイルを複数のグループに分割して管理するグループ管理部と、
複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択する移動対象選択部と、
前記移動対象選択部により選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させるファイル移動部と
を備えたことを特徴とするストレージ装置。
前記記憶部の前記階層のいずれかに格納されたファイルを複数のグループに分割して管理するグループ管理部と、
複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択する移動対象選択部と、
前記移動対象選択部により選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させるファイル移動部と
を備えたことを特徴とするストレージ装置。
(付記2)前記移動対象選択部は、特定のグループの前記所属ファイルへのアクセス頻度を基に、前記特定のグループが階層移動条件を満たすか否かを判定することを特徴とする付記1に記載のストレージ装置。
(付記3)前記移動対象選択部は、前記特定のグループの前記所属ファイルへの平均アクセス数、前記所属ファイルのアクセス数の合計又は前記所属ファイルのアクセス日時を基に、前記特定のグループが前記階層移動条件を満たすか否かを判定することを特徴とする付記2に記載のストレージ装置。
(付記4)前記移動対象選択部は、前記特定のグループの前記所属ファイルへの平均アクセス数又は前記所属ファイルのアクセス数の合計を基に、アクセス頻度が上限閾値を超えるか否かを判定し、前記アクセス頻度が上限閾値を超えた場合、前記特定のグループの前記所属ファイルを上位の階層へ移動するグループとし、前記特定のグループの前記所属ファイルへのアクセス日時を基に、アクセス頻度が下限閾値を超えるか否かを判定し、前記アクセス頻度が下限閾値を超えた場合、前記特定のグループの前記所属ファイルを下位の階層へ移動するグループとすることを特徴とする付記3に記載のストレージ装置。
(付記5)前記移動対象選択部は、前記特定のグループが階層移動条件を満たすか否かに加えて、移動先の階層の空き容量を基に、前記特定のグループを前記階層の移動の対象として選択するか否かを決定することを特徴とする付記1〜4のいずれか一つに記載のストレージ装置。
(付記6)前記グループ管理部は、管理対象のグループの前記所属ファイルへのアクセス頻度を基に、前記グループの統合及び分割を行うことを特徴とする付記2に記載のストレージ装置。
(付記7)前記グループ管理部は、前記管理対象のグループの所属ファイルに対するアクセス数の合計が予め決められた上限値以上の場合、前記管理対象のグループを分割し、前記管理対象のグループの前記所属ファイルに対するアクセス数の合計が予め決められた下限値以下の場合、前記管理対象のグループを統合することを特徴とする付記6に記載のストレージ装置。
(付記8)前記グループ管理部は、ディレクトリを前記グループとして用いることを特徴とする付記1〜7のいずれか一つに記載のストレージ装置。
(付記9)前記移動対象選択部は、予め指定されたグループを移動の対象として選択しないことを特徴とする付記1〜8のいずれか一つに記載のストレージ装置。
(付記10)前記階層は、記憶部が有する記憶媒体の処理速度によって分けられ、処理速度が速いほど上位の階層であることを特徴とする付記1〜9のいずれか一つに記載のストレージ装置。
(付記11)記憶装置が有する階層のいずれかに格納されたファイルを複数のグループに分割して管理し、
複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択し、
選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させる
ことを特徴とするストレージ装置制御方法。
複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択し、
選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させる
ことを特徴とするストレージ装置制御方法。
(付記12)記憶装置が有する階層のいずれかに格納されたファイルを複数のグループに分割して管理し、
複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択し、
選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させる
処理をコンピュータに実行させることを特徴とするストレージ装置制御プログラム。
複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択し、
選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させる
処理をコンピュータに実行させることを特徴とするストレージ装置制御プログラム。
1 ストレージ装置
2 サーバ
11 グループ管理部
12 移動判定部
13 ファイル移動部
14 要求処理部
15 記憶部
51 階層管理テーブル
52 再配置ポリシー定義
151 Flash
152 SAS
153 SATA
2 サーバ
11 グループ管理部
12 移動判定部
13 ファイル移動部
14 要求処理部
15 記憶部
51 階層管理テーブル
52 再配置ポリシー定義
151 Flash
152 SAS
153 SATA
Claims (8)
- 複数の階層を有する記憶部と、
前記記憶部の前記階層のいずれかに格納されたファイルを複数のグループに分割して管理するグループ管理部と、
複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択する移動対象選択部と、
前記移動対象選択部により選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させるファイル移動部と
を備えたことを特徴とするストレージ装置。 - 前記移動対象選択部は、特定のグループの前記所属ファイルへのアクセス頻度を基に、前記特定のグループが階層移動条件を満たすか否かを判定することを特徴とする請求項1に記載のストレージ装置。
- 前記移動対象選択部は、前記特定のグループの前記所属ファイルへの平均アクセス数、前記所属ファイルのアクセス数の合計又は前記所属ファイルのアクセス日時を基に、前記特定のグループが前記階層移動条件を満たすか否かを判定することを特徴とする請求項2に記載のストレージ装置。
- 前記移動対象選択部は、前記特定のグループの前記所属ファイルへの平均アクセス数又は前記所属ファイルのアクセス数の合計を基に、アクセス頻度が上限閾値を超えるか否かを判定し、前記アクセス頻度が上限閾値を超えた場合、前記特定のグループの前記所属ファイルを上位の階層へ移動するグループとし、前記特定のグループの前記所属ファイルへのアクセス日時を基に、アクセス頻度が下限閾値を超えるか否かを判定し、前記アクセス頻度が下限閾値を超えた場合、前記特定のグループの前記所属ファイルを下位の階層へ移動するグループとすることを特徴とする請求項3に記載のストレージ装置。
- 前記移動対象選択部は、前記特定のグループが階層移動条件を満たすか否かに加えて、移動先の階層の空き容量を基に、前記特定のグループを前記階層の移動の対象として選択するか否かを決定することを特徴とする請求項1〜4のいずれか一つに記載のストレージ装置。
- 前記グループ管理部は、管理対象のグループの前記所属ファイルへのアクセス頻度を基に、前記グループの統合及び分割を行うことを特徴とする請求項2に記載のストレージ装置。
- 記憶装置が有する階層のいずれかに格納されたファイルを複数のグループに分割して管理し、
複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択し、
選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させる
ことを特徴とするストレージ装置制御方法。 - 記憶装置が有する階層のいずれかに格納されたファイルを複数のグループに分割して管理し、
複数の前記グループのうち階層移動条件を満たすグループを前記階層の移動の対象として選択し、
選択されたグループに属する所属ファイルを、当該所属ファイルが格納されている階層から他の階層へ移動させる
処理をコンピュータに実行させることを特徴とするストレージ装置制御プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014194335A JP2016066220A (ja) | 2014-09-24 | 2014-09-24 | ストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラム |
| US14/823,619 US20160085750A1 (en) | 2014-09-24 | 2015-08-11 | Storage apparatus and storage apparatus control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014194335A JP2016066220A (ja) | 2014-09-24 | 2014-09-24 | ストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016066220A true JP2016066220A (ja) | 2016-04-28 |
Family
ID=55525901
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014194335A Withdrawn JP2016066220A (ja) | 2014-09-24 | 2014-09-24 | ストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20160085750A1 (ja) |
| JP (1) | JP2016066220A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022142992A (ja) * | 2021-03-17 | 2022-10-03 | Necプラットフォームズ株式会社 | 階層型ストレージ装置、ファイル制御方法及びファイル制御プログラム |
| JP2023531805A (ja) * | 2020-06-28 | 2023-07-25 | 中興通訊股▲ふん▼有限公司 | データ移行方法、装置、ネットワークデバイスおよび記憶媒体 |
| JP7803584B1 (ja) * | 2024-10-02 | 2026-01-21 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理方法、プログラム |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10210165B2 (en) * | 2015-09-04 | 2019-02-19 | Walmart Apollo, Llc | File management for eDiscovery |
| JP2018077787A (ja) * | 2016-11-11 | 2018-05-17 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
| CN107357837B (zh) * | 2017-06-22 | 2019-10-08 | 华南师范大学 | 基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法 |
| WO2019127234A1 (zh) * | 2017-12-28 | 2019-07-04 | 华为技术有限公司 | 一种对象迁移的方法、设备和系统 |
| US20230039999A1 (en) * | 2021-08-06 | 2023-02-09 | Bank Of America Corporation | System and method for data warehouse storage capacity optimization based on usage frequency of data objects |
| CN117435829B (zh) * | 2023-12-21 | 2024-03-22 | 杭州优云科技有限公司 | 一种目录预热方法及装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7136883B2 (en) * | 2001-09-08 | 2006-11-14 | Siemens Medial Solutions Health Services Corporation | System for managing object storage and retrieval in partitioned storage media |
| JP2008102590A (ja) * | 2006-10-17 | 2008-05-01 | Hitachi Ltd | ストレージシステムの運用管理方法およびストレージシステム |
| US8271559B2 (en) * | 2010-07-23 | 2012-09-18 | Hitachi, Ltd. | Storage system and method of controlling same |
| US8886882B2 (en) * | 2012-09-14 | 2014-11-11 | Hitachi, Ltd. | Method and apparatus of storage tier and cache management |
-
2014
- 2014-09-24 JP JP2014194335A patent/JP2016066220A/ja not_active Withdrawn
-
2015
- 2015-08-11 US US14/823,619 patent/US20160085750A1/en not_active Abandoned
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023531805A (ja) * | 2020-06-28 | 2023-07-25 | 中興通訊股▲ふん▼有限公司 | データ移行方法、装置、ネットワークデバイスおよび記憶媒体 |
| JP7589264B2 (ja) | 2020-06-28 | 2024-11-25 | 中興通訊股▲ふん▼有限公司 | データ移行方法、装置、ネットワークデバイスおよび記憶媒体 |
| JP2022142992A (ja) * | 2021-03-17 | 2022-10-03 | Necプラットフォームズ株式会社 | 階層型ストレージ装置、ファイル制御方法及びファイル制御プログラム |
| JP7222491B2 (ja) | 2021-03-17 | 2023-02-15 | Necプラットフォームズ株式会社 | 階層型ストレージ装置、ファイル制御方法及びファイル制御プログラム |
| JP7803584B1 (ja) * | 2024-10-02 | 2026-01-21 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理方法、プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US20160085750A1 (en) | 2016-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2016066220A (ja) | ストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラム | |
| CN105447059B (zh) | 一种数据处理方法及装置 | |
| JP6564082B6 (ja) | バーチャル環境におけるダイナミックストレージ階層化 | |
| US10235101B2 (en) | Log structured block device for hard disk drive | |
| JP4914173B2 (ja) | 再配置システムおよび再配置方法 | |
| US10635323B2 (en) | Managing storage system | |
| US8645737B2 (en) | Power-saving control apparatus and method | |
| CN107102819B (zh) | 向固态硬盘写入数据的方法及设备 | |
| JP6131170B2 (ja) | 計算機システム、及びデータ配置制御方法 | |
| US8572312B2 (en) | Data de-duplication and solid state memory device | |
| US7769725B2 (en) | File profiling to minimize fragmentation | |
| WO2012004837A1 (en) | Storage apparatus and storage management method | |
| US20130282982A1 (en) | Method and apparatus to manage data location | |
| CN109558084B (zh) | 一种数据处理方法以及相关设备 | |
| US20190050163A1 (en) | Using snap space knowledge in tiering decisions | |
| JP6724534B2 (ja) | 情報処理装置、重複除去プログラム、及び重複除去方法 | |
| CN108804019A (zh) | 一种数据存储方法及装置 | |
| US9189408B1 (en) | System and method of offline annotation of future accesses for improving performance of backup storage system | |
| CN106598500A (zh) | 一种分层存储动态迁移方法 | |
| JP2017027301A (ja) | ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法 | |
| JP2017049897A (ja) | ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法 | |
| CN116069263B (zh) | 文件系统的优化方法、装置、服务器、设备及存储介质 | |
| WO2012143980A1 (en) | Storage system and its data processing method | |
| KR101694299B1 (ko) | 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버 | |
| JP6112193B2 (ja) | アクセス制御プログラム、ディスク装置及びアクセス制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170605 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20171108 |