(57)【要約】【課題】マイグレーション完了後に、簡単な操作で実行されたマイグレーションを取り消すことを可能とする。【解決手段】実行されたマイグレーションの移動元ボリューム及び移動先ボリュームの選択を受け付け、実行されたマイグレーションの完了日時とボリュームの更新日時とに基づいて、実行されたマイグレーションの完了後に、選択された移動元ボリューム及び移動先ボリュームが更新されたか否かを判定し、移動元ボリューム及び移動先ボリュームがともに更新されていないと判定された場合には、ホスト計算機が移動元ボリュームにアクセスするようにストレージサブシステムを設定することによって実行されたマイグレーションを取り消す。【選択図】図１
2008287327.tif 000002
【特許請求の範囲】
【請求項１】
ストレージサブシステムと、前記ストレージサブシステムに接続されるホスト計算機と、前記ストレージサブシステムにアクセス可能な管理サーバと、を含む計算機システムにおけるデータマイグレーション方法であって、
前記ストレージサブシステムは、前記ホスト計算機に接続されるポートと、前記ポートに接続され、前記ホスト計算機に読み書きされるデータを記憶する記憶装置と、を備え、前記記憶装置の記憶領域をボリュームとして、前記ホスト計算機に提供し、
前記管理サーバは、前記ストレージサブシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記メモリは、前記ボリュームに格納されたデータを他のボリュームに複写するマイグレーションの実行日時を含むマイグレーション管理情報と、前記ボリュームの更新日時を含むボリューム管理情報とを記憶し、
前記データマイグレーション方法は、
前記プロセッサが、前記マイグレーションを実行し、
前記プロセッサが、実行されたマイグレーションの移動元ボリューム及び移動先ボリュームの選択を受け付け、
前記プロセッサが、前記マイグレーション管理情報及び前記ボリューム管理情報に基づいて、前記実行されたマイグレーションの完了後に、前記選択された移動元ボリューム及び前記選択された移動先ボリュームが更新されたか否かを判定し、
前記選択された移動元ボリューム及び前記選択された移動先ボリュームが更新されていないと判定された場合には、前記ホスト計算機によって前記選択された移動元ボリュームがアクセスされるように、前記プロセッサが、前記ストレージサブシステムを設定することによって、前記実行されたマイグレーションを取り消すことを特徴とするデータマイグレーション方法。
【請求項２】
前記マイグレーション管理情報は、移動元ボリュームを識別する情報及び移動先ボリュームを識別する情報を含み、
前記データマイグレーション方法は、
前記プロセッサが、前記マイグレーション管理情報に基づいて、前記選択された移動先ボリュームに格納されたデータが過去に格納された移動元ボリュームの情報を含むマイグレーション実行履歴を取得し、
前記プロセッサが、前記マイグレーション実行履歴及び前記ボリューム管理情報に基づいて、前記選択された移動元ボリュームに格納されたデータが前記選択された移動先ボリュームに格納されるまでに更新されたか否かを判定し、
前記選択された移動元ボリュームに格納されたデータが更新されなかったと判定された場合には、前記プロセッサが、前記選択された移動元ボリューム及び前記選択された移動先ボリュームがともに更新されていないと判定することを特徴とする請求項１に記載のデータマイグレーション方法。
【請求項３】
前記データマイグレーション方法は、前記選択された移動元ボリュームが更新されていないと判定され、かつ、前記選択された移動先ボリュームが更新されていると判定された場合には、前記プロセッサが、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写するように、前記ストレージサブシステムに指示することを特徴とする請求項１に記載のデータマイグレーション方法。
【請求項４】
前記データマイグレーション方法は、前記選択された移動元ボリューム及び前記選択された移動先ボリュームが更新されていると判定された場合には、前記プロセッサが、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写するように、前記ストレージサブシステムに指示することを特徴とする請求項１に記載のデータマイグレーション方法。
【請求項５】
前記データマイグレーション方法は、前記選択された移動元ボリュームが更新されていると判定され、かつ、前記選択された移動先ボリュームが更新されていないと判定された場合には、前記プロセッサが、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写するように、前記ストレージサブシステムに指示することを特徴とする請求項１に記載のデータマイグレーション方法。
【請求項６】
前記データマイグレーション方法は、
前記プロセッサが、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写可能であるか否かを判定し、
前記プロセッサが、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写できない場合には、複写可能なボリュームを検索し、前記検索されたボリュームを移動先ボリュームの候補として提示することを特徴とする請求項１に記載のデータマイグレーション方法。
【請求項７】
前記選択された移動元ボリュームは、複数のボリュームを含むマイグレーショングループによって管理され、
前記データマイグレーション方法は、前記プロセッサが、前記マイグレーショングループに含まれる各ボリュームを前記選択された移動元ボリュームとすることを特徴とする請求項１に記載のデータマイグレーション方法。
【請求項８】
前記データマイグレーション方法は、
前記プロセッサが、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写可能であるか否かを判定し、
前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写できない場合に、前記プロセッサが、複写可能なボリュームを検索し、前記検索されたボリュームを移動先ボリュームの候補として提示し、
前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写可能である場合に、
前記プロセッサが、前記選択された移動元ボリュームが更新されている場合には、前記選択された移動元ボリュームの更新が上書きされる旨を提示し、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写するように前記ストレージサブシステムに指示し、
前記プロセッサが、前記選択された移動元ボリュームが更新されていないと判定され、かつ、前記選択された移動先ボリュームが更新されていると判定された場合には、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写するように前記ストレージサブシステムに指示することを特徴とする請求項１に記載のデータマイグレーション方法。
【請求項９】
ストレージサブシステムと、前記ストレージサブシステムに接続されるホスト計算機と、前記ストレージサブシステムにアクセス可能な管理サーバと、を含む計算機システムであって、
前記ストレージサブシステムは、前記ホスト計算機に接続されるポートと、前記ポートに接続され、前記ホスト計算機に読み書きされるデータを記憶する記憶装置と、を備え、前記記憶装置の記憶領域をボリュームとして、前記ホスト計算機に提供し、
前記管理サーバは、前記ストレージサブシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記メモリは、前記ボリュームに格納されたデータを他のボリュームに複写するマイグレーションの実行日時を含むマイグレーション管理情報と、前記ボリュームの更新日時を含むボリューム管理情報とを記憶し、
前記管理サーバは、
前記マイグレーションを実行し、
実行されたマイグレーションの移動元ボリューム及び移動先ボリュームの選択を受け付け、
前記マイグレーション管理情報及び前記ボリューム管理情報に基づいて、前記実行されたマイグレーションの完了後に、前記選択された移動元ボリューム及び前記選択された移動先ボリュームが更新されたか否かを判定し、
前記選択された移動元ボリューム及び前記選択された移動先ボリュームが更新されていないと判定された場合には、前記ホスト計算機によって前記選択された移動元ボリュームがアクセスされるように、前記ストレージサブシステムを設定することによって、前記実行されたマイグレーションを取り消すことを特徴とする計算機システム。
【請求項１０】
前記マイグレーション管理情報は、移動元ボリュームを識別する情報及び移動先ボリュームを識別する情報を含み、
前記管理サーバは、
前記マイグレーション管理情報に基づいて、前記選択された移動先ボリュームに格納されたデータが過去に格納された移動元ボリュームの情報を含むマイグレーション実行履歴を取得し、
前記マイグレーション実行履歴及び前記ボリューム管理情報に基づいて、前記選択された移動元ボリュームに格納されたデータが前記選択された移動先ボリュームに格納されるまでに更新されたか否かを判定し、
前記選択された移動元ボリュームに格納されたデータが更新されなかったと判定された場合には、前記選択された移動元ボリューム及び前記選択された移動先ボリュームがともに更新されていないと判定することを特徴とする請求項９に記載の計算機システム。
【請求項１１】
前記管理サーバは、前記選択された移動元ボリュームが更新されていないと判定され、かつ、前記選択された移動先ボリュームが更新されていると判定された場合には、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写するように、前記ストレージサブシステムに指示することを特徴とする請求項９に記載の計算機システム。
【請求項１２】
前記管理サーバは、前記選択された移動元ボリューム及び前記選択された移動先ボリュームが更新されていると判定された場合には、前記プロセッサが、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写するように、前記ストレージサブシステムに指示することを特徴とする請求項９に記載の計算機システム。
【請求項１３】
前記管理サーバは、前記選択された移動元ボリュームが更新されていると判定され、かつ、前記選択された移動先ボリュームが更新されていないと判定された場合には、前記プロセッサが、前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写するように、前記ストレージサブシステムに指示することを特徴とする請求項９に記載の計算機システム。
【請求項１４】
前記管理サーバは、
前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写可能であるか否かを判定し、
前記選択された移動先ボリュームに格納されたデータを前記選択された移動元ボリュームに複写できない場合には、複写可能なボリュームを検索し、前記検索されたボリュームを移動先ボリュームの候補として提示することを特徴とする請求項９に記載の計算機システム。
【請求項１５】
前記選択された移動元ボリュームは、複数のボリュームを含むマイグレーショングループによって管理され、
前記管理サーバは、前記マイグレーショングループに含まれる各ボリュームを前記選択された移動元ボリュームとすることを特徴とする請求項９に記載の計算機システム。
【請求項１６】
ストレージサブシステムによってホスト計算機に提供されるボリュームに格納されたデータを複写するマイグレーションを実行する管理サーバで実行されるデータマイグレーションプログラムであって、
前記マイグレーションを実行する手順と、
前記データの移動元ボリューム及び移動先ボリュームの選択を受け付ける手順と、
前記マイグレーションの実行日時及び前記選択された移動元ボリュームの更新日時に基づいて、前記実行されたマイグレーションの完了後に、前記選択された移動先ボリューム及び前記選択された移動元ボリュームが更新されたか否かを判定する手順と、
前記選択された移動元ボリューム及び前記選択された移動先ボリュームがともに更新されていないと判定された場合には、前記ホスト計算機によって前記選択された移動元ボリュームがアクセスされるように、前記ストレージサブシステムを設定する手順とを前記管理サーバに実行させることを特徴とするデータマイグレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムの管理を簡素化する技術に関し、特に、実行されたデータマイグレーションを取り消す方法に関する。
【背景技術】
【０００２】
近年、ストレージシステムで扱われるデータの容量は増加することが予想され、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）環境における設定の簡素化及び自動化は重要な課題である。
【０００３】
また、データ量の増大に伴って、アクセス頻度の変化などの理由で、データを別のストレージ装置に移動させるマイグレーション（データマイグレーション）が必要となる場合がある。例えば、アクセス頻度の低下を理由として、処理性能の高いストレージ装置から処理性能の低いストレージ装置にマイグレーションする場合である。このとき、処理性能が想定したよりも低すぎる場合など、マイグレーションを取り消す必要がある場合には、再度マイグレーションを実行する必要があった。
【０００４】
このような場合には、マイグレーションの取消機能（Ｕｎｄｏ機能）が備えられていると有用である。特許文献１には、マイグレーション実行時に完了確認操作を設け、完了確認操作においてマイグレーションの実行を取り消すことを可能とする技術が開示されている。
【特許文献１】米国特許第７０９３０８８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に開示された技術では、完了確認操作の後にマイグレーションを取り消すことができなかった。マイグレーション完了後に処理を取り消す必要がある場合には、移動元と移動先を入れ替えたマイグレーションを再度実行する必要があった。
【０００６】
本発明は、マイグレーションが完了した後であっても、簡単な操作でマイグレーションを取り消す方法を提示することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の代表的な一形態では、ストレージサブシステムと、前記ストレージサブシステムに接続されるホスト計算機と、前記ストレージサブシステムにアクセス可能な管理サーバと、を含む計算機システムにおけるデータマイグレーション方法であって、前記ストレージサブシステムは、前記ホスト計算機に接続されるポートと、前記ポートに接続され、前記ホスト計算機に読み書きされるデータを記憶する記憶装置と、を備え、前記記憶装置の記憶領域をボリュームとして、前記ホスト計算機に提供し、前記管理サーバは、前記ストレージサブシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記メモリは、前記ボリュームに格納されたデータを他のボリュームに複写するマイグレーションの実行日時を含むマイグレーション管理情報と、前記ボリュームの更新日時を含むボリューム管理情報とを記憶し、前記データマイグレーション方法は、前記プロセッサが、マイグレーションを実行し、前記プロセッサが、実行されたマイグレーションの移動元ボリューム及び移動先ボリュームの選択を受け付け、前記プロセッサが、前記マイグレーション管理情報及び前記ボリューム管理情報に基づいて、前記実行されたマイグレーションの完了後に、前記選択された移動元ボリューム及び前記選択された移動先ボリュームが更新されたか否かを判定し、前記選択された移動元ボリューム及び前記選択された移動先ボリュームが更新されていないと判定された場合には、前記ホスト計算機によって前記選択された移動元ボリュームがアクセスされるように、前記プロセッサが、前記ストレージサブシステムを設定することによって、前記実行されたマイグレーションを取り消すことを特徴とする。
【発明の効果】
【０００８】
本発明の一実施形態によれば、マイグレーションが完了した後であっても、簡単な操作でマイグレーションを取り消すことができる。
【発明を実施するための最良の形態】
【０００９】
以下、各図を参照しながら本発明を実施するための形態について説明する。
【００１０】
図１は、本発明の実施の形態の計算機システムのシステム構成を示す図である。
【００１１】
本発明の実施の形態の計算機システムは、管理サーバ５０１、ホスト計算機５０２、ファイバチャネルスイッチ５０３、ストレージサブシステム５０４及び管理端末５０６を含む。
【００１２】
管理サーバ５０１は、ストレージサブシステム５０４を管理する。管理サーバ５０１には、管理ツール５１１が含まれる。管理サーバ５０１は、管理端末５０６の指示に応じて管理ツール５１１に含まれる機能を実行し、ストレージサブシステム５０４を管理する。管理サーバ５０１の詳細は、図２にて後述する。
【００１３】
ホスト計算機５０２は、アプリケーション５１２を実行することによって、業務処理を実行する計算機である。ホスト計算機５０２は、例えば、ワークステーションシステム、メインフレームコンピュータ、パーソナルコンピュータなどである。ホスト計算機５０２は、ストレージサブシステム５０４に格納されたデータを利用して、データベース処理、Ｗｅｂアプリケーション処理、及びストリーミング処理などの業務処理を実行する。
【００１４】
ファイバチャネルスイッチ５０３は、ファイバチャネルインタフェースを有する各種装置を相互に接続する。ファイバチャネルスイッチ５０３は、複数のサーバとストレージシステムとを接続し、ＳＡＮを構築する。本発明の実施の形態では、ファイバチャネルスイッチ５０３を介して、ホスト計算機５０２及びストレージサブシステム５０４が接続される。
【００１５】
ストレージサブシステム５０４は、制御部（図示せず）、ポート５１５及び記憶装置５１６を含む。制御部は、ホスト計算機５０２から要求された処理を実行する。ポート５１５は、ファイバチャネルスイッチ５０３と接続する。
【００１６】
記憶装置５１６は、ホスト計算機５０２の要求に基づいて読み書きされるデータを格納する。記憶装置５１６は、実際にデータを記憶する物理デバイスである。具体的には、ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）ディスクドライブ、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）ディスクドライブ、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ディスクドライブなどが挙げられる。なお、記憶装置５１６として、フラッシュメモリなどの半導体メモリを併用してもよい。
【００１７】
ＬＡＮ５０５は、管理サーバ５０１、ストレージサブシステム５０４及び管理端末５０６に接続される。管理端末５０６は、ＬＡＮ５０５を介して管理サーバ５０１にアクセスし、管理情報を設定及び表示する。
【００１８】
図２は、本発明の実施の形態の管理サーバ５０１の構成を示す図である。管理サーバ５０１は、通信装置６０２、ＣＰＵ６０３、メモリ６０４及び記憶装置６０５を含む。
【００１９】
通信装置６０２は、ＬＡＮ５０５に接続するインタフェースである。管理サーバ５０１は、通信装置６０２を介してネットワークに接続する。
【００２０】
ＣＰＵ６０３は、メモリ６０４に記憶されたプログラムを実行することによって、各種処理を実行する。
【００２１】
メモリ６０４は、ＣＰＵ６０３によって実行されるプログラム及び処理に必要なデータを記憶する。メモリ６０４は、ストレージサブシステム５０４を管理するプログラム及びデータを含む管理ツール５１１を記憶する。
【００２２】
管理ツール５１１は、記憶装置６０５に格納され、実行時に読み出してメモリ６０４に記憶されるようにしてもよい。また、ＣＰＵ６０３は、管理ツール５１１に含まれるプログラムが実行されることによって、ストレージサブシステム５０４から情報を取得したり、ストレージサブシステム５０４に設定要求を発行したりする。
【００２３】
管理ツール５１１は、ボリューム情報取得機能６１１、マイグレーション管理機能６１２、及びマイグレーション機能６１５を備える。ボリューム情報取得機能６１１、マイグレーション管理機能６１２、及びマイグレーション機能６１５は、各機能を実行するためのプログラムである。また、管理ツール５１１は、マイグレーション管理テーブル６１３及びボリューム管理テーブル６１４を備える。
【００２４】
ボリューム情報取得機能６１１は、ボリューム管理テーブル６１４を管理する。マイグレーション管理機能６１２は、マイグレーション管理テーブル６１３を管理する。
【００２５】
マイグレーション機能６１５は、マイグレーションを実行し、及び実行されたマイグレーションの取り消しを行う。マイグレーションの処理の詳細は、図５にて後述する。マイグレーションの取り消しの詳細は、図７にて後述する。
【００２６】
マイグレーション管理テーブル６１３は、マイグレーションが実行された移動元のボリュームと移動先のボリュームとの対応、及びマイグレーションが完了した日時が格納される。マイグレーション管理テーブル６１３の詳細は、図３にて後述する。
【００２７】
ボリューム管理テーブル６１４は、ストレージサブシステム５０４によって提供されるボリュームの最終更新日時及びパス設定の有無を格納する。ボリューム管理テーブル６１４の詳細は、図４にて後述する。
【００２８】
図３は、本発明の実施の形態のマイグレーション管理テーブル６１３の一例を示す図である。マイグレーション管理テーブル６１３は、移動元ボリューム４０１、移動先ボリューム４０２、及びマイグレーション完了日時４０３を含む。
【００２９】
マイグレーション管理テーブル６１３は、マイグレーションが実行され、完了したときに新たにレコードが追加される。
【００３０】
移動元ボリューム４０１は、データが格納されていたボリュームを識別する情報である。移動元ボリューム４０１は、サブシステム４０４及びＬＤＥＶ４０５を含む。サブシステム４０４は、移動元ボリュームが格納されているストレージサブシステム５０４の識別子が格納されている。ＬＤＥＶ４０５は、移動元ボリュームに対応するストレージサブシステム５０４によって提供される論理デバイスの識別子を格納する。
【００３１】
移動先ボリューム４０２は、データを新たに格納するボリュームを識別する情報である。サブシステム４０６は、移動先ボリュームが格納されているストレージサブシステム５０４の識別子が格納されている。ＬＤＥＶ４０７は、移動先ボリュームに対応するストレージサブシステム５０４によって提供される論理デバイスの識別子を格納する。
【００３２】
マイグレーション完了日時４０３は、マイグレーションの実行が完了した日時を格納する。
【００３３】
なお、マイグレーション管理テーブル６１３に格納されたレコードは、マイグレーション実行後に移動元ボリュームに格納されたデータが更新された場合には、マイグレーション管理テーブル６１３から削除されるようにしてもよい。
【００３４】
図４は、本発明の実施の形態のボリューム管理テーブル６１４の一例を示す図である。ボリューム管理テーブル６１４は、サブシステム４１１、ＬＤＥＶ４１２、最終更新日時４１３、及びパス設定４１４を含む。ボリューム管理テーブル６１４は、ストレージサブシステム５０４に新たにボリュームが作成された場合にレコードが追加される。
【００３５】
サブシステム４１１は、ストレージサブシステム５０４の識別子が格納されている。ＬＤＥＶ４１２は、ストレージサブシステム５０４によって提供される論理デバイスの識別子を格納する。
【００３６】
最終更新日時４１３は、サブシステム４１１及びＬＤＥＶ４１２によって特定されるボリュームに、ホスト計算機５０２によって最後に書き込み要求を受け付けた日時を格納する。
【００３７】
パス設定４１４は、サブシステム４１１及びＬＤＥＶ４１２によって特定されるボリュームへのパス設定の有無を格納する。パス設定４１４に格納される値は、ボリュームからサブシステム内のポートに接続されている論理的なパスの数である。
【００３８】
図５は、本発明の実施の形態のマイグレーションの手順を示すフローチャートである。マイグレーションは、マイグレーション機能６１５がＣＰＵ６０３によって処理されることによって実行される。
【００３９】
ＣＰＵ６０３は、まず、移動元ボリュームの指定を受け付ける（ステップ２０１）。移動元ボリュームは、管理者が管理端末５０６を操作することによって指定される。移動元ボリュームの指定は、例えば、図６にて後述するボリューム選択画面を介して入力される。
【００４０】
ステップ２０１の処理では、例えば、ホスト計算機５０２のアプリケーション５１２がアクセスしているファイルを移動させる場合に、当該ファイルが含まれるストレージサブシステムによって提供されるボリュームを移動元ボリュームとする。
【００４１】
図６は、本発明の実施の形態の移動元ボリューム又は移動先ボリュームを指定するボリューム選択画面７５０を示す図である。ボリューム選択画面７５０は、マイグレーションを実行する場合、又は、マイグレーションを取り消す場合に利用者の指示によって管理端末５０６に表示される。
【００４２】
ボリューム選択画面７５０は、移動元ボリューム又は移動先ボリュームの候補が表示される。図６には、移動元ボリューム又は移動先ボリュームの候補として、ボリューム７６０及びボリューム７６１が表示されている。ボリューム選択画面７５０を表示する前に、条件を入力する画面を表示し、入力された条件に基づいて、候補となるボリュームを表示するようにしてもよい。
【００４３】
利用者は、移動元ボリューム又は移動先ボリュームを選択し、ＯＫボタン７５１を操作すると、ボリュームの選択が確定される。キャンセルボタン７５２が操作された場合には、処理を中止する。また、キャンセルボタン７５２が操作された場合には、条件選択画面などの前画面に戻るようにしてもよい。
【００４４】
ここで、図５のマイグレーションの手順を示すフローチャートの説明に戻る。
【００４５】
ＣＰＵ６０３は、移動元ボリュームが決定すると、移動先ボリュームの選択を受け付ける（ステップ２０２）。ＣＰＵ６０３は、図６に示したボリューム選択画面７５０を表示して、移動先ボリュームの選択を受け付ける。
【００４６】
マイグレーションの処理には、移動元ボリューム及び移動先ボリュームの容量が等しくなければならないなどの条件が存在する。具体的な条件はストレージサブシステムによって相違するため、詳細な条件の記載は省略するが、選択された移動元ボリュームに基づいて、ボリューム選択画面７５０に移動先ボリューム候補を表示する。
【００４７】
ＣＰＵ６０３は、移動先ボリュームが選択されると、移動先ボリュームについて必要な設定を行う。ＣＰＵ６０３は、管理サーバ５０１に格納される管理情報を更新し、ホスト計算機５０２、及びストレージサブシステム５０４などに格納される管理情報の更新を指示する。具体的な設定項目としては、ストレージサブシステム５０４のポート５１５にパスを設定する処理、及び、ホスト計算機５０２側で移動先ボリュームをドライブとして認識させる処理などが含まれる。これらの設定は、ストレージサブシステムの機種又は使用する機能などによって相違する。
【００４８】
ＣＰＵ６０３は、各種設定が完了すると、移動元ボリュームに格納されたデータを移動先ボリュームに移動させる（ステップ２０４）。具体的には、移動元ボリュームと移動先ボリュームとが同期するように、移動元ボリュームに格納されたデータを移動先ボリュームに複写する。ここで、本発明の実施の形態における「データの移動」は、移動元ボリュームに格納されたデータを移動先ボリュームに複写することである。複写された移動元ボリュームのデータは、削除されずに再度移動元ボリュームが使用されなければそのまま保持される。
【００４９】
ＣＰＵ６０３は、ホスト計算機５０２からのアクセス要求が移動元ボリュームから移動先ボリュームに変更されるようにパスを設定し、アクセス経路を切替える（ステップ２０５）。このとき、ＣＰＵ６０３は、変更されたパス設定に基づいて、移動元ボリューム及び移動先ボリュームに対応するボリューム管理テーブル６１４のレコードのパス設定４１４の値を更新する。
【００５０】
ＣＰＵ６０３は、移動元ボリュームを解放する。さらに、移動元ボリュームと移動先ボリュームとの同期状態を解除する（ステップ２０６）。
【００５１】
ＣＰＵ６０３は、ステップ２０６の処理が完了し、マイグレーションが完了すると、マイグレーション管理テーブル６１３にレコードを追加する。
【００５２】
マイグレーション管理テーブル６１３は、ステップ２０１の処理で決定された移動元ボリューム及びステップ２０２の処理で選択された移動先ボリュームを特定する情報が、移動元ボリューム４０１及び移動先ボリューム４０２に格納される。さらに、マイグレーション完了日時４０３にレコードを追加した時刻が格納される。
【００５３】
図７は、本発明の実施の形態のマイグレーションの手順と移動対象のボリュームの状態を説明する図である。図７では、初期状態、ステップ２０４の処理の実行後、及びステップ２０５の処理の実行後の状態について説明する。
【００５４】
図７に示すシステムには、アレイグループ３０１及び３０２を含む。アレイグループ３０１には、移動元ボリューム３０３が含まれ、アレイグループ３０２には、移動先ボリューム３０４が含まれる。
【００５５】
初期状態では、移動元ボリューム３０３は識別子Ａによって特定され、移動先ボリューム３０４は識別子Ｂによって特定される。また、移動元ボリューム３０３にはデータＳが含まれ、移動先ボリューム３０４にはデータＴが含まれる。
【００５６】
「データの移動」処理が実行されると（ステップ２０４）、移動先ボリューム３０４のデータＴはデータＳに更新される。このとき、移動元ボリューム３０３及び移動先ボリューム３０４には、ともにデータＳが格納されている。
【００５７】
さらに、「アクセス経路の切り替え」処理が実行されると（ステップ２０５）、移動元ボリューム３０３の識別子と移動先ボリューム３０４の識別子が交換される。ボリュームの識別子とは、例えば、個々のボリュームに一意に割り振られた数値などである。ホスト計算機５０２は、ボリュームに付与された識別子に基づいてアクセスするため、アクセス経路が切り替えられた後、移動元ボリューム３０３へのアクセスと同様に移動先ボリューム３０４にアクセスすることができる。
【００５８】
ここで、マイグレーションが実行された後、実行されたマイグレーションを取り消す手順について説明する。前述したように、移動元ボリューム及び移動先ボリュームの指定を入れ替えて再度マイグレーションをすることによって、マイグレーションを取り消すことができる。
【００５９】
しかし、図７に示したように、マイグレーションが実行された後、移動元ボリューム及び移動先ボリュームがともに、設定が変更されていない場合又はデータが更新されていない場合には、「データの移動」処理（図５のステップ２０４）は不要となる。ボリュームに格納されたデータの容量が大きい場合には、「データの移動」処理に多くのコストを要するため、マイグレーションの取り消しに必要なコストを大幅に低減することができる。
【００６０】
本発明の実施の形態では、マイグレーションが実行された後のボリュームの更新情報などを参照し、必要な場合のみデータの移動処理を実行し、簡易かつ迅速に、実行されたマイグレーションを取り消す方法を提示する。
【００６１】
図８は、本発明の実施の形態の実行されたマイグレーションを取り消す処理の手順を示すフローチャートである。
【００６２】
本処理は、マイグレーションの実行が完了した後に、ストレージ管理者が実行されたマイグレーションの取り消す場合に実行される。また、本処理は、メモリ６０４に格納された管理ツール５１１のマイグレーション機能６１５が、ＣＰＵ６０３によって実行されることによって処理される。
【００６３】
なお、図８に示すフローチャートでは、「移動元ボリューム」を直前に実行されたマイグレーションにおいて移動元であったボリュームを指し、「移動先ボリューム」は直前に実行されたマイグレーションにおいて移動先であったボリュームを指す。
【００６４】
ＣＰＵ６０３は、本処理を実行する前に移動元ボリューム及び移動先ボリュームを特定する必要がある。移動元ボリューム及び移動先ボリュームの特定には、ホスト計算機５０２によってアクセスされている移動先ボリュームの指定を受け付け、マイグレーション管理テーブル６１３を参照して移動元ボリュームを特定する方法がある。また、実行されたマイグレーションそのものの指定を受け付けて、移動元ボリューム及び移動先ボリュームを特定してもよい。
【００６５】
ＣＰＵ６０３は、まず、移動元ボリュームがマイグレーションの実行が可能であるか否かを判定する（ステップ７０１）。言い換えると、移動元ボリュームに移動先ボリュームのデータを移動することが可能であるか否かを判定する。移動元ボリュームがマイグレーションの実行が可能であるかは、移動元ボリュームがマイグレーション完了後に使用されているか否かによって判定する。具体的には、ボリューム管理テーブル６１４を参照し、パス設定４１４の値が０であればマイグレーション可能と判定する。パス設定４１４の値が０の場合には、移動元ボリュームにパスが接続されておらず、ホスト計算機５０２などからアクセスできないため、本処理が実行されている時点で使用されていないと判定できる。
【００６６】
ＣＰＵ６０３は、移動元ボリュームのマイグレーションが実行不可の場合には（ステップ７０１の結果が「ＮＯ」）、他のマイグレーション可能なボリュームを検索する（ステップ７０２）。
【００６７】
ＣＰＵ６０３は、ステップ７０２の処理で検索された候補ボリュームが存在するか否かを判定する（ステップ７０９）。候補ボリュームが存在する場合には（ステップ７０９の結果が「ＹＥＳ」）、ステップ７０７の処理を実行する。また、候補ボリュームが存在する場合には、候補ボリュームを利用者に提示する。候補ボリュームが存在しない場合には（ステップ７０９の結果が「ＮＯ」）、マイグレーションを実行することができないため、本処理を終了する。
【００６８】
ＣＰＵ６０３は、移動元ボリュームのマイグレーションが実行可能の場合には（ステップ７０１の結果が「ＹＥＳ」）、「直前のマイグレーション」の後に移動先ボリュームが更新されているか否かを判定する（ステップ７０３）。「直前のマイグレーション」の後に移動先ボリュームが更新されているか否かは、「直前のマイグレーション」のマイグレーション管理テーブル６１３のマイグレーション完了日時４０３と、ボリューム管理テーブル６１４の移動先ボリュームの最終更新日時４１３を比較することによって判定する。
【００６９】
ＣＰＵ６０３は、移動先ボリュームが更新されていない場合には（ステップ７０３の結果が「ＮＯ」）、移動元ボリュームが「直前のマイグレーション」後に更新されているか否かを判定する（ステップ７０４）。移動元ボリュームの更新の有無の判定は、ステップ７０３の処理と同様に、マイグレーション管理テーブル６１３のマイグレーション完了日時４０３と、ボリューム管理テーブル６１４の移動先ボリュームの最終更新日時４１３を比較する。
【００７０】
なお、本発明の実施の形態では、ステップ７０１の処理で移動元ボリュームがマイグレーション可能（パス設定されていない）と判定された場合であっても、移動元ボリュームの変更の有無を確認する。利用者がマイグレーションの取り消しを実行した時点では、移動元ボリュームのパス数は０となっていても、マイグレーションの取り消しを実行する前にパスが設定されており、データが更新されている可能性があるためである。
【００７１】
ＣＰＵ６０３は、移動元ボリュームが更新されていない場合には（ステップ７０４の結果が「ＮＯ」）、本処理を終了する。移動元ボリュームの内容と移動先ボリュームの内容とが同一であるため、データを移動させる必要がないためである。この場合には、データを移動せずに、アクセス経路の切り替えのみを行なえばよい。
【００７２】
ＣＰＵ６０３は、移動先ボリュームが更新されている場合には（ステップ７０３の結果が「ＹＥＳ」）、移動元ボリュームが更新されているか否かを判定する（ステップ７０５）。
【００７３】
ＣＰＵ６０３は、移動元ボリュームが更新されている場合には（ステップ７０４の結果が「ＹＥＳ」又はステップ７０５の結果が「ＹＥＳ」）、マイグレーションによって移動元ボリュームの更新データが上書きされる旨の警告を利用者に通知する（ステップ７０６）。
【００７４】
ＣＰＵ６０３は、実際にデータ移動を実行するか否かの確認を受け付ける（ステップ７０７）。ステップ７０７の処理は、ステップ７０６の処理で警告が通知された後、ステップ７０２の処理で移動元ボリュームと異なるボリュームが検索され、利用者に提示された後、及び、ステップ７０５の処理で移動元ボリュームが更新されていない場合に実行される。
【００７５】
ＣＰＵ６０３は、利用者からデータ移動の実行指示を受け付けた場合には（ステップ７０７の結果が「ＹＥＳ」）、移動先ボリュームのデータを移動元ボリュームに移動するように、ストレージサブシステム５０４に指示する（ステップ７０８）。
【００７６】
移動元ボリューム及び移動先ボリュームが変更されていない場合（ステップ７０４の結果が「ＹＥＳ」）、又は、移動先ボリュームのデータを移動元のボリュームに複写した場合（ステップ７０８）には、本処理が終了すると、移動元ボリュームの内容と移動先ボリュームの内容とが一致する。したがって、本処理の終了後に、ホスト計算機５０２からのアクセス要求が移動元ボリュームから移動先ボリュームに変更されるようにパスを設定し、アクセス経路を切り替えることによって、実行されたマイグレーションを取り消すことができる。
【００７７】
図９は、本発明の実施の形態のマイグレーションの取り消し処理を実行する場合の移動元ボリューム及び移動先ボリュームの状態の一覧を示す図である。図９には、移動元ボリュームのマイグレーション可否、移動元ボリューム及び移動先ボリュームの更新有無によって、パターン１から５までの状態が示されている。以下、図８のフローチャートの処理とともに各パターンの処理を説明する。
【００７８】
パターン１は、移動元ボリュームがマイグレーション不可の場合を示している。移動元ボリュームがマイグレーション不可の場合には（ステップ７０１の結果が「ＮＯ」）、移動元ボリュームと異なる候補ボリュームをストレージサブシステム５０４から検索する（ステップ７０２）。候補ボリュームが検索された場合には（ステップ７０９の結果が「ＹＥＳ」）、検索された候補ボリュームに移動先ボリュームのデータを移動させることができる。なお、パターン１では、移動元ボリュームが他のシステムで使用されているなどの理由でデータを移動させることができないため、移動元ボリューム及び移動先ボリュームに格納されたデータが更新されているか否かを判定する必要はない。
【００７９】
パターン２は、移動元ボリュームがマイグレーション可能であって（ステップ７０１の結果が「ＹＥＳ」）、移動先ボリュームが更新されており（ステップ７０３の結果が「ＹＥＳ」）、さらに、移動元ボリュームが更新されていない場合（ステップ７０５の結果が「ＮＯ」）を示している。
【００８０】
パターン２では、移動元ボリュームが更新されていないため、データを移動するか否かを確認し（ステップ７０７）、移動先ボリュームのデータをそのまま移動元のボリュームに移動させる（ステップ７０８）。
【００８１】
パターン３は、移動元ボリュームがマイグレーション可能であって（ステップ７０１の結果が「ＹＥＳ」）、移動先ボリュームが更新されており（ステップ７０３の結果が「ＹＥＳ」）、さらに、移動元ボリュームが更新されている場合（ステップ７０５の結果が「ＹＥＳ」）を示している。
【００８２】
パターン３では、移動元ボリュームが更新されているため、移動元のボリュームに格納された更新データがマイグレーションによって上書きされることを利用者に警告する（ステップ７０６）。警告後、データを移動するか否かを確認し（ステップ７０７）、移動先ボリュームのデータを移動元ボリュームに移動させる（ステップ７０８）。
【００８３】
パターン４は、移動元ボリュームがマイグレーション可能であって（ステップ７０１の結果が「ＹＥＳ」）、移動先ボリュームが更新されておらず（ステップ７０３の結果が「ＮＯ」）、さらに、移動元ボリュームが更新されていない場合（ステップ７０４の結果が「ＮＯ」）を示している。
【００８４】
パターン４では、移動元ボリューム及び移動先ボリュームが更新されていないため、アクセス経路を切り替えるためにパス設定を変更することによって、マイグレーションを取り消すことができる。
【００８５】
パターン５は、移動元ボリュームがマイグレーション可能であって（ステップ７０１の結果が「ＹＥＳ」）、移動先ボリュームが更新されておらず（ステップ７０３の結果が「ＮＯ」）、さらに、移動元ボリュームが更新されている場合（ステップ７０４の結果が「ＹＥＳ」）を示している。
【００８６】
パターン５では、移動元ボリュームが更新されているため、移動元のボリュームに格納された更新データがマイグレーションによって上書きされることを利用者に警告する（ステップ７０６）。警告後、データを移動するか否かを確認し（ステップ７０７）、移動先ボリュームのデータを移動元のボリュームに移動させる（ステップ７０８）。
【００８７】
図８に示したフローチャートでは、「直前に実行されたマイグレーション」を取り消す手順について説明している。しかし、ボリュームに対して実行されたマイグレーションの回数が一回のみとは限らない。そこで、ボリュームに対して複数回のマイグレーションが実行されている場合の取り消し処理について説明する。
【００８８】
図１０は、本発明の実施の形態の特定のボリュームに対して複数回のマイグレーションが実行された場合を説明する図である。９０１、９０２及び９０３は、アレイグループを示している。
【００８９】
アレイグループ９０１は、ボリューム９０４を含む。アレイグループ９０２は、ボリューム９０５を含む。アレイグループ９０３は、ボリューム９０６を含む。また、初期状態（図１０上段）では、ボリューム９０４にはデータＡが含まれる。同じく、ボリューム９０５にはデータＢが含まれる。ボリューム９０６にはデータＣが含まれる。
【００９０】
ここで、ボリューム９０４、９０５及び９０６に対して、マイグレーションが複数回実行された場合を例として説明する。
【００９１】
まず、一回目のマイグレーションとして、ボリューム９０４のデータＡをボリューム９０５に移動させるマイグレーションが実行される。このとき、データＡがボリューム９０５にコピーされるため、データＢはデータＡに上書きされる（図１０中段）。
【００９２】
次に、二回目のマイグレーションとして、ボリューム９０５のデータＡをボリューム９０６に移動させるマイグレーションが実行される。このとき、データＡがボリューム９０６にコピーされるため、データＣはデータＡに上書きされる（図１０下段）。
【００９３】
ここで、管理者がボリューム９０６をアレイグループ９０１のボリューム９０４までマイグレーションを取り消す場合について説明する。
【００９４】
ＣＰＵ６０３は、マイグレーション管理テーブル６１３を参照することによって、ボリューム９０６を移動先ボリュームとするマイグレーションの情報を取得することができる。さらに、取得されたマイグレーションの移動元ボリュームを移動先ボリュームとするマイグレーションの情報を取得することによって、マイグレーションの履歴を取得することができる。
【００９５】
ＣＰＵ６０３は、マイグレーションの履歴を参照することによって、データＡが移動したボリュームを取得することができる。さらに、マイグレーション完了日時４０３に基づいて、データＡが格納されていた期間を取得することができる。そこで、ボリューム管理テーブル６１４を参照することによって、データＡが移動したボリュームについて、データＡが格納されていた期間にデータＡが更新されたか否かを判定することができる。
【００９６】
例えば、ボリューム９０４からボリューム９０５へのマイグレーションが完了してから、マイグレーションの取り消しが実行されるまでの間にデータＡが更新されず、さらに、ボリューム９０４及びボリューム９０５が他のシステムなどによって更新されていなければ、ボリューム９０４、９０５及び９０６には同じ状態のデータＡが格納されている。この場合には、パス設定を変更し、アクセス経路を切り替えることによって、データを移動させることなく迅速にマイグレーションを取り消すことができる。
【００９７】
本処理は、マイグレーションの取り消し処理としてではなく、ボリューム９０６を移動元ボリュームとし、ボリューム９０４を移動先ボリュームとするマイグレーションを実行する場合にも適用することができる。具体的には、ボリューム９０６のマイグレーションの履歴を取得し、取得された履歴を参照し、移動先ボリュームが含まれるか否かを判定する。移動先ボリュームが含まれている場合には、前述のように、ボリューム管理テーブル６１４を参照することによって、データＡが移動したボリュームについて、データＡが格納されていた期間にデータＡが更新されたか否かを判定すればよい。
【００９８】
図８のステップ７０４及びステップ７０５の処理において、移動元ボリュームのみの更新を判定するのではなく、マイグレーションの履歴を取得してデータが移動したボリュームごとにデータの更新を判定することによって、直前に実行されたマイグレーションに限定されずに本発明を適用することができる。
【００９９】
次に、複数のボリュームを一括してマイグレーションを実行又は取り消す処理について説明する。
【０１００】
一括してマイグレーションを実行する複数のボリュームは、マイグレーショングループとして管理される。マイグレーションの実行又は取り消しは、マイグレーショングループの指定を受け付けて実行される。マイグレーショングループに対してマイグレーションを実行する場合には、マイグレーショングループに含まれるボリュームの移動先ボリュームが個別に指定される。
【０１０１】
また、一括してマイグレーションを取り消す場合には、マイグレーショングループに含まれるボリュームに対して、個別にマイグレーションの取り消しが実行される。
【０１０２】
図１１は、本発明の実施の形態のマイグレーショングループに含まれるボリュームに対して一括してマイグレーションを取り消す手順を示す図である。
【０１０３】
ＣＰＵ６０３は、マイグレーショングループに含まれるボリュームからマイグレーションを取り消す対象のボリュームを選択する（ステップ１００１）。
【０１０４】
ＣＰＵ６０３は、ステップ１００１の処理で選択されたボリュームに対し、マイグレーションの取り消し処理を実行する（ステップ１００２）。ステップ１００２の処理では、単独のボリュームに対してマイグレーションの取り消し処理が実行される。したがって、図８のフローチャートに示された手順に基づいて、選択されたボリュームに対し、マイグレーションの取り消し処理を実行すればよい。
【０１０５】
ＣＰＵ６０３は、選択されたボリュームのマイグレーションの取り消し処理が完了すると、マイグレーショングループに含まれるすべてのボリュームに対してマイグレーションの取り消し処理が完了したか否かを判定する（ステップ１００３）。
【０１０６】
ＣＰＵ６０３は、マイグレーショングループに含まれるすべてのボリュームに対してマイグレーションの取り消し処理が完了していない場合には（ステップ１００３の結果が「ＮＯ」）、ステップ１００１の処理に戻る。マイグレーショングループに含まれるすべてのボリュームに対してマイグレーションの取り消し処理が完了した場合には（ステップ１００３の結果が「ＹＥＳ」）、本処理を終了する。
【０１０７】
以上の処理を実行することによって、複数のボリュームに対して一括してマイグレーションの取り消し処理を実行することができる。
【０１０８】
本発明の実施形態によれば、移動元ボリューム及び移動先ボリュームの状態に基づいて、マイグレーションの取り消しを実行することができる。したがって、移動元ボリューム及び移動先ボリュームがともに更新されていない場合には、パス設定を変更し、アクセス経路を切り替えることによって、容易にマイグレーションを取り消すことができる。
【０１０９】
また、本発明の実施形態によれば、複数回のマイグレーションが実行された場合であっても、マイグレーション管理テーブル６１３を参照し、移動先ボリュームに格納されたデータに対するマイグレーションの実行履歴を取得することによって、マイグレーションを取り消すことができる。
【０１１０】
さらに、本発明の実施形態によれば、複数のボリュームのマイグレーションを一括して取り消すことができる。マイグレーションをマイグレーショングループ単位で実行することによって、管理コストを低減することができる。そこで、マイグレーショングループ単位でマイグレーションを取り消すことによって、さらに、管理コストを低減することができる。
【図面の簡単な説明】
【０１１１】
【図１】本発明の実施の形態の計算機システムのシステム構成を示す図である。
【図２】本発明の実施の形態の管理サーバの構成を示す図である。
【図３】本発明の実施の形態のマイグレーション管理テーブルの一例を示す図である。
【図４】本発明の実施の形態のボリューム管理テーブルの一例を示す図である。
【図５】本発明の実施の形態のマイグレーションの手順を示すフローチャートである。
【図６】本発明の実施の形態の移動元ボリューム又は移動先ボリュームを指定するボリューム選択画面を示す図である。
【図７】本発明の実施の形態のマイグレーションの手順と移動対象のボリュームの状態を説明する図である。
【図８】本発明の実施の形態の実行されたマイグレーションを取り消す処理の手順を示すフローチャートである。
【図９】本発明の実施の形態のマイグレーションの取り消し処理を実行する場合の移動元ボリューム及び移動先ボリュームの状態の一覧を示す図である。
【図１０】本発明の実施の形態の特定のボリュームに対して複数回のマイグレーションが実行された場合を説明する図である。
【図１１】本発明の実施の形態のマイグレーショングループに含まれるボリュームに対して一括してマイグレーションを取り消す手順を示す図である。
【符号の説明】
【０１１２】
５０１    管理サーバ
５０２    ホスト計算機
５０３    ファイバチャネルスイッチ
５０４    ストレージサブシステム
５０５    ＬＡＮ
５０６    管理端末
５１１    管理ツール
５１２    アプリケーション
５１５    ポート
５１６    記憶装置
６０２    通信装置
６０３    ＣＰＵ
６０４    メモリ
６０５    記憶装置
６１１    ボリューム情報取得機能
６１２    マイグレーション管理機能
６１３    マイグレーション管理テーブル
６１４    ボリューム管理テーブル
６１５    マイグレーション機能
７５０    ボリューム選択画面
【図１】
2008287327.tif 000003
【図２】
2008287327.tif 000004
【図３】
2008287327.tif 000005
【図４】
2008287327.tif 000006
【図５】
2008287327.tif 000007
【図６】
2008287327.tif 000008
【図７】
2008287327.tif 000009
【図８】
2008287327.tif 000010
【図９】
2008287327.tif 000011
【図１０】
2008287327.tif 000012
【図１１】
2008287327.tif 000013