(57)【要約】【課題】本ストレージシステムは、複数のボリュームを一括して移行させる場合に、移行先の状態に応じて、移行プランを修正する。【解決手段】移行元ボリューム１Ａ，１Ｂは、移行先ストレージ装置２内のボリューム２Ａ，２Ｂに一括して移行される。ユーザは、移行プラン８において、移行元ボリューム及び移行先ボリューム等に関する設定と、移行プラン８を途中で修正するための途中制御プラン８Ａを設定できる。データ移行処理の開始後に、移行先ストレージ装置２に障害が生じると、処理方法制御部６は、途中制御プラン８Ａに基づき、データ移行処理のキャンセル、一時停止、または移行先変更を行わせる。移行先変更の場合、予め選択された代替ストレージ装置３が新たな移行先ストレージ装置として選択される。代替ストレージ装置３にも障害が発生した場合、さらに別の代替ストレージ装置が選択される。【選択図】図１
2007286709.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ少なくとも一つ以上の論理ボリュームを有する複数のストレージ装置を備えたストレージシステムであって、
前記各ストレージ装置のうち少なくとも一つ以上のストレージ装置が移行元ストレージ装置として選択され、
前記各ストレージ装置のうち少なくとも一つ以上のストレージ装置が移行先ストレージ装置として選択され、
前記移行元ストレージ装置から移行先ストレージ装置に複数の論理ボリュームをグループ単位で移行させるためのデータ移行処理を実行するデータ移行処理部と、
少なくとも前記移行先ストレージ装置の状態を監視する監視部と、
少なくとも、前記監視部により監視される前記移行先ストレージ装置の状態に基づいて、前記データ移行処理の処理方法を制御する処理方法制御部と、
を備えたストレージシステム。
【請求項２】
前記処理方法制御部は、それぞれ異なる複数の処理方法を備えており、前記移行先ストレージ装置の状態及び前記データ移行処理の進捗状況に基づいて、前記複数の処理方法の中からいずれか一つの処理方法を選択することにより、前記データ移行処理の処理方法を制御する請求項１に記載のストレージシステム。
【請求項３】
前記処理方法制御部は、それぞれ異なる複数の処理方法を備えており、前記移行先ストレージ装置の状態が予め設定される実行条件に合致した場合には、前記複数の処理方法のうち前記実行条件に予め対応付けられている処理方法を選択することにより、前記データ移行処理の途中で、前記データ移行処理の処理方法を制御する請求項１に記載のストレージシステム。
【請求項４】
前記処理方法制御部は、それぞれ異なる複数の処理方法を備えており、
前記移行先ストレージ装置の状態及び前記データ移行処理の進捗状況と、前記複数の処理方法の中から選択される処理方法とを対応付けて定義される実行条件が予め設定されており、
前記処理方法制御部は、前記移行先ストレージ装置の状態及び前記データ移行処理の進捗状況が前記実行条件に合致した場合には、前記実行条件に定義されている処理方法を選択することにより、前記データ移行処理の途中で、前記データ移行処理の処理方法を制御する請求項１に記載のストレージシステム。
【請求項５】
前記複数の処理方法には、前記データ移行処理を取り消す第１処理方法と、前記データ移行処理を中断させる第２処理方法と、前記移行先ストレージ装置を前記各ストレージ装置の中から選択される代替ストレージ装置に変更させて前記データ移行処理部による前記データ移行処理を継続させる第３処理方法とが、少なくとも含まれている請求項３に記載のストレージシステム。
【請求項６】
前記監視部は、前記移行先ストレージ装置以外の他のストレージ装置の状態もそれぞれ監視しており、
前記処理方法制御部は、前記実行条件に前記第３処理方法が対応付けられている場合、前記他のストレージ装置の状態に基づいて、前記代替ストレージ装置を選択する請求項５に記載のストレージシステム。
【請求項７】
前記代替ストレージ装置は、前記実行条件に予め定義されており、
前記監視部は、前記移行先ストレージ装置の状態及び前記代替ストレージ装置の状態をそれぞれ監視し、
前記処理方法制御部は、前記移行先ストレージ装置の状態が前記実行条件に合致した場合に、前記代替ストレージ装置の状態に基づいて、前記移行先ストレージ装置から前記代替ストレージ装置への切り替えが可能か否かを判定し、切替可能と判定した場合には、前記移行先ストレージ装置を前記代替ストレージ装置に変更させる請求項５に記載のストレージシステム。
【請求項８】
前記データ移行処理部による前記データ移行処理の対象となる前記複数の論理ボリュームは、関連性を有しており、
前記処理方法制御部は、前記移行先ストレージ装置から前記代替ストレージ装置への切替が不能と判定した場合、前記関連性を有する前記各論理ボリュームの全部または一部の論理ボリュームのコピーボリュームを前記移行元ストレージ装置内に生成させ、前記コピーボリュームに前記関連性を設定させる請求項７に記載のストレージシステム。
【請求項９】
前記代替ストレージ装置は、前記実行条件に予め定義されており、
前記監視部は、前記移行先ストレージ装置と前記代替ストレージ装置及び他のストレージ装置の状態をそれぞれ監視しており、
前記処理方法制御部は、
（１）前記移行先ストレージ装置の状態が前記実行条件に合致した場合、前記代替ストレージ装置の状態に基づいて、前記代替ストレージ装置への切替が可能か否かを判定し、
（２）前記代替ストレージ装置へ切替可能と判定した場合、前記移行先ストレージ装置から前記代替ストレージ装置に切り替え、
（３）前記代替ストレージ装置へ切替不能と判定した場合、前記監視部により監視されている前記他のストレージ装置の状態に基づいて、新たな代替ストレージ装置を選択し、前記移行先ストレージ装置を前記新たに選択された代替ストレージ装置に切り替える、
ようになっている請求項５に記載のストレージシステム。
【請求項１０】
前記処理方法制御部は、前記移行先ストレージ装置を前記代替ストレージ装置または前記新たな代替ストレージ装置のいずれかに切り替える前に、切替の可否に関する承認を要求し、承認された場合に前記移行先ストレージ装置から前記代替ストレージ装置または前記新たな代替ストレージ装置のいずれかに切り替える請求項９に記載のストレージシステム。
【請求項１１】
前記監視部は、前記移行元ストレージ装置及び移行先ストレージ装置の状態をそれぞれ監視しており、
前記処理方法制御部は、前記実行条件に前記第３処理方法が対応付けられている場合、前記移行先ストレージ装置に既に移行されているデータについては、前記移行元ストレージ装置または前記移行先ストレージ装置のうちいずれか負荷の少ない方のストレージ装置を移行元として、前記代替ストレージ装置に再移行させる請求項５に記載のストレージシステム。
【請求項１２】
前記監視部は、少なくとも前記移行先ストレージ装置の状態として、前記移行先ストレージ装置の負荷状態、キャッシュメモリ使用状態、障害の有無を監視する請求項１に記載のストレージシステム。
【請求項１３】
前記実行条件は、前記移行先ストレージ装置の複数の状態のそれぞれについて設定可能である請求項３に記載のストレージシステム。
【請求項１４】
それぞれ少なくとも一つ以上の論理ボリュームを有する複数のストレージ装置及びこれら各ストレージ装置を管理するための管理装置を備えたストレージシステムであって、
前記各ストレージ装置のうち少なくとも一つ以上のストレージ装置が移行元ストレージ装置として選択され、
前記各ストレージ装置のうち少なくとも一つ以上のストレージ装置が移行先ストレージ装置として選択され、
前記移行元ストレージ装置から移行先ストレージ装置に複数の論理ボリュームをグループ単位で移行させるためのデータ移行処理を実行するデータ移行処理部と、
少なくとも前記移行先ストレージ装置の状態を監視する監視部と、
少なくとも、前記監視部により監視される前記移行先ストレージ装置の状態に基づいて、前記データ移行処理の処理方法を制御する処理方法制御部と、
を備え、
前記監視部及び前記処理方法制御部は、前記管理装置にそれぞれ設けられており、
前記データ移行処理部は、少なくとも前記移行元ストレージ装置に設けられている、ストレージシステム。
【請求項１５】
複数のストレージ装置を備えるストレージシステムにおいて、移行元ストレージ装置から移行先ストレージ装置にデータを移行させるためのデータ移行方法であって、
前記移行先ストレージ装置の状態を検出するステップと、
関連性を有する複数の論理ボリュームからなるボリュームグループを、前記移行元ストレージ装置から前記移行先ストレージ装置に移行させるためのデータ移行処理を開始させるステップと、
前記移行先ストレージ装置の状態が、予め設定された実行条件を満たすか否かを判定するステップと、
前記移行先ストレージ装置の状態が前記実行条件を満たすと判定された場合には、前記データ移行処理の途中で、前記データ移行処理の処理方法を変更させるステップと、
をそれぞれ実行するストレージシステムのデータ移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びストレージシステムのデータ移行方法に関する。
【背景技術】
【０００２】
近年、ホストコンピュータ（以下、「ホスト」）で処理されるデータの大容量化に伴って、データの記憶領域を提供するストレージ装置のディスク容量も大型化している。ストレージ装置は、複数の物理ディスクの記憶領域からプール領域を作成しておき、このプール領域からホストの必要とする容量の記憶領域を取り出して論理ボリュームを作成し、ホストに提供する。ホストは、論理ボリュームにデータの読み書きを行う。
【０００３】
データの種類等によっても相違するが、一般的に、データの利用価値は、時間の経過に応じて低下するため、使用頻度の少ないデータが論理ボリュームに蓄積されていく。もしも、ホストの使用する論理ボリュームが高価なディスクを用いて作成されている場合、高価なディスクの記憶領域に利用価値の少ないデータが無駄に蓄積されていき、ディスクの費用対効果が低下する。
【０００４】
また、例えば、法規制等によって、電子メールや医療データ等のデータは、たとえ使用頻度が低い場合であっても、ある一定期間以上の保存を必要とする場合がある。高価なディスクが長期保存用データの記憶先として使用されると、上述のように、ディスクの費用対効果が低下し、ストレージ装置の運用コストが増大する。このような問題に鑑みて、高価なディスクから低価格なディスクへデータを移行する技術が提案されている（特許文献１、特許文献２、特許文献３、特許文献４）。
【特許文献１】特開２０００−２９３３１７号公報
【特許文献２】米国特許第６１０８７４８号明細書
【特許文献３】特開２００３−１４０８３６号公報
【特許文献４】特開２００３−３４５５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した従来技術では、あるディスクから別のディスクにデータをコピーして、データを移し替えることができる。ユーザは、例えば、ディスクの費用対効果の改善や、使用頻度の高いデータの応答性能改善等を目的として、移行元ストレージ装置及び移行先ストレージ装置等を選択して、データ移行計画を立案する。ここで、例えば、コピーペアを形成するボリューム同士のように、関連性を有する複数のボリュームを同時に移行させる場合、この関連性を維持したままでデータ移行を完了させる必要がある。
【０００６】
しかし、ストレージ装置の状態は種々変化するため、当初のデータ移行計画通りの結果が得られる保証はない。例えば、２４時間３６５日の無停止運転が要求されるストレージシステムの場合、ストレージ装置を運用しながらデータを移行させることになる。従って、ストレージ装置の各構成要素（コントローラやキャッシュメモリ等）の状態が種々変化する環境下で、データ移行が行われる。
【０００７】
もしも、データ移行中に、移行先ストレージ装置に何らかの障害が発生した場合、たとえ障害の発生時点ではデータ移行処理を継続可能であっても、その後に、障害の波及等が生じて、当初のデータ移行計画で期待されていた結果を得られないことがある。例えば、応答性能の改善を目的としてデータ移行を実施したにもかかわらず、データ移行先のストレージ装置の負荷が上昇等した場合には、データ移行の完了後に、期待通りの応答性能を得られないことがある。この場合、ユーザは、当初の期待通りの応答性能を得るべく、新たなデータ移行計画を立案してデータを再度移行させることになり、ユーザの手間が増大する。
【０００８】
また、移行先ストレージ装置で生じた障害によって、データ移行処理が途中で失敗する可能性もある。この場合も、上記同様に、ユーザは、新たなデータ移行計画を作成して、データ移行処理を行う必要がある。
【０００９】
さらに、複数の移行先ストレージ装置にデータをそれぞれ移行させることも考えられるが、いずれか一つの移行先ストレージ装置へのデータ移行が失敗した場合でも、ユーザは、データ移行計画を作成し直して、データ移行を実施する必要がある。データ移行を行う場合は、データ移行計画を立案して、この計画通りにストレージ装置の設定等を行い、データコピーの完了を待つことになる。従って、同一の移行対象ボリュームについて、繰り返しデータ移行を行うことは、顧客満足度を低下させる。このように、従来技術では、ストレージ装置の状態変動を考慮したデータ移行について検討されておらず、ユーザの使い勝手が低い。
【００１０】
本発明は、上記問題点に鑑みてなされたもので、その目的は、複数のボリュームをグループ単位でデータ移行させる場合に、ユーザの使い勝手を向上できるようにしたストレージシステム及びストレージシステムのデータ移行方法を提供することにある。本発明の他の目的は、複数のボリュームをグループ単位でデータ移行させる場合に、移行先の状況に応じて、当初の移行プランを自動的に修正できるようにしたストレージシステム及びストレージシステムのデータ移行方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１１】
上記課題を解決すべく、本発明の一つの観点に従うストレージシステムは、それぞれ少なくとも一つ以上の論理ボリュームを有する複数のストレージ装置を備えたストレージシステムであって、各ストレージ装置のうち少なくとも一つ以上のストレージ装置が移行元ストレージ装置として選択され、各ストレージ装置のうち少なくとも一つ以上のストレージ装置が移行先ストレージ装置として選択され、移行元ストレージ装置から移行先ストレージ装置に複数の論理ボリュームをグループ単位で移行させるためのデータ移行処理を実行するデータ移行処理部と、少なくとも一つの移行先ストレージ装置の状態を監視する監視部と、少なくとも一つの監視部により監視される移行先ストレージ装置の状態に基づいて、データ移行処理の処理方法を制御する処理方法制御部と、を備える。
【００１２】
本発明の実施形態では、処理方法制御部は、それぞれ異なる複数の処理方法を備えており、移行先ストレージ装置の状態及びデータ移行処理の進捗状況に基づいて、複数の処理方法の中からいずれか一つの処理方法を選択することにより、データ移行処理の処理方法を制御する。
【００１３】
本発明の実施形態では、処理方法制御部は、それぞれ異なる複数の処理方法を備えており、移行先ストレージ装置の状態が予め設定される実行条件に合致した場合には、複数の処理方法のうち実行条件に予め対応付けられている処理方法を選択することにより、データ移行処理の途中で、データ移行処理の処理方法を制御する。
【００１４】
本発明の実施形態では、処理方法制御部は、それぞれ異なる複数の処理方法を備えており、移行先ストレージ装置の状態及びデータ移行処理の進捗状況と、複数の処理方法の中から選択される処理方法とを対応付けて定義される実行条件が予め設定されており、処理方法制御部は、移行先ストレージ装置の状態及びデータ移行処理の進捗状況が実行条件に合致した場合には、実行条件に定義されている処理方法を選択することにより、データ移行処理の途中で、データ移行処理の処理方法を制御する。
【００１５】
本発明の実施形態では、複数の処理方法には、データ移行処理を取り消す第１処理方法と、データ移行処理を中断させる第２処理方法と、移行先ストレージ装置を各ストレージ装置の中から選択される代替ストレージ装置に変更させてデータ移行処理部によるデータ移行処理を継続させる第３処理方法とが、少なくとも含まれている。
【００１６】
本発明の実施形態では、監視部は、移行先ストレージ装置以外の他のストレージ装置の状態もそれぞれ監視しており、処理方法制御部は、実行条件に第３処理方法が対応付けられている場合、他のストレージ装置の状態に基づいて、代替ストレージ装置を選択するようになっている。
【００１７】
本発明の実施形態では、代替ストレージ装置は、実行条件に予め定義されており、監視部は、移行先ストレージ装置の状態及び代替ストレージ装置の状態をそれぞれ監視し、処理方法制御部は、移行先ストレージ装置の状態が実行条件に合致した場合に、代替ストレージ装置の状態に基づいて、移行先ストレージ装置から代替ストレージ装置への切り替えが可能か否かを判定し、切替可能と判定した場合には、移行先ストレージ装置を代替ストレージ装置に変更させる。
【００１８】
本発明の実施形態では、データ移行処理部によるデータ移行処理の対象となる複数の論理ボリュームは、関連性を有しており、処理方法制御部は、移行先ストレージ装置から代替ストレージ装置への切替が不能と判定した場合、関連性を有する各論理ボリュームの全部または一部の論理ボリュームのコピーボリュームを移行元ストレージ装置内に生成させ、コピーボリュームに関連性を設定させる。
【００１９】
本発明の実施形態では、代替ストレージ装置は、実行条件に予め定義されており、監視部は、移行先ストレージ装置と代替ストレージ装置及び他のストレージ装置の状態をそれぞれ監視しており、処理方法制御部は、（１）移行先ストレージ装置の状態が実行条件に合致した場合、代替ストレージ装置の状態に基づいて、代替ストレージ装置への切替が可能か否かを判定し、（２）代替ストレージ装置へ切替可能と判定した場合、移行先ストレージ装置から代替ストレージ装置に切り替え、（３）代替ストレージ装置へ切替不能と判定した場合、監視部により監視されている他のストレージ装置の状態に基づいて、新たな代替ストレージ装置を選択し、移行先ストレージ装置を新たに選択された代替ストレージ装置に切り替える。
【００２０】
本発明の実施形態では、処理方法制御部は、移行先ストレージ装置を代替ストレージ装置または新たな代替ストレージ装置のいずれかに切り替える前に、切替の可否に関する承認を要求し、承認された場合に移行先ストレージ装置から代替ストレージ装置または新たな代替ストレージ装置のいずれかに切り替える。
【００２１】
本発明の実施形態では、監視部は、移行元ストレージ装置及び移行先ストレージ装置の状態をそれぞれ監視しており、処理方法制御部は、実行条件に第３処理方法が対応付けられている場合、移行先ストレージ装置に既に移行されているデータについては、移行元ストレージ装置または移行先ストレージ装置のうちいずれか負荷の少ない方のストレージ装置を移行元として、代替ストレージ装置に再移行させる。
【００２２】
本発明の実施形態では、監視部は、少なくとも移行先ストレージ装置の状態として、移行先ストレージ装置の負荷状態、キャッシュメモリ使用状態、障害の有無を監視するようになっている。
【００２３】
本発明の実施形態では、実行条件は、移行先ストレージ装置の複数の状態のそれぞれについて設定可能である。
【００２４】
本発明の他の観点に従うストレージシステムは、それぞれ少なくとも一つ以上の論理ボリュームを有する複数のストレージ装置及びこれら各ストレージ装置を管理するための管理装置を備えたストレージシステムであって、各ストレージ装置のうち少なくとも一つ以上のストレージ装置が移行元ストレージ装置として選択され、各ストレージ装置のうち少なくとも一つ以上のストレージ装置が移行先ストレージ装置として選択され、移行元ストレージ装置から移行先ストレージ装置に複数の論理ボリュームをグループ単位で移行させるためのデータ移行処理を実行するデータ移行処理部と、少なくとも一つの移行先ストレージ装置の状態を監視する監視部と、少なくとも一つの監視部により監視される移行先ストレージ装置の状態に基づいて、データ移行処理の処理方法を制御する処理方法制御部と、を備え、監視部及び処理方法制御部は、管理装置にそれぞれ設けられており、データ移行処理部は、少なくとも移行元ストレージ装置に設けられている。
【００２５】
本発明のさらに別の観点に従うストレージシステムのデータ移行方法は、複数のストレージ装置を備えるストレージシステムにおいて、移行元ストレージ装置から移行先ストレージ装置にデータを移行させるためのデータ移行方法であって、移行先ストレージ装置の状態を検出するステップと、関連性を有する複数の論理ボリュームからなるボリュームグループを、移行元ストレージ装置から移行先ストレージ装置に移行させるためのデータ移行処理を開始させるステップと、移行先ストレージ装置の状態が、予め設定された実行条件を満たすか否かを判定するステップと、移行先ストレージ装置の状態が実行条件を満たすと判定された場合には、データ移行処理の途中で、データ移行処理の処理方法を変更させるステップと、をそれぞれ実行する。
【００２６】
本発明の機能、手段、ステップの全部または一部は、例えば、マイクロコンピュータにより実行されるコンピュータプログラムとして構成可能な場合がある。そして、このコンピュータプログラムは、例えば、ハードディスク、光ディスク、半導体メモリ等の記憶媒体に固定して配布することができる。または、コンピュータプログラムをインターネット等の通信ネットワークを介して、配信することもできる。
【発明を実施するための最良の形態】
【００２７】
以下、図面に基づき、本発明の実施の形態を説明する。図１は、本実施形態の全体概念図である。詳細はさらに後述するが、図１に示すように、本実施形態のストレージシステムは、例えば、複数のストレージ装置１，２，３，４と、ストレージ状態監視部５と、処理方法制御部６及びホスト７を備えて構成することができる。
【００２８】
各ストレージ装置１，２，３，４は、例えば、ハードディスクドライブ等の記憶デバイスをそれぞれ備えており、記憶デバイスの記憶領域を用いて作成される少なくとも一つ以上の論理ボリュームを有する。即ち、ストレージ装置１は論理ボリューム１Ａ，１Ｂを、ストレージ装置２は論理ボリューム２Ａ，２Ｂを、ストレージ装置３は論理ボリューム３Ａ，３Ｂを、ストレージ装置４は論理ボリューム４Ａ，４Ｂを、それぞれ有する。なお、以下の説明では、論理ボリュームを「ボリューム」と省略して呼ぶ場合がある。
【００２９】
また、データ移行処理の移行元としてユーザにより選択されるストレージ装置１（移行元ストレージ装置）は、データコピー部１Ｃを備えている。データコピー部１Ｃは、「データ移行処理部」に対応する。
【００３０】
移行元ストレージ装置１の各ボリューム１Ａ，１Ｂは、例えば、コピーペアを形成するボリュームのように、互いに関連性を有している。なお、ボリューム間の関連性は、コピーペアに限定されない。これら関連性を有する各ボリューム１Ａ，１Ｂは、リソースグループ１Ｄとしてグループ化されており、グループ単位で同時にデータ移行されるようになっている。この例では、移行対象のボリューム１Ａ，１Ｂは、移行先ストレージ装置２に一括して移行されるものとする。
【００３１】
ストレージ状態監視部５は、「監視部」に対応する。ストレージ状態監視部５（以下、「監視部５」）は、移行先ストレージ装置２のほかに、他の全てのストレージ装置３，４の状態をそれぞれ監視する。また、監視部５は、移行元ストレージ装置１の状態を監視することもできる。
【００３２】
監視部５の監視対象としては、例えば、各ストレージ装置２，３，４の障害の有無、通信経路の状態、コントローラの負荷状態、パリティグループの負荷状態、キャッシュメモリの使用状態等を挙げることができる。即ち、監視部５は、例えば、性能監視部５Ａ及び障害監視部５Ｂを備えることができる。性能監視部５Ａは、各ストレージ装置２，３，４（あるいは各ストレージ装置１〜４）の性能に関する情報をそれぞれ監視する。障害監視部５Ｂは、各ストレージ装置２，３，４（あるいは各ストレージ装置１〜４）の障害に関する情報をそれぞれ監視する。
【００３３】
処理方法制御部６は、データ移行処理の途中で、データ移行処理の方法を制御するためのものである。処理方法制御部６は、例えば、「キャンセル」、「中断」及び「移行先変更」の３種類の処理方法を予め備えている。「キャンセル」とは、開始されているデータ移行処理を取り消すことを意味する。「中断」とは、開始されているデータ移行処理を一時的に中止させることを意味する。この場合、所定時間が経過した後で、データ移行処理を再開させることができる。「移行先変更」とは、当初予定されていた移行先ストレージ装置とは別のストレージ装置に、データ移行先を変更させることを意味する。
【００３４】
本実施形態では、後述のように、当初予定されていた移行先ストレージ装置２に何らかの不具合が生じた場合、ユーザによって予め指定された代替ストレージ装置３に、あるいは、新たに選択される別の代替ストレージ装置４のいずれかに、データ移行先が変更されるようになっている。
【００３５】
ここで、監視部５及び処理方法制御部６は、ストレージ装置１やホスト７内に設けることができる。または、監視部５及び処理方法制御部６を、管理用のコンピュータ（例えば、図２中の管理サーバ２００）内に設けることもできる。あるいは、監視部５を各ストレージ装置１，２，３，４にそれぞれ分散させて設け、処理方法制御部６をホスト７や管理用コンピュータに設ける構成でもよい。
【００３６】
ホスト７は、例えば、サーバコンピュータまたはメインフレームコンピュータとして構成されており、移行元ストレージ装置１のボリューム１Ａ，１Ｂを利用している。
【００３７】
移行プラン８は、ユーザによって作成されるもので、データ移行処理に関する計画内容が記憶されている。例えば、移行プラン８には、どのストレージ装置を移行元ストレージ装置とするか、どのストレージ装置を移行先ストレージ装置とするか、どのボリュームを移動させるか、いつデータ移行を開始するか等が設定されている。
【００３８】
ここで、本実施形態の移行プラン８には、途中制御プラン８Ａが含まれている点に留意すべきである。途中制御プラン８Ａには、開始されたデータ移行処理の方法を途中で変更するための条件や変更方法が記憶されている。例えば、ユーザは、データ移行処理の途中で移行先ストレージ装置２に障害が発生した場合、そのデータ移行処理を「キャンセル」または「中断」させるか、あるいは、「移行先を変更」して続行させるかを、予め設定することができる。
【００３９】
また、ユーザは、データ移行処理の進捗状況を考慮して、データ移行処理の処理方法の変更を予め指示することもできる。データ移行処理の進捗状況とは、例えば、データ移行処理の進捗度合を意味する。本実施形態では、データ移行処理の途中で、データ移行処理の処理方法を変更するため、データ移行処理の進捗状況を考慮可能である。
【００４０】
例えば、ユーザは、移行先ストレージ装置２に軽微な障害が生じた場合に、データ移行処理が所定値以上完了している場合は、そのままデータ移行処理を継続させ、所定値未満までしかデータ移行処理が進行していない場合は、データ移行処理を「キャンセル」または「中断」させることができる。このように、移行先ストレージ装置２で観測される事象が同一の場合でも、そのときのデータ移行処理の進捗状況に応じて、データ移行処理の方法をどのように変更させるかを、ユーザは、自由に設定することができる。
【００４１】
上述のように、ユーザが「移行先変更」を設定する場合、途中制御プラン８Ａには、移行先ストレージ装置２から切り替えるための代替ストレージ装置３も予め指定される。そこで、処理方法制御部６は、移行先ストレージ装置２の状態のみならず、代替ストレージ装置３の状態も考慮して、移行先の変更を行う。
【００４２】
即ち、処理方法制御部６は、移行先ストレージ装置２に障害が発生したり、または、移行先ストレージ装置２の負荷が増大等した場合には、代替ストレージ装置３の状態を確認し、移行先を代替ストレージ装置３に切替可能であるか否かを判断する。切替可能であると判断した場合、処理方法制御部６は、データ移行処理におけるデータ移行先を、当初の移行先ストレージ装置２から代替ストレージ装置３に切り替えさせる。
【００４３】
さらに、処理方法制御部６は、代替ストレージ装置３以外の他のストレージ装置４の状態も把握することができる。これにより、例えば、代替ストレージ装置３に生じた障害等によって、移行先ストレージ装置２から代替ストレージ装置３に切り替えることができない場合でも、他のストレージ装置４を新たな代替ストレージ装置として、ユーザに提案することができる。この提案をユーザが承認した場合、処理方法制御部６は、データ移行処理の移行先ストレージ装置を新たな代替ストレージ装置４に変更させる。
【００４４】
このように、本実施形態では、データ移行処理が行われている最中に、管理下にある各ストレージ装置２，３，４（あるいはストレージ装置１〜４）の状態（性能や障害）をそれぞれ調査している。そして、ユーザが途中制御プラン８Ａに「移行先変更」を予め設定している場合、処理方法制御部６は、データ移行処理中の調査結果（監視結果）に基づいて、代替ストレージ装置として利用可能なストレージ装置をユーザに提案できる。
【００４５】
本実施形態では、移行先ストレージ装置２の状態に基づいて、データ移行処理の処理方法を、データ移行処理の途中で変更できるように構成した。従って、例えば、データ移行処理の途中で、移行先ストレージ装置２に障害が発生したり、または、移行先ストレージ装置２の負荷が増大等した場合には、無駄なデータ移行処理を取り消したり、移行先ストレージ装置２の障害や高負荷等が解消するまで待機させたり、あるいは、代替ストレージ装置３に切り替えてデータ移行処理を行うことができる。これにより、データ移行処理をやり直す手間を低減させて、ユーザの使い勝手を向上させることができる。以下、本実施形態をより詳細に説明する。
【実施例１】
【００４６】
図２は、ストレージシステムの全体構成を示す説明図である。このストレージシステムは、例えば、一つまたは複数のホスト１００と、少なくとも一つの管理サーバ２００と、複数のストレージ装置３００，４００，５００とを含んで構成される。
【００４７】
ホスト１００は、例えば、サーバコンピュータやメインフレームコンピュータとして構成されるもので、ストレージ装置３００，４００，５００の提供するボリュームを利用してデータの読み書きを行う。
【００４８】
管理サーバ２００は、「管理装置」に対応するコンピュータであり、各ストレージ装置３００，４００，５００及び各ホスト１００から情報をそれぞれ収集し、ストレージシステム内のデータ移行を管理する。詳細は後述する。
【００４９】
ネットワーク構成を説明する。各ホスト１００は、例えば、LAN（Local Area Network）やSAN（Storage Area Network）等のようなデータ入出力用のネットワークCN１１を介して、各ストレージ装置３００，４００，５００にそれぞれ接続されている。
【００５０】
各ホスト１００は、例えば、LAN等のホスト管理用ネットワークCN１２を介して、管理サーバ２００に接続されている。また、管理サーバ２００は、LAN等のストレージ管理用ネットワークCN１３を介して、各ストレージ装置３００，４００，５００にそれぞれ接続されている。
【００５１】
各ストレージ装置３００，４００，５００の詳細は後述するが、各ストレージ装置３００，４００，５００は、例えば、LANやSAN等のコピー用ネットワークCN１４を介して、相互に接続されている。ストレージシステムは、３台以上のストレージ装置を含んで構成することができる。後述のように、ストレージシステムは、移行元ストレージ装置と、移行先ストレージ装置と、代替ストレージ装置と、代替ストレージ装置の候補との４台のストレージ装置を備えることができるが、紙面の都合上、３台だけを図示する。
【００５２】
なお、上述のネットワーク構成は、一例であって、本発明はこれに限定されない。例えば、ホスト管理用ネットワークCN１２とストレージ管理用ネットワークCN１３とを共通化することもできる。即ち、いずれか一方の管理用ネットワークに、各ホスト１００と各ストレージ装置３００，４００，５００及び管理サーバ２００をそれぞれ接続する構成でもよい。
【００５３】
同様に、コピー用ネットワークCN１４を廃止し、データ入出力用ネットワークCN１１または管理用ネットワークCN１３を用いて、各ストレージ装置間のデータコピーを行う構成でもよい。
【００５４】
同様に、管理サーバ２００をデータ入出力用ネットワークCN１１に接続し、このネットワークCN１１を用いて、管理用の情報収集及び指示の発行と、データコピーとをそれぞれ実行する構成でもよい。
【００５５】
次に、ストレージシステムの各装置の詳細を説明する。説明の便宜上、ホスト１００及び管理サーバ２００の構成を先に説明し、次に、各ストレージ装置３００，４００，５００の構成を説明する。
【００５６】
図３は、ストレージシステムのホスト１００及び管理サーバ２００の構成を示す説明図である。ホスト１００の構成を説明する。ホスト１００は、例えば、CPU（Central Processing Unit）１１０と、メモリ１２０と、ホスト管理用ネットワークCN１２との接続のためのインタフェース（図中「I/F」）１９０と、ホスト管理用ネットワークCN１２に接続するためのインタフェース１９１と、を備えて構成される。これらの各構成要素１１０，１２０，１９０，１９１は、バス１８０を介して互いに接続されている。
【００５７】
ホスト１００の発揮する機能は、CPU１１０がプログラムを実行することにより実現される。メモリ１２０には、CPU１１０により使用されるプログラム及びデータが記憶される。特に、メモリ１２０は、エージェントプログラム１２１が記憶されている。エージェントプログラム１２１は、CPU１１０によって実行されるプログラムであり、ホスト１００の情報を管理サーバ２００に伝送するためのプログラムである。
【００５８】
なお、ホスト１００は、上述の構成以外に、ユーザとの間で情報を交換するためのユーザインターフェースを備えている。ユーザインターフェースとしては、キーボードスイッチ等の情報入力装置や、ディスプレイ等の情報出力装置が知られているが、本発明と直接関係しないため、図示を省略する。
【００５９】
管理サーバ２００は、例えば、CPU２１０と、メモリ２２０と、ホスト管理用ネットワークCN１２と接続するためのインタフェース２９０と、ストレージ管理用ネットワークCN１３と接続するためのインタフェース２９１とを有している。これらの各構成要素２１０，２２０，２９０，２９１は、バス２８０を介して互いに接続されている。管理サーバ２００の発揮する後述の各機能は、CPU２１０がプログラムを実行することによって実現される。
【００６０】
メモリ２２０は、CPU２１０が用いるデータとプログラムとを記憶する。特に、メモリ２２０には、ストレージ管理プログラム２２１と、性能監視プログラム２２２と、障害監視プログラム２２３と、移行制御プログラム２２４と、グループ管理テーブル２２５と、移行管理テーブル２２６と、移行プランテーブル２２７と、ボリューム属性テーブル２２８と、使用履歴テーブル２２９と、代替ストレージ候補テーブル２３０と、が記憶されている。
【００６１】
ストレージ管理プログラム２２１は、CPU２１０によって実行されるプログラムであり、ストレージ装置３００，４００，５００の構成情報の管理を行っている。構成情報とは、各ストレージ装置３００，４００，５００の有するディスクドライブ構成、ボリューム構成等である。
【００６２】
性能監視プログラム２２２は、CPU２１０によって実行されるプログラムであり、例えば、管理サーバ２００の管理下にある各ストレージ装置３００，４００，５００のコントローラ負荷、キャッシュメモリの使用率、論理ボリューム使用率等のストレージ装置の各構成要素の性能情報を取得するためのプログラムである。
【００６３】
障害監視プログラム２２３は、CPU２１０によって実行されるプログラムであり、ストレージ装置３００，４００，５００で発生した障害を検出し、障害の内容を判別するためのプログラムである。
【００６４】
移行制御プログラム２２４は、CPU２１０によって実行されるプログラムであり、ストレージ装置に対し、移行処理の制御命令を発行するためのプログラムである。
【００６５】
次に、各テーブル２２５〜２３０の構成を先に説明し、次に、ストレージ装置３００，４００，５００の構成を説明する。
【００６６】
グループ管理テーブル２２５は、複数のボリュームを同時に移行する場合のリソースグループを定義するテーブルである。図７にグループ管理テーブル２２５の一例を示す。グループ管理テーブル２２５は、例えば、リソースグループ番号２２５１と、親リソースグループ番号２２５２と、移行元ボリュームを特定するための情報２２５３との、３つのカラムから構成される。
【００６７】
リソースグループ番号２２５１とは、例えば、コピーペアを形成する一組のボリュームのように、関連性を有するボリュームから構成されるリソースグループを一意に特定するための情報である。親リソースグループ番号２２５２とは、複数のリソースグループを含むグループを一意に特定するための情報である。即ち、図５と共に後述するように、同一ストレージ装置内に存在する複数のリソースグループ、または、それぞれ異なるストレージ装置内に存在する複数のリソースグループを一つの親リソースグループにまとめて、一括して移行させることができる。移行元ボリュームを特定するための情報２２５３は、移行元ボリュームの存在するストレージ装置を識別するための装置ID（識別情報）と、ボリュームを識別するためのボリュームIDとを含んで構成される。例えば、「SS1.01」とは、装置ID「SS1」とボリュームID「01」とを結合させた情報であり、「SS1」で特定されるストレージ装置内に設けられているボリュームのうちボリュームID「01」で特定されるボリュームが、移行元ボリュームであることを示す。
【００６８】
移行管理テーブル２２６は、データ移行処理を管理するためのテーブルである。図８に示すように、移行管理テーブル２２６は、例えば、リソースグループ番号２２６１と、移行元ボリュームを特定するための情報２２６２と、移行先ボリュームを特定するための情報２２６３と、移行処理の進捗状況を示すための移行状態フラグ２２６４と、移行元ボリュームに接続されているホストを識別するための情報２２６５と、移行先ストレージ装置を変更する場合の代替ストレージ装置の代替ボリュームを特定するための情報２２６６との、９個のカラムから構成される。ここで、移行状態フラグには、データ移行が完了した場合に”０”が設定され、データ移行中の場合は”１”が設定される。
【００６９】
移行プランテーブル２２７は、データ移行処理の途中で実行される途中制御処理の内容を記述するテーブルである。図９に示すように、移行プランテーブル２２７は、例えば、リソースグループ番号２２７１と、事象の種類２２７２と、進捗度２２７３と、途中制御処理の内容２２７４と、再開時間２２７５との、６つのカラムから構成される。
【００７０】
リソースグループ番号２２７１には、データ移行の対象となるリソースグループの番号が記録される。事象の種類２２７２は、移行先ストレージ装置で観測された事象の種別を示す情報である。事象としては、例えば、コントローラの一部障害、パスの一部障害、電源の一部障害、キャッシュメモリの一部障害、コントローラの負荷上昇、移行先ボリュームの障害等を挙げることができる。これらの各事象は、途中制御処理を実施するためのトリガとなる。
【００７１】
進捗度２２７３とは、データ移行処理の進捗状況を示す情報であり、例えば百分率で指定される。進捗度２２７３は、事象の種類２２７２と共に途中制御処理を開始するための「実行条件」を構成する。例えば、「コントローラの一部障害」という事象について、進捗度が「１００％以下」に設定されている場合、進捗度にかかわらず、「コントローラの一部障害」という事象が検出されたときは、途中制御処理が開始される。図９に示す例では、この場合、途中制御処理として「移行先変更」が行われる。即ち、コントローラの一部障害が生じた場合、移行先ストレージ装置は代替ストレージ装置に変更されて、データ移行処理が続行される。
【００７２】
同一の事象にそれぞれ異なる進捗度を対応付け、進捗度に応じて、途中制御処理の内容を変えることもできる。例えば、図９に示す例では、「設定値以上の負荷上昇」という事象が検出された場合、そのときのデータ移行処理の進捗度が５０％以下ならば、データ移行処理は「キャンセル」される。しかし、「設定値以上の負荷上昇」という事象が検出された場合でも、既にデータ移行処理の進捗度が５１％以上に達している場合、データ移行処理は「一時停止」される。再開待ちの時間は「１時間」に設定されている。
【００７３】
なお、再開時間２２７５は、途中制御処理の内容を示す情報２２７４に「一時停止（中断）」が設定されている場合にのみ、値を設定することができる。即ち、移行先ストレージ装置に障害や高負荷状態等が発生した場合に、再開時間２２７５で登録された所定時間だけデータ移行処理は中断され、所定時間の経過後にデータ移行処理が再開される。
【００７４】
途中制御処理の内容２２７４には、データ移行処理中に実施される途中制御処理の内容が格納される。途中制御処理とは、データ移行処理が行われている途中で実行される制御であり、開始されているデータ移行処理の処理内容を変更させるための制御である。
【００７５】
途中制御処理の内容２２７４としては、例えば、「キャンセル」、「一時停止（中断）」、「移行先変更」等を挙げることができる。「キャンセル」とは、開始されているデータ移行処理を取り消させることを意味する。「一時停止」とは、開始されているデータ移行処理を一時的に停止させ、再開時間の経過後に再開させることを意味する。「移行先変更」とは、現在移行先として選択されているストレージ装置を別のストレージ装置（代替ストレージ装置）に変更させてから、データ移行処理を継続させることを意味する。
【００７６】
ボリューム属性テーブル２２８は、データ移行処理に関連するストレージ装置の有するボリュームの構成情報を表すテーブルである。ボリューム属性テーブル２２８は、例えば、図１０に示すように、装置ID２２８１と、ボリュームID２２８２と、ディスクタイプ２２８３と、RAIDレベル２２８４と、ディスク容量２２８５の５つのカラムから構成される。
【００７７】
使用履歴テーブル２２９は、データ移行処理に関連するストレージ装置の動的な性能情報を記述するためのテーブルである。図１１に示すように、使用履歴テーブル２２９は、対象のリソース毎にそれぞれ用意される。例えば、一つの使用履歴テーブル２２９Ａは、ストレージ装置のコントローラ負荷の履歴を管理しており、測定日時２２９１と、装置ID２２９２と、コントローラ負荷２２９３との、３つのカラムから構成される。他の一つの使用履歴テーブル２２９Ｂでは、コントローラ負荷に代えて、キャッシュメモリ使用率の履歴を管理している。ここでは、例として、コントローラ負荷及びキャッシュメモリ使用率を図示しているが、これらに限らず、例えば、ボリューム使用量、パリティグループの負荷量等の履歴を管理することもできる。
【００７８】
代替ストレージ候補テーブル２３０は、途中制御処理によって、移行先ストレージを変更する場合に使用されるテーブルである。代替ストレージ候補テーブル２３０には、代替ストレージ装置の候補が記録されている。代替ストレージ装置とは、予定されていた切替先のストレージ装置（ユーザにより選択されていた新たなストレージ装置）に障害等が発生して使用不可能な場合に、改めて選択されるストレージ装置である。例えば、移行元ストレージ装置をＭ０、データ移行時の最初の移行先ストレージ装置をＭ１とし、最初の移行先ストレージ装置Ｍ１に障害が生じた場合の切替先ストレージ装置をＭ２とし、代替ストレージ装置をＭ３として説明する。データ移行処理の開始時点では、Ｍ０→Ｍ１にデータが移行される。Ｍ１に障害や過負荷が生じると、Ｍ０→Ｍ２に切り替わる。この切替時点で、Ｍ２に障害等が生じて使用不可能な場合、Ｍ２に代えてＭ３が選択され、Ｍ０→Ｍ３にデータが移される。
【００７９】
図１２に示すように、代替ストレージ候補テーブル２３０は、例えば、リソースグループ番号２３０１と、ボリュームID２３０２と、代替ボリューム候補のボリュームID（配列）２３０３との３つのカラムからなる。例えば、図１２中の「SS5.01，SS6.01」は、ストレージ装置（装置ID＝SS5）のボリューム（ボリュームID＝01）と、ストレージ装置（装置ID＝06）のボリューム（ボリュームID＝01）とが、代替ボリュームの候補であることを示す。
【００８０】
なお、管理サーバ２００は、上述した各構成の他に、ユーザとの間で情報を交換等するためのユーザインターフェースを備えているが、本発明の要旨ではないため、説明を省略する。
【００８１】
図４を参照して、ストレージ装置３００，４００，５００の構成を説明する。まず、ストレージ装置３００の構成に着目すると、このストレージ装置３００は、例えば、制御装置３０１と、コントローラ３１０と、メモリ３２０と、キャッシュメモリ３３０と、ディスクドライブ３４０と、インターフェース３９０，３９１，３９２等を備えている。これら各構成要素３１０，３２０，３３０，３４０，３９０，３９１，３９２は、バス３８０によって接続されている。
【００８２】
インターフェース３９０，３９１，３９２を先に説明する。インターフェース３９０は、データ入出力用ネットワークCN１１と接続するためのものであり、インターフェース３９１は、ストレージ管理用ネットワークCN１３と接続するためのものである。インターフェース３９２は、コピー用ネットワークCN１４と接続するためのものである。
【００８３】
制御装置３０１は、ストレージ装置３００の動作を制御するための装置である。制御装置３０１は、例えば、コントローラ３１０と、メモリ３２０と、キャッシュメモリ３３０とを備えている。
【００８４】
コントローラ３１０は、複数のCPU等から構成することができ、メモリ３２０に記憶されたプログラムを読み込んで実行することにより、ホスト１００からのリードアクセス及びライトアクセスを処理する。コントローラ３１０は、少なくとも、ホスト１００との間でデータを送受信するためのチャネルアダプタ機能と、ディスクドライブ３４０との間でデータを送受信するためのディスクアダプタ機能とを備える。例えば、チャネルアダプタ用の制御基板と、ディスクアダプタ用の制御基板とをそれぞれ別々に構成してもよいし、一つの制御基板上にチャネルアダプタ機能及びディスクアダプタ機能をそれぞれ設ける構成でもよい。
【００８５】
また、コントローラ３１０は、メモリ３２０に記憶されたデータ移行プログラム３２１を実行することにより、ボリューム間のデータコピー機能を実現する。ボリューム間のデータコピーは、同一筐体内でのコピーと、異なる筐体間でのコピーとに大別することができる。同一筐体内でのボリュームコピーとは、コピー元（移行元）ボリュームと、コピー先（移行先）ボリュームとが、同一のストレージ装置内に設けられるコピーである。異なる筐体間でのコピーとは、コピー元（移行元）ボリュームと、コピー先（移行先）ボリュームとが別々のストレージ装置に設けられる場合である。
【００８６】
メモリ３２０は、制御メモリとも呼ばれ、上述のデータ移行プログラム３２１のほかに、ホスト１００からのアクセスを処理するためのプログラムや各種の制御情報等も記憶されている。キャッシュメモリ３３０には、ホスト１００から受信したライトデータや、ディスクドライブ３４０から読み出されたリードデータ等が記憶される。なお、共通のメモリ領域の一部をメモリ３２０として使用し、残りをキャッシュメモリ３３０として使用する構成でもよい。
【００８７】
ディスクドライブ３４０は、例えば、ハードディスクドライブ、半導体メモリドライブ、光ディスクドライブ、光磁気ディスクドライブ等のように構成される。また、ハードディスクドライブを例に挙げると、例えば、FC（Fibre Channel）ディスク、SATA（Serial AT Attachment）ディスク等のような種類の異なるドライブを混載可能である。
【００８８】
各ディスクドライブ３４０の有する物理的記憶領域を利用して、論理的な記憶領域である論理ボリューム（以下「ボリューム」）３４２を設けることができる。なお、図中は、便宜上、論理ボリュームを「LU」と表示する。ボリューム３４２は、論理的記憶デバイスと呼ぶこともできる。RAID５等のようにパリティデータを用いて耐障害性を高める場合、複数のディスクドライブ３４０からパリティグループ３４１が構成される。ボリューム３４２は、ホスト１００により利用される。
【００８９】
一つのディスクドライブ３４０に一つまたは複数のボリューム３４２を形成することもできるし、複数のディスクドライブ３４０を利用して一つまたは複数のボリューム３４２を形成することもできる。
【００９０】
図４に示すように、複数のボリューム３４２が共通のディスクドライブ３４０上に作成されている場合、一方のボリューム３４２へのデータアクセスは、他方のボリューム３４２のデータアクセスに影響を与える場合がある。即ち、一方のボリューム３４２への負荷増大は、他方のボリューム３４２の応答性能を低下させうる。この場合、一方のボリューム３４２または他方のボリューム３４２のいずれかを、別のディスクドライブに移動させることにより、応答性能の改善を期待できる。
例えば、アクセス頻度の高いディスクドライブを仮に３４０Ｈとし、アクセス頻度の低いディスクドライブを仮に３４０Ｌとして表現した場合、ディスクドライブ３４０Ｈからディスクドライブ３４０Ｌに論理ボリューム３４２を移動させることにより、この論理ボリューム３４２の応答性能を改善できる可能性がある。
このような応答性の改善のために、データ移行処理が行われる。しかし、ユーザの立案したデータ移行計画が期待通りの結果を生む保証はない。ストレージシステムの状況は時々刻々と変動しているからである。そこで、本実施例では、後述のように、複数のボリュームを一括して移行させる場合に、動的に変化するストレージシステムの状況に応じて、データ移行計画を、自動的にまたは半自動的に修正する。
【００９１】
ストレージ装置４００は、ストレージ装置３００と同様に構成可能である。即ち、ストレージ装置４００は、例えば、制御装置４０１と、コントローラ４１０と、メモリ４２０と、キャッシュメモリ４３０と、ディスクドライブ４４０と、インターフェース４９０，４９１，４９２等を備えており、これら各構成要素４１０，４２０，４３０，４４０，４９０，４９１，４９２は、バス４４０によって接続されている。
【００９２】
また、メモリ４２０には、データ移行プログラム４２１が記憶されており、このプログラム４２１は、コントローラ４１０により読み込まれて実行される。さらに、ディスクドライブ４４０の記憶領域を利用してボリューム４４２が形成されている。
【００９３】
ストレージ装置５００も、ストレージ装置３００と同様に構成可能のため、重複した説明を割愛する。なお、ストレージ装置３００，４００，５００は、基本的な構成が共通であればよく、機種や機能等の詳細な仕様等は相違してもよい。例えば、あるストレージ装置は、他のストレージ装置よりも高機能なストレージ装置として構成可能である。
【００９４】
図５を用いて、リソースグループ単位のデータ移行を説明する。本実施例では、複数のボリューム３４２からリソースグループ８０１を構成し、リソースグループ単位で一括してデータ移行させる。また、複数のリソースグループ８０１から親リソースグループ８００を構成し、親リソースグループ８００の全体を移行させることもできる。換言すれば、リソースグループは、その内部にサブリソースグループを設定することができる。
【００９５】
図５に示すように、例えば、移行元ストレージ装置３００内に存在する複数のリソースグループ８０１から親リソースグループ８００を構成し、親リソースグループ８００を一括して、複数の移行先ストレージ装置４００，５００に移行させることができる。この場合、例えば、一方のリソースグループ８０１は、ストレージ装置４００に移すことができ、他方のリソースグループ８０１は、ストレージ装置５００に移すことができる。なお、図５に示す模式図は、リソースグループ単位でのデータ移行を説明するためのものであり、後述のデータ移行処理の具体例とは一致しない。
【００９６】
次に、ストレージシステムの動作について説明する。まず最初に、データ処理手順の概要を説明する。データ移行処理（データマイグレーション処理）の開始前に、ユーザは、移行元ストレージ装置及び移行先ストレージをそれぞれ設定する。さらに、ユーザは、データ移行処理途中に特定の事象が発生した場合に備えて、データ移行処理を途中で修正するための制御方法を規定する。これの一連の設定処理を移行プランと呼び、移行プランのうち、データ移行処理の途中制御方法を規定したものを途中制御プランと呼ぶ。
【００９７】
ユーザによって移行プランが設定された後、データ移行処理が開始される。データ移行処理中には、障害発生時の代替移行先ストレージ装置の探索に備え、管理サーバ２００は、管理下の各ストレージ装置の性能情報をそれぞれ測定しておく。そして、データ移行処理中に特定の事象が発生した場合、事前に設定された途中制御プランに従って、データ移行処理の処理方法が途中で制御される。
【００９８】
図６は、ユーザによる設定作業に使用される設定画面の一例を示す説明図である。この設定画面Ｇ１，Ｇ２は、管理サーバ２００からユーザに提供される。データ移行は、上述のように、リソースグループ単位で行うことができる。メイン設定画面Ｇ１では、上部に示すように、移行元ストレージ装置及び移行先ストレージ装置をそれぞれ特定する。なお、図示を省略するが、これら移行元ストレージ装置及び移行先ストレージ装置の特定に際しては、リソースグループ番号や移行先のボリュームID等も指定される。
【００９９】
また、メイン設定画面Ｇ１では、特定の事象が発生した場合のデータ移行処理の修正方法（途中制御処理の方法）を、各特定事象毎に、それぞれ予め指定可能である。特定事象としては、例えば、「移行先ストレージ装置に部分的な障害が発生した場合」、「移行先ストレージ装置にパス障害が発生した場合」、「移行先ボリュームに障害が発生した場合」、「移行先ボリュームの属するパリティグループの負荷が増大した場合」等を挙げることができる。
【０１００】
ユーザが「プラン設定」ボタンを操作すると、特定事象への対応策（途中制御処理の方法）を設定するためのサブ設定画面Ｇ２に移る。このサブ設定画面Ｇ２（または詳細設定画面と呼ぶこともできる）は、各特定事象毎にそれぞれ用意される。このサブ設定画面Ｇ２では、データ移行処理の進捗度に応じて、途中制御処理の詳細を設定可能である。
【０１０１】
サブ設定画面Ｇ２では、「移行先ストレージ装置に部分的な障害発生」という特定事象が生じた場合において、進捗度が０％〜５０％の範囲内ならばデータ移行処理をキャンセルし、進捗度が５１％以上のときはデータ移行処理を一時的に中止するように、それぞれ設定する様子が示されている。また、サブ設定画面Ｇ２の下側に示すように、データ移行処理の進捗度に応じて、データ移行先のストレージ装置を変更させるように設定することもできる。なお、同一のリソースグループについて矛盾した設定が行われないように、管理サーバ２００は事前にチェックすることもできる。
【０１０２】
図１３は、データ移行処理の開始前に行われる移行プラン設定処理の手順を示すフローチャートである。なお、後述の各フローチャートも同様であるが、各フローチャートは、本発明の理解及び実施に必要な範囲内で各手順をそれぞれ示しており、実際のプログラムとは相違する場合がある。以下の説明では、ステップを「Ｓ」と略記する。
【０１０３】
また、以下の各フローチャートの動作主体は、正確には、メモリに記憶されている制御用プログラムを実行するCPUまたはコントローラであるが、説明の便宜上、管理サーバ２００または各ストレージ装置３００，４００，５００を動作主体として説明する場合がある。
【０１０４】
まず、管理サーバ２００のCPU２１０が、性能監視プログラム２２２のシーケンスに従って、管理下の各ストレージ装置の性能（コントローラ負荷、キャッシュメモリ使用率、ボリューム使用率等）をそれぞれ調査し、収集された性能情報を使用履歴テーブル２２９に保存しておく（Ｓ１１）。この性能情報の取得手順は、図１４と共に後述する。
【０１０５】
次に、移行グループ設定処理が行われる（Ｓ１２）。この移行グループ設定処理の詳細は、図１５と共に後述する。なお、本実施例では、リソースグループがサブリソースグループを含まない場合、即ち、親リソースグループ８００が設定されていない場合を例に挙げて説明する。
【０１０６】
移行グループ設定処理の完了後、管理サーバ２００は、図６と共に述べた移行プラン設定画面Ｇ１，Ｇ２をユーザに提供する（Ｓ１３）。ユーザは、メイン設定画面Ｇ１を用いて、移行プランを設定する（Ｓ１４）。
【０１０７】
次に、管理サーバ２００は、途中制御プランとして「移行先変更」が選択されたか否かを判定する（Ｓ１５）。「移行先変更」とは、上述のように、移行プランで設定された当初の移行先ストレージ装置から代替ストレージ装置に切り替えて、データ移行処理を続行させるプランである。
【０１０８】
「移行先変更」がユーザによって選択された場合（S15:YES）、管理サーバ２００は、ボリューム属性テーブル２２８から属性情報を取得する（Ｓ１６）。また、管理サーバ２００は、使用履歴テーブル２２９から動的性能情報を取得する（Ｓ１７）。そして、管理サーバ２００は、ボリューム属性テーブル２２８の情報に基づいて、移行先ストレージ装置と同一構成の代替ボリュームを一つまたは複数、ユーザに提示する（Ｓ１８）。
【０１０９】
ここで、管理サーバ２００は、例えば、ユーザの指定した期間内において最も負荷の少ない順番で、代替ボリュームをユーザに提示することもできる。このような付加的な情報をユーザに提供することにより、ユーザは、より低負荷のボリュームを代替ボリュームとして選択することができ、使い勝手が向上する。
【０１１０】
ユーザによって代替ストレージ装置（代替ボリューム）が選択されると、管理サーバ２００は、代替移行先として選択されたストレージ装置を、移行管理テーブル２２６に登録する（Ｓ１９）。
【０１１１】
本実施例では、説明の便宜上、ストレージ装置３００が移行元ストレージ装置であり、ストレージ装置４００が移行先ストレージ装置であり、ストレージ装置５００が代替ストレージ装置である場合を例に挙げて説明する。
【０１１２】
次に、管理サーバ２００は、Ｓ１８で検出された代替ストレージ装置を全て代替ストレージ装置の候補とし、代替ストレージ候補テーブル２３０に保存する（Ｓ２０）。即ち、途中制御プランで選択された代替ストレージ装置に障害が生じた場合に備えて、管理サーバ２００は、代替ストレージ装置の候補についても監視対象とする。このように、代替ストレージ装置の設定時に、その代替ストレージ装置の候補を予め検出しておくことにより、代替ストレージ装置に切替不能な場合でも、途中制御プランを円滑に実施できる。
【０１１３】
管理サーバ２００は、移行プランの設定が完了したか否かを判断する（Ｓ２１）。移行プランの設定が終了していない場合（S20:NO）、Ｓ１４へ戻り、移行プラン設定作業が再開される。全ての移行プランの設定が終了した場合（S20:YES）、管理サーバ２００は、移行プランテーブル２２７を作成し、保存する。このようにして、データ移行処理開始前の事前設定が終了する。
【０１１４】
図１４は、図１３中にＳ１１で示される性能情報取得手順の詳細を示すフローチャートである。管理サーバ２００は、例えば、コントローラ負荷、キャッシュ使用量（使用率）、チャネルプロセッサの負荷率等を、管理下の各ストレージ装置にそれぞれ問い合わせる（Ｓ３１）。なお、チャネルプロセッサとは、ホスト１００とのデータ送受信を制御するためのプロセッサである。
【０１１５】
次に、管理サーバ２００は、各ストレージ装置から性能情報をそれぞれ取得すると（Ｓ３２）、この取得した性能情報に装置ID及び取得時間を対応付けて、使用履歴テーブル２２９へ保存する（Ｓ３３）。
【０１１６】
図１５は、図１３中にＳ１２で示される移行グループ設定処理の詳細を示すフローチャートである。まず、管理サーバ２００は、移行対象のボリューム（移行元ボリューム）がユーザによって選択されたかを判定する（Ｓ４１）。
【０１１７】
管理サーバ２００は、移行元ボリュームがユーザにより選択されると（S41:YES）、選択された移行元ボリュームを、グループ管理テーブル２２５に登録する（Ｓ４２）。管理サーバ２００は、親リソースグループを設定するか否かを判定する（Ｓ４３）。即ち、複数のリソースグループを一つのリソースグループ（親リソースグループ）にまとめて、同時に移行させるか否かを判断する。
【０１１８】
親リソースグループを設定する場合（S43:YES）、管理サーバ２００は、複数のリソースグループがユーザにより選択されたか否かを判定する（Ｓ４４）。複数のリソースグループが選択された場合（S44:YES）、管理サーバ２００は、ユーザによって選択された複数リソースグループから構成される親リソースグループをグループ管理テーブル２２５に登録する（Ｓ４５）。
【０１１９】
管理サーバ２００は、移行対象グループの設定作業が完了したか否かを判断し（Ｓ４６）、完了していない場合（S46:NO）、Ｓ４１に戻る。ユーザによる設定作業が完了した場合（S46:YES）、本処理は終了する。なお、親リソースグループを設定しない場合（S43:NO）、Ｓ４４，Ｓ４５はスキップされてＳ４６に移る。
【０１２０】
図１６は、データ移行処理を開始するときの処理手順（データ移行処理の管理手順）を示す。まず、管理サーバ２００のCPU２１０は、移行制御プログラム２２４のシーケンスに従って、移行元ストレージ装置３００及び移行先ストレージ装置４００に、それぞれ移行開始命令を発行する（Ｓ５１）。
【０１２１】
次に、管理サーバ２００は、移行元ストレージ装置３００及び移行先ストレージ装置４００から移行処理開始通知をそれぞれ受信したか否かを判定する（Ｓ５２）。管理サーバ２００のCPU２１０は、ストレージ管理プログラム２２１のシーケンスに従って、データ移行処理の進捗度合を定期的にまたは不定期に調査し、随時、移行管理テーブル２２６を更新する（Ｓ５３）。
【０１２２】
管理サーバ２００は、移行元ストレージ装置３００から移行処理完了が通知されたかを判定し（Ｓ５４）、移行処理完了通知を移行元ストレージ装置３００から受信した場合（S54:YES）、データ移行処理が完了した旨をユーザに通知する（Ｓ５５）。
【０１２３】
ところで、移行元ストレージ装置３００及び移行先ストレージ装置４００の両方から移行開始通知をそれぞれ受信できなかった場合（S52:NO）、管理サーバ２００は、ユーザにエラーを通知する（Ｓ５６）。データ移行処理が開始できなかったためである。
【０１２４】
なお、データ移行処理の完了通知及びエラー通知は、例えば、管理サーバ２００の端末画面に表示されるメッセージによって実現される。または、電子メールを用いて、ユーザに通知する構成としてもよい。
【０１２５】
図１７は、データ移行処理を示すフローチャートである。このデータ移行処理は、例えば、移行元ストレージ装置３００によって実行される。なお、移行先ストレージ装置４００が移行元ストレージ装置３００からデータを読み出すことにより、データを移行させる構成でもよい。
【０１２６】
移行元ストレージ装置３００は、管理サーバ２００から移行開始通知（図１６のＳ５１）を受信したか否かを判定する（Ｓ６１）。移行開始通知を受信した場合（S61:YES）、移行元ストレージ装置３００のコントローラ３１０は、データ移行プログラム３２１のシーケンスに従って、データ移行処理を開始可能か否かを移行先ストレージ装置４００に問い合わせる（Ｓ６２）。
【０１２７】
移行元ストレージ装置３００（より詳しくはコントローラ３１０）は、データ移行処理を開始か否か判断する（Ｓ６３）。データ移行処理の開始が可能であると判定した場合（S63:YES）、移行元ストレージ装置３００は、管理サーバ２００に移行開始通知を送信する（Ｓ６４）。
【０１２８】
移行元ストレージ装置３００は、移行元ボリュームからデータを読み出して、この読み出されたデータを移行先ストレージ装置４００に転送する（Ｓ６５）。移行先ストレージ装置４００は、移行元ストレージ装置３００から受信したデータを一旦キャッシュメモリ４３０に記憶させた後、このデータを移行先ボリューム書き込む。
【０１２９】
移行元ストレージ装置３００は、ボリュームコピーが完了したか否か、即ち、移行元ボリュームの全データが移行先ボリュームにコピーされたか否かを判定する（Ｓ６６）。リソースグループを構成する全ての移行元ボリュームについて、データ移行が完了するまで、Ｓ６５，Ｓ６６が繰り返し実行される。
【０１３０】
データ移行が完了すると（S66:YES）、移行元ストレージ装置３００は、管理サーバ２００に向けて、移行終了通知を送信する（Ｓ６７）。ところで、移行元ストレージ装置３００がデータ移行処理を開始できないと判断した場合（S63:NO）、移行元ストレージ装置３００は、管理サーバ２００にエラーを通知する（Ｓ６８）。
【０１３１】
図１８は、データ移行処理を実施している最中に、移行先ストレージ装置４００に障害が発生した場合の処理手順を示すフローチャートである。この処理は、管理サーバ２００によって実行される。
【０１３２】
まず、管理サーバ２００は、移行先ストレージ装置４００から障害通知を受信したか否かを判定する（Ｓ７１）。障害の種類としては、例えば、コントローラ４１０の一部障害、キャッシュメモリ４３０の一部障害、ボリューム４５０の一部障害、電源の一部障害等を挙げることができる。
【０１３３】
移行先ストレージ装置４００から障害通知を受信した場合（S71:YES）、管理サーバ２００は、移行先ストレージ装置４００から受信した情報に基づいて、障害の種類を判定する（Ｓ７２）。管理サーバ２００は、判別された障害の種類と移行プランテーブル２２７とに基づいて、その障害に関して設定されている途中制御処理の実行の可否を、ユーザに問い合わせる（Ｓ７３）。
【０１３４】
ユーザが途中制御処理の実行を指示した場合（S74:YES）、即ち、データ移行処理の途中変更がユーザにより承認された場合、管理サーバ２００は、途中制御処理を実行する（Ｓ７５）。データ移行途中におけるデータ移行処理方法の変更については、図１９と共に後述する。
【０１３５】
これに対し、ユーザが途中制御処理の実行を指示しない場合（S74:NO）、管理サーバ２００は、予め指定されていた途中制御処理を行うことなく、データ移行処理をそのまま継続させる（Ｓ７６）。
【０１３６】
次に、図１９は、図１８中にＳ７５で示された途中制御処理の手順を示すフローチャートである。まず、管理サーバ２００は、ユーザによって予め選択された途中制御処理の種類（途中制御処理の内容）が「キャンセル」であるか否かを判定する（Ｓ８１）。
【０１３７】
ユーザが事前にデータ移行処理のキャンセルを指定していた場合（S81:YES）、管理サーバ２００は、移行元ストレージ装置３００及び移行先ストレージ装置４００に対して、データ移行処理の中止（取消）を指示する（Ｓ８２）。
【０１３８】
ユーザにより選択された途中制御処理が「キャンセル」ではない場合（S81:NO）、管理サーバ２００は、ユーザにより選択された途中制御処理が「一時停止」であるか否かを判定する（Ｓ８３）。
【０１３９】
ユーザがデータ移行処理の一時停止を予め指定していた場合（S83:YES）、管理サーバ２００は、移行元ストレージ装置３００及び移行先ストレージ装置４００に対して、データ移行処理の一時的な中止を指示する（Ｓ８４）。そして、管理サーバ２００は、一時停止を指示した後、所定の再開時間が経過するのを待ち（Ｓ８５）、再開時間が経過した場合（S85:YES）、移行元ストレージ装置３００及び移行先ストレージ装置４００に、データ移行処理の再開を指示する（Ｓ８６）。
【０１４０】
ユーザの指定する途中制御処理の方法が「キャンセル」でも「一時停止」でもない場合（S83:NO）、管理サーバ２００は、「移行先変更処理」を実施する（Ｓ８７）。この移行先変更処理については、図２０と共に後述する。
【０１４１】
図２０は、図１９中にＳ８７で示される移行先変更処理の詳細を示すフローチャートである。移行先変更処理では、当初予定されていた移行先ストレージ装置を使用できない場合に、代替ストレージ装置５００、または、さらに別の代替ストレージ装置に移行先を切り替えて、データ移行処理を継続させる。
【０１４２】
まず、管理サーバ２００は、予め登録されている代替ストレージ装置５００に障害が発生しているか否かを判定する（Ｓ９１）。即ち、新たな移行先ストレージ装置として代替ストレージ装置５００を使用可能か否かを判断する。
【０１４３】
予め登録された代替ストレージ装置５００に障害が発生していない場合（S91:NO）、管理サーバ２００は、データ移行中のボリュームについては、そのデータ移行を完了させる（Ｓ９２）。次に、管理サーバ２００は、移行管理テーブル２２６中の「移行先ボリューム」を、代替ストレージ装置５００の代替ボリュームに書き換える（Ｓ９３）。
【０１４４】
管理サーバ２００は、最初に設定されていた移行先ストレージ装置４００と移行元ストレージ装置３００について、それぞれのコントローラ負荷を計測する（Ｓ９４）。移行元ストレージ装置３００の方が移行先ストレージ装置４００よりもコントローラ負荷が低い場合（S95:YES）、管理サーバ２００は、移行済みボリュームについては、移行元ストレージ装置３００から代替ストレージ装置５００に移行させる（Ｓ９６）。これに対し、移行先ストレージ装置４００の方が移行元ストレージ装置３００よりもコントローラ負荷が低い場合（S95:NO）、管理サーバ２００は、移行済みボリュームについては、移行先ストレージ装置４００から代替ストレージ装置５００に移行させる（Ｓ９７）。
【０１４５】
即ち、移行先ストレージ装置４００に既に移行されているボリュームについては、移行元ストレージ装置３００または移行先ストレージ装置４００のうち、いずれかコントローラ負荷の少ない方から代替ストレージ装置５００にデータがコピーされる。
【０１４６】
ところで、予めユーザによって選択されていた代替ストレージ装置５００に障害が生じており、この代替ストレージ装置５００を使用できない場合（S91:NO）、管理サーバ２００は、代替ストレージ候補テーブル２３０に代替ボリューム候補が登録されているか否かを判断する（Ｓ９８）。
【０１４７】
代替ボリューム候補が存在する場合（S98:YES）、管理サーバ２００は、代替ストレージ候補テーブル２３０に複数のストレージ装置が候補として挙げられているときは、これら複数の候補の中から最も性能の良いストレージ装置を検出する（Ｓ９９）。
【０１４８】
管理サーバ２００は、この検出されたストレージ装置をユーザに提示し、代替ストレージ装置５００に代えて、この新たに検出された代替ストレージ装置を使用しても良いか否かをユーザに問い合わせる（Ｓ１００）。
【０１４９】
ユーザから変更の承認が得られた場合（S101:YES）、Ｓ９２に移り、上述の通り、新たな代替ストレージ装置を用いてデータ移行処理が行われる（Ｓ９２〜Ｓ９７）。ユーザからの承認が得られない場合（S101:NO）、管理サーバ２００は、データ移行処理をキャンセルさせる（Ｓ１０２）。また、代替ボリューム候補が一つも存在しない場合も（S98:NO）、管理サーバ２００は、データ移行処理をキャンセルさせる（Ｓ１０２）。
【０１５０】
図２１は、データ移行処理中に、移行先ストレージ装置４００の負荷が上昇した場合の処理手順を示すフローチャートである。管理サーバ２００は、移行先ストレージ装置のコントローラ負荷が上昇したか否か、または、移行先ボリューム４４２の属するパリティグループ４４１の負荷（ディスクI/O）が上昇したか否かを判断する（Ｓ１１１）。
【０１５１】
そして、コントローラやパリティグループの負荷上昇が検出された場合（S111:YES）、管理サーバ２００は、途中制御処理の実行の可否について、ユーザに問い合わせる（Ｓ１１２）。ユーザが途中制御処理の実行を指示すると（S113:YES）、図１９及び図２０で述べた途中制御処理を実行する（Ｓ１１４）。
【０１５２】
これに対し、ユーザが途中制御処理の実行を指示しない場合（S113:NO）、即ち、ユーザが途中制御処理の開始を希望しない場合、管理サーバ２００は、現在のデータ移行処理を修正することなくそのまま継続させる（Ｓ１１５）。
【０１５３】
本実施例は、上述のように構成されるので、以下の効果を奏する。本実施例では、移行先ストレージ装置４００の状態に基づいて、データ移行処理の最中に、データ移行処理の方法を修正または変更することができるように構成した。従って、無駄なデータ移行処理がそのまま実行されるのを防止することができ、また、データ移行後に期待通りの結果が得られない事態を防止することができる。
【０１５４】
さらに、ユーザは、最初の移行プランの失敗を確認した後で、新たな移行プランを立案して再設定する必要がない。ユーザは、予め途中制御プランを設定しておくだけで、動的に変化するストレージシステムにおいて、希望に添ったデータ移行を実現可能である。これにより、本実施例では、データ移行処理の作業性を改善することができ、ユーザの使い勝手を向上させることができる。
【０１５５】
本実施例では、代替ストレージ装置５００をユーザが選択する時点で、代替ストレージ装置５００の代わりとなる候補ストレージ装置を予め全て検出しておき、これら候補ストレージ装置（代替ストレージ装置の候補）の性能情報も事前に収集する。従って、移行先ストレージ装置４００から代替ストレージ装置５００に切替不能な場合でも、速やかに別の代替ストレージ装置をユーザに提案することができ、使い勝手が向上する。
【０１５６】
本実施例では、移行済みのボリュームについては、移行元ストレージ装置３００または移行先ストレージ装置４００のうち、いずれかコントローラ負荷の低い方を選んで、代替ストレージ装置に移行させる。従って、ストレージシステム内の負荷をバランスさせることができ、特定のストレージ装置に負荷が集中するのを抑制することができる。
【０１５７】
本実施例では、複数のボリュームをリソースグループにまとめて、一括して同時に移行させることができる。従って、例えば、コピーペアの関係に立つ複数のボリューム同士のように、互いに関連する複数のボリュームを同時に移行させることができ、使い勝手が向上する。
【０１５８】
特に、複数の関連するボリューム群を一括してデータ移行させる場合、データ移行処理を完了するまでの時間が長くなりやすい。しかし、２４時間３６５日の連続稼働も可能なストレージシステムでは、状況が時々刻々と変化する。従って、移行プラン立案時におけるストレージシステムの状況が、データ移行処理の完了後も続く保証はない。そこで、本実施例では、状況が種々変化するストレージシステムにおいて、複数の関連するボリューム群をデータ移行させるために、移行先ストレージ装置４００及び代替ストレージ装置５００さらに代替ストレージ装置の候補について性能情報を定期的に収集し、移行先ストレージ装置４００の状況に応じて、データ移行処理を適宜修正する。これにより、複数のストレージ装置３００，４００，５００，．．．を含むストレージシステムにおいて、ユーザの希望通りのデータ移行を実現できる可能性が増大し、使い勝手が向上する。
【０１５９】
本実施例では、データ移行処理を開始する前に、代替ボリュームの候補を予め全て抽出している。即ち、データ移行処理の開始時において利用可能なボリュームのうち、移行先ボリュームとして使用可能なボリュームを全て抽出する。これに代えて、代替ボリュームを検索する時点で、代替ボリュームを新たに作成する構成としてもよい。但し、この場合は、代替ボリュームに切り替えるまでに時間がかかり、データ移行の処理の流れに時間的な隙間が生じ、速やかなデータ移行を行うことができない。これに対し、本実施例では、予め代替ボリュームの候補を抽出して、管理サーバ２００の監視下におくため、代替ストレージ装置５００に障害が発生した場合でも、移行先を速やかに切り替えて、データ移行処理を続行させることができる。
【実施例２】
【０１６０】
図２２，図２３に基づいて、本発明の第２実施例を説明する。本実施例では、複数のストレージ装置に分散して配置されている移行元ボリューム群を一括して、複数の移行先ストレージ装置にそれぞれ移行させる。本実施例を含む以下の各実施例は、上述の第１実施例の変形例に該当するため、重複した説明を省略し、第１実施例との相違点を中心に説明する。
【０１６１】
図２２は、本実施例によるストレージシステムの全体構成を示す説明図である。このストレージシステムは、複数のホスト１００（一つのみ図示）と、管理サーバ２００Ａと、複数のストレージ装置３００，４００，５００，６００，７００を有している。なお、図示するストレージ装置３００，４００，５００，６００，７００以外の他のストレージ装置を備えることもできる。
【０１６２】
第１実施例のストレージシステムとの相違点は、ストレージシステム６００，７００が追加されている点と、リソースグループが複数のストレージ装置３００，４００に跨って定義されている点である。
【０１６３】
追加された各ストレージ装置６００，７００は、他のストレージ装置４００，５００と同様に、基本的にストレージ装置３００と同一構成にすることができ、制御装置６０１，７０１を備えている。また、各ストレージ装置６００，７００は、コピー用ネットワークCN１４を介して、他のストレージ装置３００，４００，５００に接続されている。ストレージ装置６００，７００の詳細は割愛する。
【０１６４】
本実施例では、ストレージ装置３００及びストレージ装置４００が移行元ストレージ装置となっている。即ち、第１の移行元ストレージ装置３００に設けられているリソースグループ８０１Ａと、第２の移行元ストレージ装置４００に設けられているリソースグループ８０１Ａとによって、親リソースグループ８００Ａが構成される。この親リソースグループ８００Ａに属する各ボリューム３４２，４４２が移行元ボリュームとなる。
【０１６５】
移行先ストレージ装置は、ストレージ装置５００，６００となる。移行先ボリュームは、ストレージ装置５００の有するボリューム５４２と、ストレージ装置６００の有するボリューム６４２となる。
【０１６６】
代替ストレージ装置は、ストレージ装置７００である。代替ボリュームは、ストレージ装置７００の有するボリューム７４２となる。
【０１６７】
図２３は、データ移行中に移行先ストレージ装置５００またはストレージ装置６００のいずれかにおいて障害が検出された場合の処理手順を示す。管理サーバ２００ＡのCPU２１０は、障害監視プログラム２２３のシーケンスに従って、移行先ストレージ装置５００，６００の障害の有無をそれぞれ調査する（Ｓ１２１）。
【０１６８】
移行先ストレージ装置５００または移行先ストレージ装置６００のいずれかから障害通知を受信した場合（S121:YES）、管理サーバ２００Ａは、障害の種類と、この障害に係る親リソースグループ及び親リソースグループを構成する各リソースグループとを、それぞれ特定する（Ｓ１２２）。
【０１６９】
そして、管理サーバ２００Ａは、移行プランテーブル２２７に登録されている途中制御処理を、全てのリソースグループについて実行するか否かを、ユーザに問い合わせる（Ｓ１２３）。ユーザが、移行先ストレージ装置５００，６００の障害に関連するか否かを問わず、全リソースグループについて、途中制御処理（データ移行処理のキャンセル、一時停止、または移行先変更）を指示した場合（S124:YES）、管理サーバ２００Ａは、各リソースグループ毎に、途中制御処理をそれぞれ実行する（Ｓ１２５）。
【０１７０】
全てのリソースグループについて、予め設定されている途中制御処理を完了するまで（Ｓ１２６）、管理サーバ２００Ａは、Ｓ１２５を繰り返し実行する。全てのリソースグループについて途中制御処理を実行した後（S126:YES）、管理サーバ２００Ａは、修正された移行プランに従って、データ移行処理を継続させる（Ｓ１２７）。
【０１７１】
これに対し、ユーザが、全リソースグループへの一律な途中制御処理を希望しておらず（S124:NO）、障害に関連するリソースグループについてのみ途中制御処理を希望する場合（S128:YES）、該当するリソースグループについてのみ途中制御処理が実行される（Ｓ１２９）。移行先ストレージ装置における障害に関連するリソースグループについて途中制御処理を完了した後、管理サーバ２００Ａは、この修正された移行プラン（途中制御プラン）に従って、データ移行処理を継続させる（Ｓ１３０）。
【０１７２】
なお、ユーザが、途中制御処理の実行を希望しない場合（S128:NO）、管理サーバ２００Ａは、途中制御処理を実行することなく、現在のデータ移行処理をそのまま継続させる（Ｓ１３１）。即ち、この場合、最初の立案時の内容で、データ移行が行われる。
【０１７３】
このように構成される本実施例も、前記第１実施例と同様の効果を奏する。これに加えて、本実施例では、複数のストレージ装置３００，４００に分散する複数の移行元ボリューム３４２，４４２を、複数のストレージ装置５００，６００に一括して移行させることができ、使い勝手がさらに向上する。
【実施例３】
【０１７４】
図２４〜図２６に基づいて、本発明の第３実施例を説明する。本実施例では、移行元ストレージ装置４００の内部に、ボリュームのローカルコピー４４２Ａを形成することにより、ホスト１００に対して、あたかもデータ移行が完了したかのように見せかける。
【０１７５】
本実施例は、前記第２実施例と同様に、複数のホスト１００（一つのみ図示）と、管理サーバ２００Ｂと、複数のストレージ装置３００，４００，５００，６００，７００を備えている。また、前記第２実施例と同様に、複数のリソースグループ８０１Ｂからなる親リソースグループ８００Ｂがデータ移行の対象となっている。ストレージ装置３００内のリソースグループ８０１Ｂと、ストレージ装置４００内のリソースグループ８０１Ｂとは、リモートコピーのペアを形成している。以下、第２実施例と共通する説明を省略し、相違点を中心に述べる。
【０１７６】
本実施例の管理サーバ２００Ｂは、第１実施例と異なり、図２５に示すボリューム属性テーブル２２８Ａを使用する。図１０に示すボリューム属性テーブル２２８との相違点は、コピーペアの相手方を特定するための情報２２８６が追加されている点である。即ち、このボリューム属性テーブル２２８Ａは、複数のボリューム間に存在する関連性の情報（リモートコピーのペア情報２２８６）も管理している。
【０１７７】
本実施例では、移行元ストレージ装置は、ストレージ装置３００及びストレージ装置４００となる。また、移行先ストレージ装置は、ストレージ装置５００及びストレージ装置６００となる。代替ストレージ装置は、ストレージ装置７００となる。
【０１７８】
図２６は、本実施例による移行先変更処理を示すフローチャートである。このフローチャートは、図２０と共に述べたフローチャートと共通のステップを備えている。そこで、図２０との相違点を中心に説明すると、最初にユーザにより設定された代替ストレージ装置５００，６００のいずれかに障害が生じている場合（S91:YES）、管理サーバ２００Ｂは、代替ボリュームの候補が存在するか否かを判定する（Ｓ９８Ａ）。
【０１７９】
代替ボリュームの候補が存在しない場合（S98A:NO）、管理サーバ２００Ｂは、移行元ストレージ装置４００の内部に、移行元ボリューム４４２のコピーボリューム４４２Ａを生成させる（Ｓ１４１）。そして、管理サーバ２００Ｂは、移行管理テーブル２２６中の移行先ボリュームの情報を、コピーボリューム４４２Ａに書き換えて、移行先変更処理を終了する。
【０１８０】
即ち、リモートコピーペアを形成する複数の正ボリューム３４２が、ストレージ装置５００内の複数のボリューム５４２にそれぞれ移行された後で、ストレージ装置６００に障害が発生した場合、副ボリューム４４２のローカルコピーボリューム４４２Ａが、移行元ストレージ装置４００内に生成される。そして、コピーボリューム４４２Ａと正ボリューム５４２とのコピーペア関係が再設定されて、データ移行処理が完了する。
【０１８１】
なお、説明の便宜上、副ボリューム４４２のコピーボリューム４４２Ａを副側のストレージ装置４００内に生成する場合を述べたが、これに限らず、正ボリューム３４２のコピーボリュームを正側のストレージ装置３００内、または、副側のストレージ装置４００内に設ける構成でもよい。
【０１８２】
このように構成される本実施例も前記第１，第２実施例と同様の効果を奏する。これに加えて、本実施例では、移行元ストレージ装置４００内に、移行元ボリューム４４２のローカルコピーであるコピーボリューム４４２Ａを生成し、データ移行が完了したかのように見せかける構成とした。これにより、代替ストレージ装置が発見できない場合でも、データ移行処理を完了させることができ、使い勝手が向上する。
【実施例４】
【０１８３】
図２７に基づいて、本発明の第４実施例を説明する。本実施例では、管理サーバ２００Ｃの機能を、ストレージ装置３００の内部に設けている。図２７は、本実施例によるストレージシステムの全体構成を示す説明図である。
【０１８４】
ストレージ装置３００の内部には、管理サーバ２００Ｃが設けられている。この管理サーバ２００Ｃは、上述した管理サーバ２００，２００Ａ，２００Ｂと同様の機能を発揮することができる。
【０１８５】
また、本実施例では、管理サーバ２００Ｃをストレージ装置３００内に設けるため、ストレージ管理用ネットワークとホスト管理用ネットワークとは、共通のネットワークCN１３を用いている。なお、ストレージ装置３００内に管理サーバ２００Ｃを設けない構成においても、ストレージ管理用ネットワークとホスト管理用ネットワークとを共通化することは可能である。
【０１８６】
なお、移行元ストレージ装置３００に管理サーバ２００Ｃを設ける構成に代えて、移行先ストレージ装置４００または代替ストレージ装置５００の内部に管理サーバ２００Ｃを設ける構成でもよい。または、各ストレージ装置３００，４００，５００にそれぞれ管理サーバ２００Ｃを設けておき、これら各管理サーバのうち使用する管理サーバを適宜選択する構成でもよい。
【０１８７】
このように構成される本実施例でも、前記各実施例と同様の効果を奏する。これに加えて、本実施例では、ストレージ装置内に管理サーバを内蔵するため、ストレージシステムの構成を簡素化することができる。なお、管理サーバをホスト１００の内部に設ける構成としてもよい。
【実施例５】
【０１８８】
図２８に基づいて、本発明の第５実施例を説明する。本実施例では、ユーザが予め選択した代替ストレージ装置に切り替える場合も、ユーザの承認を得るようにしている。図２８は、本実施例のストレージシステムで実行される移行先変更処理を示すフローチャートである。
【０１８９】
このフローチャートは、図２０と共に述べたフローチャートと共通のステップを備えている。そこで、図２０との相違点を中心に説明すると、本実施例では、代替ストレージ装置に障害が発生していない場合（S91:NO）、直ちに代替ストレージ装置に切り替えるのではなく、切替の可否をユーザに問い合わせて（Ｓ１５１）、ユーザからの承認を待つ（Ｓ１５２）。ユーザからの承認を得られない場合（S151:NO）、データ移行処理はキャンセルされる（Ｓ１０２）。
【０１９０】
このように構成される本実施例でも、前記各実施例と同様の効果を奏する。これに加えて、本実施例では、ユーザが事前に指定した代替ストレージ装置に切り替える際にも、ユーザの意思を確認するため、使い勝手が向上する。ユーザの考えが、当初の途中制御プランとは異なる場合にも対応することができる。
【０１９１】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、当業者であれば、各実施例を適宜組み合わせることができる。
【０１９２】
本実施例では、代替ストレージ装置の候補からいずれか一つの代替ストレージ装置を選択する場合や、移行先ストレージ装置から代替ストレージ装置に切り替える場合に、ユーザの承認を求める構成としたが、これに代えて、管理サーバが自動的に切替を行うように構成してもよい。
【図面の簡単な説明】
【０１９３】
【図１】本発明の実施形態の概念を示す説明図である。
【図２】ストレージシステムの全体構成を示す説明図である。
【図３】管理サーバ及びホストの構成に着目した構成説明図である。
【図４】ストレージ装置の構成に着目した構成説明図である。
【図５】リソースグループ単位でボリュームを移動させる様子を模式的に示す説明図である。
【図６】移行プラン及び途中制御プランを設定するための設定画面を示す説明図である。
【図７】グループ管理テーブルの構成を示す説明図である。
【図８】移行管理テーブルの構成を示す説明図である。
【図９】移行プランテーブルの構成を示す説明図である。
【図１０】ボリューム属性テーブルの構成を示す説明図である。
【図１１】使用履歴テーブルの構成を示す説明図である。
【図１２】代替ストレージ装置候補テーブルを示す説明図である。
【図１３】移行プラン設定処理を示すフローチャートである。
【図１４】図１３中の性能情報の取得処理を示すフローチャートである。
【図１５】図１３中の移行グループ設定処理を示すフローチャートである。
【図１６】データ移行の管理処理を示すフローチャートである。
【図１７】データ移行処理を示すフローチャートである。
【図１８】データ移行中に移行先ストレージ装置に障害が発生した場合の処理を示すフローチャートである。
【図１９】途中制御処理を示すフローチャートである。
【図２０】図１９中の移行先変更処理を示すフローチャートである。
【図２１】データ移行中に移行先での負荷上昇が検出された場合の処理を示すフローチャートである。
【図２２】第２実施例に係るストレージシステムの全体構成を示す説明図である。
【図２３】データ移行中に移行先ストレージ装置に障害が発生した場合の処理を示すフローチャートである。
【図２４】第３実施例に係るストレージシステムの全体構成を示す説明図である。
【図２５】ボリューム属性管理テーブルの構成を示す説明図である。
【図２６】移行先変更処理を示すフローチャートである。
【図２７】第４実施例に係るストレージシステムの全体構成を示す説明図である。
【図２８】第５実施例に係るストレージシステムにより実行される移行先変更処理を示すフローチャートである。
【符号の説明】
【０１９４】
１…移行元ストレージ装置、２…移行先ストレージ装置、３…代替ストレージ装置、４…代替候補ストレージ装置、１Ａ，１Ｂ…移行元ボリューム、１Ｃ…データコピー部、１Ｄ…リソースグループ、２Ａ，２Ｂ…移行先ボリューム、３Ａ，３Ｂ…代替ボリューム、５…ストレージ状態監視部、５Ａ…性能監視部、５Ｂ…障害監視部、６…処理方法制御部、７…ホスト、８…移行プラン、８Ａ…途中制御プラン、１００…ホスト、１１０…CPU、１２０…メモリ、１２１…エージェントプログラム、１８０…バス、１９０，１９１…インターフェース、１８０…バス、２００，２００Ａ，２００Ｂ，２００Ｃ…管理サーバ、２１０…CPU、２２０…メモリ、２２１…ストレージ管理プログラム、２２２…性能監視プログラム、２２３…障害監視プログラム、２２４…移行制御プログラム、２２５…グループ管理テーブル、２２６…移行管理テーブル、２２７…移行プランテーブル、２２８，２２８Ａ…ボリューム属性テーブル、２２９，２２９Ａ，２２９Ｂ…使用履歴テーブル、２３０…代替ストレージ候補テーブル、２８０…バス、２９０，２９１…インターフェース、３００，４００，５００，６００，７００ ストレージ装置、３０１，４０１，５０１，６０１，７０１…制御装置、３１０，４１０…コントローラ、３２０，４２０…メモリ、３２１，４２１…データ移行プログラム、３３０，４３０…キャッシュメモリ、３４０，４４０…ディスクドライブ、３４１，４４１…パリティグループ、３４２，４４２，５４２，６４２，７４２…論理ボリューム、４４２Ａ…ローカルコピーボリューム、３８０，４８０…バス、３９０，３９１，３９２，４９０，４９１，４９２…インターフェース、８００，８００Ａ，８００Ｂ…親リソースグループ、８０１，８０１Ａ，８０１Ｂ…リソースグループ、CN１１…データ入出力用ネットワーク、CN１２…ホスト管理用ネットワーク、CN１３…ストレージ管理用ネットワーク、CN１４…コピー用ネットワーク
【図１】
2007286709.tif 000003
【図２】
2007286709.tif 000004
【図３】
2007286709.tif 000005
【図４】
2007286709.tif 000006
【図５】
2007286709.tif 000007
【図６】
2007286709.tif 000008
【図７】
2007286709.tif 000009
【図８】
2007286709.tif 000010
【図９】
2007286709.tif 000011
【図１０】
2007286709.tif 000012
【図１１】
2007286709.tif 000013
【図１２】
2007286709.tif 000014
【図１３】
2007286709.tif 000015
【図１４】
2007286709.tif 000016
【図１５】
2007286709.tif 000017
【図１６】
2007286709.tif 000018
【図１７】
2007286709.tif 000019
【図１８】
2007286709.tif 000020
【図１９】
2007286709.tif 000021
【図２０】
2007286709.tif 000022
【図２１】
2007286709.tif 000023
【図２２】
2007286709.tif 000024
【図２３】
2007286709.tif 000025
【図２４】
2007286709.tif 000026
【図２５】
2007286709.tif 000027
【図２６】
2007286709.tif 000028
【図２７】
2007286709.tif 000029
【図２８】
2007286709.tif 000030