(57)【特許請求の範囲】
【請求項１】
データのマイグレーション元の論理ボリュームであるソースボリュームから、データのマイグレーション先の論理ボリュームであるターゲットボリュームにデータをマイグレーションする方法であって、
複数の論理ボリュームを有する一以上のストレージシステムは、複数のパリティグループを有し、前記パリティグループは、二以上の物理的な記憶デバイスから構成されており、前記パリティグループを構成する前記二以上の物理的な記憶デバイス上には、前記複数の論理ボリュームのうちの二以上の論理ボリュームが設定されており、
コンピュータが、論理ボリュームのアクセス元の性能であるアクセス元性能を一以上のアクセス元の各々について取得し、
コンピュータが、論理ボリュームの性能であるボリューム性能を各論理ボリュームについて取得し、
コンピュータが、前記取得された各アクセス元のアクセス元性能と、前記取得された各論理ボリュームのボリューム性能とに基づいて、前記複数の論理ボリュームの中からソースボリュームサブ候補を選択し、
コンピュータが、前記選択されたソースボリュームサブ候補が属するパリティグループを前記複数のパリティグループの中から判別し、
コンピュータが、前記判別されたパリティグループに属する二以上の論理ボリュームである二以上のソースボリューム候補の中からソースボリュームを選択し、前記複数の論理ボリュームの中からターゲットボリュームを選択し、
コンピュータが、前記選択されたソースボリューム内のデータを前記選択されたターゲットボリュームにマイグレーションする、
データマイグレーション方法。
【請求項２】
コンピュータが、各ソースボリューム候補のボリューム性能と、前記二以上のソースボリューム候補以外の各他の論理ボリュームのボリューム性能とに基づいて、前記各ソースボリューム候補毎に、そのソースボリューム候補のペアとなるターゲットボリューム候補を二以上の他の論理ボリュームの中から選択し、複数の前記ペアの中から、最も好ましいマイグレーションが行われる及び／又はマイグレーションの結果が最も好ましいと推測されるペアを選択し、
コンピュータが、前記選択された前記ソースボリューム及び前記ターゲットボリュームは、前記選択されたペアを構成するソースボリューム候補及びターゲットボリューム候補である、
請求項１記載のデータマイグレーション方法。
【請求項３】
最も好ましいマイグレーションが行われるペアとは、マイグレーションに要する時間長が最も短いペアである、
請求項２記載のデータマイグレーション方法。
【請求項４】
前記マイグレーションの結果が最も好ましいペアとは、マイグレーションが行われた場合に前記ソースボリュームサブ候補のボリューム性能が最も回復するペアである、
請求項２記載のデータマイグレーション方法。
【請求項５】
コンピュータが、前記取得された各アクセス元のアクセス元性能と、前記取得された各論理ボリュームのボリューム性能とを基に、各アクセス元とそのアクセス先である論理ボリュームとのペアである各アクセスペアについて、性能劣化の度合いを算出し、算出された度合いが所定値を超えたアクセスペアにおける論理ボリュームを、前記ソースボリュームサブ候補とする、
請求項１記載のデータマイグレーション方法。
【請求項６】
複数のアクセス元が存在し、
コンピュータが、前記複数のパリティグループのうちの或るパリティグループの一以上のアクセス元を前記複数のアクセス元の中から判別し、
コンピュータが、前記判別された一以上のアクセス元にそれぞれ対応した一以上のアクセス元性能の合計である総合アクセス元性能と、前記或るパリティグループに属する二以上の論理ボリュームにそれぞれ対応した二以上のボリューム性能の合計であるパリティ性能と、前記判別された一以上のアクセス元のアクセス元性能と、前記或るパリティグループに属する二以上の論理ボリュームのボリューム性能とに基づいて、前記各アクセスペアについて性能劣化の度合いを算出する、
請求項５記載のデータマイグレーション方法。
【請求項７】
一つのアクセスペアについての前記性能劣化の度合い＝そのアクセスペアを構成する論理ボリュームのボリューム性能×有効率−そのアクセスペアを構成するアクセス元のアクセス元性能であり、
前記有効率＝前記パリティ性能／前記総合アクセス元性能である、
請求項６記載のデータマイグレーション方法。
【請求項８】
コンピュータが、各パリティグループの前記パリティ性能／各パリティグループの最大性能＝各パリティグループの使用率を算出し、
前記算出された使用率が所定の閾値を越えたパリティグループが、前記或るパリティグループである、
請求項６記載のデータマイグレーション方法。
【請求項９】
コンピュータが、複数の前記ソースボリュームサブ候補がある場合、或るソースボリュームサブ候補について選択されたソースボリュームからターゲットボリュームへのデータのマイグレーションが完了していない場合であっても、そのマイグレーションが完了したものとして、別のソースボリュームサブ候補についてソースボリューム及びターゲットボリュームの選択を行う、
請求項１記載のデータマイグレーション方法。
【請求項１０】
コンピュータが、前記各アクセス元は、アクセス先の論理ボリュームに対し、その論理ボリュームからデータを読み出す又はその論理ボリュームにデータを書き込むためのＩＯコマンドを発行し、
或るアクセス元の前記アクセス元性能とは、前記或るアクセス元から前記ＩＯコマンドが単位時間当たりに発行された回数であり、
或る論理ボリュームの前記ボリューム性能とは、前記ストレージシステムにおいて前記或る論理ボリュームに対する前記ＩＯコマンドとして単位時間当たりに受け付けた回数である、
請求項１記載のデータマイグレーション方法。
【請求項１１】
或るアクセス元の前記アクセス元性能とは、前記或るアクセス元から出力された単位時間当たりデータの転送量であり、
或る論理ボリュームの前記ボリューム性能とは、前記ストレージシステムにおいて前記或る論理ボリュームに対して受け付けられたデータの単位時間当たりの転送量である、
請求項１記載のデータマイグレーション方法。
【請求項１２】
前記一以上のストレージシステムには、ストレージシステムと、該ストレージシステムの外部に存在するストレージシステムである外部ストレージシステムとが含まれ、
前記ストレージシステムが、仮想的な論理ボリュームである仮想ボリュームを備え、
前記外部ストレージシステムが有するパリティグループ上に設けられた論理ボリュームである外部ボリュームには、前記仮想ボリュームが対応付けられており、
コンピュータが、前記選択されたターゲットボリュームが前記仮想ボリュームの場合、その仮想ボリュームに対応付けられている前記外部ボリュームにデータをマイグレーションする、
請求項１記載のデータマイグレーション方法。
【請求項１３】
前記アクセス元は、ホスト又は前記ホストのオペレーティングシステム上で実行されるアプリケーションプログラムである、
請求項１記載のデータマイグレーション方法。
【請求項１４】
一以上のストレージシステムが、複数のパリティグループを有し、前記パリティグループは、二以上の物理的な記憶デバイスから構成されており、前記パリティグループを構成する前記二以上の物理的な記憶デバイス上には、複数の論理ボリュームのうちの二以上の論理ボリュームが設定されており、データのマイグレーション元の論理ボリュームであるソースボリュームから、データのマイグレーション先の論理ボリュームであるターゲットボリュームにデータをマイグレーションするためのシステムであって、
論理ボリュームのアクセス元の性能であるアクセス元性能を一以上のアクセス元の各々について取得するアクセス元性能取得部と、
論理ボリュームの性能であるボリューム性能を、一以上のストレージシステムに備えられる複数の論理ボリュームの各々について取得するボリューム性能取得部と、
前記取得された各アクセス元のアクセス元性能と、前記取得された各論理ボリュームのボリューム性能とに基づいて、前記複数の論理ボリュームの中からソースボリュームサブ候補を選択するサブ候補選択部と、
前記選択されたソースボリュームサブ候補が属するパリティグループを前記複数のパリティグループの中から判別するパリティ判別部と、
前記判別されたパリティグループに属する二以上の論理ボリュームである二以上のソースボリューム候補の中からソースボリュームを選択し、前記複数の論理ボリュームの中からターゲットボリュームを選択するソースターゲット選択部と、
前記選択されたソースボリューム内のデータを前記選択されたターゲットボリュームにマイグレーションするマイグレーション部と
を備えるデータマイグレーションシステム。
【請求項１５】
前記ソースターゲット選択部は、各ソースボリューム候補のボリューム性能と、前記二以上のソースボリューム候補以外の各他の論理ボリュームのボリューム性能とに基づいて、前記各ソースボリューム候補毎に、そのソースボリューム候補のペアとなるターゲットボリューム候補を二以上の他の論理ボリュームの中から選択し、複数の前記ペアの中から、最も好ましいマイグレーションが行われる及び／又はマイグレーションの結果が最も好ましいと推測されるペアを選択し、
前記選択された前記ソースボリューム及び前記ターゲットボリュームは、前記選択されたペアを構成するソースボリューム候補及びターゲットボリューム候補である、
請求項１４記載のデータマイグレーションシステム。
【請求項１６】
前記サブ候補選択部は、前記取得された各アクセス元のアクセス元性能と、前記取得された各論理ボリュームのボリューム性能とを基に、各アクセス元とそのアクセス先である論理ボリュームとのペアである各アクセスペアについて、性能劣化の度合いを算出し、算出された度合いが所定値を超えたアクセスペアにおける論理ボリュームを、前記ソースボリュームサブ候補とする、
請求項１５記載のデータマイグレーションシステム。
【請求項１７】
データのマイグレーション元の論理ボリュームであるソースボリュームから、データのマイグレーション先の論理ボリュームであるターゲットボリュームにデータをマイグレーションすることを実行するためのコンピュータプログラムであって、
複数の論理ボリュームを有する一以上のストレージシステムが、複数のパリティグループを有し、前記パリティグループは、二以上の物理的な記憶デバイスから構成されており、前記パリティグループを構成する前記二以上の物理的な記憶デバイス上には、前記複数の論理ボリュームのうちの二以上の論理ボリュームが設定されており、
論理ボリュームのアクセス元の性能であるアクセス元性能を一以上のアクセス元の各々について取得し、
論理ボリュームの性能であるボリューム性能を各論理ボリュームについて取得し、
前記取得された各アクセス元のアクセス元性能と、前記取得された各論理ボリュームのボリューム性能とに基づいて、前記複数の論理ボリュームの中からソースボリュームサブ候補を選択し、
前記選択されたソースボリュームサブ候補が属するパリティグループを前記複数のパリティグループの中から判別し、
前記判別されたパリティグループに属する二以上の論理ボリュームである二以上のソースボリューム候補の中からソースボリュームを選択し、前記複数の論理ボリュームの中からターゲットボリュームを選択し、
前記選択されたソースボリューム内のデータを前記選択されたターゲットボリュームにマイグレーションする、
ことをコンピュータに実行させるためのコンピュータプログラム。
【請求項１８】
データのマイグレーション元の論理ボリュームであるソースボリュームから、データのマイグレーション先の論理ボリュームであるターゲットボリュームにデータをマイグレーションする方法であって、
一以上のホストは、各ホストのオペレーティングシステム上で動作する一以上のアプリケーションプログラムを有し、
複数の論理ボリュームを有する一以上のストレージシステムは、複数のパリティグループを有し、前記パリティグループは、二以上の物理的な記憶デバイスから構成されており、前記パリティグループを構成する前記二以上の物理的な記憶デバイス上には、前記複数の論理ボリュームのうちの二以上の論理ボリュームが設定されており、
コンピュータが、アプリケーションプログラムの性能であるＡＰ性能を各アプリケーションプログラムについて取得し、
コンピュータが、論理ボリュームの性能であるボリューム性能を各論理ボリュームについて取得し、
コンピュータが、前記取得された各アプリケーションプログラムのＡＰ性能と、前記取得された各論理ボリュームのボリューム性能とを基に、各アプリケーションプログラムとそのアクセス先である論理ボリュームとのペアである各アクセスペアについて、性能劣化の度合いを算出し、算出された度合いが所定値を超えたアクセスペアにおける論理ボリュームを、ソースボリュームサブ候補とし、
コンピュータが、前記ソースボリュームサブ候補が属するパリティグループを前記複数のパリティグループの中から判別し、
コンピュータが、前記判別されたパリティグループに属する各論理ボリュームである各ソースボリューム候補のボリューム性能と、前記二以上のソースボリューム候補以外の各他の論理ボリュームのボリューム性能とに基づいて、前記各ソースボリューム候補毎に、そのソースボリューム候補のペアとなるターゲットボリュームの候補を二以上の他の論理ボリュームの中から選択し、複数の前記ペアの中から、最も好ましいマイグレーションが行われる及び／又はマイグレーションの結果が最も好ましいと推測されるペアを選択し、
コンピュータが、前記選択されたペアを構成するソースボリューム候補及びターゲットボリューム候補を前記ソースボリューム及び前記ターゲットボリュームとし、前記ソースボリューム内のデータを前記選択された前記ターゲットボリュームにマイグレーションする、
データマイグレーション方法。
【請求項１９】
一以上のホストが、各ホストのオペレーティングシステム上で動作する一以上のアプリケーションプログラムを有し、一以上のストレージシステムが、複数のパリティグループを有し、前記パリティグループは、二以上の物理的な記憶デバイスから構成されており、前記パリティグループを構成する前記二以上の物理的な記憶デバイス上には、複数の論理ボリュームのうちの二以上の論理ボリュームが設定されており、データのマイグレーション元の論理ボリュームであるソースボリュームから、データのマイグレーション先の論理ボリュームであるターゲットボリュームにデータをマイグレーションするためのシステムであって、
アプリケーションプログラムの性能であるＡＰ性能を各アプリケーションプログラムについて取得するＡＰ性能取得部と、
論理ボリュームの性能であるボリューム性能を各論理ボリュームについて取得するボリューム性能取得部と、
前記取得された各アプリケーションプログラムのＡＰ性能と、前記取得された各論理ボリュームのボリューム性能とを基に、各アプリケーションプログラムとそのアクセス先である論理ボリュームとのペアである各アクセスペアについて、性能劣化の度合いを算出し、算出された度合いが所定値を超えたアクセスペアにおける論理ボリュームを、ソースボリュームサブ候補とするサブ候補選択部と、
前記ソースボリュームサブ候補が属するパリティグループを前記複数のパリティグループの中から判別するパリティ選択部と、
前記判別されたパリティグループに属する各論理ボリュームである各ソースボリューム候補のボリューム性能と、二以上のソースボリューム候補以外の各他の論理ボリュームのボリューム性能とに基づいて、前記各ソースボリューム候補毎に、そのソースボリューム候補のペアとなるターゲットボリューム候補を二以上の他の論理ボリュームの中から選択し、複数の前記ペアの中から、最も好ましいマイグレーションが行われる及び／又はマイグレーションの結果が最も好ましいと推測されるペアを選択するペア選択部と、
前記選択されたペアを構成するソースボリューム候補及びターゲットボリューム候補を前記ソースボリューム及び前記ターゲットボリュームとし、前記ソースボリューム内のデータを前記選択された前記ターゲットボリュームにマイグレーションするマイグレーション部と
を備えるデータマイグレーションシステム。
【請求項２０】
データのマイグレーション元の論理ボリュームであるソースボリュームから、データのマイグレーション先の論理ボリュームであるターゲットボリュームにデータをマイグレーションするためのコンピュータプログラムであって、
一以上のホストは、各ホストのオペレーティングシステム上で動作する一以上のアプリケーションプログラムを有し、
複数の論理ボリュームを有する一以上のストレージシステムは、複数のパリティグループを有し、前記パリティグループは、二以上の物理的な記憶デバイスから構成されており、前記パリティグループを構成する前記二以上の物理的な記憶デバイス上には、前記複数の論理ボリュームのうちの二以上の論理ボリュームが設定されており、
アプリケーションプログラムの性能であるＡＰ性能を各アプリケーションプログラムについて取得し、
論理ボリュームの性能であるボリューム性能を各論理ボリュームについて取得し、
前記取得された各アプリケーションプログラムのＡＰ性能と、前記取得された各論理ボリュームのボリューム性能とを基に、各アプリケーションプログラムとそのアクセス先である論理ボリュームとのペアである各アクセスペアについて、性能劣化の度合いを算出し、算出された度合いが所定値を超えたアクセスペアにおける論理ボリュームを、ソースボリュームサブ候補とし、
前記ソースボリュームサブ候補が属するパリティグループを前記複数のパリティグループの中から判別し、
前記判別されたパリティグループに属する各論理ボリュームである各ソースボリューム候補のボリューム性能と、二以上のソースボリューム候補以外の各他の論理ボリュームのボリューム性能とに基づいて、前記各ソースボリューム候補毎に、そのソースボリューム候補のペアとなるターゲットボリューム候補を二以上の他の論理ボリュームの中から選択し、複数の前記ペアの中から、最も好ましいマイグレーションが行われる及び／又はマイグレーションの結果が最も好ましいと推測されるペアを選択し、
前記選択されたペアを構成するソースボリューム候補及びターゲットボリューム候補を前記ソースボリューム及び前記ターゲットボリュームとし、前記ソースボリューム内のデータを前記選択された前記ターゲットボリュームにマイグレーションする、
ことをコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データをマイグレーションするための技術に関する。
【背景技術】
【０００２】
例えば、特開２００３−１５９１７号公報に記載のデータマイグレーション技術が知られている。
【０００３】
【特許文献１】特開２００３−１５９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば、一又は複数のストレージシステムと、一又は複数のホスト（例えばホスト装置）とが通信ネットワークに接続されたシステムが知られている。
【０００５】
各ストレージシステムは、例えば、複数の物理的な記憶装置と、それら複数の物理的な記憶装置の記憶資源を用いて設定された二以上の論理的な記憶装置（以下、論理ボリューム）とを備えることができる。論理ボリュームは、データを記憶することができる。
【０００６】
各ホストは、ＣＰＵや記憶資源を備えることができる。各ホストの記憶資源は、一又は複数のアプリケーションプログラムを記憶することができる。ＣＰＵは、記憶資源からアプリケーションプログラムを読み出して実行することができる。実行されたアプリケーションプログラムは、ストレージシステムの論理ボリュームにデータを書き込んだり、その論理ボリュームからデータを読み出したりすることができる。
【０００７】
近年、例えば、アプリケーションプログラムが利用するデータの大量化が進んできている。時間の経過と共に、アプリケーションプログラムからデータへのアクセス頻度や、データの利用価値は変化していく。例えば、ウェブサービスを提供するアプリケーションプログラムが利用するデータについて言えば、そのウェブサービスの利用状況により、データへのアクセス頻度の変化が大きくなることがあり得る。
【０００８】
また、どんな種類のサービス（換言すれば業務）を提供するアプリケーションプログラムに利用されるデータであるかによって、各データには、異なる利用価値、性能或いは信頼性が要求されることもある。データの作成から活用、保存、廃棄に至るまでの一連段階を、データのライフサイクルと呼ぶことにする。限られたストレージ資源（つまり記憶容量）で、アプリケーションプログラムがより良いサービスを提供できるようにするために、データのライフサイクルの各段階で、その段階で求められるデータの利用価値、性能或いは信頼性に応じて最適なストレージ資源（例えば論理ボリューム）を選択し、選択したストレージ資源にデータを格納する必要がある。
【０００９】
例えば、アプリケーションプログラムに要求される性能が変化する場合、そのアプリケーションプログラムが利用するデータを記憶している論理ボリューム（以下、ソースボリューム）の属性と一致し、且つ、要求される性能を満足できる別の論理ボリューム（以下、ターゲットボリューム）が存在すれば、ソースボリューム内のデータをターゲットボリュームにマイグレーションする方法が考えられる。
【００１０】
しかし、上述の方法によれば、ソースボリュームの性能が影響する他の論理ボリュームの性能は考慮されていない。このため、必ずしも最適なマイグレーションが行えるとは限らないと考えられる。
【００１１】
また、上述の方法では、複数のマイグレーションが行われる場合、前のマイグレーションが考慮されずに次のマイグレーションが行われる。このため、複数のマイグレーションでターゲットボリュームが共通してしまう可能性があり、その結果、アプリケーションプログラムに求められる性能を満足することができないおそれがある。
【００１２】
また、各マイグレーションにおいて、ターゲットボリュームの選択が自動的に行われれば利便性は高いと考えられる。
【００１３】
従って、本発明の目的は、要求される性能をなるべく満足させることができるデータマイグレーション技術を提供することにある。本発明の更なる目的は、要求される性能をなるべく満足させるのに好ましいターゲットボリュームを自動的に選択できるようにすることにある。
【００１４】
本発明の他の目的は、後の説明から明らかになるであろう。
【課題を解決するための手段】
【００１５】
本発明の第一の側面に従う方法は、データのマイグレーション元の論理ボリュームであるソースボリュームから、データのマイグレーション先の論理ボリュームであるターゲットボリュームにデータをマイグレーションする方法である。複数の論理ボリュームを有する一以上のストレージシステムは、複数のパリティグループを有する。前記パリティグループは、二以上の物理的な記憶デバイスから構成されている。前記パリティグループを構成する前記二以上の物理的な記憶デバイス上には、前記複数の論理ボリュームのうちの二以上の論理ボリュームが設定されている。
【００１６】
この場合、この方法では、論理ボリュームのアクセス元の性能であるアクセス元性能が一以上のアクセス元の各々について取得される。論理ボリュームの性能であるボリューム性能が各論理ボリュームについて取得される。前記取得された各アクセス元のアクセス元性能と、前記取得された各論理ボリュームのボリューム性能とに基づいて、前記複数の論理ボリュームの中からソースボリュームサブ候補が選択される。前記選択されたソースボリュームサブ候補が属するパリティグループが前記複数のパリティグループの中から判別される。前記判別されたパリティグループに属する二以上の論理ボリュームである二以上のソースボリューム候補の中からソースボリュームが選択され、前記複数の論理ボリュームの中からターゲットボリュームが選択される。前記選択されたソースボリューム内のデータが前記選択されたターゲットボリュームにマイグレーションされる。
【００１７】
この方法の第一の態様では、各ソースボリューム候補のボリューム性能と、前記二以上のソースボリューム候補以外の各他の論理ボリュームのボリューム性能とに基づいて、前記各ソースボリューム候補毎に、そのソースボリューム候補のペアとなるターゲットボリューム候補を二以上の他の論理ボリュームの中から選択することができる。複数の前記ペアの中から、最も好ましいマイグレーションが行われる及び／又はマイグレーションの結果が最も好ましいと推測されるペアを選択することができる。この場合、前記選択された前記ソースボリューム及び前記ターゲットボリュームは、前記選択されたペアを構成するソースボリューム候補及びターゲットボリューム候補である。
【００１８】
この方法の第二の態様では、前記第一の態様において、前記最も好ましいマイグレーションが行われるペアとは、マイグレーションに要する時間長が最も短いペアであるとすることができる。
【００１９】
この方法の第三の態様では、前記第一の態様において、前記マイグレーションの結果が最も好ましいペアとは、マイグレーションが行われた場合に前記ソースボリュームサブ候補のボリューム性能が最も回復するペアであるとすることができる。
【００２０】
この方法の第四の態様では、前記取得された各アクセス元のアクセス元性能と、前記取得された各論理ボリュームのボリューム性能とを基に、各アクセス元とそのアクセス先である論理ボリュームとのペアである各アクセスペアについて、性能劣化の度合いを算出することができる。算出された度合いが所定値を超えたアクセスペアにおける論理ボリュームを、前記ソースボリュームサブ候補とすることができる。
【００２１】
この方法の第五の態様では、前記第四の態様において、複数のアクセス元が存在してもよい。前記複数のパリティグループのうちの或るパリティグループの一以上のアクセス元を前記複数のアクセス元の中から判別することができる。前記判別された一以上のアクセス元にそれぞれ対応した一以上のアクセス元性能の合計である総合アクセス元性能と、前記或るパリティグループに属する二以上の論理ボリュームにそれぞれ対応した二以上のボリューム性能の合計であるパリティ性能と、前記判別された一以上のアクセス元のアクセス元性能と、前記或るパリティグループに属する二以上の論理ボリュームのボリューム性能とに基づいて、前記各アクセスペアについて性能劣化の度合いを算出することができる。
【００２２】
この方法の第六の態様では、前記第五の態様において、一つのアクセスペアについての前記性能劣化の度合い＝そのアクセスペアを構成する論理ボリュームのボリューム性能×有効率−そのアクセスペアを構成するアクセス元のアクセス元性能とすることができる。前記有効率＝前記パリティ性能／前記総合アクセス元性能であるとすることができる。
【００２３】
この方法の第七の態様では、前記第五の態様において、各パリティグループの前記パリティ性能／各パリティグループの最大性能＝各パリティグループの使用率を算出することができる。前記算出された使用率が所定の閾値を越えたパリティグループが、前記或るパリティグループであるとすることができる。
【００２４】
この方法の第八の態様では、複数の前記ソースボリュームサブ候補がある場合、或るソースボリュームサブ候補について選択されたソースボリュームからターゲットボリュームへのデータのマイグレーションが完了していない場合であっても、そのマイグレーションが完了したものとして、別のソースボリュームサブ候補についてソースボリューム及びターゲットボリュームの選択を行うことができる。
【００２５】
この方法の第九の態様では、前記各アクセス元は、アクセス先の論理ボリュームに対し、その論理ボリュームからデータを読み出す又はその論理ボリュームにデータを書き込むためのＩＯコマンドを発行することができる。或るアクセス元の前記アクセス元性能とは、前記或るアクセス元から前記ＩＯコマンドが単位時間当たりに発行された回数である。或る論理ボリュームの前記ボリューム性能とは、前記ストレージシステムにおいて前記或る論理ボリュームに対する前記ＩＯコマンドとして単位時間当たりに受け付けた回数である。
【００２６】
この方法の第十の態様では、或るアクセス元の前記アクセス元性能とは、前記或るアクセス元から出力された単位時間当たりデータの転送量である。或る論理ボリュームの前記ボリューム性能とは、前記ストレージシステムにおいて前記或る論理ボリュームに対して受け付けられたデータの単位時間当たりの受信量である。
【００２７】
この方法の第十一の態様では、前記一以上のストレージシステムには、ストレージシステムと、該ストレージシステムの外部に存在するストレージシステムである外部ストレージシステムとが含まれる。前記ストレージシステムが、仮想的な論理ボリュームである仮想ボリュームを備えることができる。前記外部ストレージシステムが有するパリティグループ上に設けられた論理ボリュームである外部ボリュームには、前記仮想ボリュームが対応付けられている。前記選択されたターゲットボリュームが前記仮想ボリュームの場合、その仮想ボリュームに対応付けられている前記外部ボリュームにデータをマイグレーションすることができる。
【００２８】
この方法の第十二の態様では、前記アクセス元は、ホスト又は前記ホストのオペレーティングシステム上で実行されるアプリケーションプログラムである。
【００２９】
一以上のストレージシステムが、複数のパリティグループを有する。前記パリティグループは、二以上の物理的な記憶デバイスから構成されている。前記パリティグループを構成する前記二以上の物理的な記憶デバイス上には、複数の論理ボリュームのうちの二以上の論理ボリュームが設定されている。本発明の第二の側面に従うデータマイグレーションシステムは、データのマイグレーション元の論理ボリュームであるソースボリュームから、データのマイグレーション先の論理ボリュームであるターゲットボリュームにデータをマイグレーションするためのシステムである。該システムは、論理ボリュームのアクセス元の性能であるアクセス元性能を一以上のアクセス元の各々について取得するアクセス元性能取得部と、論理ボリュームの性能であるボリューム性能を、一以上のストレージシステムに備えられる複数の論理ボリュームの各々について取得するボリューム性能取得部と、前記取得された各アクセス元のアクセス元性能と、前記取得された各論理ボリュームのボリューム性能とに基づいて、前記複数の論理ボリュームの中からソースボリュームサブ候補を選択するサブ候補選択部と、前記選択されたソースボリュームサブ候補が属するパリティグループを前記複数のパリティグループの中から判別するパリティ判別部と、前記判別されたパリティグループに属する二以上の論理ボリュームである二以上のソースボリューム候補の中からソースボリュームを選択し、前記複数の論理ボリュームの中からターゲットボリュームを選択するソースターゲット選択部と、前記選択されたソースボリューム内のデータを前記選択されたターゲットボリュームにマイグレーションするマイグレーション部とを備える。
【００３０】
データマイグレーションシステムは、一又は複数台のコンピュータマシンで構築することができる。一又は複数のコンピュータマシンとしては、例えば、一以上のホスト、一以上のストレージシステム及び一以上のサーバマシンのうちの少なくとも一つとすることができる。ストレージシステムは、例えば、配列された複数の物理的な記憶デバイスを備えたディスクアレイ装置とすることができる。
【００３１】
データマイグレーション方法で行われる処理は、所定の各部によって実行することができる。各部は各手段と言い換えることができる。各部或いは各手段は、ハードウェア（例えば回路）、コンピュータプログラム、或いはそれらの組み合わせ（例えば、コンピュータプログラムを読み込んで実行する一又は複数のＣＰＵ）によって実現することもできる。各コンピュータプログラムは、コンピュータマシンに備えられる記憶資源（例えばメモリ）から読み込むことができる。その記憶資源には、ＣＤ−ＲＯＭやＤＶＤ（Digital Versatile Disk）等の記録媒体を介してインストールすることもできるし、インターネットやＬＡＮ等の通信ネットワークを介してダウンロードすることもできる。
【発明の効果】
【００３２】
本発明によれば、要求される性能をなるべく満足させることができるデータマイグレーション技術を提供することができる。
【発明を実施するための最良の形態】
【００３３】
図１は、本発明の第一実施形態に係るデータマイグレーションシステムの物理的な構成の概要を示す。
【００３４】
複数のホスト１Ａ、１Ｂ、１Ｃ、…と、複数のストレージシステム２１、１２１、…とが、第一の通信ネットワーク１２Ａに接続されている。また、複数のホスト１Ａ、１Ｂ、１Ｃ、…と、複数のストレージシステム２１、１２１、…と、複数のサーバ１１、１３、…とが、第二の通信ネットワーク１２Ｂに接続されている。
【００３５】
通信ネットワーク１２Ａ、１２Ｂは、２つに別れておらずに１つであっても良い。また、各通信ネットワーク１２Ａ、１２Ｂは、どのような種類の通信ネットワークであっても良い。本実施形態では、第一の通信ネットワーク１２Ａは、ＳＡＮ（Storage Area Network）とすることができる。第二の通信ネットワーク１２Ｂは、ＬＡＮ（Local Area Network）とすることができる。
【００３６】
ホストは一台であっても良い。各ホスト１Ａ、１Ｂ、１Ｃ、…は、ストレージシステム２１の論理ボリュームにデータを書き込む又は論理ボリュームからデータを読み出すためのＩＯコマンド（入出力コマンド）を発行することができる計算機の一種である。各ホスト１Ａ、１Ｂ、１Ｃ、…は、所定のサービス（例えばウェブサービス）を提供することができる。各ホスト１Ａ、１Ｂ、１Ｃ、…は、いずれも実質的に同様のハードウェア構成を採用することができる。そのため、ホスト１Ａを例に採って、そのハードウェア構成例を説明する。
【００３７】
ホスト１Ａは、種々のコンピュータプログラムを記憶することができる記憶資源（例えばメモリやハードディスクドライブ）５や、記憶資源５からコンピュータプログラムを読込んで実行するＣＰＵ３や、第一の通信ネットワーク１２Ａの通信インターフェース（以下、Ｉ／Ｆ）となる一又は複数の第一Ｉ／Ｆ９や、第二の通信ネットワーク１２Ｂの通信インターフェースとなる第二Ｉ／Ｆ７を備えることができる。Ｉ／Ｆ７、９としては、例えば、通信ポート或いはそれを備えた通信コントローラ（例えばホストバスアダプタ或いはＬＡＮコントローラ）とすることができる。
【００３８】
サーバも一台であっても良い。本実施形態では、マイグレーションマネージャサーバ１１と、ストレージマネージャサーバ１３の２台のサーバマシンがあるとする。ストレージマネージャサーバ１３は、定期的に又は不定期に、各ストレージサブシステム２１、１２１の論理ボリュームの性能を受信（例えば収集）し、受信された性能をボリュームマイグレーションサーバ１１に報告することができる。マイグレーションマネージャサーバ１１は、各ホスト１Ａ、１Ｂ、１Ｃ、…の各アプリケーションプログラムの性能を受信（例えば収集）し、各アプリケーションプログラムの受信された性能と、ストレージマネージャサーバ１３から報告された、各論理ボリュームの性能とに基づいて、どの論理ボリュームをソースとしどの論理ボリュームをターゲットとするかを決定し、決定したソースからターゲットへとデータをマイグレーションすることをストレージシステム２１及び／又は１２１に実行させることができる。
【００３９】
ストレージシステムも一台であっても良い。この実施形態では、ストレージシステムは２台であるとする。そして、ストレージシステム１２１を、ストレージシステム２１の外に存在する別のストレージシステムとして「外部ストレージシステム」と呼ぶことにする。ストレージシステム２１と外部ストレージシステム１２１は、第一の通信ネットワーク１２Ａとは別に専用線で通信可能に接続されても良い。ストレージシステム２１と外部ストレージシステム１２１とは、実質的に同様のハードウェア構成を採用することができる。そのため、ストレージシステム２１を例に採って、そのハードウェア構成例を説明する（なお、図１では、ストレージシステム２１と外部ストレージシステム１２１において、実質的に同じ構成要素については、参照番号の差が１００となっている）。
【００４０】
ストレージシステム２１は、例えば、複数のメディアドライブ３３を備えたＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）システムとすることができる。各メディアドライブ３３は、データを記憶することができる記憶メディア（例えばハードディスク或いはＤＶＤ等のディスク）を備える。ストレージシステム２１は、複数のメディアドライブ３３の他に、コントローラ２２を備えることができる。
【００４１】
コントローラ２２は、ストレージシステム２１の動作を制御する装置である。コントローラ２２は、第一の通信ネットワーク１２ＡのＩ／Ｆとなる一又は複数の第一Ｉ／Ｆ２９や、第二の通信ネットワーク１２ＢのＩ／Ｆとなる第二Ｉ／Ｆ２７や、各メディアドライブ３３を介した通信を制御するドライブＩ／Ｆ３１を備えることができる。また、コントローラ２２は、メモリ２６やＣＰＵ２３を備えることができる。メモリ２６及びＣＰＵ２３は、それぞれ、一つであっても複数であっても良い。メモリ２６は、例えば、メディアドライブ３３と各ホスト１Ａ、１Ｂ、１Ｃ、…との間で授受されるデータを一時的に記憶することができるキャッシュ領域や、ストレージシステム２１を制御するためのデータやコンピュータプログラムを記憶することができる制御領域などを備えることができる。ＣＰＵ２３は、制御領域からコンピュータプログラムを読み込んで実行することができる。
【００４２】
なお、各コントローラ２２、１２２の上述した構成は一例であり、他の構成を採用することもできる。例えば、コントローラ２２及び１２２の少なくとも一方が、上記の構成に代えて、外部の装置（例えばホスト或いは外部ストレージシステム１２１）との通信を制御する複数の第一の制御部（例えば制御回路基板）と、メディアドライブ３３との通信を制御する複数の第二の制御部（例えば制御回路基板）と、外部の装置とメディアドライブ３３との間で授受されるデータを記憶することができるキャッシュメモリと、ストレージシステム２１を制御するためのデータを記憶することができる制御メモリと、各第一の制御部、各第二の制御部、キャッシュメモリ及び制御メモリを接続する接続部（例えば、クロスバスイッチなどのスイッチ）とを備えることができる。この場合、第一の制御部と第二の制御部の一方が、又は双方が協働して、後述するコントローラとしての処理を行うことができる。
【００４３】
以上が、本実施形態に係るデータマイグレーションシステムの物理的な構成の一例である。
【００４４】
図２は、本実施形態に係るデータマイグレーションシステムに構築される論理的な構成の一例を示す。
【００４５】
各ホスト１Ａ、１Ｂ、１Ｃ、…の記憶資源５に記憶されるコンピュータプログラムとしては、例えば、少なくとも一つの業務アプリケーションプログラム（以下、業務ＡＰ）５１Ａ、５１Ｂ、５１Ｃと、ＡＰ性能測定エージェント５３Ａ、５３Ｂ、５３Ｃとがある。ＣＰＵ３は、各種コンピュータプログラムを読み込んで実行することにより、所定の処理を行うことができる。以下、説明を冗長にしないようにするために、ＣＰＵがコンピュータプログラムを実行することにより処理が行われることを、コンピュータプログラムが処理を行うというような、簡潔な表現を用いることにする。
【００４６】
業務ＡＰ５１Ａ、５１Ｂ、５１Ｃは、所定の業務（例えば図示しないクライアントに対するウェブサービス）を行うアプリケーションプログラムである。各ホスト１Ａ、１Ｂ、１Ｃ、…には、業務ＡＰに代えて又は加えて、他種のアプリケーションプログラムが搭載されてもよいが、本実施形態では、アプリケーションプログラムは業務ＡＰのみであるとする。各業務ＡＰ５１Ａ、５１Ｂ、５１Ｃは、ストレージシステム２１の論理ボリュームに対するＩＯコマンドを発行することができる。
【００４７】
ＡＰ性能測定エージェント５３Ａ、５３Ｂ、５３Ｃは、自分を備えるホスト内の各業務ＡＰの性能を測定し、測定された性能を、マイグレーションマネージャサーバ１１に通知することができる。その測定は、定期的又は不定期的に自発的に行われても良いし、マイグレーションマネージャサーバ１１からの要求に従って行われても良い。
【００４８】
ここで、測定される性能としては、例えば、ＩＯＰＳ（IO/Second）を採用することができる。ＩＯＰＳとは、デバイス（具体的には、例えば、通信ポート、パリティグループ又は論理ボリューム）に対してＩＯコマンドが１秒間に何回発行或いは処理されたかを示す数値である。ＩＯＰＳは、例えば、第一のサイズ（例えば５１２バイト単位の小さなブロックサイズ）のブロックのデータを要求するＩＯコマンドを処理する際のシステムのパフォーマンスを表す場合に採用することができる。ＡＰのＩＯＰＳとは、ＡＰが１秒間にＩＯコマンドを発行する回数である。ＶＯＬのＩＯＰＳとは、１秒当たりのＶＯＬへのＩＯコマンドに従うアクセス回数である。
以下の説明では、測定される性能として、説明を分かりやすくするために、ＩＯＰＳのみとするが、それに代えて又は加えて、一又は複数の別種の性能を採用することができる。別種の性能としては、例えば、ＭＢ／Ｓ（Mega Byte/Second）がある。ＭＢ／Ｓとは、デバイス（具体的には、例えば、通信ポート、パリティグループ又は論理ボリューム）への１秒間当たりのデータ転送量を示す数値である。ＭＢ／Ｓは、第一のサイズよりも十分に大きい第二のサイズのブロックのデータを連続的に読み出す或いは書き込む場合（つまりシーケンシャルアクセスを行う場合）に採用することができる。ＡＰのＭＢ／Ｓとは、ＡＰによる１秒当たりのデータ転送量であり、ＶＯＬのＭＢ／Ｓとは、ＶＯＬに対する１秒当たりのデータ転送量（つまり１秒当たりにＶＯＬから読み出される或いはＶＯＬに書かれるデータの量）である。
【００４９】
ストレージシステム２１のメモリ２６には、複数種類のコンピュータプログラムを記憶される。複数種類のコンピュータプログラムには、ＶＯＬ性能測定エージェント７５が含まれている。ＶＯＬ性能測定エージェント７５は、自分を備えるストレージシステム２１内の各論理ボリュームのＩＯＰＳを測定し、測定されたＩＯＰＳを、ストレージマネージャサーバ１３に通知することができる。ＩＯＰＳの測定は、定期的又は不定期的に自発的に行われても良いし、ストレージマネージャサーバ１３からの要求に従って行われても良い。
【００５０】
ストレージシステム２１には、複数（又は一つ）のパリティグループ６１Ａ、６１Ｂ、…が備えられる。各パリティグループ６１Ａ、６１Ｂ、…は、ストレージシステム２１に搭載される複数のメディアドライブ３３のうちの二以上のメディアドライブ３３（例えば記憶容量が同じメディアドライブ）の集まりである。パリティグループは、アレイグループ或いはＲＡＩＤグループとも呼ばれることがある。
【００５１】
また、ストレージシステム２１には、複数の論理ボリューム（以下、ＶＯＬと略記することがある）が備えられる。論理ボリュームは、各ホスト１Ａ、１Ｂ、１Ｃが認識してアクセスすることのできる論理的な記憶デバイスである。複数のＶＯＬには、実体のある論理ボリューム（以下、便宜上「内部ボリューム」或いは「ＩＶＯＬ」と言う）６３Ａ、６３Ｂ、６３Ｃと、実体の無い仮想的な論理ボリューム（以下、仮想ボリューム或いはＶＶＯＬ）６４Ａ、６４Ｂ、６４Ｃとが含まれている。
【００５２】
内部ボリューム６３Ａ、６３Ｂ、６３Ｃは、パリティグループ（図２では６１Ａ）が有する記憶資源が論理的に分けられたものである。換言すれば、内部ボリューム６３Ａ、６３Ｂ、６３Ｃは、物理的な記憶資源を必要とする。
【００５３】
仮想ボリューム６４Ａ、６４Ｂ、６４Ｃは、物理的な記憶資源の有無に関わらずに備えることができる。各仮想ボリューム６４Ａ、６４Ｂ、６４Ｃは、それぞれ外部ボリューム（以下、ＥＶＯＬと言うことがある）１６３Ａ、１６３Ｂ、１６３Ｃに対応付けることができる。一つの仮想ボリュームには、一又は複数の外部ボリュームが対応付けられても良いし、一つの外部ボリュームに、一又は複数の仮想ボリュームが対応付けられても良い。外部ボリュームとは、ストレージシステム２１の外に存在する実体のある論理ボリューム、具体的には、外部ストレージシステム１２１に存在する、外部ストレージシステム１２１にとっての内部ボリュームである。例えば、図示のように、ＶＶＯＬ６４ＡとＥＶＯＬ１６３Ａとが対応付けられている場合、ストレージシステム２１は、ホスト１ＡからＶＶＯＬ６４Ａに対するＩＯコマンドを受けた場合、ＥＶＯＬ１６４に対するＩＯコマンドを外部ストレージシステム１２１に対して発行することができる。これにより、ホスト１Ａは、ＶＶＯＬ６４Ａにアクセスすることで、ストレージシステム２１を介して、外部ストレージシステム１２１のＥＶＯＬ１６４Ａにアクセスすることができる。なお、ホストが仮想的な論理ボリュームを介して外部の実態のある論理ボリュームにアクセスする技術としては、例えば、特開２００５−１０７６４５号
に記載の技術を援用することができる。
【００５４】
ストレージマネージャサーバ１３の記憶資源に記憶されるコンピュータプログラムとしては、例えば、ＶＯＬモニタ７４がある。ＶＯＬモニタ７４は、各ＶＯＬ性能測定エージェント７５、１７５によって測定された各ＶＯＬのＩＯＰＳを、各ＶＯＬ性能測定エージェント７５、１７５から受信することができる。ＶＯＬモニタ７４は、各ＶＯＬ性能測定エージェント７５、１７５に対し、定期的又は不定期的に自発的に、或いは、ストレージモニタ７３からの要求に従って、ＩＯＰＳの測定を要求しても良い。ＶＯＬモニタ７４は、受信した各ＶＯＬ毎のＩＯＰＳを、マイグレーションマネージャサーバ１１に通知することができる。
【００５５】
マイグレーションマネージャサーバ１１の記憶資源に記憶されるコンピュータプログラムとしては、例えば、ＡＰモニタ７１と、ストレージモニタ７３と、マイグレーションモニタ７２とがある。マイグレーションマネージャサーバ１１では、例えば、ＡＰモニタ７１、ストレージモニタ７３及びマイグレーションモニタ７２が、並行的に実行される。
【００５６】
ＡＰモニタ７１は、各ＡＰ性能測定エージェント５３Ａ、５３Ｂ、５３Ｃによって測定された各業務ＡＰのＩＯＰＳの測定値（以下、ＩＯＰＳ測定値）を、各ＡＰ性能測定エージェント５３Ａ、５３Ｂ、５３Ｃから受信することができる。ＡＰモニタ７１は、各ＡＰ性能測定エージェント５３Ａ、５３Ｂ、５３Ｃに対し、定期的又は不定期的に、ＩＯＰＳの測定を要求し、それにより、ＩＯＰＳを取得しても良い。ＡＰモニタ７１は、図６ＡのＡＰ管理テーブル４７の各ＩＯＰＳ測定値を、受信した各ＩＯＰＳ測定値に更新することができる。ＡＰ管理テーブル４７は、各業務ＡＰ５１Ａ、５１Ｂ、５１Ｃ、…に関する情報を管理するためのテーブルである。ＡＰ管理テーブル４７には、例えば、各業務ＡＰ５１Ａ、５１Ｂ、５１ＣのＩＤ、名称及びＩＯＰＳ測定値が記録される。このテーブル４７に記録されるＩＯＰＳ測定値は、最新のＩＯＰＳ測定値とすることができる。このテーブル４７は、例えば、マイグレーションマネージャサーバ１１の記憶資源（例えばハードディスク又はメモリ）に記憶される。
【００５７】
ストレージモニタ７３は、ストレージシステム２１や外部ストレージシステム１２１に存在する各ＶＯＬ毎のＩＯＰＳを、ＶＯＬモニタ７４から受信することができる。ストレージモニタ７３は、ＶＯＬモニタ７４に対し、定期的又は不定期的に、ＩＯＰＳの測定を要求しても良い。ストレージモニタ７３は、図６ＢのＶＯＬ管理テーブル１４７の各ＩＯＰＳ測定値を、受信した各ＩＯＰＳ測定値に更新することができる。ＶＯＬ管理テーブル１４７は、各論理ボリュームに関する情報を管理するためのテーブルである。このテーブル１４７は、例えば、マイグレーションマネージャサーバ１１の記憶資源に記憶される。ＶＯＬ管理テーブル１４７には、例えば、各論理ボリュームのＩＤ、名称及び属性と、各論理ボリュームが属するパリティグループのＩＤと、各論理ボリュームのＩＯＰＳ測定値とが記録される。このテーブル４７に記録されるＩＯＰＳ測定値は、最新のＩＯＰＳ測定値とすることができる。属性には、例えば、種類、信頼性、未使用か否か、エミュレーションタイプ及び記憶容量のうちの少なくとも一方が含まれる。種類としては、例えば、メディアドライブ３３、１３３がハードディスクドライブであれば、ＦＣ（Fibre Channel）、ＳＡＴＡ（Serial ATA）又はＳＡＳ（Serial Attached SCSI）が考えられる。
【００５８】
マイグレーションモニタ７２は、ＡＰモニタ７１が受信した各業務ＡＰ毎のＩＯＰＳや、ストレージモニタ７３が受信した各ＶＯＬ毎のＩＯＰＳに基づいて、どの論理ボリュームをソースボリュームとし、どの論理ボリュームをターゲットボリュームとするかを決定することができる。また、マイグレーションモニタ７２は、決定したソースボリューム内のデータを決定したターゲットボリュームにマイグレーションすることを、ストレージシステム２１及び／又は１２１に実行させることができる。
【００５９】
以上が、このデータマイグレーションシステムにおける論理的な構成の一例についての説明である。なお、まだ説明していなかったが、この実施形態では、図６Ｃに例示するような、どのＶＶＯＬがどのＥＶＯＬに対応付けられているかを表すボリュームマッピングテーブル２４７が、所定の記憶域（例えば、ストレージシステム２１及びマイグレーションマネージャサーバ１１の記憶資源）に記憶される。ボリュームマッピングテーブル２４７には、例えば、各ＶＶＯＬのＩＤと、各ＶＶＯＬに対応付けられた各ＥＶＯＬのＩＤと、各ＥＶＯＬの属性と、各ＥＶＯＬが属するパリティグループのＩＤとが記録される。各ＥＶＯＬのパリティグループＩＤは、例えば、図６ＢのＶＯＬ管理テーブル１４７に、各ＥＶＯＬに対応付けられる各ＶＶＯＬのパリティグループのＩＤとして反映される。具体的には、例えば、ボリュームマッピングテーブル２４７において、ＶＶＯＬ６４ＡがＥＶＯＬ１６３Ａに対応付けられており、ＥＶＯＬ１６３ＡのパリティグループＩＤがＰＧ２となっている場合、ＶＯＬ管理テーブル１４７において、ＶＶＯＬ６４ＡのパリティグループＩＤが、ＥＶＯＬ１６３ＡのパリティグループＩＤと同じＰＧ２となる。
【００６０】
図３は、マイグレーションモニタ７２が行う処理の流れの一例を説明する。
【００６１】
マイグレーションモニタ７２は、一定時間ごとに各パリティグループ６１Ａ、６１Ｂ、１６１、…のＩＯＰＳ使用率を取得する（ステップＳ１）。具体的には、例えば、マイグレーションモニタ７２は、各パリティグループに属する全ての論理ボリュームのＩＯＰＳ測定値を合計することにより、各パリティグループのＩＯＰＳ測定値を算出することができる。マイグレーションモニタ７２は、各パリティグループのＩＯＰＳ最大値を、図７Ａに例示するパリティ管理テーブル２４８から取得し、各パリティグループのＩＯＰＳ測定値をＩＯＰＳ最大値で割ることにより、各パリティグループの使用率を算出することができる。マイグレーションモニタ７２は、パリティ管理テーブル２４８の各パリティグループの使用率を、算出した使用率に更新することができる。
【００６２】
マイグレーションモニタ７２は、算出された使用率が所定の閾値より大きいパリティグループが存在するか否かを判別する（Ｓ２）。
【００６３】
Ｓ２の結果、そのようなパリティグループがあれば（Ｓ２でＹＥＳ）、マイグレーションモニタ７２は、そのパリティグループを使用している業務ＡＰを判別する（Ｓ３）。具体的には、例えば、マイグレーションモニタ７２は、図７Ｂに例示するＡＰボリューム対応テーブル２４９を参照することにより、どの論理ボリュームにどの業務ＡＰがアクセスするのかを判別し、ＶＯＬ管理テーブル１４７（図６Ｂ）を参照することにより、判別された論理ボリュームが属するパリティグループを判別し、それにより、各パリティグループを使用している業務ＡＰを判別することができる。つまり、パリティグループに属する論理ボリュームにアクセスする業務ＡＰが、そのパリティグループを使用する業務ＡＰである。
【００６４】
マイグレーションモニタ７２は、判別された各業務ＡＰのＩＯＰＳ測定値をＡＰ管理テーブル４７（図６Ａ参照）から取得し、各業務ＡＰが使用している論理ボリュームのＩＯＰＳ測定をＶＯＬ管理テーブル１４７から取得し、取得されたＩＯＰＳ同士の差（以下、性能差）を計算し、計算された性能差をソートする（Ｓ４）。なお、ここで、「性能差」という言葉を用いているが、これば、便宜上の表現であり、必ずしも、ＩＯＰＳ測定値同士の引き算で得られる値でなくてもよい。具体的には、以下の式、
或るＶＯＬと或るＶＯＬを使用している或る業務ＡＰとの性能差＝或るＶＯＬのＩＯＰＳ測定値×有効率−或る業務ＡＰのＩＯＰＳ測定値…（１）
有効率＝或るＶＯＬが属するパリティグループのＩＯＰＳ測定値／そのパリティグループを使用している全ての業務ＡＰのＩＯＰＳ測定値の総和…（２）
により算出することができる。マイグレーションモニタ７２は、例えば、算出された各性能差を、図７Ｃに例示する性能差管理テーブル２５１に記録し、その後に、性能差の大きい順或いは小さい順にソートすることができる。
【００６５】
これについて、図８Ａに記載の例を用いてより具体的に説明する。
【００６６】
業務ＡＰ５１ＡがＩＶＯＬ６３Ａにアクセスし、業務ＡＰ５１ＢがＶＯＬ６３Ｂにアクセスし、業務ＡＰ５１ＣがＶＯＬ６３Ｃにアクセスするようになっているとする。
【００６７】
業務ＡＰ５１ＡのＩＯＰＳ測定値が、５００００であるとする。業務ＡＰ５１ＡのＩＯＰＳ測定値が、４００００であるとする。業務ＡＰ５１ＣのＩＯＰＳ測定値が、３００００であるとする。
【００６８】
パリティグループ６１Ａに属するＩＶＯＬ６３Ａ〜６３ＣのＩＯＰＳ測定値が、それぞれ３００００であるとする。従って、パリティグループ６１ＡのＩＯＰＳ測定値が、それらの合計である９００００であるとする。
【００６９】
この場合、有効率は、（２）式により、９００００／１２００００（各業務ＡＰのＩＯＰＳ測定値の合計）、つまり、３／４となる。
【００７０】
故に、ＩＶＯＬ６３Ａ〜６３ＣのＩＯＰＳ測定値×有効率は、それぞれ、２２５００、２２５００、２２５００となる。これらの各々は、業務ＡＰからの見かけ上の処理効率を示す。例えば、業務ＡＰ５１から見たＩＶＯＬ６３ＡのＩＯＰＳ測定値は３００００であり、これを基準とすると、有効率から３／４しか処理されないので、業務ＡＰ５１Ａからの見かけ上のＩＶＯＬ６３ＡのＩＯＰＳは２２５００に減ってしまうことを意味する。なお、上記のような有効率を乗算する理由として、ＡＰとＶＯＬの性能差を広げるためというのを挙げることができる。これにより、例えば、或るソースＶＯＬから或るターゲットＶＯＬにデータをマイグレーションした後に、その或るターゲットＶＯＬとＡＰとの性能差が閾値を超えてしまって、その或るターゲットＶＯＬをソースＶＯＬとして別のターゲットＶＯＬにデータをマイグレーションしなければならないといった事態が生じてしまう可能性を低減することができる。
【００７１】
業務ＡＰ５１ＡとＩＶＯＬ６３Ａとの性能差、業務ＡＰ５１ＢとＩＶＯＬ６３Ｂとの性能差、及び、業務ＡＰ５１ＣとＩＶＯＬ６３Ｃとの性能差は、（１）式により、図７Ｃに示したように、それぞれ、−２７５００、−１７５００及び−７５００となる。つまり、例えば、業務ＡＰ５１Ａからの見かけ上のＩＯＰＳが２２５００なので、３００００のＩＯＰＳ測定値に対して見かけ上２７５００は処理されないことを意味する。なお、このような性能差が生じる原因として考えられるのは、例えば、ＡＰとＶＯＬとの間のデータの経路に存在するメモリ２６にデータがキャッシュされることや電気的な遅延などがある。
【００７２】
さて、再び図３を参照する。マイグレーションモニタ７２は、算出された性能差（例えばその絶対値）が所定の閾値（例えば−２００００）を超えるＶＯＬ（以下、ソースＶＯＬサブ候補（例えばＩＶＯＬ６３Ａ））のＩＤを、図８Ｂに例示するソースＶＯＬサブ候補リスト２５３に書く（Ｓ５）。
【００７３】
そして、マイグレーションモニタ７２は、後述のシミュレーションを使用して、ソースＶＯＬとターゲットＶＯＬを決定し、決定した各ＶＯＬのＩＤを、後述の移動ペアリストに書く（Ｓ６）。
【００７４】
マイグレーションモニタ７２は、移動ペアリストに書かれたペアを構成するソースＶＯＬ内のデータを、そのペアを構成するターゲットＶＯＬにマイグレーションする（Ｓ７）。なお、ターゲットＶＯＬが、ＶＶＯＬの場合には、そのＶＶＯＬに対応付けられたＥＶＯＬに、データがマイグレーションされる。
【００７５】
図４は、図３のステップＳ６で行われる処理の流れの具体例（換言すれば、シミュレーションの具体例）を示す。
【００７６】
マイグレーションモニタ７２は、ソースＶＯＬサブ候補リスト２５３からソースＶＯＬサブ候補のＩＤを取り出す（Ｓ１１）。そして、マイグレーションモニタ７２は、取り出したＩＤを用いてＶＯＬ管理テーブル１４７を参照することで、ソースＶＯＬサブ候補に属するパリティグループを判別し、且つ、そのパリティグループに属する全てのＶＯＬのＩＤを取得し、取得した全てのＩＤを、図８Ｃに例示するソースＶＯＬ候補リスト２５５に書く（Ｓ１２）。これにより、ソースＶＯＬサブ候補が属するパリティグループに属する全ての論理ボリュームが、ソースＶＯＬ候補となる。
【００７７】
マイグレーションモニタ７２は、ソースＶＯＬ候補リスト２５５から、ソースＶＯＬ候補のＩＤを取り出す（Ｓ１３）。そして、マイグレーションモニタ７２は、ソースＶＯＬ候補のターゲットＶＯＬ候補を探し出す（Ｓ１４）。マイグレーションモニタ７２は、ソースＶＯＬ候補とターゲットＶＯＬ候補のそれぞれのＩＤを、図９Ａに例示する移動ペア候補リスト２５７に書く（Ｓ１５）
以上のＳ１３〜Ｓ１５の処理は、ソースＶＯＬ候補リスト２５５にソースＶＯＬ候補のＩＤが全て取り出されるまで繰り返される。
【００７８】
マイグレーションモニタ７２は、複数の移動ペア候補の中から、最も好ましいマイグレーションが行われる及び／又はマイグレーションの結果が最も好ましいと推測される移動ペア候補を選択し、選択した移動ペア候補を構成するソースＶＯＬ候補及びターゲットＶＯＬ候補をそれぞれソースＶＯＬ及びソースＶＯＬとする（Ｓ１６）。
【００７９】
最も好ましいマイグレーションが行われるとは、例えば、マイグレーションに要する時間長が最も短くて済むことである。このようなマイグレーションが行われる移動ペア候補を推測するためには、ソースＶＯＬ候補の記憶容量（又は記憶されているデータの量）、及び／又は、ターゲットＶＯＬ候補が属するパリティグループのＩＯＰＳ測定値を考慮することができる。ターゲットＶＯＬ候補が属するパリティグループのＩＯＰＳ測定値を考慮するのは、ターゲットＶＯＬ候補のＩＯＰＳ測定値がゼロであるとしても、そのターゲットＶＯＬ候補を有するパリティグループの性能が高いと、そのパリティグループを構成する各メディアドライブでＩＯの処理中であり、故に、マイグレーションが完了するまで長い時間を要すると考えられるからである。
【００８０】
マイグレーションの結果が最も好ましいとは、例えば、マイグレーションすればソースＶＯＬサブ候補の性能が最も回復することである。換言すれば、マイグレーションすれば、ソースＶＯＬサブ候補とそのソースＶＯＬサブ候補を使用している業務ＡＰとの性能差が最も縮まることである。
【００８１】
マイグレーションモニタ７２は、次のソースＶＯＬサブ候補について、ソースＶＯＬ及びターゲットＶＯＬを探す場合、前のソースＶＯＬサブ候補について決定されたソースＶＯＬ内のデータをターゲットＶＯＬにマイグレーションすることが完了していなくても、それが完了したものとして、次のソースＶＯＬサブ候補について、ソースＶＯＬ及びターゲットＶＯＬを探すことができる。具体的には、例えば、前のソースＶＯＬサブ候補についてのマイグレーションが完了した後の効果、即ち、ターゲットＶＯＬのＩＯＰＳ測定値がソースＶＯＬのＩＯＰＳ測定値と同じとし、且つ、ソースＶＯＬのＩＯＰＳ測定値の値がゼロになることに基づいて、次のソースＶＯＬサブ候補について、ソースＶＯＬ及びターゲットＶＯＬを探すことができる。
【００８２】
マイグレーションモニタ７２は、ソースＶＯＬ及びターゲットＶＯＬのそれぞれのＩＤを、図９Ｂに例示する移動ペアリスト２５９に書く（Ｓ１７）。
【００８３】
図５は、図４のステップＳ１４で行われる処理の流れの具体例を示す。
【００８４】
マイグレーションモニタ７２は、未使用のＶＯＬのＩＤをＶＯＬ管理テーブル１４７から取り出し、取り出したＩＤを、図９Ｃに例示するターゲットＶＯＬサブ候補リスト２６１に書く（Ｓ２１）。
【００８５】
マイグレーションモニタ７２は、ターゲットＶＯＬサブ候補リスト２６１からＩＤを取得し、取得したＩＤのターゲットＶＯＬサブ候補の属性及びＩＯＰＳ測定値が、図４のステップＳ１３で取得されたソースＶＯＬ候補の要求を満たしているか否かを判別する（Ｓ２３）。そのソースＶＯＬ候補の要求を満たしているターゲットＶＯＬサブ候補としては、例えば、ターゲットＶＯＬサブ候補が属するパリティグループのＩＯＰＳ測定値がソースＶＯＬ候補のＩＯＰＳ測定値より大きいＶＯＬとすることができる。
【００８６】
マイグレーションモニタ７２は、ステップＳ２３で、ターゲットＶＯＬサブ候補がソースＶＯＬ候補の要求を満たしていなければ（Ｓ２３でＮｏ）、再度ステップＳ２２を行う（Ｓ２５）。一方、ターゲットＶＯＬサブ候補がソースＶＯＬ候補の要求を満たしていれば（Ｓ２３でＹｅｓ）、マイグレーションモニタ７２は、そのターゲットＶＯＬサブ候補をソースＶＯＬ候補のターゲットＶＯＬ候補とし、そのターゲットＶＯＬ候補のＩＤを返す（Ｓ２６でＹｅｓ、Ｓ２７）。
【００８７】
マイグレーションモニタ７２は、ターゲットＶＯＬサブ候補リスト２６１に書かれている全てのＶＯＬ ＩＤについて、Ｓ２３でＹｅｓとならない場合には、エラーを返すことができる（Ｓ２８）。
【００８８】
以上が、本実施形態についての説明である。なお、上述した図７Ａ〜図７Ｃや図８Ｂ〜図９Ｂに例示したテーブルやリストは、マイグレーションマネージャサーバ１１の記憶資源が記憶することができる。また、どのソースＶＯＬサブ候補についてのＩＤであるかということを、各リストに書くことができる。
【００８９】
上述した実施形態によれば、業務ＡＰとＶＯＬとの性能差が算出され、その性能差が所定の閾値を超える場合、そのＶＯＬが直ちにソースＶＯＬとされるのではなく、そのＶＯＬが属するパリティグループにおける複数のＶＯＬがソースＶＯＬ候補とされ、そのソースＶＯＬ候補の中から、ソースＶＯＬが選択される。また、ターゲットＶＯＬは、未使用のＶＯＬであれば何でも良いというわけではなく、そのＶＯＬのＩＯＰＳ測定値やそのＶＯＬが属するパリティグループのＩＯＰＳ測定値に基づいて選択される。これにより、業務ＡＰが要求する性能をなるべく満足させることができる。また、限られたストレージ資源が有効に利用されるので、ＴＣＯ（Total Cost of Ownership）の削減が図れる。また、好適なターゲットＶＯＬを自動的に選択することができる。
【００９０】
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこれの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、ＶＯＬ性能モニタ７４が無く、ストレージモニタ７３が、各論理ボリュームのＩＯＰＳ測定値を各ＶＯＬ性能測定エージェント７５、１７５から受信しても良い。
また、例えば、本発明に従うデータマイグレーション技術は、ストレージシステムに外部ストレージシステムが接続されたシステムに限らず、単一のストレージシステムにも適用することができるが、上述した実施形態のようなシステムに適用した場合により有用であると考えられる。上記の性能差のばらつきが、外部ストレージシステムとストレージシステムとを備えたシステムでの方が、単一のストレージシステムでよりも大きいと考えられるためである。
【図面の簡単な説明】
【００９１】
【図１】図１は、本発明の第一実施例に係るデータマイグレーションシステムの物理的な構成の概要を示す。
【図２】図２は、本実施形態に係るデータマイグレーションシステムに構築される論理的な構成の一例を示す。
【図３】図３は、マイグレーションモニタ７２が行う処理の流れの一例を示す。
【図４】図４は、図３のステップＳ６で行われる処理の流れの具体例を示す。
【図５】図５は、図４のステップＳ１４で行われる処理の流れの具体例を示す。
【図６】図６Ａは、ＡＰ管理テーブル４７の構成例を示す。図６Ｂは、ＶＯＬ管理テーブル１４７の構成例を示す。図６Ｃは、ボリュームマッピングテーブルの構成例を示す。
【図７】図７Ａは、パリティ管理テーブル２４８の構成例を示す。
【図８】図８Ａは、業務ＡＰとＶＯＬとの性能差を説明するための例を示す図。図８Ｂは、ソースＶＯＬサブ候補リストの構成例を示す。図８Ｃは、ソースＶＯＬ候補リストの構成例を示す。
【図９】図９Ａは、移動ペア候補リストの構成例を示す。図９Ｂは、移動ペアリストの構成例を示す。図９Ｃは、ターゲットＶＯＬサブ候補リストの構成例を示す。
【符号の説明】
【００９２】
１Ａ、１Ｂ、１Ｃ…ホスト  ３…ＣＰＵ  ５…記憶資源  １１…ボリュームマイグレーションサーバ  １３…ストレージマネージャサーバ  ２１…ストレージシステム  １２１…外部ストレージシステム  ２２、１２２…コントローラ  ２３、１２３…ＣＰＵ  ２６、１２６…メモリ  ３３、１３３…メディアドライブ  ５１Ａ、５１Ｂ、５１Ｃ…業務アプリケーションプログラム  ５３Ａ、５３Ｂ、５３Ｃ…ＡＰ性能測定エージェント  ６１Ａ、６１Ｂ、１６１…パリティグループ  ６３Ａ、６３Ｂ、６３Ｃ…内部ボリューム（実体のある論理ボリューム）  ６４Ａ、６４Ｂ、６４Ｃ…仮想ボリューム（実体のない論理ボリューム）  ７１…ＡＰモニタ  ７２…マイグレーションモニタ  ７３…ストレージモニタ  ７４…ＶＯＬモニタ  ７５、１７５…ＶＯＬ性能測定エージェント  １６３Ａ、１６３Ｂ、１６３Ｃ…外部ボリューム（実体のある論理ボリューム）
【図１】
0004749140.tif 000002
【図２】
0004749140.tif 000003
【図３】
0004749140.tif 000004
【図４】
0004749140.tif 000005
【図５】
0004749140.tif 000006
【図６】
0004749140.tif 000007
【図７】
0004749140.tif 000008
【図８】
0004749140.tif 000009
【図９】
0004749140.tif 000010