(57)【特許請求の範囲】
【請求項１】
計算機と、前記計算機とネットワークを介して接続された複数のストレージシステムと、を備える計算機システムにおいて、
前記複数のストレージシステムのうち第１ストレージシステムは、
前記ネットワークに接続される第１インタフェースと、
前記第１インタフェースに接続される第１プロセッサと、
前記第１プロセッサに接続される第１メモリと、
前記計算機によって書き込まれたデータを格納する第１記憶領域と、を備え、
前記複数のストレージシステムのうち第２ストレージシステムは、
前記ネットワークに接続される第２インタフェースと、
前記第２インタフェースに接続される第２プロセッサと、
前記第２プロセッサに接続される第２メモリと、
前記第１記憶領域に格納されたデータが移行する第２記憶領域と、を備え、
前記計算機は、
前記ネットワークに接続される第３インタフェースと、
前記第３インタフェースに接続される第３プロセッサと、
前記第３プロセッサに接続される第３メモリと、を備え、
前記第１プロセッサは、
前記第２記憶領域に対応する第１仮想記憶領域を前記第１ストレージシステムに作成し、
前記第１仮想記憶領域に対して発行されたデータの書き込み要求を、前記第２記憶領域に対する書き込み要求に変換して発行し、
前記第１記憶領域に格納された前記データを前記第１仮想記憶領域に複写するための書き込み要求を発行し、
前記第２プロセッサは、
前記第１記憶領域に対応する第２仮想記憶領域を前記第２ストレージシステムに作成し、
前記第２仮想記憶領域に対して発行されたデータの書き込み要求を、前記第１記憶領域に対する書き込み要求に変換して発行し、
前記第３プロセッサは、前記複写が開始される前の時点、前記複写が開始されてから終了する前の時点、又は前記複写が終了した後の時点のいずれかにおいて、前記計算機がデータの書き込み要求を発行する対象を前記第１記憶領域から前記第２仮想記憶領域に切り替え、
前記第２プロセッサは、前記複写が終了した後、前記第２記憶領域の識別子を、前記第２仮想記憶領域の識別子に変更することを特徴とする計算機システム。
【請求項２】
前記第２プロセッサは、前記第２プロセッサが前記第２記憶領域の識別子を前記第２仮想記憶領域の識別子に変更し、かつ、前記第３プロセッサがデータの書き込み要求を発行する対象を前記第１記憶領域から前記第２仮想記憶領域に切り替えた後、前記第２仮想記憶領域の識別子を変更し、
前記第２ストレージシステムは、前記変更された識別子を使用して、前記計算機から前記第２仮想記憶領域に対するデータの書き込み要求又は読み出し要求を受けることを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記第１ストレージシステムは、
前記第１記憶領域に書き込まれるデータを一時的に格納するキャッシュを備え、
前記第１プロセッサは、
前記複写が開始される前に、前記キャッシュに格納されている前記第１記憶領域に書き込まれるべきデータを、前記第１記憶領域に書き込み、
前記複写が開始された後、前記第１記憶領域に書き込まれるべきデータを前記キャッシュに書き込まないことを特徴とする請求項１に記載の計算機システム。
【請求項４】
計算機と、ネットワークを介して前記計算機と接続された複数のストレージシステムと、を備える計算機システムと管理ネットワークを介して接続される管理計算機において、
前記管理計算機は、
前記管理ネットワークに接続される管理インタフェースと、
前記管理インタフェースに接続される第１プロセッサと、
前記第１プロセッサに接続される第１メモリと、を備え、
前記複数のストレージシステムのうち第１ストレージシステムは、前記計算機によって書き込まれたデータを格納する第１記憶領域を備え、
前記第１プロセッサは、
前記第１ストレージシステムから、前記第１ストレージシステムが備える前記第１記憶領域の識別子を、前記管理インタフェースを介して取得し、
前記第１メモリに、取得した前記第１記憶領域の識別子を登録し、
前記複数のストレージシステムのうち第２ストレージシステムに、前記第１記憶領域に格納されたデータが移行する第２記憶領域の作成指示を、前記管理インタフェースを介して送信し、
前記作成された第２記憶領域の識別子を、前記第１メモリに、前記第１記憶領域の識別子と対応付けて登録し、
前記第１ストレージシステムに、前記第２記憶領域に対応する第１仮想記憶領域の作成指示を、前記管理インタフェースを介して送信し、
前記作成された第１仮想記憶領域の識別子を、前記第１メモリに、前記第１記憶領域及び前記第２記憶領域の識別子と対応付けて登録し、
前記第２ストレージシステムに、前記第１記憶領域に対応する第２仮想記憶領域の作成指示を、前記管理インタフェースを介して送信し、
前記作成された第２仮想記憶領域の識別子を、前記第１メモリに、前記第１記憶領域、前記第１仮想記憶領域及び前記第２記憶領域の識別子と対応付けて登録し、
前記第１メモリに登録された識別子を参照して、前記第１ストレージシステムに、前記第１記憶領域に格納された前記データを前記第１仮想記憶領域に複写する旨の指示を、前記管理インタフェースを介して送信し、
前記複写が開始される前の時点、前記複写が開始されてから終了する前の時点、又は前記複写が終了した後の時点のいずれかにおいて、前記第１メモリに登録された識別子を参照して、前記計算機に、データの書き込み要求を発行する対象を前記第１記憶領域から前記第２仮想記憶領域に切り替える旨の指示を、前記管理インタフェースを介して送信し、
前記複写が終了した後、前記第２ストレージシステムに、前記第２記憶領域の識別子を前記第２仮想記憶領域の識別子に変更する指示を、前記管理インタフェースを介して送信することを特徴とする管理計算機。
【請求項５】
前記第１プロセッサは、前記第２ストレージシステムが前記第２記憶領域の識別子を前記第２仮想記憶領域の識別子に変更し、かつ、前記計算機がデータの書き込み要求を発行する対象を前記第１記憶領域から前記第２仮想記憶領域に切り替えた後、前記第２ストレージシステムに、前記第２仮想記憶領域の識別子を変更する指示を、前記管理インタフェースを介して送信することを特徴とする請求項４に記載の管理計算機。
【請求項６】
前記第１ストレージシステムは、
前記第１記憶領域に書き込まれるデータを一時的に格納するキャッシュを備え、
前記第１プロセッサは、
前記複写を指示する前に、前記第１ストレージシステムに、前記キャッシュに格納されている前記第１記憶領域に書き込まれるべきデータを前記第１記憶領域に書き込む指示を、前記管理インタフェースを介して送信し、
前記第１ストレージシステムに、前記複写が開始された後、前記第１記憶領域に書き込まれるべきデータを前記キャッシュに書き込まない旨の指示を、前記管理インタフェースを介して送信することを特徴とする請求項４に記載の管理計算機。
【請求項７】
計算機と、前記計算機と接続された複数のストレージシステムと、を備える計算機システムの制御方法において、
前記複数のストレージシステムのうち第１ストレージシステムは、前記計算機によって書き込まれたデータを格納する第１記憶領域と、前記第１記憶領域に格納されるべきデータを一時的に格納するキャッシュと、を備え、
前記複数のストレージシステムのうち第２ストレージシステムは、前記第１記憶領域のデータが移行する第２記憶領域を備え、
前記制御方法は、
前記第２記憶領域に対応する第１仮想記憶領域を前記第１ストレージシステムに作成し、
前記第１仮想記憶領域に対して発行されたデータの書き込み要求を、前記第２記憶領域に対する書き込み要求に変換して発行し、
前記第１記憶領域に対応する第２仮想記憶領域を前記第２ストレージシステムに作成し、
前記第２仮想記憶領域に対して発行されたデータの書き込み要求を、前記第１記憶領域に対する書き込み要求に変換して発行し、
前記第１記憶領域に格納された前記データを前記第１仮想記憶領域に複写するための書き込み要求を発行し、
前記複写が開始される前に、前記キャッシュに格納されている前記第１記憶領域に書き込まれるべきデータを、前記第１記憶領域に書き込み、
前記複写が開始される前の時点、前記複写が開始されてから終了する前の時点、又は前記複写が終了した後の時点のいずれかにおいて、前記計算機がデータの書き込み要求を発行する対象を前記第１記憶領域から前記第２仮想記憶領域に切り替え、
前記複写が終了した後、前記第２記憶領域の識別子を、前記第２仮想記憶領域の識別子に変更し、
前記第２記憶領域の識別子を前記第２仮想記憶領域の識別子に変更し、かつ、前記データの書き込み要求を発行する対象を前記第１記憶領域から前記第２仮想記憶領域に切り替えた後、前記第２仮想記憶領域の識別子を変更し、前記変更された識別子を使用して前記計算機から前記第２仮想記憶領域に対するデータの書き込み要求又は読み出し要求を受けることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書で開示される技術は、複数のストレージシステム及び計算機を含む計算機システムに関し、特に、ストレージシステムを仮想化する仮想化環境におけるデータマイグレーションに関する。
【背景技術】
【０００２】
計算機は、ストレージシステムにデータを保存する。そのデータの利用期間（保存期間）がストレージシステムの装置寿命より長い場合、装置寿命が経過する前に、古いストレージシステムに格納されたデータを新しいストレージシステムに移行（マイグレーション）する必要がある。データの移行にあたって、計算機がストレージシステムを利用できない時間はできるだけ短いことが望ましく、さらには、一切の停止なく移行できることが望まれる。
【０００３】
古いストレージシステムから新しいストレージシステムへデータを移行する技術として、例えば、特許文献１及び特許文献２が開示されている。特許文献１及び特許文献２によれば、古いストレージシステムから新しいストレージシステムへのデータの移行を開始する前に、計算機を新しいストレージシステムにつなぎ換える。
【０００４】
さらに、特許文献２によれば、新しいストレージシステム内に、古いストレージシステムのデバイス（記憶領域）に対応する仮想的なデバイスが設けられる。計算機は、仮想的なデバイスにアクセスすることによって、その仮想的なデバイスに対応する古いストレージシステムのデバイスにアクセスすることができる。
【特許文献１】特表平１０−５０８９６７号公報
【特許文献２】特開２００４−２２０４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１及び特許文献２に記載された技術によれば、データの移行を開始する前に、計算機を新しいストレージシステムにつなぎ換える必要がある。このつなぎ換えの際、計算機からストレージシステムへのアクセスが一時的に停止する。さらに、装置寿命がまだ残っていたとしても、データの移行が終了した後は、古いストレージシステムを利用することができない。
【課題を解決するための手段】
【０００６】
本発明は、計算機と、前記計算機とネットワークを介して接続された複数のストレージシステムと、を備える計算機システムにおいて、前記複数のストレージシステムのうち第１ストレージシステムは、前記ネットワークに接続される第１インタフェースと、前記第１インタフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、前記計算機によって書き込まれたデータを格納する第１記憶領域と、を備え、前記複数のストレージシステムのうち第２ストレージシステムは、前記ネットワークに接続される第２インタフェースと、前記第２インタフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、前記第１記憶領域に格納されたデータが移行する第２記憶領域と、を備え、前記計算機は、前記ネットワークに接続される第３インタフェースと、前記第３インタフェースに接続される第３プロセッサと、前記第３プロセッサに接続される第３メモリと、を備え、前記第１プロセッサは、前記第２記憶領域に対応する第１仮想記憶領域を前記第１ストレージシステムに作成し、前記第１仮想記憶領域に対して発行されたデータの書き込み要求を、前記第２記憶領域に対する書き込み要求に変換して発行し、前記第１記憶領域に格納された前記データを前記第１仮想記憶領域に複写するための書き込み要求を発行し、前記第２プロセッサは、前記第１記憶領域に対応する第２仮想記憶領域を前記第２ストレージシステムに作成し、前記第２仮想記憶領域に対して発行されたデータの書き込み要求を、前記第１記憶領域に対する書き込み要求に変換して発行し、前記第３プロセッサは、前記複写が開始される前の時点、前記複写が開始されてから終了する前の時点、又は前記複写が終了した後の時点のいずれかにおいて、前記計算機がデータの書き込み要求を発行する対象を前記第１記憶領域から前記第２仮想記憶領域に切り替え、前記第２プロセッサは、前記複写が終了した後、前記第２記憶領域の識別子を、前記第２仮想記憶領域の識別子に変更することを特徴とする。
【発明の効果】
【０００７】
本発明の一形態によれば、複数のストレージシステムと、各ストレージシステムにネットワークを介して接続される計算機とを含む計算機システムの運用中に構成変更を容易に行うことができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を、図面を参照して説明する。
【０００９】
＜第１の実施の形態＞
最初に、第１の実施の形態の概要について説明する。
【００１０】
図１は、本発明の第１の実施の形態の概要の説明図である。
【００１１】
本実施の形態の計算機システムの詳細な構成は、後で図２を参照して説明する。
【００１２】
図１に示すように、本実施の形態の計算機１０は、ストレージシステム１００に接続される。計算機１０上のアプリケーションプログラム１５は、ストレージシステム１００の記憶領域１０１を利用する。すなわち、アプリケーションプログラム１５は、記憶領域１０１にデータを書き込み、書き込んだデータを読み出す。計算機１０は、パス切替プログラム５０を保持する。
【００１３】
パス切替プログラム５０は、アプリケーションプログラム１５が発行するデータのリードライト要求の発行先の記憶領域を切り替えるプログラムである。ここで、パスとは、計算機１０からいずれかの記憶領域に至るリードライト要求の経路である。パス切替プログラム５０は、パス情報（後述）を設定することによって、リードライト要求の発行先の記憶領域を設定する。図１におけるパス切替プログラム５０は、記憶領域１０１に対して要求を発行するように初期設定される。
【００１４】
本実施の形態の計算機システムは、さらに、ストレージシステム２００を備える。ストレージシステム１００の装置寿命が近づくと、新しいストレージシステム２００の記憶領域２０１に記憶領域１０１のデータが移行（マイグレーション）される。ストレージシステム２００を導入し、ストレージシステム１００と物理的に結線するところまでは、作業者による人手作業となる。それ以降は、管理計算機５００によって、データの移行手順が自動実行される。管理計算機５００は、データの移行を実行するデータマイグレーションプログラム５５５を保持する。
【００１５】
データマイグレーションプログラム５５５は、まず、ストレージシステム１００に対して、ストレージシステム２００の記憶領域をディスカバリ（発見）するように指示する（６１）。
【００１６】
次に、データマイグレーションプログラム５５５は、ストレージシステム１００に対して、ディスカバリによって発見された記憶領域２０１を、ストレージシステム１００の仮想記憶領域１０２として設定するように指示する（６２）。仮想記憶領域１０２は、実際にデータが格納される記憶領域２０１と対応付けられた仮想的な領域である。すなわち、仮想記憶領域１０２自体にはデータが格納されない。仮想記憶領域１０２に対してデータの書き込み要求が発行されると、そのデータは、実際には記憶領域２０１に格納される。
【００１７】
次に、データマイグレーションプログラム５５５は、記憶領域１０１と仮想記憶領域１０２とをペアとして設定する（６３）。ペアとは、データコピーが実行される二つの記憶領域の組であり、二つの記憶領域の一方がコピー元、他方がコピー先である。図１の例では、記憶領域１０１がコピー元、仮想記憶領域１０２がコピー先である。このペアにおいてコピーが実行されると、記憶領域１０１に格納されているデータは、仮想記憶領域１０２にコピーされる。そのデータは、実際には、記憶領域２０１に格納される。データマイグレーションプログラム５５５は、パス切替プログラム５０のパス情報に記憶領域２０１を登録する（６４）。
【００１８】
次に、データマイグレーションプログラム５５５は、ストレージシステム１００に対して、ストレージシステム１００の記憶領域１０１に関するキャッシュの利用を禁止するように指示する（６５）。
【００１９】
次に、データマイグレーションプログラム５５５は、ストレージシステム１００に対して、記憶領域１０１のデータを仮想記憶領域１０２にコピーするように指示する（６６）。
【００２０】
コピーが完了すると、データマイグレーションプログラム５５５は、パス切替プログラム５０のパス情報を設定し、アプリケーションプログラムからの要求を、記憶領域２０１に発行するように切り替える（６７）。
【００２１】
切替終了後、データマイグレーションプログラム５５５は、記憶領域１０１と仮想記憶領域１０２のペア設定を解除し（６８）、さらに、記憶領域２０１と仮想記憶領域１０２との対応を解除する（６９）。
【００２２】
以上のように処理することによって、記憶領域１０１から記憶領域２０１へのデータの移行を、計算機１０からの要求の受付を中断することなく実行することができる。これは、計算機１０と記憶領域１０１との接続関係とは独立に、仮想記憶領域１０２と記憶領域２０１との接続関係を確立できること、記憶領域１０１から仮想記憶領域１０２へのデータのコピーを計算機１０からの要求を受け付けながら実行できること、及び、記憶領域１０１から記憶領域２０１へのパス切替をアプリケーションプログラム１５の要求毎に実行できることによって実現される。
【００２３】
以下、本発明の詳細について説明する。
【００２４】
次に、本実施の形態の計算機システムの構成について説明する。
【００２５】
図２は、本発明の第１の実施の形態の計算機システムの構成を示すブロック図である。
【００２６】
なお、図１において既に説明した部分については、説明を省略する。
【００２７】
図２に示す計算機システムは、計算機１０、ストレージシステム１００、ストレージシステム２００及び管理計算機５００を備える。ストレージシステム１００は、装置寿命が近づいている古いストレージシステムであり、計算機１０によって利用される記憶領域１０１を格納する。ストレージシステム２００は、ストレージシステム１００に代わって、計算機１０が新規に利用開始する新しいストレージシステムである。管理計算機５００は、図２の計算機システムの運用を管理する計算機である。
【００２８】
計算機１０とストレージシステム１００とは、ファイバチャネルによって接続される。具体的には、計算機１０のファイバチャネルインタフェース（以下ＦＣインタフェースと略す）１３が、ファイバチャネルスイッチ（以下ＦＣスイッチと略す）２０を介して、ストレージシステム１００のＦＣインタフェース１１０と接続される。一方、ストレージシステム１００及びストレージシステム２００は、ＦＣスイッチ３０を介して、ファイバチャネルによって接続される。本実施の形態のＦＣスイッチ３０は、計算機１０及びストレージシステム１００等を接続するネットワークを構成する。本発明は、ネットワークの種類に限定されないため、ファイバチャネルに代えて、インターネットプロトコルを用いるネットワークを用いても良い。
【００２９】
次に、計算機１０について説明する。
【００３０】
計算機１０は、ＣＰＵ１１、メモリ１２、ＦＣインタフェース１３及び管理インタフェース１９を備える。
【００３１】
ＣＰＵ１１は、メモリ１２が保持するプログラムを実行するプロセッサである。
【００３２】
メモリ１２には、ＣＰＵ１１によって実行されるプログラム及びデータが格納される。本実施の形態のメモリ１２には、アプリケーションプログラム１５、パス切替プログラム５０及びパス情報５１が格納される。
【００３３】
アプリケーションプログラム１５は、ストレージシステムに対してデータのリードライト要求を発行することによって、データの処理を実行する。
【００３４】
パス切替プログラム５０は、アプリケーションプログラム１５がどのストレージシステムのどの記憶領域にリードライト要求を発行するかを最終的に決定する。
【００３５】
パス情報５１は、アプリケーションプログラム１５が発行するリードライト命令の発行先の記憶領域を設定するテーブルである（図３参照）。
【００３６】
ＦＣインタフェース１３は、ＦＣスイッチ２０及びＦＣスイッチ３０を介して、ストレージシステム１００及びストレージシステム２００に接続される。計算機１０は、ＦＣインタフェース１３を介して、各ストレージシステムとリードライト要求及びデータをやり取りする。
【００３７】
管理インタフェース１９は、管理ネットワーク９０を介して管理計算機５００と接続される。
【００３８】
次に、ストレージシステム１００について説明する。
【００３９】
ストレージシステム１００は、ＦＣインタフェース１１０、ＦＣインタフェース１１５、データ転送制御モジュール１２０、キャッシュ１２１、ＣＰＵ１４０、メモリ１５０、管理インタフェース１９０及び記憶領域１０１を備える。ストレージシステム１００は、さらに、仮想記憶領域１０２を備えてもよい。
【００４０】
ＦＣインタフェース１１０は、ＦＣスイッチ２０を介して計算機１０と接続される。
【００４１】
ＦＣインタフェース１１５は、ＦＣスイッチ３０を介して他のストレージシステム（図２の例では、ストレージシステム２００）と接続される。
【００４２】
データ転送制御モジュール１２０は、記憶領域１０１及び仮想記憶領域１０２とＦＣインタフェース１１０等との間のデータ転送を制御する。
【００４３】
キャッシュ１２１は、計算機１０から受信したデータ及び記憶領域１０１等から読み出したデータを一時的に保持する。
【００４４】
ＣＰＵ１４０は、メモリ１５０に格納されたプログラムを実行することによって、計算機１０から受け付けた要求の処理、データのコピー、及び、記憶領域１０１等の制御等を実行する。
【００４５】
メモリ１５０には、ＣＰＵ１４０によって実行されるプログラム及びそれらのプログラムの実行のために必要なテーブルが格納される。具体的には、メモリ１５０には、記憶領域処理プログラム１５１、仮想記憶領域制御プログラム１５２、データコピー制御プログラム１５３、キャッシュ制御プログラム１５４及び管理テーブル１５５が格納される。これらのプログラムは、計算機１０からのリードライト要求又は管理計算機５００による記憶領域１０１等の制御を処理するために実行される（後述）。
【００４６】
管理テーブル１５５は、ストレージシステム１００内で実行されるデータコピーを管理するために使用される。
【００４７】
管理インタフェース１９０は、管理ネットワーク９０を介して管理計算機５００に接続される。
【００４８】
記憶領域１０１は、計算機１０が使用するデータを格納する領域である。例えば、ストレージシステム１００は、一つ以上のハードディスクドライブ（図示省略）を備え、これらのハードディスクドライブ上に記憶領域１０１が設定される。計算機１０は、一つの記憶領域１０１を一つのハードディスクドライブと認識する。
【００４９】
本実施の形態の計算機システムは、初期状態において、一つのストレージシステム１００を備え、ストレージシステム１００は、計算機１０が使用する一つの記憶領域１０１を備える。しかし、本発明は、任意の数の計算機が任意の数の記憶領域を備える計算機システムにおいても、実施することができる。
【００５０】
ストレージシステム２００の構成は、ストレージシステム１００の構成と同様であるので、詳細な説明を省略する。
【００５１】
ストレージシステム２００のＦＣインタフェース２１０、ＦＣインタフェース２１５、データ転送制御モジュール２２０、キャッシュ２２１、ＣＰＵ２４０、メモリ２５０及び管理インタフェース２９０は、それぞれ、ＦＣインタフェース１１０、ＦＣインタフェース１１５、データ転送制御モジュール１２０、キャッシュ１２１、ＣＰＵ１４０、メモリ１５０及び管理インタフェース１９０と同様である。
【００５２】
メモリ２５０に格納される記憶領域処理プログラム２５１、仮想記憶領域制御プログラム２５２、データコピー制御プログラム２５３、キャッシュ制御プログラム２５４及び管理テーブル２５５は、それぞれ、メモリ１５０に格納される記憶領域処理プログラム１５１、仮想記憶領域制御プログラム１５２、データコピー制御プログラム１５３、キャッシュ制御プログラム１５４及び管理テーブル１５５に対応する。
【００５３】
次に、管理計算機５００について説明する。
【００５４】
管理計算機５００は、ＣＰＵ５１０と、メモリ５５０及び管理インタフェース５９０を備える。
【００５５】
ＣＰＵ５１０は、メモリ５５０に格納されたプログラムを実行する。
【００５６】
メモリ５５０には、ＣＰＵ５１０によって実行されるプログラム及びそれらのプログラムの実行のために必要なテーブルが格納される。具体的には、メモリ５５０には、ストレージシステム検出プログラム５５１、データマイグレーションプログラム５５５及び管理テーブル５５６が格納される。
【００５７】
管理テーブル５５６は、ストレージシステム１００等において実行されるデータ移行を管理するために使用される（図６参照）。
【００５８】
さらに、管理計算機５００には、管理者に必要な情報を提示するためのディスプレイ５８０、管理者からの入力を受け付けるキーボード５８１及びマウス５８２が接続される。
【００５９】
次に、パス情報５１について説明する。
【００６０】
図３は、本発明の第１の実施の形態のパス情報５１の説明図である。
【００６１】
図３において、（Ａ）から（Ｄ）は、本実施の形態の各時点におけるパス情報５１を示す。これらについては、後で説明する。
【００６２】
本実施の形態のパス情報５１は、アプリケーションプログラム番号５１１、パス５１２及び接続先記憶領域番号５１３からなる。
【００６３】
アプリケーションプログラム番号５１１は、パス情報５１によってリードライト命令の発行先が設定されるアプリケーションプログラムの番号である。図３の例では、アプリケーションプログラム１５のリードライト命令の発行先が設定される。
【００６４】
パス５１２は、設定されるパスが何番目のパスであるかを示す。第１のパスは、現時点で設定されているパスを示す。第２のパスは、第１のパスの次に設定されるパスを示す。第ｎのパスは、第ｎ−１のパスの次に設定されるパスを示す（ｎは任意の自然数）。
【００６５】
接続先記憶領域番号５１３は、設定されるパスの接続先の記憶領域の番号（識別子）である。図３（Ａ）の例では、第１のパスに対応する接続先記憶領域番号５１３として、「１０１」が設定されている。この場合、計算機１０から記憶領域１０１にリードライト要求が発行される。
【００６６】
次に、確認画面について説明する。
【００６７】
図４は、本発明の第１の実施の形態のディスプレイ５８０に表示される確認画面の説明図である。
【００６８】
本実施の形態の確認画面５８９は、新ストレージシステム表示部５８９１、旧ストレージシステム表示部５８９２、実行ボタン５８９３及び取り消しボタン５８９４からなる。
【００６９】
新ストレージシステム表示部５８９１には、ディスカバリの指示（６１）に従って発見された新しいストレージシステムを示す情報が表示される。
【００７０】
一方、旧ストレージシステム表示部５８９２には、装置寿命が近づいている古いストレージシステムを示す情報が表示される。
【００７１】
図４の例では、新ストレージシステム表示部５８９１に「２００」が、旧ストレージシステム表示部５８９２に「１００」が表示されている。これは、ストレージシステム１００の装置寿命が近づいている一方、ストレージシステム２００が新たに計算機システムに接続されて、ディスカバリ指示によって発見されたことを示している。
【００７２】
実行ボタン５８９３（図４の「ＯＫ」）は、システム管理者がデータ移行を実行するときに操作（例えば、マウス５８２のクリック）される。図４の例では、システム管理者が実行ボタンを操作すると、ストレージシステム１００からストレージシステム２００へのデータ移行が開始される。
【００７３】
取り消しボタン５８９４（図４の「ＣＡＮＣＥＬ」）は、システム管理者がデータ移行を実行しないときに操作される。
【００７４】
次に、記憶領域一覧について説明する。
【００７５】
図５は、本発明の第１の実施の形態の記憶領域一覧の説明図である。
【００７６】
記憶領域一覧は、ストレージシステム１００の記憶領域処理プログラム１５１（又は、ストレージシステム２００の記憶領域処理プログラム２５１）が、管理計算機５００からの要求を受けたときに作成し、管理計算機５００に応答する情報である（後述）。
【００７７】
記憶領域一覧は、作成された時点のストレージシステム１００等に設定されている記憶領域１０１等に関する情報を含む。本実施の形態の記憶領域一覧は、記憶領域１０１等を識別する記憶領域番号１５６１及び記憶領域１０１等のデータ容量を示す容量１５６２からなる。
【００７８】
図５には、例として、ストレージシステム１００の記憶領域処理プログラム１５１が応答する記憶領域一覧を示す。図５の例では、記憶領域番号１５６１が「１０１」であり、容量１５６２が「１００ＧＢ」である。これは、ストレージシステム１００に記憶領域１０１が設定され、その容量が１００ＧＢ（ギガバイト）であることを示す。
【００７９】
次に、管理テーブル５５６について説明する。
【００８０】
図６は、本発明の第１の実施の形態の管理計算機５００に格納される管理テーブル５５６の説明図である。
【００８１】
管理テーブル５５６は、本実施の形態の計算機システム内で実行されるデータ移行を管理するテーブルである。
【００８２】
図６において、（Ａ）及び（Ｂ）は、本実施の形態の各時点における管理テーブル５５６を示す。これらについては、後で説明する。
【００８３】
管理テーブル５５６は、データ移行元記憶領域番号５５６１、仮想記憶領域番号５５６２及びデータ移行先記憶領域番号５５６３からなる。これらのフィールドには、いずれかの記憶領域又は仮想記憶領域を識別する記憶領域番号（識別子）が登録される。
【００８４】
ここで、記憶領域１０１、仮想記憶領域１０２及び記憶領域２０１の記憶領域番号は、それぞれ、「１０１」、「１０２」及び「２０１」である。
【００８５】
図６（Ａ）の例では、データ移行元記憶領域番号５５６１が「１０１」、データ移行先記憶領域番号５５６３が「２０１」である。これは、記憶領域１０１のデータが記憶領域２０１に移行されるように設定されていることを示す。
【００８６】
図６（Ｂ）の例では、データ移行元記憶領域番号５５６１が「１０１」、仮想記憶領域番号５５６２が「１０２」、データ移行先記憶領域番号５５６３が「２０１」である。これは、図１に示すように、記憶領域２０１に対応する仮想記憶領域１０２が設定され、記憶領域１０１のデータが仮想記憶領域１０２にコピーされることによって、そのデータが記憶領域２０１に移行されることを示す。
【００８７】
次に、管理テーブル１５５について説明する。
【００８８】
図７は、本発明の第１の実施の形態のストレージシステム１００に格納される管理テーブル１５５の説明図である。
【００８９】
管理テーブル１５５は、ストレージシステム１００内に存在する記憶領域のペアの状態を管理するテーブルである。
【００９０】
図７において、（Ａ）及び（Ｂ）は、本実施の形態の各時点における管理テーブル１５５を示す。これらについては、後で説明する。
【００９１】
管理テーブル１５５は、コピー元記憶領域番号１５５１、コピー先記憶領域番号１５５２及び状態１５５３からなる。
【００９２】
コピー元記憶領域番号１５５１及びコピー先記憶領域番号１５５２は、それぞれ、実行されるデータコピーのコピー元及びコピー先の記憶領域（又は仮想記憶領域）の番号（識別子）である。図７の例では、記憶領域１０１がコピー元、仮想記憶領域１０２がコピー先である。すなわち、図１に示すように、記憶領域１０１及び仮想記憶領域１０２がペアを形成している。
【００９３】
状態１５５３は、ペアの状態を示す。図７（Ａ）の例では、状態１５５３は「ペア」である。これは、記憶領域１０１及び仮想記憶領域１０２にペアが形成されていることを示す。一方、図７（Ｂ）の例では、状態１５５３は「コピー中」である。これは、記憶領域１０１から仮想記憶領域１０２へのデータのコピーが実行されていることを示す。
【００９４】
なお、ストレージシステム２００には、管理テーブル２５５が格納される。管理テーブル２５５の構成は管理テーブル１５５と同様であるため、説明を省略する。ただし、管理テーブル２５５には、ストレージシステム２００内に存在するペアに関する情報が登録される。
【００９５】
次に、初期状態について説明する。
【００９６】
本実施の形態の計算機システムは、初期状態において、計算機１０、ＦＣスイッチ２０、ストレージシステム１００及び管理計算機５００を備える。すなわち、計算機１０のアプリケーションプログラム１５は、ストレージシステム１００の記憶領域１０１を使用している。パス情報５１は、図３（Ａ）に示すように、第１のパスとして接続先の記憶領域番号「１０１」を設定している。パス切替制御プログラム５０は、アプリケーションプログラム１５からリードライト要求を受信するたびに、このパス情報５１を参照し、リードライト要求を接続先の記憶領域１０１に発行する。その結果、アプリケーションプログラム１５が発行するリードライト要求は、ＦＣインタフェース１３を介して、記憶領域１０１に発行される。
【００９７】
次に、ストレージシステム１００の装置寿命とストレージシステム２００の設置について説明する。
【００９８】
ここで、ストレージシステム１００の装置寿命が近づき、新しいストレージシステム２００にデータを移行する場合を想定する。システム管理者等は、ストレージシステム２００を設置し、ＦＣスイッチ３０を介して、ストレージシステム１００のＦＣインタフェース１２５と、ＦＣインタフェース２１０を接続する。さらに、システム管理者等は、ストレージシステム２００の管理インタフェース２９０を管理ネットワーク９０に接続する。
【００９９】
次に、管理計算機５００におけるストレージシステム２００の検出について説明する。
【０１００】
管理計算機５００のストレージシステム検出プログラム５５１は、定期的に管理ネットワーク９０を検索し、接続されているストレージシステムの残稼働時間（すなわち、装置寿命までの時間）と、新しいストレージシステムが接続されたか否かを確認する。本実施の形態では、新しくストレージシステム２００が発見されると、ストレージシステム検出プログラム５５１は、例えば、図４に示す確認画面５８９をディスプレイ５８０に表示する。その結果、新しいストレージシステム２００が追加されたこと、及び、ストレージシステム１００の装置寿命が近づいていることが、システム管理者に通知される。
【０１０１】
システム管理者は、確認画面５８９を参照し、キーボード５８１又はマウス５８２を操作して、データ移行を実行するか否かを決定することができる。以下、確認画面５８９において実行ボタン５８９３が操作された（すなわち、システム管理者がデータ移行を実行することを決定した）場合について、図８のフローチャートを参照して説明する。
【０１０２】
図８は、本発明の第１の実施の形態のデータマイグレーションプログラム５５５が実行するデータマイグレーションの手順を示すフローチャートである。
【０１０３】
確認画面５８９において実行ボタン５８９３が操作されると、管理計算機５００は、データマイグレーションプログラム５５５（以下、ＤＭプログラム５５５と記載する）を実行する。以下、ＤＭプログラム５５５が実行する処理を、図８のフローチャートを参照して説明する。
【０１０４】
ＤＭプログラム５５５は、まず、ストレージシステム１００から、記憶領域一覧を入手する（８０２）。本実施の形態では、ＤＭプログラム５５５がストレージシステム１００の記憶領域処理プログラム１５１に記憶領域一覧を要求する。記憶領域処理プログラム１５１は、この要求に対して、図５に示す記憶領域一覧を応答する。
【０１０５】
次に、ＤＭプログラム５５５は、ストレージシステム２００に対して、記憶領域１０１のデータの移行先として、記憶領域１０１の容量に対応する記憶領域を作成するように指示する（８０４）。図５の記憶領域一覧が示すように、記憶領域１０１の容量は「１００ＧＢ」である。このため、ＤＭプログラム５５５は、ストレージシステム２００の記憶領域制御プログラム２５１に対して、１００ＧＢの記憶領域を作成するように指示する。記憶領域制御プログラム２５１は、記憶領域２０１を作成する（図２参照）。記憶領域制御プログラム２５１は、記憶領域２０１を作成したことをＤＭプログラム５５５に通知する。
【０１０６】
次に、ＤＭプログラム５５５は、記憶領域１０１に対応する記憶領域２０１を作成したことを管理テーブル５５６に登録する（８０６）。この時点の管理テーブル５５６の内容は、図６（Ａ）に示す通りである。すなわち、データ移行元記憶領域番号５５６１に登録されている記憶領域１０１の記憶領域番号「１０１」に対応して、データ移行先記憶領域番号５５６３に記憶領域２０１の記憶領域番号「２０１」が登録される。
【０１０７】
次に、ＤＭプログラム５５５は、ストレージシステム１００のＦＣインタフェース１１５をイニシエータとして設定する（８０８）。その結果、ストレージシステム１００は、ＦＣインタフェース１１５を介して、ストレージシステム２００にリードライト要求を発行できるようになる。
【０１０８】
次に、ＤＭプログラム５５５は、ストレージシステム２００のＦＣインタフェース２１０をターゲットとして設定する（８１０）。その結果、ストレージシステム２００は、ＦＣインタフェース２１０を介して、ストレージシステム１００からのリードライト要求を受信できるようになる。
【０１０９】
次に、ＤＭプログラム５５５は、仮想記憶領域制御プログラム１５２に対して、イニシエータとして設定されたＦＣインタフェース１１５を介して、記憶領域をディスカバリ（発見）するように指示する（８１２）。ここでは、記憶領域２０１がディスカバリされる。仮想記憶領域制御プログラム１５２は、記憶領域２０１が見つかったことを、ＤＭプログラム５５５に通知する。
【０１１０】
次に、ＤＭプログラム５５５は、仮想記憶領域制御プログラム１５２に対して、記憶領域２０１に対応する仮想記憶領域を作成するように指示する（８１４）。仮想記憶領域制御プログラム１５２は、仮想記憶領域１０２を作成する（図２参照）。仮想記憶領域制御プログラム１５２は、記憶領域２０１に対応する仮想記憶領域１０２を作成したことをＤＭプログラム５５５に通知する。
【０１１１】
次に、ＤＭプログラム５５５は、管理テーブル５５６を更新する（８１６）。具体的には、ＤＭプログラム５５５は、管理テーブル５５６に、記憶領域２０１に対応する仮想記憶領域１０２を登録する。更新された管理テーブル５５６の内容は、図６（Ｂ）に示す通りである。仮想記憶領域１０２に対するリードライト要求（データのコピー時に発行される要求を含む）は、イニシエータとして設定されたＦＣインタフェース１１５を介して、ストレージシステム２００の記憶領域２０１に発行される。すなわち、仮想記憶領域１０２に対するリードライト要求は、実際には、記憶領域２０１へのリードライト要求に変換されて再発行される。その結果、仮想記憶領域１０２に対するライト要求に応じて記憶領域２０１にデータがライト（書き込み）され、仮想記憶領域１０２に対するリード要求に応じて記憶領域２０１からデータがリード（読み出し）される。
【０１１２】
次に、ＤＭプログラム５５５は、管理テーブル５５６に登録された記憶領域番号を参照して、データコピー制御プログラム１５３に対して、記憶領域１０１をデータコピー元、仮想記憶領域１０２をデータコピー先とするペアを設定するよう指示する（８１８）。このペア設定によって、データをコピーする準備が整う。データコピー制御プログラム１５３は、このペア設定を、管理テーブル１５５に登録する。さらに、データコピー制御プログラム１５３は、管理テーブル１５５を使用して、設定されたペアの状態を管理する。ステップ８１８が実行された直後の管理テーブル１５５の内容は、図７（Ａ）に示す通りである。
【０１１３】
次に、ＤＭプログラム５５５は、キャッシュ制御プログラム１５４に対して、記憶領域１０１に関するキャッシュ１２１の利用を禁止するよう指示する（８２０）。キャッシュ制御プログラム１５４は、キャッシュ１２１に残っている記憶領域１０１に関するデータを全て記憶領域１０１に書き込むとともに、以後、キャッシュ１２１を利用しない設定とする。
【０１１４】
キャッシュ１２１の中に計算機から受け取ったデータがあり、そのデータがまだ記憶領域１０１に書き込まれていないと、ストレージシステム１００とストレージシステム２００の記憶領域のデータが完全に一致しない。コピー完了後にパスを切り替える際に、記憶領域のデータが一致している必要がある。このため、ステップ８２０においてキャッシュ１２１の利用を禁止しておく。キャッシュ１２１を利用禁止とすると、計算機に対する応答時間が長くなるので、コピー完了後、パスを切り替える直前にキャッシュ１２１を利用禁止にしても良い。
【０１１５】
次に、ＤＭプログラム５５５は、計算機１０のパス切替プログラム５０に対して、記憶領域１０１に関連する第２のパスとして、記憶領域２０１を登録するように指示する（８２２）。その結果、パス情報５１は、図３（Ｂ）に示すように更新される。
【０１１６】
次に、ＤＭプログラム５５５は、データコピー制御プログラム１５３に対して、コピーを開始するように指示する（８２４）。データコピー制御プログラム１５３は、記憶領域１０１から仮想記憶領域１０２にデータのコピーを開始する。このとき、データコピー制御プログラム１５３は、管理テーブル１５５において、記憶領域１０１と仮想記憶領域１０２のペアに対応する状態１５５３を「コピー中」に書き換える（図７（Ｂ）参照）。
【０１１７】
データのコピーとは、データ転送制御モジュール１２０が、コピー元の記憶領域（本実施の形態では、記憶領域１０１）の先頭のブロックから最終のブロックまでを順次読み出し、コピー先の記憶領域（本実施の形態では、仮想記憶領域１０２）の同じブロック位置に書き込むことである。データのコピー中に計算機１０からデータのライト要求を受信した場合、データ転送制御モジュール１２０は、コピー元の記憶領域１０１とコピー先の仮想記憶領域１０２の両方にデータを書き込んでも良い。あるいは、データ転送制御モジュール１２０は、コピー元の記憶領域１０１にのみデータを書き込み、書き込みのあったブロックの位置を記憶し、最終ブロックまでコピーした後に、記憶していたブロック位置のデータを再度コピーしてもよい。
【０１１８】
本実施の形態では、コピー先が仮想記憶領域１０２である。このため、コピーの際、データが仮想記憶領域１０２に書き込まれると、仮想記憶領域処理プログラムは、その書き込みを記憶領域２０１に対するライト要求として、ＦＣインタフェース１１５を介して発行する。
【０１１９】
コピーが完了すると、データコピー制御プログラム１５３は、コピーの完了をＤＭプログラム５５５に通知する。
【０１２０】
次に、ＤＭプログラム５５５は、計算機１０のパス切替プログラム５０に対して、パス情報５１の第１のパスとして記憶領域２０１を設定するように指示する（８２６）。パス切替プログラム５０は、パス情報５１を、図３（Ｃ）に示すように更新する。パス情報５１が更新されると、それ以後、アプリケーションプログラム１５が発行するリードライト要求は、パス切替プログラム５０によって、データの移行が完了した新しい記憶領域２０１に発行される。パス切替プログラム５０は、パス情報５１の更新を完了すると、ＤＭプログラム５５５に、その完了を通知する。
【０１２１】
次に、ＤＭプログラム５５５は、データコピー制御プログラム１５３に対して、記憶領域１０１と仮想記憶領域２０１のペア関係を解除するよう指示する（８２８）。さらに、ＤＭプログラム５５５は、仮想記憶領域制御プログラム１５２に対して、記憶領域２０１と仮想記憶領域１０２との対応を解除するように指示する（８３０）。
【０１２２】
以上の第１の実施の形態によれば、記憶領域１０１から記憶領域２０１へのデータの移行を、計算機１０からのリードライト要求の受付を中断することなく実行することができる。これは、計算機１０と記憶領域１０１との接続関係とは独立に仮想記憶領域１０２と記憶領域２０１の接続関係を確立できること、記憶領域１０１から仮想記憶領域１０２へのデータのコピーを計算機１０からの要求を受け付けながら実行できること、及び、記憶領域１０１から記憶領域２０１へのパス切替を要求毎に実行できることによって実現される。
【０１２３】
以上の手順の完了後、さらに、ＤＭプログラム５５５は、ＦＣインタフェース２１０をイニシエータとして設定し、ＦＣインタフェース２１５をターゲットとして設定してもよい（８３２）。
【０１２４】
次に、ＤＭプログラム５５５は、ストレージシステム２００の仮想記憶領域制御プログラム２５２に対して、イニシエータとして設定されたＦＣインタフェース２１０を介して、記憶領域をディスカバリ（発見）するように指示してもよい（８３４）。図２の構成では、このとき、記憶領域１０１がディスカバリされる。
【０１２５】
次に、ＤＭプログラム５５５は、仮想記憶領域制御プログラム２５２に対して、記憶領域１０１に対応する仮想記憶領域（図示省略）を作成するよう指示してもよい（８３６）。その結果、計算機１０は、ストレージシステム２００を経由して、記憶領域１０１を再利用することができる。これによって、まもなく寿命を迎えるストレージシステムであっても、データ移行完了後、装置寿命が到来する直前まで使用することができ、記憶領域の有効利用を図ることができる。このような記憶領域の使用は一時的なものであることが望ましい。
【０１２６】
＜第２の実施の形態＞
第２の実施の形態においては、図９に示すように（後述）、第１の実施の形態のファイバチャネルに代えて、インターネットプロトコルによるネットワークが計算機１０、ストレージシステム１００及びストレージシステム２００を接続している。インターネットプロトコルに対応するため、第１の実施の形態のＦＣスイッチ２０等に代えてＩＰスイッチ２１が、ＦＣインタフェース１３等に代えてＩＰインタフェース１４等が用いられる。また、第１の実施の形態では、計算機１０のパス切替プログラム５０が、アプリケーションプログラム１５が発行するリードライト要求の発行先記憶領域を切り替えていたが、第２の実施の形態では、ＩＰスイッチがこの切り替えを実現する。
【０１２７】
最初に、本実施の形態の計算機システムの構成について説明する。
【０１２８】
図９は、本発明の第２の実施の形態の計算機システムの構成を示すブロック図である。
【０１２９】
本実施の形態の計算機システムは、第１の実施の形態の計算機システム（図２）の２台のＦＣスイッチ２０及び３０に代えて、一台のＩＰスイッチ２１を備える。さらに、本実施の形態の計算機システムは、ＦＣインタフェース１３、１１０、１１５、２１０及び２１５に代えて、ＩＰインタフェース１４、１１１、１１６、２１１、２１６を備える。さらに、本実施の形態の計算機１０は、パス切替プログラム５０及びパス情報５１を保持しない。
【０１３０】
その他の部分については、第１の実施の形態（図２）と同様であるため、説明を省略する。
【０１３１】
次に、ＩＰスイッチ２１について説明する。
【０１３２】
本実施の形態におけるパス切替は、ＩＰスイッチ２１が備えるパス切替モジュール２５が実行する。パス切替モジュール２５は、計算機１０から受信したリードライト要求を含むパケットを解析し、パス情報２６に従ってパケットを書き換えることによって、パケットの送付先を切り替える。パケットの発行元及び発行先は、ＩＰアドレス及びポート番号等、ＩＰインタフェースの識別情報によって識別される。以下の説明では、便宜上、図中に表示する番号を用いてパケットの発行元及び発行先を識別する。具体的には、以下の説明において、ＩＰアドレスの代わりに、ＩＰインタフェースに付した番号（１４、１１１等）を使用し、ポート番号の代わりに、アプリケーションプログラムに付した番号（１５）又は記憶領域に付した番号（１０１等）を使用する。
【０１３３】
次に、パス情報２６について説明する。
【０１３４】
図１０は、本発明の第２の実施の形態のパス情報２６の説明図である。
【０１３５】
図１０において、（Ａ）から（Ｃ）は、本実施の形態の各時点におけるパス情報２６を示す。これらについては、後で説明する。
【０１３６】
パス情報２６は、発行元（ソース）２６１、発行先（ディスティネーション）２６２、書換ビット２６３及び書換発行先２６４からなる。
【０１３７】
発行元２６１は、パケットの発行元を識別するＩＰアドレス２６１１及びポート番号２６１２からなる。
【０１３８】
発行先２６２は、パケットの発行先を識別するＩＰアドレス２６２１及びポート番号２６２２からなる。
【０１３９】
書換ビット２６３は、パケットの発行先を書換発行先２６４に書き換えるか否かを示すフラグである。書換ビット２６３が「１」であるとき、パス切替モジュール２５は、パケットの発行元及び発行先がそれぞれ発行元２６１及び発行先２６２と一致するか否かを判定し、これらが一致するとき、パケットの発行先を書換発行先２６４に書き換える。
【０１４０】
書換発行先２６４は、書き換えられた後のパケットの発行先を識別するＩＰアドレス２６４１及びポート番号２６４２からなる。
【０１４１】
アプリケーションプログラム１５が発行したリードライト要求のパケットには、発行元として、ＩＰアドレス「１４」（ＩＰインタフェース１４を意味する）、ポート番号「１５」（アプリケーションプログラム１５を意味する）が、発行先として、ＩＰアドレス「１１１」（ＩＰインタフェース１１１を意味する）、ポート番号「１０１」（記憶領域１０１を意味する）が含まれている。これらは、それぞれ、図１０に示す発行元２６１の２６１１及びポート番号２６１２、及び、発行先２６２の２６２１及びポート番号２６２２と一致する。書換ビットが「１」である場合、ＩＰスイッチ２１のパス切替モジュール２５は、そのパケットの発行先のＩＰアドレス及びポート番号を書換発行先２６４のＩＰアドレス２６４１及びポート番号２６４２に書き換える。
【０１４２】
次に、データマイグレーション手順について説明する。
【０１４３】
データマイグレーション（移行）の手順は、基本的に第１の実施の形態と同様である（図８参照）。ただし、計算機１０のパス切替プログラム５０に対する指示は、第２の実施の形態においては、ＩＰスイッチ２１のパス切替モジュール２５への指示となる。以下、第１の実施の形態との相違点のみ説明する。
【０１４４】
なお、本実施の形態において、図８の手順が開始した直後のパス情報２６の内容は、図１０（Ａ）に示す通りである。
【０１４５】
ステップ８２２において、ＤＭプログラム５５５は、ＩＰスイッチ２１のパス切替モジュール２５に対して、書換発行先２６４のＩＰアドレス２６４１の値として「２１６」、ポート番号２６４２の値として「２０１」を保持するように指示する。その結果、パス情報２６は、図１０（Ｂ）に示すように更新される。
【０１４６】
ステップ８２６において、ＤＭプログラム５５５は、ＩＰスイッチ２１のパス切替モジュール２５に対して、書換ビット２６２を「１」にするよう指示する。その結果、パス情報２６は、図１０（Ｃ）に示すように更新される。
【０１４７】
以上の第２の実施の形態によれば、データ移行の完了後、計算機１０のアプリケーションプログラム１５が今までどおり記憶領域１０１にリードライト要求を発行しても、ＩＰスイッチ２１のパス切替制御モジュール２５によって、そのリードライト要求は記憶領域２０１に発行される。
【０１４８】
＜第３の実施の形態＞
次に、第３の実施の形態を、図面を参照して説明する。
【０１４９】
図１１は、本発明の第３の実施の形態の計算機システムの構成を示すブロック図である。
【０１５０】
第３の実施の形態の計算機システムの構成（図１１）は、基本的に、第１の実施の形態の計算機システム（図２）と同じである。ただし、第３の実施の形態のストレージシステム２００は、さらに、記憶領域切替プログラム２５９及び仮想記憶領域２０２を備える。また、第３の実施の形態の管理計算機５００のメモリ５５０には、管理テーブル５５７が格納される（図１２参照）。
【０１５１】
第１の実施の形態では、ストレージシステム１００がストレージシステム２００の記憶領域２０１に対応する仮想記憶領域１０２を作成していた。第３の実施の形態では、さらに、ストレージシステム２００がストレージシステム１００の記憶領域１０１に対応する仮想記憶領域２０２を作成して、データをコピーする。
【０１５２】
最初に、管理テーブル５５７について説明する。
【０１５３】
図１２は、本発明の第３の実施の形態の管理計算機５００に格納される管理テーブル５５７の説明図である。
【０１５４】
管理テーブル５５７は、本実施の形態の計算機システム内で実行されるデータ移行を管理するテーブルである。
【０１５５】
図１２において、（Ａ）から（Ｃ）は、本実施の形態の各時点における管理テーブル５５７を示す。これらについては、後で説明する。
【０１５６】
管理テーブル５５７は、データ移行元記憶領域番号５５７１、仮想記憶領域番号５５７２、データ移行先記憶領域番号５５７３及びデータ移行先仮想記憶領域番号５５７４からなる。これらのうち、データ移行元記憶領域番号５５７１、仮想記憶領域番号５５７２及びデータ移行先記憶領域番号５５７３は、それぞれ、管理テーブル５５６のデータ移行元記憶領域番号５５６１、仮想記憶領域番号５５６２及びデータ移行先記憶領域番号５５６３（図６参照）と同様である。また、図１２（Ａ）及び（Ｂ）が示す状態は、それぞれ、図６（Ａ）及び（Ｂ）が示す状態と同様である。このため、これらについては説明を省略する。なお、仮想記憶領域２０２の記憶領域番号（識別子）は、「２０２」である。
【０１５７】
図１２（Ｃ）の例では、データ移行元記憶領域番号５５７１が「１０１」、仮想記憶領域番号５５７２が「１０２」、データ移行先記憶領域番号５５７３が「２０１」、データ移行先仮想記憶領域番号５５７４が「２０２」である。これは、図１１に示すように、記憶領域２０１に対応する仮想記憶領域１０２及び記憶領域１０１に対応する仮想記憶領域２０２が設定され、仮想記憶領域２０２に書き込まれたデータは、記憶領域１０１、仮想記憶領域１０２を経由して記憶領域２０１に移行されることを示す（後述）。
【０１５８】
次に、本実施の形態におけるデータの流れについて説明する。
【０１５９】
図１１に示す計算機システムにおいて、計算機１０からライト要求によって記憶領域１０１に書き込まれるデータは、記憶領域１０１に書き込まれた後、仮想記憶領域１０２にコピーされる。仮想記憶領域１０２へのライト要求は、記憶領域２０１へのライト要求に変換されて再発行される。その結果、仮想記憶領域１０２にコピーされたデータは、記憶領域２０１に書き込まれる。
【０１６０】
一方、計算機１０から仮想記憶領域２０２にライト要求が発行されると、そのライト要求は、記憶領域１０１へのライト要求に変換されて再発行される。その結果、記憶領域１０１にデータが書き込まれる。記憶領域１０１に書き込まれたデータは、仮想記憶領域１０２にコピーされる。仮想記憶領域１０２へのライト要求は、記憶領域２０１へのライト要求に変換されて再発行される。その結果、仮想記憶領域１０２にコピーされたデータは、記憶領域２０１に書き込まれる。
【０１６１】
第１の実施の形態では、コピーが完了するまで、計算機１０でのパスの切り替えを行うことができなかった。このため、第１の実施の形態のパス切替プログラム５０は、コピーの完了を正しく把握する必要があった。しかし、第３の実施の形態によれば、以上のように、計算機１０が記憶領域１０１にライト要求を発行しても、仮想記憶領域２０２にライト要求を発行しても、結果として、必ず記憶領域２０１にデータが書き込まれる。このため、本実施の形態のパス切替プログラム５０は、ストレージシステムのコピーの状態に関係なく、パスをいつでも切り替えることができる。
【０１６２】
以下、本実施の形態のデータマイグレーション手順について、図１３のフローチャートを参照して説明する。
【０１６３】
図１３は、本発明の第３の実施の形態のデータマイグレーションプログラム５５５が実行するデータマイグレーションの手順を示すフローチャートである。
【０１６４】
なお、図１３において、第１の実施の形態のデータマイグレーション（図８参照）と同様の手順については、詳細な説明を省略する。
【０１６５】
第１の実施の形態と同様に、確認画面５８９において実行ボタン５８９３が操作されると、管理計算機５００は、ＤＭプログラム５５５を実行する。
【０１６６】
ＤＭプログラム５５５は、まず、ストレージシステム１００から、記憶領域一覧を入手する（１３０２）。本実施の形態では、ストレージシステム１００の記憶領域処理プログラム１５１が、ＤＭプログラム５５５からの要求に対して、図５に示す記憶領域一覧を応答する。
【０１６７】
次に、ＤＭプログラム５５５は、ストレージシステム２００に対して、記憶領域１０１の容量に対応する記憶領域を作成するように指示する（１３０４）。記憶領域制御プログラム２５１は、記憶領域２０１を作成し（図１１）、作成したことをＤＭプログラム５５５に通知する。
【０１６８】
ＤＭプログラム５５５は、記憶領域１０１に対応する記憶領域２０１を作成したことを管理テーブル５５７に登録する（１３０６）。この時点の管理テーブル５５７の内容は、図１２（Ａ）に示す通りである。
【０１６９】
次に、ＤＭプログラム５５５は、ストレージシステム１００のＦＣインタフェース１１５をイニシエータとして設定する（１３０８）。次に、ＤＭプログラム５５５は、ストレージシステム２００のＦＣインタフェース２１０をターゲットとして設定する（１３１０）。
【０１７０】
さらに、ＤＭプログラム５５５は、ＦＣインタフェース２１５をイニシエータとして設定する（１３１２）。その結果、ストレージシステム２００は、ＦＣインタフェース２１５を介して、ストレージシステム１００にリードライト要求を発行できるようになる。
【０１７１】
次に、ＤＭプログラム５５５は、仮想記憶領域制御プログラム１５２に対して、イニシエータとして設定されたＦＣインタフェース１１５を介して、記憶領域をディスカバリ（発見）するように指示する（１３１４）。ここでは、記憶領域２０１がディスカバリされる。仮想記憶領域制御プログラム１５２は、記憶領域２０１が発見されたことを、ＤＭプログラム５５５に通知する。
【０１７２】
次に、ＤＭプログラム５５５は、仮想記憶領域制御プログラム１５２に対して、記憶領域２０１に対応する仮想記憶領域を作成するように指示する（１３１６）。仮想記憶領域制御プログラム１５２は、仮想記憶領域１０２を作成する（図１１参照）。仮想記憶領域制御プログラム１５２は、記憶領域２０１に対応する仮想記憶領域１０２を作成したことをＤＭプログラム５５５に通知する。
【０１７３】
次に、ＤＭプログラム５５５は、管理テーブル５５７を更新する（１３１８）。更新された管理テーブル５５７の内容は、図１２（Ｂ）に示す通りである。
【０１７４】
次に、ＤＭプログラム５５５は、仮想記憶領域制御プログラム２５２に対して、イニシエータとして設定されたＦＣインタフェース２２５を介して、記憶領域をディスカバリ（発見）するように指示する（１３２０）。ここでは、記憶領域１０１及び仮想記憶領域１０２がディスカバリされる。仮想記憶領域制御プログラム２５２は、記憶領域１０１及び仮想記憶領域１０２が発見されたことを、ＤＭプログラム５５５に通知する。
【０１７５】
次に、ＤＭプログラム５５５は、図１２に示す管理テーブル５５７を参照して、発見されたものが記憶領域であるか仮想記憶領域であるかを判別する（１３２２）。図１２（Ｂ）に示すように、発見された記憶領域１０１は、通常の（仮想記憶領域でない）記憶領域である。
【０１７６】
次に、ＤＭプログラム５５５は、仮想記憶領域制御プログラム２５２に対して、記憶領域１０１に対応する仮想記憶領域を作成するように指示する（１３２４）。仮想記憶領域制御プログラム２５２は、仮想記憶領域２０２を作成する（図１１参照）。仮想記憶領域制御プログラム２５２は、記憶領域１０１に対応する仮想記憶領域２０２を作成したことをＤＭプログラム５５５に通知する。
【０１７７】
次に、ＤＭプログラム５５５は、管理テーブル５５７を更新する（１３２６）。更新された管理テーブル５５７の内容は、図１２（Ｃ）に示す通りである。
【０１７８】
次に、ＤＭプログラム５５５は、データコピー制御プログラム１５３に対して、記憶領域１０１をデータコピー元、仮想記憶領域を１０２をデータコピー先とするペアを設定するよう指示する（１３２８）。データコピー制御プログラム１５３は、このペア設定を、管理テーブル１５５に登録する（図７（Ａ）参照）。
【０１７９】
次に、ＤＭプログラム５５５は、キャッシュ制御プログラム１５４に対して、記憶領域１０１に関するキャッシュ１２１の利用を禁止するよう指示する（１３３０）。キャッシュ制御プログラム１５４は、キャッシュ１２１に残っている記憶領域１０１に関するデータを全て記憶領域１０１に書き込むとともに、以後、キャッシュ１２１を利用しない設定とする。
【０１８０】
次に、ＤＭプログラム５５５は、計算機１０のパス切替プログラム５０に対して、記憶領域１０１に関連する第２のパスとして、記憶領域２０２を登録するように指示する（１３３２）。その結果、パス情報５１は、図３（Ｄ）に示すように更新される。
【０１８１】
パス切替プログラム５０は、第１の実施の形態とは異なり、パス情報５１に第２のパスが設定された後、任意のタイミングでパスを切り替えることができる。図１３には、説明の便宜上、第２のパスを設定した（１３３２）後、コピーを開始する（１３３４）前に、パスの切り替えを実行する（１３４２）手順を示す。しかし、パス切替プログラム５０は、コピーを開始した後、コピーが終了する前にパスを切り替えてもよいし、コピーが終了した後でパスを切り替えてもよい。あるいは、記憶領域の切り替え（１３３６）（後述）の後でパスを切り替えてもよい。パス切替プログラム５０は、例えば、アプリケーションプログラム１５の動作状況に応じてパスを切り替えても良い。パスの切り替えの手順は、第１の実施の形態のステップ８２６（図８参照）と同様である。
【０１８２】
次に、ＤＭプログラム５５５は、データコピー制御プログラム１５３に対して、コピーを開始するように指示する（１３３４）。データコピー制御プログラム１５３は、コピーが完了すると、コピーの完了をＤＭプログラム５５５に通知する。
【０１８３】
次に、ＤＭプログラム５５５は、ストレージシステム２００の記憶領域切替プログラム２５９に対して、記憶領域２０１の記憶領域番号（識別子）を「２０１」から「２０２」に変更するように指示する（１３３６）。以後、ストレージシステム２００のデータ制御モジュール２２０は、記憶領域２０１を記憶領域番号「２０２」の記憶領域として扱う。その結果、計算機が仮想記憶領域２０２に対して発行した書き込み要求によって、記憶領域２０１にデータが書き込まれる。一方、仮想記憶領域２０２には、当面、記憶領域番号として「ＮＵＬＬ」を与える。「ＮＵＬＬ」は、この仮想記憶領域が計算機１０から利用できないことを示す。
【０１８４】
ＤＭプログラム５５５は、計算機１０のパス切替プログラム５０からパスを切り替えた旨の通知を受信すると、データコピー制御プログラム１５３に対して、記憶領域１０１と仮想記憶領域２０１のペア関係を解除するように指示する（１３３８）。ただし、データコピーが完了する前にパスが切り替えられた場合、ＤＭプログラム５５５は、データコピーが完了した後で、ペア関係の解除を指示する。
【０１８５】
次に、ＤＭプログラム５５５は、記憶領域切替プログラム２５９に対して、記憶領域番号に「ＮＵＬＬ」を与えた仮想記憶領域２０２に新たな記憶領域番号を与えるように指示する（１３４０）。記憶領域切替プログラム２５９は、例えば、仮想記憶領域２０２にまだ使用されていない記憶領域番号「２０３」を与える。その結果、計算機１０は、仮想記憶領域２０２を記憶領域番号「２０３」の記憶領域として使用することができる。すなわち、ストレージシステム２００は、記憶領域番号「２０３」を使用して、計算機１０から書き込み要求又は読み出し要求を受ける。これらの要求は、ストレージシステム２００内では、仮想記憶領域２０２に対する要求として処理される。このとき、仮想記憶領域２０２に対応する実際の記憶領域は、ストレージシステム１００の記憶領域１０１である。
【０１８６】
以上の本発明の第３の実施の形態によれば、第１の実施の形態においては、コピーが完了する前に、パス切替プログラム５０がパスを切り替えることができなかったのに対して、任意のタイミングでパスを切り替えることができる。また、ストレージシステム２００が仮想記憶領域２０２に新たな記憶領域番号を与えることで、記憶領域１０１をストレージシステム２００の記憶領域として再利用することができる。このため、まもなく装置寿命が到来するストレージシステムであっても、データ移行完了後、装置寿命が到来する直前まで使用することができ、記憶領域の有効利用を図ることができる。このような記憶領域の使用は、一時的なものであることが望ましい。
【０１８７】
上記の実施の形態によれば、古いストレージシステムが計算機と新しいストレージシステムとの両方にネットワークを介して接続可能であるような計算機を含む計算機システムにおいて、計算機からストレージシステムへのアクセスを停止せずにデータの移行をすることができる。上記の実施の形態によれば、ストレージシステムにおけるデータ移行完了のタイミングによらず、計算機における接続パスの切り替えを行うことができる。上記の実施の形態によれば、データの移行完了後、計算機が新しいストレージシステムを経由して古いストレージシステムを継続的に利用することによって、記憶領域の有効利用を図ることができる。
【図面の簡単な説明】
【０１８８】
【図１】本発明の第１の実施の形態の概要の説明図である。
【図２】本発明の第１の実施の形態の計算機システムの構成を示すブロック図である。
【図３】本発明の第１の実施の形態のパス情報の説明図である。
【図４】本発明の第１の実施の形態のディスプレイに表示される確認画面の説明図である。
【図５】本発明の第１の実施の形態の記憶領域一覧の説明図である。
【図６】本発明の第１の実施の形態の管理計算機に格納される管理テーブルの説明図である。
【図７】本発明の第１の実施の形態のストレージシステムに格納される管理テーブルの説明図である。
【図８】本発明の第１の実施の形態のデータマイグレーションプログラムが実行するデータマイグレーションの手順を示すフローチャートである。
【図９】本発明の第２の実施の形態の計算機システムの構成を示すブロック図である。
【図１０】本発明の第２の実施の形態のパス情報の説明図である。
【図１１】本発明の第３の実施の形態の計算機システムの構成を示すブロック図である。
【図１２】本発明の第３の実施の形態の管理計算機に格納される管理テーブルの説明図である。
【図１３】本発明の第３の実施の形態のデータマイグレーションプログラムが実行するデータマイグレーションの手順を示すフローチャートである。
【符号の説明】
【０１８９】
１０  計算機
１１、１４０、２４０、５１０  ＣＰＵ
１２、１５０、２５０、５５０  メモリ
１３、１１０、１１５、２１０、２１５  ＦＣインタフェース
１４、１１１、１１６、２１１、２１６  ＩＰインタフェース
１５  アプリケーションプログラム
１９、２９、１９０、２９０  管理インタフェース
２０、３０  ＦＣスイッチ
２１  ＩＰスイッチ
２５  パス切替モジュール
２６、５１  パス情報
５０  パス切替プログラム
９０  管理ネットワーク
１００、２００  ストレージシステム
１０１、２０１  記憶領域
１０２、２０２  仮想記憶領域
１２０、２２０  データ転送制御モジュール
１２１、２２１キャッシュ
１５１、２５１  記憶領域制御プログラム
１５２、２５２  仮想記憶領域制御プログラム
１５３、２５３  データコピー制御プログラム
１５４、２５４  キャッシュ制御プログラム
１５５、２５５  管理テーブル
２５９  記憶領域切替プログラム
５００  管理計算機
５５１  ストレージシステム検出プログラム
５５５  データマイグレーションプログラム（ＤＭプログラム）
５５６、５５７  管理テーブル
５８０  ディスプレイ
５８１  キーボード
５８２  マウス
【図１】
0004741304.tif 000002
【図２】
0004741304.tif 000003
【図３】
0004741304.tif 000004
【図４】
0004741304.tif 000005
【図５】
0004741304.tif 000006
【図６】
0004741304.tif 000007
【図７】
0004741304.tif 000008
【図８】
0004741304.tif 000009
【図９】
0004741304.tif 000010
【図１０】
0004741304.tif 000011
【図１１】
0004741304.tif 000012
【図１２】
0004741304.tif 000013
【図１３】
0004741304.tif 000014