ファイルストレージシステム及び記憶制御方法
【課題】3以上のファイルストレージ装置を含んだファイルストレージシステムについて、中間ノードを含んだマイグレーションパスの構築が可能であり、且つ、管理者の管理負担が軽減されるようにする。
【解決手段】3以上のファイルストレージ装置とそれらに接続された管理計算機とを含んだファイルストレージシステムが構築される。管理計算機が、カスケード状に並んだ3以上のファイル記憶単位を含むことができるマイグレーションパスの構成を表す情報であるマイグレーションパス管理情報と、マイグレーションパスの構成の変更の履歴を表す情報であるパス履歴情報とを記憶する。管理計算機が、マイグレーションパスの構成の変更が行われる都度に、マイグレーションパス管理情報を、変更後のマイグレーションパスの構成を表す情報に更新し、且つ、変更後のマイグレーションパスの構成を表す情報を、パス履歴情報に追記する。
【解決手段】3以上のファイルストレージ装置とそれらに接続された管理計算機とを含んだファイルストレージシステムが構築される。管理計算機が、カスケード状に並んだ3以上のファイル記憶単位を含むことができるマイグレーションパスの構成を表す情報であるマイグレーションパス管理情報と、マイグレーションパスの構成の変更の履歴を表す情報であるパス履歴情報とを記憶する。管理計算機が、マイグレーションパスの構成の変更が行われる都度に、マイグレーションパス管理情報を、変更後のマイグレーションパスの構成を表す情報に更新し、且つ、変更後のマイグレーションパスの構成を表す情報を、パス履歴情報に追記する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のファイルストレージ装置を有するファイルストレージシステムでの記憶制御に関する。
【背景技術】
【0002】
一般に、ファイルストレージシステムでは、2台のファイルストレージ装置(以下、ファイルストレージ)が1対1で対応付けられている(特許文献1)。第1のファイルストレージが、マイグレーション対象のファイルを、そのファイルストレージに対応付けられている第2のファイルストレージにマイグレーションし、且つ、マイグレーション対象ファイルのスタブを生成する。「スタブ」とは、ファイルの格納先情報(リンク先を表す情報)に関連付けられたオブジェクト(例えばメタデータ)である。第1のファイルストレージは、そのスタブに対応するファイルのリードコマンドをクライアントから受けた場合、そのスタブのリンク先に従うリードコマンドを、そのスタブに対応するファイルを有する第2のファイルストレージに送信する。それにより、第1のファイルストレージは、第2のファイルストレージから、そのスタブに対応するファイルを取得し、そのファイルを、クライアントに送信する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−164211号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述のマイグレーションにおいて、ファイルは、マイグレーションパスを経由して良い。マイグレーションパスを構成するノードは2つであり、各ノードは、記憶単位で良い。例えば、1つのノードは、第1のファイルストレージが管理するファイルシステムであり、もう1つのノードは、第2のファイルストレージが管理するファイルシステムで良い。
【0005】
クラウドストレージが知られている。クラウドストレージは、不特定多数の利用者にストレージの機能をネットワーク経由で提供するストレージシステムである。クラウドストレージシステムは、複数のファイルストレージで構成されていることがある。
【0006】
ファイルのマイグレーション元及びマイグレーション先の少なくとも一方としてクラウドストレージが採用される場合、ファイルストレージシステムが、3台以上のファイルストレージを有することがある。
【0007】
このファイルストレージシステムにおいて、マイグレーションパスのノードとして、両端のノード(2つのノード)の他に、中間のノードが必要になることがある。このようなマイグレーションパスによれば、3以上のファイルストレージが有する3以上のファイルシステムがカスケード状になっており、ファイルが、先端ノード(ファイルシステム)から末端ノード(ファイルシステム)へ中間ノード(ファイルシステム)を経由してマイグレーションされることになる。しかし、従来は、前述した通り、1対1で対応付けられた2台のファイルストレージのみで構成されている。このため、従来技術によれば、中間ノードを含んだマイグレーションパスを構築することは困難である。
【0008】
また、ファイルストレージシステムを構成するファイルストレージの数が多いほど、マイグレーションパスの構成が複雑であったり、マイグレーションパスの数が多かったりすると考えられる。それ故、ファイルストレージシステムの管理者の管理負担が大きいと考えられる。例えば、ファイルが過去にどのようなファイルストレージを経由したかを調べることは困難である。
【0009】
以上のような問題は、クラウドストレージを含むファイルストレージシステムに限らず、3以上のファイルストレージを含む他のファイルストレージシステムについても有り得る。
【0010】
本発明の目的は、3以上のファイルストレージシステムを含んだファイルストレージシステムについて、中間ノードを含んだマイグレーションパスの構築が可能であり、且つ、管理者の管理負担が軽減されるようにすることにある。
【課題を解決するための手段】
【0011】
ファイルストレージシステムが、3以上のファイルストレージと、前記3以上のファイルストレージに接続された管理計算機とを有する。
【0012】
管理計算機は、マイグレーションパスの構成を表すマイグレーションパス管理情報と、前記マイグレーションパスの構成の変更の履歴を表すパス履歴情報とを記憶する。マイグレーションパスは、カスケード状に並んだ3以上のファイル記憶単位を含むことができる。
【0013】
管理計算機は、マイグレーションパスの構成の変更が行われる都度に、マイグレーションパス管理情報を、変更後のマイグレーションパスの構成を表す情報に更新し、且つ、変更後のマイグレーションパスの構成を表す情報をパス履歴情報に追記する。
【0014】
ファイル記憶単位としては、種々の記憶単位が採用され得る。例えば、ファイル記憶単位として、ファイルストレージ装置が採用されても良いし、ファイルストレージ装置が有するファイルシステムが採用されても良い。ファイルシステムは、1以上の物理記憶デバイスを基に用意される。物理記憶デバイスは、ファイルストレージ装置の中にあっても良いし外にあっても良い。物理記憶デバイスは、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)であって良い。
【図面の簡単な説明】
【0015】
【図1】図1は、本発明の一実施形態に係るファイルストレージシステムの構成の一例の概要を示す。
【図2】図2Aは、マイグレーションパスの追加が行われる前の一例を示す。図2Bは、マイグレーションパスの追加が行われた後の一例を示す。
【図3】図3Aは、マイグレーションパスの削除が行われる前の一例を示す。図3Bは、ファイルストレージCがファイルストレージシステムから削除されるときに行われる処理の一例を示す。図3Cは、マイグレーションパスの削除が行われた後の一例を示す。
【図4】図4Aは、マイグレーションパスの変更が行われる前の一例を示す。図4Bは、マイグレーションパスの変更が行われた後の一例を示す。
【図5】図5は、本発明の一実施形態に係る計算機システムの構成例を示す。
【図6】図6Aは、ファイルストレージ101のハードウェア構成の一例を示す。図6Bは、管理計算機105のハードウェア構成の一例を示す。
【図7】図7Aは、ファイルストレージ101が有する管理情報及びコンピュータプログラムの一例を示す。図7Bは、管理計算機105が有する管理情報及びコンピュータプログラムの一例を示す。
【図8】図8は、管理ストレージテーブルの構成例を示す。
【図9】図9は、管理ファイルシステムテーブル773の構成例を示す。
【図10】図10は、マイグレーションパステーブル775の構成例を示す。
【図11】図11Aは、ユーザテーブル777の構成例を示す。図11Bは、権限テーブル779の構成例を示す。
【図12】図12は、個別ファイルシステムテーブル713の構成例を示す。
【図13】図13は、ファイルテーブル773の構成例を示す。
【図14】図14は、装置とテーブルの関係の一例を示す。
【図15】図15は、情報取得処理の流れの一例を示す。
【図16】図16は、情報取得プログラム753が行う処理の流れの一例を示す。
【図17】図17は、情報取得応答プログラム703が行う処理の流れの一例を示す。
【図18】図18は、マイグレーションパスの追加の流れの一例を示す。
【図19】図19は、パス追加指示プログラム759が行う処理の流れの一例を示す。
【図20】図20は、パス追加プログラム709が行う処理の流れの一例を示す。
【図21】図21は、マイグレーションプログラム701が行う処理の流れの一例を示す。
【図22】図22は、マイグレーションパスの削除の流れの一例を示す。
【図23】図23は、パス削除指示プログラム761が行う処理の流れの一例を示す。
【図24】図24は、パス削除プログラム711が行う処理の流れの一例を示す。
【図25】図25は、リコールプログラム705が行う処理の流れの一例を示す。
【図26】図26は、マイグレーションパス変更処理の流れの一例を示す。
【図27】図27Aは、パス変更指示プログラム757が行う処理の流れの一例の第1の部分を示す。図27Bは、パス変更指示プログラム757が行う処理の流れの一例の第2の部分を示す。
【図28】図28は、パス変更指示プログラム757が行う処理の流れの一例の残りの部分を示す。
【図29】図29は、パス変更プログラム707が行う処理の流れの一例を示す。
【図30】図30は、検索処理の流れの一例を示す。
【図31】図31は、検索プログラム755が行う処理の流れの一例を示す。
【図32】図32は、検索処理の1つの具体例を示す。
【図33】図33は、ファイルテーブル715の更新と履歴テーブルの更新とを説明するための具体例を示す。
【図34】図34Aは、図33のステップ1でのファイルテーブルA(ファイルストレージAが有するファイルテーブル715)における、ファイルXに対応した行を示す。図34Bは、図33のステップ2でのファイルテーブルAにおける、ファイルXに対応した行を示す。
【図35】図35Aは、図33のステップ3でのファイルテーブルAにおける、ファイルXに対応した行を示す。図35Bは、図33のステップ3でのファイルテーブルB(ファイルストレージBが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【図36】図36Aは、図33のステップ4でのファイルテーブルAにおける、ファイルXに対応した行を示す。図36Bは、図33のステップ4でのファイルテーブルBにおける、ファイルXに対応した行を示す。
【図37】図37Aは、図33のステップ5でのファイルテーブルAにおける、ファイルXに対応した行を示す。図37Bは、図33のステップ5でのファイルテーブルBにおける、ファイルXに対応した行を示す。
【図38】図38Aは、図33のステップ6でのファイルテーブルAにおける、ファイルXに対応した行を示す。図38Bは、図33のステップ6でのファイルテーブルBにおける、ファイルXに対応した行を示す。図38Cは、図33のステップ6でのファイルテーブルC(ファイルストレージCが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【図39】図39Aは、図33のステップ7でのファイルテーブルAにおける、ファイルXに対応した行を示す。図39Bは、図33のステップ7でのファイルテーブルBにおける、ファイルXに対応した行を示す。図39Cは、図33のステップ7でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【図40】図40Aは、図33のステップ8でのファイルテーブルAにおける、ファイルXに対応した行を示す。図40Bは、図33のステップ8でのファイルテーブルBにおける、ファイルXに対応した行を示す。図40Cは、図33のステップ8でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【図41】図41Aは、図33のステップ9でのファイルテーブルAにおける、ファイルXに対応した行を示す。図41Bは、図33のステップ9でのファイルテーブルBにおける、ファイルXに対応した行を示す。図41Cは、図33のステップ9でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【発明を実施するための形態】
【0016】
以下、図面を参照して、本発明の一実施形態を説明する。
【0017】
なお、以下の説明では「xxxテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「xxxテーブル」を「xxx情報」と呼ぶことができる。
【0018】
また、以下の説明では、要素(例えば、ファイルストレージ、マイグレーションパス、或いはファイルシステム)を特定するためにID(識別子)、名称、或いは番号が使用されるが、識別情報として、それらのうちの2以上の組合せが使用されても良いし、他種の情報が使用されても良い。
【0019】
また、以下の説明では、同種の要素を区別して説明する場合、要素名と参照符号との組合せに代えて、要素名と識別符号との組合せが使用されることがある。例えば、識別符号「A」のファイルストレージ101を、「ファイルストレージA」と表記することがある。
【0020】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、コントローラに含まれるプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インタフェース装置(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、ファイルストレージ、ファイルストレージが有するコントローラ、管理計算機、或いは、管理計算機が有するコントローラが行う処理としても良い。また、コントローラは、プロセッサに代えて又は加えて、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから各ファイルストレージ或いは管理計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ、又は、計算機が読み取り可能な記憶メディアであっても良い。
【0021】
また、管理計算機は、1以上の計算機で構成されて良い。具体的には、例えば、管理計算機が情報を表示する場合、或いは、管理計算機が表示用情報を遠隔の計算機に送信する場合、管理計算機は1つの計算機で構成されて良い。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機を含んで良い)が、管理計算機である。
【0022】
また、以下の説明では、「日時」という言葉を用いるが、日時は、年、付、日といった情報も指し示しても良く、当然ながら時、分、秒(小数点以下の秒を含んでも良い)を指し示しても良い。
【0023】
また、以下の説明では、同種の要素(例えば、ファイルストレージ、ファイルシステム)を区別しないで説明する場合は、参照符号を用いて説明し、同種の要素を区別して説明する場合は、参照符号に代えて識別符号を用いることがある。例えば、複数のファイルシステムを区別しない場合は、ファイルシステム103と言い、複数のファイルシステムを区別する場合は、ファイルシステムA、ファイルシステムBのように言うことがある。
【0024】
また、図面では、ファイルシステムという言葉は、「FS」と略記される。
【0025】
図1は、本発明の一実施形態に係るファイルストレージシステムの構成の一例の概要を示す。
【0026】
ファイルストレージシステムは、3以上のファイルストレージ101を含み、3以上のファイルストレージ101に、管理計算機105が接続される。各ファイルストレージ101は、1以上のファイルシステム103を有する。図1の例によれば、3以上のファイルストレージは、ローカルのファイルストレージA、プライベートクラウドストレージとしてのファイルストレージB、及び、パブリッククラウドストレージとしてのファイルストレージCを含む。ファイルストレージAは、ファイルシステムAを有し、ファイルストレージBは、ファイルシステムBを有し、ファイルストレージCは、ファイルシステムCを有する。
【0027】
ここで、「ファイルストレージ」は、ファイルを記憶するストレージ装置であり、例えば、NAS(Network
Attached Storage)である。1以上のファイルシステム103は、1以上の物理記憶デバイス(以下、PDEV)に基づく。PDEVは、例えば、HDD(Hard Disk Drive)或いはSSD(Solid State Drive)である。PDEVは、ファイルストレージの中にあっても外にあっても良い。本実施形態の説明において、「ファイルシステム」という言葉は、ファイルが格納される記憶空間という意味で用いられる。
【0028】
「ローカルのファイルストレージ」は、ユーザによって運用又は管理されるファイルストレージである。ローカルのファイルストレージは、ユーザ側の管理者が使用する管理計算機107によって個別に管理されて良い。
【0029】
「パブリッククラウドストレージ」は、ユーザとは異なる組織によって運用又は管理されるファイルストレージであり、一般に、不特定多数のユーザからインターネット経由でアクセスされることがある。パブリッククラウドストレージは、例えば、ユーザとは異なる組織に属する管理者が使用する管理計算機109によって個別に管理されて良い。
【0030】
「プライベートクラウドストレージ」は、ユーザと同じ組織によって運用又は管理されるファイルストレージである。
【0031】
本実施形態において、ファイル記憶単位(例えば、ファイルシステム103及び/又はファイルストレージ101)の追加、削減又は交換が行われることがある。それに伴い、マイグレーションパスの構成の変更、すなわち、マイグレーションパスの追加、削除又は変更が行われることがある。
【0032】
本実施形態では、「マイグレーションパス」は、両端のノードの他に、1以上の中間ノードを有することができる。従って、本実施形態では、マイグレーションパスは、カスケード状に並んだ3以上のノードを含むことができる。「ノード」として、種々の記憶単位(例えば、ファイルシステム、2以上のファイルシステムで構成されたファイルシステムグループ、ファイルストレージ、2以上のファイルストレージで構成されたストレージグループなど)を採用し得る。本実施形態では、ノードは、ファイルシステムである。マイグレーションパスを構成する複数のファイルシステムのうちの2以上のファイルシステムは、同一のファイルストレージに存在していても良い。例えば、第1のファイルシステムと第2のファイルシステムで1つのマイグレーションパスが構成されている場合、第1のファイルシステムと第2のファイルシステムは1つのファイルストレージが有していても良い。
【0033】
各ファイルストレージ101は、下記の機能:
(1)そのファイルストレージ101が有するファイルシステム103から、定期的又は不定期的に、マイグレーション対象のファイル(例えば、所定のマイグレーション条件に適合するファイル)を特定する;
(2)そのファイルシステム103に論理的に繋がっている終端側の次のファイルシステム(同一のマイグレーションパスにおける終端側の次のファイルシステム)に、特定されたファイルをマイグレーションする;
(3)マイグレーションされたファイルのスタブ(リンク先を上記次のファイルシステムとしたスタブ)を作成し、そのスタブを保持する、
を有する。
【0034】
管理計算機105は、前述したように、ファイルストレージシステムを構成する全てのファイルストレージ(図1の例によれば、ファイルストレージA、B及びC)に接続される。管理計算機105は、ファイルストレージシステムを管理する。具体的には、例えば、管理計算機105は、マイグレーションパスの構成の変更の履歴を表す情報(以下、マイグレーションパス履歴情報)を保持する。各ファイルストレージ101は、ファイルのマイグレーションの履歴(以下、ファイル履歴情報)を表す情報を保持する。管理計算機105は、検索条件の入力を受け、マイグレーションパス履歴情報と、ファイルストレージ101から取得される、ファイル履歴情報に基づく情報とを基に、入力された検索条件に該当する情報を探し、見つかった情報(検索結果)を出力することができる。
【0035】
以下、図2A〜図4Bを参照して、マイグレーションパスの追加、削除及び変更の一例を説明する。なお、以下の説明では、図1に示した通り、ファイルストレージAがファイルシステムAを有し、ファイルストレージBがファイルシステムBを有し、ファイルストレージCがファイルシステムCを有する。
【0036】
図2Aは、マイグレーションパスの追加が行われる前の一例を示す。図2Bは、マイグレーションパスの追加が行われた後の一例を示す。
【0037】
「マイグレーションパスの追加」とは、マイグレーションパスの終端のノード(ファイルシステム)に新たにノード(ファイルシステム)が追加されることである。これにより、新たに追加されたノードが、マイグレーションパスの終端となり、追加される前に終端であったノードが、マイグレーションパスの中間ノードとなる。
【0038】
具体的には、例えば、図2Aに示すように、クライアント201から送信されたファイルXを格納しているファイルシステムAがある。この状況では、ファイルストレージAにおいて、ファイルXの履歴情報として、ファイルXがファイルシステムAに格納されたという履歴を表す情報を含んだ情報がある。
【0039】
この状況において、ファイルシステムAにファイルシステムBが追加されたとする。その後、ファイルXが、ファイルシステムAからファイルシステムBにマイグレーションされ、ファイルストレージAにおいて、ファイルシステムBのファイルXをリンク先としたスタブが生成されたとする。この場合、ファイルストレージBが、ファイルシステムAからファイルシステムBへのマイグレーションパスをファイルXが経由したことを表す情報をファイルXの履歴情報に追加する。
【0040】
この後、図2Bに示すように、マイグレーションパスの追加が行われたとする。すなわち、終端ノードであるファイルシステムBに、新たにファイルシステムCが追加されたとする。これにより、終端ノードは、ファイルシステムBではなく、ファイルシステムCとなる。
【0041】
マイグレーションパスの追加が行われたという履歴を表す情報(ファイルシステムA及びBから成るマイグレーションパスの終端ノードとしてファイルシステムCが追加されたことを表す履歴情報)が、管理計算機105に追加される。
【0042】
その後、ファイルXが、ファイルシステムBからファイルシステムCにマイグレーションされ、ファイルストレージBにおいて、ファイルシステムCのファイルXをリンク先としたスタブが生成されたとする。この場合、ファイルストレージAで保持されているスタブのリンク先は、ファイルストレージBにおいて作成されたスタブである。また、ファイルストレージCが、ファイルシステムAからファイルシステムBを経由してファイルシステムCへと続くマイグレーションパスをファイルXが経由したことを表す情報をファイルXの履歴情報に追加する。
【0043】
ファイルXの履歴情報は、ファイルストレージA、B及びCが個別に保持する。ファイルXの履歴情報は、ファイルストレージ101毎に異なる。
【0044】
管理計算機105は、ファイルストレージA、B及びCから、ファイルXの履歴情報をそれぞれ取得し、それらの情報を基に、ファイルXが過去にどのような構成のマイグレーションパスを経由したかを特定することができる。例えば、管理計算機105は、ファイルXが経由するマイグレーションパスの構成要素が、ファイルシステムA及びBのみから、ファイルシステムA、B及びCに増えたことを特定できる。
【0045】
以上が、マイグレーションパスの追加の一例の概要である。マイグレーションパスの追加は、例えば、マイグレーションパスにおけるトータル容量追加を目的として行われて良い。なお、マイグレーションパスの途中(或るノードと別のノードとの間)に新たにノードが追加されることも、「マイグレーションパスの追加」であっても良い。
【0046】
図3Aは、マイグレーションパスの削除が行われる前の一例を示す。図3Bは、ファイルストレージCがファイルストレージシステムから削除されるときに行われる処理の一例を示す。図3Cは、マイグレーションパスの削除が行われた後の一例を示す。
【0047】
「マイグレーションパスの削除」とは、マイグレーションパスの終端のノード(ファイルシステム)がそのマイグレーションパスから削除されることである。これにより、その削除された終端ノードの直近にあったノードが、そのマイグレーションパスの新たな終端ノードとなる。
【0048】
具体的には、例えば、図3Aに示した状況(図2Bに示した状況と同じ状況)から、図3Bに示すように、ファイルストレージCがファイルストレージシステムから除去されるとする。
【0049】
この場合、ファイルシステムC内のファイルXのリコールが行われる。すなわち、ファイルXが、ファイルXがリンク先であるスタブを有するファイルストレージBが、ファイルXをファイルシステムCから読み出し、当該スタブを削除する。ファイルストレージBが、ファイルシステムAからファイルシステムBへのマイグレーションパスをファイルXが経由したことを表す情報をファイルXの履歴情報に追加する。
【0050】
管理計算機105は、ファイルストレージA、B及びCから、ファイルXの履歴情報をそれぞれ取得し、それらの情報を基に、ファイルXが経由するマイグレーションパスの構成要素が、ファイルシステムA、B及びCから、ファイルシステムA及びBのみ減ったことを特定できる。
【0051】
以上が、マイグレーションパスの削除の一例の概要である。マイグレーションパスの削除は、例えば、現在のマイグレーションパスの終端のファイルシステムを切り離し、データが移行されないようにするために行われて良い。これは、例えば、マイグレーションパスにおけるアクセス性能の改善を目的として行われて良い。図3A〜図3Cの例は、例えば、ファイルストレージCに問題があったためにファイルストレージCが撤去されたと想定することができる。この場合、管理者は、ファイルストレージCの識別情報をキーワード(検索条件)として管理計算機105に入力すれば、管理計算機105が、過去にファイルストレージCのファイルシステムに格納されていたファイルを、ファイルストレージCの存在しないファイルストレージシステムから特定することができる。検索についての詳細は、後述する。
【0052】
図4Aは、マイグレーションパスの変更が行われる前の一例を示す。図4Bは、マイグレーションパスの変更が行われた後の一例を示す。
【0053】
「マイグレーションパスの変更」とは、マイグレーションパスの中間ノード(ファイルシステム)がそのマイグレーションパスから削除されることである。
【0054】
具体的には、例えば、図4Aに示した状況(図2Bに示した状況と同じ状況)から、図4Bに示すように、ファイルストレージBがファイルストレージシステムから除去されるとする。
【0055】
この場合、ファイルストレージAが保持するスタブのリンク先が、ファイルストレージBが保持するスタブからファイルシステムC内のファイルXに変更される。また、ファイルストレージCが、ファイルシステムAからファイルシステムCへのマイグレーションパス(ファイルシステムBの無いマイグレーションパス)をファイルXが経由したことを表す情報を、ファイルXの履歴情報に追加する。なお、もし、ファイルシステムBにファイルXが格納されていれば、ファイルストレージAが、ファイルXのリコール(ファイルシステムBからファイルXを読み出すこと)を行う。その後、ファイルXは、ファイルシステムAからファイルシステムCにマイグレーションされる。なぜなら、ファイルシステムAのマイグレーション先のファイルシステムが、ファイルシステムBからファイルシステムCに変更されたからである。
【0056】
また、マイグレーションパスの変更後、ファイルYがファイルシステムAに格納された場合、ファイルストレージAが、ファイルシステムAにファイルYを格納したことを表す情報を、ファイルYの履歴情報に追加する。その後、ファイルYが、ファイルシステムAからファイルシステムCにマイグレーションされ、ファイルYのスタブがファイルストレージAに保持される。ファイルストレージCが、ファイルシステムAからファイルシステムCへのマイグレーションパス(ファイルシステムBの無いマイグレーションパス)をファイルYが経由したことを表す情報を、ファイルYの履歴情報に追加する。
【0057】
管理計算機105は、ファイルストレージA、B及びCから、ファイルXの履歴情報をそれぞれ取得し、それらの情報を基に、ファイルXが経由するマイグレーションパスの構成要素が、ファイルシステムA、B及びCからファイルシステムA及びCに変わったことを特定できる。
【0058】
以上が、マイグレーションパスの変更の一例の概要である。マイグレーションパスの変更は、現在のマイグレーションパスから中間ノードを抜き、ファイル(実データ)までのマイグレーション階層を少なくするために行われて良い。これは、アクセス性能向上を目的としたパス短縮の際や、ファイルストレージ101のリプレース時および障害発生時の切り離しの際に行われて良い。
【0059】
以下、本実施形態を詳細に説明する。
【0060】
図5は、本発明の一実施形態に係る計算機システムの構成例を示す。
【0061】
第1の通信ネットワーク501に、複数(又は1つ)のクライアント201と、1つのファイルストレージAとが接続されている。クライアント201は、計算機(例えばパーソナルコンピュータ)である。複数のファイルストレージ101のうち、ファイルストレージAが、クライアント201から、ファイルを指定したI/O(Input/Output)コマンド(例えばライトコマンド又はリードコマンド)を受信する。
【0062】
ファイルストレージAは、少なくとも1つの他のファイルストレージ101に接続されている。ファイルストレージAは、そのファイルストレージAが有するファイルシステムに格納されているファイルを、そのファイルシステムを含んだマイグレーションパスに従って、そのファイルシステムのマイグレーション先のファイルシステム(次のファイルシステム)にマイグレーションする(これは、他のファイルストレージ101についても同様である)。
【0063】
第2の通信ネットワーク503に、複数のファイルストレージ101及び管理計算機105が接続されている。管理計算機105は、第2の通信ネットワーク503を介して、ファイルストレージ101と通信することができる。
【0064】
図5に示した構成は一例である。全てのファイルストレージ101が、全てのクライアント201と通信可能であっても良い。或るファイルストレージ101は、他の全てのファイルストレージ101と通信可能であっても良い。また、或るファイルストレージ101は、特定のファイルストレージ101とのみ通信可能であっても良い。
【0065】
図6Aは、ファイルストレージ101のハードウェア構成の一例を示す。なお、以下の説明では、通信インタフェースデバイスを「I/F」と略記する。
【0066】
ファイルストレージ101は、I/Fと、記憶資源と、それらに接続されたコントローラとを有する。
【0067】
I/Fとしては、例えば、クライアント201と通信するためのI/F(C−I/F)611と、他のファイルストレージ101と通信するためのI/F(F−I/F)613と、管理計算機105と通信するためのI/F(M−I/F)609と、PDEV605と通信するためのI/F(P−I/F)607とがある。これらのI/Fのうちの2以上のI/Fは、一体となっていても良い。
【0068】
記憶資源は、例えば、メモリ603及び複数のPDEV605のうちの少なくとも1つを含む。
【0069】
コントローラは、CPU(Central Processing Unit)601を含む。コントローラは、CPU601が行う処理の一部を行うハードウェア回路を含んでも良い。
【0070】
図6Bは、管理計算機105のハードウェア構成の一例を示す。
【0071】
管理計算機105は、I/Fと、記憶資源と、入力デバイス657と、表示デバイス651と、それらに接続されたコントローラとを有する。
【0072】
I/Fは、例えば、ファイルストレージ101と通信するためのI/F(F−I/F)659である。
【0073】
記憶資源は、例えば、メモリ655及びPDEV661のうちの少なくとも1つを含む。
【0074】
入力デバイス657は、例えば、キーボード、ポインティングデバイス、及びマイクのうちの少なくとも1つで良い。表示デバイス651は、例えば、液晶ディスプレイであって良い。入力デバイス657と表示デバイス651は、一体(例えばタッチパネル式のディスプレイ)であっても良い。
【0075】
コントローラは、CPU653を含む。コントローラは、CPU653が行う処理の一部を行うハードウェア回路を含んでも良い。
【0076】
図7Aは、ファイルストレージ101が有する管理情報及びコンピュータプログラムの一例を示す。
【0077】
ファイルストレージ101の記憶資源は、コンピュータプログラムとして、例えば、下記のプログラム:
(*)ファイルのマイグレーションを行うためのマイグレーションプログラム701;
(*)情報を管理計算機105に送信するための情報取得応答プログラム703;
(*)ファイルのリコールを行うためのリコールプログラム705;
(*)マイグレーションパスの変更を行うためのパス変更プログラム707;
(*)マイグレーションパスの追加を行うためのパス追加プログラム709;及び
(*)マイグレーションパスの削除を行うためのパス削除プログラム711、
を記憶する。また、その記憶資源は、管理情報として、例えば、下記の情報:
(*)このファイルストレージ101が有するファイルシステムに関する情報を有する個別ファイルシステムテーブル713;
(*)このファイルストレージ101が有するファイルに関する情報を有するファイルテーブル715;及び
(*)テーブル713及び715が有する所定種類の情報の変更の履歴を表す履歴テーブル(図示せず)、
を記憶する。履歴テーブルとしては、例えば、ファイルシステムのマイグレーション先(ファイルシステム)及び/又はマイグレーション元(ファイルシステム)の変更の履歴を表す情報がある。
【0078】
図7Bは、管理計算機105が有する管理情報及びコンピュータプログラムの一例を示す。
【0079】
管理計算機105の記憶資源は、コンピュータプログラムとして、例えば、下記のプログラム:
(*)マイグレーションパスの変更を指示するためのパス変更指示プログラム757;
(*)マイグレーションパスの追加を指示するためのパス追加指示プログラム759;
(*)マイグレーションパスの削除を指示するためのパス削除指示プログラム761;
(*)ファイルストレージ101から管理情報の全部又は一部を取得するための情報取得プログラム753;及び
(*)情報の検索を行うための検索プログラム755、
を記憶する。また、その記憶資源は、管理情報として、例えば、下記の情報:
(*)複数のファイルストレージ101に関する情報を有する管理ストレージテーブル771;
(*)複数のファイルストレージ101が有する複数のファイルシステム103に関する情報を有する管理ファイルシステムテーブル773;
(*)マイグレーションパスに関する情報を有するマイグレーションパステーブル755;
(*)ユーザ(管理者)に関する情報を有するユーザテーブル777;
(*)権限に関する情報を有する権限テーブル779;及び
(*)テーブル771、773、775、777及び779が有する所定種類の情報の変更の履歴を表す履歴テーブル(図示せず)、
を記憶する。履歴テーブルとしては、少なくとも、マイグレーションパスの構成の変更の履歴を表す情報が、各マイグレーションパスについて存在する。
【0080】
以下、各種テーブルを説明する。なお、以下の説明では、適宜、ID或いは名称等を用いて要素(例えばファイルストレージ或いはファイルシステム)を言うことがある。
【0081】
図8は、管理ストレージテーブルの構成例を示す。
【0082】
管理ストレージテーブル771は、ファイルストレージシステムに含まれているファイルストレージ101毎に、下記の情報:
(*)ファイルストレージ101の識別情報(S−ID)801;
(*)ファイルストレージ101の名称を表す情報(S−name)802;
(*)ファイルストレージ101の製造番号を表す情報(シリアル番号)803;
(*)ファイルストレージ101のIPアドレスを表す情報(IPアドレス)804;
(*)ファイルストレージ101のMACアドレスを表す情報(MACアドレス)805;
(*)ファイルストレージ101が設置されているデータセンタの名称を表す情報(D−name)806;及び
(*)ファイルストレージ101が設置されている地理的な位置(例えば住所)を表す情報(Place)807、
を有する。
【0083】
管理計算機105は、前述した情報801〜807のうちの少なくとも1種類の情報について、履歴テーブル(情報の更新の履歴を表すテーブル)を有することができる。例えば、図8に例示する履歴テーブル811は、ファイルストレージ「st_0002」に対応するIPアドレス804の更新の履歴を表す履歴テーブル811によれば、例えば、下記のこと:
(*)現在のIPアドレス804「123.45.67.91」は、2010年10月1日の10時21分45秒に記録されたこと;及び、
(*)IPアドレス804が初めて記録されてから、2回、IPアドレス804が更新されたこと、
がわかる。
【0084】
なお、履歴テーブルの更新(履歴テーブルに新たな履歴を表す情報を追加すること)は、マイグレーションパスの構成の変更(マイグレーションパスの追加、削除及び変更)のタイミングで行なわれても良い。また、そのタイミングに代えて又は加えて、管理計算機105が、定期的(又は不定期的)に各ファイルストレージから情報を取得し、その取得した情報を基に、履歴テーブルを更新しても良い。これらのタイミングは、管理計算機105が有する全ての履歴テーブルのうちの少なくとも1つの履歴テーブルに適用可能である。
【0085】
図9は、管理ファイルシステムテーブル773の構成例を示す。
【0086】
管理ストレージテーブル773は、ファイルストレージシステムに含まれているファイルシステム103毎に、下記の情報:
(*)ファイルシステム103の識別情報(F−ID)901;
(*)ファイルシステム103を有するファイルストレージ101のS−ID902;
(*)ファイルシステム103の名称を表す情報(FS−name)903;
(*)ファイルシステム103の容量を表す情報(容量)904;
(*)ファイルシステム103の利用率(ファイルシステム103の容量に対する、データが占める容量の割合)を表す情報(利用率)905;
(*)ファイルシステム103が有するスタブ(スタブファイル)の数(スタブ数)を表す情報(スタブ数)906;
(*)ファイルシステム103の転送速度(ファイルシステム103に単位時間当たりに入出力されるデータの量)を表す情報(転送速度)907;
(*)ファイルシステム103に対する単位時間(例えば1秒)当りのI/Oコマンドの数を表す情報(IOPS)908;及び
(*)ファイルシステム103にファイルがリコールされたのべ数を表す情報(リコール数)909、
を有する。容量904について、「TB」は、テラバイトの略である。転送速度907について、「MB」は、メガバイトの略であり、「s」は、secondの略である。
【0087】
管理計算機105は、前述した情報901〜809のうちの少なくとも1種類の情報について、履歴テーブル(情報の更新の履歴を表すテーブル)を有することができる。図9には、一例として、容量904の更新の履歴を表す履歴テーブル911と、IOPS908の更新の履歴を表す履歴テーブル913とが示されている。例えば、図9に例示する履歴テーブル911は、ファイルシステム「fs_0003」に対応する容量904の更新の履歴を表す履歴テーブル911によれば、例えば、下記のこと:
(*)現在の容量904「10TB」は、2009年3月5日の21時3分12秒に記録されたこと;及び、
(*)容量904が初めて記録されてから、2回、容量904が更新されたこと、
がわかる。
【0088】
図10は、マイグレーションパステーブル775の構成例を示す。
【0089】
マイグレーションパステーブル775は、マイグレーションパス毎に、下記の情報:
(*)マイグレーションパスの識別情報(MP−ID)1001;
(*)マイグレーションパスの構成が変更された最近の日時を表す情報(更新日時)1002;及び
(*)マイグレーションパスを構成する全てのファイルシステム(N個のファイルシステム)の名称を表す情報(1st FS、2nd FS、…)1003−1、1003−2、…、
を有する。FS1003の数は、マイグレーションパスを構成するファイルシステムの数に依存する。
【0090】
管理計算機105は、マイグレーションパスの構成の変更(マイグレーションパスの追加、削除及び変更)の履歴テーブルを有する。例えば、図10に例示する履歴テーブル1011は、マイグレーションパス「mp_0000」の構成の変更の履歴を表す。履歴テーブル1011によれば、例えば、下記のこと:
(*)現在のマイグレーションパスの構成は、2010年10月3日の10時24分33秒に記録されたこと;
(*)最初は、ファイルシステム「FS0000」のみでマイグレーションパスが構成されていたこと;
(*)次に、マイグレーションパスの追加が行われ、それにより、マイグレーションパスの構成(流れ)が、ファイルシステム「FS0000」 -> ファイルシステム「FS0001」、になったこと;
(*)次に、更に、マイグレーションパスの追加が行われ、それにより、マイグレーションパスの構成(流れ)が、ファイルシステム「FS0000」 -> ファイルシステム「FS0001」 -> ファイルシステム「FS0002」、になったこと;及び
(*)次に、更に、マイグレーションパスの変更が行われ(中間ノードであるファイルシステム「FS0001」が抜かれ)、それにより、マイグレーションパスの構成(流れ)が、ファイルシステム「FS0000」 -> ファイルシステム「FS0002」、になったこと、
がわかる。「->」の左側は、マイグレーション元であり、「->」の右側は、マイグレーション先である。
【0091】
図11Aは、ユーザテーブル777の構成例を示す。
【0092】
ユーザテーブル777は、ユーザ(管理者)毎に、下記の情報:
(*)ユーザの識別情報(ユーザID)1101;
(*)ユーザの名称を表す情報(ユーザ名)1102;
(*)ユーザのパスワードを表す情報(パスワード)1103;
(*)ユーザの権限の名称を表す情報(権限名)1104;及び
(*)備考を表す情報(備考)1105、
を有する。備考1105は、ユーザの種類、すなわち、ファイルストレージシステム全体の管理者であるか、或いは、どのサイト(例えばデータセンタ)にあるファイルストレージの管理者であるかを表す。
【0093】
各サイトのユーザ(管理者)は、管理計算機105上の検索プログラム755を用いて検索を行うことができるが、ユーザの権限を調整することで、情報を取得できる範囲を限定することができる。また、図示しないが、情報1101〜1105のうちの少なくとも1種類の情報について履歴テーブル(情報の更新の履歴を表すテーブル)があっても良い。
【0094】
図11Bは、権限テーブル779の構成例を示す。
【0095】
権限テーブル779は、権限毎に、下記の情報:
(*)権限の識別情報(権限ID)1151;
(*)権限の名称を表す情報(権限名)1152;
(*)マイグレーションパステーブル775に関する制限を表す情報(マイグレーションパス)1153;
(*)管理ストレージテーブル771に関する制限を表す情報(ストレージ)1154;
(*)管理ファイルシステムテーブル773及び個別ファイルシステムテーブル713に関する制限を表す情報(FS)1155;及び
(*)ファイルテーブル773に関する制限を表す情報(ファイル)1155、
を有する。
【0096】
ここで、図示の「R1」は、テーブルそれ自体をユーザが参照可能か否かを表す。「Yes」は、テーブルの参照が可能であることを意味し、「No」は、テーブルの参照が不可能であることを意味する。
【0097】
図示の「R2」は、テーブルが有する情報の更新の履歴を表す履歴テーブルをユーザが参照可能か否かのフラグを表す。「Yes」は、履歴テーブルの参照が可能であることを意味し、「No」は、履歴テーブルの参照が不可能であることを意味する。
【0098】
図示の「操作」は、ユーザがテーブルを操作(例えば、情報の追加、削除及び変更)更新することが可能か否かを表す。「Yes」は、テーブルの操作が可能であることを意味し、「No」は、テーブルの操作が不可能であることを意味する。
【0099】
権限テーブル779によれば、どのような権限であればどのようなことが可能/不可能であるかがわかる。このテーブル779によれば、マイグレーションパスの構成の変更、及び、参照できる情報の範囲が制限される。ユーザは、そのユーザに付与された権限の範囲内でしか情報を検索することができない。
【0100】
図12は、個別ファイルシステムテーブル713の構成例を示す。なお、以下、図では、マイグレーション元という言葉が「MGS」と略記され、マイグレーション先という言葉が「MGD」と略記されることがある。
【0101】
個別ファイルシステムテーブル713は、このテーブル713を有するファイルストレージ101が有するファイルシステム103毎に、下記の情報:
(*)ファイルシステム103の識別情報(F−ID)1201;
(*)ファイルシステム103の名称を表す情報(FS−name)1202;
(*)ファイルシステム103の容量を表す情報(容量)1203;
(*)ファイルシステム103のマイグレーション元のファイルシステム103を有するファイルストレージ101のIPアドレスを表す情報(MGS IPアドレス)1204;
(*)ファイルシステム103のマイグレーション元のファイルシステム103の名称を表す情報(MGS FS−name)1205;
(*)ファイルシステム103のマイグレーション先のファイルシステム103を有するファイルストレージ101のIPアドレスを表す情報(MGD IPアドレス)1206;
(*)ファイルシステム103のマイグレーション先のファイルシステム103の名称を表す情報(MGS FS−name)1207;
(*)ファイルシステム103が有するスタブ(スタブファイル)の数(スタブ数)を表す情報(スタブ数)1208;
(*)ファイルシステム103の転送速度(ファイルシステム103に単位時間当たりに入出力されるデータの量)を表す情報(転送速度)1209;
(*)ファイルシステム103に対する単位時間(例えば1秒)当りのI/Oコマンドの数を表す情報(IOPS)1210;及び
(*)ファイルシステム103にファイルがリコールされたのべ数を表す情報(リコール数)1211、
を有する。
【0102】
マイグレーション元の情報(MGS IPアドレス1204及びMGS FS−name1205)が記録されていない行に対応するファイルシステム103は、マイグレーションパスの先端ノード(クライアント201からファイルが直接書き込まれるファイルシステム103)である。
【0103】
マイグレーション先の情報(MGD IPアドレス1206及びMGD FS−name1207)が記録されていない行に対応するファイルシステム103は、マイグレーションパスの終端ノードである。
【0104】
マイグレーション元の情報とマイグレーション先の情報の両方が記録されている行に対応するファイルシステム103は、マイグレーションパスにおける中間ノードである。
【0105】
ファイルストレージ101は、情報1201〜1211のうちの少なくとも1種類の情報について、情報の変更の履歴を表す履歴テーブルを有することができる。履歴テーブルの構成は、図8〜図10に示した履歴テーブル811、911、913及び1011と同様とすることができる。すなわち、その履歴テーブルは、履歴IDと更新日時と更新後の情報とを含んで良い。
【0106】
図13は、ファイルテーブル773の構成例を示す。
【0107】
ファイルテーブル773は、このテーブル773を有するファイルストレージ101が有するファイルシステムに格納されているファイル毎に、下記の情報:
(*)ファイルの識別情報(ファイルID)1301;
(*)ファイルを有するファイルシステム103の名称を表す情報(FS−name)1302;
(*)ファイルの容量(サイズ)を表す情報(容量)1303;
(*)ファイルのマイグレーション元のファイルシステム103を有するファイルストレージ101のIPアドレスを表す情報(MGS IPアドレス)1304;
(*)ファイルのマイグレーション元のファイルシステム103の名称を表す情報(MGS FS−name)1305;
(*)ファイルのマイグレーション先のファイルシステム103を有するファイルストレージ101のIPアドレスを表す情報(MGS IPアドレス)1306;
(*)ファイルのマイグレーション先のファイルシステム103の名称を表す情報(MGS FS−name)1307;
(*)ファイルがスタブとされた日時を表す情報(スタブ化日時)1308;及び
(*)ファイル(スタブファイル)についてリコールされた最新の日時を表す情報(リコール日時)1309、
を有する。
【0108】
マイグレーション元の情報(MGS IPアドレス1304及びMGS FS−name1305)が記録されていない行に対応するファイルは、マイグレーションパスの先端ノード(クライアント201からファイルが直接書き込まれるファイルシステム103)に格納されているファイルである。
【0109】
マイグレーション先の情報(MGD IPアドレス1306及びMGD FS−name1307)が登録されていない行に対応するファイルは、マイグレーションパスの終端ノードに格納されているファイルである。ファイル(この段落において「対象ファイル」)が格納されているファイルシステム(この段落において「対象ファイルシステム」)103がマイグレーション先のファイルシステム103でなくても、対象ファイルシステム103を含んだマイグレーションパスにおいて、対象ファイルシステム103に対してマイグレーション先のファイルシステム103が存在する場合には、対象ファイル(実体)に対応した行に、マイグレーション先の情報が記録される。
【0110】
スタブ化日時1308として日時が記録されている行に対応したファイルは、スタブファイルである。
【0111】
スタブファイル(この段落において「対象スタブファイル」)に対応したファイルのリコールが行われ、且つ、対象スタブファイルに対応したスタブ化日時1308(有効な日時(「-」ではない))が対象スタブファイルに対応する行に記録されている場合、スタブ化日時1308は消去され(無効な値「-」となり)、且つ、リコールされた日時が、リコール日時1309として、対象スタブファイルに対応する行に記録される。つまり、リコールにより、対象スタブファイルに代えてファイル(実体)が、対象スタブファイルを格納していたファイルシステムに格納される。
【0112】
ファイルストレージ101は、情報1301〜1309のうちの少なくとも1種類の情報について、情報の変更の履歴を表す履歴テーブルを有することができる。図12に示した情報1201〜1211のうちの少なくとも1種類の情報についての履歴テーブルの構成と同様とすることができる。
【0113】
図14は、装置とテーブルの関係の一例を示す。
【0114】
管理計算機105は、管理ストレージテーブル771、マイグレーションパステーブル775、管理ファイルシステムテーブル773、ユーザテーブル777及び権限テーブル779を有するが(○マーク)、ファイルテーブル715を有しない(×マーク)。管理計算機105は、ファイルストレージ101が有するファイルテーブル715が含む情報を取得する。
【0115】
ファイルストレージ101は、複数のファイルストレージ101のうち、そのファイルストレージ101に関する情報を有する(△マーク)。また、ファイルストレージ101は、マイグレーションパスのうち、そのファイルストレージ101が有するファイルシステム103と、そのファイルシステム103のマイグレーション元及びマイグレーション先とを表す情報(図12及び図13参照)を有する(▲マーク)。また、ファイルストレージ101は、そのファイルストレージ101が有するファイルシステムに関する情報(図12参照)を有する(△マーク)。また、ファイルストレージ101は、そのファイルストレージ101が有するファイルに関する情報(図13参照)を有する(○マーク)。ファイルストレージ101は、ユーザテーブル777及び権限テーブル779を有しない。
【0116】
図14によれば、検索対象により、応答するまでの処理が異なる。
【0117】
すなわち、検索対象が、ファイルストレージ、マイグレーションパス、ファイルシステム、ユーザ又は権限に関する情報の場合、検索プログラム755は、管理計算機105が有する1以上のテーブル(履歴テーブル含む)から、検索条件に適合する情報を特定し、特定した情報を出力(例えば表示)して良い。
【0118】
検索対象が、ファイルに関する情報の場合、検索プログラム755は、例えば、管理計算機105が有する1以上のテーブル(履歴テーブル)から、検索条件に適合するファイルストレージ101を特定し、特定したファイルストレージ101に、情報取得指示を送信する。検索プログラム755は、その指示に応答して取得された情報から、検索条件に適合するファイルに関する情報を特定し、特定した情報を出力(例えば表示)して良い。
【0119】
以下、本実施形態で行われる処理を説明する。
【0120】
図15は、情報取得処理の流れの一例を示す。図15〜図17では、情報をファイルストレージAから取得することが、例として採用されている。
【0121】
管理計算機105(情報取得プログラム753)が、情報取得応答プログラム703の実行指示(情報取得指示)を、情報取得元のファイルストレージAに送信する(矢印1501)。その実行指示を受けたファイルストレージAにおいて、情報取得応答プログラム703が実行される。すなわち、プログラム703は、その実行指示で指定されている種類の情報を、ファイルストレージA内の1以上のテーブル(履歴テーブルを含む)から取得し、取得した情報を、管理計算機105に応答する(矢印1502)。
【0122】
図16は、情報取得プログラム753が行う処理の流れの一例を示す。
【0123】
S1601で、情報取得プログラム753は、取得対象の情報を特定する。特定された情報は、管理計算機105のユーザ(管理者)から指定された情報であっても良いし、所定種類の情報であっても良い。特定される情報は、例えば、個別ファイルシステムテーブル713といった大きな単位の情報であっても良いし、個別ファイルシステムテーブル713における特定の行に記録されている情報といった小さな単位の情報であっても良い。
【0124】
S1602で、プログラム753は、ファイルストレージAに、情報取得応答プログラム703の実行指示を送信する。その実行指示は、S1601で特定された情報を識別するための情報を含む。
【0125】
S1603で、プログラム753は、S1602で送信した実行指示に対する応答が正常終了か否かを判断する。
【0126】
S1603の判断の結果が否定的の場合(S1603:No)、S1606で、プログラム753は、エラーログを出力(例えば表示)する。
【0127】
S1603の判断の結果が肯定的の場合(S1603:Yes)、S1604で、プログラム753は、情報が更新されたか否かを判断する。例えば、プログラム753は、応答として受信した情報と、その情報に対応する、テーブルに記録済みの情報とを比較し、それらの情報が異なっているか否かを判断する。
【0128】
S1604の判断の結果が肯定的の場合(S1604:No)、S1605で、プログラム753は、取得した情報をテーブルに登録し、且つ、その情報について履歴テーブルがあれば、取得した情報を履歴テーブルに追記する。例えば、プログラム753は、更新された情報が、ファイルストレージAが有するファイルシステムAの容量である場合、ファイルシステムAに対応する容量904を更新し、且つ、その容量904に対応した履歴テーブルに、最新の容量904と同じ情報、及び、更新日時などを追記する。
【0129】
図17は、情報取得応答プログラム703が行う処理の流れの一例を示す。
【0130】
S1701で、情報取得応答プログラム703は、情報取得プログラム753(管理計算機105)からの実行指示を受け、その実行指示で指定されている情報を、1以上のテーブル(履歴テーブル含む)から取得する。
【0131】
S1702で、プログラム703は、取得した情報をプログラム753(管理計算機105)に応答する。
【0132】
図18は、マイグレーションパスの追加の流れの一例を示す。図18〜図21では、マイグレーションパスにおけるノードが、ファイルストレージAが有するファイルシステムAのみである場合に、そのマイグレーションパスの終端ノードとして、ファイルストレージBが有するファイルシステムBが追加されることが、例として採用されている。
【0133】
管理計算機105において、パス追加指示プログラム759が、情報取得プログラム753を呼び出す。プログラム753が、情報取得応答プログラム703の実行指示(情報取得指示)を、ファイルシステムBが終端ノードとして追加される前の終端ノードであるファイルシステムAを有するファイルストレージAに送信する(矢印1801)。その実行指示を受けたファイルストレージAにおいて、情報取得応答プログラム703が実行される。すなわち、プログラム703は、その実行指示で指定されている種類の情報を、ファイルストレージA内の1以上のテーブル(履歴テーブルを含む)から取得し、取得した情報を、管理計算機105に応答する(矢印1802)。
【0134】
管理計算機105において、パス追加指示プログラム759が、応答の受信の成功を認識した場合、ファイルストレージA内のパス追加プログラム709の実行指示を送信する(矢印1803)。パス追加プログラム709は、その実行指示に従い、処理を実行し、パス追加指示プログラム759に処理結果を応答する(矢印1804)。
【0135】
図19は、パス追加指示プログラム759が行う処理の流れの一例を示す。
【0136】
S1901で、パス追加指示プログラム759は、入力デバイス657から、下記の情報要素:
(*)マイグレーションパスID(MP−ID);
(*)追加されるファイルシステムBの名称(FS−name);及び
(*)追加されるファイルシステムBを有するファイルストレージBのIPアドレス、
を含んだ入力情報を受ける。
【0137】
S1902で、プログラム759は、情報取得プログラム753を呼び出すことにより、マイグレーション元のファイルストレージAに、情報取得応答プログラム703の実行指示を送信する。
【0138】
S1903で、プログラム759は、マイグレーション元のファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0139】
S1903の判断の結果が肯定的であれば(S1903:Yes)、S1904で、プログラム759は、ファイルシステムBが終端ノードとして追加される前の終端ノードであるファイルシステムAを有するファイルストレージAに、パス追加プログラム709の実行指示を送信する。
【0140】
S1905で、プログラム759は、ファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0141】
S1905の判断の結果が肯定的であれば(S1905:Yes)、S1906で、プログラム759は、マイグレーションパステーブル775の更新、及び、履歴情報を履歴テーブルに追加することを行う。具体的には、例えば、プログラム759は、下記の処理:
(*)S1901で入力されたMP−IDに適合するMP−ID1001を含んだ行に、マイグレーションパスの追加後の終端ノードであるファイルシステムBのFS−name(2nd FS1003−2)を記録する;及び
(*)S1901で入力されたMP−IDに適合するMP−ID1001に対応した履歴テーブルに、履歴情報として、ファイルシステムA及びファイルシステムBの両方のFS−name(つまり、ファイルシステムA -> ファイルシステムB)と、更新日時とを追記する、
を行う。
【0142】
S1907で、プログラム759は、処理の実行結果(例えば、パス追加プログラム709から受けた応答が表す正常終了)を出力する。
【0143】
S1903又はS1905の判断の結果が否定的の場合(S1903:No、又は、S1905:No)、S1908で、プログラム759は、エラーログ(例えば、パス追加プログラム709からのエラーログ)を出力する。
【0144】
図20は、パス追加プログラム709が行う処理の流れの一例を示す。
【0145】
S2001で、パス追加プログラム709は、図19のS1904で送信された実行指示を受ける。実行指示は、例えば、下記の情報:
(20−1)マイグレーション元であるファイルシステムAの名称(FS−name);
(20−2)追加されるファイルシステムBの名称(FS−name);及び
(20−3)追加されるファイルシステムBを有するファイルストレージBのIPアドレス、
を含んでいる。
【0146】
S2002で、プログラム709は、マイグレーション先のファイルシステムBにアクセス可能か否かを判断する。具体的には、例えば、プログラム709は、ファイルストレージBのIPアドレスを基にファイルストレージBと通信できるか否かを判断する。
【0147】
S2002の判断の結果が否定的であれば(S2002:No)、プログラム709は、S2006で、エラーログを管理計算機105(パス追加指示プログラム759)に応答する。
【0148】
S2002の判断の結果が肯定的であれば(S2002:Yes)、プログラム709は、S2003で、個別ファイルシステムテーブル713を更新する。具体的には、例えば、プログラム709は、上記(20−1)と一致するMGS FS−name1205を含んだ行に、MGD IPアドレス1206及びMGD FS−name1207として、上記(20−2)及び(20−3)を記録する。また、例えば、プログラム709は、上記(20−1)と一致するMGS FS−name1205を含んだ行について、MGD IPアドレス1206(MGD FS−name1207)に対応した履歴テーブルに、上記(20−2)((20−3))を追記して良い。
【0149】
S2004で、プログラム709は、マイグレーションプログラム701を実行する。なお、マイグレーションプログラム701の実行は、マイグレーションパスの追加が終わった後、所定のイベントが発生したとき、或いは、一定時間経過後に行われても良い。
【0150】
S2005で、プログラム709は、正常終了を管理計算機105(パス追加指示プログラム759)に応答する。
【0151】
図21は、マイグレーションプログラム701が行う処理の流れの一例を示す。
【0152】
S2101で、マイグレーションプログラム701は、マイグレーション元のファイルシステムA(マイグレーションパスの追加後の終端ノードの直近のノード)に対応するMGD IPアドレス1206及びMGD FS−name1207を特定する。これにより、マイグレーション先としてファイルシステムBが特定される。
【0153】
S2102で、プログラム701は、ファイルシステムA内のファイルをマイグレーション先のファイルシステムBへマイグレーション可能か否かを判断する。具体的には、例えば、プログラム701は、ファイルストレージBのIPアドレスを基にファイルストレージBと通信できるか否かを判断する。
【0154】
S2102の判断の結果が肯定的であれば(S2102:Yes)、S2103で、プログラム701は、ファイルシステムA内のファイル(実体)をファイルシステムBにコピーする。ファイルシステムA内の全てのファイルがコピーされても良いし、それらのファイルのうち所定の条件に適合するファイルのみ(例えば、アクセス頻度が所定値未満のファイルのみ)がコピーされても良い。
【0155】
S2104で、プログラム701は、コピーに成功したか否かを判断する。
【0156】
S2104の判断の結果が肯定的であれば(S2104:Yes)、S2105で、プログラム701は、例えば、下記の処理:
(*)コピーされたファイル(ファイルシステムA内のファイル)をスタブに変換する;
(*)コピーされたファイルに対応するスタブ化日時1308を、スタブに変換したときの日時を表す情報に更新する;及び
(*)そのスタブ化日時1308に対応する履歴テーブルに、更新後のスタブ化日時1308を表す履歴情報を追記する、
を行う。
【0157】
S2102又はS2104の判断の結果が否定的であれば(S2102:No、又は、S2104:No)、プログラム701は、S2106で、エラーログを出力する。この場合、例えば、図20のS2005では、正常終了に代えて異常終了が応答されて良い。
【0158】
なお、ファイルストレージAのファイルテーブル715に、ファイルシステムA内の全てのファイル(或いはコピーされたファイル)に対応するMGD IPアドレス1306及びMGD FS−name1307として、ファイルシステムAに対応するMGD IPアドレス1206及びMGD FS−name1207と同じ情報が記録されて良い。それらの情報が記録されるタイミングは、任意のタイミング(例えば、図20のS2003、或いは、図21のS2105)で良い。
【0159】
図22は、マイグレーションパスの削除の流れの一例を示す。図22〜図25では、マイグレーションパスにおける終端ノードが、ファイルストレージBが有するファイルシステムBであり、そのファイルシステムBのマイグレーション元が、ファイルストレージAが有するファイルシステムBであることが、例として採用されている。
【0160】
管理計算機105において、パス削除指示プログラム761が、情報取得プログラム753を呼び出す。プログラム753が、情報取得応答プログラム703の実行指示(情報取得指示)を、削除されるファイルシステムBのマイグレーション元のファイルシステムAを有するファイルストレージAに送信する(矢印2201)。その実行指示を受けたファイルストレージAにおいて、情報取得応答プログラム703が実行される。すなわち、プログラム703は、その実行指示で指定されている種類の情報を、ファイルストレージA内の1以上のテーブル(履歴テーブルを含む)から取得し、取得した情報を、管理計算機105に応答する(矢印2202)。
【0161】
管理計算機105において、パス削除指示プログラム761が、応答の受信の成功を認識した場合、ファイルストレージA内のパス削除プログラム711の実行指示を送信する(矢印2203)。パス削除プログラム711は、その実行指示に従い、処理を実行し、パス削除指示プログラム761に処理結果を応答する(矢印2204)。
【0162】
図23は、パス削除指示プログラム761が行う処理の流れの一例を示す。
【0163】
S2301で、パス削除指示プログラム761は、入力デバイス657から、下記の情報要素:
(*)マイグレーションパスID(MP−ID);
(*)リコールを実行するか否かを表す情報;
(*)削除されるファイルシステムBの名称(FS−name);及び
(*)削除されるファイルシステムBを有するファイルストレージBのIPアドレス、
を含んだ入力情報を受ける。なお、削除されるファイルシステムBからそのマイグレーション元であるファイルシステムAへのファイルのリコールは必ず行われても良く、その場合、リコールを実行するか否かを表す情報は不要で良い。
【0164】
S2302で、プログラム761は、情報取得プログラム753を呼び出すことにより、リコール先であるファイルストレージAに、情報取得応答プログラム703の実行指示を送信する。
【0165】
S2303で、プログラム761は、リコール先のファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0166】
S2303の判断の結果が肯定的であれば(S2303:Yes)、S2304で、プログラム761は、ファイルシステムBが削除されることで新たな終端ノードになることになるファイルシステムAを有するファイルストレージAに、パス削除プログラム711の実行指示を送信する。
【0167】
S2305で、プログラム761は、ファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0168】
S2305の判断の結果が肯定的であれば(S2305:Yes)、S2306で、プログラム761は、マイグレーションパステーブル775の更新、及び、履歴情報を履歴テーブルに追加することを行う。具体的には、例えば、プログラム761は、下記の処理:
(*)S2301で入力されたMP−IDに適合するMP−ID1001を含んだ行から、ファイルシステムBのFS−nameを削除する;及び
(*)S2301で入力されたMP−IDに適合するMP−ID1001に対応した履歴テーブルに、履歴情報として、ファイルシステムAのみのFS−name(つまり、マイグレーションパスのノードがファイルシステムAのみであること)と、更新日時とを追記する、
を行う。
【0169】
S2307で、プログラム761は、処理の実行結果(例えば、パス削除プログラム711から受けた応答が表す正常終了)を出力する。
【0170】
S2303又はS2305の判断の結果が否定的の場合(S2303:No、又は、S2305:No)、S2308で、プログラム761は、エラーログ(例えば、パス削除プログラム711からのエラーログ)を出力する。
【0171】
図24は、パス削除プログラム711が行う処理の流れの一例を示す。
【0172】
S2401で、パス削除プログラム711は、図23のS2304で送信された実行指示を受ける。実行指示は、例えば、下記の情報:
(24−1)リコール先であるファイルシステムAの名称(FS−name);
(24−2)追加されるファイルシステムBの名称(FS−name);
(24−3)追加されるファイルシステムBを有するファイルストレージBのIPアドレス;及び
(24−4)リコールを実行するか否かを表す情報、
を含んでいる。
【0173】
S2402で、プログラム711は、上記(24−4)がリコールを実行することを表しているか否かを判断する。
【0174】
S2402の判断の結果が否定的であれば(S2402:No)、プログラム711は、S2403で、個別ファイルシステムテーブル713を更新する。具体的には、例えば、プログラム711は、上記(24−1)と一致するMGS FS−name1205を含んだ行から、上記(24−2)及び(24−3)と一致するMGD IPアドレス1206及びMGD FS−name1207を削除する。また、例えば、プログラム711は、上記(24−1)と一致するMGS FS−name1205を含んだ行について、MGD IPアドレス1206(MGD FS−name1207)に対応した履歴テーブルに、上記(24−2)((24−3))を削除した旨を追記して良い。
【0175】
S2404で、プログラム711は、正常終了を管理計算機105(パス削除指示プログラム761)に応答する。
【0176】
S2402の判断の結果が肯定的であれば(S2402:Yes)、プログラム711は、S2405で、リコールプログラム705を実行する。
【0177】
S2406で、プログラム711は、リコールが失敗したか否かを判断する。
【0178】
S2406の判断の結果が否定的であれば(S2406:No)、S2403が行われる。
【0179】
S2406の判断の結果が肯定的であれば(S2406:Yes)、プログラム711は、エラーログを管理計算機105(パス削除指示プログラム761)に応答する。
【0180】
図25は、リコールプログラム705が行う処理の流れの一例を示す。
【0181】
S2501で、リコールプログラム705は、個別ファイルシステムテーブル713から、リコール元のファイルシステムB(マイグレーションパスの終端ノード)のIPアドレス及びFS−nameに適合するMGD IPアドレス1206及びMGD FS−name1207を特定する。
【0182】
S2502で、プログラム705は、ファイルシステムBからファイルシステムAへのファイルのマイグレーション(リコール)が可能か否かを判断する。具体的には、例えば、プログラム705は、ファイルストレージBのIPアドレスを基にファイルストレージBと通信できるか否かを判断する。
【0183】
S2502の判断の結果が肯定的であれば(S2502:Yes)、S2503で、プログラム705は、ファイルシステムAが有するスタブのリンク先でありファイル(ファイルシステムB内のファイル)をファイルシステムAにコピーする。具体的には、例えば、プログラム705は、以下の処理:
(S2503−1)ファイルシステムAが有するスタブを特定する(例えば、S2501で特定されたMGD IPアドレス1206及びMGD FS−name1207に一致するMGD IPアドレス1305及びMGD FS−name1306を含んだ行であって、スタブ化日時1308が記録されている行を、ファイル715から特定する);及び
(S2503−2)特定された行に対応するスタブのリンク先のファイルを読み出す、
を行う。以下、その特定された行に対応するスタブ(リコール先のファイルシステムAについてのスタブ)を、図25の説明において「対象スタブ」と言う。
【0184】
S2504で、プログラム705は、コピーに成功したか否かを判断する。
【0185】
S2504の判断の結果が肯定的であれば(S2504:Yes)、S2505で、プログラム705は、例えば、下記の処理:
(S2504−1)コピーされたファイルを基に対象スタブを変換する(例えば、コピーされたファイルが、実体としてのファイルであれば、対象スタブを削除し、コピーされたファイルが、スタブであれば、対象スタブが表すリンク先を、コピーされたスタブが表すリンク先に更新する);
(S2504−2)S2504−1でコピーされたファイルが実体としてのファイルであれば、対象スタブに対応するスタブ化日時1308を削除し、S2504−1でコピーされたファイルがスタブであれば、対象スタブに対応するスタブ化日時1308を、別のスタブがコピーされた日時を表す情報に更新する;及び
(*)対象スタブに対応するスタブ化日時1308に対応する履歴テーブルに、更新後のスタブ化日時1308を表す履歴情報(例えば、スタブ化日時1308の削除、更新後のスタブ化日時1308)を追記する、
を行う。リコールプログラム705は、マイグレーションパスの削除の場合だけでなく、マイグレーションパスの変更の場合にも実行されることがある。マイグレーションパスの削除の場合には、対象スタブのリンク先は、実体としてファイルであり、スタブであることは無い。
【0186】
S2502又はS2504の判断の結果が否定的であれば(S2502:No、又は、S2504:No)、プログラム705は、S2506で、エラーログを出力する。
【0187】
なお、このマイグレーションパスの削除において、ファイルストレージAのファイルテーブル715から、対象スタブに対応するMGD IPアドレス1306及びMGD FS−name1307が削除されて良い。
【0188】
図26は、マイグレーションパス変更処理の流れの一例を示す。図26〜図29では、ファイルシステムA -> ファイルシステムB -> ファイルシステムCというマイグレーションパスからファイルシステムBが削除されることが、例として採用されている。
【0189】
管理計算機105において、パス変更指示プログラム757が、情報取得プログラム753を呼び出す。プログラム753が、情報取得応答プログラム703の実行指示(情報取得指示)を、マイグレーションパスから削除されるファイルシステムBを有するファイルストレージBと、ファイルシステムBのマイグレーション元であるファイルシステムAを有するファイルストレージAと、ファイルシステムBのマイグレーション先であるファイルシステムCを有するファイルストレージCとに送信する(矢印2601、2603及び2605)。それらの応答(矢印2602、2604及び2606)から成功が認識された場合に、処理が進む。なお、ファイルストレージA〜Cへの実行指示は、一斉に送信されても良いし、逐次に送信されても良い。送信先は、マイグレーションパスの流れに沿って変更されて良い。具体的には、例えば、まず、実行指示がファイルストレージAに送信され(矢印2601)、その応答(矢印2602)から成功が認識された場合に、実行指示がファイルストレージBに送信され(矢印2603)、その応答(矢印2604)から成功が認識された場合に、実行指示がファイルストレージCに送信され(矢印2605)、その応答(矢印2606)から成功が認識された場合に、処理が進んで良い。
【0190】
処理が進むと、管理計算機105において、パス変更指示プログラム757が、ファイルストレージCとの通信が可能な否かを判断することの実行指示をファイルストレージAに送信する(矢印2607)。ファイルストレージAが、その実行指示に従い、ファイルストレージCと通信可能か否かを判断し、判断の結果を管理計算機105(パス変更指示プログラム757)に応答する(矢印2608)。ここで、ファイルストレージCは、削除されるファイルシステムBのマイグレーション先であるファイルシステムCを有するファイルストレージであり、削除されるファイルシステムBは、ファイルシステムAのマイグレーション先である。
【0191】
ファイルストレージAからの応答が肯定的な判断結果を表している場合、管理計算機105において、パス変更指示プログラム757が、ファイルストレージAからファイルを受けることが可能か否かを判断することの実行指示をファイルストレージCに送信する(矢印2609)。ファイルストレージCが、その実行指示に従い、ファイルストレージAからファイルを受けることが可能か否か(例えばファイルストレージAと通信可能な否か)を判断し、判断の結果を管理計算機105(パス変更指示プログラム757)に応答する(矢印2610)。矢印2607の実行指示よりも前に矢印2609の実行指示が送信されても良い。
【0192】
ファイルストレージC(及びファイルストレージA)からの応答が肯定的な判断結果を表している場合、パス変更指示プログラム757は、ファイルストレージBのリコールプログラム705に、ファイルシステムAに関わるスタブのリンク先となっているファイルをファイルシステムBからファイルシステムAにリコールすることの実行指示を送信する(矢印2611)。
【0193】
パス変更指示プログラム757は、リコールの実行指示に対する応答(矢印2612)から成功を認識したならば、パス変更プログラム707の実行指示をファイルストレージAに送信する(矢印2613)。パス変更指示プログラム757は、その実行指示に対する応答(矢印2614)から成功を認識した場合、パス変更プログラム707の実行指示をファイルストレージCに送信する(矢印2615)。その実行指示に対する応答(矢印2616)から成功が認識された場合、処理が終了となる。ファイルストレージA及びCには、パス変更プログラム707の実行指示が一斉に送信されても良い。
【0194】
図27A、図27B及び図28は、パス変更指示プログラム757が行う処理の流れの一例を示す。
【0195】
S2701で、パス削除指示プログラム757は、入力デバイス657から、下記の情報要素:
(27−1)マイグレーションパスID(MP−ID);
(27−2)リコールを実行するか否かを表す情報;
(27−3)削除されるファイルシステムBの名称(FS−name);及び
(27−4)削除されるファイルシステムBを有するファイルストレージBのIPアドレス、
を含んだ入力情報を受ける。なお、削除されるファイルシステムBからそのマイグレーション元であるファイルシステムAへのファイルのリコールは必ず行われても良く、その場合、リコールを実行するか否かを表す情報は不要で良い。
【0196】
全ての検索対象ストレージについて、S2703及びS2704(以下、ループK)が行われる。図27Aの説明における「検索対象ストレージ」とは、削除されるファイルシステムBのマイグレーション元を有する全てのファイルストレージである。このため、本例によれば、検索対象ストレージはファイルストレージAである。
【0197】
S2702で、プログラム757は、情報取得プログラム753を呼び出すことにより、ファイルストレージAに、情報取得応答プログラム703の実行指示を送信する。
【0198】
S2703で、プログラム757は、ファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0199】
全ての検索対象ストレージについて、S2703の判断の結果が肯定的であれば、ループKが終了し、図27BのS2707が行われる。一方、少なくとも1つの検索対象ストレージについて、S2704の判断の結果が否定的であれば(S2704:No)、S2706で、プログラム757は、エラーログを出力する。
【0200】
図27Bに示すように、S2707で、プログラム757は、ファイルストレージCとの通信が可能な否かを判断することの実行指示をファイルストレージAに送信する。この実行指示の送信先であるファイルストレージAは、削除されるファイルシステムBのマイグレーション元であるファイルシステムAを有するファイルストレージ101である。
【0201】
S2708で、プログラム757は、S2707で送信された実行指示に対する応答が正常終了を表しているか否かを判断する。
【0202】
S2708の判断の結果が肯定的であれば(S2708:Yes)、S2709で、プログラム757が、ファイルストレージAからファイルを受けることが可能か否かを判断することの実行指示をファイルストレージCに送信する。この実行指示の送信先であるファイルストレージCは、削除されるファイルシステムBのマイグレーション先であるファイルシステムCを有するファイルストレージ101である。
【0203】
S2710で、プログラム757は、S2709で送信された実行指示に対する応答が正常終了を表しているか否かを判断する。
【0204】
S2710の判断の結果が肯定的であれば(S2710:Yes)S2711で、プログラム757は、上記(27−2)がリコールを実行することを表しているか否かを判断する。
【0205】
S2711の判断の結果が肯定的であれば(S2711:Yes)、S2712で、プログラム757は、S2405で、ファイルストレージB内のリコールプログラム705を実行する。
【0206】
S2713で、プログラム757は、リコールが失敗したか否かを判断する。
【0207】
S2708又はS2710の判断の結果が否定的であれば(S2708:No、又は、S2710:No)、又は、S2713の判断の結果が肯定的であれば(S2713:Yes)、プログラム757は、エラーログを出力する。
【0208】
S2713又はS2711の判断の結果が否定的であれば(S2713:No、又は、S2711:No)、図28に示すS2801が行われる。
【0209】
図28に示すように、S2801で、プログラム757は、削除されるファイルシステムBのマイグレーション元であるファイルシステムAを有するファイルストレージAに、パス変更プログラム707の実行指示を送信する。
【0210】
S2802で、プログラム757は、ファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0211】
S2802の判断の結果が肯定的であれば(S2802:Yes)、S2803で、プログラム757は、削除されるファイルシステムBのマイグレーション先であるファイルシステムCを有するファイルストレージCに、パス変更プログラム707の実行指示を送信する。
【0212】
S2804で、プログラム757は、ファイルストレージCからの応答が正常終了を表しているか否かを判断する。
【0213】
S2804の判断の結果が肯定的であれば(S2804:Yes)、S2805で、プログラム757は、マイグレーションパステーブル775の更新、及び、履歴情報を履歴テーブルに追加することを行う。具体的には、例えば、プログラム757は、下記の処理:
(*)S2701で入力されたMP−IDに適合するMP−ID1001を含んだ行について、ファイルシステムBのFS−nameを削除し、ファイルシステムBより後段(下流側)の各ファイルシステム(この例によればファイルシステムCのみ)のFS−nameの位置を、1つ前段(上流側)にシフトする;及び
(*)S2701で入力されたMP−IDに適合するMP−ID1001に対応した履歴テーブルに、履歴情報として、構成の変更後のマイグレーションパス(ファイルシステムA -> ファイルシステムC)を表す情報と、更新日時とを追記する、
を行う。
【0214】
S2806で、プログラム757は、処理の実行結果(例えば、パス変更プログラム707から受けた応答が表す正常終了)を出力する。
【0215】
S2802又はS2804の判断の結果が否定的の場合(S2802:No、又は、S2804:No)、S2807で、プログラム757は、エラーログ(例えば、パス変更プログラム707からのエラーログ)を出力する。
【0216】
図29は、パス変更プログラム707が行う処理の流れの一例を示す。
【0217】
S2901で、パス変更プログラム707は、図28のS2801又はS2803で送信された実行指示を受ける。実行指示は、例えば、下記の情報:
(29−1)削除されるファイルシステムBの名称(FS−name);
(29−2)マイグレーション元又はマイグレーション先であるファイルシステム(ファイルシステムA又はC)の名称(FS−name);
(29−3)マイグレーション元又はマイグレーション先であるファイルシステムを有するファイルストレージ(ファイルストレージA又はC)のIPアドレス;及び
(29−4)上記(29−2)及び(29−3)がマイグレーション元とマイグレーション先のどちらであるかを表す情報、
を含んでいる。
【0218】
S2902で、プログラム707は、上記(29−4)がマイグレーション先を表しているか否かを判断する。
【0219】
S2902の判断の結果が肯定的であれば(S2902:Yes)、プログラム707は、個別ファイルシステムテーブル713における、上記(29−1)と一致するMGD FS−name1207と、それに対応するMGD IPアドレス1206とを、上記(29−2)及び(29−3)に変更する。この例によれば、このS2902により、ファイルストレージAにおいて、ファイルストレージAのマイグレーション先が、ファイルシステムBからファイルシステムCに変わる。
【0220】
S2902の判断の結果が否定的であれば(S2902:No)、プログラム707は、個別ファイルシステムテーブル713における、上記(29−1)と一致するMGS FS−name1205と、それに対応するMGS IPアドレス1204とを、上記(29−2)及び(29−3)に変更する。この例によれば、このS2902により、ファイルストレージCにおいて、ファイルストレージCのマイグレーション元が、ファイルシステムBからファイルシステムAに変わる。
【0221】
S2905で、プログラム707は、正常終了を管理計算機105(パス変更指示プログラム757)に応答する。
【0222】
図30は、検索処理の流れの一例を示す。
【0223】
検索プログラム755が、検索条件の入力を受け、その検索条件に該当する情報を、管理計算機105内の1以上のテーブル(履歴テーブルを含む)、及び/又は、1以上のファイルストレージ101(例えば、入力された検索条件に関わるファイルストレージ)から取得される情報から、検索する。ファイルストレージ101から情報を取得するために、検索プログラム755は、情報取得プログラム753を呼び出し、そのプログラム753が、情報の取得元のファイルストレージに、情報取得応答プログラム703の実行指示を送信する。図30の例によれば、ファイルストレージA及びBに実行指示が送信され(矢印3001及び3003)、ファイルストレージA及びBから情報が応答される(矢印3002及び3004)。
【0224】
図31は、検索プログラム755が行う処理の流れの一例を示す。
【0225】
S3101で、検索プログラム755は、入力デバイス657から下記の情報要素:
(31−1)検索対象項目;及び
(31−2)検索対象ストレージ、
を含んだ検索条件を受ける。検索対象ストレージは、1つのファイルストレージであっても良いし、ファイルストレージシステム内の2以上のファイルストレージであっても良い。また、検索対象ストレージは必ずしも無くても良い。
【0226】
S3102で、プログラム755は、管理計算機105内の1以上のテーブル(履歴テーブルを含む)から、検索条件を基に情報の検索を行う。
【0227】
S3103で、プログラム755は、上記(31−1)がファイルを表しているか否かを判断する。
【0228】
S3103の判断の結果が否定的であれば(S3103:No)、S3104で、プログラム755は、実行結果(例えば、S3102で見つかった情報)を出力(例えば表示)する。
【0229】
S3103の判断の結果が肯定的であれば(S3103:Yes)、S3105で、プログラム755は、検索対象ストレージ及びそのストレージに関わるファイルストレージを特定し、特定された各ファイルストレージの情報(例えばIPアドレス)を管理ストレージテーブル711から取得する。
【0230】
S3105で特定された全てのファイルストレージ(図32の説明において「特定ストレージ」)について、S3107及びS3108が行われる(ループM)。
【0231】
S3107で、プログラム755は、情報取得プログラム753を実行し、それにより、特定ストレージ内の情報取得応答プログラム703への実行指示が送信される。
【0232】
S3108で、プログラム755は、その実行指示に対する応答が正常終了を表しているか否かを判断する。
【0233】
少なくとも1つの特定ストレージについて、S3108の判断の結果が否定的であれば(S3108:No)、ループMが終了し、S3111で、プログラム755が、エラーログを出力(例えば表示)する。
【0234】
全ての特定ストレージについて、S3108の判断の結果が肯定的であれば(S3108:Yes)、ループMが終了し、S3110で、プログラム755が、実行結果(例えば、取得荒れた情報のうち、入力された検索条件に適合する情報)を出力(例えば表示)する。
【0235】
図32は、検索処理の1つの具体例を示す。例えば、図32の検索処理の前に、ファイルシステムA -> ファイルシステムB -> ファイルシステムC -> ファイルシステムDというマイグレーションパスから、ファイルストレージBが撤去されたことにより、マイグレーションパスの変更が行われたとする。また、ファイルストレージAがファイルシステムAを有し、ファイルストレージBがファイルシステムBを有し、ファイルストレージCがファイルシステムCを有し、ファイルストレージDがファイルシステムDを有するとする。
【0236】
S3201で、検索プログラム755が、検索条件を受ける。検索条件において、検索対象項目は、ファイルを表し、検索対象ストレージは、ファイルストレージBの識別情報を表す。つまり、その検索条件は、ファイルストレージBに格納されたことのあるファイルをファイルストレージシステムから検索するための検索条件である。
【0237】
S3202で、プログラム755が、下記の処理:
(3202−1)ファイルストレージBの識別情報を基に、ファイルストレージBが有しているファイルシステム(及び、ファイルストレージBが有していたことのあるファイルシステム)を、管理ファイルシステムテーブル773及びそのテーブル773に関する全ての履歴テーブルから特定する;及び
(3202−2)上記(3202−1)で特定された各ファイルシステムについて、そのファイルシステムとマイグレーションパスを形成したファイルシステム及びそのファイルシステムを含んだファイルストレージを、マイグレーションパステーブル775及びそのテーブル775に関する全ての履歴テーブルから特定する、
を行う。
【0238】
S3203で、プログラム755が、上記(3202−2)で特定された各ファイルシステムについて、そのファイルシステムを有するファイルストレージに、上記(3202−1)で特定されたファイルシステムをマイグレーション元又はマイグレーション先としたファイルを検索することの検索指示を送信する。その検索指示を受けたファイルストレージは、その検索指示に従い、上記(3202−1)で特定されたファイルシステムをマイグレーション元又はマイグレーション先としたファイルを、そのファイルストレージが有するファイルテーブル715及びそのテーブル715に関する全ての履歴テーブルから検索する。この例では、上記(3202−1)で、ファイルシステムBが特定され、上記(3202−2)で、ファイルシステムA、C及びDと、ファイルストレージA、C及びDが特定される。従って、このS3202では、ファイルストレージA、C及びDが、ファイルシステムA、C及びDに格納されている1以上のファイル(スタブも含む)から、そのファイルストレージが有するファイルテーブル715及びそのテーブル715に関する全ての履歴テーブルを基に、ファイルシステムBをマイグレーション元又はマイグレーション先としたファイルを、検索する。ファイルストレージA、C及びDは、検索の結果(例えば、見つかったファイルに関する情報(例えば、ファイル名)、或いは、見つからなかったというメッセージ)を、管理計算機105に応答する。
【0239】
S3204で、プログラム755が、S3203で出した検索指示の結果を、その検索指示に対する応答を基に出力(例えば表示)する。
【0240】
この例によれば、ファイルストレージA及びCからは、検索条件に該当するファイルがあることを表す応答が得られることがあり、ファイルストレージDからは、検索条件に該当するファイルが無いことを表す応答が得られることがある。また、ファイルストレージA及びCについて、検索条件に該当するファイルは、スタブである可能性もある。この場合には、プログラム755は、そのスタブを用いて、検索条件に該当するファイルにアクセスすることが可能である。
【0241】
以上が、検索処理の1つの具体例である。
【0242】
なお、本実施形態では、ファイルシステムがマイグレーションパスから削除された原因(マイグレーションパスの削除又は変更の原因)が、そのファイルシステムを有するファイルストレージに問題があることであるのか否かを表す情報が、管理計算機105に入力されて良い。ファイルストレージに問題がある(例えば障害が発生した)ことが原因でファイルシステムがマイグレーションパスから削除された場合、問題のあるファイルストレージに関する情報(例えば識別情報)が、表示されるか、或いは、その情報を含んだ検索条件を基にファイルの検索が行われても良い。問題のあるファイルストレージに関する情報を含んだ検索条件を基に検索処理が行われれば、問題のあるファイルストレージが有するファイルシステムに格納されたことのあるファイルをファイルストレージシステムから検索することができる。
【0243】
また、図32に示した処理は、1つの具体例にすぎず、本実施形態では、上記のような検索処理に代えて又は加えて、他種の検索処理が可能である。例えば、下記の検索処理:
(*)各ストレージの利用率の履歴テーブルを基に、ストレージ利用率の変遷を調べること;
(*)過去に記録され、現在のマイグレーションパスに含まれていないファイルストレージを検索すること(つまり、現在使用されていない(過去に使用されたことのある)ファイルストレージを検索すること);
(*)各ファイルシステムでのマイグレーション回数及び/又はリコール回数を検索すること(つまり、ファイルシステム内でマイグレーション及び/又はリコールが実施された回数を調べること);
(*)各ファイルシステム内での性能値(IOPS、MB/s等)を検索すること(つまり、ファイルシステムに関する性能値を調べること)
が可能である。
【0244】
さて、以下、各ファイルストレージにおけるファイルテーブルの更新と、履歴テーブルの更新とについて、図33に示すステップ1〜9を含んだ具体例:
(ステップ1)ファイルストレージAが有するファイルシステムAにファイルXが格納される;
(ステップ2)マイグレーションパスの追加が行われる(ファイルシステムAに対して、終端ノードとして、ファイルストレージBが有するファイルシステムBが追加される);
(ステップ3)ファイルXがファイルシステムAからファイルシステムBにマイグレーションされる;
(ステップ4)ファイルXがファイルシステムBからファイルシステムAにリコールされる;
(ステップ5)マイグレーションパスの追加が行われる(ファイルシステムA -> ファイルシステムBのマイグレーションパスの終端ノードとして、ファイルストレージCが有するファイルシステムCが追加される);
(ステップ6)ファイルXがファイルシステムBからファイルシステムCにマイグレーションされる;
(ステップ7)ファイルXがファイルシステムCからファイルシステムAにリコールされる;
(ステップ8)マイグレーションパスの変更が行われる(ファイルシステムA -> ファイルシステムB -> ファイルシステムCのマイグレーションパスからファイルシステムBが削除される);及び
(ステップ9)マイグレーションパスの削除が行われる(ファイルシステムA -> ファイルシステムCのマイグレーションパスからファイルシステムCが削除される)、
を基に説明する。
【0245】
図34Aは、図33のステップ1でのファイルテーブルA(ファイルストレージAが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【0246】
ファイルXがファイルシステムAに格納されると、ファイルテーブルAに、ファイルXについて、情報1301〜1303が登録される。しかし、ファイルシステムAについてマイグレーション元及びマイグレーション先が無い。このため、情報1304〜1309として有効な値は設定されない。
【0247】
図34Bは、図33のステップ2でのファイルテーブルAにおける、ファイルXに対応した行を示す。
【0248】
ファイルシステムAのマイグレーション先としてファイルシステムBが追加されたので、ファイルテーブルAにおける、ファイルXに対応する行に、マイグレーション先の情報1306及び1307として、ファイルストレージBのIPアドレスと、ファイルシステムBの名称とが記録される。また、その情報1306(1307)の履歴テーブルに、ファイルストレージBのIPアドレス(ファイルシステムBの名称)が追記される。
【0249】
図35Aは、図33のステップ3でのファイルテーブルAにおける、ファイルXに対応した行を示す。図35Bは、図33のステップ3でのファイルテーブルB(ファイルストレージBが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【0250】
ファイルXが、ファイルシステムAからファイルシステムB(マイグレーション先)にマイグレーションされたので、ファイルストレージAにおいて、ファイルXがスタブに変換される。このため、図35Aに示すように、ファイルXがスタブ化された日時を表す情報が、スタブ化日時1308として、ファイルXに対応した行に記録される。また、そのスタブ化日時1308に対応した履歴テーブルに、ファイルXに対応した行に記録されたスタブ化日時1308と同じスタブ化日時が追記される。
【0251】
また、図35Bに示すように、ファイルXがファイルシステムBに格納されたので、ファイルテーブルBにおける、ファイルXに対応する行に、情報1301〜1303が登録される。また、その行に、マイグレーション元の情報1304及び1305として、ファイルストレージAのIPアドレスと、ファイルシステムAの名称とが記録される。ファイルXに対応する情報1304及び1305は、ファイルXがマイグレーション元から受信されたときに書き込まれて良い。
【0252】
図36Aは、図33のステップ4でのファイルテーブルAにおける、ファイルXに対応した行を示す。図36Bは、図33のステップ4でのファイルテーブルBにおける、ファイルXに対応した行を示す。
【0253】
ファイルXがファイルシステムBからファイルシステムAにリコールされたので、図36Aに示すように、ファイルXに対応するスタブ化日時1308が削除され、スタブ化日時1308に対応した履歴テーブルに、スタブ化日時1308が削除されたことを表す情報が追記される。また、このリコールが行われた日時を表す情報が、ファイルXに対応するリコール日時1309として、記録される。このリコール日時1309に対応する履歴テーブルに、そのリコール日時1309と同じ日時を表す情報が追記される。
【0254】
なお、ステップ4では、ファイルテーブルBにおける、ファイルXに対応した行は、ステップ3についての行(図35B参照)と同じである(変更されない)。
【0255】
図37Aは、図33のステップ5でのファイルテーブルAにおける、ファイルXに対応した行を示す。図37Bは、図33のステップ5でのファイルテーブルBにおける、ファイルXに対応した行を示す。
【0256】
ステップ5では、ファイルテーブルAにおける、ファイルXに対応した行は、ステップ3についての行(図35A参照)と同じである(変更されない)。
【0257】
ファイルシステムBのマイグレーション先としてファイルシステムCが追加されたので、ファイルテーブルBにおける、ファイルXに対応する行に、マイグレーション先の情報1306及び1307として、ファイルストレージCのIPアドレスと、ファイルシステムCの名称とが記録される。また、その情報1306(1307)の履歴テーブルに、ファイルストレージCのIPアドレス(ファイルシステムCの名称)が追記される。
【0258】
図38Aは、図33のステップ6でのファイルテーブルAにおける、ファイルXに対応した行を示す。図38Bは、図33のステップ6でのファイルテーブルBにおける、ファイルXに対応した行を示す。図38Cは、図33のステップ6でのファイルテーブルC(ファイルストレージCが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【0259】
ステップ6では、ファイルテーブルAにおける、ファイルXに対応した行は、ステップ5についての行(図37A参照)と同じである(変更されない)。
【0260】
ファイルXが、ファイルシステムBからファイルシステムCにマイグレーションされたので、ファイルストレージBにおいて、ファイルXがスタブに変換される。このため、図38Bに示すように、ファイルXがスタブ化された日時を表す情報が、スタブ化日時1308として、ファイルXに対応した行に記録される。また、そのスタブ化日時1308に対応した履歴テーブルに、ファイルXに対応した行に記録されたスタブ化日時1308と同じスタブ化日時が追記される。
【0261】
また、図38Cに示すように、ファイルXがファイルシステムCに格納されたので、ファイルテーブルCにおける、ファイルXに対応する行に、情報1301〜1303が登録される。また、その行に、マイグレーション元の情報1304及び1305として、ファイルストレージBのIPアドレスと、ファイルシステムBの名称とが記録される。
【0262】
図39Aは、図33のステップ7でのファイルテーブルAにおける、ファイルXに対応した行を示す。図39Bは、図33のステップ7でのファイルテーブルBにおける、ファイルXに対応した行を示す。図39Cは、図33のステップ7でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【0263】
ファイルXがファイルシステムCからファイルシステムBを通じてファイルシステムAにリコールされたので、ファイルXをリンク先としたスタブを有するファイルストレージBにおけるファイルテーブルBと、そのスタブをリンク先としたスタブを有するファイルストレージAにおけるファイルテーブルAが更新される。
【0264】
すなわち、図39Bに示すように、ファイルテーブルBにおける、ファイルXに対応するスタブ化日時1308が削除され、スタブ化日時1308に対応した履歴テーブルに、スタブ化日時1308が削除されたことを表す情報が追記される。また、このリコールが行われた日時を表す情報が、ファイルXに対応するリコール日時1309として、記録される。このリコール日時1309に対応する履歴テーブルに、そのリコール日時1309と同じ日時を表す情報が追記される。
【0265】
同様に、図39Aに示すように、ファイルテーブルAにおける、ファイルXに対応するスタブ化日時1308が削除され、スタブ化日時1308に対応した履歴テーブルに、スタブ化日時1308が削除されたことを表す情報が追記される。また、このリコールが行われた日時を表す情報が、ファイルXに対応するリコール日時1309として、記録される。このリコール日時1309に対応する履歴テーブルに、そのリコール日時1309と同じ日時を表す情報が追記される。
【0266】
なお、ステップ7では、ファイルテーブルCにおける、ファイルXに対応した行は、ステップ6についての行(図38C参照)と同じである(変更されない)。
【0267】
図40Aは、図33のステップ8でのファイルテーブルAにおける、ファイルXに対応した行を示す。図40Bは、図33のステップ8でのファイルテーブルBにおける、ファイルXに対応した行を示す。図40Cは、図33のステップ8でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【0268】
マイグレーションパスの変更(ファイルシステムA -> ファイルシステムB -> ファイルシステムCのマイグレーションパスからファイルシステムBが削除されること)が行われたので、次のような更新が行われる。
【0269】
すなわち、図40Aに示すように、ファイルテーブルAの、ファイルXに対応した行において、マイグレーション先に関する情報1306及び1307が、マイグレーションパスの変更の前のマイグレーション先であるファイルシステムBに関する情報(ファイルストレージBのIPアドレス及びファイルシステムの名称)から、新しいマイグレーション先であるファイルシステムCに関する情報(ファイルストレージCのIPアドレス及びファイルシステムCの名称)に更新される。また、ファイルXのスタブのリンク先も、ファイルシステムBからファイルシステムCに変わったので(つまり、ファイルXのスタブが更新されたので)、ファイルテーブルAの、ファイルXに対応した行において、スタブ化日時1308も更新される。
【0270】
また、図40Bに示すように、ファイルテーブルBの、ファイルXに対応した行は、ステップ6での行(図38B参照)と同じである(変更されない)。その行から、マイグレーション元及びマイグレーション先に関する情報1304〜1307と、スタブ化日時1308は、削除されても良い。
【0271】
また、図40Cに示すように、ファイルテーブルCの、ファイルXに対応した行において、マイグレーション元に関する情報1306及び1307が、マイグレーションパスの変更の前のマイグレーション元であるファイルシステムBに関する情報(ファイルストレージBのIPアドレス及びファイルシステムの名称)から、新しいマイグレーション元であるファイルシステムAに関する情報(ファイルストレージAのIPアドレス及びファイルシステムAの名称)に更新される。
【0272】
図41Aは、図33のステップ9でのファイルテーブルAにおける、ファイルXに対応した行を示す。図41Bは、図33のステップ9でのファイルテーブルBにおける、ファイルXに対応した行を示す。図41Cは、図33のステップ9でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【0273】
ファイルシステムCが削除されるステップ9では、図41Aに示すように、ファイルテーブルAの、ファイルXに対応した行は、ステップ6での行(図38A参照)と同じである(変更されない)。
【0274】
また、図41Bに示すように、ファイルテーブルBにおける、ファイルXに対応するスタブ化日時1308が削除される。ファイルXがファイルシステムCからファイルシステムBへのリコールが行われるので、このリコールが行われた日時を表す情報が、ファイルXに対応するリコール日時1309として、記録される。更に、ファイルシステムCが削除されたので、マイグレーション先に関する情報1306及び1307が削除される。
【0275】
また、図41Cに示すように、ファイルテーブルCの、ファイルXに対応した行は、ステップ6での行(図38C参照)と同じである(変更されない)。その行から、マイグレーション元に関する情報1304〜1305は、削除されても良い。
【0276】
以上、本実施形態によれば、3以上のファイルストレージシステムを含んだファイルストレージシステムの構築が可能であり、それに伴い、中間ノードを含んだマイグレーションパスの構築が可能である。
【0277】
また、管理計算機105は、マイグレーションパステーブル755(ファイルストレージシステムにおける全てのマイグレーションパスの構成(流れ)を表す情報)を記憶する。さらに、管理計算機105は、マイグレーションパスの構成の変更(マイグレーションパスの追加、削除及び変更)の履歴を蓄積する。また、管理計算機105は、マイグレーションパステーブル775を基に、各ファイルストレージ101に、そのファイルストレージが有するファイルシステム(この段落において「対象ファイルシステム」)のマイグレーション先に関する情報(例えば、MGD IPアドレス1306、及び、MGD FS−name1307)を記憶させることができる。各ファイルストレージ101は、マイグレーション先に関する情報が表すマイグレーション先のファイルシステムに、対象ファイルシステムからファイルをマイグレーションすることができる。また、各ファイルストレージ101は、ファイル毎に、マイグレーション先(及びマイグレーション元)に関する情報の変更の履歴を蓄積する。管理計算機105は、管理計算機105及び各ファイルストレージが記憶している1以上のテーブル(履歴テーブルを含む)を基に、ユーザ指定のファイルストレージに格納されたことのあるファイルを調べることができる。
【0278】
以上、本発明の一実施形態を説明したが、これは、本発明の説明のための例示であって、本発明の範囲をこれらの実施形態のみに限定する趣旨ではない。すなわち、本発明は、他の種々の形態でも実施する事が可能である。例えば、管理計算機105が有する少なくとも1つの機能を、管理計算機105に代えて又は加えて、ファイルストレージシステムにおける少なくとも1つのファイルストレージ101が有していても良い。
【符号の説明】
【0279】
101…ファイルストレージ、103…ファイルシステム
【技術分野】
【0001】
本発明は、複数のファイルストレージ装置を有するファイルストレージシステムでの記憶制御に関する。
【背景技術】
【0002】
一般に、ファイルストレージシステムでは、2台のファイルストレージ装置(以下、ファイルストレージ)が1対1で対応付けられている(特許文献1)。第1のファイルストレージが、マイグレーション対象のファイルを、そのファイルストレージに対応付けられている第2のファイルストレージにマイグレーションし、且つ、マイグレーション対象ファイルのスタブを生成する。「スタブ」とは、ファイルの格納先情報(リンク先を表す情報)に関連付けられたオブジェクト(例えばメタデータ)である。第1のファイルストレージは、そのスタブに対応するファイルのリードコマンドをクライアントから受けた場合、そのスタブのリンク先に従うリードコマンドを、そのスタブに対応するファイルを有する第2のファイルストレージに送信する。それにより、第1のファイルストレージは、第2のファイルストレージから、そのスタブに対応するファイルを取得し、そのファイルを、クライアントに送信する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−164211号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述のマイグレーションにおいて、ファイルは、マイグレーションパスを経由して良い。マイグレーションパスを構成するノードは2つであり、各ノードは、記憶単位で良い。例えば、1つのノードは、第1のファイルストレージが管理するファイルシステムであり、もう1つのノードは、第2のファイルストレージが管理するファイルシステムで良い。
【0005】
クラウドストレージが知られている。クラウドストレージは、不特定多数の利用者にストレージの機能をネットワーク経由で提供するストレージシステムである。クラウドストレージシステムは、複数のファイルストレージで構成されていることがある。
【0006】
ファイルのマイグレーション元及びマイグレーション先の少なくとも一方としてクラウドストレージが採用される場合、ファイルストレージシステムが、3台以上のファイルストレージを有することがある。
【0007】
このファイルストレージシステムにおいて、マイグレーションパスのノードとして、両端のノード(2つのノード)の他に、中間のノードが必要になることがある。このようなマイグレーションパスによれば、3以上のファイルストレージが有する3以上のファイルシステムがカスケード状になっており、ファイルが、先端ノード(ファイルシステム)から末端ノード(ファイルシステム)へ中間ノード(ファイルシステム)を経由してマイグレーションされることになる。しかし、従来は、前述した通り、1対1で対応付けられた2台のファイルストレージのみで構成されている。このため、従来技術によれば、中間ノードを含んだマイグレーションパスを構築することは困難である。
【0008】
また、ファイルストレージシステムを構成するファイルストレージの数が多いほど、マイグレーションパスの構成が複雑であったり、マイグレーションパスの数が多かったりすると考えられる。それ故、ファイルストレージシステムの管理者の管理負担が大きいと考えられる。例えば、ファイルが過去にどのようなファイルストレージを経由したかを調べることは困難である。
【0009】
以上のような問題は、クラウドストレージを含むファイルストレージシステムに限らず、3以上のファイルストレージを含む他のファイルストレージシステムについても有り得る。
【0010】
本発明の目的は、3以上のファイルストレージシステムを含んだファイルストレージシステムについて、中間ノードを含んだマイグレーションパスの構築が可能であり、且つ、管理者の管理負担が軽減されるようにすることにある。
【課題を解決するための手段】
【0011】
ファイルストレージシステムが、3以上のファイルストレージと、前記3以上のファイルストレージに接続された管理計算機とを有する。
【0012】
管理計算機は、マイグレーションパスの構成を表すマイグレーションパス管理情報と、前記マイグレーションパスの構成の変更の履歴を表すパス履歴情報とを記憶する。マイグレーションパスは、カスケード状に並んだ3以上のファイル記憶単位を含むことができる。
【0013】
管理計算機は、マイグレーションパスの構成の変更が行われる都度に、マイグレーションパス管理情報を、変更後のマイグレーションパスの構成を表す情報に更新し、且つ、変更後のマイグレーションパスの構成を表す情報をパス履歴情報に追記する。
【0014】
ファイル記憶単位としては、種々の記憶単位が採用され得る。例えば、ファイル記憶単位として、ファイルストレージ装置が採用されても良いし、ファイルストレージ装置が有するファイルシステムが採用されても良い。ファイルシステムは、1以上の物理記憶デバイスを基に用意される。物理記憶デバイスは、ファイルストレージ装置の中にあっても良いし外にあっても良い。物理記憶デバイスは、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)であって良い。
【図面の簡単な説明】
【0015】
【図1】図1は、本発明の一実施形態に係るファイルストレージシステムの構成の一例の概要を示す。
【図2】図2Aは、マイグレーションパスの追加が行われる前の一例を示す。図2Bは、マイグレーションパスの追加が行われた後の一例を示す。
【図3】図3Aは、マイグレーションパスの削除が行われる前の一例を示す。図3Bは、ファイルストレージCがファイルストレージシステムから削除されるときに行われる処理の一例を示す。図3Cは、マイグレーションパスの削除が行われた後の一例を示す。
【図4】図4Aは、マイグレーションパスの変更が行われる前の一例を示す。図4Bは、マイグレーションパスの変更が行われた後の一例を示す。
【図5】図5は、本発明の一実施形態に係る計算機システムの構成例を示す。
【図6】図6Aは、ファイルストレージ101のハードウェア構成の一例を示す。図6Bは、管理計算機105のハードウェア構成の一例を示す。
【図7】図7Aは、ファイルストレージ101が有する管理情報及びコンピュータプログラムの一例を示す。図7Bは、管理計算機105が有する管理情報及びコンピュータプログラムの一例を示す。
【図8】図8は、管理ストレージテーブルの構成例を示す。
【図9】図9は、管理ファイルシステムテーブル773の構成例を示す。
【図10】図10は、マイグレーションパステーブル775の構成例を示す。
【図11】図11Aは、ユーザテーブル777の構成例を示す。図11Bは、権限テーブル779の構成例を示す。
【図12】図12は、個別ファイルシステムテーブル713の構成例を示す。
【図13】図13は、ファイルテーブル773の構成例を示す。
【図14】図14は、装置とテーブルの関係の一例を示す。
【図15】図15は、情報取得処理の流れの一例を示す。
【図16】図16は、情報取得プログラム753が行う処理の流れの一例を示す。
【図17】図17は、情報取得応答プログラム703が行う処理の流れの一例を示す。
【図18】図18は、マイグレーションパスの追加の流れの一例を示す。
【図19】図19は、パス追加指示プログラム759が行う処理の流れの一例を示す。
【図20】図20は、パス追加プログラム709が行う処理の流れの一例を示す。
【図21】図21は、マイグレーションプログラム701が行う処理の流れの一例を示す。
【図22】図22は、マイグレーションパスの削除の流れの一例を示す。
【図23】図23は、パス削除指示プログラム761が行う処理の流れの一例を示す。
【図24】図24は、パス削除プログラム711が行う処理の流れの一例を示す。
【図25】図25は、リコールプログラム705が行う処理の流れの一例を示す。
【図26】図26は、マイグレーションパス変更処理の流れの一例を示す。
【図27】図27Aは、パス変更指示プログラム757が行う処理の流れの一例の第1の部分を示す。図27Bは、パス変更指示プログラム757が行う処理の流れの一例の第2の部分を示す。
【図28】図28は、パス変更指示プログラム757が行う処理の流れの一例の残りの部分を示す。
【図29】図29は、パス変更プログラム707が行う処理の流れの一例を示す。
【図30】図30は、検索処理の流れの一例を示す。
【図31】図31は、検索プログラム755が行う処理の流れの一例を示す。
【図32】図32は、検索処理の1つの具体例を示す。
【図33】図33は、ファイルテーブル715の更新と履歴テーブルの更新とを説明するための具体例を示す。
【図34】図34Aは、図33のステップ1でのファイルテーブルA(ファイルストレージAが有するファイルテーブル715)における、ファイルXに対応した行を示す。図34Bは、図33のステップ2でのファイルテーブルAにおける、ファイルXに対応した行を示す。
【図35】図35Aは、図33のステップ3でのファイルテーブルAにおける、ファイルXに対応した行を示す。図35Bは、図33のステップ3でのファイルテーブルB(ファイルストレージBが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【図36】図36Aは、図33のステップ4でのファイルテーブルAにおける、ファイルXに対応した行を示す。図36Bは、図33のステップ4でのファイルテーブルBにおける、ファイルXに対応した行を示す。
【図37】図37Aは、図33のステップ5でのファイルテーブルAにおける、ファイルXに対応した行を示す。図37Bは、図33のステップ5でのファイルテーブルBにおける、ファイルXに対応した行を示す。
【図38】図38Aは、図33のステップ6でのファイルテーブルAにおける、ファイルXに対応した行を示す。図38Bは、図33のステップ6でのファイルテーブルBにおける、ファイルXに対応した行を示す。図38Cは、図33のステップ6でのファイルテーブルC(ファイルストレージCが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【図39】図39Aは、図33のステップ7でのファイルテーブルAにおける、ファイルXに対応した行を示す。図39Bは、図33のステップ7でのファイルテーブルBにおける、ファイルXに対応した行を示す。図39Cは、図33のステップ7でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【図40】図40Aは、図33のステップ8でのファイルテーブルAにおける、ファイルXに対応した行を示す。図40Bは、図33のステップ8でのファイルテーブルBにおける、ファイルXに対応した行を示す。図40Cは、図33のステップ8でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【図41】図41Aは、図33のステップ9でのファイルテーブルAにおける、ファイルXに対応した行を示す。図41Bは、図33のステップ9でのファイルテーブルBにおける、ファイルXに対応した行を示す。図41Cは、図33のステップ9でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【発明を実施するための形態】
【0016】
以下、図面を参照して、本発明の一実施形態を説明する。
【0017】
なお、以下の説明では「xxxテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「xxxテーブル」を「xxx情報」と呼ぶことができる。
【0018】
また、以下の説明では、要素(例えば、ファイルストレージ、マイグレーションパス、或いはファイルシステム)を特定するためにID(識別子)、名称、或いは番号が使用されるが、識別情報として、それらのうちの2以上の組合せが使用されても良いし、他種の情報が使用されても良い。
【0019】
また、以下の説明では、同種の要素を区別して説明する場合、要素名と参照符号との組合せに代えて、要素名と識別符号との組合せが使用されることがある。例えば、識別符号「A」のファイルストレージ101を、「ファイルストレージA」と表記することがある。
【0020】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、コントローラに含まれるプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インタフェース装置(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、ファイルストレージ、ファイルストレージが有するコントローラ、管理計算機、或いは、管理計算機が有するコントローラが行う処理としても良い。また、コントローラは、プロセッサに代えて又は加えて、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから各ファイルストレージ或いは管理計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ、又は、計算機が読み取り可能な記憶メディアであっても良い。
【0021】
また、管理計算機は、1以上の計算機で構成されて良い。具体的には、例えば、管理計算機が情報を表示する場合、或いは、管理計算機が表示用情報を遠隔の計算機に送信する場合、管理計算機は1つの計算機で構成されて良い。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機を含んで良い)が、管理計算機である。
【0022】
また、以下の説明では、「日時」という言葉を用いるが、日時は、年、付、日といった情報も指し示しても良く、当然ながら時、分、秒(小数点以下の秒を含んでも良い)を指し示しても良い。
【0023】
また、以下の説明では、同種の要素(例えば、ファイルストレージ、ファイルシステム)を区別しないで説明する場合は、参照符号を用いて説明し、同種の要素を区別して説明する場合は、参照符号に代えて識別符号を用いることがある。例えば、複数のファイルシステムを区別しない場合は、ファイルシステム103と言い、複数のファイルシステムを区別する場合は、ファイルシステムA、ファイルシステムBのように言うことがある。
【0024】
また、図面では、ファイルシステムという言葉は、「FS」と略記される。
【0025】
図1は、本発明の一実施形態に係るファイルストレージシステムの構成の一例の概要を示す。
【0026】
ファイルストレージシステムは、3以上のファイルストレージ101を含み、3以上のファイルストレージ101に、管理計算機105が接続される。各ファイルストレージ101は、1以上のファイルシステム103を有する。図1の例によれば、3以上のファイルストレージは、ローカルのファイルストレージA、プライベートクラウドストレージとしてのファイルストレージB、及び、パブリッククラウドストレージとしてのファイルストレージCを含む。ファイルストレージAは、ファイルシステムAを有し、ファイルストレージBは、ファイルシステムBを有し、ファイルストレージCは、ファイルシステムCを有する。
【0027】
ここで、「ファイルストレージ」は、ファイルを記憶するストレージ装置であり、例えば、NAS(Network
Attached Storage)である。1以上のファイルシステム103は、1以上の物理記憶デバイス(以下、PDEV)に基づく。PDEVは、例えば、HDD(Hard Disk Drive)或いはSSD(Solid State Drive)である。PDEVは、ファイルストレージの中にあっても外にあっても良い。本実施形態の説明において、「ファイルシステム」という言葉は、ファイルが格納される記憶空間という意味で用いられる。
【0028】
「ローカルのファイルストレージ」は、ユーザによって運用又は管理されるファイルストレージである。ローカルのファイルストレージは、ユーザ側の管理者が使用する管理計算機107によって個別に管理されて良い。
【0029】
「パブリッククラウドストレージ」は、ユーザとは異なる組織によって運用又は管理されるファイルストレージであり、一般に、不特定多数のユーザからインターネット経由でアクセスされることがある。パブリッククラウドストレージは、例えば、ユーザとは異なる組織に属する管理者が使用する管理計算機109によって個別に管理されて良い。
【0030】
「プライベートクラウドストレージ」は、ユーザと同じ組織によって運用又は管理されるファイルストレージである。
【0031】
本実施形態において、ファイル記憶単位(例えば、ファイルシステム103及び/又はファイルストレージ101)の追加、削減又は交換が行われることがある。それに伴い、マイグレーションパスの構成の変更、すなわち、マイグレーションパスの追加、削除又は変更が行われることがある。
【0032】
本実施形態では、「マイグレーションパス」は、両端のノードの他に、1以上の中間ノードを有することができる。従って、本実施形態では、マイグレーションパスは、カスケード状に並んだ3以上のノードを含むことができる。「ノード」として、種々の記憶単位(例えば、ファイルシステム、2以上のファイルシステムで構成されたファイルシステムグループ、ファイルストレージ、2以上のファイルストレージで構成されたストレージグループなど)を採用し得る。本実施形態では、ノードは、ファイルシステムである。マイグレーションパスを構成する複数のファイルシステムのうちの2以上のファイルシステムは、同一のファイルストレージに存在していても良い。例えば、第1のファイルシステムと第2のファイルシステムで1つのマイグレーションパスが構成されている場合、第1のファイルシステムと第2のファイルシステムは1つのファイルストレージが有していても良い。
【0033】
各ファイルストレージ101は、下記の機能:
(1)そのファイルストレージ101が有するファイルシステム103から、定期的又は不定期的に、マイグレーション対象のファイル(例えば、所定のマイグレーション条件に適合するファイル)を特定する;
(2)そのファイルシステム103に論理的に繋がっている終端側の次のファイルシステム(同一のマイグレーションパスにおける終端側の次のファイルシステム)に、特定されたファイルをマイグレーションする;
(3)マイグレーションされたファイルのスタブ(リンク先を上記次のファイルシステムとしたスタブ)を作成し、そのスタブを保持する、
を有する。
【0034】
管理計算機105は、前述したように、ファイルストレージシステムを構成する全てのファイルストレージ(図1の例によれば、ファイルストレージA、B及びC)に接続される。管理計算機105は、ファイルストレージシステムを管理する。具体的には、例えば、管理計算機105は、マイグレーションパスの構成の変更の履歴を表す情報(以下、マイグレーションパス履歴情報)を保持する。各ファイルストレージ101は、ファイルのマイグレーションの履歴(以下、ファイル履歴情報)を表す情報を保持する。管理計算機105は、検索条件の入力を受け、マイグレーションパス履歴情報と、ファイルストレージ101から取得される、ファイル履歴情報に基づく情報とを基に、入力された検索条件に該当する情報を探し、見つかった情報(検索結果)を出力することができる。
【0035】
以下、図2A〜図4Bを参照して、マイグレーションパスの追加、削除及び変更の一例を説明する。なお、以下の説明では、図1に示した通り、ファイルストレージAがファイルシステムAを有し、ファイルストレージBがファイルシステムBを有し、ファイルストレージCがファイルシステムCを有する。
【0036】
図2Aは、マイグレーションパスの追加が行われる前の一例を示す。図2Bは、マイグレーションパスの追加が行われた後の一例を示す。
【0037】
「マイグレーションパスの追加」とは、マイグレーションパスの終端のノード(ファイルシステム)に新たにノード(ファイルシステム)が追加されることである。これにより、新たに追加されたノードが、マイグレーションパスの終端となり、追加される前に終端であったノードが、マイグレーションパスの中間ノードとなる。
【0038】
具体的には、例えば、図2Aに示すように、クライアント201から送信されたファイルXを格納しているファイルシステムAがある。この状況では、ファイルストレージAにおいて、ファイルXの履歴情報として、ファイルXがファイルシステムAに格納されたという履歴を表す情報を含んだ情報がある。
【0039】
この状況において、ファイルシステムAにファイルシステムBが追加されたとする。その後、ファイルXが、ファイルシステムAからファイルシステムBにマイグレーションされ、ファイルストレージAにおいて、ファイルシステムBのファイルXをリンク先としたスタブが生成されたとする。この場合、ファイルストレージBが、ファイルシステムAからファイルシステムBへのマイグレーションパスをファイルXが経由したことを表す情報をファイルXの履歴情報に追加する。
【0040】
この後、図2Bに示すように、マイグレーションパスの追加が行われたとする。すなわち、終端ノードであるファイルシステムBに、新たにファイルシステムCが追加されたとする。これにより、終端ノードは、ファイルシステムBではなく、ファイルシステムCとなる。
【0041】
マイグレーションパスの追加が行われたという履歴を表す情報(ファイルシステムA及びBから成るマイグレーションパスの終端ノードとしてファイルシステムCが追加されたことを表す履歴情報)が、管理計算機105に追加される。
【0042】
その後、ファイルXが、ファイルシステムBからファイルシステムCにマイグレーションされ、ファイルストレージBにおいて、ファイルシステムCのファイルXをリンク先としたスタブが生成されたとする。この場合、ファイルストレージAで保持されているスタブのリンク先は、ファイルストレージBにおいて作成されたスタブである。また、ファイルストレージCが、ファイルシステムAからファイルシステムBを経由してファイルシステムCへと続くマイグレーションパスをファイルXが経由したことを表す情報をファイルXの履歴情報に追加する。
【0043】
ファイルXの履歴情報は、ファイルストレージA、B及びCが個別に保持する。ファイルXの履歴情報は、ファイルストレージ101毎に異なる。
【0044】
管理計算機105は、ファイルストレージA、B及びCから、ファイルXの履歴情報をそれぞれ取得し、それらの情報を基に、ファイルXが過去にどのような構成のマイグレーションパスを経由したかを特定することができる。例えば、管理計算機105は、ファイルXが経由するマイグレーションパスの構成要素が、ファイルシステムA及びBのみから、ファイルシステムA、B及びCに増えたことを特定できる。
【0045】
以上が、マイグレーションパスの追加の一例の概要である。マイグレーションパスの追加は、例えば、マイグレーションパスにおけるトータル容量追加を目的として行われて良い。なお、マイグレーションパスの途中(或るノードと別のノードとの間)に新たにノードが追加されることも、「マイグレーションパスの追加」であっても良い。
【0046】
図3Aは、マイグレーションパスの削除が行われる前の一例を示す。図3Bは、ファイルストレージCがファイルストレージシステムから削除されるときに行われる処理の一例を示す。図3Cは、マイグレーションパスの削除が行われた後の一例を示す。
【0047】
「マイグレーションパスの削除」とは、マイグレーションパスの終端のノード(ファイルシステム)がそのマイグレーションパスから削除されることである。これにより、その削除された終端ノードの直近にあったノードが、そのマイグレーションパスの新たな終端ノードとなる。
【0048】
具体的には、例えば、図3Aに示した状況(図2Bに示した状況と同じ状況)から、図3Bに示すように、ファイルストレージCがファイルストレージシステムから除去されるとする。
【0049】
この場合、ファイルシステムC内のファイルXのリコールが行われる。すなわち、ファイルXが、ファイルXがリンク先であるスタブを有するファイルストレージBが、ファイルXをファイルシステムCから読み出し、当該スタブを削除する。ファイルストレージBが、ファイルシステムAからファイルシステムBへのマイグレーションパスをファイルXが経由したことを表す情報をファイルXの履歴情報に追加する。
【0050】
管理計算機105は、ファイルストレージA、B及びCから、ファイルXの履歴情報をそれぞれ取得し、それらの情報を基に、ファイルXが経由するマイグレーションパスの構成要素が、ファイルシステムA、B及びCから、ファイルシステムA及びBのみ減ったことを特定できる。
【0051】
以上が、マイグレーションパスの削除の一例の概要である。マイグレーションパスの削除は、例えば、現在のマイグレーションパスの終端のファイルシステムを切り離し、データが移行されないようにするために行われて良い。これは、例えば、マイグレーションパスにおけるアクセス性能の改善を目的として行われて良い。図3A〜図3Cの例は、例えば、ファイルストレージCに問題があったためにファイルストレージCが撤去されたと想定することができる。この場合、管理者は、ファイルストレージCの識別情報をキーワード(検索条件)として管理計算機105に入力すれば、管理計算機105が、過去にファイルストレージCのファイルシステムに格納されていたファイルを、ファイルストレージCの存在しないファイルストレージシステムから特定することができる。検索についての詳細は、後述する。
【0052】
図4Aは、マイグレーションパスの変更が行われる前の一例を示す。図4Bは、マイグレーションパスの変更が行われた後の一例を示す。
【0053】
「マイグレーションパスの変更」とは、マイグレーションパスの中間ノード(ファイルシステム)がそのマイグレーションパスから削除されることである。
【0054】
具体的には、例えば、図4Aに示した状況(図2Bに示した状況と同じ状況)から、図4Bに示すように、ファイルストレージBがファイルストレージシステムから除去されるとする。
【0055】
この場合、ファイルストレージAが保持するスタブのリンク先が、ファイルストレージBが保持するスタブからファイルシステムC内のファイルXに変更される。また、ファイルストレージCが、ファイルシステムAからファイルシステムCへのマイグレーションパス(ファイルシステムBの無いマイグレーションパス)をファイルXが経由したことを表す情報を、ファイルXの履歴情報に追加する。なお、もし、ファイルシステムBにファイルXが格納されていれば、ファイルストレージAが、ファイルXのリコール(ファイルシステムBからファイルXを読み出すこと)を行う。その後、ファイルXは、ファイルシステムAからファイルシステムCにマイグレーションされる。なぜなら、ファイルシステムAのマイグレーション先のファイルシステムが、ファイルシステムBからファイルシステムCに変更されたからである。
【0056】
また、マイグレーションパスの変更後、ファイルYがファイルシステムAに格納された場合、ファイルストレージAが、ファイルシステムAにファイルYを格納したことを表す情報を、ファイルYの履歴情報に追加する。その後、ファイルYが、ファイルシステムAからファイルシステムCにマイグレーションされ、ファイルYのスタブがファイルストレージAに保持される。ファイルストレージCが、ファイルシステムAからファイルシステムCへのマイグレーションパス(ファイルシステムBの無いマイグレーションパス)をファイルYが経由したことを表す情報を、ファイルYの履歴情報に追加する。
【0057】
管理計算機105は、ファイルストレージA、B及びCから、ファイルXの履歴情報をそれぞれ取得し、それらの情報を基に、ファイルXが経由するマイグレーションパスの構成要素が、ファイルシステムA、B及びCからファイルシステムA及びCに変わったことを特定できる。
【0058】
以上が、マイグレーションパスの変更の一例の概要である。マイグレーションパスの変更は、現在のマイグレーションパスから中間ノードを抜き、ファイル(実データ)までのマイグレーション階層を少なくするために行われて良い。これは、アクセス性能向上を目的としたパス短縮の際や、ファイルストレージ101のリプレース時および障害発生時の切り離しの際に行われて良い。
【0059】
以下、本実施形態を詳細に説明する。
【0060】
図5は、本発明の一実施形態に係る計算機システムの構成例を示す。
【0061】
第1の通信ネットワーク501に、複数(又は1つ)のクライアント201と、1つのファイルストレージAとが接続されている。クライアント201は、計算機(例えばパーソナルコンピュータ)である。複数のファイルストレージ101のうち、ファイルストレージAが、クライアント201から、ファイルを指定したI/O(Input/Output)コマンド(例えばライトコマンド又はリードコマンド)を受信する。
【0062】
ファイルストレージAは、少なくとも1つの他のファイルストレージ101に接続されている。ファイルストレージAは、そのファイルストレージAが有するファイルシステムに格納されているファイルを、そのファイルシステムを含んだマイグレーションパスに従って、そのファイルシステムのマイグレーション先のファイルシステム(次のファイルシステム)にマイグレーションする(これは、他のファイルストレージ101についても同様である)。
【0063】
第2の通信ネットワーク503に、複数のファイルストレージ101及び管理計算機105が接続されている。管理計算機105は、第2の通信ネットワーク503を介して、ファイルストレージ101と通信することができる。
【0064】
図5に示した構成は一例である。全てのファイルストレージ101が、全てのクライアント201と通信可能であっても良い。或るファイルストレージ101は、他の全てのファイルストレージ101と通信可能であっても良い。また、或るファイルストレージ101は、特定のファイルストレージ101とのみ通信可能であっても良い。
【0065】
図6Aは、ファイルストレージ101のハードウェア構成の一例を示す。なお、以下の説明では、通信インタフェースデバイスを「I/F」と略記する。
【0066】
ファイルストレージ101は、I/Fと、記憶資源と、それらに接続されたコントローラとを有する。
【0067】
I/Fとしては、例えば、クライアント201と通信するためのI/F(C−I/F)611と、他のファイルストレージ101と通信するためのI/F(F−I/F)613と、管理計算機105と通信するためのI/F(M−I/F)609と、PDEV605と通信するためのI/F(P−I/F)607とがある。これらのI/Fのうちの2以上のI/Fは、一体となっていても良い。
【0068】
記憶資源は、例えば、メモリ603及び複数のPDEV605のうちの少なくとも1つを含む。
【0069】
コントローラは、CPU(Central Processing Unit)601を含む。コントローラは、CPU601が行う処理の一部を行うハードウェア回路を含んでも良い。
【0070】
図6Bは、管理計算機105のハードウェア構成の一例を示す。
【0071】
管理計算機105は、I/Fと、記憶資源と、入力デバイス657と、表示デバイス651と、それらに接続されたコントローラとを有する。
【0072】
I/Fは、例えば、ファイルストレージ101と通信するためのI/F(F−I/F)659である。
【0073】
記憶資源は、例えば、メモリ655及びPDEV661のうちの少なくとも1つを含む。
【0074】
入力デバイス657は、例えば、キーボード、ポインティングデバイス、及びマイクのうちの少なくとも1つで良い。表示デバイス651は、例えば、液晶ディスプレイであって良い。入力デバイス657と表示デバイス651は、一体(例えばタッチパネル式のディスプレイ)であっても良い。
【0075】
コントローラは、CPU653を含む。コントローラは、CPU653が行う処理の一部を行うハードウェア回路を含んでも良い。
【0076】
図7Aは、ファイルストレージ101が有する管理情報及びコンピュータプログラムの一例を示す。
【0077】
ファイルストレージ101の記憶資源は、コンピュータプログラムとして、例えば、下記のプログラム:
(*)ファイルのマイグレーションを行うためのマイグレーションプログラム701;
(*)情報を管理計算機105に送信するための情報取得応答プログラム703;
(*)ファイルのリコールを行うためのリコールプログラム705;
(*)マイグレーションパスの変更を行うためのパス変更プログラム707;
(*)マイグレーションパスの追加を行うためのパス追加プログラム709;及び
(*)マイグレーションパスの削除を行うためのパス削除プログラム711、
を記憶する。また、その記憶資源は、管理情報として、例えば、下記の情報:
(*)このファイルストレージ101が有するファイルシステムに関する情報を有する個別ファイルシステムテーブル713;
(*)このファイルストレージ101が有するファイルに関する情報を有するファイルテーブル715;及び
(*)テーブル713及び715が有する所定種類の情報の変更の履歴を表す履歴テーブル(図示せず)、
を記憶する。履歴テーブルとしては、例えば、ファイルシステムのマイグレーション先(ファイルシステム)及び/又はマイグレーション元(ファイルシステム)の変更の履歴を表す情報がある。
【0078】
図7Bは、管理計算機105が有する管理情報及びコンピュータプログラムの一例を示す。
【0079】
管理計算機105の記憶資源は、コンピュータプログラムとして、例えば、下記のプログラム:
(*)マイグレーションパスの変更を指示するためのパス変更指示プログラム757;
(*)マイグレーションパスの追加を指示するためのパス追加指示プログラム759;
(*)マイグレーションパスの削除を指示するためのパス削除指示プログラム761;
(*)ファイルストレージ101から管理情報の全部又は一部を取得するための情報取得プログラム753;及び
(*)情報の検索を行うための検索プログラム755、
を記憶する。また、その記憶資源は、管理情報として、例えば、下記の情報:
(*)複数のファイルストレージ101に関する情報を有する管理ストレージテーブル771;
(*)複数のファイルストレージ101が有する複数のファイルシステム103に関する情報を有する管理ファイルシステムテーブル773;
(*)マイグレーションパスに関する情報を有するマイグレーションパステーブル755;
(*)ユーザ(管理者)に関する情報を有するユーザテーブル777;
(*)権限に関する情報を有する権限テーブル779;及び
(*)テーブル771、773、775、777及び779が有する所定種類の情報の変更の履歴を表す履歴テーブル(図示せず)、
を記憶する。履歴テーブルとしては、少なくとも、マイグレーションパスの構成の変更の履歴を表す情報が、各マイグレーションパスについて存在する。
【0080】
以下、各種テーブルを説明する。なお、以下の説明では、適宜、ID或いは名称等を用いて要素(例えばファイルストレージ或いはファイルシステム)を言うことがある。
【0081】
図8は、管理ストレージテーブルの構成例を示す。
【0082】
管理ストレージテーブル771は、ファイルストレージシステムに含まれているファイルストレージ101毎に、下記の情報:
(*)ファイルストレージ101の識別情報(S−ID)801;
(*)ファイルストレージ101の名称を表す情報(S−name)802;
(*)ファイルストレージ101の製造番号を表す情報(シリアル番号)803;
(*)ファイルストレージ101のIPアドレスを表す情報(IPアドレス)804;
(*)ファイルストレージ101のMACアドレスを表す情報(MACアドレス)805;
(*)ファイルストレージ101が設置されているデータセンタの名称を表す情報(D−name)806;及び
(*)ファイルストレージ101が設置されている地理的な位置(例えば住所)を表す情報(Place)807、
を有する。
【0083】
管理計算機105は、前述した情報801〜807のうちの少なくとも1種類の情報について、履歴テーブル(情報の更新の履歴を表すテーブル)を有することができる。例えば、図8に例示する履歴テーブル811は、ファイルストレージ「st_0002」に対応するIPアドレス804の更新の履歴を表す履歴テーブル811によれば、例えば、下記のこと:
(*)現在のIPアドレス804「123.45.67.91」は、2010年10月1日の10時21分45秒に記録されたこと;及び、
(*)IPアドレス804が初めて記録されてから、2回、IPアドレス804が更新されたこと、
がわかる。
【0084】
なお、履歴テーブルの更新(履歴テーブルに新たな履歴を表す情報を追加すること)は、マイグレーションパスの構成の変更(マイグレーションパスの追加、削除及び変更)のタイミングで行なわれても良い。また、そのタイミングに代えて又は加えて、管理計算機105が、定期的(又は不定期的)に各ファイルストレージから情報を取得し、その取得した情報を基に、履歴テーブルを更新しても良い。これらのタイミングは、管理計算機105が有する全ての履歴テーブルのうちの少なくとも1つの履歴テーブルに適用可能である。
【0085】
図9は、管理ファイルシステムテーブル773の構成例を示す。
【0086】
管理ストレージテーブル773は、ファイルストレージシステムに含まれているファイルシステム103毎に、下記の情報:
(*)ファイルシステム103の識別情報(F−ID)901;
(*)ファイルシステム103を有するファイルストレージ101のS−ID902;
(*)ファイルシステム103の名称を表す情報(FS−name)903;
(*)ファイルシステム103の容量を表す情報(容量)904;
(*)ファイルシステム103の利用率(ファイルシステム103の容量に対する、データが占める容量の割合)を表す情報(利用率)905;
(*)ファイルシステム103が有するスタブ(スタブファイル)の数(スタブ数)を表す情報(スタブ数)906;
(*)ファイルシステム103の転送速度(ファイルシステム103に単位時間当たりに入出力されるデータの量)を表す情報(転送速度)907;
(*)ファイルシステム103に対する単位時間(例えば1秒)当りのI/Oコマンドの数を表す情報(IOPS)908;及び
(*)ファイルシステム103にファイルがリコールされたのべ数を表す情報(リコール数)909、
を有する。容量904について、「TB」は、テラバイトの略である。転送速度907について、「MB」は、メガバイトの略であり、「s」は、secondの略である。
【0087】
管理計算機105は、前述した情報901〜809のうちの少なくとも1種類の情報について、履歴テーブル(情報の更新の履歴を表すテーブル)を有することができる。図9には、一例として、容量904の更新の履歴を表す履歴テーブル911と、IOPS908の更新の履歴を表す履歴テーブル913とが示されている。例えば、図9に例示する履歴テーブル911は、ファイルシステム「fs_0003」に対応する容量904の更新の履歴を表す履歴テーブル911によれば、例えば、下記のこと:
(*)現在の容量904「10TB」は、2009年3月5日の21時3分12秒に記録されたこと;及び、
(*)容量904が初めて記録されてから、2回、容量904が更新されたこと、
がわかる。
【0088】
図10は、マイグレーションパステーブル775の構成例を示す。
【0089】
マイグレーションパステーブル775は、マイグレーションパス毎に、下記の情報:
(*)マイグレーションパスの識別情報(MP−ID)1001;
(*)マイグレーションパスの構成が変更された最近の日時を表す情報(更新日時)1002;及び
(*)マイグレーションパスを構成する全てのファイルシステム(N個のファイルシステム)の名称を表す情報(1st FS、2nd FS、…)1003−1、1003−2、…、
を有する。FS1003の数は、マイグレーションパスを構成するファイルシステムの数に依存する。
【0090】
管理計算機105は、マイグレーションパスの構成の変更(マイグレーションパスの追加、削除及び変更)の履歴テーブルを有する。例えば、図10に例示する履歴テーブル1011は、マイグレーションパス「mp_0000」の構成の変更の履歴を表す。履歴テーブル1011によれば、例えば、下記のこと:
(*)現在のマイグレーションパスの構成は、2010年10月3日の10時24分33秒に記録されたこと;
(*)最初は、ファイルシステム「FS0000」のみでマイグレーションパスが構成されていたこと;
(*)次に、マイグレーションパスの追加が行われ、それにより、マイグレーションパスの構成(流れ)が、ファイルシステム「FS0000」 -> ファイルシステム「FS0001」、になったこと;
(*)次に、更に、マイグレーションパスの追加が行われ、それにより、マイグレーションパスの構成(流れ)が、ファイルシステム「FS0000」 -> ファイルシステム「FS0001」 -> ファイルシステム「FS0002」、になったこと;及び
(*)次に、更に、マイグレーションパスの変更が行われ(中間ノードであるファイルシステム「FS0001」が抜かれ)、それにより、マイグレーションパスの構成(流れ)が、ファイルシステム「FS0000」 -> ファイルシステム「FS0002」、になったこと、
がわかる。「->」の左側は、マイグレーション元であり、「->」の右側は、マイグレーション先である。
【0091】
図11Aは、ユーザテーブル777の構成例を示す。
【0092】
ユーザテーブル777は、ユーザ(管理者)毎に、下記の情報:
(*)ユーザの識別情報(ユーザID)1101;
(*)ユーザの名称を表す情報(ユーザ名)1102;
(*)ユーザのパスワードを表す情報(パスワード)1103;
(*)ユーザの権限の名称を表す情報(権限名)1104;及び
(*)備考を表す情報(備考)1105、
を有する。備考1105は、ユーザの種類、すなわち、ファイルストレージシステム全体の管理者であるか、或いは、どのサイト(例えばデータセンタ)にあるファイルストレージの管理者であるかを表す。
【0093】
各サイトのユーザ(管理者)は、管理計算機105上の検索プログラム755を用いて検索を行うことができるが、ユーザの権限を調整することで、情報を取得できる範囲を限定することができる。また、図示しないが、情報1101〜1105のうちの少なくとも1種類の情報について履歴テーブル(情報の更新の履歴を表すテーブル)があっても良い。
【0094】
図11Bは、権限テーブル779の構成例を示す。
【0095】
権限テーブル779は、権限毎に、下記の情報:
(*)権限の識別情報(権限ID)1151;
(*)権限の名称を表す情報(権限名)1152;
(*)マイグレーションパステーブル775に関する制限を表す情報(マイグレーションパス)1153;
(*)管理ストレージテーブル771に関する制限を表す情報(ストレージ)1154;
(*)管理ファイルシステムテーブル773及び個別ファイルシステムテーブル713に関する制限を表す情報(FS)1155;及び
(*)ファイルテーブル773に関する制限を表す情報(ファイル)1155、
を有する。
【0096】
ここで、図示の「R1」は、テーブルそれ自体をユーザが参照可能か否かを表す。「Yes」は、テーブルの参照が可能であることを意味し、「No」は、テーブルの参照が不可能であることを意味する。
【0097】
図示の「R2」は、テーブルが有する情報の更新の履歴を表す履歴テーブルをユーザが参照可能か否かのフラグを表す。「Yes」は、履歴テーブルの参照が可能であることを意味し、「No」は、履歴テーブルの参照が不可能であることを意味する。
【0098】
図示の「操作」は、ユーザがテーブルを操作(例えば、情報の追加、削除及び変更)更新することが可能か否かを表す。「Yes」は、テーブルの操作が可能であることを意味し、「No」は、テーブルの操作が不可能であることを意味する。
【0099】
権限テーブル779によれば、どのような権限であればどのようなことが可能/不可能であるかがわかる。このテーブル779によれば、マイグレーションパスの構成の変更、及び、参照できる情報の範囲が制限される。ユーザは、そのユーザに付与された権限の範囲内でしか情報を検索することができない。
【0100】
図12は、個別ファイルシステムテーブル713の構成例を示す。なお、以下、図では、マイグレーション元という言葉が「MGS」と略記され、マイグレーション先という言葉が「MGD」と略記されることがある。
【0101】
個別ファイルシステムテーブル713は、このテーブル713を有するファイルストレージ101が有するファイルシステム103毎に、下記の情報:
(*)ファイルシステム103の識別情報(F−ID)1201;
(*)ファイルシステム103の名称を表す情報(FS−name)1202;
(*)ファイルシステム103の容量を表す情報(容量)1203;
(*)ファイルシステム103のマイグレーション元のファイルシステム103を有するファイルストレージ101のIPアドレスを表す情報(MGS IPアドレス)1204;
(*)ファイルシステム103のマイグレーション元のファイルシステム103の名称を表す情報(MGS FS−name)1205;
(*)ファイルシステム103のマイグレーション先のファイルシステム103を有するファイルストレージ101のIPアドレスを表す情報(MGD IPアドレス)1206;
(*)ファイルシステム103のマイグレーション先のファイルシステム103の名称を表す情報(MGS FS−name)1207;
(*)ファイルシステム103が有するスタブ(スタブファイル)の数(スタブ数)を表す情報(スタブ数)1208;
(*)ファイルシステム103の転送速度(ファイルシステム103に単位時間当たりに入出力されるデータの量)を表す情報(転送速度)1209;
(*)ファイルシステム103に対する単位時間(例えば1秒)当りのI/Oコマンドの数を表す情報(IOPS)1210;及び
(*)ファイルシステム103にファイルがリコールされたのべ数を表す情報(リコール数)1211、
を有する。
【0102】
マイグレーション元の情報(MGS IPアドレス1204及びMGS FS−name1205)が記録されていない行に対応するファイルシステム103は、マイグレーションパスの先端ノード(クライアント201からファイルが直接書き込まれるファイルシステム103)である。
【0103】
マイグレーション先の情報(MGD IPアドレス1206及びMGD FS−name1207)が記録されていない行に対応するファイルシステム103は、マイグレーションパスの終端ノードである。
【0104】
マイグレーション元の情報とマイグレーション先の情報の両方が記録されている行に対応するファイルシステム103は、マイグレーションパスにおける中間ノードである。
【0105】
ファイルストレージ101は、情報1201〜1211のうちの少なくとも1種類の情報について、情報の変更の履歴を表す履歴テーブルを有することができる。履歴テーブルの構成は、図8〜図10に示した履歴テーブル811、911、913及び1011と同様とすることができる。すなわち、その履歴テーブルは、履歴IDと更新日時と更新後の情報とを含んで良い。
【0106】
図13は、ファイルテーブル773の構成例を示す。
【0107】
ファイルテーブル773は、このテーブル773を有するファイルストレージ101が有するファイルシステムに格納されているファイル毎に、下記の情報:
(*)ファイルの識別情報(ファイルID)1301;
(*)ファイルを有するファイルシステム103の名称を表す情報(FS−name)1302;
(*)ファイルの容量(サイズ)を表す情報(容量)1303;
(*)ファイルのマイグレーション元のファイルシステム103を有するファイルストレージ101のIPアドレスを表す情報(MGS IPアドレス)1304;
(*)ファイルのマイグレーション元のファイルシステム103の名称を表す情報(MGS FS−name)1305;
(*)ファイルのマイグレーション先のファイルシステム103を有するファイルストレージ101のIPアドレスを表す情報(MGS IPアドレス)1306;
(*)ファイルのマイグレーション先のファイルシステム103の名称を表す情報(MGS FS−name)1307;
(*)ファイルがスタブとされた日時を表す情報(スタブ化日時)1308;及び
(*)ファイル(スタブファイル)についてリコールされた最新の日時を表す情報(リコール日時)1309、
を有する。
【0108】
マイグレーション元の情報(MGS IPアドレス1304及びMGS FS−name1305)が記録されていない行に対応するファイルは、マイグレーションパスの先端ノード(クライアント201からファイルが直接書き込まれるファイルシステム103)に格納されているファイルである。
【0109】
マイグレーション先の情報(MGD IPアドレス1306及びMGD FS−name1307)が登録されていない行に対応するファイルは、マイグレーションパスの終端ノードに格納されているファイルである。ファイル(この段落において「対象ファイル」)が格納されているファイルシステム(この段落において「対象ファイルシステム」)103がマイグレーション先のファイルシステム103でなくても、対象ファイルシステム103を含んだマイグレーションパスにおいて、対象ファイルシステム103に対してマイグレーション先のファイルシステム103が存在する場合には、対象ファイル(実体)に対応した行に、マイグレーション先の情報が記録される。
【0110】
スタブ化日時1308として日時が記録されている行に対応したファイルは、スタブファイルである。
【0111】
スタブファイル(この段落において「対象スタブファイル」)に対応したファイルのリコールが行われ、且つ、対象スタブファイルに対応したスタブ化日時1308(有効な日時(「-」ではない))が対象スタブファイルに対応する行に記録されている場合、スタブ化日時1308は消去され(無効な値「-」となり)、且つ、リコールされた日時が、リコール日時1309として、対象スタブファイルに対応する行に記録される。つまり、リコールにより、対象スタブファイルに代えてファイル(実体)が、対象スタブファイルを格納していたファイルシステムに格納される。
【0112】
ファイルストレージ101は、情報1301〜1309のうちの少なくとも1種類の情報について、情報の変更の履歴を表す履歴テーブルを有することができる。図12に示した情報1201〜1211のうちの少なくとも1種類の情報についての履歴テーブルの構成と同様とすることができる。
【0113】
図14は、装置とテーブルの関係の一例を示す。
【0114】
管理計算機105は、管理ストレージテーブル771、マイグレーションパステーブル775、管理ファイルシステムテーブル773、ユーザテーブル777及び権限テーブル779を有するが(○マーク)、ファイルテーブル715を有しない(×マーク)。管理計算機105は、ファイルストレージ101が有するファイルテーブル715が含む情報を取得する。
【0115】
ファイルストレージ101は、複数のファイルストレージ101のうち、そのファイルストレージ101に関する情報を有する(△マーク)。また、ファイルストレージ101は、マイグレーションパスのうち、そのファイルストレージ101が有するファイルシステム103と、そのファイルシステム103のマイグレーション元及びマイグレーション先とを表す情報(図12及び図13参照)を有する(▲マーク)。また、ファイルストレージ101は、そのファイルストレージ101が有するファイルシステムに関する情報(図12参照)を有する(△マーク)。また、ファイルストレージ101は、そのファイルストレージ101が有するファイルに関する情報(図13参照)を有する(○マーク)。ファイルストレージ101は、ユーザテーブル777及び権限テーブル779を有しない。
【0116】
図14によれば、検索対象により、応答するまでの処理が異なる。
【0117】
すなわち、検索対象が、ファイルストレージ、マイグレーションパス、ファイルシステム、ユーザ又は権限に関する情報の場合、検索プログラム755は、管理計算機105が有する1以上のテーブル(履歴テーブル含む)から、検索条件に適合する情報を特定し、特定した情報を出力(例えば表示)して良い。
【0118】
検索対象が、ファイルに関する情報の場合、検索プログラム755は、例えば、管理計算機105が有する1以上のテーブル(履歴テーブル)から、検索条件に適合するファイルストレージ101を特定し、特定したファイルストレージ101に、情報取得指示を送信する。検索プログラム755は、その指示に応答して取得された情報から、検索条件に適合するファイルに関する情報を特定し、特定した情報を出力(例えば表示)して良い。
【0119】
以下、本実施形態で行われる処理を説明する。
【0120】
図15は、情報取得処理の流れの一例を示す。図15〜図17では、情報をファイルストレージAから取得することが、例として採用されている。
【0121】
管理計算機105(情報取得プログラム753)が、情報取得応答プログラム703の実行指示(情報取得指示)を、情報取得元のファイルストレージAに送信する(矢印1501)。その実行指示を受けたファイルストレージAにおいて、情報取得応答プログラム703が実行される。すなわち、プログラム703は、その実行指示で指定されている種類の情報を、ファイルストレージA内の1以上のテーブル(履歴テーブルを含む)から取得し、取得した情報を、管理計算機105に応答する(矢印1502)。
【0122】
図16は、情報取得プログラム753が行う処理の流れの一例を示す。
【0123】
S1601で、情報取得プログラム753は、取得対象の情報を特定する。特定された情報は、管理計算機105のユーザ(管理者)から指定された情報であっても良いし、所定種類の情報であっても良い。特定される情報は、例えば、個別ファイルシステムテーブル713といった大きな単位の情報であっても良いし、個別ファイルシステムテーブル713における特定の行に記録されている情報といった小さな単位の情報であっても良い。
【0124】
S1602で、プログラム753は、ファイルストレージAに、情報取得応答プログラム703の実行指示を送信する。その実行指示は、S1601で特定された情報を識別するための情報を含む。
【0125】
S1603で、プログラム753は、S1602で送信した実行指示に対する応答が正常終了か否かを判断する。
【0126】
S1603の判断の結果が否定的の場合(S1603:No)、S1606で、プログラム753は、エラーログを出力(例えば表示)する。
【0127】
S1603の判断の結果が肯定的の場合(S1603:Yes)、S1604で、プログラム753は、情報が更新されたか否かを判断する。例えば、プログラム753は、応答として受信した情報と、その情報に対応する、テーブルに記録済みの情報とを比較し、それらの情報が異なっているか否かを判断する。
【0128】
S1604の判断の結果が肯定的の場合(S1604:No)、S1605で、プログラム753は、取得した情報をテーブルに登録し、且つ、その情報について履歴テーブルがあれば、取得した情報を履歴テーブルに追記する。例えば、プログラム753は、更新された情報が、ファイルストレージAが有するファイルシステムAの容量である場合、ファイルシステムAに対応する容量904を更新し、且つ、その容量904に対応した履歴テーブルに、最新の容量904と同じ情報、及び、更新日時などを追記する。
【0129】
図17は、情報取得応答プログラム703が行う処理の流れの一例を示す。
【0130】
S1701で、情報取得応答プログラム703は、情報取得プログラム753(管理計算機105)からの実行指示を受け、その実行指示で指定されている情報を、1以上のテーブル(履歴テーブル含む)から取得する。
【0131】
S1702で、プログラム703は、取得した情報をプログラム753(管理計算機105)に応答する。
【0132】
図18は、マイグレーションパスの追加の流れの一例を示す。図18〜図21では、マイグレーションパスにおけるノードが、ファイルストレージAが有するファイルシステムAのみである場合に、そのマイグレーションパスの終端ノードとして、ファイルストレージBが有するファイルシステムBが追加されることが、例として採用されている。
【0133】
管理計算機105において、パス追加指示プログラム759が、情報取得プログラム753を呼び出す。プログラム753が、情報取得応答プログラム703の実行指示(情報取得指示)を、ファイルシステムBが終端ノードとして追加される前の終端ノードであるファイルシステムAを有するファイルストレージAに送信する(矢印1801)。その実行指示を受けたファイルストレージAにおいて、情報取得応答プログラム703が実行される。すなわち、プログラム703は、その実行指示で指定されている種類の情報を、ファイルストレージA内の1以上のテーブル(履歴テーブルを含む)から取得し、取得した情報を、管理計算機105に応答する(矢印1802)。
【0134】
管理計算機105において、パス追加指示プログラム759が、応答の受信の成功を認識した場合、ファイルストレージA内のパス追加プログラム709の実行指示を送信する(矢印1803)。パス追加プログラム709は、その実行指示に従い、処理を実行し、パス追加指示プログラム759に処理結果を応答する(矢印1804)。
【0135】
図19は、パス追加指示プログラム759が行う処理の流れの一例を示す。
【0136】
S1901で、パス追加指示プログラム759は、入力デバイス657から、下記の情報要素:
(*)マイグレーションパスID(MP−ID);
(*)追加されるファイルシステムBの名称(FS−name);及び
(*)追加されるファイルシステムBを有するファイルストレージBのIPアドレス、
を含んだ入力情報を受ける。
【0137】
S1902で、プログラム759は、情報取得プログラム753を呼び出すことにより、マイグレーション元のファイルストレージAに、情報取得応答プログラム703の実行指示を送信する。
【0138】
S1903で、プログラム759は、マイグレーション元のファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0139】
S1903の判断の結果が肯定的であれば(S1903:Yes)、S1904で、プログラム759は、ファイルシステムBが終端ノードとして追加される前の終端ノードであるファイルシステムAを有するファイルストレージAに、パス追加プログラム709の実行指示を送信する。
【0140】
S1905で、プログラム759は、ファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0141】
S1905の判断の結果が肯定的であれば(S1905:Yes)、S1906で、プログラム759は、マイグレーションパステーブル775の更新、及び、履歴情報を履歴テーブルに追加することを行う。具体的には、例えば、プログラム759は、下記の処理:
(*)S1901で入力されたMP−IDに適合するMP−ID1001を含んだ行に、マイグレーションパスの追加後の終端ノードであるファイルシステムBのFS−name(2nd FS1003−2)を記録する;及び
(*)S1901で入力されたMP−IDに適合するMP−ID1001に対応した履歴テーブルに、履歴情報として、ファイルシステムA及びファイルシステムBの両方のFS−name(つまり、ファイルシステムA -> ファイルシステムB)と、更新日時とを追記する、
を行う。
【0142】
S1907で、プログラム759は、処理の実行結果(例えば、パス追加プログラム709から受けた応答が表す正常終了)を出力する。
【0143】
S1903又はS1905の判断の結果が否定的の場合(S1903:No、又は、S1905:No)、S1908で、プログラム759は、エラーログ(例えば、パス追加プログラム709からのエラーログ)を出力する。
【0144】
図20は、パス追加プログラム709が行う処理の流れの一例を示す。
【0145】
S2001で、パス追加プログラム709は、図19のS1904で送信された実行指示を受ける。実行指示は、例えば、下記の情報:
(20−1)マイグレーション元であるファイルシステムAの名称(FS−name);
(20−2)追加されるファイルシステムBの名称(FS−name);及び
(20−3)追加されるファイルシステムBを有するファイルストレージBのIPアドレス、
を含んでいる。
【0146】
S2002で、プログラム709は、マイグレーション先のファイルシステムBにアクセス可能か否かを判断する。具体的には、例えば、プログラム709は、ファイルストレージBのIPアドレスを基にファイルストレージBと通信できるか否かを判断する。
【0147】
S2002の判断の結果が否定的であれば(S2002:No)、プログラム709は、S2006で、エラーログを管理計算機105(パス追加指示プログラム759)に応答する。
【0148】
S2002の判断の結果が肯定的であれば(S2002:Yes)、プログラム709は、S2003で、個別ファイルシステムテーブル713を更新する。具体的には、例えば、プログラム709は、上記(20−1)と一致するMGS FS−name1205を含んだ行に、MGD IPアドレス1206及びMGD FS−name1207として、上記(20−2)及び(20−3)を記録する。また、例えば、プログラム709は、上記(20−1)と一致するMGS FS−name1205を含んだ行について、MGD IPアドレス1206(MGD FS−name1207)に対応した履歴テーブルに、上記(20−2)((20−3))を追記して良い。
【0149】
S2004で、プログラム709は、マイグレーションプログラム701を実行する。なお、マイグレーションプログラム701の実行は、マイグレーションパスの追加が終わった後、所定のイベントが発生したとき、或いは、一定時間経過後に行われても良い。
【0150】
S2005で、プログラム709は、正常終了を管理計算機105(パス追加指示プログラム759)に応答する。
【0151】
図21は、マイグレーションプログラム701が行う処理の流れの一例を示す。
【0152】
S2101で、マイグレーションプログラム701は、マイグレーション元のファイルシステムA(マイグレーションパスの追加後の終端ノードの直近のノード)に対応するMGD IPアドレス1206及びMGD FS−name1207を特定する。これにより、マイグレーション先としてファイルシステムBが特定される。
【0153】
S2102で、プログラム701は、ファイルシステムA内のファイルをマイグレーション先のファイルシステムBへマイグレーション可能か否かを判断する。具体的には、例えば、プログラム701は、ファイルストレージBのIPアドレスを基にファイルストレージBと通信できるか否かを判断する。
【0154】
S2102の判断の結果が肯定的であれば(S2102:Yes)、S2103で、プログラム701は、ファイルシステムA内のファイル(実体)をファイルシステムBにコピーする。ファイルシステムA内の全てのファイルがコピーされても良いし、それらのファイルのうち所定の条件に適合するファイルのみ(例えば、アクセス頻度が所定値未満のファイルのみ)がコピーされても良い。
【0155】
S2104で、プログラム701は、コピーに成功したか否かを判断する。
【0156】
S2104の判断の結果が肯定的であれば(S2104:Yes)、S2105で、プログラム701は、例えば、下記の処理:
(*)コピーされたファイル(ファイルシステムA内のファイル)をスタブに変換する;
(*)コピーされたファイルに対応するスタブ化日時1308を、スタブに変換したときの日時を表す情報に更新する;及び
(*)そのスタブ化日時1308に対応する履歴テーブルに、更新後のスタブ化日時1308を表す履歴情報を追記する、
を行う。
【0157】
S2102又はS2104の判断の結果が否定的であれば(S2102:No、又は、S2104:No)、プログラム701は、S2106で、エラーログを出力する。この場合、例えば、図20のS2005では、正常終了に代えて異常終了が応答されて良い。
【0158】
なお、ファイルストレージAのファイルテーブル715に、ファイルシステムA内の全てのファイル(或いはコピーされたファイル)に対応するMGD IPアドレス1306及びMGD FS−name1307として、ファイルシステムAに対応するMGD IPアドレス1206及びMGD FS−name1207と同じ情報が記録されて良い。それらの情報が記録されるタイミングは、任意のタイミング(例えば、図20のS2003、或いは、図21のS2105)で良い。
【0159】
図22は、マイグレーションパスの削除の流れの一例を示す。図22〜図25では、マイグレーションパスにおける終端ノードが、ファイルストレージBが有するファイルシステムBであり、そのファイルシステムBのマイグレーション元が、ファイルストレージAが有するファイルシステムBであることが、例として採用されている。
【0160】
管理計算機105において、パス削除指示プログラム761が、情報取得プログラム753を呼び出す。プログラム753が、情報取得応答プログラム703の実行指示(情報取得指示)を、削除されるファイルシステムBのマイグレーション元のファイルシステムAを有するファイルストレージAに送信する(矢印2201)。その実行指示を受けたファイルストレージAにおいて、情報取得応答プログラム703が実行される。すなわち、プログラム703は、その実行指示で指定されている種類の情報を、ファイルストレージA内の1以上のテーブル(履歴テーブルを含む)から取得し、取得した情報を、管理計算機105に応答する(矢印2202)。
【0161】
管理計算機105において、パス削除指示プログラム761が、応答の受信の成功を認識した場合、ファイルストレージA内のパス削除プログラム711の実行指示を送信する(矢印2203)。パス削除プログラム711は、その実行指示に従い、処理を実行し、パス削除指示プログラム761に処理結果を応答する(矢印2204)。
【0162】
図23は、パス削除指示プログラム761が行う処理の流れの一例を示す。
【0163】
S2301で、パス削除指示プログラム761は、入力デバイス657から、下記の情報要素:
(*)マイグレーションパスID(MP−ID);
(*)リコールを実行するか否かを表す情報;
(*)削除されるファイルシステムBの名称(FS−name);及び
(*)削除されるファイルシステムBを有するファイルストレージBのIPアドレス、
を含んだ入力情報を受ける。なお、削除されるファイルシステムBからそのマイグレーション元であるファイルシステムAへのファイルのリコールは必ず行われても良く、その場合、リコールを実行するか否かを表す情報は不要で良い。
【0164】
S2302で、プログラム761は、情報取得プログラム753を呼び出すことにより、リコール先であるファイルストレージAに、情報取得応答プログラム703の実行指示を送信する。
【0165】
S2303で、プログラム761は、リコール先のファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0166】
S2303の判断の結果が肯定的であれば(S2303:Yes)、S2304で、プログラム761は、ファイルシステムBが削除されることで新たな終端ノードになることになるファイルシステムAを有するファイルストレージAに、パス削除プログラム711の実行指示を送信する。
【0167】
S2305で、プログラム761は、ファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0168】
S2305の判断の結果が肯定的であれば(S2305:Yes)、S2306で、プログラム761は、マイグレーションパステーブル775の更新、及び、履歴情報を履歴テーブルに追加することを行う。具体的には、例えば、プログラム761は、下記の処理:
(*)S2301で入力されたMP−IDに適合するMP−ID1001を含んだ行から、ファイルシステムBのFS−nameを削除する;及び
(*)S2301で入力されたMP−IDに適合するMP−ID1001に対応した履歴テーブルに、履歴情報として、ファイルシステムAのみのFS−name(つまり、マイグレーションパスのノードがファイルシステムAのみであること)と、更新日時とを追記する、
を行う。
【0169】
S2307で、プログラム761は、処理の実行結果(例えば、パス削除プログラム711から受けた応答が表す正常終了)を出力する。
【0170】
S2303又はS2305の判断の結果が否定的の場合(S2303:No、又は、S2305:No)、S2308で、プログラム761は、エラーログ(例えば、パス削除プログラム711からのエラーログ)を出力する。
【0171】
図24は、パス削除プログラム711が行う処理の流れの一例を示す。
【0172】
S2401で、パス削除プログラム711は、図23のS2304で送信された実行指示を受ける。実行指示は、例えば、下記の情報:
(24−1)リコール先であるファイルシステムAの名称(FS−name);
(24−2)追加されるファイルシステムBの名称(FS−name);
(24−3)追加されるファイルシステムBを有するファイルストレージBのIPアドレス;及び
(24−4)リコールを実行するか否かを表す情報、
を含んでいる。
【0173】
S2402で、プログラム711は、上記(24−4)がリコールを実行することを表しているか否かを判断する。
【0174】
S2402の判断の結果が否定的であれば(S2402:No)、プログラム711は、S2403で、個別ファイルシステムテーブル713を更新する。具体的には、例えば、プログラム711は、上記(24−1)と一致するMGS FS−name1205を含んだ行から、上記(24−2)及び(24−3)と一致するMGD IPアドレス1206及びMGD FS−name1207を削除する。また、例えば、プログラム711は、上記(24−1)と一致するMGS FS−name1205を含んだ行について、MGD IPアドレス1206(MGD FS−name1207)に対応した履歴テーブルに、上記(24−2)((24−3))を削除した旨を追記して良い。
【0175】
S2404で、プログラム711は、正常終了を管理計算機105(パス削除指示プログラム761)に応答する。
【0176】
S2402の判断の結果が肯定的であれば(S2402:Yes)、プログラム711は、S2405で、リコールプログラム705を実行する。
【0177】
S2406で、プログラム711は、リコールが失敗したか否かを判断する。
【0178】
S2406の判断の結果が否定的であれば(S2406:No)、S2403が行われる。
【0179】
S2406の判断の結果が肯定的であれば(S2406:Yes)、プログラム711は、エラーログを管理計算機105(パス削除指示プログラム761)に応答する。
【0180】
図25は、リコールプログラム705が行う処理の流れの一例を示す。
【0181】
S2501で、リコールプログラム705は、個別ファイルシステムテーブル713から、リコール元のファイルシステムB(マイグレーションパスの終端ノード)のIPアドレス及びFS−nameに適合するMGD IPアドレス1206及びMGD FS−name1207を特定する。
【0182】
S2502で、プログラム705は、ファイルシステムBからファイルシステムAへのファイルのマイグレーション(リコール)が可能か否かを判断する。具体的には、例えば、プログラム705は、ファイルストレージBのIPアドレスを基にファイルストレージBと通信できるか否かを判断する。
【0183】
S2502の判断の結果が肯定的であれば(S2502:Yes)、S2503で、プログラム705は、ファイルシステムAが有するスタブのリンク先でありファイル(ファイルシステムB内のファイル)をファイルシステムAにコピーする。具体的には、例えば、プログラム705は、以下の処理:
(S2503−1)ファイルシステムAが有するスタブを特定する(例えば、S2501で特定されたMGD IPアドレス1206及びMGD FS−name1207に一致するMGD IPアドレス1305及びMGD FS−name1306を含んだ行であって、スタブ化日時1308が記録されている行を、ファイル715から特定する);及び
(S2503−2)特定された行に対応するスタブのリンク先のファイルを読み出す、
を行う。以下、その特定された行に対応するスタブ(リコール先のファイルシステムAについてのスタブ)を、図25の説明において「対象スタブ」と言う。
【0184】
S2504で、プログラム705は、コピーに成功したか否かを判断する。
【0185】
S2504の判断の結果が肯定的であれば(S2504:Yes)、S2505で、プログラム705は、例えば、下記の処理:
(S2504−1)コピーされたファイルを基に対象スタブを変換する(例えば、コピーされたファイルが、実体としてのファイルであれば、対象スタブを削除し、コピーされたファイルが、スタブであれば、対象スタブが表すリンク先を、コピーされたスタブが表すリンク先に更新する);
(S2504−2)S2504−1でコピーされたファイルが実体としてのファイルであれば、対象スタブに対応するスタブ化日時1308を削除し、S2504−1でコピーされたファイルがスタブであれば、対象スタブに対応するスタブ化日時1308を、別のスタブがコピーされた日時を表す情報に更新する;及び
(*)対象スタブに対応するスタブ化日時1308に対応する履歴テーブルに、更新後のスタブ化日時1308を表す履歴情報(例えば、スタブ化日時1308の削除、更新後のスタブ化日時1308)を追記する、
を行う。リコールプログラム705は、マイグレーションパスの削除の場合だけでなく、マイグレーションパスの変更の場合にも実行されることがある。マイグレーションパスの削除の場合には、対象スタブのリンク先は、実体としてファイルであり、スタブであることは無い。
【0186】
S2502又はS2504の判断の結果が否定的であれば(S2502:No、又は、S2504:No)、プログラム705は、S2506で、エラーログを出力する。
【0187】
なお、このマイグレーションパスの削除において、ファイルストレージAのファイルテーブル715から、対象スタブに対応するMGD IPアドレス1306及びMGD FS−name1307が削除されて良い。
【0188】
図26は、マイグレーションパス変更処理の流れの一例を示す。図26〜図29では、ファイルシステムA -> ファイルシステムB -> ファイルシステムCというマイグレーションパスからファイルシステムBが削除されることが、例として採用されている。
【0189】
管理計算機105において、パス変更指示プログラム757が、情報取得プログラム753を呼び出す。プログラム753が、情報取得応答プログラム703の実行指示(情報取得指示)を、マイグレーションパスから削除されるファイルシステムBを有するファイルストレージBと、ファイルシステムBのマイグレーション元であるファイルシステムAを有するファイルストレージAと、ファイルシステムBのマイグレーション先であるファイルシステムCを有するファイルストレージCとに送信する(矢印2601、2603及び2605)。それらの応答(矢印2602、2604及び2606)から成功が認識された場合に、処理が進む。なお、ファイルストレージA〜Cへの実行指示は、一斉に送信されても良いし、逐次に送信されても良い。送信先は、マイグレーションパスの流れに沿って変更されて良い。具体的には、例えば、まず、実行指示がファイルストレージAに送信され(矢印2601)、その応答(矢印2602)から成功が認識された場合に、実行指示がファイルストレージBに送信され(矢印2603)、その応答(矢印2604)から成功が認識された場合に、実行指示がファイルストレージCに送信され(矢印2605)、その応答(矢印2606)から成功が認識された場合に、処理が進んで良い。
【0190】
処理が進むと、管理計算機105において、パス変更指示プログラム757が、ファイルストレージCとの通信が可能な否かを判断することの実行指示をファイルストレージAに送信する(矢印2607)。ファイルストレージAが、その実行指示に従い、ファイルストレージCと通信可能か否かを判断し、判断の結果を管理計算機105(パス変更指示プログラム757)に応答する(矢印2608)。ここで、ファイルストレージCは、削除されるファイルシステムBのマイグレーション先であるファイルシステムCを有するファイルストレージであり、削除されるファイルシステムBは、ファイルシステムAのマイグレーション先である。
【0191】
ファイルストレージAからの応答が肯定的な判断結果を表している場合、管理計算機105において、パス変更指示プログラム757が、ファイルストレージAからファイルを受けることが可能か否かを判断することの実行指示をファイルストレージCに送信する(矢印2609)。ファイルストレージCが、その実行指示に従い、ファイルストレージAからファイルを受けることが可能か否か(例えばファイルストレージAと通信可能な否か)を判断し、判断の結果を管理計算機105(パス変更指示プログラム757)に応答する(矢印2610)。矢印2607の実行指示よりも前に矢印2609の実行指示が送信されても良い。
【0192】
ファイルストレージC(及びファイルストレージA)からの応答が肯定的な判断結果を表している場合、パス変更指示プログラム757は、ファイルストレージBのリコールプログラム705に、ファイルシステムAに関わるスタブのリンク先となっているファイルをファイルシステムBからファイルシステムAにリコールすることの実行指示を送信する(矢印2611)。
【0193】
パス変更指示プログラム757は、リコールの実行指示に対する応答(矢印2612)から成功を認識したならば、パス変更プログラム707の実行指示をファイルストレージAに送信する(矢印2613)。パス変更指示プログラム757は、その実行指示に対する応答(矢印2614)から成功を認識した場合、パス変更プログラム707の実行指示をファイルストレージCに送信する(矢印2615)。その実行指示に対する応答(矢印2616)から成功が認識された場合、処理が終了となる。ファイルストレージA及びCには、パス変更プログラム707の実行指示が一斉に送信されても良い。
【0194】
図27A、図27B及び図28は、パス変更指示プログラム757が行う処理の流れの一例を示す。
【0195】
S2701で、パス削除指示プログラム757は、入力デバイス657から、下記の情報要素:
(27−1)マイグレーションパスID(MP−ID);
(27−2)リコールを実行するか否かを表す情報;
(27−3)削除されるファイルシステムBの名称(FS−name);及び
(27−4)削除されるファイルシステムBを有するファイルストレージBのIPアドレス、
を含んだ入力情報を受ける。なお、削除されるファイルシステムBからそのマイグレーション元であるファイルシステムAへのファイルのリコールは必ず行われても良く、その場合、リコールを実行するか否かを表す情報は不要で良い。
【0196】
全ての検索対象ストレージについて、S2703及びS2704(以下、ループK)が行われる。図27Aの説明における「検索対象ストレージ」とは、削除されるファイルシステムBのマイグレーション元を有する全てのファイルストレージである。このため、本例によれば、検索対象ストレージはファイルストレージAである。
【0197】
S2702で、プログラム757は、情報取得プログラム753を呼び出すことにより、ファイルストレージAに、情報取得応答プログラム703の実行指示を送信する。
【0198】
S2703で、プログラム757は、ファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0199】
全ての検索対象ストレージについて、S2703の判断の結果が肯定的であれば、ループKが終了し、図27BのS2707が行われる。一方、少なくとも1つの検索対象ストレージについて、S2704の判断の結果が否定的であれば(S2704:No)、S2706で、プログラム757は、エラーログを出力する。
【0200】
図27Bに示すように、S2707で、プログラム757は、ファイルストレージCとの通信が可能な否かを判断することの実行指示をファイルストレージAに送信する。この実行指示の送信先であるファイルストレージAは、削除されるファイルシステムBのマイグレーション元であるファイルシステムAを有するファイルストレージ101である。
【0201】
S2708で、プログラム757は、S2707で送信された実行指示に対する応答が正常終了を表しているか否かを判断する。
【0202】
S2708の判断の結果が肯定的であれば(S2708:Yes)、S2709で、プログラム757が、ファイルストレージAからファイルを受けることが可能か否かを判断することの実行指示をファイルストレージCに送信する。この実行指示の送信先であるファイルストレージCは、削除されるファイルシステムBのマイグレーション先であるファイルシステムCを有するファイルストレージ101である。
【0203】
S2710で、プログラム757は、S2709で送信された実行指示に対する応答が正常終了を表しているか否かを判断する。
【0204】
S2710の判断の結果が肯定的であれば(S2710:Yes)S2711で、プログラム757は、上記(27−2)がリコールを実行することを表しているか否かを判断する。
【0205】
S2711の判断の結果が肯定的であれば(S2711:Yes)、S2712で、プログラム757は、S2405で、ファイルストレージB内のリコールプログラム705を実行する。
【0206】
S2713で、プログラム757は、リコールが失敗したか否かを判断する。
【0207】
S2708又はS2710の判断の結果が否定的であれば(S2708:No、又は、S2710:No)、又は、S2713の判断の結果が肯定的であれば(S2713:Yes)、プログラム757は、エラーログを出力する。
【0208】
S2713又はS2711の判断の結果が否定的であれば(S2713:No、又は、S2711:No)、図28に示すS2801が行われる。
【0209】
図28に示すように、S2801で、プログラム757は、削除されるファイルシステムBのマイグレーション元であるファイルシステムAを有するファイルストレージAに、パス変更プログラム707の実行指示を送信する。
【0210】
S2802で、プログラム757は、ファイルストレージAからの応答が正常終了を表しているか否かを判断する。
【0211】
S2802の判断の結果が肯定的であれば(S2802:Yes)、S2803で、プログラム757は、削除されるファイルシステムBのマイグレーション先であるファイルシステムCを有するファイルストレージCに、パス変更プログラム707の実行指示を送信する。
【0212】
S2804で、プログラム757は、ファイルストレージCからの応答が正常終了を表しているか否かを判断する。
【0213】
S2804の判断の結果が肯定的であれば(S2804:Yes)、S2805で、プログラム757は、マイグレーションパステーブル775の更新、及び、履歴情報を履歴テーブルに追加することを行う。具体的には、例えば、プログラム757は、下記の処理:
(*)S2701で入力されたMP−IDに適合するMP−ID1001を含んだ行について、ファイルシステムBのFS−nameを削除し、ファイルシステムBより後段(下流側)の各ファイルシステム(この例によればファイルシステムCのみ)のFS−nameの位置を、1つ前段(上流側)にシフトする;及び
(*)S2701で入力されたMP−IDに適合するMP−ID1001に対応した履歴テーブルに、履歴情報として、構成の変更後のマイグレーションパス(ファイルシステムA -> ファイルシステムC)を表す情報と、更新日時とを追記する、
を行う。
【0214】
S2806で、プログラム757は、処理の実行結果(例えば、パス変更プログラム707から受けた応答が表す正常終了)を出力する。
【0215】
S2802又はS2804の判断の結果が否定的の場合(S2802:No、又は、S2804:No)、S2807で、プログラム757は、エラーログ(例えば、パス変更プログラム707からのエラーログ)を出力する。
【0216】
図29は、パス変更プログラム707が行う処理の流れの一例を示す。
【0217】
S2901で、パス変更プログラム707は、図28のS2801又はS2803で送信された実行指示を受ける。実行指示は、例えば、下記の情報:
(29−1)削除されるファイルシステムBの名称(FS−name);
(29−2)マイグレーション元又はマイグレーション先であるファイルシステム(ファイルシステムA又はC)の名称(FS−name);
(29−3)マイグレーション元又はマイグレーション先であるファイルシステムを有するファイルストレージ(ファイルストレージA又はC)のIPアドレス;及び
(29−4)上記(29−2)及び(29−3)がマイグレーション元とマイグレーション先のどちらであるかを表す情報、
を含んでいる。
【0218】
S2902で、プログラム707は、上記(29−4)がマイグレーション先を表しているか否かを判断する。
【0219】
S2902の判断の結果が肯定的であれば(S2902:Yes)、プログラム707は、個別ファイルシステムテーブル713における、上記(29−1)と一致するMGD FS−name1207と、それに対応するMGD IPアドレス1206とを、上記(29−2)及び(29−3)に変更する。この例によれば、このS2902により、ファイルストレージAにおいて、ファイルストレージAのマイグレーション先が、ファイルシステムBからファイルシステムCに変わる。
【0220】
S2902の判断の結果が否定的であれば(S2902:No)、プログラム707は、個別ファイルシステムテーブル713における、上記(29−1)と一致するMGS FS−name1205と、それに対応するMGS IPアドレス1204とを、上記(29−2)及び(29−3)に変更する。この例によれば、このS2902により、ファイルストレージCにおいて、ファイルストレージCのマイグレーション元が、ファイルシステムBからファイルシステムAに変わる。
【0221】
S2905で、プログラム707は、正常終了を管理計算機105(パス変更指示プログラム757)に応答する。
【0222】
図30は、検索処理の流れの一例を示す。
【0223】
検索プログラム755が、検索条件の入力を受け、その検索条件に該当する情報を、管理計算機105内の1以上のテーブル(履歴テーブルを含む)、及び/又は、1以上のファイルストレージ101(例えば、入力された検索条件に関わるファイルストレージ)から取得される情報から、検索する。ファイルストレージ101から情報を取得するために、検索プログラム755は、情報取得プログラム753を呼び出し、そのプログラム753が、情報の取得元のファイルストレージに、情報取得応答プログラム703の実行指示を送信する。図30の例によれば、ファイルストレージA及びBに実行指示が送信され(矢印3001及び3003)、ファイルストレージA及びBから情報が応答される(矢印3002及び3004)。
【0224】
図31は、検索プログラム755が行う処理の流れの一例を示す。
【0225】
S3101で、検索プログラム755は、入力デバイス657から下記の情報要素:
(31−1)検索対象項目;及び
(31−2)検索対象ストレージ、
を含んだ検索条件を受ける。検索対象ストレージは、1つのファイルストレージであっても良いし、ファイルストレージシステム内の2以上のファイルストレージであっても良い。また、検索対象ストレージは必ずしも無くても良い。
【0226】
S3102で、プログラム755は、管理計算機105内の1以上のテーブル(履歴テーブルを含む)から、検索条件を基に情報の検索を行う。
【0227】
S3103で、プログラム755は、上記(31−1)がファイルを表しているか否かを判断する。
【0228】
S3103の判断の結果が否定的であれば(S3103:No)、S3104で、プログラム755は、実行結果(例えば、S3102で見つかった情報)を出力(例えば表示)する。
【0229】
S3103の判断の結果が肯定的であれば(S3103:Yes)、S3105で、プログラム755は、検索対象ストレージ及びそのストレージに関わるファイルストレージを特定し、特定された各ファイルストレージの情報(例えばIPアドレス)を管理ストレージテーブル711から取得する。
【0230】
S3105で特定された全てのファイルストレージ(図32の説明において「特定ストレージ」)について、S3107及びS3108が行われる(ループM)。
【0231】
S3107で、プログラム755は、情報取得プログラム753を実行し、それにより、特定ストレージ内の情報取得応答プログラム703への実行指示が送信される。
【0232】
S3108で、プログラム755は、その実行指示に対する応答が正常終了を表しているか否かを判断する。
【0233】
少なくとも1つの特定ストレージについて、S3108の判断の結果が否定的であれば(S3108:No)、ループMが終了し、S3111で、プログラム755が、エラーログを出力(例えば表示)する。
【0234】
全ての特定ストレージについて、S3108の判断の結果が肯定的であれば(S3108:Yes)、ループMが終了し、S3110で、プログラム755が、実行結果(例えば、取得荒れた情報のうち、入力された検索条件に適合する情報)を出力(例えば表示)する。
【0235】
図32は、検索処理の1つの具体例を示す。例えば、図32の検索処理の前に、ファイルシステムA -> ファイルシステムB -> ファイルシステムC -> ファイルシステムDというマイグレーションパスから、ファイルストレージBが撤去されたことにより、マイグレーションパスの変更が行われたとする。また、ファイルストレージAがファイルシステムAを有し、ファイルストレージBがファイルシステムBを有し、ファイルストレージCがファイルシステムCを有し、ファイルストレージDがファイルシステムDを有するとする。
【0236】
S3201で、検索プログラム755が、検索条件を受ける。検索条件において、検索対象項目は、ファイルを表し、検索対象ストレージは、ファイルストレージBの識別情報を表す。つまり、その検索条件は、ファイルストレージBに格納されたことのあるファイルをファイルストレージシステムから検索するための検索条件である。
【0237】
S3202で、プログラム755が、下記の処理:
(3202−1)ファイルストレージBの識別情報を基に、ファイルストレージBが有しているファイルシステム(及び、ファイルストレージBが有していたことのあるファイルシステム)を、管理ファイルシステムテーブル773及びそのテーブル773に関する全ての履歴テーブルから特定する;及び
(3202−2)上記(3202−1)で特定された各ファイルシステムについて、そのファイルシステムとマイグレーションパスを形成したファイルシステム及びそのファイルシステムを含んだファイルストレージを、マイグレーションパステーブル775及びそのテーブル775に関する全ての履歴テーブルから特定する、
を行う。
【0238】
S3203で、プログラム755が、上記(3202−2)で特定された各ファイルシステムについて、そのファイルシステムを有するファイルストレージに、上記(3202−1)で特定されたファイルシステムをマイグレーション元又はマイグレーション先としたファイルを検索することの検索指示を送信する。その検索指示を受けたファイルストレージは、その検索指示に従い、上記(3202−1)で特定されたファイルシステムをマイグレーション元又はマイグレーション先としたファイルを、そのファイルストレージが有するファイルテーブル715及びそのテーブル715に関する全ての履歴テーブルから検索する。この例では、上記(3202−1)で、ファイルシステムBが特定され、上記(3202−2)で、ファイルシステムA、C及びDと、ファイルストレージA、C及びDが特定される。従って、このS3202では、ファイルストレージA、C及びDが、ファイルシステムA、C及びDに格納されている1以上のファイル(スタブも含む)から、そのファイルストレージが有するファイルテーブル715及びそのテーブル715に関する全ての履歴テーブルを基に、ファイルシステムBをマイグレーション元又はマイグレーション先としたファイルを、検索する。ファイルストレージA、C及びDは、検索の結果(例えば、見つかったファイルに関する情報(例えば、ファイル名)、或いは、見つからなかったというメッセージ)を、管理計算機105に応答する。
【0239】
S3204で、プログラム755が、S3203で出した検索指示の結果を、その検索指示に対する応答を基に出力(例えば表示)する。
【0240】
この例によれば、ファイルストレージA及びCからは、検索条件に該当するファイルがあることを表す応答が得られることがあり、ファイルストレージDからは、検索条件に該当するファイルが無いことを表す応答が得られることがある。また、ファイルストレージA及びCについて、検索条件に該当するファイルは、スタブである可能性もある。この場合には、プログラム755は、そのスタブを用いて、検索条件に該当するファイルにアクセスすることが可能である。
【0241】
以上が、検索処理の1つの具体例である。
【0242】
なお、本実施形態では、ファイルシステムがマイグレーションパスから削除された原因(マイグレーションパスの削除又は変更の原因)が、そのファイルシステムを有するファイルストレージに問題があることであるのか否かを表す情報が、管理計算機105に入力されて良い。ファイルストレージに問題がある(例えば障害が発生した)ことが原因でファイルシステムがマイグレーションパスから削除された場合、問題のあるファイルストレージに関する情報(例えば識別情報)が、表示されるか、或いは、その情報を含んだ検索条件を基にファイルの検索が行われても良い。問題のあるファイルストレージに関する情報を含んだ検索条件を基に検索処理が行われれば、問題のあるファイルストレージが有するファイルシステムに格納されたことのあるファイルをファイルストレージシステムから検索することができる。
【0243】
また、図32に示した処理は、1つの具体例にすぎず、本実施形態では、上記のような検索処理に代えて又は加えて、他種の検索処理が可能である。例えば、下記の検索処理:
(*)各ストレージの利用率の履歴テーブルを基に、ストレージ利用率の変遷を調べること;
(*)過去に記録され、現在のマイグレーションパスに含まれていないファイルストレージを検索すること(つまり、現在使用されていない(過去に使用されたことのある)ファイルストレージを検索すること);
(*)各ファイルシステムでのマイグレーション回数及び/又はリコール回数を検索すること(つまり、ファイルシステム内でマイグレーション及び/又はリコールが実施された回数を調べること);
(*)各ファイルシステム内での性能値(IOPS、MB/s等)を検索すること(つまり、ファイルシステムに関する性能値を調べること)
が可能である。
【0244】
さて、以下、各ファイルストレージにおけるファイルテーブルの更新と、履歴テーブルの更新とについて、図33に示すステップ1〜9を含んだ具体例:
(ステップ1)ファイルストレージAが有するファイルシステムAにファイルXが格納される;
(ステップ2)マイグレーションパスの追加が行われる(ファイルシステムAに対して、終端ノードとして、ファイルストレージBが有するファイルシステムBが追加される);
(ステップ3)ファイルXがファイルシステムAからファイルシステムBにマイグレーションされる;
(ステップ4)ファイルXがファイルシステムBからファイルシステムAにリコールされる;
(ステップ5)マイグレーションパスの追加が行われる(ファイルシステムA -> ファイルシステムBのマイグレーションパスの終端ノードとして、ファイルストレージCが有するファイルシステムCが追加される);
(ステップ6)ファイルXがファイルシステムBからファイルシステムCにマイグレーションされる;
(ステップ7)ファイルXがファイルシステムCからファイルシステムAにリコールされる;
(ステップ8)マイグレーションパスの変更が行われる(ファイルシステムA -> ファイルシステムB -> ファイルシステムCのマイグレーションパスからファイルシステムBが削除される);及び
(ステップ9)マイグレーションパスの削除が行われる(ファイルシステムA -> ファイルシステムCのマイグレーションパスからファイルシステムCが削除される)、
を基に説明する。
【0245】
図34Aは、図33のステップ1でのファイルテーブルA(ファイルストレージAが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【0246】
ファイルXがファイルシステムAに格納されると、ファイルテーブルAに、ファイルXについて、情報1301〜1303が登録される。しかし、ファイルシステムAについてマイグレーション元及びマイグレーション先が無い。このため、情報1304〜1309として有効な値は設定されない。
【0247】
図34Bは、図33のステップ2でのファイルテーブルAにおける、ファイルXに対応した行を示す。
【0248】
ファイルシステムAのマイグレーション先としてファイルシステムBが追加されたので、ファイルテーブルAにおける、ファイルXに対応する行に、マイグレーション先の情報1306及び1307として、ファイルストレージBのIPアドレスと、ファイルシステムBの名称とが記録される。また、その情報1306(1307)の履歴テーブルに、ファイルストレージBのIPアドレス(ファイルシステムBの名称)が追記される。
【0249】
図35Aは、図33のステップ3でのファイルテーブルAにおける、ファイルXに対応した行を示す。図35Bは、図33のステップ3でのファイルテーブルB(ファイルストレージBが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【0250】
ファイルXが、ファイルシステムAからファイルシステムB(マイグレーション先)にマイグレーションされたので、ファイルストレージAにおいて、ファイルXがスタブに変換される。このため、図35Aに示すように、ファイルXがスタブ化された日時を表す情報が、スタブ化日時1308として、ファイルXに対応した行に記録される。また、そのスタブ化日時1308に対応した履歴テーブルに、ファイルXに対応した行に記録されたスタブ化日時1308と同じスタブ化日時が追記される。
【0251】
また、図35Bに示すように、ファイルXがファイルシステムBに格納されたので、ファイルテーブルBにおける、ファイルXに対応する行に、情報1301〜1303が登録される。また、その行に、マイグレーション元の情報1304及び1305として、ファイルストレージAのIPアドレスと、ファイルシステムAの名称とが記録される。ファイルXに対応する情報1304及び1305は、ファイルXがマイグレーション元から受信されたときに書き込まれて良い。
【0252】
図36Aは、図33のステップ4でのファイルテーブルAにおける、ファイルXに対応した行を示す。図36Bは、図33のステップ4でのファイルテーブルBにおける、ファイルXに対応した行を示す。
【0253】
ファイルXがファイルシステムBからファイルシステムAにリコールされたので、図36Aに示すように、ファイルXに対応するスタブ化日時1308が削除され、スタブ化日時1308に対応した履歴テーブルに、スタブ化日時1308が削除されたことを表す情報が追記される。また、このリコールが行われた日時を表す情報が、ファイルXに対応するリコール日時1309として、記録される。このリコール日時1309に対応する履歴テーブルに、そのリコール日時1309と同じ日時を表す情報が追記される。
【0254】
なお、ステップ4では、ファイルテーブルBにおける、ファイルXに対応した行は、ステップ3についての行(図35B参照)と同じである(変更されない)。
【0255】
図37Aは、図33のステップ5でのファイルテーブルAにおける、ファイルXに対応した行を示す。図37Bは、図33のステップ5でのファイルテーブルBにおける、ファイルXに対応した行を示す。
【0256】
ステップ5では、ファイルテーブルAにおける、ファイルXに対応した行は、ステップ3についての行(図35A参照)と同じである(変更されない)。
【0257】
ファイルシステムBのマイグレーション先としてファイルシステムCが追加されたので、ファイルテーブルBにおける、ファイルXに対応する行に、マイグレーション先の情報1306及び1307として、ファイルストレージCのIPアドレスと、ファイルシステムCの名称とが記録される。また、その情報1306(1307)の履歴テーブルに、ファイルストレージCのIPアドレス(ファイルシステムCの名称)が追記される。
【0258】
図38Aは、図33のステップ6でのファイルテーブルAにおける、ファイルXに対応した行を示す。図38Bは、図33のステップ6でのファイルテーブルBにおける、ファイルXに対応した行を示す。図38Cは、図33のステップ6でのファイルテーブルC(ファイルストレージCが有するファイルテーブル715)における、ファイルXに対応した行を示す。
【0259】
ステップ6では、ファイルテーブルAにおける、ファイルXに対応した行は、ステップ5についての行(図37A参照)と同じである(変更されない)。
【0260】
ファイルXが、ファイルシステムBからファイルシステムCにマイグレーションされたので、ファイルストレージBにおいて、ファイルXがスタブに変換される。このため、図38Bに示すように、ファイルXがスタブ化された日時を表す情報が、スタブ化日時1308として、ファイルXに対応した行に記録される。また、そのスタブ化日時1308に対応した履歴テーブルに、ファイルXに対応した行に記録されたスタブ化日時1308と同じスタブ化日時が追記される。
【0261】
また、図38Cに示すように、ファイルXがファイルシステムCに格納されたので、ファイルテーブルCにおける、ファイルXに対応する行に、情報1301〜1303が登録される。また、その行に、マイグレーション元の情報1304及び1305として、ファイルストレージBのIPアドレスと、ファイルシステムBの名称とが記録される。
【0262】
図39Aは、図33のステップ7でのファイルテーブルAにおける、ファイルXに対応した行を示す。図39Bは、図33のステップ7でのファイルテーブルBにおける、ファイルXに対応した行を示す。図39Cは、図33のステップ7でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【0263】
ファイルXがファイルシステムCからファイルシステムBを通じてファイルシステムAにリコールされたので、ファイルXをリンク先としたスタブを有するファイルストレージBにおけるファイルテーブルBと、そのスタブをリンク先としたスタブを有するファイルストレージAにおけるファイルテーブルAが更新される。
【0264】
すなわち、図39Bに示すように、ファイルテーブルBにおける、ファイルXに対応するスタブ化日時1308が削除され、スタブ化日時1308に対応した履歴テーブルに、スタブ化日時1308が削除されたことを表す情報が追記される。また、このリコールが行われた日時を表す情報が、ファイルXに対応するリコール日時1309として、記録される。このリコール日時1309に対応する履歴テーブルに、そのリコール日時1309と同じ日時を表す情報が追記される。
【0265】
同様に、図39Aに示すように、ファイルテーブルAにおける、ファイルXに対応するスタブ化日時1308が削除され、スタブ化日時1308に対応した履歴テーブルに、スタブ化日時1308が削除されたことを表す情報が追記される。また、このリコールが行われた日時を表す情報が、ファイルXに対応するリコール日時1309として、記録される。このリコール日時1309に対応する履歴テーブルに、そのリコール日時1309と同じ日時を表す情報が追記される。
【0266】
なお、ステップ7では、ファイルテーブルCにおける、ファイルXに対応した行は、ステップ6についての行(図38C参照)と同じである(変更されない)。
【0267】
図40Aは、図33のステップ8でのファイルテーブルAにおける、ファイルXに対応した行を示す。図40Bは、図33のステップ8でのファイルテーブルBにおける、ファイルXに対応した行を示す。図40Cは、図33のステップ8でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【0268】
マイグレーションパスの変更(ファイルシステムA -> ファイルシステムB -> ファイルシステムCのマイグレーションパスからファイルシステムBが削除されること)が行われたので、次のような更新が行われる。
【0269】
すなわち、図40Aに示すように、ファイルテーブルAの、ファイルXに対応した行において、マイグレーション先に関する情報1306及び1307が、マイグレーションパスの変更の前のマイグレーション先であるファイルシステムBに関する情報(ファイルストレージBのIPアドレス及びファイルシステムの名称)から、新しいマイグレーション先であるファイルシステムCに関する情報(ファイルストレージCのIPアドレス及びファイルシステムCの名称)に更新される。また、ファイルXのスタブのリンク先も、ファイルシステムBからファイルシステムCに変わったので(つまり、ファイルXのスタブが更新されたので)、ファイルテーブルAの、ファイルXに対応した行において、スタブ化日時1308も更新される。
【0270】
また、図40Bに示すように、ファイルテーブルBの、ファイルXに対応した行は、ステップ6での行(図38B参照)と同じである(変更されない)。その行から、マイグレーション元及びマイグレーション先に関する情報1304〜1307と、スタブ化日時1308は、削除されても良い。
【0271】
また、図40Cに示すように、ファイルテーブルCの、ファイルXに対応した行において、マイグレーション元に関する情報1306及び1307が、マイグレーションパスの変更の前のマイグレーション元であるファイルシステムBに関する情報(ファイルストレージBのIPアドレス及びファイルシステムの名称)から、新しいマイグレーション元であるファイルシステムAに関する情報(ファイルストレージAのIPアドレス及びファイルシステムAの名称)に更新される。
【0272】
図41Aは、図33のステップ9でのファイルテーブルAにおける、ファイルXに対応した行を示す。図41Bは、図33のステップ9でのファイルテーブルBにおける、ファイルXに対応した行を示す。図41Cは、図33のステップ9でのファイルテーブルCにおける、ファイルXに対応した行を示す。
【0273】
ファイルシステムCが削除されるステップ9では、図41Aに示すように、ファイルテーブルAの、ファイルXに対応した行は、ステップ6での行(図38A参照)と同じである(変更されない)。
【0274】
また、図41Bに示すように、ファイルテーブルBにおける、ファイルXに対応するスタブ化日時1308が削除される。ファイルXがファイルシステムCからファイルシステムBへのリコールが行われるので、このリコールが行われた日時を表す情報が、ファイルXに対応するリコール日時1309として、記録される。更に、ファイルシステムCが削除されたので、マイグレーション先に関する情報1306及び1307が削除される。
【0275】
また、図41Cに示すように、ファイルテーブルCの、ファイルXに対応した行は、ステップ6での行(図38C参照)と同じである(変更されない)。その行から、マイグレーション元に関する情報1304〜1305は、削除されても良い。
【0276】
以上、本実施形態によれば、3以上のファイルストレージシステムを含んだファイルストレージシステムの構築が可能であり、それに伴い、中間ノードを含んだマイグレーションパスの構築が可能である。
【0277】
また、管理計算機105は、マイグレーションパステーブル755(ファイルストレージシステムにおける全てのマイグレーションパスの構成(流れ)を表す情報)を記憶する。さらに、管理計算機105は、マイグレーションパスの構成の変更(マイグレーションパスの追加、削除及び変更)の履歴を蓄積する。また、管理計算機105は、マイグレーションパステーブル775を基に、各ファイルストレージ101に、そのファイルストレージが有するファイルシステム(この段落において「対象ファイルシステム」)のマイグレーション先に関する情報(例えば、MGD IPアドレス1306、及び、MGD FS−name1307)を記憶させることができる。各ファイルストレージ101は、マイグレーション先に関する情報が表すマイグレーション先のファイルシステムに、対象ファイルシステムからファイルをマイグレーションすることができる。また、各ファイルストレージ101は、ファイル毎に、マイグレーション先(及びマイグレーション元)に関する情報の変更の履歴を蓄積する。管理計算機105は、管理計算機105及び各ファイルストレージが記憶している1以上のテーブル(履歴テーブルを含む)を基に、ユーザ指定のファイルストレージに格納されたことのあるファイルを調べることができる。
【0278】
以上、本発明の一実施形態を説明したが、これは、本発明の説明のための例示であって、本発明の範囲をこれらの実施形態のみに限定する趣旨ではない。すなわち、本発明は、他の種々の形態でも実施する事が可能である。例えば、管理計算機105が有する少なくとも1つの機能を、管理計算機105に代えて又は加えて、ファイルストレージシステムにおける少なくとも1つのファイルストレージ101が有していても良い。
【符号の説明】
【0279】
101…ファイルストレージ、103…ファイルシステム
【特許請求の範囲】
【請求項1】
3以上のファイルストレージ装置と、
前記3以上のファイルストレージ装置に接続された管理計算機と
を有し、
(A)前記管理計算機は、カスケード状に並んだ3以上のファイル記憶単位を含むことができるマイグレーションパスの構成を表す情報であるマイグレーションパス管理情報と、前記マイグレーションパスの構成の変更の履歴を表す情報であるパス履歴情報とを記憶し、
(B)前記管理計算機は、マイグレーションパスの構成の変更が行われる都度に、前記マイグレーションパス管理情報を、変更後の前記マイグレーションパスの構成を表す情報に更新し、且つ、変更後の前記マイグレーションパスの構成を表す情報を前記パス履歴情報に追記する、
ファイルストレージシステム。
【請求項2】
請求項1記載のファイルストレージシステムであって、
各ファイルストレージ装置は、記憶単位管理情報と、ファイル管理情報とを記憶し、
前記記憶単位管理情報は、その情報を有するファイルストレージ装置に関するファイル記憶単位のマイグレーション先のファイル記憶単位に関するマイグレーション先情報を含んだ情報であり、
前記記憶単位管理情報に含まれる前記マイグレーション先情報は、前記マイグレーションパス管理情報を基に前記記憶単位管理情報に含まれた情報であり、
前記ファイル管理情報は、その情報を有するファイルストレージ装置が記憶しているファイルに関する情報であり、そのファイルのマイグレーション先のファイル記憶単位に関する情報であるマイグレーション先情報と、そのファイルのマイグレーション元のファイル記憶単位に関する情報であるマイグレーション元情報とを含み、
前記各ファイルストレージ装置は、更に、そのファイルストレージ装置が有するファイル管理情報に含まれている前記マイグレーション元情報の変更の履歴を表す情報であるマイグレーション元履歴情報と、そのファイルストレージ装置が有するファイル管理情報に含まれているマイグレーション先情報の変更の履歴を表す情報であるマイグレーション先履歴情報とを記憶し、
前記各ファイルストレージ装置は、
(a)そのファイルストレージ装置に関するファイル記憶単位内のファイルを、前記記憶単位管理情報から特定される、そのファイル記憶単位のマイグレーション先のファイル記憶単位に、マイグレーションし、且つ、そのファイルをスタブに変換し、
(b)前記スタブに対応するマイグレーション先情報として、前記マイグレーション先のファイル記憶単位に関する情報を、前記ファイル管理情報に含め、且つ、前記マイグレーション先のファイル記憶単位に関する情報を、前記マイグレーション先履歴情報に追記する、
ファイルストレージシステム。
【請求項3】
請求項2記載のファイルストレージシステムであって、
前記マイグレーションパス管理情報は、複数のマイグレーションパスの構成に関する情報を表しており、
(C)前記管理計算機が、或るファイルストレージ装置を表す情報を含みファイルを検索することを表す検索条件を受け、
(D)前記管理計算機が、前記検索条件に含まれている情報が表すファイルストレージ装置である対象ストレージに関するファイル記憶単位を含んだマイグレーションパスを、前記マイグレーションパス管理情報を基に特定し、
(E)前記管理計算機が、前記(D)で特定したマイグレーションパスを構成する全ての記憶単位に関する2以上のファイルストレージ装置を特定し、
(F)前記管理計算機が、前記2以上のファイルストレージ装置に、前記対象ストレージに関する記憶単位に格納されたことのあるファイルを検索することの検索指示を送信し、
(G)前記(F)で送信された検索指示を受けたファイルストレージ装置が、前記ファイル管理情報、前記マイグレーション元履歴情報及び前記マイグレーション先管理情報を基に、前記対象ストレージに関するファイル記憶単位に格納されたことのあるファイルを検索し、その検索の結果を表す検索結果情報を送信し、
(H)前記管理計算機は、前記検索指示の送信先の各ファイルストレージ装置から前記検索結果情報を受け、その検索結果情報に従う情報を出力する、
ファイルストレージシステム。
【請求項4】
請求項2記載のファイルストレージシステムであって、
前記マイグレーションパスの構成の変更は、前記マイグレーションパスに新たに終端のファイル記憶単位を追加することであるパス追加であり、
前記管理計算機は、前記(B)において、前記マイグレーションパスについて、前記マイグレーションパス管理情報に、前記追加されるファイル記憶単位に関する情報を追加し、且つ、前記パス履歴情報に、前記パス追加の後のマイグレーションパスの構成を表す情報を追記し、
前記管理計算機は、前記追加されるファイル記憶単位のマイグレーション元のファイル記憶単位である第1のファイル記憶単位に関する第1のファイルストレージ装置に、前記追加されるファイル記憶単位に関する情報を含んだパス追加指示を送信し、
前記第1のファイルストレージ装置が、
(j1)前記パス追加指示を受け、
(j2)前記記憶単位管理情報における、前記第1のファイル記憶単位に対応するマイグレーション先情報として、前記パス追加指示を基に得される、前記追加される記憶単位に関する情報を、前記記憶単位管理情報に含める、
ファイルストレージシステム。
【請求項5】
請求項2記載のファイルストレージシステムであって、
前記マイグレーションパスの構成の変更は、前記マイグレーションパスの終端のファイル記憶単位を前記マイグレーションパスから削除することであるパス削除であり、
前記管理計算機は、前記(B)において、前記マイグレーションパスについて、前記マイグレーションパス管理情報から、前記削除されるファイル記憶単位に関する情報を削除し、且つ、前記パス履歴情報に、前記パス削除の後のマイグレーションパスの構成を表す情報を追記し、
前記管理計算機は、前記削除されるファイル記憶単位に関する情報を含んだパス削除指示を、前記削除されるファイル記憶単位のマイグレーション元の記憶単位である第2の記憶単位に関する第2のファイルストレージ装置に送信し、
前記第2のファイルストレージ装置が、
(m1)前記パス削除指示を受け、
(m2)前記削除されるファイル記憶単位内のファイルであって、前記第2のファイルストレージ装置が有するスタブのリンク先のファイルを、前記削除されるファイル記憶単位から、前記第2のファイルストレージ装置が有する前記記憶単位管理情報を基に特定される、前記削除されるファイル記憶単位のマイグレーション元である前記第2のファイル記憶単位に、格納し、且つ、前記スタブを削除し、
(m3)前記スタブが削除されたファイルについて、前記ファイル管理情報から、前記マイグレーション先情報を削除し、且つ、前記マイグレーション先履歴情報に、前記マイグレーション先情報が削除されたことを表す情報を追記する、
ファイルストレージシステム。
【請求項6】
請求項2記載のファイルストレージシステムであって、
前記マイグレーションパスの構成の変更は、前記マイグレーションパスの中間のファイル記憶単位を前記マイグレーションパスから削除することであるパス変更であり、
前記管理計算機は、前記(B)において、前記マイグレーションパスについて、前記マイグレーションパス管理情報から、前記削除されるファイル記憶単位に関する情報を削除し、且つ、前記パス履歴情報に、前記パス変更の後のマイグレーションパスの構成を表す情報を追記し、
(X)前記削除されるファイル記憶単位のマイグレーション元のファイル記憶単位である第3のファイル記憶単位に関する第3のファイルストレージ装置が、前記第3のファイルストレージ装置が有するスタブのリンク先の情報を、前記削除されるファイル記憶単位に関するファイルストレージ装置から取得し、
前記管理計算機は、前記削除されるファイル記憶単位のマイグレーション先のファイル記憶単位である第4のファイル記憶単位に関する情報を含んだ第1のパス変更指示を、前記第3のファイルストレージ装置に送信し、且つ、前記削除されるファイル記憶単位のマイグレーション元のファイル記憶単位である前記第3のファイル記憶単位に関する情報を含んだ第2のパス変更指示を、前記第4のファイルストレージ装置に送信し、
前記第3のファイルストレージ装置は、
(p1)前記第1のパス削除指示を受け、
(p2)前記ファイル管理情報における、前記スタブに対応するマイグレーション先情報を、前記第1のパス削除指示が有する、前記第4のファイル記憶単位に関する情報、に変更し、且つ、前記マイグレーション先履歴情報に、前記第4のファイル記憶単位に関する情報を追記し、
前記第4のファイルストレージ装置は、
(q1)前記第2のパス削除指示を受け、
(q2)前記ファイル管理情報における、前記ファイルに対応するマイグレーション元情報を、前記第2のパス削除指示が有する、前記第3のファイル記憶単位に関する情報、に変更し、且つ、前記マイグレーション元履歴情報に、前記第3のファイル記憶単位に関する情報を追記する、
ファイルストレージシステム。
【請求項7】
請求項6記載のファイルストレージシステムであって、
前記(X)において取得された情報がスタブである場合、前記第3のファイルストレージ装置が有するスタブのリンク先が、前記取得されたスタブが示すリンク先に変更される、
ファイルストレージシステム。
【請求項8】
請求項1記載のファイルストレージシステムであって、
前記ファイル記憶単位は、ファイルシステムである、
ファイルストレージシステム。
【請求項9】
3以上のファイルストレージ装置を含んだファイルストレージシステムで行われる方法であって、
カスケード状に並んだ3以上のファイル記憶単位を含むことができるマイグレーションパスの構成の変更が行われる都度に、マイグレーションパスの構成を表す情報であるマイグレーションパス管理情報を、変更後の前記マイグレーションパスの構成を表す情報に更新し、且つ、変更後の前記マイグレーションパスの構成を表す情報を、マイグレーションパスの構成の変更の履歴を表す情報であるパス履歴情報に追記する、
記憶制御方法。
【請求項10】
3以上のファイルストレージ装置に接続される管理計算機であって、
前記3以上のファイルストレージ装置に接続される通信インタフェースデバイスと、
記憶資源と、
前記通信インタフェースデバイス及び前記記憶資源に接続されるコントローラと
を有し、
前記記憶資源は、カスケード状に並んだ3以上のファイル記憶単位を含むことができるマイグレーションパスの構成を表す情報であるマイグレーションパス管理情報と、前記マイグレーションパスの構成の変更の履歴を表す情報であるパス履歴情報とを記憶し、
前記コントローラは、マイグレーションパスの構成の変更が行われる都度に、前記マイグレーションパス管理情報を、変更後の前記マイグレーションパスの構成を表す情報に更新し、且つ、変更後の前記マイグレーションパスの構成を表す情報を前記パス履歴情報に追記する、
管理計算機。
【請求項1】
3以上のファイルストレージ装置と、
前記3以上のファイルストレージ装置に接続された管理計算機と
を有し、
(A)前記管理計算機は、カスケード状に並んだ3以上のファイル記憶単位を含むことができるマイグレーションパスの構成を表す情報であるマイグレーションパス管理情報と、前記マイグレーションパスの構成の変更の履歴を表す情報であるパス履歴情報とを記憶し、
(B)前記管理計算機は、マイグレーションパスの構成の変更が行われる都度に、前記マイグレーションパス管理情報を、変更後の前記マイグレーションパスの構成を表す情報に更新し、且つ、変更後の前記マイグレーションパスの構成を表す情報を前記パス履歴情報に追記する、
ファイルストレージシステム。
【請求項2】
請求項1記載のファイルストレージシステムであって、
各ファイルストレージ装置は、記憶単位管理情報と、ファイル管理情報とを記憶し、
前記記憶単位管理情報は、その情報を有するファイルストレージ装置に関するファイル記憶単位のマイグレーション先のファイル記憶単位に関するマイグレーション先情報を含んだ情報であり、
前記記憶単位管理情報に含まれる前記マイグレーション先情報は、前記マイグレーションパス管理情報を基に前記記憶単位管理情報に含まれた情報であり、
前記ファイル管理情報は、その情報を有するファイルストレージ装置が記憶しているファイルに関する情報であり、そのファイルのマイグレーション先のファイル記憶単位に関する情報であるマイグレーション先情報と、そのファイルのマイグレーション元のファイル記憶単位に関する情報であるマイグレーション元情報とを含み、
前記各ファイルストレージ装置は、更に、そのファイルストレージ装置が有するファイル管理情報に含まれている前記マイグレーション元情報の変更の履歴を表す情報であるマイグレーション元履歴情報と、そのファイルストレージ装置が有するファイル管理情報に含まれているマイグレーション先情報の変更の履歴を表す情報であるマイグレーション先履歴情報とを記憶し、
前記各ファイルストレージ装置は、
(a)そのファイルストレージ装置に関するファイル記憶単位内のファイルを、前記記憶単位管理情報から特定される、そのファイル記憶単位のマイグレーション先のファイル記憶単位に、マイグレーションし、且つ、そのファイルをスタブに変換し、
(b)前記スタブに対応するマイグレーション先情報として、前記マイグレーション先のファイル記憶単位に関する情報を、前記ファイル管理情報に含め、且つ、前記マイグレーション先のファイル記憶単位に関する情報を、前記マイグレーション先履歴情報に追記する、
ファイルストレージシステム。
【請求項3】
請求項2記載のファイルストレージシステムであって、
前記マイグレーションパス管理情報は、複数のマイグレーションパスの構成に関する情報を表しており、
(C)前記管理計算機が、或るファイルストレージ装置を表す情報を含みファイルを検索することを表す検索条件を受け、
(D)前記管理計算機が、前記検索条件に含まれている情報が表すファイルストレージ装置である対象ストレージに関するファイル記憶単位を含んだマイグレーションパスを、前記マイグレーションパス管理情報を基に特定し、
(E)前記管理計算機が、前記(D)で特定したマイグレーションパスを構成する全ての記憶単位に関する2以上のファイルストレージ装置を特定し、
(F)前記管理計算機が、前記2以上のファイルストレージ装置に、前記対象ストレージに関する記憶単位に格納されたことのあるファイルを検索することの検索指示を送信し、
(G)前記(F)で送信された検索指示を受けたファイルストレージ装置が、前記ファイル管理情報、前記マイグレーション元履歴情報及び前記マイグレーション先管理情報を基に、前記対象ストレージに関するファイル記憶単位に格納されたことのあるファイルを検索し、その検索の結果を表す検索結果情報を送信し、
(H)前記管理計算機は、前記検索指示の送信先の各ファイルストレージ装置から前記検索結果情報を受け、その検索結果情報に従う情報を出力する、
ファイルストレージシステム。
【請求項4】
請求項2記載のファイルストレージシステムであって、
前記マイグレーションパスの構成の変更は、前記マイグレーションパスに新たに終端のファイル記憶単位を追加することであるパス追加であり、
前記管理計算機は、前記(B)において、前記マイグレーションパスについて、前記マイグレーションパス管理情報に、前記追加されるファイル記憶単位に関する情報を追加し、且つ、前記パス履歴情報に、前記パス追加の後のマイグレーションパスの構成を表す情報を追記し、
前記管理計算機は、前記追加されるファイル記憶単位のマイグレーション元のファイル記憶単位である第1のファイル記憶単位に関する第1のファイルストレージ装置に、前記追加されるファイル記憶単位に関する情報を含んだパス追加指示を送信し、
前記第1のファイルストレージ装置が、
(j1)前記パス追加指示を受け、
(j2)前記記憶単位管理情報における、前記第1のファイル記憶単位に対応するマイグレーション先情報として、前記パス追加指示を基に得される、前記追加される記憶単位に関する情報を、前記記憶単位管理情報に含める、
ファイルストレージシステム。
【請求項5】
請求項2記載のファイルストレージシステムであって、
前記マイグレーションパスの構成の変更は、前記マイグレーションパスの終端のファイル記憶単位を前記マイグレーションパスから削除することであるパス削除であり、
前記管理計算機は、前記(B)において、前記マイグレーションパスについて、前記マイグレーションパス管理情報から、前記削除されるファイル記憶単位に関する情報を削除し、且つ、前記パス履歴情報に、前記パス削除の後のマイグレーションパスの構成を表す情報を追記し、
前記管理計算機は、前記削除されるファイル記憶単位に関する情報を含んだパス削除指示を、前記削除されるファイル記憶単位のマイグレーション元の記憶単位である第2の記憶単位に関する第2のファイルストレージ装置に送信し、
前記第2のファイルストレージ装置が、
(m1)前記パス削除指示を受け、
(m2)前記削除されるファイル記憶単位内のファイルであって、前記第2のファイルストレージ装置が有するスタブのリンク先のファイルを、前記削除されるファイル記憶単位から、前記第2のファイルストレージ装置が有する前記記憶単位管理情報を基に特定される、前記削除されるファイル記憶単位のマイグレーション元である前記第2のファイル記憶単位に、格納し、且つ、前記スタブを削除し、
(m3)前記スタブが削除されたファイルについて、前記ファイル管理情報から、前記マイグレーション先情報を削除し、且つ、前記マイグレーション先履歴情報に、前記マイグレーション先情報が削除されたことを表す情報を追記する、
ファイルストレージシステム。
【請求項6】
請求項2記載のファイルストレージシステムであって、
前記マイグレーションパスの構成の変更は、前記マイグレーションパスの中間のファイル記憶単位を前記マイグレーションパスから削除することであるパス変更であり、
前記管理計算機は、前記(B)において、前記マイグレーションパスについて、前記マイグレーションパス管理情報から、前記削除されるファイル記憶単位に関する情報を削除し、且つ、前記パス履歴情報に、前記パス変更の後のマイグレーションパスの構成を表す情報を追記し、
(X)前記削除されるファイル記憶単位のマイグレーション元のファイル記憶単位である第3のファイル記憶単位に関する第3のファイルストレージ装置が、前記第3のファイルストレージ装置が有するスタブのリンク先の情報を、前記削除されるファイル記憶単位に関するファイルストレージ装置から取得し、
前記管理計算機は、前記削除されるファイル記憶単位のマイグレーション先のファイル記憶単位である第4のファイル記憶単位に関する情報を含んだ第1のパス変更指示を、前記第3のファイルストレージ装置に送信し、且つ、前記削除されるファイル記憶単位のマイグレーション元のファイル記憶単位である前記第3のファイル記憶単位に関する情報を含んだ第2のパス変更指示を、前記第4のファイルストレージ装置に送信し、
前記第3のファイルストレージ装置は、
(p1)前記第1のパス削除指示を受け、
(p2)前記ファイル管理情報における、前記スタブに対応するマイグレーション先情報を、前記第1のパス削除指示が有する、前記第4のファイル記憶単位に関する情報、に変更し、且つ、前記マイグレーション先履歴情報に、前記第4のファイル記憶単位に関する情報を追記し、
前記第4のファイルストレージ装置は、
(q1)前記第2のパス削除指示を受け、
(q2)前記ファイル管理情報における、前記ファイルに対応するマイグレーション元情報を、前記第2のパス削除指示が有する、前記第3のファイル記憶単位に関する情報、に変更し、且つ、前記マイグレーション元履歴情報に、前記第3のファイル記憶単位に関する情報を追記する、
ファイルストレージシステム。
【請求項7】
請求項6記載のファイルストレージシステムであって、
前記(X)において取得された情報がスタブである場合、前記第3のファイルストレージ装置が有するスタブのリンク先が、前記取得されたスタブが示すリンク先に変更される、
ファイルストレージシステム。
【請求項8】
請求項1記載のファイルストレージシステムであって、
前記ファイル記憶単位は、ファイルシステムである、
ファイルストレージシステム。
【請求項9】
3以上のファイルストレージ装置を含んだファイルストレージシステムで行われる方法であって、
カスケード状に並んだ3以上のファイル記憶単位を含むことができるマイグレーションパスの構成の変更が行われる都度に、マイグレーションパスの構成を表す情報であるマイグレーションパス管理情報を、変更後の前記マイグレーションパスの構成を表す情報に更新し、且つ、変更後の前記マイグレーションパスの構成を表す情報を、マイグレーションパスの構成の変更の履歴を表す情報であるパス履歴情報に追記する、
記憶制御方法。
【請求項10】
3以上のファイルストレージ装置に接続される管理計算機であって、
前記3以上のファイルストレージ装置に接続される通信インタフェースデバイスと、
記憶資源と、
前記通信インタフェースデバイス及び前記記憶資源に接続されるコントローラと
を有し、
前記記憶資源は、カスケード状に並んだ3以上のファイル記憶単位を含むことができるマイグレーションパスの構成を表す情報であるマイグレーションパス管理情報と、前記マイグレーションパスの構成の変更の履歴を表す情報であるパス履歴情報とを記憶し、
前記コントローラは、マイグレーションパスの構成の変更が行われる都度に、前記マイグレーションパス管理情報を、変更後の前記マイグレーションパスの構成を表す情報に更新し、且つ、変更後の前記マイグレーションパスの構成を表す情報を前記パス履歴情報に追記する、
管理計算機。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【公開番号】特開2012−174113(P2012−174113A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−37169(P2011−37169)
【出願日】平成23年2月23日(2011.2.23)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月23日(2011.2.23)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]