JP5103786B2 - 制御プログラム、制御装置、制御方法 - Google Patents

制御プログラム、制御装置、制御方法 Download PDF

Info

Publication number
JP5103786B2
JP5103786B2 JP2006134693A JP2006134693A JP5103786B2 JP 5103786 B2 JP5103786 B2 JP 5103786B2 JP 2006134693 A JP2006134693 A JP 2006134693A JP 2006134693 A JP2006134693 A JP 2006134693A JP 5103786 B2 JP5103786 B2 JP 5103786B2
Authority
JP
Japan
Prior art keywords
file
volume
policy
primary storage
file data
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.)
Active
Application number
JP2006134693A
Other languages
English (en)
Other versions
JP2007305012A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006134693A priority Critical patent/JP5103786B2/ja
Publication of JP2007305012A publication Critical patent/JP2007305012A/ja
Application granted granted Critical
Publication of JP5103786B2 publication Critical patent/JP5103786B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、HSMにおける一次ストレージへのファイルデータ領域の割り当ての制御を行うHSM制御プログラム、HSM制御装置、HSM制御方法に関するものである。
HSM(Hierarchical Storage Management:階層記憶管理)は、テープライブラリなどの低速なストレージ装置(二次ストレージ)とハードディスクなどの高速なストレージ装置(一次ストレージ)を組み合わせることにより、安価な大容量ファイルシステムを構築するものである。
HSM制御装置においては、一次ストレージにおいて長時間アクセスされていないファイルを特定し、そのファイルを二次ストレージに書き出し、アクセスが要求された時点で一次ストレージに移動することが必要となる。従来、これを実現するために、従来のHSM制御装置は、階層構造を持つファイルシステムの名前空間を総なめし、ファイルシステムがファイル単位に保持するアクセス時刻を参照することにより、二次ストレージに書き出すファイルを特定する方式を用いている。
なお、本発明の関連ある従来技術として、例えば、下記に示す特許文献1が知られている。このデータ処理装置は、メタデータデータの内容が更新されると、ログが採取され、このログを用いてファイルシステムの不整合の修正を行うものである。
特開2000−484995号公報
しかしながら、上述した名前空間を総なめする方式のHSM制御装置には、以下の問題がある。
第1にファイルシステム総なめオーバヘッドの問題がある。従来のHSM制御装置では階層構造を持つファイル名前空間を定期的に総なめするために、オーバヘッドが大きくなってしまう。
第2に名前空間の排他問題がある。HSM制御装置が名前空間を総なめしている間に、rename操作などのファイル名変更操作が行われると、総なめの過程で求めたパス名が、実際には存在しない不当なものとなってしまう。このため、HSM制御装置は、顧客が設定したポリシと矛盾するデータ移動操作を行ってしまう可能性がある。例えば、検索の途中で、上位ディレクトリがゴミ箱に移されたとすると、ゴミ箱全体を移動対象としてしまうようなことが起こる。こうした問題を防ごうとすると、HSM制御装置は総なめの過程で、頻繁に矛盾をチェックし、矛盾があれば総なめをやり直すことが必要となり、論理が非常に複雑となるとともにオーバヘッドが大幅に増加する。
第3にHSMポリシ制御の柔軟性がある。一般に階層構造の名前空間は格納されているファイル群の性格を表しているため、HSMポリシも名前空間に基づいて設定する(あるディレクトリ以下の全ファイルなど)のが自然である。しかし、上述した名前空間の排他問題により、名前空間に基づく複雑なポリシ制御を実現することが難しいという問題があった。
第4に二次ストレージに退避されたデータの属性情報不足の問題がある。また上述した名前空間の排他問題により、二次ストレージに格納されるデータに正しいパス名を付加することが難しい。このため、二次ストレージに格納されたデータはファイルシステムのメタデータのみからしかアクセスできないことになり、ファイルシステムのメタデータが壊れると、二次ストレージ上にデータは残っているのにもかかわらず、パス名と対応づけることができないため、ファイルデータを復旧することができないという問題があった。
本発明は上述した問題点を解決するためになされたものであり、HSMにおける一次ストレージに適切なファイルデータ領域を割り当てるためのHSM制御プログラム、HSM制御装置、HSM制御方法を提供することを目的とする。
上述した課題を解決するため、本発明は、一次ストレージと二次ストレージを有するHSMの制御をコンピュータに実行させるHSM制御プログラムであって、前記一次ストレージを構成する少なくとも一つのボリュームに関する情報をボリューム情報として管理するボリューム情報管理ステップと、前記一次ストレージにファイルデータ領域の割り当てが行われる場合、前記ボリューム情報管理ステップにより管理されたボリューム情報と予め設定されたポリシとに基づいて、前記割り当ての対象となるボリューム、前記一次ストレージを構成するボリュームの中から選択するボリューム選択ステップとをコンピュータに実行させるものである。
また、本発明に係るHSM制御プログラムにおいて、前記ポリシは、前記ボリューム選択ステップにより選択されるボリュームの条件である対象ボリューム条件を含むことを特徴とするものである。
また、本発明に係るHSM制御プログラムにおいて、前記ポリシは更に、前記対象ボリューム条件を適用するファイルの条件である対象ファイル条件を含み、前記ボリューム選択ステップは、前記割り当ての対象のファイルが満たす前記対象ファイル条件を検索し、該対象ファイル条件に対応する前記対象ボリューム条件を選択することを特徴とするものである。
また、本発明に係るHSM制御プログラムにおいて、前記対象ファイル条件は、ファイル識別子とファイル名パターン指定の少なくともいずれかを含むことを特徴とするものである。
また、本発明に係るHSM制御プログラムにおいて、前記対象ボリューム条件は、新規のファイルが前記一次ストレージに作成されるケースであるファイル作成時に選択されるボリュームの条件であるファイル作成先ボリューム条件と、前記二次ストレージに退避済みのファイルが前記一次ストレージに復元されるケースであるファイル復元時に選択されるボリュームの条件であるファイル復元先ボリューム条件とを含むことを特徴とするものである。
また、本発明に係るHSM制御プログラムにおいて、前記ファイル作成先ボリューム条件は、前記一次ストレージを構成するボリュームのうち、信頼性の高いボリュームなど、ファイル作成時要件を満たすボリュームであることを特徴とするものである。
また、本発明に係るHSM制御プログラムにおいて、前記ファイル復元先ボリューム条件は、前記一次ストレージを構成するボリュームのうち、アクセス性能の高いボリュームなど、ファイル復元時要件を満たすボリュームであることを特徴とするものである。
また、本発明に係るHSM制御プログラムにおいて、前記ボリューム選択ステップは、前記割り当ての対象となるボリュームに対応するブロック範囲を出力することを特徴とするものである。
また、本発明に係るHSM制御プログラムにおいて、前記ボリュームは、仮想ボリュームまたはディスク装置で構成され、前記ボリューム情報は、前記仮想ボリュームの情報と前記ボリュームに含まれるディスク装置の情報とを含むことを特徴とするものである。
また、本発明は、一次ストレージと二次ストレージを有するHSMの制御を行うHSM制御装置であって、前記一次ストレージを構成する少なくとも一つのボリュームに関する情報をボリューム情報として管理するボリューム情報管理部と、前記一次ストレージにファイルデータ領域の割り当てが行われる場合、前記ボリューム情報管理部により管理されたボリューム情報と予め設定されたポリシとに基づいて、前記割り当ての対象となるボリューム、前記一次ストレージを構成するボリュームの中から選択するボリューム選択部とを備えたものである。
また、本発明に係るHSM制御装置において、前記ポリシは、前記ボリューム選択部により選択されるボリュームの条件である対象ボリューム条件を含むことを特徴とするものである。
また、本発明に係るHSM制御装置において、前記ポリシは更に、前記対象ボリューム条件を適用するファイルの条件である対象ファイル条件を含み、前記ボリューム選択部は、前記割り当ての対象のファイルが満たす前記対象ファイル条件を検索し、該対象ファイル条件に対応する前記対象ボリューム条件を選択することを特徴とするものである。
また、本発明に係るHSM制御プログラムにおいて、前記対象ファイル条件は、ファイル識別子とファイル名パターン指定の少なくともいずれかを含むことを特徴とするものである。
また、本発明に係るHSM制御装置において、前記対象ボリューム条件は、新規のファイルが前記一次ストレージに作成されるケースであるファイル作成時に選択されるボリュームの条件であるファイル作成先ボリューム条件と、前記二次ストレージに退避済みのファイルが前記一次ストレージに復元されるケースであるファイル復元時に選択されるボリュームの条件であるファイル復元先ボリューム条件とを含むことを特徴とするものである。
また、本発明に係るHSM制御装置において、前記ファイル作成先ボリューム条件は、前記一次ストレージを構成するボリュームのうち、信頼性の高いボリュームなど、ファイル作成時要件を満たすボリュームであることを特徴とするものである。
また、本発明に係るHSM制御装置において、前記ファイル復元先ボリューム条件は、前記一次ストレージを構成するボリュームのうち、アクセス性能の高いボリュームなど、ファイル復元時要件を満たすボリュームであることを特徴とするものである。
また、本発明に係るHSM制御装置において、前記ボリューム選択部は、前記割り当ての対象となるボリュームに対応するブロック範囲を出力することを特徴とするものである。
また、本発明に係るHSM制御装置において、前記ボリュームは、仮想ボリュームまたはディスク装置で構成され、前記ボリューム情報は、前記仮想ボリュームの情報と前記ボリュームに含まれるディスク装置の情報とを含むことを特徴とするものである。
また、本発明は、一次ストレージと二次ストレージを有するHSMの制御を行うHSM制御方法であって、前記一次ストレージを構成する少なくとも一つのボリュームに関する情報をボリューム情報として管理するボリューム情報管理ステップと、前記一次ストレージにファイルデータ領域の割り当てが行われる場合、前記ボリューム情報管理ステップにより管理されたボリューム情報と予め設定されたポリシとに基づいて、前記割り当ての対象となるボリューム、前記一次ストレージを構成するボリュームの中から選択するボリューム選択ステップとを実行するものである。
本発明によれば、HSMにおける一次ストレージに適切なファイルデータ領域を割り当てることができる。
以下、本発明の実施の形態を説明するため、その前提となる技術について図面を参照しつつ説明する。
(前提技術1)
前提技術1においては、HSM制御装置であるサーバについて説明する。
まず、前提技術1に係るサーバを有するHSM装置の構成について説明する。
図1は、前提技術1に係るHSM装置の構成の一例を示すブロック図である。最近アクセスされたファイルを格納しているディスク装置などの高速ストレージ装置である一次ストレージ1、および長時間アクセスされていないファイルデータが格納されるテープライブラリ装置などの低速ストレージ装置である二次ストレージ2と、前提技術1に係るHSM制御装置であり、ファイルデータをアクセスするアプリケーションが動作するサーバ3から構成される。
また、サーバ3は、アプリケーション部11、ファイルシステム制御部12、名前空間複製部13、名前空間追随部14、名前空間複製DB(Database)15、マイグレート決定部16を備える。また、ファイルシステム制御部12は、イベントデータ記録部21を備える。
次に、サーバ3の各部について説明する。
イベントデータ記録部21は、アプリケーションプログラムが発行したファイル操作要求の履歴をイベントデータとして蓄積するファイルシステム制御部12内に配置されるプログラムである。イベントデータ記録部21は、アプリケーション部11が発行したファイル操作要求の内容をイベントデータに変換してメモリ上に蓄積しておき、一定量たまったところで名前空間複製部13や名前空間追随部14に渡す。イベントデータの受け渡しは、通信を使用してもよいし、専用のファイルを介して受け渡してもよい。
名前空間複製部13は、アプリケーション部11の動作と平行して、ファイルシステムの名前空間の複製を行うプログラムである。名前空間複製部13は、ファイルシステムの名前空間をたどり、存在するファイルのファイル情報を取得する。このファイル情報と、ファイル情報取得中にイベントデータ記録部21から受け取ったイベントデータを組み合わせて、名前空間の初期複製を名前空間複製DB15として完成させる。
名前空間追随部14は、名前空間の初期複製が完成した後、イベントデータ記録部21から受け取ったイベントデータに従って複製を更新し、名前空間複製DB15を最新の状態に維持する機能を受け持つ。また、名前空間追随部14は、通知されたファイルアクセスやアーカイブ状態を名前空間複製DB15に反映する役割も担う。
マイグレート決定部16は、ポリシ制御の一例として、名前空間複製部13が設定したファイルアクセス記録とユーザが設定したポリシに従い、一次ストレージ1において長時間アクセスされていないファイルを二次ストレージ2に追い出すため、ファイルシステム制御部12に指示を出すプログラムである。通常、二次ストレージ2に追い出された(マイグレートされた)ファイルは、アプリケーション部11がそのファイルをアクセスしたときに、ファイルシステム制御部12が二次ストレージ2から一次ストレージ1に戻す(リコール)。また、ファイルを更新したタイミングで、ファイルシステム制御部12により二次ストレージ2上のデータ(アーカイブデータ)が無効化される。二次ストレージ2上のデータはこのタイミングでは消えず、二次ストレージ2が不足するまで、バックアップデータとして残され、ファイルシステム障害時などのリカバリで使われる。
次に、イベントデータ、ファイル情報、名前空間複製DB15の詳細について説明する。
まず、イベントデータについて説明する。
イベントデータ記録部21により作成されるイベントデータ(event)はファイルやディレクトリの生成や削除、ファイル名の変更、ファイルアクセス、アーカイブ状態変化などのファイル操作の内容を表しており、操作名と操作が行われた時刻に加え、それぞれ以下のデータを含む。ここで、アーカイブ状態変化とは、アーカイブデータの有効化・無効化、マイグレート、リコールなどの事象を含む。
(1) ファイルあるいはディレクトリの作成
event.rectype = create
event.m_inode# = 親ディレクトリのinode番号
event.ftype =
dir (mkdir時)あるいはfile (create時)
event.fname = 作成されたファイルの名前
event.inode# =
作成されたファイルあるいはディレクトリのinode番号
event.time = このイベントが発生した時刻
(2) ファイルあるいはディレクトリの削除
event.rectype = delete
event.m_inode# = 親ディレクトリのinode番号
event.ftype = dir (rmdir時)あるいはfile (remove時)
event.inode# = 削除されたファイルあるいはディレクトリのinode番号
event.time = このイベントが発生した時刻
(3) ファイル名の変更
event.rectype = rename
event.m_inode# = 親ディレクトリのinode番号
event.ftype =
dir(対象がディレクトリの場合)
あるいはfile(対象がファイルの場合)
event.inode# =
対象のファイルあるいはディレクトリのinode番号
event.target.m_inode# =
移動先ディレクトリのinode番号
event.target.fname =
変更後のファイルあるいはディレクトリ名
event.time = このイベントが発生した時刻
(4) ファイルアクセス(アプリケーションプログラムがファイルをread/write)
event.rectype = access
event.inode# = ファイルのinode番号
event.time = このイベントが発生した時刻
(5) アーカイブ状態変化
event.rectype = archive
event.inode# = ファイルのinode番号
event.migrate =
オン(マイグレート状態となった)
あるいはオフ(リコールが起動され、マイグレート状態でなくなった)
event.archive =
オン(二次記憶へのファイルデータの書き出しが完了し、アーカイブデータが有効となった)
あるいはオフ(ファイルが更新された結果アーカイブデータが無効となった)
event.time = このイベントが発生した時刻
次に、ファイル情報について説明する。
名前空間複製復元中にファイルシステムから取得するファイル情報(fstat)には、以下のものがある。
fstat.m_inode# = 親ディレクトリのinode番号
fstat.ftype = dir(対象がディレクトリの場合)
あるいはfile (対象がファイルの場合)
fstat.fname = ディレクトリあるいはファイルの名前
fstat.inode# =
ファイルあるいはディレクトリのinode番号
fstat.archive = オン(アーカイブデータが有効なとき)
あるいはオフ(アーカイブデータが無効なとき)
fstat.migrate = オン(マイグレート状態のとき)
あるいはオフ(マイグレートされていないとき)
fstat.atime = ファイルを最後にアクセスした時刻
fstat.time = ファイル情報取得時刻
次に、名前空間複製DB15の構成について説明する。
名前空間複製DB15は、以下のカラム(dbe)を持つ、ディレクトリに設定されているファイルあるいはディレクトリ要素ごとにタプルを持つリレーショナルDBである。
dbe.m_inode# = 親ディレクトリのinode番号
dbe.ftype = dir(このタプルがディレクトリをあらわすとき) あるいは file (このタプルがファイルを表すとき)
dbe.fname = ファイルあるいはディレクトリの名前
dbe.inode# = ファイルあるいはディレクトリのinode番号
dbe.archive = オン(アーカイブデータが有効なとき)
あるいはオフ(アーカイブデータが無効なとき)
dbe.migrate = オン(マイグレート状態のとき)
あるいはオフ(マイグレートされていないとき)
dbe.atime = ファイルを最後にアクセスした時刻
dbe.active = オン(ファイル情報取得済みのとき)
あるいはオフ(まだファイル情報を取得していないとき)
次に、サーバ3の動作について説明する。
図2は、前提技術1に係るファイル情報取得処理の動作の一例を示すフローチャートである。サーバ3は、名前空間複製処理(S11)、名前空間追随処理(S12)、マイグレート処理(S13)を実行する。
次に、サーバ3における動作の詳細について説明する。
まず、名前空間複製処理について説明する。
名前空間複製処理は、名前空間複製部13が名前空間の初期複製を作成する処理であり、ファイル情報取得処理とイベントデータ反映処理からなる。また、名前空間複製処理は、障害発生後のサーバ再立ち上げ時など、メモリ上に蓄積されていたイベントデータが失われ、名前空間複製DB15の内容がファイルシステムの最新状態を反映できなくなったときに、名前空間複製DB15を再作成する目的で動作する。このように名前空間複製DB15を動的に再作成する構成では、イベントデータをイベント発生時に不揮発化する必要がなく、小さい容量のメモリに蓄積するのみで良く、後の名前空間複製DBの追随のオーバヘッドを削減することができる。
名前空間複製部13は、まず、ファイル情報取得処理として、親ディレクトリをオープンし、子ファイル名あるいは子ディレクトリ名を引数として指定し、ファイルシステムの情報取得機能(getinfo)を発行することにより求める。また、名前空間複製部13は、パス名昇順(あるいは降順)とした名前空間をたどることにより、ファイルシステム内に存在するディレクトリ、ファイルの情報を漏れなく求める。この過程で見逃したものは、イベントデータとして記録されているので、後で補正する。
図3は、名前空間におけるディレクトリの階層構造の一例を示す図である。この名前空間は、ディレクトリの階層構造を持ち、ディレクトリ名やファイル名を昇順に左から右へソートしたものである。図4は、前提技術1に係るファイル情報取得処理の動作の一例を示すフローチャートである。
まず、名前空間複製部13は、対象ファイルシステムのルートディレクトリを基点とし、ディレクトリを左下方向(ディレクトリ名の昇順)に順にたどり、最も左下のディレクトリを見つける。見つけた最も左下のディレクトリを対象ディレクトリとし、検索の過程で求めた対象ディレクトリのパス名を対象ディレクトリパス名とする(S201)。次に、名前空間複製部13は、対象ディレクトリのファイル情報および対象ディレクトリ内に存在する全ファイルのファイル情報をファイル名昇順にひとつずつ順に求め、ファイル情報記録ファイルの末尾に順に書き込む(S202)。次に、名前空間複製部13は、対象ディレクトリがルートディレクトリであるか否かの判断を行う(S203)。対象ディレクトリがルートディレクトリである場合(S203,Y)、全ファイルを処理し終わったことを意味するのでファイル情報取得処理を終了する。
一方、対象ディレクトリがルートディレクトリでない場合(S203,N)、名前空間複製部13は、対象ディレクトリパス名から、対象ディレクトリのひとつ上のディレクトリパス名を求める、すなわち、パス名を構成する最終構成ディレクトリ名を取り除いたパス名を新しいパス名とする。次に、名前空間複製部13は、求めたディレクトリパス名をルートディレクトリから下方に順に再度検索し、この検索で存在を確認できた最終ディレクトリを基点ディレクトリとする(S205)。パスの途中のディレクトリがrenameなどで名前空間の別の位置に動かされている場合、途中でみつからなくなるが、この部分は後続のファイル情報取得処理で見つかるか、イベントデータで必ず通知され、後で補正されるため、無視しても問題ない。
次に、名前空間複製部13は、基点ディレクトリの内容を読み込み、基点ディレクトリ内に未処理のディレクトリがあるか否かの判断を行う(S206)。未処理のディレクトリがある場合(S206,Y)、名前空間複製部13は、未処理の最も左下のディレクトリを求め、これを対象ディレクトリとし(S207)、処理S202に移行する。未処理のディレクトリが存在しない、すなわち基点ディレクトリ内に対象ディレクトリパス名で示されるより大きなファイル名をもつディレクトリが存在しない場合(S206,N)、対象ディレクトリパス名を基点ディレクトリのパス名に設定し(S208)、処理S203に移行する。
次に、名前空間複製部13は、対象ファイルシステムのファイル情報取得処理が全て終了すると、その間に発生したイベントデータをファイル情報に反映するイベントデータ反映処理を行う。ファイル情報記録ファイルを先頭から順によみ、ファイル情報記録ファイルに記録されている全てのファイル情報を処理したら、イベントデータ反映処理は終了する。
図5は、前提技術1に係るイベントデータ反映処理の動作の一例を示すフローチャートである。まず、名前空間複製部13は、未処理のファイル情報を取り出し(S302)、ファイル情報に設定されていた情報取得時刻以前の時刻を持つ、イベントデータを順に取り出し、名前空間複製DB15に反映する(S303)。
ここで、名前空間複製DB15への反映について、イベントデータが、削除系、生成系、ファイル名の変更、ファイルアクセス、アーカイブ状態変化のそれぞれの場合について説明する。
イベントデータが削除系(ファイル削除,ディレクトリ削除)の場合、名前空間複製部13は、削除対象ファイルあるいはディレクトリが既に名前空間複製DB15に登録済みなら削除する。そうでなければ何もしない。ここで、以下の条件を全て満たすエントリが存在する場合、登録済みとみなす。
dbe.inode# == event.inode#
dbe.m_inode# == event.m_inode#
dbe.fname == event.fname
イベントデータが生成系(ファイル生成,ディレクトリ生成)の場合、名前空間複製部13は、作成されたファイルあるいはディレクトリが名前空間複製DB15に登録済みでなければ情報取得済みで登録する。登録済みならこのイベントデータを無視し、何もしない。ここで、以下の条件を全て満たすエントリが存在する場合、登録済みとみなす。
dbe.inode# == event.inode#
dbe.m_inode# == event.m_inode#
dbe.fname == event.fname
未登録時の設定内容を以下に示す。
dbe.m_inode# = event. m_inode#
dbe.ftype = event. ftype
dbe.fname = event.fname
dbe.inode# = event.inode#
dbe.archive = オフ
dbe.migrate = オフ
dbe.atime = event.time
dbe.active = オン
イベントデータがファイル名の変更(event.rectype == rename)の場合、名前空間複製部13は、改名後と同じ名前をもつファイルあるいはディレクトリがすでに登録されていた場合(ファイル名と親inode番号で評価)、そのエントリを名前空間複製DB15から削除する。ここで、以下の条件を全て満たすエントリが存在する場合、登録済みとみなす。
dbe.name == event.target.fname
dbe.m_inode# ==
event.target.m_inode#
dbe.fname == event.target.fname
ここで、対象ファイルが名前空間複製DB15に既に登録されているならそのエントリの親情報とファイル名を変更する。ここで、以下の条件を全て満たすエントリが存在する場合、登録済みとみなす。
dbe.inode# == event.inode#
dbe.m_inode# == event.m_inode#
dbe.fname == event.fname
このときの変更内容を以下に示す。
dbe.m_inode# = event.target.m_inode#
dbe.name = event.target.fname
ここで、対象ファイルが未登録なら、改名後のファイルを名前空間複製DB15に新しいエントリとして登録する。
dbe.inode# = event.inode#
dbe.m_inode# = event.target.m_inode#
dbe.name = event.target.fname
dbe.active = オフ
イベントデータがファイルアクセス(event.rectype == access)の場合、名前空間複製部13は、対象inodeが未登録ならこのイベントデータを無視する。登録されていたら、登録済みのすべてのエントリのファイル最終アクセス時刻、アーカイブ情報、リコール情報を更新(ハードリンクがあるため)する。ここで、以下の条件を全て満たすエントリが存在する場合、登録済みとみなす。
dbe.inode# == event.inode#
このときの変更内容を以下に示す。
dbe.atime = event.time
イベントデータがアーカイブ状態変化(event.rectype == archive)の場合、対象inodeが未登録ならこのイベントデータを無視。登録されていたら、すべてのエントリのアーカイブ情報を更新(ハードリンクがあるため)する。ここで、以下の条件を全て満たすエントリが存在する場合、登録済みとみなす。
dbe.inode# == event.inode#
このときの変更内容を以下に示す。
dbe.archive = event.archive
dbe.migrate = event.migrate
次に、名前空間複製部13は、ファイル情報の内容を名前空間複製DB15に未登録なら情報取得済みとして登録する(S305)。同一inode番号を持つタプルが登録されていた場合には、登録されている全てのエントリの内容を変更する。ここで、以下の条件をすべて満たすエントリが存在するとき、登録済みとみなす。
dbe.inode# == fstat.inode#
dbe.fname == fstat.fname
dbe.m_inode# == fstat.m_inode#
また、未登録時の設定内容を以下に示す。
dbe.m_inode# = fstat. m_inode#
dbe.ftype = fstat. ftype
dbe.fname = fstat.fname
dbe.inode# = fstat.inode#
dbe.archive = fstat.archive
dbe.migrate = fstat.migrate
dbe.atime = fstat.atime
dbe.active = オン
また、同一inode番号が既に登録済み(すなわちdbe.inode# = fstat.inode#の場合)の設定内容を以下に示す。
dbe.archive = fstat.archive
dbe.migrate = fstat.migrate
dbe.atime = fstat.atime
dbe.active = オン
次に、名前空間複製部13は、記録されていた全ファイル情報の処理を終了すると、名前空間の変更との競合のため情報取得で見逃した名前空間のセグメント(情報取得済みが表示されていないディレクトリ)が存在するか否かの判断を行う(S311)。存在しない場合(S311,N)、このフローを終了する。一方、存在する場合(S311,Y)、そのディレクトリをルートとするファイル情報取得処理、およびその間に発生したイベントデータ反映処理を行い(S312)、処理S311へ戻り、次の情報取得済みが表示されていないディレクトリを見つけ、この処理を繰り返す。
次に、名前空間追随処理について説明する。
名前空間追随部14は、名前空間複製処理が完了した後に発生したイベントデータをイベントデータ記録部21から受け取り、名前空間複製DB15に順次反映していく。イベントデータ反映処理は名前空間複製処理とほほ同じだが、ファイル情報を用いない分、単純となる。
イベントデータが削除系ファイル操作イベント(ファイル削除、ディレクトリ削除)である場合、名前空間追随部14は、イベントデータで示されるinode番号、親inode番号、ファイル名を全て含むエントリを名前空間複製DB15上から削除する。
イベントデータが生成系ファイル操作イベント(ファイル生成、ディレクトリ生成)である場合、名前空間追随部14は、イベントデータで示されるinode番号を含むエントリを名前空間複製DB15上に登録し、イベントデータで伝えられた属性(タイプ)、および親inode番号を設定する。
イベントデータがファイル名の変更(rename)でターゲットと同じファイルがあれば、名前空間追随部14は削除する。また、名前空間追随部14は、ソースの親属性を変更する。
イベントデータがファイルアクセスイベントである場合、名前空間追随部14は、イベントデータで伝えられたアクセス時刻をinode番号で特定し、名前空間複製DB15に設定する。
イベントデータがアーカイブ状態変化である場合、名前空間追随部14は、アーカイブ情報を更新する。
次に、マイグレート処理について説明する。
マイグレート決定部16は、ファイルシステムが提供するコマンドなどを使い、一次ストレージ1の空きスペース状況を定期的に調べ、空きスペース量がユーザにより指定された量以下になった場合、名前空間複製DB15に設定されている情報を使って、マイグレートの対象ファイルを決定し、ファイルシステム制御部12にマイグレートを要求する。この際、マイグレート決定部16は、名前空間複製DB15から求めたファイルのパス名をファイルシステム制御部12に渡し、ファイルデータとともに二次ストレージ2に書き出してもらう。マイグレート決定処理は、ユーザポリシに応じて様々な実装を行うことができるが、一例を以下に示す。
図6は、前提技術1に係るマイグレート決定処理の動作の一例を示すフローチャートである。まず、マイグレート決定部16は、一次ストレージ1の不足が深刻であるか否かの判断を行う(S401)。
一次ストレージ1の不足が深刻である場合(S401,Y)、マイグレート決定部16は、名前空間複製DB15を検索し、アーカイブ済みでかつマイグレート済みではないファイルを見つけ(S411)、見つけた全てのファイルに対し以下のリリース処理(一次ストレージ域の解放)を行う。次に、マイグレート決定部16は、見つけたファイルのうち未処理のファイルがあるか否かの判断を行う(S412)。
未処理のファイルがなければ(S412,N)、このフローを終了する。一方、未処理のファイルがあれば(S412,Y)、マイグレート決定部16は、名前空間複製DB15に設定されているinode番号を引数としてファイルシステム制御部12に対象ファイルのリリース(一次ストレージ解放)を要求する(S413)。次に、マイグレート決定部16は、ファイルシステム制御部12からの応答を得ると、処理S412へ戻り、次の対象ファイルの処理を行う。
ここで、マイグレート決定部16は、名前空間複製DB15はファイルシステムに遅れて追随するため、実際にはファイルが存在しなくなっている場合や、アーカイブが無効になっている場合があり、この場合にはファイルシステム制御部12がエラー応答を返す。ファイルがアーカイブ済みであった場合、ファイルシステム制御部12はそのファイルに割り当てていた一次ストレージ領域を解放して正常応答を返す。
一方、一次ストレージ1が不足しているがそれほど深刻ではない場合(S401、N)、マイグレート決定部16は、深刻な不足が発生したときに、事態をただちに改善できるようにするため、一定時間以上アクセスされていないファイルをアーカイブする。このため、マイグレート決定部16は、名前空間複製DB15を検索し、最終アクセス時刻が所定の時刻(例えば現時刻―1日)以前でかつ、アーカイブ無効(アーカイブ済みでない)なものを見つける(S421)。次に、マイグレート決定部16は、見つけたファイルのうち未処理のファイルがあるか否かの判断を行う(S422)。
未処理のファイルがなければ(S422,N)、このフローを終了する。一方、未処理のファイルがあれば(S422,Y)、マイグレート決定部16は、名前空間複製DB15に設定されている親inode番号をキーとして、繰り返し名前空間複製DB15を検索することで、ファイルのパス名を求める(S423)。次に、マイグレート決定部16は、inode番号、ファイルパス名を引数としたアーカイブ要求をファイルシステム制御部12に出す(S424)。ここで、ファイルシステム制御部12は、指定されたファイルのデータとファイルパス名、inode番号を一括して二次ストレージ上に書き出し、処理S422へ戻り、次の対象ファイルの処理を行う。ここで、要求されたファイルが存在しなくなっている場合、ファイルシステム制御部12はエラーを応答し、要求を無視する。
次に、その他の各部の動作について説明する。
まず、ファイルシステム制御部12について説明する。
まず、マイグレート決定部16からのリリース要求があった場合、ファイルシステム制御部12は、リリース要求を処理し、二次ストレージにファイルデータのコピーが存在する(アーカイブ済み)なら、一次ストレージを返却し、マイグレート済みとする。このとき、イベントデータ記録部21はアーカイブ状態変化イベントを作成する。
event.rectype = archive
event.archive = オン
event.migrate = オン
また、マイグレート決定部16からのアーカイブ要求があった場合、ファイルシステム制御部12は、アーカイブ要求を処理し、ファイルデータの二次ストレージ2への書き出しを起動し、マイグレート決定部16に復帰する。この際、二次ストレージ2に書き出すデータのヘッダ部にファイルのマイグレート決定部16から通知されたファイルのパス名を付加して書き出す。二次ストレージ2への書き出しが完了すると、イベントデータ記録部21はアーカイブ状態変化イベントを作成する。
event.rectype = archive
event.archive = オン
event.migrate = オフ
また、アプリケーション部11がマイグレート済みファイルをアクセスしようとした場合、ファイルシステム制御部12は、アプリケーション部11がアクセスしようとしたタイミングで、一次ストレージ1上に領域を新たに割り当て、二次ストレージ2上のデータをその領域に読み込む。その後、イベントデータ記録部21は、リコール完了を表示したアーカイブ状態変化イベントを作成する。
event.rectype = archive
event.archive = オン
event.migrate = オフ
また、アプリケーション部11がファイル操作(ファイル生成・削除、ディレクトリ生成・削除、ファイルread/write)を要求した場合、ファイルシステム制御部12は要求を処理し、正常に完了した時点で、イベントデータ記録部21は対応するイベントデータを作成する。
名前空間複製部13からgetinfoでファイル情報を要求された場合、ファイルシステム制御部12は、指定されたファイルが親ディレクトリに存在することを確認した上で、指定されたファイルのファイル情報を返す。存在しなければ、エラーを応答。エラーが返された場合の名前空間複製部13はそのファイルがなかったものとして処理を続ける。
次に、イベントデータ記録部21について説明する。
イベントデータ記録部21は、ファイルシステム制御部12内に存在し、ファイルシステム制御部12の説明で述べたタイミングでイベントデータを作成し、メモリ上に蓄積する部分である。また、イベントデータ記録部21は、メモリ上に蓄積されたイベントデータが一定量以上となった、あるいは最後に通知してから、一定時間経過したときに、メモリ上に蓄積されていたイベントデータを一括して、名前空間追随部14あるいは名前空間複製部13に通知する。また、システム停止時にも、イベントデータ記録部21が蓄積していたイベントデータを名前空間追随部14に通知し、名前空間追随部14がメモリ上に蓄積されているイベントデータを名前空間複製DB15に全て反映する、システム停止処理を行う。
また、イベントデータ記録部21では、通知するデータ量を削減するため、以下の最適化を施す。まず、イベントデータ記録部21がファイルアクセスイベントを作成する場合、メモリ上に蓄積されている未通知のイベントデータの中に同じファイルに対するファイルアクセスイベントが含まれているなら、後続のファイルアクセスイベントは捨てる。すなわち、メモリ上に蓄積しない。また、イベントデータ記録部21がファイル削除イベントの作成を依頼されたときに、対応するファイル生成イベントが未通知のイベントデータとして含まれるなら、ファイル生成イベントをメモリ上で無効化し、イベントデータ通知の対象から取り除く。
次に、サーバ3におけるシステム立ち上げの処理について説明する。
システムを正常終了した場合、上述したように名前空間追随部14がメモリ上に滞留していたイベントデータを一括して名前空間複製DB15に反映する正常終了処理を行うため、次回立ち上げ時に名前空間複製部13を動作させる必要はない。一方、障害発生の場合、その後の再立ち上げ時には、名前空間複製部13を動作させ、名前空間複製DB15を再初期化するシステム異常終了後起動処理を行う。なお、この場合でも、障害発生直前の名前空間情報は残っているので、名前空間複製の再初期化が完了するまでの間にマイグレーション対象を決定する必要が発生した場合には、マイグレート決定部は古い複製を使って処理を行う。
なお、前提技術1においては、名前空間複製DB15に基づくポリシ制御の例としてマイグレート決定部16について説明したが、HSM制御における他のポリシ制御を名前空間複製DB15に基づいて行う構成としても良い。
上述した前提技術1のようなHSM装置において、二次ストレージ2への退避先のボリュームを指定することはできるが、一次ストレージ1(ファイルシステム)への復元先のボリュームを指定することができない。また、一次ストレージ1におけるファイルデータ領域の割り当ては、すべてファイルシステム制御部12により決定される。ここで、ファイルシステム制御部12は、利用しているボリューム構成およびその配下のディスク構成の情報を保持していないため、常に一次ストレージ1全体の中から均一に割り当てる。また、一次ストレージ1へのファイル作成(新規ファイルの書き込み)時と二次ストレージ2から一次ストレージ1へのファイル復元(退避済みファイルの読み込み)時とでボリュームに対する性能や信頼性の要件が異なる場合であっても、一次ストレージ1のボリューム構成(ディスク構成)は、どちらか一方の要件を満たす必要がある。従って、どちらか一方の要件をあきらめる、あるいは、両方の要件を満たすために一次ストレージ1用に用意するディスク容量(ディスク数)を多くする、などの制約が発生する。
以下、本発明の実施の形態について図面を参照しつつ説明する。
実施の形態1.
本実施の形態では、前提技術1と同様にして名前空間(メタデータ)の複製を作成、更新するHSMシステムにおいて、一次ストレージにおいて最適なファイルデータ領域の割り当てを行うHSMシステムについて説明する。
まず、本実施の形態に係るHSMシステムの構成について説明する。
図7は、本実施の形態に係るHSMシステムの構成の一例を示すブロック図である。この図において、図1と同一符号は図1に示された対象と同一又は相当物を示しており、ここでの説明を省略する。このHSMシステムは、一次ストレージ1、二次ストレージ2、運用サーバ102、HSM制御サーバ103(HSM制御装置)、操作部105を備える。
運用サーバ102は、アプリケーション111、ファイルシステム制御部112、ボリューム管理部113を備える。アプリケーション111は、ユーザが利用するプログラムである。ファイルシステム制御部112は、ファイルデータ領域割り当て制御部121、FS(File System)ボリューム管理部122を備える。ボリューム管理部113は、仮想ボリューム管理部123、ディスクドライバ124を備える。HSM制御サーバ103は、HSM管理部131、ボリュームマップデータベース132、ファイル配置ポリシデータベース133を備える。操作部105は、ユーザによる操作を受け付ける端末であり、HSM制御サーバ103の内部に備えられても良い。
なお、前提技術1におけるファイルシステム制御部12は、本実施の形態におけるファイルシステム制御部112に対応する。また、前提技術1における名前空間複製部13、名前空間追随部14、マイグレート決定部16は、本実施の形態におけるHSM管理部131に対応する。
また、ボリューム情報管理ステップは、本実施の形態におけるボリューム情報取得処理に対応する。また、ボリューム選択ステップは、本実施の形態における対象FSボリューム選択処理に対応する。
一次ストレージ1は、単一または複数のディスク装置を有する。ファイルデータ領域割り当て制御部121は、ファイルシステム(一次ストレージ1)におけるファイルデータの格納先であるファイルデータ領域の割り当てと解放を行う。FSボリューム管理部122は、ファイルシステム上のボリュームであるFSボリュームを構成するボリューム(仮想ボリュームまたはディスク装置)を管理する。仮想ボリューム管理部123は、仮想ボリュームを構成するディスク装置を管理する。仮想ボリュームは、複数のディスク装置の連結、ストライピング構成、ミラー構成などを実現する。FSボリューム管理部122、仮想ボリューム管理部123は、ディスクドライバ124を介して一次ストレージ1におけるディスク装置にアクセスする。
HSM管理部131は、HSMに関する一次ストレージ1と二次ストレージ2のファイル操作を行う。ボリュームマップデータベース132は、FSボリュームを構成する要素の情報(ボリューム情報)を保存し、管理する。ファイル配置ポリシデータベース133は、ファイルデータ領域を割り当てるためのポリシを保存し、管理する。
次に、ボリュームマップデータベース132について説明する。
図8は、本実施の形態に係るボリュームマップデータベース132の内容の一例を示す表である。ボリュームマップデータベース132は、FSボリューム構成情報テーブル、仮想ボリューム構成情報テーブル、ディスク情報テーブルを備える。
FSボリューム構成情報テーブルは、FSボリュームを構成するボリュームの情報であるFSボリューム構成情報を保存する。ここでは、FSボリューム毎に、FSボリューム通番、FS内ブロック範囲、割り当てボリューム、ボリューム内ブロック範囲が指定される。FS内ブロック範囲は、該当するFSボリュームに対応するファイルシステム内のブロック範囲を表す。割り当てボリュームは、該当するFSボリュームとして割り当てられた仮想ボリュームまたはディスク装置を表す。ボリューム内割り当て範囲は、該当するFSボリュームに対応するボリューム内のブロック範囲を表す。
仮想ボリューム構成情報テーブルは、仮想ボリュームを構成するディスク装置の情報である仮想ボリューム構成情報を保存する。ここでは、仮想ボリューム毎に、仮想ボリュームID、構成タイプ、割り当てディスク群が指定される。構成タイプは例えば、ミラー(二重化)、ストライプ、コンカチ(結合)などを示す。割り当てディスク群は、仮想ボリュームに割り当てられるディスクIDを示す。
ディスク情報テーブルは、ディスク装置の情報であるディスク情報を保存する。ここでは、ディスク装置毎に、ディスクID、ディスクタイプ、ディスク装置情報が指定される。ディスクタイプは例えば、単体のディスク(シングル構成)、RAID−0(ストライプ)などを示す。ディスク装置情報は例えば、冗長性なし、高速ディスクなどの特性を示す。
ボリュームマップデータベース132は、HSMシステム起動時に行われるボリューム情報取得処理により設定される。図9は、本実施の形態に係るボリューム情報取得処理の動作の一例を示すフローチャートである。まず、HSM制御サーバ103は、運用サーバ102に接続する(S551)。次に、HSM管理部131は、ファイルシステム制御部112のFSボリューム管理部122から、FSボリューム構成情報を取得する(S552)。次に、HSM管理部131は、ボリューム管理部113の仮想ボリューム管理部123から、仮想ボリューム構成情報を取得する(S553)。次に、HSM管理部131は、ボリューム管理部113のディスクドライバ124、一次ストレージ1におけるディスク装置から、ディスク情報を取得する(S554)。次に、HSM管理部131は、取得したFSボリューム構成情報、ディスク構成情報、ディスク情報を統合し、ボリュームマップ情報としてボリュームマップデータベース132に保存し(S555)、このフローは終了する。
次に、ファイル配置ポリシデータベース133について説明する。
図10は、本実施の形態に係るファイル配置ポリシデータベース133の内容の一例を示す表である。ファイル配置ポリシデータベース133は、ファイル条件指定ポリシ設定テーブルと個別ファイルポリシ設定テーブルを備える。
ファイル条件指定ポリシ設定テーブルは、対象ファイルを選別するための条件である対象ファイル条件が指定される。ここでは、対象ファイル条件毎に、ファイル作成先FSボリューム条件とファイル復元先FSボリューム条件が指定される。1つの対象ファイル条件は、ファイル所有者、ファイルサイズ、ファイル名、ファイル名パターン指定などで表され、1つの条件でも良いし、複数の条件でも良いし、複数の種類の条件が組み合わせられたものでも良い。また、条件を指定しないものは、対象ファイル条件を「その他すべて」とする。
ファイル作成先FSボリューム条件は、新規のファイルが一次ストレージ1に作成されるケースにおいて、割り当てるファイルデータ領域として適するボリュームの条件を表す。同様に、ファイル復元先FSボリューム条件は、二次ストレージ2に退避済みのファイルが一次ストレージ1に復元されるケースにおいて、割り当てるファイルデータ領域として適するボリュームの条件を表す。これらは、ボリュームの信頼性が高いか低いか、ボリュームのアクセス性能が高いか低いか、指定するFSボリュームの識別子などで表される。ここで、対象ファイル条件がファイルサイズで表された場合、ファイル作成先FSボリューム条件はファイルサイズが未定であるため指定不可能である。
個別ファイルポリシ設定テーブルは、ファイル作成後に、ファイル毎にポリシを設定する場合のテーブルである。ファイル毎に、ファイルinode番号、ファイルinode番号毎にファイル復元先FSボリューム条件が指定される。ここで、ファイル作成後に設定されるものであるため、ファイル作成先FSボリューム条件は、指定不可能である。
ファイル配置ポリシデータベース133は、ポリシ設定処理により設定される。図11は、本実施の形態に係るポリシ設定処理の動作の一例を示すフローチャートである。まず、操作部105は、ユーザの指示に従って、HSM制御サーバ103に接続する(S511)。次に、操作部105は、ユーザの指示に従って、ファイルやディレクトリの種別などの条件を指定し、ファイル毎に利用すべきボリューム(ディスク)の選択ポリシを入力する(S512)。次にHSM管理部131は、入力されたポリシをファイル配置ポリシデータベース133に保存し(S513)、このフローは終了する。
次に、ファイルデータ領域割り当て処理について説明する。
ファイルデータ領域割り当て処理は、ファイル作成またはファイル復元のために、一次ストレージ1におけるファイルデータ領域の割り当てを行う処理である。図12は、本実施の形態に係るファイルデータ領域割り当て処理の動作の一例を示すフローチャートである。まず、ファイルシステム制御部112は、一次ストレージ1におけるファイルデータ領域の割り当てが必要な処理が発生すると(S611)、その処理がファイル復元であるか否かの判断を行う(S612)。
発生した処理がファイル復元である場合(S612,Y)、ファイルデータ領域割り当て制御部121は、ファイル復元を行うこととその対象ファイルの情報をHSM管理部131に通知する(S613)。
HSM管理部131は、ファイル配置ポリシデータベース133とボリュームマップデータベース132に基づいて、対象ファイルのファイルデータ領域割り当てに使用すべきFSボリュームである対象FSボリュームを選択する対象FSボリューム選択処理を行い、対象FSボリュームをファイルシステム内ブロック範囲として、ファイルデータ領域割り当て制御部121に通知する(S614)。次に、ファイルデータ領域割り当て制御部121は、通知されたブロック範囲の中で対象ファイルのファイルデータ領域を割り当て、HSM管理部131に通知する(S615)。次に、HSM管理部131は、二次ストレージ2に退避済みの対象ファイルのファイルデータを、通知されたファイルデータ領域へ復元し(S616)、このフローは終了する。
処理S612において、発生した処理がファイル作成である場合(S612,N)、ファイルデータ領域割り当て制御部121は、ファイル作成を行うこととその対象ファイルの情報をHSM管理部131に通知する(S623)。
次に、HSM管理部131は、ファイル配置ポリシデータベース133とボリュームマップデータベース132に基づいて、対象ファイルのファイルデータ領域割り当てに使用すべきFSボリュームである対象FSボリュームを選択する対象FSボリューム選択処理を行い、対象FSボリュームをファイルシステム内ブロック範囲として、ファイルデータ領域割り当て制御部121に通知する(S624)。次に、ファイルデータ領域割り当て制御部121は、通知されたブロック範囲の中で対象ファイルのファイルデータ領域を割り当て(S625)、このフローは終了する。
次に、ファイル復元時の対象FSボリューム選択処理(S614)の詳細について説明する。
図13は、本実施の形態に係るファイル復元時の対象FSボリューム選択処理の第1の動作の一例を示すフローチャートである。図14は、本実施の形態に係るファイル復元時の対象FSボリューム選択処理の第2の動作の一例を示すフローチャートである。まず、HSM管理部131は、ファイルデータ領域割り当て制御部121からファイル復元の対象ファイルの情報として、ファイルinode番号、ファイル所有者、ファイルサイズ、ファイル名を受け取る(S711)。次に、HSM管理部131は、ファイル配置ポリシデータベース133の個別ファイルポリシ設定テーブルから対象ファイルのinode番号を検索し(S712)、同一inode番号があるか否かの判断を行う(S713)。
同一inode番号がある場合(S713,Y)、処理S721へ移行する。一方、同一inode番号がない場合(S713,N)、HSM管理部131は、ファイル配置ポリシデータベース133のファイル条件指定ポリシテーブルから対象ファイルの所有者、サイズ、名前に該当する対象ファイル条件を順に検索し(S714)、一致する対象ファイル条件があるか否かの判断を行う(S715)。一致する対象ファイル条件がある場合(S715,Y)、処理S721へ移行する。一方、一致する対象ファイル条件がない場合(S715,N)、HSM管理部131は、ファイル条件指定ポリシ設定テーブルにおける「その他すべて」のファイル復元先FSボリューム条件を取得する(S716)。また、処理S721において、HSM管理部131は、個別ファイルポリシ設定テーブルまたはファイル条件指定ポリシ設定テーブルにおいて該当するポリシのファイル復元先FSボリューム条件を取得する(S721)。
次に、HSM管理部131は、ボリュームマップデータベース132のFSボリューム構成情報テーブルからFSボリューム構成情報を取得し(S751)、仮想ボリューム構成情報テーブルから仮想ボリューム構成情報を取得し(S752)、ディスク情報テーブルからディスク情報を取得する(S753)。次に、HSM管理部131は、取得した情報からFSボリューム毎の特性であるFSボリューム特性を決定する(S754)。次に、HSM管理部131は、FSボリューム特性がファイル復元先FSボリューム条件に適合するFSボリュームを対象FSボリュームとして選択し(S755)、対象FSボリュームに対応するファイルシステム内ブロック範囲をファイルデータ領域割り当て制御部121に通知し(S756)、このフローは終了する。
次に、ファイル作成時の対象FSボリューム選択処理(S624)の詳細について説明する。
図15は、本実施の形態に係るファイル作成時の対象FSボリューム選択処理の第1の動作の一例を示すフローチャートである。図16は、本実施の形態に係るファイル作成時の対象FSボリューム選択処理の第2の動作の一例を示すフローチャートである。図15において、図13と同一符号は図13に示された対象と同一又は相当物を示しており、ここでの説明を省略する。また、図16において、図14と同一符号は図14に示された対象と同一又は相当物を示しており、ここでの説明を省略する。まず、HSM管理部131は、ファイルデータ領域割り当て制御部121からファイル作成の対象ファイルの情報として、ファイル所有者、ファイル名を受け取る(S811)。次に、HSM管理部131は、ファイル配置ポリシデータベース133のファイル条件指定ポリシテーブルから対象ファイルの所有者、名前に該当する対象ファイル条件を順に検索し(S814)、一致する対象ファイル条件があるか否かの判断を行う(S815)。
一致する対象ファイル条件がある場合(S815,Y)、処理S821へ移行する。一方、一致する対象ファイル条件がない場合(S815,N)、HSM管理部131は、ファイル条件指定ポリシ設定テーブルにおける「その他すべて」のファイル作成先FSボリューム条件を取得する(S816)。また、処理S821において、HSM管理部131は、ファイル条件指定ポリシ設定テーブルにおける該当ポリシのファイル作成先FSボリューム条件を取得する(S821)。以後、上述した処理S751〜S756が実行され、このフローは終了する。
ここで、ファイル復元時またはファイル作成時の対象FSボリューム選択処理について、図8の例を用いて説明する。処理S751において、FSボリューム構成情報として、各FSボリュームに割り当てられた仮想ボリュームまたはディスク装置(割り当てボリューム)がvol_001,disk_003であることが取得される。処理S752において、仮想ボリューム構成情報として、vol_001はミラーであってdisk_001とdisk_002を使用していることが取得される。処理S753において、disk_001は「冗長性なし」であること、disk_002は「冗長性なし」であること、disk_003は「冗長性なし」、「高速」であることが取得される。
処理S754において、FSボリュームに対応するvol_001は「冗長性あり」、「低速」であること、FSボリュームに対応するdisk_003は「冗長性なし」、「高速」であることが取得される。処理S755において、該当ポリシのファイル復元先FSボリューム条件が「信頼性高」であればvol_001が選択され、該当ポリシのファイル復元先FSボリューム条件が「アクセス性能高」であればdisk_003が選択される。処理S756において、vol_001が選択された場合はファイルシステム内ブロック範囲0〜9999がファイルデータ領域割り当て制御部121に通知され、disk_003が選択された場合はファイルシステム内ブロック範囲10000〜49999がファイルデータ領域割り当て制御部121に通知される。ファイルデータ領域割り当て制御部121は、このブロック範囲の中で対象ファイルのファイルデータ領域の割り当てを行う。
本実施の形態によれば、予めユーザにより設定されたポリシに従って、一次ストレージ1へのファイル作成時と二次ストレージ2から一次ストレージ1へのファイル復元時とで異なる特性のボリュームを用いるなど、一次ストレージ1における最適なファイルデータの配置を行うことができる。同様に、予めユーザにより設定されたポリシに従って、ファイル毎やファイル種別毎に配置を分けることができる。
例えば、一次ストレージ1が、ミラー構成のボリュームとシングル構成のボリュームで構成されている場合、ファイル作成時は信頼性の高いミラー構成のボリュームを用い、ファイル復元時は二次ストレージ2にデータが退避済みであることから信頼性は低くてもよく、シングル構成のボリュームを用いるように設定する。これにより、一次ストレージ1用のディスク容量の節約や有効活用を実現することができる。
また、本実施の形態に係るHSM制御装置は、サーバに容易に適用することができ、サーバの性能をより高めることができる。
更に、HSM制御装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、HSM制御プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、HSM制御装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
(付記1) 一次ストレージと二次ストレージを有するHSMの制御をコンピュータに実行させるHSM制御プログラムであって、
前記一次ストレージを構成する少なくとも一つのボリュームに関する情報をボリューム情報として管理するボリューム情報管理ステップと、
前記一次ストレージにファイルデータ領域の割り当てが行われる場合、前記ボリューム情報管理ステップにより管理されたボリューム情報と予め設定されたポリシとに基づいて、前記割り当ての対象となるボリューム、前記一次ストレージを構成するボリュームの中から選択するボリューム選択ステップと
をコンピュータに実行させるHSM制御プログラム。
(付記2) 付記1に記載のHSM制御プログラムにおいて、
前記ポリシは、前記ボリューム選択ステップにより選択されるボリュームの条件である対象ボリューム条件を含むことを特徴とするHSM制御プログラム。
(付記3) 付記2に記載のHSM制御プログラムにおいて、
前記ポリシは更に、前記対象ボリューム条件を適用するファイルの条件である対象ファイル条件を含み、
前記ボリューム選択ステップは、前記割り当ての対象のファイルが満たす前記対象ファイル条件を検索し、該対象ファイル条件に対応する前記対象ボリューム条件を選択することを特徴とするHSM制御プログラム。
(付記4) 付記3に記載のHSM制御プログラムにおいて、
前記対象ファイル条件は、ファイル識別子とファイル名パターン指定の少なくともいずれかを含むことを特徴とするHSM制御プログラム。
(付記5) 付記2乃至付記4のいずれかに記載のHSM制御プログラムにおいて、
前記対象ボリューム条件は、新規のファイルが前記一次ストレージに作成されるケースであるファイル作成時に選択されるボリュームの条件であるファイル作成先ボリューム条件と、前記二次ストレージに退避済みのファイルが前記一次ストレージに復元されるケースであるファイル復元時に選択されるボリュームの条件であるファイル復元先ボリューム条件とを含むことを特徴とするHSM制御プログラム。
(付記6) 付記5に記載のHSM制御プログラムにおいて、
前記ファイル作成先ボリューム条件は、前記一次ストレージを構成するボリュームのうち、信頼性の高いボリュームなど、ファイル作成時要件を満たすボリュームであることを特徴とするHSM制御プログラム。
(付記7) 付記5または付記6に記載のHSM制御プログラムにおいて、
前記ファイル復元先ボリューム条件は、前記一次ストレージを構成するボリュームのうち、アクセス性能の高いボリュームなど、ファイル復元時要件を満たすボリュームであることを特徴とするHSM制御プログラム。
(付記8) 付記1乃至付記7のいずれかに記載のHSM制御プログラムにおいて、
前記ボリューム選択ステップは、前記割り当ての対象となるボリュームに対応するブロック範囲を出力することを特徴とするHSM制御プログラム。
(付記9) 付記1乃至付記8のいずれかに記載のHSM制御プログラムにおいて、
前記ボリュームは、仮想ボリュームまたはディスク装置で構成され、
前記ボリューム情報は、前記仮想ボリュームの情報と前記ボリュームに含まれるディスク装置の情報とを含むことを特徴とするHSM制御プログラム。
(付記10) 一次ストレージと二次ストレージを有するHSMの制御を行うHSM制御装置であって、
前記一次ストレージを構成する少なくとも一つのボリュームに関する情報をボリューム情報として管理するボリューム情報管理部と、
前記一次ストレージにファイルデータ領域の割り当てが行われる場合、前記ボリューム情報管理部により管理されたボリューム情報と予め設定されたポリシとに基づいて、前記割り当ての対象となるボリューム、前記一次ストレージを構成するボリュームの中から選択するボリューム選択部と
を備えるHSM制御装置。
(付記11) 付記10に記載のHSM制御装置において、
前記ポリシは、前記ボリューム選択部により選択されるボリュームの条件である対象ボリューム条件を含むことを特徴とするHSM制御装置。
(付記12) 付記11に記載のHSM制御装置において、
前記ポリシは更に、前記対象ボリューム条件を適用するファイルの条件である対象ファイル条件を含み、
前記ボリューム選択部は、前記割り当ての対象のファイルが満たす前記対象ファイル条件を検索し、該対象ファイル条件に対応する前記対象ボリューム条件を選択することを特徴とするHSM制御装置。
(付記13) 付記12に記載のHSM制御プログラムにおいて、
前記対象ファイル条件は、ファイル識別子とファイル名パターン指定の少なくともいずれかを含むことを特徴とするHSM制御プログラム。
(付記14) 付記11乃至付記13のいずれかに記載のHSM制御装置において、
前記対象ボリューム条件は、新規のファイルが前記一次ストレージに作成されるケースであるファイル作成時に選択されるボリュームの条件であるファイル作成先ボリューム条件と、前記二次ストレージに退避済みのファイルが前記一次ストレージに復元されるケースであるファイル復元時に選択されるボリュームの条件であるファイル復元先ボリューム条件とを含むことを特徴とするHSM制御装置。
(付記15) 付記14に記載のHSM制御装置において、
前記ファイル作成先ボリューム条件は、前記一次ストレージを構成するボリュームのうち、信頼性の高いボリュームなど、ファイル作成時要件を満たすボリュームであることを特徴とするHSM制御装置。
(付記16) 付記14または付記15に記載のHSM制御装置において、
前記ファイル復元先ボリューム条件は、前記一次ストレージを構成するボリュームのうち、アクセス性能の高いボリュームなど、ファイル復元時要件を満たすボリュームであることを特徴とするHSM制御装置。
(付記17) 付記10乃至付記16のいずれかに記載のHSM制御装置において、
前記ボリューム選択部は、前記割り当ての対象となるボリュームに対応するブロック範囲を出力することを特徴とするHSM制御装置。
(付記18) 付記10乃至付記17のいずれかに記載のHSM制御装置において、
前記ボリュームは、仮想ボリュームまたはディスク装置で構成され、
前記ボリューム情報は、前記仮想ボリュームの情報と前記ボリュームに含まれるディスク装置の情報とを含むことを特徴とするHSM制御装置。
(付記19) 一次ストレージと二次ストレージを有するHSMの制御を行うHSM制御方法であって、
前記一次ストレージを構成する少なくとも一つのボリュームに関する情報をボリューム情報として管理するボリューム情報管理ステップと、
前記一次ストレージにファイルデータ領域の割り当てが行われる場合、前記ボリューム情報管理ステップにより管理されたボリューム情報と予め設定されたポリシとに基づいて、前記割り当ての対象となるボリューム、前記一次ストレージを構成するボリュームの中から選択するボリューム選択ステップと
を実行するHSM制御方法。
(付記20) 付記19に記載のHSM制御方法において、
前記ポリシは、前記ボリューム選択部により選択されるボリュームの条件である対象ボリューム条件を含むことを特徴とするHSM制御方法。
前提技術1に係るHSM装置の構成の一例を示すブロック図である。 前提技術1に係るファイル情報取得処理の動作の一例を示すフローチャートである。 前提技術1に係る名前空間におけるディレクトリの階層構造の一例を示す図である。 前提技術1に係るファイル情報取得処理の動作の一例を示すフローチャートである。 前提技術1に係るイベントデータ反映処理の動作の一例を示すフローチャートである。 前提技術1に係るマイグレート決定処理の動作の一例を示すフローチャートである。 本実施の形態に係るHSMシステムの構成の一例を示すブロック図である。 本実施の形態に係るボリュームマップデータベース132の内容の一例を示す表である。 本実施の形態に係るボリューム情報取得処理の動作の一例を示すフローチャートである。 本実施の形態に係るファイル配置ポリシデータベース113の内容の一例を示す表である。 本実施の形態に係るポリシ設定処理の動作の一例を示すフローチャートである。 本実施の形態に係るファイルデータ領域割り当て処理の動作の一例を示すフローチャートである。 本実施の形態に係るファイル復元時の対象FSボリューム選択処理の第1の動作の一例を示すフローチャートである。 本実施の形態に係るファイル復元時の対象FSボリューム選択処理の第2の動作の一例を示すフローチャートである。 本実施の形態に係るファイル作成時の対象FSボリューム選択処理の第1の動作の一例を示すフローチャートである。 本実施の形態に係るファイル作成時の対象FSボリューム選択処理の第2の動作の一例を示すフローチャートである。
符号の説明
1 一次ストレージ、2 二次ストレージ、3 サーバ、11 アプリケーション部、12 ファイルシステム制御部、13 名前空間複製部、14 名前空間追随部、15 名前空間複製DB、16 マイグレート決定部、21 イベントデータ記録部、102 運用サーバ、103 HSM制御サーバ、105 操作部、111 アプリケーション、112 ファイルシステム制御部、113 ボリューム管理部、112 ファイルシステム制御部は、121 ファイルデータ領域割り当て制御部、122 FSボリューム管理部、123 仮想ボリューム管理部、124 ディスクドライバ、131 HSM管理部、132 ボリュームマップデータベース、133 ファイル配置ポリシデータベース。

Claims (8)

  1. 外部の情報処理装置からアクセス可能に接続された一次ストレージと、前記一次ストレージに接続された二次ストレージとを有するHSMの制御をコンピュータに実行させる制御プログラムであって、
    前記一次ストレージを構成する少なくとも一つのボリュームに関する情報をボリューム情報として管理するボリューム情報管理ステップと、
    前記一次ストレージにファイルデータ領域の割り当てが行われる際に、前記ファイルデータ領域に記憶されるファイルデータが前記二次ストレージに記憶されている場合は、前記ボリューム情報と、予め設定された第一のポリシとに基づいて、前記ファイルデータ領域に記憶されるファイルデータが前記二次ストレージに記憶されていない場合は、前記ボリューム情報と、前記第一のポリシと異なる、予め設定された第二のポリシとに基づいて、前記割り当ての対象となるボリュームを、前記一次ストレージを構成するボリュームの中から選択するボリューム選択ステップと
    をコンピュータに実行させる制御プログラム。
  2. 請求項1に記載の制御プログラムにおいて、
    前記第二のポリシは、前記第一のポリシに基づいて割り当てられるファイルデータ領域よりも高い信頼性で格納可能なファイルデータ領域を割り当てることを定義する
    ことを特徴とする制御プログラム。
  3. 請求項1に記載の制御プログラムにおいて、
    前記第一のポリシと前記第二のポリシの少なくとも一方は、前記ボリューム選択ステップにより選択されるボリュームの条件である対象ボリューム条件を含むことを特徴とする制御プログラム。
  4. 請求項3に記載の制御プログラムにおいて、
    前記第一のポリシと前記第二のポリシの少なくとも一方は更に、前記対象ボリューム条件を適用するファイルの条件である対象ファイル条件を含み、
    前記ボリューム選択ステップは、前記割り当ての対象のファイルが満たす前記対象ファイル条件を検索し、該対象ファイル条件に対応する前記対象ボリューム条件を選択することを特徴とする制御プログラム。
  5. 外部の情報処理装置からアクセス可能に接続された一次ストレージと、前記一次ストレージに接続された二次ストレージとを有するHSMの制御を行う制御装置であって、
    前記一次ストレージを構成する少なくとも一つのボリュームに関する情報をボリューム情報として管理するボリューム情報管理部と、
    前記一次ストレージにファイルデータ領域の割り当てが行われる際に、前記ファイルデータ領域に記憶されるファイルデータが前記二次ストレージに記憶されている場合は、前記ボリューム情報と、予め設定された第一のポリシとに基づいて、前記ファイルデータ領域に記憶されるファイルデータが前記二次ストレージに記憶されていない場合は、前記ボリューム情報と、前記第一のポリシと異なる、予め設定された第二のポリシとに基づいて、前記割り当ての対象となるボリュームを、前記一次ストレージを構成するボリュームの中から選択するボリューム選択部と
    を備える制御装置。
  6. 外部の情報処理装置からアクセス可能に接続された一次ストレージと、前記一次ストレージに接続された二次ストレージとを有するHSMの制御をコンピュータに実行させる制御方法であって、
    前記一次ストレージを構成する少なくとも一つのボリュームに関する情報をボリューム情報として管理するボリューム情報管理ステップと、
    前記一次ストレージにファイルデータ領域の割り当てが行われる際に、前記ファイルデータ領域に記憶されるファイルデータが前記二次ストレージに記憶されている場合は、前記ボリューム情報と、予め設定された第一のポリシとに基づいて、前記ファイルデータ領域に記憶されるファイルデータが前記二次ストレージに記憶されていない場合は、前記ボリューム情報と、前記第一のポリシと異なる、予め設定された第二のポリシとに基づいて、前記割り当ての対象となるボリュームを、前記一次ストレージを構成するボリュームの中から選択するボリューム選択ステップと
    をコンピュータに実行させる制御方法。
  7. 外部の情報処理装置からアクセス可能に接続された一次ストレージと、前記一次ストレージに接続された二次ストレージとを有するHSMの制御をコンピュータに実行させる制御プログラムであって、
    前記一次ストレージにファイルデータ領域の割り当てを行う際に、前記ファイルデータ領域に記憶されるファイルデータが前記二次ストレージに記憶されているか否かによりポリシを選択し、選択したポリシに応じて前記データファイル領域の割り当てを行うボリューム選択ステップ
    をコンピュータに実行させる制御プログラム。
  8. 請求項7に記載の制御プログラムにおいて、
    前記ファイルデータ領域に記憶されるファイルデータが前記二次ストレージに記憶されていない場合に選択されるポリシは、前記ファイルデータ領域に記憶されるファイルデータが前記二次ストレージに記憶されている場合に選択されるポリシよりも、前記一次ストレージにおける割り当て先のファイルデータ領域に高い信頼性で格納可能であることを要求するポリシであることを特徴とする制御プログラム。
JP2006134693A 2006-05-15 2006-05-15 制御プログラム、制御装置、制御方法 Active JP5103786B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006134693A JP5103786B2 (ja) 2006-05-15 2006-05-15 制御プログラム、制御装置、制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006134693A JP5103786B2 (ja) 2006-05-15 2006-05-15 制御プログラム、制御装置、制御方法

Publications (2)

Publication Number Publication Date
JP2007305012A JP2007305012A (ja) 2007-11-22
JP5103786B2 true JP5103786B2 (ja) 2012-12-19

Family

ID=38838867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006134693A Active JP5103786B2 (ja) 2006-05-15 2006-05-15 制御プログラム、制御装置、制御方法

Country Status (1)

Country Link
JP (1) JP5103786B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105074675A (zh) * 2014-03-04 2015-11-18 株式会社东芝 具有层级化块存储装置的计算机系统、存储控制器及程序

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5331555B2 (ja) * 2009-04-23 2013-10-30 株式会社日立製作所 データ移行システムおよびデータ移行方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070403A (ja) * 2002-08-01 2004-03-04 Hitachi Ltd ファイル格納先ボリューム制御方法
EP1570357A1 (en) * 2002-12-02 2005-09-07 Arkivio, Inc. Data recovery techniques in storage systems
JP4643395B2 (ja) * 2004-08-30 2011-03-02 株式会社日立製作所 ストレージシステム及びデータの移動方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105074675A (zh) * 2014-03-04 2015-11-18 株式会社东芝 具有层级化块存储装置的计算机系统、存储控制器及程序
CN105074675B (zh) * 2014-03-04 2017-11-07 株式会社东芝 具有层级化块存储装置的计算机系统、存储控制器及介质

Also Published As

Publication number Publication date
JP2007305012A (ja) 2007-11-22

Similar Documents

Publication Publication Date Title
US9665304B2 (en) Storage system with fast snapshot tree search
US11561928B2 (en) Backup and restoration for storage system
JP4699516B2 (ja) 名前空間複製プログラム、名前空間複製装置、名前空間複製方法
US7603529B1 (en) Methods, systems, and computer program products for mapped logical unit (MLU) replications, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment
JP4568115B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
US8819362B1 (en) Managing replication and reservations
US8015157B2 (en) File sharing system, file server, and method for managing files
JP4160933B2 (ja) 超大規模ファイル・システムでのファイル・システム使用のすばやい復元
US8285758B1 (en) Tiering storage between multiple classes of storage on the same container file system
US7818535B1 (en) Implicit container per version set
US10311152B2 (en) System for queue based object cloning
JPWO2007032046A1 (ja) Hsm制御プログラム、hsm制御装置、hsm制御方法
KR100317691B1 (ko) 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치
US20070061540A1 (en) Data storage system using segmentable virtual volumes
JP2004110218A (ja) Dbms向け仮想ボリューム作成・管理方法
JP2011198383A (ja) 仮想ホットスペアを用いて動的に拡張可能かつ縮小可能な故障許容格納システム
US8140886B2 (en) Apparatus, system, and method for virtual storage access method volume data set recovery
CN113377292B (zh) 一种单机存储引擎
US6629203B1 (en) Alternating shadow directories in pairs of storage spaces for data storage
JP2008040699A (ja) Hsm制御プログラム、hsm制御装置、hsm制御方法
JP5103786B2 (ja) 制御プログラム、制御装置、制御方法
US8478936B1 (en) Spin down of storage resources in an object addressable storage system
JP2007305013A (ja) Hsm制御プログラム、hsm制御装置、hsm制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111003

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120717

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120724

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: 20120904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120917

R150 Certificate of patent or registration of utility model

Ref document number: 5103786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3