(57)【要約】      （修正有）【課題】システムのスケールを拡張するために、複数のストレージシステムを接続する際に有効なストレージ構成方法を提供する。【解決手段】システムは、異なるストレージ機能を提供する複数のストレージシステムを含み、かつ管理サーバによって制御される。管理サーバは、ストレージシステム間のストレージコントローラの制御を変更するか、又は移動先ボリュームを外部ボリュームとしてマウントして、ストレージコントローラを制御下に置いたままにするか否かを決定し、これによって、移動元ボリュームに提供されるストレージ機能が、ストレージシステム間の構成変更の後でも維持される。この決定を行った後に、管理サーバは、ストレージシステムに対して、決定に従って実行するように指示する。【選択図】図１
2012027904.tif 000002
【特許請求の範囲】
【請求項１】
第１のメモリに格納された複数のプログラムを含む第１のストレージコントローラ、及びホストコンピュータに提供される複数の第１のストレージボリュームを含む、第１のストレージシステムと、
第２のメモリに格納された複数のプログラムを含む第２のストレージコントローラを含む、第２のストレージシステムと、
第３のメモリに格納された移動プログラムを含む管理サーバと
を備えるシステムであって、
前記移動プログラムが、前記第１及び第２のストレージシステムの両方で利用可能なストレージ機能に関する情報を収集し、かつ前記第１のコントローラから前記第２のコントローラへの移動を条件としてデータの制御を変更するか、又は前記収集された情報に基づいて前記第２のストレージシステムのボリュームを外部ボリュームとして前記第１のストレージシステムにマウントするか否かを決定する、システム。
【請求項２】
ストレージ機能に関する前記情報が、互換性の情報を含む、請求項１に記載のシステム。
【請求項３】
前記移動プログラムが、利用可能な前記第２のストレージシステムの残容量、及び前記第１のストレージシステムのデータを前記第２のストレージシステムに移動するのに必要な容量についての情報を取得し、
前記第２のストレージシステムの前記残容量が、前記第１のストレージシステムのデータを前記第２のストレージシステムに移動するのに必要な前記容量を超えない場合に、前記第２のストレージシステムが前記第１のストレージシステムにマウントされて、前記第２のストレージシステムのボリュームが外部ボリュームとして前記第１のストレージシステムに提供される、請求項１に記載のシステム。
【請求項４】
利用可能な前記第２のストレージシステムの前記残容量が、許容容量から、前記第１のストレージシステムで使用された前記第２のストレージシステムの各ストレージ機能の使用容量を減じて計算することによって提供される、請求項３に記載のシステム
【請求項５】
前記移動プログラムが、前記第１のコントローラから前記第２のコントローラへの移動を条件として、又はボリューム単位で前記第２のストレージシステムのボリュームを外部ボリュームとして前記第１のストレージシステムにマウントすることによって、データの制御を変更するか否かを決定する、請求項３に記載のシステム。
【請求項６】
前記移動プログラムが、前記第２のストレージシステムが前記ホストコンピュータからアクセス可能であるか否かに関する情報を取得し、
前記第２のストレージシステムが前記ホストコンピュータからアクセス可能でない場合に、前記第２のストレージシステムが前記第１のストレージシステムにマウントされて、前記第２のストレージシステムのボリュームが前記第１のストレージシステムに外部ボリュームとして提供される、請求項１に記載のシステム
【請求項７】
前記移動プログラムが、前記第１のコントローラから前記第２のコントローラへの移動を条件としてデータの制御を変更することを決定した場合、前記第１又は第２のストレージシステムのストレージ機能を使用して前記データ移動が完了した後で、前記ホストコンピュータは、前記第１のストレージシステムの移動元ボリュームへのパスを前記第２のストレージシステムの移動先ボリュームに変更する、請求項１に記載のシステム。
【請求項８】
前記移動プログラムが、前記第１のストレージシステムのストレージ機能を使用することによって、又は前記第２のストレージシステムのストレージ機能を使用することによって、前記第１のストレージシステムから前記第２のストレージシステムへデータを移動するか否かをさらに決定し、
前記移動プログラムが、前記第１のストレージシステムのストレージ機能を使用して、前記第１のストレージシステムから前記第２のストレージシステムにデータを移動することに決定した場合、前記移動プログラムは、前記移動を実行するために前記第１のメモリに格納された前記複数のプログラムのうちのプログラムを呼び出す、請求項７に記載のシステム。
【請求項９】
前記ストレージ機能に関する前記情報が前記第１及び第２のストレージシステムに格納され、前記第１のストレージシステムで使用される前記ストレージ機能に関する前記情報が前記第１のストレージボリュームの各々について対応付けられ、かつ前記第２のストレージシステムに格納される前記ストレージ機能に関する前記情報が、各ストレージ機能のために利用可能な容量を含む、請求項１に記載のシステム。
【請求項１０】
第１のストレージシステムと第２のストレージシステムとの間のデータを制御する方法であって、
前記第１のストレージシステム上の複数のストレージボリュームの各ボリュームのために使用されるストレージ機能に関する情報を維持することと、
前記第２のストレージシステムで利用可能なストレージ機能に関する情報を維持することと、
前記第１のストレージシステム上の前記複数のストレージボリュームの移動元ストレージボリュームのデータを、前記第２のストレージシステムの移動先ストレージボリュームに移動する要求を受信することと、
移動先ストレージボリュームが、前記移動元ストレージボリュームによって使用された前記ストレージ機能をサポートしない場合に、前記移動先ストレージボリュームを前記第１のストレージシステムにマウントし、前記移動元ストレージボリュームから前記移動先ストレージボリュームにデータを移動し、かつ前記第１のストレージシステムの第１のコントローラによって前記移動先ストレージボリュームを外部ボリュームとしてホストコンピュータに提供することと
を含む方法であり、
前記第１のコントローラが、前記移動元ストレージボリュームから前記移動先ストレージボリュームへのデータの前記移動の前に、前記移動元ストレージボリュームを前記ホストコンピュータに提供する、方法。
【請求項１１】
前記第１のコントローラから前記第２のコントローラへの移動を条件としてデータの制御を変更するか、又は前記第１及び第２のストレージシステムの両方のための前記維持された情報に基づいて前記移動先ボリュームを外部ボリュームとして前記第１のストレージシステムにマウントするか否かを決定することをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記移動先ボリュームが前記ホストコンピュータからアクセスできない場合、前記移動先ストレージボリュームを前記第１のストレージシステムにマウントし、前記移動元ストレージボリュームから前記移動先ストレージボリュームにデータを移動し、かつ前記第１のコントローラによって前記移動先ストレージボリュームを外部ボリュームとして前記ホストコンピュータに提供することをさらに含む、請求項１０に記載の方法。
【請求項１３】
前記移動先ストレージボリュームの残容量が、前記移動元ストレージボリュームを移動するのに必要な容量を超えない場合、前記移動先ストレージボリュームを前記第１のストレージシステムにマウントし、前記移動元ストレージボリュームから前記移動先ストレージボリュームにデータを移動し、かつ前記第１のコントローラによって前記移動先ストレージボリュームを外部ボリュームとして前記ホストコンピュータに提供することと、
前記第２のストレージシステムによって提供される各ストレージ機能についての許容容量及び使用容量に関する情報を維持することと
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記第１及び第２のストレージシステムの前記ストレージ機能間の互換性の情報を維持することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記第１のストレージシステムのストレージ機能を使用して移動が実行される場合、前記第１のコントローラが、前記ストレージ機能を実行するためにプログラムを実行し、かつデータ移動が完了した後で、前記ホストコンピュータが、前記移動元ボリュームへのパスを前記移動先ストレージボリュームに変更する、請求項１１に記載の方法。
【請求項１６】
前記第２のストレージシステムのストレージ機能を使用して移動が実行される場合、前記第２のストレージシステムの第２のコントローラが、前記ストレージ機能を実行するためにプログラムを実行し、かつデータ移動が完了した後で、前記ホストコンピュータが、前記移動元ボリュームへのパスを前記移動先ストレージボリュームに変更する、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明は、異種ストレージシステム間のデータ制御方法及び装置に関する。
【背景技術】
【０００２】
０００２    ストレージシステムのスケーラビリティを達成するために、「スケールアップ」手法及び「スケールアウト」手法が一般的に使用される。スケールアップ手法は、ストレージの構成要素、例えば、コントローラ、キャッシュメモリ、ポート、及びディスクを設置することによって、システムのスケールを拡張することができる。他方、スケールアウト手法は、複数のストレージモジュールを接続することによって、システムのスケールを拡張することができる。ストレージモジュールは、コントローラと、キャッシュメモリと、ポートと、ディスクとを含む。このような例は、米国特許第２００５／０１４４１７３（Ａ１）号、米国特許第２０１０／００７０７２２（Ａ１）号に開示されている。スケールアウト手法の環境では、ストレージモジュールは、２つ以上のストレージモジュールの間のデータ移動機能を実行し得る。この機能は、ストレージ交換及び負荷バランシングに有用であるが、移動元ボリュームを含むストレージシステムがデータコピー機能を有するが、移動先ボリュームを含む他のストレージシステムが対応する機能を有しない場合には適用できない。さらに、両方のストレージシステムがデータコピー機能を有する場合であっても、異種ストレージシステム間のデータ移動は、互換性のために実行されないかもしれない。
【０００３】
０００３    米国特許第７,３８６,５９８号は、仮想化されたストレージ領域のコピーを作成する方法を開示する。サーバは、ストレージユニットシステムがコピー操作を行うことができるか否かを判断し、コピー操作ができない場合は、サーバは、データをストレージユニットに書き込むことになる。
【０００４】
０００４    米国特許第７,２２８,３８０号は、第１のストレージシステムと第２のストレージシステムを接続する方法を開示し、かつ第２のストレージシステムのボリュームを、第１のストレージシステムの外部デバイスとしてホストに提供する。ストレージは、外部ストレージと接続し、外部ストレージのボリュームをマウントし、かつ外部ストレージボリュームにデータを格納することによって仮想ボリュームを提供する。
【０００５】
０００５    しかし、この方法は、データ移動機能を使用する方法と比較して、外部ボリュームを制御するために第１のストレージシステムのストレージリソース（ポート、キャッシュメモリ、及びプロセッサ時間）を必要とする。データ移動機能を使用する方法では、ホストとストレージシステムとの間の接続の変更を含むデータ移動が完了した後、第１のストレージシステムのストレージリソースを必要としない。
【発明の概要】
【０００６】
０００６    本発明の典型的な実施形態は、異なるストレージ機能を提供する複数のストレージシステムを含むシステムを提供し、かつストレージシステム間のデータ移動を制御する管理プログラムによって管理される。システム全体に対するデータの制御は、移動元及び移動先としての各ストレージシステム主体のストレージ機能の情報に基づいて、ストレージシステム間の制御を選択することによって実行される。
【０００７】
０００７    一実施形態では、管理プログラム移動プログラムは、第１及び第２のストレージシステムの両方で利用可能なストレージ機能に関する情報を収集し、かつ第１のコントローラから第２のコントローラへの移動を条件としてデータの制御を変更するか、又は収集された情報に基づいて第２のストレージシステムのボリュームを外部ボリュームとして第１のストレージシステムにマウントするかを決定する。
【図面の簡単な説明】
【０００８】
【図１】０００８    図１は、発明の構成の概要の一例を示す。
【図２】０００９    図２は、図１のストレージサブシステム１００のボリューム情報テーブル１２１の一例を示す。
【図３Ａ】００１０    図３Ａは、図１のストレージサブシステム１００の機能情報テーブル１２２の一例を示す。
【図３Ｂ】００１１    図３Ｂは、図１のストレージサブシステム２００の機能情報テーブル２２２の一例を示す。
【図４】００１２    図４は、図１の移動管理サーバ３００のストレージ管理テーブル３２１の一例を示す。
【図５】００１３    図５は、図１の移動管理サーバ３００のネットワーク管理テーブル３２２の一例を示す。
【図６】００１４    図６は、図１の移動管理サーバ３００の移動管理シーケンス３１０の一例を示す。
【図７】００１５    図７は、移動後の本発明の構成の一例を示す。
【図８】００１６    図８は、移動後の本発明の構成の一例を示す。
【図９】００１７    図９は、本発明の構成の概要の一例を示す。
【図１０】００１８    図１０は、発明の構成の概要の一例を示す。
【図１１】００１９    図１１は、図１０の移動管理サーバ３００の移動管理シーケンス３１０’の一例を示す。
【発明を実施するための形態】
【０００９】
００２０    第１の実施形態
【００１０】
００２１    図１は、本発明の方法及び装置が適用され得るシステムの構成を示す。ストレージサブシステム１００、２００は、ネットワーク４００を介してホストコンピュータ５００に接続される。ネットワーク４００は、ＳＡＮ（ストレージエリアネットワーク）、又はＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）ネットワークであり得る。ストレージサブシステム１００は、ホストコンピュータ５００からＩ／Ｏコマンドを受信し、ホストコンピュータ５００にストレージボリューム１３１を提供する。
【００１１】
００２２    ホストコンピュータ５００は、ＣＰＵと、メモリと、インタフェースとを含む。ＣＰＵは、メモリに格納されたプログラムを読み出し、かつプログラムを実行する。プログラムは、アプリケーションと、オペレーティングシステム（ＯＳ）と、パス管理ソフトウェア５０１とを含む。パス管理ソフトウェア５０１は、移動のために又はパス障害の対策として、ストレージサブシステムへのネットワークパスを変更する。
【００１２】
００２３    ストレージサブシステム１００、２００は、ＣＰＵと、メモリと、ストレージインタフェースと、ディスクインタフェースとを含むストレージコントローラを含む。ＣＰＵは、ストレージサブシステム１００、２００を制御し、メモリからマイクロコード１１０、２１０及びテーブル１２０、２２０を読み出す。メモリは、マイクロコード１１０、２１０及びテーブル１２０、２２０を格納する。ストレージインタフェースは、ストレージネットワーク４００を介して複数のホストコンピュータ５００と接続する。ストレージサブシステム１００のストレージインタフェースは、ストレージサブシステム２００のストレージインタフェースと接続する。ディスクインタフェースは、ディスクユニットに格納された複数の記憶装置と接続し、このディスクユニットは、ストレージサブシステム内にあるか、又はストレージサブシステム外に結合され得る。記憶装置は、データを格納するためのＳＳＤ（solid-state devices）（フラッシュメモリなど）、及び／又はハードディスクドライブ（ＨＤＤ）で構成される。
【００１３】
００２４    ストレージサブシステムのメモリに格納された管理テーブル１２０、２２０は、ボリューム情報テーブル１２１、２２１と、機能情報テーブル１２２、２２２とを含む。ボリューム情報テーブル１２１、２２１は、ストレージサブシステム内の各ストレージボリューム１３１についての論理ボリューム構成情報を提供する。機能情報テーブル１２２、２２２は、ストレージサブシステムに提供される機能に関する情報を提供する。各ストレージサブシステムに提供される機能は、ストレージマイクロコード１１０、２１０に格納されたプログラムをＣＰＵが実行することによって実現される。この例では、ストレージサブシステム１００は、移動機能１１１、外部ボリューム管理機能１１２、ローカルコピー機能１１３、リモートコピー機能１１４、圧縮機能１１５、及び暗号化機能１１６を実行するためのプログラムを有する。ストレージサブシステム２００は、ローカルコピー機能２１３及びリモートコピー機能２１４を実行するためのプログラムを有する。移動機能１１１のためのプログラムは、ストレージサブシステム間でボリュームを移動し、移動元ストレージボリュームが元々提供されていたホストコンピュータ５００からのパスを変更する。外部ボリューム管理機能１１２のためのプログラムは、外部ボリュームとして他のストレージサブシステムのボリュームをマウントし、この外部ボリュームは、そのストレージボリュームとしてホストコンピュータに提供される。ローカルコピー機能１１３のためのプログラムは、ボリュームのデータを同じストレージサブシステム内のボリュームにコピーする。ボリュームは、ストレージシステム内の記憶装置に割り当てられた内部ボリューム、及びストレージシステム外の記憶装置に割り当てられた外部ボリュームを含む。リモートコピー機能１１４のためのプログラムは、ボリュームのデータを他のストレージサブシステムのボリュームにコピーする。圧縮機能１１５のためのプログラムは、ボリュームのデータを圧縮する。暗号化機能１１６のプログラムは、ボリュームに書き込まれたデータを暗号化し、ボリュームから読み出されたデータを復号する。
【００１４】
００２５    移動機能１１１のためのプログラム（ストレージコントローラの制御を、ストレージサブシステム内のストレージコントローラからストレージサブシステム外の別のストレージコントローラに変更することも行う）は、ストレージサブシステム１００、２００の構成によっては適用できないかもしれない。なぜならば、この機能を使用したボリュームの移動が、異なるストレージシステムによるボリュームの管理を必要とするからである。例えば、ストレージサブシステム１００の移動元ボリュームにアクセスしているホストが、ストレージサブシステム２００の移動先ボリュームに物理的に接続されていない場合は、アクセス可能性が解決されない限り、このボリュームは移動されるべきではない。さらに、ストレージサブシステム１００の移動元ボリュームのために使用される機能が、移動先ボリュームのためのストレージサブシステム２００によって提供できない場合は、移動機能は使用されるべきではない。
【００１５】
００２６    外部ボリューム管理機能１１２のためのプログラムは、移動先ボリュームの制御が移動元ストレージサブシステムによって維持されるので、この問題を解決するだろう。一方、このプログラムは、オリジナルのストレージサブシステム１００のコントローラによる制御を必要とするため、ＣＰＵ負荷バランスを他のストレージサブシステムに広げず、システム全体として効率的ではないかもしれない。なぜならば、ＣＰＵ、記憶装置を含むアップグレードされたハードウェアを有するより新しいストレージシステムへの移動が実行されるかもしれないからである。よって、リソースを効率的に使用し、かつ移動後でもユーザが利用可能な機能を維持するために、本実施形態では、移動管理サーバは、異なるストレージシステムのボリューム間でデータを移動するために、どの機能を使用するかを決定する。
【００１６】
００２７    移動管理サーバ３００は、移動プロセスを管理し、かつＣＰＵと、メモリと、インタフェースとを含む。ＣＰＵは、メモリからプログラム３１０及びテーブル３２１、３２２を読み出す。メモリは、プログラム３１０及びテーブル３２１、３２２を格納する。移動管理プログラム３１０は、ストレージサブシステム間のボリューム移動を制御する。この例では、移動元ボリューム１３１は、ストレージサブシステム１００からストレージサブシステム２００に移動されることになる。ストレージ管理テーブル３１１は、ストレージマイクロコードの互換性の情報を含む。また、ストレージ管理テーブル３１１は、ストレージサブシステム１００、２００の管理情報１２０、２２０のコピーを有し得る。ネットワーク管理テーブル３１２は、ストレージサブシステム１００、２００とホストコンピュータ５００との間の到達可能なネットワーク関係の情報を含む。
【００１７】
００２８    図２は、図１のストレージサブシステム１００のボリューム情報テーブル１２１の一例を示す。ボリューム情報テーブル１２１は、論理ボリューム構成を提供する。ボリューム情報テーブル１２１は、ボリュームのＩＤとしてのボリューム番号１２１−１、ボリュームの容量を表す容量１２１−２、及びボリュームのために使用される機能を表す適用された機能１２１−３の欄を含む。例えば、ボリューム１は、ローカルコピー及び暗号化機能を使用しているが、ボリューム４は、リモートコピーを使用している。図１のストレージサブシステム２００のボリューム情報テーブル２２１は同じ欄を含むが、ストレージサブシステム２００のコントローラによってホストコンピュータに提供されたそのストレージボリュームの情報を反映する。
【００１８】
００２９    図３Ａは、図１の機能情報テーブル１２２の一例を示す。機能情報テーブル１２２は、機能の名前を表す機能名１２２−１、ストレージサブシステム１００の機能のために利用可能な全容量を表す許容容量１２２−２、及びストレージサブシステム１００の機能のために既に使用された容量を表す使用容量１２２−３の欄を含む。外部ボリュームのエラーチェックコードテーブル１１２−１１−３は、さらに、外部ボリュームのエラーチェックコードを表すエラーチェックコード１１２−１１−３−３を含み、このエラーチェックコードは、スロット内のデータの計算されたハッシュ値である。よって、ストレージサブシステム１００に格納されたローカルコピー機能は、その許容容量１０テラビットのうちの１.４テラビットを使用しており、ストレージシステム１００のために最大８.６テラビットを提供することができる。
【００１９】
００３０    図３Ｂは、図１の機能情報テーブル２２２の一例を示す。図１のストレージサブシステム２００の機能情報テーブル２２２は、同じ欄を含むが、ストレージサブシステム２００のコントローラによってホストコンピュータに提供されるその機能の情報を反映する。このストレージサブシステム２００では暗号化機能、圧縮機能が利用できないので、このストレージサブシステム２００にはその機能に対応する行がない。
【００２０】
００３１    図４は、図１のストレージ管理テーブル３２１の一例を示す。ストレージ管理テーブル３２１は、機能の名前を表す機能名３２１−１、及び互換性のある機能名の情報を表す互換性情報３２１−２の欄を含む。よって、リモートコピーＶ０２、Ｖ０３はそれぞれ、リモートコピーＶ０１、Ｖ０１及びＶ０２の前のバージョンと互換性があるが、逆の互換性はない。
【００２１】
００３２    図５は、図１のネットワーク管理テーブル３２２の一例を示す。ネットワーク管理テーブル３２２は、ホストコンピュータのＩＤを表すホストコンピュータＩＤ３２２−１、及びホストコンピュータからの到達可能なストレージＩＤの情報を表すストレージＩＤ３２２−２の欄を含む。ストレージＩＤは、各ストレージサブシステムに一致する。いくつかのシステムでは、製品番号及び／又はシリアル番号が、ストレージＩＤとして使用され得る。ここで、ネットワークは、ホストコンピュータＩＤ２、３がストレージサブシステム０、１、２、３、４、５にアクセスすることを可能にするが、ホストコンピュータＩＤ０、１についてはストレージサブシステム０、１、２へのアクセスに限定される。よって、ストレージＩＤ１、２で示される、図１で示されるストレージサブシステム１００、２００は、ＩＤ０〜３を有するホストコンピュータからのみアクセス可能である。アクセス可能性は、ゾーニング又は実際の物理的接続可能性によって制御され得る。
【００２２】
００３３    図６は、図１の移動管理サーバ３００の移動管理プログラム３１０のプロセスフローの一例を示す。このプログラムは、ユーザの要求によって、又はストレージサブシステム１００の負荷、容量が所定のレベルを超えているという決定によって、実行され得る。プログラムは、３１０−０で開始する。ステップ３１０−１では、プログラムは、ストレージサブシステム２００で移動先ボリュームを確立する。ステップ３１０−２では、プログラムは、ストレージサブシステム１００及び２００からストレージ機能情報を収集する。よって、ボリューム情報テーブル１２１及び機能情報テーブル２２２に格納された情報は、移動管理サーバ３００に読み込まれる。ステップ３１０−３では、プログラムは、移動先ボリュームとホストコンピュータとの間のパス関係をチェックする。ネットワーク管理テーブル３２２に格納された情報は、移動先ボリュームが、移動元ボリュームにアクセスしたホストコンピュータからアクセス可能であるか否かを決定するために使用される。パスが存在する場合は、プログラムはステップ３１０−４に進む。パスが存在しない場合は、プログラムはステップ３１０−８に進む。
【００２３】
００３４    ステップ３１０−４では、プログラムは、移動元ボリュームで使用されるストレージ機能がストレージサブシステム２００の機能によってサポートされ得るか否かをチェックする。ボリューム情報テーブル１２１、ストレージ管理テーブル３２１、及び機能情報テーブル２２２に格納された情報は、移動先ボリュームが移動元ボリュームで使用されるストレージ機能をサポートできるか否かを決定するために使用される。移動元ボリュームに適用される機能は、ボリューム情報テーブル１２１に格納される。これらの機能は、ボリュームを同じストレージコントローラによって制御されない移動先に移動するために、ストレージサブシステム２００のコントローラによって提供される必要がある。よって、ストレージサブシステム２００は、そのストレージマイクロコード２１０でストレージ機能又は互換性のあるストレージ機能を有していなければならない。これらの機能がストレージサブシステム２００によって提供され得る場合は、プログラムはステップ３１０−５に進むか、あるいはステップ３１０−８に進む。例えば、ボリューム情報テーブル１２１は、ローカルコピー及び暗号化機能がボリューム番号０に適用されることを示す。しかし、ストレージサブシステム２００は、機能情報テーブル２２０に示される通り暗号化機能を有しないので、移動先ストレージシステムは、ボリューム番号０のデータを制御することができない。また、ボリューム情報テーブル１２１は、ローカルコピー及びリモートコピー機能Ｖ０２がボリューム番号３に適用されることを示す。機能情報テーブル２２２は、ローカルコピー機能及びリモートコピー機能Ｖ０１がストレージサブシステム２００で適用され得ることを示す。ストレージ管理テーブル３２１によると、リモートコピーＶ０１は、リモートコピーＶ０２と互換性がない。よって、ストレージサブシステム２００のストレージコントローラは、ローカルコピーを移動先ボリュームに提供し得るが、ストレージサブシステム１００のストレージコントローラによって移動元ボリュームに適用されたリモートコピーを提供することはできないだろう。
【００２４】
００３５    ステップ３１０−５では、プログラムは、移動先ボリュームが、ストレージサブシステム２００で移動元ボリュームによって提供されるストレージ機能を提供するために十分な容量を有しているか否かをチェックする。機能情報２２２に格納された情報が、少なくとも移動先ボリュームに引き継がれなければならないストレージ機能のために取得される。移動の対象となる移動元ボリュームの容量が、ストレージサブシステム２００の使用済容量を差し引いた許容容量以下である場合、ストレージシステムは、ストレージ機能を移動先ボリュームに提供することができるだろう。しかし、移動の対象となる移動元ボリュームの容量が、ストレージサブシステム２００の使用済容量を差し引いた許容容量よりも大きい場合は、許容内容に違反することになるため、又は機能を完全には実行できないため、ストレージシステムは、ストレージ機能を移動先ボリュームに提供することができないことになる。よって、前者の場合は、当該ストレージ機能は、移動先ボリュームに引き継ぐことができ、プログラムは、ステップ３１０−６に進む。移動先ボリュームに引き継ぐことができないストレージ機能がある後者の場合は、プログラムはステップ３１０−８に進み、その結果、ストレージサブシステム１００のストレージコントローラは、ストレージ機能の制御を保持し、移動先ボリュームを外部ボリュームとして扱う。例えば、ボリューム情報テーブル１２１は、ローカルコピーがボリューム番号１に適用され、ボリュームの容量が５００ＧＢであることを示す。機能情報テーブル２２２は、ストレージサブシステム２００のローカルコピー機能が最大８．６ＴＢまで実行できることを示す。よって、ストレージサブシステム２００のストレージコントローラは、ボリューム番号１に適用される機能を提供することができる。
【００２５】
００３６    ステップ３１０−６では、プログラムは、移動元ボリュームで使用される機能を移動先ボリュームに設定するために、ストレージサブシステム２００のストレージコントローラに要求を送信する。また、ストレージサブシステム２００のストレージコントローラは、ボリューム情報テーブル２２１を修正することにもなる。次に、プログラムはステップ３１０−７に進む。
【００２６】
００３７    ステップ３１０−７では、プログラムは、移動元ボリュームのデータを移動先ボリュームにコピーし、かつホストパスを移動元ボリュームから移動先ボリュームに変更するために、移動機能１１１を呼び出す。次に、プログラムはステップ３１０−９に進む。
【００２７】
００３８    ステップ３１０−８では、プログラムは、移動元ボリュームの属性を仮想ボリュームに変更し、かつ移動先ボリュームをこの仮想ボリュームにマウントするために、外部ボリューム管理機能１１２を呼び出す。移動元ボリュームから移動先ボリュームへのデータ移動は、マウントの前又は後で実行することができる。次に、プログラムはステップ３１０−９に進む。プログラムは、ステップ３１０−９で終了する。
【００２８】
００３９    図７は、移動のシステム構成を示す図の一例を示す。移動の対象となるボリュームは、ボリューム番号１であり、これにはローカルコピー機能のみが適用される。この場合、移動先ボリューム、つまりボリューム２３１は、ステップ３１０−１によって確立され、機能構成は、ステップ３１０−６に従ってローカルコピー機能の対象となるボリューム２３１のために設定されることになる。移動元ボリュームは、移動先ボリュームに移動される。ホストコンピュータ５００からのパスは、ステップ３１０−７に従って、ストレージサブシステム１００のボリューム１３１からストレージサブシステム２００のボリューム２３１に変更される。
【００２９】
００４０    図８は、ストレージサブシステム２００のボリュームをストレージサブシステム１００のボリュームに外部ボリュームとしてマウントするシステム構成を示す図の一例を示す。このボリューム、つまりボリューム番号３は、ボリュームに適用される機能の１つ（すなわちリモートコピー機能）がストレージサブシステム２００によって提供できないので、このボリュームを移動することができないと決定される。よって、ステップ３１０−１に従って確立されたボリューム２３１’は、外部ボリューム管理機能１１２を使用して外部ボリュームとしてマウントされることになる。ホストコンピュータ５００からの直接パスは存在せず、ストレージサブシステム１００のストレージコントローラによってＩ／Ｏコマンドが処理されることになる。ボリューム１３１の状態は、物理ボリュームから仮想ボリュームに変更されて、ボリューム１３１は、ホストコンピュータ５００とボリューム２３１’とに接続されることになる。ホストコンピュータ５００から受信されたデータは、実際にはボリューム２３１に書き込まれることになる。
【００３０】
００４１    第２の実施形態
【００３１】
００４２    第１の実施形態では、移動管理サーバ３００は、収集した情報に基づいて移動機能又は外部ボリューム管理機能のどちらを適用するかを管理し、この決定に従ってストレージサブシステム１００、２００に命令を与えるが、第２の実施形態は、管理がストレージサブシステム１００内の管理プログラム３１０によって管理されることを示す。第１の実施形態との違いのみについて、図９を用いて説明する。
【００３２】
００４３    図９は、本発明の方法及び装置が適用され得るシステムの構成を示す。ストレージサブシステム１００は、移動管理３１０を実行するためのプログラムを有する。このプログラムは、移動又はマウントのためのターゲットとしてのストレージボリューム主体との互換性の情報を収集する。図１のストレージ管理テーブル３２１に対応するこの情報は、ストレージサブシステム１００のメモリに格納され得る。また、移動管理プログラム３１０は、ホストコンピュータ５００とストレージサブシステム１００、２００との間のネットワーク能力の情報を収集する。図１のネットワーク管理テーブル３２２に対応するこの情報は、ストレージサブシステム１００のメモリに格納され得る。
【００３３】
００４４    第３の実施形態
【００３４】
００４５    第１の実施形態では、ストレージサブシステム１００のプログラムによって移動が実行されたが、第３の実施形態は、第２のサブシステムのプログラムによって実行されることを示す。第１の実施形態との違いのみについて、図１０−１１を用いて説明する。
【００３５】
００４６    図１０は、本発明の方法及び装置が適用され得るシステムの構成を示す。ストレージサブシステム１００ではなく、ストレージサブシステム２００が、移動を実行するためのプログラム２１１を有する。ストレージサブシステム２００のリモートコピー機能２１４’のバージョンは、ストレージサブシステム１００のバージョンと同じであるため、ボリューム番号３は、本実施形態で移動され得る。第１の実施形態では、リモートコピー機能は互換性がなかったため、ボリューム番号３は、ボリュームを移動する代わりにマウントされなければならなかった。
【００３６】
００４７    図１１は、図１０の移動管理サーバ３００の移動管理プログラム３１０のプロセスフローの一例を示す。プログラムは、３１０−０の開始から３１０−９の終了まで、ステップ３１０−７以外は、同じステップを実行する。ステップ３１０−７では、プログラムは、移動元ボリュームのデータを移動先ボリュームにコピーし、移動元ボリュームから移動先ボリュームにホストパスを変更するために、移動機能２１１を呼び出す。次に、プログラムはステップ３１０−９に進む。よって、ストレージサブシステム１００のストレージコントローラが移動元ボリュームのデータを移動先ボリュームにプッシュすることによって移動を制御する第１の実施形態とは異なり、本実施形態では、ストレージサブシステム２００のストレージコントローラが、移動元ボリュームから移動先ボリュームにデータをプルすることによって移動を制御する。これによって、ストレージサブシステムのストレージコントローラの負荷を節約することができる。よって、ストレージサブシステム１００、２００の両方が移動機能を有する場合は、移動管理プログラム３１０は、どのストレージコントローラが移動機能を実行すべきかを、２つのストレージコントローラの負荷に基づいて決定し、移動機能の提供を担当するストレージコントローラに指示してもよい。
【００３７】
００４８    本発明は、異なるストレージ機能を提供する異種ストレージシステム間のデータを制御するシステムを提供する。本発明は、ストレージボリュームに適用されるストレージ機能を維持しながら、ストレージシステム間の制御を達成する。私の発明を記述してきたが、本発明への多くの修正が、添付の請求の範囲によって定義される通りの本発明の精神から逸脱することなしに関係するところの当業者にとって明らかになるであろう。
【図１】
2012027904.tif 000003
【図２】
2012027904.tif 000004
【図３Ａ】
2012027904.tif 000005
【図３Ｂ】
2012027904.tif 000006
【図４】
2012027904.tif 000007
【図５】
2012027904.tif 000008
【図６】
2012027904.tif 000009
【図７】
2012027904.tif 000010
【図８】
2012027904.tif 000011
【図９】
2012027904.tif 000012
【図１０】
2012027904.tif 000013
【図１１】
2012027904.tif 000014
【外国語明細書】
2012027904000001.pdf