(57)【要約】【課題】リモートストレージシステムに於いては、各ファイルは望ましい特性と性能を発揮できない為に、性能、信頼性の低下その他の問題が発生することになる。【解決手段】ローカルストレージシステムからリモートストレージシステムにコピーされるファイルが、ストレージクラスを含めてローカルストレージシステムに於けるファイル配置と階層を反映するように、コピーされる方法とシステムが提供される。これによって、リモートストレージシステムに於いて、ローカルストレージシステムに於けるのと同様な望ましいファイル属性と性能が発揮されることが可能になる。更に、ローカルストレージシステムに於いて、ファイルが一つのストレージクラスから別のストレージクラスに移行されたら、ローカルストレージシステムはリモートストレージシステムに移行コマンドを送信する。この移行コマンドは、リモートストレージシステムに於いて対応ファイルが移行すべき目標ストレージクラスを含んでいる。【選択図】図１
2007265403.tif 000002
【特許請求の範囲】
【請求項１】
第一のストレージシステムから第二のストレージシステムにコピーされるファイルのストレージクラス階層を反映する方法であって、該方法は、
前記第一のストレージシステムから前記第二のストレージシステムにファイルをコピーするステップと、
前記第一のストレージシステムから前記第二のストレージシステムに前記ファイルに関するクラス情報を送信し、前記第二のストレージシステムは、前記第一のストレージシステムでの前記ファイルの保存方式に相当する階層的方式で前記ファイルのコピーを保存するステップ、
より成ることを特徴とする方法。
【請求項２】
前記第一のストレージシステムに於いて、前記ファイルを一つのクラスの一つの保存領域からもう一つのクラスのもう一つの保存領域に移行するステップと、
前記によるクラス変更に関する情報を前記第二のストレージシステムに送信するステップを、
更に含むことを特徴とする請求項１の方法。
【請求項３】
前記第二のストレージシステムが前記ファイルの前記クラス変更に関する情報を受信するステップと、
前記第二のストレージシステムは、前記第二のストレージシステムに於いて前記ファイルの前記コピーを一つのクラスの一つの保存領域からもう一つのクラスのもう一つの保存領域に移行して、前記第二のストレージシステムに於いて、前記ファイルの前記コピーが前記ファイルが前記第一のストレージシステムに保存されているのと同じクラスの保存領域に保存されるステップを、
更に含むことを特徴とする請求項２の方法。
【請求項４】
第一のクラスのストレージデバイスとしてファイバチャネルストレージデバイスを備えるステップと、
第二のクラスのストレージデバイスとしてＳＡＴＡ(Serial Advanced Technology Attachment)ストレージデバイスを備えるステップを、
更に含むことを特徴とする請求項１の方法。
【請求項５】
第一のクラスのストレージデバイスとしてファイバチャネルストレージデバイスを備えるステップと、
第二のクラスのストレージデバイスとしてＳＡＴＡ(Serial Advanced Technology Attachment)ストレージデバイスを備えるステップを、
更に含むことを特徴とする請求項３の方法。
【請求項６】
前記第一と第二のストレージシステムの各々に第一のストレージクラスの第一のストレージデバイスと第二のストレージクラスの第二のストレージデバイスを備えるステップと、
前記第一のストレージシステムがホストコンピュータから書き込みコマンドを受信するステップと、
前記第一のストレージシステムが前記書き込みコマンドに対応するファイルと該ファイルのストレージクラスを特定するステップと、
前記特定されたストレージクラスの前記ストレージデバイスにデータを書き込むステップを、
更に含むことを特徴とする請求項１の方法。
【請求項７】
前記特定されたストレージクラスの前記ストレージデバイスに前記データを書き込む前に、前記ファイルは前記ホストコンピュータから送信された全てのデータを保存するために十分な未使用ブロックを持っているかを判定するステップと、
前記ファイルが前記全てのデータを保存するために十分な未使用ブロックを持っていないと判定されたら、前記特定されたストレージクラスから新しいブロックをアサインするステップを、
更に含むことを特徴とする請求項６の方法。
【請求項８】
前記特定されたストレージクラスでは未使用ブロックが不十分であれば、前記ファイルには異なったストレージクラスの新しいブロックをアサインするステップと、
前記特定されたストレージクラスに代わって、前記異なったストレージクラスのストレージデバイスに前記データを書き込むステップを、
更に含むことを特徴とする請求項７の方法。
【請求項９】
各々第一のストレージクラスの第一のストレージデバイスと第二のストレージクラスの第二のストレージデバイスを備える第一のストレージシステムと第二のストレージシステムより成るシステムに於いて、前記第一のストレージシステムで障害が発生した時に、前記第二のストレージシステムのファイルが前記第一のストレージシステムで提供されていたのと同様な属性を持てるように、前記第一のストレージシステムに保存されたデータを前記第二のストレージシステムに正確に反映させる為の方法であって、該方法は、
前記第一のストレージシステムに於いて、前記第一のクラスの前記第一のストレージデバイスに第一のデータを保存するステップと、
前記第一のデータを前記第二のストレージシステムの前記第一のクラスの前記第一のストレージデバイスに第二のデータとしてコピーするステップ、
より成ることを特徴とする方法。
【請求項１０】
前記第一のストレージシステムに於いて、前記第一のクラスの前記第一のストレージデバイスから前記第一のデータが前記第二のクラスの前記第二のストレージデバイスに移行されたら、前記第二のストレージシステムはこの移行を通知されるステップを更に含むことを特徴とする請求項９の方法。
【請求項１１】
前記第二のストレージシステムがこの移行を通知されると、前記第二のストレージシステムは前記第一のクラスの前記第一のストレージデバイスから前記第二のデータを前記第二のストレージシステムに於いて前記第二のクラスの前記第二のストレージデバイスに移行させるステップを更に含むことを特徴とする請求項１０の方法。
【請求項１２】
前記第一のストレージデバイスとしてファイバチャネルディスクドライブを備えるステップと、
前記第二のストレージデバイスとしてＳＡＴＡ(Serial Advanced Technology Attachment)ディスクドライブを備えるステップを、
又はこの逆セットを備えるステップを、更に含むことを特徴とする請求項９の方法。
【請求項１３】
前記第一のストレージデバイスとしてファイバチャネルディスクドライブを備えるステップと、
前記第二のストレージデバイスとしてＳＡＴＡ(Serial Advanced Technology Attachment)ディスクドライブを備えるステップを、
又はこの逆セットを備えるステップを、更に含むことを特徴とする請求項１１の方法。
【請求項１４】
前記第一と第二のストレージシステムの各々に於いて、第一と第二のファイルシステムを備えるステップを更に含み、前記第一のファイルシステムは前記第一のクラスの前記第一のストレージデバイスに保存され、前記第二のファイルシステムは前記第二のクラスの前記第二のストレージデバイスに保存されることを特徴とする請求項９の方法。
【請求項１５】
前記第一のストレージシステムに於いて、前記第一のデータを前記第一のファイルシステムから前記第二のファイルシステムに移動させるように、前記第一のデータを前記第一のクラスの前記第一のストレージデバイスから前記第二のクラスの前記第二のストレージデバイスに移行し、前記第二のストレージシステムはこの移行を通知される、ステップを更に含むことを特徴とする請求項１４の方法。
【請求項１６】
前記第二のストレージシステムに於いて、前記第二のデータを前記第一のファイルシステムから前記第二のファイルシステム移動させるように、前記第二のデータが前記第二のストレージシステムによって前記第一のクラスの前記第一のストレージデバイスから前記第二のクラスの前記第二のストレージデバイスに移行されるステップを更に含むことを特徴とする請求項１５の方法。
【請求項１７】
第一のストレージクラスの複数の第一のファイルと第二のストレージクラスの複数の第二のファイルを保存するローカルストレージシステムと、
前記ローカルストレージシステムに結合し前記複数の第一と第二のファイルのコピーを保存するリモートストレージシステム、
より成り、
前記リモートストレージシステムに於いて、前記複数の第一と第二のファイルの前記コピーは、前記ローカルストレージシステムで保存されていたのと同じストレージクラスに保存されることを特徴とするストレージシステム。
【請求項１８】
前記ローカルストレージシステムは、各ファイルの前記ストレージクラスを示すテーブルを保存する管理メモリを有する、ことを特徴とする請求項１７のストレージシステム。
【請求項１９】
前記ローカルストレージシステムに於いてファイルが書き込まれたら、該ファイルの前記ストレージクラスを含むリモートコピーコマンドが前記リモートストレージシステムに送信されることを特徴とする請求項１７のストレージシステム。
【請求項２０】
前記ローカルストレージシステムと前記リモートストレージシステムの各々は、第一のストレージクラスの第一のディスクデバイスと前記第一のストレージクラスとは異なる第二のストレージクラスの第二のディスクデバイスを備え、
第一の移行コマンドの受信を契機に、前記ローカルストレージシステムは、前記第一のストレージクラスの一式以上の前記第一のディスクデバイスの第一の領域から前記第二のストレージクラスの一式以上の前記第二のディスクデバイスの第二の領域にファイルを移行し、
前記ローカルストレージシステムは、目標ストレージクラスを含む第二の移行コマンドを前記リモートストレージシステムに送信し、
前記リモートストレージシステムは、前記第二の移行コマンドで特定されるファイルを前記第二の移行コマンドで特定される目標ストレージクラスに移行する、
ことを特徴とする請求項１７のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージシステムを管理するシステムと方法に関連する。詳細には、本発明は階層型ストレージシステム間でコピーされるファイルの保存領域を管理するシステムと方法に関連する。
【背景技術】
【０００２】
Ｍａｔｓｕｎａｍｉその他によるＵＳ特許公開公報ＮＯ．２００４／０１９３７６０は、ストレージデバイス内でストレージ階層を形成するストレージクラス間でデータを移行するストレージデバイスを開示している。本公開公報の全体を参照してここに組み入れる。本公開公報で開示されたストレージシステムでは、異なったストレージクラスを定めるストレージ階層に於いて、ストレージシステムが各ファイルの適切な性能、信頼性その他の特性を発揮させるように、ファイルは配置される。
【特許文献１】米国特許出願公開第２００４／０１９３７６０号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、リモートミラー構成に於けるように、ローカルストレージシステムが自分のファイルをリモートストレージシステムにコピーしたとしても、リモートストレージシステムのストレージ階層にコピーされたファイルのストレージクラスは元のローカルストレージシステムでの場合と常に同じとは限らない。かくして、ローカルストレージシステムで障害が発生しリモートストレージシステムがこのローカルストレージシステムの業務を引き継いだとしても、ファイルは必ずしも同じ階層に存在するとは限らない。この結果、リモートストレージシステムに於いては、各ファイルは望ましい特性と性能を発揮できない為に、性能、信頼性の低下その他の問題が発生することになる。
【課題を解決するための手段】
【０００４】
本発明の第一の態様では、ローカルストレージシステムでのファイル配置を反映するように、リモートストレージシステムでファイルをコピーする為の方法とシステムが提供される。この結果、リモートストレージシステムは、ローカルストレージシステムと同じく望ましいファイル特性を持つことができる。
【０００５】
更に、各ストレージシステムは各ファイルのストレージクラスに関する情報を維持することができる。ファイルをローカルストレージシステムに書き込みリモートストレージシステムにコピーする時には、コピー対象ファイルのストレージクラス情報も送信する。リモートストレージシステムはこの情報に基づいて、ローカルストレージシステムの場合と同様に、ファイルをストレージ階層の中に展開することができる。
【０００６】
加えて、一つのファイルが一つのストレージクラスの一つの保存領域から別のストレージクラスの別の保存領域に移行されるような場合、ローカルストレージシステムに於いてファイルのストレージクラスが変更されると、ローカルストレージシステムはリモートストレージシステムにコマンドを送信して、リモートストレージシステムで移行されるファイルのコピーは、ローカルストレージシステムに於けるストレージクラスに相当するストレージクラスに移行されることになる。
【０００７】
本発明のこれら及びその他の事柄、特徴と便益は、図面に関連してなされる好適な実施例の詳細な説明によってより明確になるであろう。
【発明を実施するための最良の形態】
【０００８】
第一の実施例
図１は本発明の方法と装置が適用されるコンピュータストレージシステムの概要を図示する。図１に於いて、ホストコンピュータ１００００、１０００１はＬＡＮスイッチ１０００９とＬＡＮケーブル１０００２を介してローカルストレージシステム１０００８に結合している。ホストコンピュータ１００００と１０００１はＬＡＮスイッチ１０００９を経由してローカルストレージシステム１０００８との間でデータの読み書きを行う。管理サーバ１０００６の管理者又はストレージ管理プログラムは、ローカルストレージシステム１０００８をコントロールする。管理サーバ１０００６は、管理者がローカルストレージシステム１０００８と交信する為の管理インターフェース１０００７を有する。
【０００９】
図１は、更に、ＬＡＮスイッチ１０１０９とＬＡＮケーブル１０１０２を介してホストコンピュータ１０１００と１０１０１に結合するリモートストレージシステム１０１０８を示す。管理サーバ１０１０６は管理インターフェース１０１０７を持ちこれらは管理サーバ１０００６及び管理インターフェース１０００７と同様な機能を果たすが、リモートストレージシステム１０１０８に接続されている。ローカルストレージシステム１０００８とリモートストレージシステム１０１０８はネットワーク１００１０により結合されている。ローカルストレージシステム１０００８での障害発生時の冗長性を確保する為に、ローカルストレージシステム１０００８は自らのファイルをリモートストレージシステム１０１０８にコピーする。更に、ＩＰネットワーク１００１１はホストコンピュータを互いに結合して、リモートホストコンピュータ１０１００と１０１０１が、必要により、ローカルホストコンピュータ１００００と１０００１の業務を引き継ぐことを可能にする。
【００１０】
図２はローカルストレージシステム１０００８とリモートストレージシステム１０１０８をより詳細に図示する。各ストレージシステム１０００８、１０１０８は各々管理インターフェース１０００７及び１０１０７と通信結合する為のＬＡＮポート２０００１を、ホスト１００００−１０１０１と交信する為にＬＡＮポート２０００２と２０００３を、更にリモートコピー機能の為にＬＡＮポート２０００４を有する。この分野では公知の如く、ストレージシステム１０００８、１０１０８はＣＰＵ２００１１、キャッシュメモリ２００１２、及び管理メモリ２００１３を持つことができる。ホストコンピュータ又はディスクドライブからのデータは、入出力処理での応答時間を短縮してスループットを向上させる為に一時的にキャッシュメモリ２００１２に保存される。
【００１１】
図２で示す如く、ＣＰＵ２００１１は管理メモリ２００１３に保存されたストレージコントロールプログラム２００１４を実行する。ストレージコントロールプログラム２００１４は、ホストコンピュータ１００００−１０１０１からの入出力要求を処理し、ファイルの配置を管理し、図１の管理コンソール１０００６、１０１０６と交信する。ファイバチャネル（ＦＣ）ディスクコントローラ２０００５はＦＣディスクドライブ２０００７との間の入出力をコントロールする。ＦＣディスクドライブは一般に高価ながらホストコンピュータに対して高性能を発揮する。一方に於いて、ＳＡＴＡ(Serial Advanced Technology Attachment)ディスクドライブの如き安価なＳＡＴＡディスクドライブ２０００９もストレージシステム１０００８、１０１０８で採用され、ＳＡＴＡディスクコントローラ２０００６に接続される。ＳＡＴＡディスクドライブはＦＣディスクドライブに比べて遥かに低価格で大容量を提供できる。しかしながら、ＳＡＴＡディスクドライブはＦＣディスクドライブに比べて一般に低性能・低信頼性である。本実施例では、各タイプ（即ち、ＦＣ又はＳＡＴＡ）のディスクドライブは異なったストレージクラスに対応する。
【００１２】
管理メモリ２００１３は、ストレージコントロールプログラム２００１４がファイル管理の為に使用する三種類のテーブルを保持する。これら三種類のテーブルはブロックテーブル２００１５、ファイルシステムテーブル２００１６及びファイルテーブル２００１７である。更に、ストレージコントロールプログラム２００１４とテーブル２００１５−２００１７はメモリ２００１３に保存されるのが好適であるが、これらは、他のコンピュータ読み取り可能な媒体に保存されアクセスされてもよい。
【００１３】
図３はブロックテーブル２００１５をより詳細に示す。このテーブルはストレージシステム内の全ディスクブロックの全ての情報を含み、どのブロックがどのファイルシステムで使用されているかを管理する為に使用される。各行はストレージクラス３０００１、ファイルシステムのＩＤ（ＦＳ  ＩＤ）３０００２、ファイルシステムの全ブロックのディスク番号と論理ブロック番号を持つ全ブロックのブロックＩＤのリスト３０００３、及び割り当てられているがファイル保存には使用されていない未使用ブロックのブロックＩＤのリスト３０００４を有する。図示の例では、ストレージクラス１はファイルシステムＩＤ １と２とディスクＤ１とＤ２を持ち、ストレージクラス２はファイルシステムＩＤ １とディスクＤ３を持っている。
【００１４】
図４はストレージシステム内の全ファイルシステムに関する情報より成るファイルシステムテーブル２００１６を示す。本テーブルはファイルシステムＩＤ４０００１、このファイルシステムがエクスポートされるＬＡＮポートのＩＰアドレス４０００２とパス４０００３、リモートストレージシステムのリモートコピーポートのＩＰアドレス４０００４、及びローカルファイルシステムからファイルがコピーされるリモートストレージシステム内のファイルシステムのリモートファイルシステムＩＤ４０００５を有する。このテーブルはファイルレベルコピーに関する情報を表示する。
【００１５】
図５はストレージシステム内の全ファイルの情報を保持するファイルテーブル２００１７を示す。このテーブルはファイルパス５０００１、ファイル保存の為に指定されたストレージクラス５０００２、ファイルが現在乗っている現行ストレージクラス５０００３、ファイル保存の為に使用されるブロックのリストを示すブロックリスト５０００４、ファイルの状態５０００５、このファイルの移行先の目標ストレージクラスである目標クラス５０００６、及び移行ファイルを保存するために使用されるブロックのリストを示す目標ブロックリスト５０００７を有する。かくして、移行中状態の間は、目標クラス５０００６はファイルが移行中の移行先クラスを表示する。ファイルテーブル２００１７はファイルシステム毎に存在する。
【００１６】
図６はローカルストレージシステムに於いて、ストレージコントロールプログラム２００１４がファイル書き込みを実行するプロセスを示すフローチャートである。ステップ６０００１にてホストコンピュータから書き込みコマンドを受信すると、ステップ６０００２にてコマンドから抽出される書き込みの為のファイルパスとデータサイズと共に、書き込むべきファイルを含む対象ファイルシステムが特定される。次いで、対象ファイルを検出する為に、対象ファイルシステムのファイルテーブル２００１７が検索される（ステップ６０００３）。指定ファイルが検出されなかったら（ステップ６０００４）、本ファイルは存在せず新規ファイルである。この場合には、ステップ６０００５にて、この新規ファイルのストレージクラスが決定されファイルテーブル２００１７に新規エントリが生成される。又このストレージクラスは既定のポリシーに従って決定できる。例えば、このポリシーは、全ての新規ファイルはストレージクラス１に保存する、ことであっても良い。ストレージコントロールプログラム２００１４はファイルテーブル２００１７に新規エントリを生成し、ステップ６０００２で指定されたパスをファイルテーブル２００１７の列５０００１に記録する。決定されたストレージクラスはファイルテーブル２００１７の列５０００２に記録され又列５０００５には“ノーマル”が記録される。列５０００６−５０００７には“Ｎ／Ａ”が記録される。
【００１７】
次いで、ステップ６０００４でファイルが検出されたか又はステップ６０００５で新規エントリが生成された場合には、ステップ６０００６にてファイルの状態が“ノーマル”かが判定される。これは、ファイルの状態が“移行中”の時には本ファイルは同時にはアクセス不能だからである。ファイルの状態が“ノーマル”なら、この状態はステップ６０００７にて“書き込み中”に変更される。当該ファイルが、ホストコンピュータから送信された全てのデータを保存するために十分なブロックを持っていない（ステップ６０００８にて）場合には、ストレージコントロールプログラムは、ブロックテーブル２００１５を参照して当該ファイルシステムの指定ストレージクラスから新規ブロックをアサインし、ステップ６０００９にてファイルテーブル２００１７の列５０００３に指定されたストレージクラスを記録する。指定されたストレージクラスが十分なブロックを持っていなければ、新規ブロックは次のストレージクラスよりアサインされこのクラスが列５０００３に記録される。全てのアサイン済ブロックのＩＤは、テーブル２００１５の列３０００４より除去されファイルテーブル２００１７の列５０００４に追記される。次いで、ステップ６００１０にてデータがそのブロックに書き込まれる。指定されたストレージクラスに十分なブロックが存在しない場合には、新規データ含めてそのファイル全体が代わりのストレージクラスに移行される。
【００１８】
ステップ６００１１にて、ストレージコントロールプログラム２００１４は、ファイルシステムテーブル２００１６の列４０００４と４０００５に各々記録されているリモートポートのＩＰアドレスとリモートファイルシステムのＩＤを指定して、ファイルパスと書き込みデータ及びストレージクラスを含めて、リモートコピーコマンドをリモートストレージシステムに送信する。このストレージクラスは、ローカルストレージシステムから送信されリモートストレージシステムで使用され、リモートストレージシステムに於いてもコピーファイルがローカルストレージシステムに於けると同様に配置される。ステップ６００１２にてリモートストレージシステムから応答を受信すると、ファイルの状態はステップ６００１３にて“ノーマル”に変更され、ステップ６００１４にてこの状態はホストコンピュータに送信されてプロセスは終了する。
【００１９】
図７はリモートストレージシステムにてコピーデータが如何に受信されるかを示す。ステップ７０００１にて、リモートストレージシステム１０１０８のストレージコントロールプログラム２００１４は、ローカルストレージシステムからリモートコピーコマンドを受信する。次いでステップ７０００２にて、ストレージコントロールプログラム２００１４は、このコマンドから対象ファイルとこの対象ファイルのストレージクラスを抽出する。ステップ７０００３−７０００５は、図６で述べたステップ６０００３−６０００５と同様な為再度述べる必要は無い。更に、ステップ７０００６−７０００８は図６のステップ６０００８−６００１０と同様でここでは再度述べる必要は無い。ステップ７０００９にて、ストレージコントロールプログラム２００１４はローカルストレージシステムに応答を返送する。ローカルストレージシステムから送信されたストレージクラスに基づいて、コピーファイルはリモートストレージシステムに於いて適切に配置される。
【００２０】
図８はローカルストレージシステムに於けるデータ移行のプロセスを示す。ステップ８０００１にて、管理サーバからファイルシステム、移行対象のファイル、ファイルのパス及び移行先ストレージクラスを指定した移行コマンドを受信する。更に本実施例に於いては管理サーバがこの移行コマンドを送信するとしているが、これら及びその他のコマンドは、ローカルストレージシステムと交信するホストコンピュータ又は他の認定されたコンピュータが送信しても良いことを理解する必要がある。ステップ８０００２にて、ファイルパスと目標ストレージクラスがコマンドから抽出される。ステップ８０００３にて、指定ファイルシステムのファイルテーブル２００１７より指定ファイルを検索し、本ファイルの状態が“ノーマル”であることを確認する（ステップ８０００４）。状態が“ノーマル”なら、ストレージコントロールプログラムは状態を“移行中”に変更し（ステップ８０００５）、ブロックテーブル２００１５の列３０００４を検索して（ステップ８０００６）、指定ストレージクラスの新規ブロックをアサインする。状態が“ノーマル”でない場合には、このファイルは通常は現に移行中か更新中で、プロセスは当該状態が終了するのを待つ。アサインされたブロックのＩＤは列３０００４から除去されファイルテーブル２００１７の列５０００７に追記される。指定されたストレージクラスは同様にファイルテーブル２００１７の列５０００６に記録される。
【００２１】
ステップ８０００７にて、データはそのブロックにコピーされ、ファイルテーブル２００１７の列５０００６の内容は列５０００２と５０００３にコピーされる。列５０００４で指定されたブロックは解放される。即ち、ファイルテーブル２００１７の列５０００４に記録されたＩＤは除去されブロックテーブル２００１５の列３０００４に追記される。ファイルテーブル２００１７の列５０００７のデータは列５０００４にコピーされ、ファイルテーブル２００１７の列５０００６と５０００７には“Ｎ／Ａ”が記録される（ステップ８０００８）。次いで、ステップ８０００９にて、各々列４０００４と４０００５に記録されたリモートポートのＩＰアドレスとリモートファイルシステムのＩＤを指定して、ファイルパスと目標ストレージクラスを含む移行コマンドが、リモートストレージシステムに送信される。このストレージクラスは、ローカルストレージシステムが送信しリモートストレージシステムが使用し、リモートストレージシステムに於いてもコピーファイルをローカルストレージシステムと同様に配置することが可能になる。リモートストレージシステムは、下記に示す図９で説明されるプロセスを実行して応答を返送する。ステップ８００１０にてリモートストレージシステムから応答を受信すると、ファイルの状態を“ノーマル”に変更し（ステップ８００１１）、ステップ８００１２にて動作状態を管理サーバに送信する。
【００２２】
図９はリモートストレージシステムでのデータ移行を示す。リモートストレージシステム１０１０８のストレージコントロールプログラム２００１４が移行コマンドを受信したら（ステップ９０００１）、ステップ９０００２にて、指定ファイルシステムでのファイルパスとこのファイルが移行すべき目標ストレージクラスを抽出する。ステップ９０００３−９０００５は図８のステップ８０００６−８０００８と同様で、再度の説明は不要である。最後に、ステップ９０００６にてストレージコントロールプログラムはローカルストレージシステムに応答を返送する。ローカルストレージシステムから送信されたストレージクラスに基づいて、コピーファイルはリモートストレージシステムに於いて適切に配置され、ローカルストレージシステムでの障害時に於いて、リモートストレージシステムに於いてもローカルストレージシステムに於いて発揮したであろうと全く同様に各種の属性とファイルの性能が発揮される。
【００２３】
第二の実施例
本発明の第二の実施例に於いては、一つのファイルシステムは唯一つのストレージクラスしか持たない。従って、ファイルが一つのストレージクラスから別のストレージクラスに移行するには、そのファイルは別のファイルシステムに移動する。図１０は第二の実施例で使用されるファイルテーブルの修正フォーマットをファイルテーブル２００１７ａで示す。列５０００６と５０００７は、移行先の目標ファイルシステムのＩＤを含む列１００００６に置き換えられ、一方列５０００１−５０００５は既に図５に関連して述べた通りである。
【００２４】
ローカルストレージシステム１０００８でのストレージコントロールプログラム２００１４の第二の実施例のプロセスフローを図１１に示す。図１１でのプロセスは二つのファイルシステム間でのファイルの移行を示す。この図と図８の間の相違をここで説明する。ステップ１１０００１にて、目標ストレージクラスの代わりに目標ファイルシステムを含む移行コマンドを管理サーバから受信する。ステップ１１０００２にて、移行対象のファイルと目標ファイルシステムが特定される。ステップ１１０００３にて、指定ファイルはファイルテーブル２００１７ａにて検索され、そのファイルの状態が“ノーマル”（ステップ１１０００４）か否かが判定される。状態が“ノーマル”でなければ、プロセスは状態が“ノーマル”になる迄、即ち、ホストよりの入出力コマンド又は前の移行コマンドが完了する迄待つ（ステップ１１０００４）。状態が“ノーマル”になったら、状態を“移行中”に変更する（ステップ１１０００５）。ステップ１１０００６にて、目標ファイルシステムのファイルテーブル２００１７ａに新規エントリが生成され、新規ブロックが目標ファイルシステムにアサインされる。ステップ１１０００７にて、ファイルはこの新規ブロックにコピーされ、ステップ１１０００８にて、旧ブロックリストで指定されたブロックは解放される。ステップ１１０００９にて、リモート目標ストレージクラスの代わりに、目標ファイルシステムＩＤがリモートストレージシステム１０１０８に送信される。リモートファイルシステムのＩＤは、図４のファイルシステムテーブル２００１６の列４０００５を調べることにより決定される。リモートストレージシステム１０１０８は次いで、下記に示す図１２のステップを実行し応答をローカルストレージシステム１０００８に返送する。ステップ１１００１０にて応答を待ち、応答が受信されると、このファイルはもはや元のファイルシステムには存在しない為ステップ１１００１１にてファイルの状態は“移行済”に変更される。最後に、ステップ１１００１２にてこの状態は管理サーバに送信される。
【００２５】
図１２は第二の実施例に従うリモートストレージシステムに於けるストレージコントロールプログラムのプロセスフローを示す。ステップ１２０００１にて、リモートストレージシステム１０１０８はローカルストレージシステム１０００８から移行コマンドを受信する。ステップ１２０００２にて、目標ストレージクラスに代わって目標ファイルシステムのＩＤが抽出される。ステップ１２０００３と１２０００６は各々図１１のステップ１１０００６と１１００１１と同様である。ステップ１２０００４にて、ファイルはこのブロックにコピーされ、旧ブロックリストで指定されるブロックはステップ１２０００５にて解放される。最後に、ステップ１２０００７にて応答がローカルストレージシステムに送信される。
【００２６】
図１３はストレージコントロールプログラム２００１４が“移行済”ファイルへのアクセス要求を如何に扱うかを示す。指定ファイルの状態が“移行済”ならホストコンピュータに指定ファイルは移行されたことを通知する。図１３に示す通り、ステップ１３０００１にてホストコンピュータから入出力コマンドを受信し、対象ファイルシステムとファイルのパスをステップ１３０００２にて特定する。ステップ１３０００３にて、指定ファイルをファイルテーブル２００１７又は２００１７ａ内にて検索する。ステップ１３０００４にて指定ファイルが検出されると、その状態が移行済かを判定する（ステップ１３０００６）。移行済ならホストコンピュータは指定ファイルが既に移行されたことをステップ１３０００７にて通知される。このことは、例えば、ＲＦＣ３５３０で規定されるＮＦＳ(Network File System)ｖｅｒｓｉｏｎ４移行機能を使用して実現できる。この方式では、ホストコンピュータが“ｆｓ＿ｌｏｃａｔｉｏｎｓ”属性を要求すると、ストレージコントロールプログラムは、目標ファイルシステムのＩＤを（ファイルテーブル２００１７ａの列１００００６に記載で)調べ、そのＩＤをファイルシステムテーブル２００１６の列４００１より検索し、列４０００２と４０００３を当該属性として返送する。ファイルの状態が移行済でなければ通常の読み書きプロセスがステップ１３０００９にて実行される。以上に反して、ステップ１３０００４にてファイルが検出されなければ、エラーが発行される。
【００２７】
本明細書では具体的な実施例を図示し説明してきたが、本分野に通常の造詣を持つ人には、同じ目的を達成すると見込まれる如何なるやり方でも開示された具体的実施例を代替できることを理解するであろう。この開示は本発明の全ての如何なる改造又は変形をもカバーすべく意図されており、これ迄の記述は説明の為でありこれに限定するものではないことを理解する必要がある。従って、本発明の範囲は添付する請求項を参照して、本請求項の権利が及ぶ全ての均等物と共に判断する必要がある。
【図面の簡単な説明】
【００２８】
【図１】図１は本発明の方法と装置が適用されるコンピュータストレージシステムの概要を図示する。
【図２】図２はローカルストレージシステム又はリモートストレージシステムをより詳細に図示する。
【図３】図３は本発明に従うブロックテーブルの一例を図示する。
【図４】図４は本発明に従うファイルシステムテーブルの一例を図示する。
【図５】図５は本発明に従うファイルテーブルの一例を図示する。
【図６】図６はローカルストレージシステムに於いて、ストレージコントロールプログラムがファイル書き込みの為に実施するプロセスを示すフローチャートである。
【図７】図７はリモートストレージシステムがコピーデータを如何に受信するかを示すフローチャートである。
【図８】図８はローカルストレージシステムでのデータ移行プロセスを示すフローチャートである。
【図９】図９はリモートストレージシステムでのデータ移行プロセスを示すフローチャートである。
【図１０】図１０はファイルテーブルの修正フォーマットを図示する。
【図１１】図１１は第二の実施例に従うローカルストレージシステムに於けるストレージコントロールプログラムのプロセスフローを示すフローチャートである。
【図１２】図１２は第二の実施例に従うリモートストレージシステムに於けるストレージコントロールプログラムのプロセスフローを示すフローチャートである。
【図１３】図１３はストレージコントロールプログラムが“移行済”ファイルへのアクセス要求を如何に扱うかを示すフローチャートである。
【符号の説明】
【００２９】
１００００、１０００１、１０１００、１０１０１……ホストコンピュータ、１０００６……管理サーバ、１０００７……管理インターフェース、１０００８……ローカルストレージシステム、１０１０８……リモートストレージシステム、２００１４……ストレージコントロールプログラム、２００１５……ブロックテーブル、２００１６……ファイルシステムテーブル、２００１７……ファイルテーブル
【図１】
2007265403.tif 000003
【図２】
2007265403.tif 000004
【図３】
2007265403.tif 000005
【図４】
2007265403.tif 000006
【図５】
2007265403.tif 000007
【図６】
2007265403.tif 000008
【図７】
2007265403.tif 000009
【図８】
2007265403.tif 000010
【図９】
2007265403.tif 000011
【図１０】
2007265403.tif 000012
【図１１】
2007265403.tif 000013
【図１２】
2007265403.tif 000014
【図１３】
2007265403.tif 000015
【外国語明細書】
2007265403000001.pdf