(57)【特許請求の範囲】
【請求項１】
計算機とストレージ装置とに接続され、
前記ストレージ装置により提供される複数の論理記憶領域を示す第１構成情報と、前記複数の論理記憶領域の中の一つの論理記憶領域内のデータが前記ストレージ装置により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記ストレージ装置の状態を定義する第１条件とを格納するメモリと、
前記メモリに接続されているＣＰＵと、
前記計算機及び前記ストレージ装置との通信を行うネットワークインターフェースと、
を有し、
前記ＣＰＵは、
前記複数の論理記憶領域の中の第１論理記憶領域に格納され前記計算機により実行される第１オブジェクトが前記計算機により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記計算機の状態を定義する第２条件を取得し、
前記第１オブジェクトと前記第１論理記憶領域とを関連付ける第２構成情報を取得し、
前記複数の論理記憶領域の状態を示す第１状態情報を前記ストレージ装置から取得し、
前記第１オブジェクトの状態を示す第２状態情報を前記計算機から取得し、
前記第１条件と前記第２条件と前記第１状態情報と前記第２状態情報とに基づいて、前記第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態であるか否かを判断し、
前記データ移動が実行される状態である場合、前記第１構成情報及び前記第２構成情報に基づいて、前記データ移動が実行される状態の原因を特定し、前記原因に基づいて前記データ移動を制御し、
前記複数の論理記憶領域は、互いに異なる性能を有する複数の記憶媒体を夫々用い、
前記第１オブジェクトは、仮想マシンであり、
前記ＣＰＵは、前記取得された第１状態情報に基づいて、前記取得された第１状態情報より後の第１状態情報を予測し、前記取得された第２状態情報に基づいて、前記取得された第２状態情報より後の第２状態情報を予測し、前記予測された第１状態情報が前記第１条件を満たすことと、前記予測された第２状態情報が前記第２条件を満たすこととの何れかが成立した場合、前記データ移動が実行される状態であると判断し、
前記原因が前記計算機と前記ストレージ装置の間のアクセス経路のうち前記計算機にある場合、前記ＣＰＵは、前記第１条件の設定により前記データ移動を禁止する、
管理計算機。
【請求項２】
計算機とストレージ装置とに接続され、
前記ストレージ装置により提供される複数の論理記憶領域を示す第１構成情報と、前記複数の論理記憶領域の中の一つの論理記憶領域内のデータが前記ストレージ装置により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記ストレージ装置の状態を定義する第１条件とを格納するメモリと、
前記メモリに接続されているＣＰＵと、
前記計算機及び前記ストレージ装置との通信を行うネットワークインターフェースと、
を有し、
前記ＣＰＵは、
前記複数の論理記憶領域の中の第１論理記憶領域に格納され前記計算機により実行される第１オブジェクトが前記計算機により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記計算機の状態を定義する第２条件を取得し、
前記第１オブジェクトと前記第１論理記憶領域とを関連付ける第２構成情報を取得し、
前記複数の論理記憶領域の状態を示す第１状態情報を前記ストレージ装置から取得し、
前記第１オブジェクトの状態を示す第２状態情報を前記計算機から取得し、
前記第１条件と前記第２条件と前記第１状態情報と前記第２状態情報とに基づいて、前記第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態であるか否かを判断し、
前記データ移動が実行される状態である場合、前記第１構成情報及び前記第２構成情報に基づいて、前記データ移動が実行される状態の原因を特定し、前記原因に基づいて前記データ移動を制御し、
前記複数の論理記憶領域は、互いに異なる性能を有する複数の記憶媒体を夫々用い、
前記第１オブジェクトは、仮想マシンであり、
前記ＣＰＵは、前記取得された第１状態情報に基づいて、前記取得された第１状態情報より後の第１状態情報を予測し、前記取得された第２状態情報に基づいて、前記取得された第２状態情報より後の第２状態情報を予測し、前記予測された第１状態情報が前記第１条件を満たすことと、前記予測された第２状態情報が前記第２条件を満たすこととの何れかが成立した場合、前記データ移動が実行される状態であると判断し、
前記原因が前記計算機と前記ストレージ装置の間のアクセス経路のうち前記計算機でない場合、前記ＣＰＵは、前記データ移動の移動先として、前記複数の論理記憶領域の中から、前記原因を回避するアクセス経路を用いる論理記憶領域を探索する、
管理計算機。
【請求項３】
前記探索の結果を前記計算機へ送る、
請求項２に記載の管理計算機。
【請求項４】
前記探索により前記移動先が検出されなかった場合、前記ＣＰＵは、前記第１条件の設定により前記データ移動を禁止する、
請求項２に記載の管理計算機。
【請求項５】
前記探索により前記移動先が検出され、且つ前記第１条件の設定により前記データ移動が禁止されている場合、前記第１条件の設定により前記データ移動の禁止を解除する、
請求項４に記載の管理計算機。
【請求項６】
前記原因が前記第１論理記憶領域に対応する記憶媒体の性能である場合、前記ＣＰＵは、前記複数の論理記憶領域の中の第２論理記憶領域に格納されている第２オブジェクトを前記複数の論理記憶領域の中の第３論理記憶領域へ移動させた場合の前記第２オブジェクトの第２状態情報を予測し、前記予測された前記第２オブジェクトの第２状態情報が前記第２条件を満たさない場合、前記第２論理記憶領域内のデータを前記第３論理記憶領域へ移動させ、前記第１論理記憶領域内のデータを前記第２論理記憶領域へ移動させ、
前記複数の記憶媒体のうち前記第１論理記憶領域に対応する第１記憶媒体の性能は、前記複数の記憶媒体のうち前記第２論理記憶領域に対応する第２記憶媒体の性能より低い、
請求項１又は２に記載の管理計算機。
【請求項７】
計算機とストレージ装置とに接続され、
前記ストレージ装置により提供される複数の論理記憶領域を示す第１構成情報と、前記複数の論理記憶領域の中の一つの論理記憶領域内のデータが前記ストレージ装置により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記ストレージ装置の状態を定義する第１条件とを格納するメモリと、
前記メモリに接続されているＣＰＵと、
前記計算機及び前記ストレージ装置との通信を行うネットワークインターフェースと、
を有し、
前記ＣＰＵは、
前記複数の論理記憶領域の中の第１論理記憶領域に格納され前記計算機により実行される第１オブジェクトが前記計算機により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記計算機の状態を定義する第２条件を取得し、
前記第１オブジェクトと前記第１論理記憶領域とを関連付ける第２構成情報を取得し、
前記複数の論理記憶領域の状態を示す第１状態情報を前記ストレージ装置から取得し、
前記第１オブジェクトの状態を示す第２状態情報を前記計算機から取得し、
前記第１条件と前記第２条件と前記第１状態情報と前記第２状態情報とに基づいて、前記第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態であるか否かを判断し、
前記データ移動が実行される状態である場合、前記第１構成情報及び前記第２構成情報に基づいて、前記データ移動が実行される状態の原因を特定し、前記原因に基づいて前記データ移動を制御し、
前記複数の論理記憶領域は、互いに異なる性能を有する複数の記憶媒体を夫々用い、
前記第１オブジェクトは、仮想マシンであり、
前記ＣＰＵは、前記取得された第１状態情報に基づいて、前記取得された第１状態情報より後の第１状態情報を予測し、前記取得された第２状態情報に基づいて、前記取得された第２状態情報より後の第２状態情報を予測し、前記予測された第１状態情報が前記第１条件を満たすことと、前記予測された第２状態情報が前記第２条件を満たすこととの何れかが成立した場合、前記データ移動が実行される状態であると判断し、
前記ＣＰＵは、前記第２条件を連続して取得することにより、前記第２条件の変更を監視し、前記第２条件の変更を検知した場合、前記検知された変更に基づいて前記第１条件を変更する、
管理計算機。
【請求項８】
前記第１条件は、論理記憶領域へのＩＯ要求の数により定義されている、
請求項１〜７の何れか一項に記載の管理計算機。
【請求項９】
前記第２条件は、オブジェクトのレスポンスタイムにより定義されている、
請求項１〜８の何れか一項に記載の管理計算機。
【請求項１０】
前記第２条件は、論理記憶領域の容量利用率により定義されている、
請求項１〜８の何れか一項に記載の管理計算機。
【請求項１１】
前記ＣＰＵは、前記第１論理記憶領域の容量利用率を測定し、前記測定された容量利用率が前記第２条件を満たす場合、前記第１論理記憶領域の容量を拡張する、
請求項１０に記載の管理計算機。
【請求項１２】
計算機とストレージ装置の管理方法であって、
前記ストレージ装置により提供される複数の論理記憶領域を示す第１構成情報と、前記複数の論理記憶領域の中の一つの論理記憶領域内のデータが前記ストレージ装置により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記ストレージ装置の状態を定義する第１条件とを記憶し、
前記複数の論理記憶領域の中の第１論理記憶領域に格納され前記計算機により実行される第１オブジェクトが前記計算機により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記計算機の状態を定義する第２条件を取得し、
前記第１オブジェクトと前記第１論理記憶領域とを関連付ける第２構成情報を取得し、
前記複数の論理記憶領域の状態を示す第１状態情報を前記ストレージ装置から取得し、
前記第１オブジェクトの状態を示す第２状態情報を前記計算機から取得し、
前記第１条件と前記第２条件と前記第１状態情報と前記第２状態情報とに基づいて、前記第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態であるか否かを判断し、
前記データ移動が実行される状態である場合、前記第１構成情報及び前記第２構成情報に基づいて、前記データ移動が実行される状態の原因を特定し、前記原因に基づいて前記データ移動を制御し、
前記取得された第１状態情報に基づいて、前記取得された第１状態情報より後の第１状態情報を予測し、前記取得された第２状態情報に基づいて、前記取得された第２状態情報より後の第２状態情報を予測し、前記予測された第１状態情報が前記第１条件を満たすことと、前記予測された第２状態情報が前記第２条件を満たすこととの何れかが成立した場合、前記データ移動が実行される状態であると判断し、
前記原因が前記計算機と前記ストレージ装置の間のアクセス経路のうち前記計算機にある場合、前記第１条件の設定により前記データ移動を禁止する、
ことを含み、
前記複数の論理記憶領域は、互いに異なる性能を有する複数の記憶媒体を夫々用い、
前記第１オブジェクトは、仮想マシンである、
管理方法。
【請求項１３】
計算機とストレージ装置の管理方法であって、
前記ストレージ装置により提供される複数の論理記憶領域を示す第１構成情報と、前記複数の論理記憶領域の中の一つの論理記憶領域内のデータが前記ストレージ装置により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記ストレージ装置の状態を定義する第１条件とを記憶し、
前記複数の論理記憶領域の中の第１論理記憶領域に格納され前記計算機により実行される第１オブジェクトが前記計算機により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記計算機の状態を定義する第２条件を取得し、
前記第１オブジェクトと前記第１論理記憶領域とを関連付ける第２構成情報を取得し、
前記複数の論理記憶領域の状態を示す第１状態情報を前記ストレージ装置から取得し、
前記第１オブジェクトの状態を示す第２状態情報を前記計算機から取得し、
前記第１条件と前記第２条件と前記第１状態情報と前記第２状態情報とに基づいて、前記第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態であるか否かを判断し、
前記データ移動が実行される状態である場合、前記第１構成情報及び前記第２構成情報に基づいて、前記データ移動が実行される状態の原因を特定し、前記原因に基づいて前記データ移動を制御し、
前記取得された第１状態情報に基づいて、前記取得された第１状態情報より後の第１状態情報を予測し、前記取得された第２状態情報に基づいて、前記取得された第２状態情報より後の第２状態情報を予測し、前記予測された第１状態情報が前記第１条件を満たすことと、前記予測された第２状態情報が前記第２条件を満たすこととの何れかが成立した場合、前記データ移動が実行される状態であると判断し、
前記原因が前記計算機と前記ストレージ装置の間のアクセス経路のうち前記計算機でない場合、前記データ移動の移動先として、前記複数の論理記憶領域の中から、前記原因を回避するアクセス経路を用いる論理記憶領域を探索する、
ことを含み、
前記複数の論理記憶領域は、互いに異なる性能を有する複数の記憶媒体を夫々用い、
前記第１オブジェクトは、仮想マシンである、
管理方法。
【請求項１４】
計算機とストレージ装置の管理方法であって、
前記ストレージ装置により提供される複数の論理記憶領域を示す第１構成情報と、前記複数の論理記憶領域の中の一つの論理記憶領域内のデータが前記ストレージ装置により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記ストレージ装置の状態を定義する第１条件とを記憶し、
前記複数の論理記憶領域の中の第１論理記憶領域に格納され前記計算機により実行される第１オブジェクトが前記計算機により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記計算機の状態を定義する第２条件を取得し、
前記第１オブジェクトと前記第１論理記憶領域とを関連付ける第２構成情報を取得し、
前記複数の論理記憶領域の状態を示す第１状態情報を前記ストレージ装置から取得し、
前記第１オブジェクトの状態を示す第２状態情報を前記計算機から取得し、
前記第１条件と前記第２条件と前記第１状態情報と前記第２状態情報とに基づいて、前記第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態であるか否かを判断し、
前記データ移動が実行される状態である場合、前記第１構成情報及び前記第２構成情報に基づいて、前記データ移動が実行される状態の原因を特定し、前記原因に基づいて前記データ移動を制御し、
前記取得された第１状態情報に基づいて、前記取得された第１状態情報より後の第１状態情報を予測し、前記取得された第２状態情報に基づいて、前記取得された第２状態情報より後の第２状態情報を予測し、前記予測された第１状態情報が前記第１条件を満たすことと、前記予測された第２状態情報が前記第２条件を満たすこととの何れかが成立した場合、前記データ移動が実行される状態であると判断し、
前記第２条件を連続して取得することにより、前記第２条件の変更を監視し、前記第２条件の変更を検知した場合、前記検知された変更に基づいて前記第１条件を変更する、
ことを含み、
前記複数の論理記憶領域は、互いに異なる性能を有する複数の記憶媒体を夫々用い、
前記第１オブジェクトは、仮想マシンである、
管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置を含む計算機システムに関し、特に仮想サーバ環境におけるデータの移動を制御する技術に関する。
【背景技術】
【０００２】
計算機システムにおけるストレージリソースを有効活用する技術として、階層ストレージ管理（ＨＳＭ：Hierarchical Storage Management）が知られている。これに関し、ストレージシステムがデータへのアクセス状況に基づいて、データを適切なストレージ階層へ配置する技術（例えば、特許文献１）が知られている。【０００３】
一方、ホスト計算機の性能向上により、例えば物理的なホスト計算機の上で複数の仮想的なホスト計算機（Virtual Machine：以下ＶＭと呼ぶ）を動作させることが可能となっている。これに関し、ＶＭの性能を示す情報やリソースの利用情報に従って、或る記憶領域に格納されているＶＭを別の記憶領域へ移動させる技術（Ｓｔｏｒａｇｅ  ＤＲＳ：Distributed Resource Scheduler）が知られている（例えば、非特許文献１）。ここで、ＶＭは記憶領域に格納されるデータの一種であり、ＶＭ移動は記憶領域間のデータ移動の一種である。【０００４】
また、ネットワークのトポロジー情報と性能劣化アラートのようなイベント情報とに基づいて性能劣化の原因を特定する方法や、トポロジー情報と原因特定のルールとに基づいて原因箇所を絞り込む方法が知られている（例えば、特許文献２、３）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−６６２５９号公報
【特許文献２】米国特許第７０４３６６１号明細書
【特許文献３】特開２０１０−８６１１５号公報
【非特許文献】
【０００６】
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ｖｍｗａｒｅ．ｃｏｍ／ｆｉｌｅｓ／ｐｄｆ／ｔｅｃｈｐａｐｅｒ／Ｗｈａｔｓ−Ｎｅｗ−ＶＭｗａｒｅ−ｖＳｐｈｅｒｅ−５０−Ｓｔｏｒａｇｅ−Ｔｅｃｈｎｉｃａｌ−Ｗｈｉｔｅｐａｐｅｒ．ｐｄｆ
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述のＶＭ移動のように、ホスト計算機がデータ移動の制御を行う場合に、計算機にアクセスされるストレージ装置が独自にデータ移動の制御を行って性能を向上させることは困難である。例えば、計算機及びストレージ装置の何れかにより適切でないデータ移動が行われる可能性がある。また、例えば、データ移動により性能を改善できない可能性がある。
【課題を解決するための手段】
【０００８】
本発明の一態様である管理計算機は、計算機とストレージ装置とに接続され、ストレージ装置により提供される複数の論理記憶領域を示す第１構成情報と、複数の論理記憶領域の中の一つの論理記憶領域内のデータがストレージ装置により複数の論理記憶領域の中の他の論理記憶領域へ移動する契機としてストレージ装置の状態を定義する第１条件とを格納するメモリと、メモリに接続されているＣＰＵと、計算機及びストレージ装置との通信を行うネットワークインターフェースとを有する。ＣＰＵは、複数の論理記憶領域の中の第１論理記憶領域に格納され計算機により実行される第１オブジェクトが計算機により複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として計算機の状態を定義する第２条件を取得し、第１オブジェクトと第１論理記憶領域とを関連付ける第２構成情報を取得し、複数の論理記憶領域の状態を示す第１状態情報をストレージ装置から取得し、第１オブジェクトの状態を示す第２状態情報を計算機から取得し、第１条件と第２条件と第１状態情報と第２状態情報とに基づいて、第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態であるか否かを判断し、データ移動が実行される状態である場合、第１構成情報及び第２構成情報に基づいて、状態の原因を特定し、原因に基づいてデータ移動を制御し、複数の論理記憶領域は、互いに異なる性能を有する複数の記憶媒体を夫々用いる。
【発明の効果】
【０００９】
本発明によれば、計算機によるデータ移動の制御とストレージ装置によるデータ移動の制御とを協調させることにより、計算機の性能を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の第１の実施形態にかかる計算機システムの全体構成を示すブロック図である。
【図２】図２は、第１の実施形態にかかるホスト計算機の論理構成を示すブロック図である。
【図３】図３は、第１の実施形態にかかるディスクデバイスの構成を示すブロック図である。
【図４】図４は、第１の実施形態にかかるホスト管理計算機のＭｅｍｏｒｙの内部構成を示すブロック図である。
【図５】図５は、第１の実施形態にかかるストレージ装置のＭｅｍｏｒｙの内部構成を示すブロック図である。
【図６】図６は、第１の実施形態にかかる接続装置のＭｅｍｏｒｙの内部構成を示すブロック図である。
【図７】図７は、第１の実施形態にかかる管理計算機のＭｅｍｏｒｙの内部構成を示すブロック図である。
【図８】図８は、第１の実施形態にかかるＶＭ移動ルールテーブルの一例を示す。
【図９】図９は、第１の実施形態にかかるＶＭ性能情報テーブルの一例を示す。
【図１０】図１０は、第１の実施形態にかかるストレージポートカタログ性能情報テーブルの一例を示す。
【図１１】図１１は、第１の実施形態にかかるストレージポート性能測定値テーブルの一例を示す。
【図１２】図１２は、第１の実施形態にかかるストレージメディアカタログ性能テーブルの一例を示す。
【図１３】図１３は、第１の実施形態にかかる接続装置カタログ性能テーブルの一例を示す。
【図１４】図１４は、第１の実施形態にかかる接続装置性能測定値テーブルの一例を示す。
【図１５】図１５は、第１の実施形態にかかる第１ＶＭデータ構成情報の一例を示す。
【図１６】図１６は、第１の実施形態にかかる第２ＶＭデータ構成情報の一例の続きを示す。
【図１７】図１７は、第１の実施形態にかかるページ移動ルールテーブルの一例を示す。
【図１８】図１８は、第１の実施形態にかかるボリューム性能情報テーブルの一例を示す。
【図１９】図１９は、第１の実施形態にかかるボリューム物理論理記憶領域対応テーブルの一例を示す。
【図２０】図２０は、第１の実施形態にかかるボリューム物理論理記憶領域対応テーブルに示されている状態を示す模式図である。
【図２１】図２１は、第１の実施形態にかかるボリュームリソース情報テーブルの一例を示す図表である。
【図２２】図２２は、第１の実施形態にかかる外部ストレージ構成情報テーブルの一例を示す図表である。
【図２３】図２３は、第１の実施形態にかかるトレンド情報管理プログラムの処理を示すフローチャートである。
【図２４】図２４は、第１の実施形態にかかるデータ移動全体制御プログラムの処理Ａを示すフローチャートである。
【図２５】図２５は、第１の実施形態にかかるデータ移動全体制御プログラムの処理Ｂを示すフローチャートである。
【図２６】図２６は、本発明の第２の実施形態にかかるＶＭ情報取得プログラムの処理を示すフローチャートである。
【図２７】図２７は、本発明の第３の実施形態にかかるデータ移動全体制御プログラムの処理を示すフローチャートである。
【図２８】図２８は、本発明の第４の実施形態にかかるＶＭ移動ルールテーブルの一例を示す。
【図２９】図２９は、第４の実施形態にかかるＶＭ性能情報テーブルの一例を示す。
【図３０】図３０は、第４の実施形態にかかる第２ＶＭデータ構成情報の一例を示す。
【図３１】図３１は、第４の実施形態にかかるデータ移動全体制御プログラムの処理を示すフローチャートである。
【図３２】図３２は、第５の実施形態におけるＶＭ移動前の状態の具体例を示す。
【図３３】図３３は、第５の実施形態におけるデータ移動全体制御プログラム２６７０の動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
なお、以後の説明では「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ」、「ａａａキュー」等の表現にて本発明の情報を説明するが、これら情報は必ずしもテーブル、リスト、ＤＢ、キュー、等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ」、「ａａａキュー」等について「ａａａ情報」と呼ぶことがある。
【００１２】
さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いるが、これらについてはお互いに置換が可能である。
【００１３】
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御デバイス）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。
【００１４】
また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
【００１５】
なお、管理計算機は入出力デバイスを有する。入出力デバイスの例としてはディスプレイとキーボードとポインタデバイスが考えられるが、これ以外のデバイスであってもよい。また、入出力デバイスの代替としてシリアルインターフェースやイーサーネットインターフェースを入出力デバイスとし、当該インターフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力デバイスでの入力及び表示を代替してもよい。
【００１６】
以後、情報処理システムを管理し、本願発明の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理計算機が表示用情報を表示する場合は管理計算機が管理システムである、また、管理計算機と表示用計算機の組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合は当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含め）が管理システムである。
【００１７】
以下、階層ストレージ管理を行うストレージ装置とＶＭ移動の制御を行うホスト計算機とを有する計算機システムについて説明する。ストレージ装置は、ＶＭによるアクセスの性能を向上させるために、ストレージ装置が管理するデータ移動ルールに基づいてデータ移動を行う。一方、ホスト計算機は、ＶＭによるアクセスの性能の向上のために、ホスト計算機が管理するデータ移動ルールに基づいてＶＭのデータ移動を行う。即ち、この計算機システムにおいては、ストレージ装置による論理記憶領域間のデータ移動と、ホスト計算機による記憶領域間のデータ移動とが発生し得る。以下の説明では、これらを明示的に区別するために、ストレージ装置によるデータ移動の単位をページと呼ぶ。ページは一定の記憶容量を有する。また、ストレージ装置によるデータ移動をページ移動と呼び、ホスト計算機によるＶＭのデータ移動をＶＭ移動と呼ぶ。また、ページ移動の条件を定義するデータ移動ルールをページ移動ルールと呼び、ＶＭ移動の条件を定義するデータ移動ルールをＶＭ移動ルールと呼ぶ。即ち、ストレージ装置は、或るページがページ移動ルールに定義されている条件を満たす場合に、そのページ内のデータを別のページへ移動させる。また、ホスト計算機は、実行中の或るＶＭの状態がＶＭ移動ルールに定義されている条件を満たす場合に、そのＶＭのデータを別のページへ移動させる。
【００１８】
このような計算機システムにおいて課題が生じる２種類のケースを以下に示す。
【００１９】
第１のケースは、ホスト計算機が行うＶＭ移動によってアクセス性能を改善できないケースである。このケースにおいて、ホスト計算機は、ＶＭ移動の移動先が適切でないために、本来不要なＶＭ移動を実行してしまう。例えば、ＶＭ移動の原因が、ストレージポートの高負荷によるレスポンス速度の低下である場合、第１のケースが発生する。この場合、ホスト計算機は、ＶＭ移動ルールだけに従ってＶＭを移動するため、ＶＭの性能を改善するための移動先の記憶領域を特定することができない。これにより、ＶＭが移動元の記憶領域と同一のストレージポートを利用する未使用の記憶領域へ移動することがあり、その結果、ＶＭの性能は改善されない。
【００２０】
第２のケースは、ストレージ装置によるページ移動が無駄なＶＭ移動を引き起こすケースである。このケースにおいて、ストレージ装置のページ移動ルールは、ホスト計算機側のＶＭ移動ルールを考慮していないために、ストレージ装置は、本来不要なＶＭ移動を引き起こすようなデータ移動を実行してしまう。例えば、要求レスポンスタイムが短いデータに対するホスト計算機からのＩ／Ｏ（要求）の数が減少してきた場合、第２のケースが発生する。この場合、ストレージ装置は、ホスト計算機からのＩ／Ｏ数が減少してきたために、ストレージ装置のページ移動ルールに従ってＩ／Ｏ数が少ないデータを低階層（低速）のストレージ階層へ移動してしまう。これにより、ホスト計算機からのレスポンスタイムが低下し、このレスポンスタイムがホスト計算機側のＶＭ移動ルールに抵触し、ホスト計算機は本来不要なＶＭ移動を実行する。
【００２１】
また、ページ移動やＶＭ移動において、実データの移動中、ホスト計算機及びストレージ装置に負荷がかかるため、ホスト計算機へのアクセス性能は低下する。そのため、過度のデータ移動は好ましくない。
【００２２】
このように、ストレージ装置とホスト計算機のような複数のデータ移動主体が互いを考慮せずにデータを移動しようとすることにより課題が発生するケースの改善が、本技術の目的の１つであり、適用対象は前述の２種類のケースに限定されない。
【００２３】
（第１の実施形態）
以下、第１の実施形態について図面を用いて説明する。
【００２４】
図１は、第１の実施形態における計算機システムの全体構成を示す。本実施形態の計算機システムは、ホスト計算機１０００、接続装置５００、ストレージ装置３０００を有する。ホスト計算機１０００と接続装置５００とストレージ装置３０００とは、データネットワーク１５００を介して接続される。更にこの計算機システムは、ホスト管理計算機２０００、管理計算機２５００を有する。ホスト計算機１０００とホスト管理計算機２０００と管理計算機２５００とストレージ装置３０００とは、管理ネットワーク１５５０を介して接続される。
【００２５】
データネットワーク１５００は、例えばＳＡＮ（Storage Area Network）であるが、ＩＰ（Internet
Protocol）ネットワークであっても良いし、これら以外のデータ通信用ネットワークであっても良い。また、管理ネットワーク１５５０は、例えばＩＰネットワークであるが、ＳＡＮであっても良いし、これら以外のデータ通信用ネットワークであっても良い。また、データネットワーク１５００と管理ネットワーク１５５０が同一ネットワークであっても良い。また、ホスト計算機１０００、ホスト管理計算機２０００、管理計算機２５００が同一計算機であっても良い。
【００２６】
ホスト計算機１０００は、ＣＰＵ（Central Processing Unit）１０１０等の制御デバイス、Ｍｅｍｏｒｙ１１００等の記憶デバイス、Ｍ−Ｉ／Ｆ（Management-Interface）１２１０、Ｃ−Ｉ／Ｆ（Communication-Interface）１２００を有する。なお、ホスト計算機１０００は、入出力デバイス（キーボード、表示デバイス等）を有しても良い。ＣＰＵ１０１０はＭｅｍｏｒｙ１１００に格納されたプログラムを実行する。以降、ＣＰＵと呼称するものはいずれも、それに接続されたＭｅｍｏｒｙに格納されているプログラムを実行するものである。Ｍ−Ｉ／Ｆ１２１０は、管理ネットワーク１５５０とのインタフェースであって、ストレージ装置３０００、ホスト管理計算機２０００、管理計算機２５００の夫々との間でデータや制御命令の送受信を行う。Ｃ−Ｉ／Ｆ１２００は、データネットワーク１５００とのインタフェースであって、ストレージ装置３０００や接続装置５００の夫々との間でデータや制御命令の送受信を行う。
【００２７】
ホスト管理計算機２０００は、ＣＰＵ２０１０、Ｍｅｍｏｒｙ２１００、Ｉ／Ｆ２２００を有する。なお、ホスト管理計算機２０００は、入出力デバイス（キーボード、表示デバイス等）を有しても良い。Ｉ／Ｆ２２００は、管理ネットワーク１５５０とのインタフェースであって、ストレージ装置３０００、ホスト計算機１０００、管理計算機２５００の夫々との間でデータや制御命令の送受信を行う。Ｍｅｍｏｒｙ２１００に格納されているプログラムの詳細は後述する。
【００２８】
管理計算機２５００は、ＣＰＵ２５１０、Ｍｅｍｏｒｙ２６００、Ｉ／Ｆ２５００を有する。なお、管理計算機２５００は、入出力デバイス（キーボード、表示デバイス等）を有しても良い。Ｉ／Ｆ２５０５は、管理ネットワーク１５５０とのインタフェースであって、ストレージ装置３０００、ホスト計算機１０００、ホスト管理計算機２０００の夫々との間でデータや制御命令の送受信を行う。Ｍｅｍｏｒｙ２６００に格納されているプログラムの詳細は後述する。
【００２９】
接続装置５００は、ＣＰＵ５１０、Ｍｅｍｏｒｙ６００、Ｉ／Ｆ７００を有する。なお、接続装置５００は、入出力デバイス（キーボード、表示デバイス等）を有しても良い。接続装置５００は例えば、ＦＣ（Fibre Channel）スイッチ等のスイッチである。Ｉ／Ｆ７００は、データネットワーク１５００とのインタフェースであって、ストレージ装置３０００及びホスト計算機１０００の夫々との間でデータや制御命令の送受信を行う。Ｍｅｍｏｒｙ６００に格納されているプログラムの詳細は後述する。
【００３０】
ストレージ装置３０００は、ディスクコントローラ３１００とディスクデバイス３５００とを有する。ディスクコントローラ３１００は、ＣＰＵ３１１０、Ｍｅｍｏｒｙ３３００、Ｍ−Ｉ／Ｆ３００１、ストレージポートであるＨ−Ｉ／Ｆ（Host-Interface）３１０１、Ｄ−Ｉ／Ｆ（Disk-Interface）３０５０を有する。Ｍ−Ｉ／Ｆ３００１は、管理ネットワーク１５５０とのインタフェースであって、ホスト計算機１０００、ホスト管理計算機２０００、管理計算機２５００の夫々との間でデータや制御命令の送受信を行う。Ｈ−Ｉ／Ｆ３１０１は、データネットワーク１５００とのインタフェースであって、ホスト計算機１０００や接続装置５００の夫々との間で、データや制御命令の送受信を行う。Ｄ−Ｉ／Ｆ３０５０は、ディスクデバイス３５００との間でデータや制御命令の送受信を行う。ディスクデバイス３５００は、複数の物理記憶媒体３５０１を有する。
【００３１】
なお、図１の例は、ホスト計算機１０００を２台、ストレージ装置３０００を２台、ホスト管理計算機２０００を１台、管理計算機２５００を１台としたが、本発明はこの構成に限定されない。また、本実施形態では、ホスト管理計算機２０００がホスト計算機１０００を管理する構成としているが、本発明はこの構成に限定されない。ホスト管理計算機２０００の処理をホスト計算機１０００が実行してもよく、以降の説明においてホスト管理計算機２０００をホスト計算機１０００と読み替えてもよい。
【００３２】
図２は、ホスト計算機１０００の論理構成を示す。ホスト計算機１０００は、ＶＭ１００１を論理的に生成してＶＭ１００１を実行できるハイパーバイザ（Hypervisor：以下ＨＶとも呼ぶ）１００２を有する。データＨＶ１００２は一度に複数のＶＭ１００１を制御することができる。複数のＶＭ１００１の夫々は、あたかもスタンドアローンの物理計算機のようにアプリケーションを実行できる。
【００３３】
図３は、ストレージ装置３０００を用いて作成される論理ボリューム３５１０の構成を示す模式図である。ストレージ装置３０００は、ディスクデバイス３５００内の複数の物理記憶媒体３５０１を用いて論理ボリューム３５１０を作成する。論理ボリューム３５１０として例えば、通常論理ボリューム３５１０Ａ、外部接続ボリューム３５１０Ｂ、Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｃ、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｄを用いることができる。ストレージ装置３０００に、複数の論理ボリューム３５１０が作成されても良い。複数の論理ボリューム３５１０は、同一の種類であっても良いし、異なる種類であっても良い。
【００３４】
プール１１２０は、一つ以上の物理リソース３５２１又は一つ以上の仮想リソース３５２２を有する。本実施形態では、複数の物理記憶媒体３５０１を用いて構築されるＲＡＩＤ（Redundant Array of Independent Disks）上の論理デバイスを、物理リソース３５２１と定義する。また、一つのストレージ装置３０００において、そのストレージ装置３０００に接続された別のストレージ装置３０００である外部ストレージ装置（外部接続ストレージシステム）内に作成される論理デバイスを、仮想リソース３５２２と定義する。プール１１２０は、或る管理上の観点で、物理リソース３５２１又は仮想リソース３５２２をまとめて管理するための論理デバイスのグループである。管理上の観点には、例えばＲＡＩＤタイプがある。ＲＡＩＤタイプの一例としては、大容量を提供するために、複数の記憶デバイスを１つにまとめ巨大な記憶領域として提供するＲＡＩＤ０や、記憶デバイスの冗長度を高めるために、記憶デバイス間でミラーリングを行うＲＡＩＤ１がある。なお、説明の都合上、図３では、プール１１２０の中に物理リソース３５２１と仮想リソース３５２２が混在しているが、物理リソース３５２１のみを含むプール１１２０や、仮想リソース３５２２のみを含むプール１１２０であってもよい。複数の物理記憶媒体３５０１は例えば、ＳＡＴＡ（Serial Advanced Technology Attachment）やＳＡＳ（serial
attached SCSI：small computer system interface）等のＨＤＤや、ＳＳＤ（Solid State Drive）等である。複数の物理リソース３５２１及び仮想リソース３５２２に、互いに性能の異なる複数種類のメディアが夫々割り当てられていても良い。また、ストレージ装置３０００は、複数のプール１１２０を有していても良い。
【００３５】
通常論理ボリューム３５１０Ａは、物理記憶媒体３５０１を用いる物理リソース３５２１を用いて作成される論理的なボリュームである。
【００３６】
外部接続ボリューム３５１０Ｂは、記憶領域の実体が外部ストレージ装置に存在し、仮想リソース３５２２を用いて作成される論理的なボリュームである。
【００３７】
Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｃは、動的に容量を拡張可能である論理的なボリュームである。Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇは、物理的な記憶領域の一部領域（以下、セグメントと呼ぶ）を論理ボリュームへ割り当て、動的に記憶領域を拡張することを可能にし、記憶領域を有効活用する技術である。物理リソース３５２１又は仮想リソース３５２２は、Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｃへ割り当てるためのセグメントを提供する。ホスト計算機１０００からのＩ／Ｏを受けた時点で、セグメントがプール１１２０に含まれる物理リソース３５２１又は仮想リソース３５２２からＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｃへ割り当てられることにより、動的にＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｃの容量を拡張することができる。
【００３８】
Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｄは、Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｃと同様、動的に容量を拡張可能である論理的なボリュームである。更に、或るセグメントがＤｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｄへ割り当てられた後、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｄへのアクセス状況に応じて、そのセグメントは、応答性や信頼性の異なる別のセグメントへ動的に変更されることが可能である。なお、説明の都合上、図３において、Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０ＣとＤｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｄは、物理リソース３５２１と仮想リソース３５２２の両方からセグメントを割り当てられているが、いずれか一方のみからセグメントを割り当てられてもよい。
【００３９】
図４は、ホスト管理計算機２０００のＭｅｍｏｒｙ２１００に格納される情報の構成を示すブロック図である。Ｍｅｍｏｒｙ２１００には、ＶＭ構成管理プログラム２２１０、ＶＭ性能管理プログラム２２２０、及びＶＭ移動制御プログラム２２３０が記憶される。
【００４０】
ＶＭ構成管理プログラム２２１０は、ホスト計算機１０００のＶＭ１００１の構成情報を管理するプログラムである。また、ＶＭ構成管理プログラム２２１０は、後述する管理計算機２５００のＶＭ情報取得プログラム２６１０と通信して、各種情報を送受信する。
【００４１】
ＶＭ性能管理プログラム２２２０は、ホスト計算機１０００のＶＭ１００１の性能を示す性能情報を管理するプログラムである。ＶＭ１００１の性能情報は例えば、定期的に測定されるＲｅｓｐｏｎｓｅ  Ｔｉｍｅである。また、ＶＭ性能管理プログラム２２２０は、後述する管理計算機２５００のＶＭ情報取得プログラム２６１０と通信して、各種情報を送受信する。
【００４２】
ＶＭ移動制御プログラム２２３０は、ホスト計算機１０００のＶＭ１００１が移動するルールであるＶＭ移動ルールを管理し、ＶＭ移動ルールに従ってＶＭを移動するプログラムである。また、ＶＭ移動制御プログラム２２３０は、ホスト計算機１０００及び後述する管理計算機２５００のＶＭ情報取得プログラム２６１０と通信して、各種情報を送受信する。なお、ＶＭ移動制御プログラム２２３０は、ＶＭ移動ルールに従ってＶＭを移動すべきと判断した場合に、表示デバイスにその旨を出力し、入力デバイスよりユーザ操作を受け付けたことを契機として、実際にＶＭ移動を実行することとしても良い。
【００４３】
図５は、ストレージ装置３０００のＭｅｍｏｒｙ３３００に格納される情報の構成を示すブロック図である。Ｍｅｍｏｒｙ３３００には、ストレージ構成管理プログラム３３１０、ストレージ性能管理プログラム３３２０、ページ移動制御プログラム３３３０、及びストレージ設定プログラム３３４０が記憶される。
【００４４】
ストレージ構成管理プログラム３３１０は、ストレージ装置３０００の構成情報を管理するプログラムである。また、ストレージ構成管理プログラム３３１０は、後述する管理計算機２５００のストレージ情報取得プログラム２６３０と通信して、各種情報を送受信する。
【００４５】
ストレージ性能管理プログラム３３２０は、ストレージ装置３０００の性能情報を管理するプログラムである。ストレージ装置３０００の性能情報は例えば、定期的に測定されるページ毎のＩＯＰＳ（Input Output Per Second）である。また、ストレージ性能管理プログラム３３２０は、後述する管理計算機２５００のストレージ情報取得プログラム２６３０と通信して、各種情報を送受信する。
【００４６】
ページ移動制御プログラム３３３０は、ストレージ装置３０００内のページを移動させるためのルールであるページ移動ルールを管理し、ページ移動ルールに従ってページを移動（マイグレーションとも呼ばれる）させるプログラムである。また、ページ移動制御プログラム３３３０は、管理計算機２５００のストレージ情報取得プログラム２６３０及びデータ移動全体制御プログラム２６７０と通信して、各種情報を送受信する。このページ移動制御プログラム３３３０は、ページ移動ルールによりページ移動が必要であると判定した場合、そのページ移動を実行する前に、そのページ移動の前兆を、管理計算機２５００のデータ移動全体制御プログラム２６７０へ通知する。
【００４７】
ストレージ設定プログラム３３４０は、ストレージ装置３０００の各種設定を実行するプログラムである。本実施形態において、ストレージ装置３０００の各種設定は、論理ボリューム３５１０や物理リソース３５２１に対して、読み書きされるデータを一時的に格納するキャッシュ領域を確保するための設定や、論理ボリューム３５１０に対して、読み書き処理を実行するプロセッサを確保するための設定等、ホスト計算機１０００へのアクセス性能を向上させるための設定を含む。また、ストレージ設定プログラム３３４０は、後述する管理計算機２５００のデータ移動全体制御プログラム２６７０と通信して、各種情報を送受信する。
【００４８】
図６は、接続装置５００のＭｅｍｏｒｙ６００に格納される情報の構成を示すブロック図である。Ｍｅｍｏｒｙ６００には、接続装置構成管理プログラム７１０及び接続装置性能管理プログラム７２０が記憶される。
【００４９】
接続装置構成管理プログラム７１０は、接続装置５００の構成情報を管理するプログラムである。また、接続装置構成管理プログラム７１０は、後述する管理計算機２５００の接続装置情報取得プログラム２６５０と通信して、各種情報を送受信する。
【００５０】
接続装置性能管理プログラム７２０は、接続装置５００の性能情報を管理するプログラムである。接続装置５００の性能情報は例えば、データ転送量、ＣＰＵ５１０の負荷、Ｍｅｍｏｒｙ６００の使用量等であり、定期的に測定される。また、接続装置性能管理プログラム７２０は、後述する管理計算機２５００の接続装置情報取得プログラム２６５０と通信して、各種情報を送受信する。
【００５１】
図７は、管理計算機２５００のＭｅｍｏｒｙ２６００に格納される情報の構成を示すブロック図である。Ｍｅｍｏｒｙ２６００には、ＶＭ情報取得プログラム２６１０と、ストレージ情報取得プログラム２６３０と、接続装置情報取得プログラム２６５０と、トレンド情報管理プログラム２６６０と、データ移動全体制御プログラム２６７０と、データ移動原因特定プログラム２６８０とを含むプログラムが記憶されている。
【００５２】
更にＭｅｍｏｒｙ２６００には、ＶＭ移動ルールテーブル２６９０と、ＶＭ性能情報テーブル２７００と、ストレージポートカタログ性能情報テーブル２７１０と、ストレージポート性能測定値テーブル２７２０と、ストレージメディアカタログ性能テーブル２７３０と、接続装置カタログ性能テーブル２７４０と、接続装置性能測定値テーブル２７５０と、ＶＭデータ構成情報テーブル２７６０と、ページ移動ルールテーブル２７８０と、ボリューム性能情報テーブル２７９０と、ボリューム物理論理記憶領域対応テーブル２８００と、ボリュームリソース情報テーブル２９００と、外部ストレージ構成情報テーブル２９５０とを含む情報テーブルが記憶されている。
【００５３】
図８に示されているＶＭ移動ルールテーブル２６９０は、ホスト管理計算機２０００がホスト計算機１０００のＶＭ１００１を移動させるためのルールであるＶＭ移動ルールを管理するためのテーブルである。また、ＶＭ移動ルールテーブル２６９０は、ＶＭ移動ルールを示すルールＩＤ２６９１と、ＨＶ１００２を示すＨＶＩＤ２６９２と、ＶＭ１００１を示すＶＭＩＤ２６９３と、ＶＭ移動ルールを適用させて実際にＶＭ移動を実施する時間間隔２６９４と、ＶＭ１００１を移動する条件等を示すＶＭ移動ルール２６９５とを有する。更にこのテーブルは、それに含まれた情報間の対応関係を規定している。ＶＭ移動ルール２６９５は例えば、ＶＭ１００１のＩ／ＯのＲｅｓｐｏｎｓｅ  ｔｉｍｅが１５ｍｓを上回った場合にＶＭ１００１を移動する、等のルールを定義する。ここでＲｅｓｐｏｎｓｅ  ｔｉｍｅは、ＶＭ１００１へのＩ／Ｏ要求から応答までの時間であり、転送遅延を含むＩ／Ｏのレイテンシを示す。また本実施形態においてＶＭ移動ルール２６９５は、指標としてＶＭ１００１のＩ／ＯのＲｅｓｐｏｎｓｅ  ｔｉｍｅを用いているが、これに限定されるものではなく、第４の実施形態で後述するように、指標として容量利用率を用いるルールやそれ以外のルールであってもよい。時間間隔２６９４の単位は例えば時間（ｈ）である。ホスト管理計算機２０００は、時間間隔２６９４に示された時間が経過する度に、性能測定値がＶＭ移動ルールに定義された条件を満たすか否かの判定を行う。
【００５４】
ホスト管理計算機２０００は、ユーザからの入力に基づいてＶＭ移動ルールを設定することができる。例えば、ホスト管理計算機２０００は、ＧＵＩ（Graphical User Interface）によりＲｅｓｐｏｎｓｅ  ｔｉｍｅや容量利用率の閾値を取得することができる。
【００５５】
図９に示されているＶＭ性能情報テーブル２７００は、ＶＭ１００１の性能情報を管理するためのテーブルである。また、ＶＭ性能情報テーブル２７００は、対象のＶＭ１００１を動作させているＨＶ１００２を示すＨＶＩＤ２７０１と、対象のＶＭ１００１を示すＶＭＩＤ２７０２と、性能を測定した時刻である測定時刻２７０３と、性能測定値であるＲｅｓｐｏｎｓｅ  Ｔｉｍｅ２７０４とを有する。更にこのテーブルは、それに含まれた情報間の対応関係を規定している。本実施形態では、性能情報に用いる指標をＲｅｓｐｏｎｓｅ  Ｔｉｍｅ（ｍｓ）としているが、これはＶＭ移動ルールテーブル２６９０のＶＭ移動ルール２６９５に示されている指標に対応する。そのため、ＶＭ移動ルール２６９５の指標が変更された場合、変更後の性能情報が収集され、ＶＭ性能情報テーブル２７００へ格納される。以降の説明における他の指標についても同様の処理が行われる。
【００５６】
図１０に示されているストレージポートカタログ性能情報テーブル２７１０は、ストレージ装置３０００のストレージポートであるＨ−Ｉ／Ｆ３１０１のカタログ性能情報を管理するためのテーブルである。また、ストレージポートカタログ性能情報テーブル２７１０は、対象のストレージポートを有するストレージ装置３０００のストレージＩＤ２７１１と、対象のストレージポートを示すポートＩＤ２７１２と、対象のストレージポートのＲｅａｄデータ転送量（ＭＢ／ｓ）の増加によりＲｅｓｐｏｎｓｅ  Ｔｉｍｅが特に長くなり始める場合のＲｅａｄデータ転送量である高負荷判定基準２７１３と、対象のストレージポートのＷｒｉｔｅデータ転送量（ＭＢ／ｓ）の増加によりＲｅｓｐｏｎｓｅ  Ｔｉｍｅが特に長くなり始める場合のＷｒｉｔｅデータ転送量である高負荷判定基準２７１４とを有する。更にこのテーブルは、それに含まれた情報間の対応関係を規定している。高負荷判定基準２７１３と高負荷判定基準２７１４には例えば、対象のストレージ装置のカタログやマニュアル等に示された値を用いることができる。
【００５７】
図１１に示されているストレージポート性能測定値テーブル２７２０は、ストレージ装置３０００のストレージポートであるＨ−Ｉ／Ｆ３１０１の性能測定値を管理するためのテーブルである。また、ストレージポート性能測定値テーブル２７２０は、対象のストレージポートを有するストレージ装置３０００を示すストレージＩＤ２７２１と、対象のストレージポートを示すポートＩＤ２７２２と、性能を測定した時刻である測定時刻２７２３と、対象のストレージポートのＲｅａｄデータ転送量（ＭＢ／ｓ）の性能測定値であるＲｅａｄデータ転送量２７２４と、対象のストレージポートのＷｒｉｔｅデータ転送量（ＭＢ／ｓ）の性能測定値であるＷｒｉｔｅデータ転送量２７２５とを有する。更にこのテーブルは、それに含まれる情報間の対応関係を規定している。
【００５８】
図１２に示されているストレージメディアカタログ性能テーブル２７３０は、ストレージ装置３０００の論理ボリューム３５１０を構成するリソースのメディアのカタログ性能情報を管理するためのテーブルである。論理ボリューム３５１０を構成するリソースは、物理リソース３５２１又は仮想リソース３５２２である。また、ストレージメディアカタログ性能テーブル２７３０は、対象のリソースを有するストレージ装置３０００を示すストレージＩＤ２７３１と、対象のリソースのリソース種別２７３２と、対象のリソースのＲｅａｄ速度（ＭＢ／ｓ）であるＲｅａｄ  ｒａｔｅ２７３３と、対象のリソースのＷｒｉｔｅ速度（ＭＢ／ｓ）であるＷｒｉｔｅ  ｒａｔｅ２７３４とを有する。更にこのテーブルは、それに含まれる情報間の対応関係を規定している。
【００５９】
図１３に示されている接続装置カタログ性能テーブル２７４０は、接続装置５００の接続装置ポートであるＩ／Ｆ７００のカタログ性能情報を管理するテーブルである。また、接続装置カタログ性能テーブル２７４０は、対象の接続装置ポートを有する接続装置５００を示す接続装置ＩＤ２７４１と、対象の接続ポートを示すポートＩＤ２７４２と、対象の接続装置ポートにおいてＲｅｓｐｏｎｓｅ  Ｔｉｍｅが特に長くなり始めるＲｅａｄデータ転送量（ＭＢ／ｓ）である高負荷判定基準２７４３と、対象の接続装置ポートにおいてＲｅｓｐｏｎｓｅ  Ｔｉｍｅが特に長くなり始めるＷｒｉｔｅデータ転送量（ＭＢ／ｓ）である高負荷判定基準２７４４とを有する。更にこのテーブルは、それに含まれる情報間の対応関係を規定している。高負荷判定基準２７４３と高負荷判定基準２７４４には例えば、対象の接続装置ポートのカタログやマニュアル等に示された値を用いることができる。
【００６０】
図１４に示されている接続装置性能測定値テーブル２７５０は、接続装置５００の接続装置ポートであるＩ／Ｆ７００の性能測定値を管理するテーブルである。また、接続装置性能測定値テーブル２７５０は、対象の接続装置ポートを有する接続装置５００を示す接続装置ＩＤ２７５１と、対象の接続装置ポートを示すポートＩＤ２７５２と、性能を測定した時刻である測定時刻２７５３と、対象の接続装置ポートのＲｅａｄデータ転送量（ＭＢ／ｓ）の性能測定値であるＲｅａｄデータ転送量２７５４と、対象の接続装置ポートのＷｒｉｔｅデータ転送量（ＭＢ／ｓ）の性能測定値であるＷｒｉｔｅデータ転送量２７５５とを有する。更にこのテーブルは、それに含まれる情報間の対応関係を規定している。
【００６１】
図１５は、ＶＭデータ構成情報テーブル２７６０内の第１ＶＭデータ構成情報２７６０Ａを示し、図１６は、ＶＭデータ構成情報テーブル２７６０内の第２ＶＭデータ構成情報２７６０Ｂを示す。ＶＭデータ構成情報テーブル２７６０は、ＶＭ１００１と、そのＶＭ１００１の実データが格納されている論理ボリューム３５１０との関連付けを管理するテーブルである。ＶＭデータ構成情報テーブル２７６０のうち、第１ＶＭデータ構成情報２７６０Ａは、対象のＶＭ１００１を保持するＨＶ１００２を示すＨＶＩＤ２７６１と、対象のＶＭ１００１を示すＶＭＩＤ２７６２と、対象のＨＶ１００２とストレージ装置３０００の間の通信経路である対象の接続装置５００を示す接続装置ＩＤ２７６３と、対象の接続装置５００内でホスト計算機１０００側のポートを示す接続装置イニシエータポートＩＤ２７６４と、対象の接続装置５００内でストレージ装置３０００側のポートを示す接続装置ターゲットポートＩＤ２７６５とを有する。また、ＶＭデータ構成情報テーブル２７６０のうち、第２ＶＭデータ構成情報２７６０Ｂは、対象のＶＭ１００１のデータを格納する対象のストレージ装置３０００を示すストレージＩＤ２７６７と、対象のストレージ装置３０００のストレージポートを示すストレージポートＩＤ２７６８と、対象の論理ボリューム３５１０を示す論理ボリュームＩＤ２７６９と、対象の論理ボリューム３５１０におけるＬＢＡ（Logical Block Addressing）の範囲を示すＬＢＡ情報２７７０とを有する。更にこのＶＭデータ構成情報テーブル２７６０は、第１ＶＭデータ構成情報２７６０Ａ及び第２ＶＭデータ構成情報２７６０Ｂに含まれる情報間の対応関係を規定している。ここで、ＶＭデータ構成情報テーブル２７６０内でＶＭＩＤ２７６２がｎｕｌｌであるエントリは、ＨＶ１００２を有するホスト計算機１０００に論理ボリューム３５１０が割り当てられているが、その論理ボリューム３５１０がＶＭ１００１に利用されていない状態を示している。また、ＬＢＡ２７７０がｎｕｌｌであるエントリは、ホスト計算機１０００に論理ボリューム３５１０が割り当てられているが、その論理ボリューム３５１０にまだページが割り当てられていない状態を示している。
【００６２】
図１７に示されているページ移動ルールテーブル２７８０は、ストレージ装置３０００のページ移動ルールを管理するテーブルである。また、ページ移動ルールテーブル２７８０は、対象のページ移動ルールを示すルールＩＤ２７８１と、ページ移動ルールテーブル２７８０に定義された幾つかのページ移動ルールにおける対象のページ移動ルールの優先度２７８２と、対象のページ移動ルールを適用させて実際にページ移動を実施する時間間隔２７８３と、対象のページの移動の条件等を定義するページ移動ルール２７８４とを有する。更にこのテーブルは、それに含まれる情報間の対応関係を規定している。ページ移動ルール２７８４は例えば、対象のページへのＩＯＰＳが７００を下回ったらリソース種別がＳＡＴＡのページにデータを移動するといったように、ＩＯＰＳが多いデータほど高速メディアに配置することを示す第１ページ移動ルールを定義する。また、ページ移動ルール２７８４は、第１ページ移動ルールの代わりに、ページへのＩＯＰＳによらず任意のＶＭ１００１のデータをＳＳＤ等の特定のリソース種別に配置することを示す第２ページ移動ルール等を定義しても良い。第１のページ移動ルールと第２ページ移動ルールを同時に適用した場合には、第１ページ移動ルールを適用しながら、ＩＯＰＳが低いが要求されるＲｅｓｐｏｎｓｅ  Ｔｉｍｅが短い（高速である）データに、ＳＳＤ等、ハードディスクより高速なメディアを割り当てることができる。時間間隔２７８３の単位は例えば時間（ｈ）である。管理計算機２５００は、時間間隔２７８３に示された時間が経過する度に、測定結果がページ移動ルールに定義された条件を満たすか否かの判定を行う。
【００６３】
ページ移動ルール２７８４の中には、ＬＢＡ固定ルール２７８５があっても良い。ＬＢＡ固定ルール２７８５は第２ページ移動ルールの一例である。このＬＢＡ固定ルール２７８５は、対象のＶＭ１００１のデータが格納されているページを移動することを禁止し、このページを現在のリソースのＬＢＡに固定するためのページ移動ルールである。このＬＢＡ固定ルール２７８５の例は、ＶＭＩＤ＝３ならばそのＶＭ１００１をＳＳＤへ配置することを示す。
【００６４】
図１８に示されているボリューム性能情報テーブル２７９０は、論理ボリューム３５１０へのアクセス頻度を管理するテーブルである。また、ボリューム性能情報テーブル２７９０は、対象の論理ボリューム３５１０を有するストレージ装置３０００を示すストレージＩＤ２７９１と、対象の論理ボリューム３５１０を示す論理ボリュームＩＤ２７９２と、対象の論理ボリューム３５１０内の対象のページを示すページＩＤ２７９３と、対象のページへのＩＯＰＳの測定結果を示すＩＯＰＳ２７９４と、対象のページに適用されているページ移動ルールを示すルールＩＤ２７９５とを有する。更にこのテーブルは、それに含まれる情報間の対応関係を規定している。
【００６５】
図１９に示されているボリューム物理論理記憶領域対応テーブル２８００は、論理ボリューム３５１０内のＬＢＡと物理リソース３５２１又は仮想リソース３５２２内のＬＢＡとの対応関係を管理するテーブルである。また、ボリューム物理論理記憶領域対応テーブル２８００は、対象の論理ボリューム３５１０を示す論理ボリュームＩＤ２８０１と、対象の論理ボリューム３５１０の対象のページを示すページＩＤ２８０２と、対象のページのＬＢＡの範囲を示すＬＢＡ情報２８０３と、対象のページに用いられているリソースが属するプール１１２０を示すプールＩＤ２８０４と、対象のページに用いられているリソースを示すリソースＩＤ２８０５と、対象のリソースにおいて対象のページに割り当てられているＬＢＡの範囲を示すＬＢＡ情報２８０６とを有する。更にこのテーブルは、それに含まれる情報間の対応関係を規定している。
【００６６】
図２０は、ボリューム物理論理記憶領域対応テーブル２８００に示されている論理ボリューム３５１０とプール１１２０の状態を示す模式図である。この例において、プールＩＤ２８０４が「１」で示されるプール１１２０であるＰＡ内に、リソースＩＤ２８０５が「０」で示される物理リソース３５２１であるＰＲＡと、リソースＩＤ２８０５が「１」で示される物理リソース３５２１であるＰＲＢと、リソースＩＤ２８０５が「２」で示される物理リソース３５２１であるＰＲＣとが作成されている。また、論理ボリュームＩＤ２８０１が「０」で示される論理ボリューム３５１０であるＬＶＡが作成されている。ＰＲＡの１０００番地から１９９９番地までは、ＬＶＡの０番地から９９９番地までに対応している。ＰＲＢの０番地から９９９番地までは、ＬＶＡの１０００番地から１９９９番地までに対応している。ＰＲＣの０番地から２９９９番地までが、ＬＶＡの２０００番地から３９９９番地までに対応している。また、ＬＶＡの４０００番地から１９９９９９番地までには、何れの物理リソース３５２１も割り当てられていない。なお、論理ボリューム３５１０にＤｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム３５１０Ｄを用いる場合、論理ボリューム３５１０とプール１１２０の対応関係が、動的に変更される。
【００６７】
図２１に示されているボリュームリソース情報テーブル２９００は、物理リソース３５２１及び仮想リソース３５２２の情報を管理するテーブルである。また、ボリュームリソース情報テーブル２９００は、対象のストレージ装置３０００を示すストレージＩＤ２９０１と、対象のリソースが属するプール１１２０を示すプールＩＤ２９０２と、対象のリソースを示すリソースＩＤ２９０３と、ＳＡＴＡやＳＳＤやＦＣ（Fibre Channel）といった対象のリソースのメディア種別２９０４と、対象のリソースが物理リソース３５２１か仮想リソース３５２２かを示すリソース構成２９０５とを有する。更にこのテーブルは、それに含まれる情報間の対応関係を規定している。ボリュームリソース情報テーブル２９００におけるリソース構成２９０５は、対象のストレージ装置３０００内部のリソースである物理リソース３５２１を「内部」と示し、対象のストレージ装置３０００に接続された外部ストレージ装置内のリソースである仮想リソース３５２２を「外部」と示す。
【００６８】
図２２に示されている外部ストレージ構成情報テーブル２９５０は、仮想リソース３５２２の構成を管理するテーブルである。また、外部ストレージ構成情報テーブル２９５０は、対象のストレージ装置３０００を示すストレージＩＤ２９５１と、対象の仮想リソース３５２２を示すリソースＩＤ２９５２と、対象のストレージ装置３０００において外部接続に利用しているストレージポートであるＨ−Ｉ／Ｆ３１０１を示すポートＩＤ２９５３と、対象の外部ストレージ装置を示す外部ストレージＩＤ２９５４と、対象の仮想リソース３５２２に対応する対象の外部ストレージ装置内の物理リソース３５２１を示す外部ストレージリソースＩＤ２９５５と、外部ストレージ装置において外部接続に利用しているポートであるＨ−Ｉ／Ｆ３１０１を示す外部ストレージポートＩＤ２９５６とを有する。更にこのテーブルは、それに含まれる情報間の対応関係を規定している。
【００６９】
次に、管理計算機２５００の動作の詳細について説明する。
【００７０】
まずＶＭ情報取得プログラム２６１０の処理について説明する。ＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００のＶＭ構成管理プログラム２２１０からＶＭ１００１についての構成情報を取得し、ＶＭデータ構成情報テーブル２７６０へ格納する処理を行う。具体的に言えば、ＶＭ情報取得プログラム２６１０は、各ストレージ装置３０００の構成情報と各接続装置５００の構成情報とを対応付けてＶＭデータ構成情報テーブル２７６０へ格納する。また、ＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００のＶＭ性能管理プログラム２２２０からＶＭ１００１の性能情報を取得し、ＶＭ性能情報テーブル２７００へ格納する処理を行う。また、ＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００のＶＭ移動制御プログラム２２３０からＶＭ１００１についてのＶＭ移動ルールを取得し、ＶＭ移動ルールテーブル２６９０へ格納する処理を行う。なお、ＶＭ情報取得プログラム２６１０は、これらの処理を定期的に実行してもよいし、ユーザ操作に応じて実行してもよい。
【００７１】
ストレージ情報取得プログラム２６３０は、ストレージ装置３０００のストレージ構成管理プログラム３３１０からストレージ装置３０００についての構成情報を取得し、取得された構成情報に基づいて、ＶＭデータ構成情報テーブル２７６０とボリューム物理論理記憶領域対応テーブル２８００とボリュームリソース情報テーブル２９００と外部ストレージ構成情報テーブル２９５０とを変更する処理を行う。具体的に言えば、ストレージ情報取得プログラム２６３０は、各接続装置５００の構成情報と各ＶＭ１００１の構成情報とを対応付けてＶＭデータ構成情報テーブル２７６０に格納する。また、ストレージ情報取得プログラム２６３０は、ストレージ性能管理プログラム３３２０から性能情報を取得し、取得された性能情報に基づいて、ストレージポートカタログ性能情報テーブル２７１０とストレージポート性能測定値テーブル２７２０とストレージメディアカタログ性能テーブル２７３０とボリューム性能情報テーブル２７９０とを変更する処理を行う。また、ストレージ情報取得プログラム２６３０は、ページ移動制御プログラム３３３０からページ移動ルールを取得し、取得されたページ移動ルールをページ移動ルールテーブル２７８０へ格納する処理を行う。なお、ストレージ情報取得プログラム２６３０は、これらの処理を定期的に実行してもよいし、ユーザ操作に応じて実行してもよい。
【００７２】
接続装置情報取得プログラム２６５０は、接続装置５００の接続装置構成管理プログラム７１０から接続装置５００についての構成情報を取得し、取得された構成情報をＶＭデータ構成情報テーブル２７６０へ格納する処理を行う。具体的に言えば、接続装置情報取得プログラム２６５０は、各ストレージ装置３０００の構成情報と各ＶＭ１００１の構成情報とを対応付けてＶＭデータ構成情報テーブル２７６０に格納する。また、接続装置情報取得プログラム２６５０は、接続装置性能管理プログラム７２０から性能情報を取得し、取得された性能情報に基づいて、接続装置カタログ性能テーブル２７４０と接続装置性能測定値テーブル２７５０とを変更する処理を行う。なお、接続装置情報取得プログラム２６５０は、これらの処理を定期的に実行してもよいし、ユーザ操作に応じて実行してもよい。
【００７３】
次に、トレンド情報管理プログラム２６６０の処理について説明する。
【００７４】
トレンド情報管理プログラム２６６０は、以下の処理を定期的に実行してもよいし、ユーザ操作に応じて実行してもよい。トレンド情報管理プログラム２６６０は、ストレージ装置３０００と接続装置５００とＶＭ１００１との性能情報を取得し、取得した性能情報に基づいて現在から所定の動作期間後の性能情報の予測値である予測性能情報を算出し、算出された予測性能情報に基づいてＶＭ移動又はページ移動の前兆を検出した場合に、その前兆をデータ移動全体制御プログラム２６７０へ通知する処理を行う。
【００７５】
図２３は、トレンド情報管理プログラム２６６０の処理を示す。まずトレンド情報管理プログラム２６６０は、ＶＭ性能情報テーブル２７００とストレージポート性能測定値テーブル２７２０と接続装置性能測定値テーブル２７５０とにおける各性能情報を監視し（Ｓ４５００）、前回の監視時に比べて性能情報が更新されたか否かを判定する（Ｓ４５０１）。
【００７６】
Ｓ４５０１の結果がＮｏである場合、トレンド情報管理プログラム２６６０は、処理をＳ４５００へ戻す。ここで、トレンド情報管理プログラム２６６０は、所定の待機時間だけ待機してから、次のＳ４５００を行ってもよい。
【００７７】
またＳ４５０１の結果がＹｅｓである場合、トレンド情報管理プログラム２６６０は、所定の動作期間後の性能情報を算出して予測性能情報とする（Ｓ４５０２）。トレンド情報管理プログラム２６６０は、予測性能情報の算出方法に、最小二乗法を用いてもよいし、それ以外の方法であってもよい。最小二乗法を用いる場合、例えば、Ｒｅｓｐｏｎｓｅ  Ｔｉｍｅの測定値の時間変化からＲｅｓｐｏｎｓｅ  Ｔｉｍｅの時間変化を示す直線又は曲線を算出する。また、トレンド情報管理プログラム２６６０は、予測性能情報の代わりに、性能情報の測定値の傾向を算出しても良い。この場合の傾向は例えば、Ｒｅｓｐｏｎｓｅ  Ｔｉｍｅの時間変化を示す直線の傾きである。また、動作期間は、性能情報が次回更新される時間が望ましい。また、動作期間は、ユーザに指定されてもよいし、Ｍｅｍｏｒｙ２６００内で予め定められていてもよい。また、予測性能情報は、性能情報の測定時刻から動作期間後の性能情報を示しても良いし、算出時から動作期間後の性能情報を示しても良い。
【００７８】
次にトレンド情報管理プログラム２６６０は、ＶＭ移動ルールテーブル２６９０及びページ移動ルールテーブル２７８０を参照し、算出された予測性能情報がデータ移動ルールに抵触するか否かを判定する（Ｓ４５０３）。即ち、トレンド情報管理プログラム２６６０は、予測性能情報がデータ移動ルールに定義された条件を満たすか否かを判定する。ここで、データ移動ルールによりデータ移動が発生する場合として、ＶＭ移動ルールによるＶＭ移動が発生する場合と、ページ移動ルールによるページ移動が発生する場合とがある。
【００７９】
Ｓ４５０３の結果がＮｏである場合、トレンド情報管理プログラム２６６０は、処理をＳ４５００へ戻す。ここで、トレンド情報管理プログラム２６６０は、所定の待機時間だけ待機してから、次のＳ４５００を行ってもよい。
【００８０】
Ｓ４５０３の結果がＹｅｓである場合、トレンド情報管理プログラム２６６０は、データ移動の前兆をデータ移動全体制御プログラム２６７０へ通知し（Ｓ４５０４）、このフローを終了する。ここでデータ移動の前兆の通知は、動作期間後にデータ移動が発生すると判定されたデータ（ＶＭ１００１又はページ）の構成情報と、性能情報と、予測性能情報が抵触するデータ移動ルール（ＶＭ移動ルールテーブル２６９０又はページ移動ルールテーブル２７８０内のエントリ）のＩＤとを含む。
【００８１】
以上に述べたように、トレンド情報管理プログラム２６６０は、性能情報の測定値の傾向である性能トレンドを算出することができる。これにより、トレンド情報管理プログラム２６６０は、将来の性能情報を予測することができ、データ移動の前兆を検知することができる。なお、ＶＭ移動制御プログラムによるＶＭのデータ移動が、ユーザ操作の受け付けを契機として行われる構成である場合は、処理が一部異なる。この場合、トレンド情報管理プログラム２６６０は、予測性能情報がＶＭ移動ルール２６９５に定義された条件を満たさないと判断した場合に、Ｓ４５０４でデータ移動の前兆を通知する代わりに、予測性能情報がＶＭ移動ルール２６９５を満たさないため性能の改善が必要となることを、データ移動全体制御プログラム２６７０に通知する。以下の説明において、前兆を検知（通知、受信）する処理は、上記の通知に置き換えることができる。また、データ移動原因特定プログラム２６８０が特定する移動原因についての説明は、性能低下原因と読み換えることができる。
【００８２】
次に、データ移動原因特定プログラム２６８０について説明する。データ移動原因特定プログラム２６８０は、データ移動全体制御プログラム２６７０からの移動原因特定要求に基づいて、データ移動へ向かう性能トレンドに陥った原因となる箇所を特定し、移動原因とする。ここで移動原因特定要求は、対象のデータの構成情報や対象のデータ移動ルールのＩＤ等を含む。性能トレンドは例えば、性能情報の時間変化の傾きにより表される。次にデータ移動原因特定プログラム２６８０は、特定された移動原因をデータ移動全体制御プログラム２６７０へ通知する。移動原因は例えば、ホスト計算機１０００とストレージ装置３０００の間のアクセス経路上のハードウェア、ページ移動ルールを満たすストレージ装置３０００の性能情報、等である。
【００８３】
移動原因を特定する方法は、特許文献２、３に示されたように、ＶＭデータ構成情報テーブル２７６０や外部ストレージ構成情報テーブル２９５０等のネットワークのトポロジー情報と、性能劣化アラートのようなイベント情報とに基づいて、移動原因を特定する方法（ＲＣＡ：Root cause analysis）であっても良いし、前述のトポロジー情報と予め設定された原因特定のルールとに基づいて、移動原因を絞り込む方法であっても良い。なお、移動原因の特定方法は、これら以外の方法でもよく、本発明は移動原因の特定方法に限定されない。またデータ移動原因特定プログラム２６８０は、これらの処理をデータ移動全体制御プログラム２６７０の指示に基づいて実行してもよいし、ユーザ操作に応じて実行してもよい。
【００８４】
このデータ移動原因特定プログラム２６８０によれば、データ移動の前兆を検知した場合に、そのデータ移動の原因を特定することができる。
【００８５】
次に、データ移動全体制御プログラム２６７０の処理について説明する。データ移動全体制御プログラム２６７０は、ページ移動制御プログラム３３３０又はトレンド情報管理プログラム２６６０からデータ移動の前兆を受信した場合、データ移動の制御を行う。以下、データ移動全体制御プログラム２６７０の処理を、トレンド情報管理プログラム２６６０から通知を受けた場合の処理を含む処理Ａと、ページ移動制御プログラム３３３０から通知を受けた場合の処理を含む処理Ｂとに分けて説明する。
【００８６】
図２４は、データ移動全体制御プログラム２６７０の処理Ａを示す。まずデータ移動全体制御プログラム２６７０はページ移動制御プログラム３３３０から、ページ移動の前兆を示す通知を受けたか否かを判定する（Ｓ４００５）。
【００８７】
Ｓ４００５の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、処理Ｂを行う（Ｓ４０１０）。処理Ｂの詳細については後述する。Ｓ４００５の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、トレンド情報管理プログラム２６６０からデータ移動の前兆を示す通知を受けたか否かを判定する（Ｓ４０１５）。
【００８８】
Ｓ４０１５の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、処理をＳ４００５へ移行させ、再びトレンド情報管理プログラム２６６０からの通知を待つ。Ｓ４０１５の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、移動原因の特定を要求するための移動原因特定要求をデータ移動原因特定プログラム２６８０へ発行することにより、データ移動原因特定プログラム２６８０により特定された移動原因を受信する（Ｓ４０２０）。ここで移動原因特定要求は、データ移動の前兆の通知に含まれているデータ移動ルールのＩＤとデータ移動の対象のＶＭ１００１のＶＭＩＤとを含む。
【００８９】
次にデータ移動全体制御プログラム２６７０は、受信された移動原因が接続装置５００又はストレージ装置３０００であるか否かを判定する（Ｓ４０２５）。Ｓ４０２５の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、ホスト管理計算機２０００に対して移動原因の判定結果を通知する（Ｓ４０３０）。移動原因の判定結果は例えば、接続装置５００及びストレージ装置３０００でないことを示す。次にデータ移動全体制御プログラム２６７０は、ＶＭデータ構成情報テーブル２７６０を参照することにより、ストレージ装置３０００のページ移動制御プログラム３３３０へ対象のＶＭ１００１のＬＢＡ固定命令を発行し（Ｓ４０４０）、このフローを終了する。ＬＢＡ固定命令は、ページ移動ルールとしてＬＢＡ固定ルールをストレージ装置３０００のページ移動制御プログラム３３３０に設定させる。ＬＢＡ固定ルールは例えば、前述のページ移動ルールテーブル２７８０内のＬＢＡ固定ルール２７８５に示されているように、対象のＶＭ１００１のデータが格納されているページを移動することを禁止し、このページを現在のリソースのＬＢＡに固定するルールである。
【００９０】
Ｓ４０３０の結果、ホスト計算機１０００又はホスト管理計算機２０００は、データ移動全体制御プログラム２６７０からの通知に応じた処理を行う。これにより、ホスト計算機１０００又はホスト管理計算機２０００は、ＶＭ移動ルールテーブル２６９０の時間間隔２６９４に示されている時間が経過した時点であっても、管理計算機２５００が管理しているストレージ装置３０００の論理ボリューム３５１０間において、対象のＶＭ１００１のＶＭ移動を行わない。
【００９１】
Ｓ４０２５の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、ＶＭデータ構成情報テーブル２７６０とページ移動ルールテーブル２７８０とボリューム性能情報テーブル２７９０とボリューム物理論理記憶領域対応テーブル２８００とボリュームリソース情報テーブル２９００と外部ストレージ構成情報テーブル２９５０とを参照することにより、受信された移動原因がページ移動ルールであるか否かを判定する（Ｓ４０３５）。
【００９２】
Ｓ４０３５の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、処理を前述のＳ４０４０へ移行させた後、このフローを終了する。Ｓ４０３５の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、受信された移動原因が設定変更により解消可能か否かを判定する（Ｓ４０４５）。設定変更により解消可能である移動原因は例えば、ストレージ装置３０００のＣＰＵ３１１０の高負荷である。この場合、対象のＶＭ１００１が保存されている論理ボリューム３５１０に割り当てられているＣＰＵ３１１０を、より低負荷の別のＣＰＵ３１１０へ設定変更することで性能が改善される。また、例えば移動原因が、ストレージ装置３０００のＭｅｍｏｒｙ３３００のキャッシュヒット率であった場合は、ＶＭデータが保存されている論理ボリュームに割り当てられているＭｅｍｏｒｙ３３００の量を追加するように設定変更することで性能が改善される。
【００９３】
Ｓ４０４５の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、ストレージ装置３０００のストレージ設定プログラム３３４０に対し、性能を改善するための設定変更命令を発行し（Ｓ４０５０）、このフローを終了する。
【００９４】
Ｓ４０４５の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、ＶＭデータ構成情報テーブル２７６０とボリューム物理論理記憶領域対応テーブル２８００と外部ストレージ構成情報テーブル２９５０とを参照し、性能が改善される論理ボリューム３５１０を探索して移動先記憶領域とする（Ｓ４０５５）。ここでデータ移動全体制御プログラム２６７０は例えば、移動原因として特定された箇所を用いない論理ボリューム３５１０、或いはＶＭ１００１からのアクセス経路に移動原因として特定された箇所を含まない論理ボリューム３５１０を、移動先記憶領域として検出する。この場合の移動原因は、ストレージ装置３０００で性能のボトルネックとなる箇所である。ボトルネックとなる箇所は、例えば負荷が高い（busy状態である）箇所である。次にデータ移動全体制御プログラム２６７０は、その探索の結果、移動先記憶領域があるか否かを判定する（Ｓ４０６０）。
【００９５】
Ｓ４０６０の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、移動先記憶領域がなかった旨を、ホスト管理計算機２０００へ通知し（Ｓ４０６５）、処理を前述のＳ４０４０へ移行させた後、このフローを終了する。
【００９６】
Ｓ４０６５の結果、ホスト計算機１０００又はホスト管理計算機２０００は、データ移動全体制御プログラム２６７０からの通知に応じた処理を行う。これにより、ホスト計算機１０００又はホスト管理計算機２０００は、ＶＭ移動ルールテーブル２６９０の時間間隔２６９４に示されている時間が経過した時点であっても、管理計算機２５００が管理しているストレージ装置３０００の論理ボリューム３５１０間において、対象のＶＭ１００１のＶＭ移動を行わない。
【００９７】
Ｓ４０６０の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、ＶＭデータ構成情報テーブル２７６０とページ移動ルールテーブル２７８０とボリューム性能情報テーブル２７９０と参照することにより、対象のＶＭ１００１にＬＢＡ固定ルールが適用されているか否かを判定する（Ｓ４０７０）。
【００９８】
Ｓ４０７０の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、性能が改善される移動先記憶領域を示すＩＤを、ホスト管理計算機２０００へ通知し（Ｓ４０８５）、このフローを終了する。ここで、移動先記憶領域を示すＩＤは、その論理ボリューム３５１０のＩＤでもよいし、ＨＶ１００２が管理のためにその論理ボリューム３５１０から作成したファイルシステム（データストアとも呼ばれる）の識別子であってもよいし、それ以外であってもよい。
【００９９】
Ｓ４０８５の結果、ホスト計算機１０００又はホスト管理計算機２０００は、データ移動全体制御プログラム２６７０からの通知に応じた処理を行う。これにより、ホスト計算機１０００又はホスト管理計算機２０００は、ＶＭ移動ルールテーブル２６９０の時間間隔２６９４に示されている時間が経過した時点で、通知された移動先の記憶領域へＶＭ１００１を移動させる。
【０１００】
Ｓ４０７０の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、ストレージ装置３０００のページ移動制御プログラム３３３０に対し、ＬＢＡ固定解除命令を発行する（Ｓ４０８０）。このＬＢＡ固定解除命令は、対象のＶＭ１００１に適用されているＬＢＡ固定ルールを解除する命令である。次にデータ移動全体制御プログラム２６７０は、処理を前述のＳ４０８５へ移行させた後、このフローを終了する。
【０１０１】
なお、管理計算機２５００がホスト管理計算機２０００へ移動先記憶領域を通知する契機は、Ｓ４０１５のようにトレンド情報管理プログラム２６６０からの通知に限らない。例えば、ホスト管理計算機２０００がＶＭ移動前に、管理計算機２５００に移動先記憶領域を問い合わせても良い。この場合、ホスト管理計算機２０００は、問い合わせのためのプログラムを有していても良い。また、例えば、データ移動全体制御プログラム２６７０がユーザからの指示に基づいて、移動先記憶領域を決定しても良い。この場合、管理計算機２５００は、移動先記憶領域の決定のためのボタン等のユーザインターフェイスを有していても良い。
【０１０２】
この処理Ａによれば、管理計算機２５００が、ＶＭ移動前に移動先記憶領域をホスト管理計算機２０００へ通知することにより、ホスト管理計算機２０００は、ＶＭ移動後の性能を向上させることができる。
【０１０３】
また、この処理Ａによれば、管理計算機２５００は、データ移動の前兆が検知された場合、且つそのデータ移動により性能が改善しないと判定された場合、そのデータ移動を防ぐことができる。
【０１０４】
次に、Ｓ４００５の結果がＹｅｓである場合のデータ移動全体制御プログラム２６７０の処理Ｂ（Ｓ４０１０）の詳細について説明する。
【０１０５】
処理Ｂにおいて、ページ移動の前兆を通知されたデータ移動全体制御プログラム２６７０は、ページ移動により不要なＶＭ移動を発生させないための制御を行う。
【０１０６】
図２５は、データ移動全体制御プログラム２６７０の処理Ｂを示す。データ移動全体制御プログラム２６７０は、トレンド情報管理プログラム２６６０から通知された対象のページの構成情報と、現在から動作期間後のページの性能情報と、動作期間後に抵触すると判断されたページ移動ルールのＩＤとから、対象のページ移動後の性能情報を算出して移動後予測性能情報として算出する（Ｓ４１００）。ここでデータ移動全体制御プログラム２６７０は、ストレージメディアカタログ性能テーブル２７３０とページ移動ルールテーブル２７８０とを参照することにより、移動後予測性能情報を算出する。次にデータ移動全体制御プログラム２６７０は、ＶＭ移動ルールテーブル２６９０と移動後予測性能情報に基づいて、対象のページ移動の結果が、対象のページを利用しているＶＭ１００１のＶＭ移動ルールに抵触するか否かを判定する（Ｓ４１０５）。即ち、データ移動全体制御プログラム２６７０は、対象のページ移動の結果、ＶＭ移動が発生するか否かを判定する。
【０１０７】
Ｓ４１０５の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、このフローを終了する。Ｓ４１０５の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、処理を前述のＳ４０４０へ移行させた後、このフローを終了する。なお、本実施形態では、ストレージ装置３０００のページ移動制御プログラム３３３０がページ移動の前兆をデータ移動全体制御プログラムへ通知するとした。ここで、管理計算機２５００のトレンド情報管理プログラム２６６０がページ移動ルールに関する性能トレンドを管理し、ページ移動の前兆を検出した場合に、その前兆をデータ移動全体制御プログラム２６７０へ通知してもよい。また、本実施形態は、ページ移動の前兆の通知方法に限定されない。
【０１０８】
以上がデータ移動全体制御プログラム２６７０の処理である。
【０１０９】
この処理Ｂによれば、ページ移動の前兆を検知し、そのページ移動によって生じるＶＭ移動を予測することにより、そのＶＭ移動を防ぐことができる。
【０１１０】
ページ移動がＶＭに悪影響を及ぼすことを防ぐために、本実施形態の計算機システムから階層ストレージ管理の機能を省いた計算機システムが構築される可能性がある。このような階層ストレージ管理のない計算機システムと比較すると、本実施形態の計算機システムは、性能の異なる複数の記憶媒体を用いて階層ストレージ管理を行うことにより、コストを抑えつつ計算機システムの性能を向上させることができる。
【０１１１】
（第２の実施形態）
本発明の第２の実施形態について説明する。以下の説明においては、第１の実施形態と異なる構成について特に詳細に説明し、第１の実施形態と同様の構成については詳細な説明を省略する。第１の実施形態では、管理計算機２５００のＶＭ情報取得プログラム２６１０が、ホスト管理計算機２０００からＶＭ１００１に関する構成情報と性能情報とＶＭ移動ルールとを取得し、各種テーブルに保存する、と例示した。一方、本実施形態において、ＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００からＶＭ１００１に関する構成情報と性能情報とＶＭ移動ルールとを取得し、更にそのＶＭ移動ルールの変更を監視し、そのＶＭ移動ルールの変更に基づいてページ移動ルールを変更する処理を行う。
【０１１２】
図２６は、第２実施形態におけるＶＭ情報取得プログラム２６１０の処理を示す。ＶＭ情報取得プログラム２６１０は、この処理を定期的に行っても良いし、全てのＶＭ１００１について行っても良い。
【０１１３】
まずＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００のＶＭ構成管理プログラム２２１０に対し、対象のＶＭ１００１の構成情報を要求するためのＶＭ構成情報取得命令を発行する（Ｓ４２００）。次にＶＭ情報取得プログラム２６１０は、ＶＭ構成情報取得命令により取得された構成情報を、ＶＭデータ構成情報テーブル２７６０へ格納する（Ｓ４２０５）。次にＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００のＶＭ性能管理プログラム２２２０に対し、対象のＶＭ１００１の性能情報を要求するためのＶＭ性能情報取得命令を発行する（Ｓ４２１０）。次にＶＭ情報取得プログラム２６１０は、ＶＭ性能情報取得命令により取得された性能情報を、ＶＭ性能情報テーブル２７００へ格納する（Ｓ４２１５）。次にＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００のＶＭ移動制御プログラム２２３０に対し、対象のＶＭ１００１のＶＭ移動ルールを要求するためのＶＭ移動ルール取得命令を発行する（Ｓ４２２０）。次にＶＭ情報取得プログラム２６１０は、ＶＭ移動ルールテーブル２６９０の情報と、ＶＭ移動ルール取得命令により取得されたＶＭ移動ルールとを比較することにより、ＶＭ移動ルールが変更されているか否かを判定する（Ｓ４２２５）。
【０１１４】
Ｓ４２２５の結果がＮｏである場合、ＶＭ情報取得プログラム２６１０は、取得されたＶＭ移動ルールをＶＭ移動ルールテーブル２６９０へ格納し（Ｓ４２４０）、このフローを終了する。一方、Ｓ４２２５の結果がＹｅｓである場合、ＶＭ情報取得プログラム２６１０は、ページ移動ルールテーブル２７８０を参照し、変更されたＶＭ移動ルールと関連するページ移動ルールがあるか否かを判定する（Ｓ４２３０）。
【０１１５】
Ｓ４２３０の結果がＮｏである場合、ＶＭ情報取得プログラム２６１０は、処理を前述のＳ４２４０へ移行させた後、このフローを終了する。一方、Ｓ４２３０の結果がＹｅｓである場合、ＶＭ情報取得プログラム２６１０は、ストレージ装置３０００のページ移動制御プログラム３３３０に対し、対象のＶＭ１００１に適用されているＬＢＡ固定ルールを解除するためのＬＢＡ固定解除命令を発行する（Ｓ４０８０）。なお、Ｓ４０８０の代わりに例えば、ＶＭ情報取得プログラム２６１０は、ＶＭ移動ルールの変更内容に応じてページを移動させるための命令を発行してもよい。この命令は例えば、ＶＭ移動ルールにおいて対象のＶＭ１００１のＲｅｓｐｏｎｓｅ  Ｔｉｍｅが２０ｍｓから１０ｍｓへ変更された場合に、対象のＶＭ１００１をＳＡＴＡからＳＳＤのリソースへ移動させる。
【０１１６】
Ｓ４０８０の後、ＶＭ情報取得プログラム２６１０は、処理をＳ４２４０へ移行させ、このフローを終了する。
【０１１７】
以上がＶＭ情報取得プログラム２６１０の処理である。
【０１１８】
（第３の実施形態）
本発明の第３の実施形態について説明する。以下では、第１の実施形態と異なる構成について特に詳細に説明し、第１の実施形態と同様の構成については詳細な説明を省略する。第１の実施形態のＳ４０５５では、管理計算機２５００のデータ移動全体制御プログラム２６７０が、ストレージ装置３０００側に性能劣化の原因がある場合に性能が改善される移動先を探索する、と例示した。一方、本実施形態において、データ移動全体制御プログラム２６７０は、トレンド情報管理プログラム２６６０からデータ移動の前兆を受信し、データ移動の原因に基づいて、データ移動を制御する。また、本実施形態において、複数の論理ボリューム３５１０は夫々、互いに性能の異なる複数種類のメディアが割り当てられ、性能順に階層化されている。例えば、複数の階層（tier）に割り当てられるメディアは夫々、ＳＳＤ、ＳＡＳ、ＳＡＴＡである。また、データ移動全体制御プログラム２６７０は特に、ＶＭ移動の原因が対象のＶＭ１００１に割り当てられているメディアの性能である場合、他のＶＭ１００１に割り当てられている過剰に高性能なリソースの割り当てを検知し、そのＶＭ１００１を低性能なリソースへ移動し、対象のＶＭ１００１に高性能なメディアを割り当てる。
【０１１９】
図２７は、第３の実施形態におけるデータ移動全体制御プログラム２６７０の処理を示す。まずデータ移動全体制御プログラム２６７０は、第１の実施形態と同様に、図２４に示されているＳ４０４５までの処理を行う。
【０１２０】
Ｓ４０４５の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、第１の実施形態と同様のＳ４０５０以降の処理を行う。
【０１２１】
一方、Ｓ４０４５の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、移動原因が対象のＶＭ１００１に割り当てられているページのメディア性能であるか否かを判定する（Ｓ４３００）。
【０１２２】
Ｓ４３００の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、第１の実施形態と同様のＳ４０５５以降の処理を行う。Ｓ４３００の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、ページ上のデータをより低性能のメディアへ移動することができるページである移動先候補ページを探索する（Ｓ４３０５）。この探索のために、データ移動全体制御プログラム２６７０は、ＶＭ移動ルールテーブル２６９０と、ＶＭ性能情報テーブル２７００と、ＶＭデータ構成情報テーブル２７６０と、ページ移動ルールテーブル２７８０と、ボリューム性能情報テーブル２７９０と、ボリューム物理論理記憶領域対応テーブル２８００と、ボリュームリソース情報テーブル２９００とを参照する。この探索により求めるページの条件は、そのページ上のＶＭ１００１がより低性能のメディアへ移動しても、ＶＭ移動ルールに抵触しないことである。なお、Ｓ４３０５において、或るリソースが或るＶＭ１００１に割り当てられており、そのＶＭ１００１がＶＭ移動ルールに抵触しており、ＶＭ移動ルールがＲｅｓｐｏｎｓｅ  Ｔｉｍｅが所定の閾値以下であり、移動原因がそのリソースのメディアの性能でなく、そのリソースが対象のＶＭ１００１に割り当てられているリソースの性能を下回らない場合、そのリソースから移動先候補ページを検出しても良い。
【０１２３】
次に、データ移動全体制御プログラム２６７０は、移動先候補ページの中から必要な数の移動先ページを利用することで、ＶＭ移動を防ぐことが可能か否かを判定する（Ｓ４３１０）。即ち、データ移動全体制御プログラム２６７０は、移動原因であるページ上のＶＭ１００１を移動先ページへ移動すると、ＶＭ移動ルールに抵触しなくなるか否かを判定する。
【０１２４】
Ｓ４３１０の結果がＮｏである場合、第１の実施形態で示されたＳ４０５５へ進む。Ｓ４３１０の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、Ｓ４３０５の探索結果から、対象のＶＭ１００１がＶＭ移動ルールに抵触しなくなるために必要な数のページを選出する。次にデータ移動全体制御プログラム２６７０は、ストレージ装置３０００のページ移動制御プログラム３３３０に対して、選出されたページを高性能メディアから低性能メディアへ移動させる命令を発行する（Ｓ４３１５）。次にデータ移動全体制御プログラム２６７０は、ストレージ装置３０００のページ移動制御プログラム３３３０に対して、移動原因であるページ上のＶＭ１００１のデータをＳ４３１５の移動元である高性能メディアのページへ移動させる命令を発行し（Ｓ４３２０）、処理を終了する。
【０１２５】
なお、Ｓ４３１５を行うだけで、ページ移動ルールに従ってＶＭ１００１のデータが高性能メディアのページへ移動し、その結果として移動原因が解決される場合、データ移動全体制御プログラム２６７０は、Ｓ４３２０を行わなくても良い。
【０１２６】
本実施形態によれば、性能の異なる複数種類のメディアを用いて、計算機システムの性能を向上させることができる。
【０１２７】
（第４の実施形態）
本発明の第４の実施形態について説明する。以下の説明においては、第１、第２及び第３の実施形態と異なる構成について特に詳細に説明し、第１の実施形態と同様の構成については詳細な説明を省略する。第１の実施形態では、ＶＭ移動ルールに用いる指標がＲｅｓｐｏｎｓｅ  Ｔｉｍｅである、と例示した。一方、本実施形態において、ＶＭ移動ルールに用いる指標は容量利用率である。
【０１２８】
図２８は、第４の実施形態におけるホスト管理計算機２０００のＶＭ移動ルールテーブル２６９０Ｂを示す。第１の実施形態で示されたＶＭ移動ルールテーブル２６９０と比較すると、本実施形態のＶＭ移動ルールテーブル２６９０Ｂは、ＶＭ移動ルール２６９５の代わりにＶＭ移動ルール２６９５Ｂを有する。ＶＭ移動ルール２６９５Ｂは、容量利用率が８０％を下回った場合に対応付けられているＶＭＩＤに示されているＶＭ１００１を移動する等、ＶＭ１００１の性能情報の指標として容量利用率を用いる。
【０１２９】
図２９は、第４の実施形態におけるホスト管理計算機２０００のＶＭ性能情報テーブル２７００Ｂを示す。第１の実施形態で示されたＶＭ性能情報テーブル２７００と比較すると、本実施形態のＶＭ性能情報テーブル２７００Ｂは、新たに、ＨＶ１００２の記憶領域のＩＤであるＨＶ記憶領域ＩＤ２７０６と、ＨＶ１００２の記憶領域の容量利用率２７０７とを有する。ここで、ＨＶ１００２の記憶領域は、ＨＶ１００２が利用可能なホスト計算機１０００内の記憶領域である。なお、本実施形態において、ＨＶ１００２の記憶領域の容量利用率は、ホスト管理計算機２０００又はホスト計算機１０００から取得される。この容量利用率は、後述するストレージ装置３０００から取得可能な論理ボリューム３５１０の容量利用率の値と同期されていてもよいし、必ずしも同期されていなくてもよい。
【０１３０】
図３０は、第４の実施形態におけるホスト管理計算機２０００のＶＭデータ構成情報テーブル２７６０のうち第２ＶＭデータ構成情報２７６０Ｄを示す。第１の実施形態のＶＭデータ構成情報テーブル２７６０と比較すると、本実施形態のＶＭデータ構成情報テーブル２７６０は、第２ＶＭデータ構成情報２７６０Ｂの代わりに第２ＶＭデータ構成情報２７６０Ｄを有する。第２ＶＭデータ構成情報２７６０Ｂと比較すると、ＶＭデータ構成情報２６９０Ｄは、新たに、ＨＶ記憶領域ＩＤ２７７５を有する。
【０１３１】
本実施形態のＶＭ情報取得プログラム２６１０は、第１の実施形態のＶＭ情報取得プログラム２６１０の処理に加えて、次の処理を行う。ＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００からホスト管理計算機が２０００により管理される記憶領域のＩＤを取得し、ＶＭ性能情報テーブル２７００ＢとＶＭデータ構成情報テーブル２７６０とへ格納する。また、ＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００からＨＶ１００２の記憶領域の容量利用率を取得し、ＶＭ性能情報テーブル２７００Ｂへ格納する。また、ＶＭ情報取得プログラム２６１０は、ホスト管理計算機２０００から、容量利用率に関するＶＭ移動ルールの情報を取得し、ＶＭ移動ルールテーブル２６９０Ｂへ格納する。
【０１３２】
本実施形態のトレンド情報管理プログラム２６６０は、第１の実施形態のトレンド情報管理プログラム２６６０の処理に加えて、次の処理を行う。トレンド情報管理プログラム２６６０は、ＶＭ性能情報テーブル２７００Ｂが保持する容量利用率を監視し、その容量利用率がＶＭ移動ルールテーブル２６９０Ｂ内のＶＭ移動ルールに抵触するか否かを判定し、抵触した場合、データ移動全体制御プログラム２６７０に対してＶＭ移動の前兆を示す通知を行う。
【０１３３】
本実施形態のデータ移動全体制御プログラム２６７０は、トレンド情報管理プログラム２６６０からＶＭ移動の前兆を受信し、移動原因が容量利用率であった場合にＶＭのデータが格納されている論理ボリュームを拡張する処理を行う。
【０１３４】
図３１は、第４の実施形態におけるデータ移動全体制御プログラム２６７０の動作を示す。まず本実施形態のデータ移動全体制御プログラム２６７０は、第１の実施形態と同様に、Ｓ４０２０までの処理を行う。次にデータ移動全体制御プログラム２６７０は、移動原因が容量利用率か否かを判定する（Ｓ４４００）。Ｓ４４００の結果がＮｏである場合、データ移動全体制御プログラム２６７０は、処理をＳ４０２５へ移行させる。Ｓ４４００の結果がＹｅｓである場合、データ移動全体制御プログラム２６７０は、ストレージ装置３０００のストレージ設定プログラム３３４０へボリューム拡張命令を発行し（Ｓ４４０５）、このフローを終了する。本実施形態では、ボリューム拡張命令の結果、ボリューム拡張が不可であった場合においても、そのままフローを終了する。ここで、管理計算機２５００がストレージ装置３０００からあらかじめボリューム拡張可否に関する情報を取得しておき、データ移動全体制御プログラム２６７０がそのボリューム拡張可否情報に基づいてボリューム拡張命令を発行するか否かを判断してもよい。
【０１３５】
このデータ移動全体制御プログラム２６７０の動作により、論理ボリューム３５１０の容量が拡張された場合、ＨＶ１００２は、例えば論理ボリューム３５１０のリスキャン等により論理ボリューム３５１０の容量を再認識することができる。
【０１３６】
（第５の実施形態）
本発明の第５の実施形態について説明する。以下の説明においては、第１の実施形態と異なる構成について特に詳細に説明し、第１の実施形態と同様の構成については詳細な説明を省略する。第１の実施形態のＳ４０５５では、管理計算機２５００のデータ移動全体制御プログラム２６７０が、ストレージ装置３０００側に性能劣化の原因がある場合に性能が改善される移動先を探索する、と例示した。一方、本実施形態において、データ移動全体制御プログラム２６７０は、移動先記憶領域を絞り込む。
【０１３７】
本実施形態のデータ移動全体制御プログラム２６７０の動作について、ＶＭ移動前の状態の具体例を用いて説明する。図３２は、第５の実施形態におけるＶＭ移動前の状態の具体例を示す。本実施形態において、ＨＶ１００２は、論理ボリューム３５１０を用いてデータストア１００３を作成し、幾つかのデータストア１００３のグループであるデータストアクラスタ１００４を作成する。また、ＶＭデータ構成情報テーブル２７６０は、ＶＭ１００１とデータストア１００３とデータストアクラスタ１００４とを関連付け、対象の論理ボリュームがホスト計算機１０００にマウント済みか否かを示す情報を有する。この例において、ストレージ装置３０００には、６個の論理ボリューム３５１０が作成されている。図面及び以下の説明において、これらの論理ボリューム３５１０を夫々ＬＶＡ、ＬＶＢ、ＬＶＣ、ＬＶＤ、ＬＶＥ、ＬＶＦと呼ぶ。これらの論理ボリューム３５１０のうち、ＬＶＡ、ＬＶＢ、ＬＶＣ、ＬＶＤはホスト計算機１０００にマウントされている。
【０１３８】
また、ホスト計算機１０００内には、４個のデータストア１００３が作成されている。図面及び以下の説明において、これらのデータストア１００３を夫々ＤＳＡ、ＤＳＢ、ＤＳＣ、ＤＳＤと呼ぶ。また、ホスト計算機１０００内には、図面及び以下の説明において、データストアクラスタ１００４が作成されている。このデータストアクラスタ１００４をＤＣＡと呼ぶ。ＤＣＡの構成要素は、ＤＳＡ、ＤＳＢ、ＤＳＣである。また、ホスト計算機１０００内には、３個のＶＭ１００１が作成されている。図面及び以下の説明において、これらのＶＭ１００１を夫々ＶＭＡ、ＶＭＢ、ＶＭＣと呼ぶ。ＶＭＡ、ＶＭＢは、ＤＳＡ内に格納されている。ＶＭＣは、ＤＳＢ内に格納されている。
【０１３９】
また、ホスト計算機１０００からストレージ装置３０００へのアクセスの経路には、３個のＣ−Ｉ／Ｆ１２００が用いられている。図面及び以下の説明において、これらのＣ−Ｉ／Ｆ１２００を夫々ＣＩＡ、ＣＩＢ、ＣＩＣと呼ぶ。また、ホスト計算機１０００からストレージ装置３０００へのアクセスの経路には、３個の接続装置５００が用いられている。図面及び以下の説明において、これらの接続装置５００を夫々ＳＷＡ、ＳＷＢ、ＳＷＣと呼ぶ。また、ホスト計算機１０００からストレージ装置３０００へのアクセスの経路には、３個のＨ−Ｉ／Ｆ３１０１が用いられている。図面及び以下の説明において、これらのＨ−Ｉ／Ｆ３１０１を夫々ＨＩＡ、ＨＩＢ、ＨＩＣと呼ぶ。
【０１４０】
ＤＳＡ、ＤＳＢ、ＤＳＣ、ＤＳＤは夫々、ＬＶＡ、ＬＶＢ、ＬＶＣ、ＬＶＤを用いて作成されている。ホスト計算機１０００からＬＶＡへのアクセス経路と、ホスト計算機１０００からＬＶＢへのアクセス経路との夫々は、ＣＩＡ、ＳＷＡ、ＨＩＡを含む。ホスト計算機１０００からＬＶＣへのアクセス経路は、ＣＩＢ、ＳＷＢ、ＨＩＢを含む。ホスト計算機１０００からＬＶＤへのアクセス経路は、ＣＩＣ、ＳＷＣ、ＨＩＣを含む。
【０１４１】
この状態で、ＶＭＡのＶＭ移動の前兆が検知され、その移動原因が、ＣＩＡの高負荷等、ＣＩＡ、ＳＷＡ、ＨＩＡを含むアクセス経路の一部であるとする。
【０１４２】
図３３は、第５の実施形態におけるデータ移動全体制御プログラム２６７０の動作を示す。まず本実施形態のデータ移動全体制御プログラム２６７０は、第１の実施形態と同様に、Ｓ４０５５までの処理を行う。これにより、データ移動全体制御プログラム２６７０は、移動原因として特定された箇所を用いない論理ボリューム３５１０を移動先記憶領域として検出する。前述の具体例において説明すると、データ移動全体制御プログラム２６７０は、Ｓ４０５５により、アクセス経路に移動原因のない論理ボリューム３５１０であるＬＶＣ、ＬＶＤ、ＬＶＥ、ＬＶＦを移動先記憶領域として検出する。即ち、ＣＩＡ、ＳＷＡ、ＨＩＡのアクセス経路をＬＶＡと共有しているＬＶＢは、移動先記憶領域から除外される。
【０１４３】
次にデータ移動全体制御プログラム２６７０は、移動先記憶領域の中から、ホスト計算機１０００にマウントされている論理ボリューム３５１０を選択して新たな移動先記憶領域とする（Ｓ４０５７）。ここでデータ移動全体制御プログラム２６７０は、ＶＭデータ構成情報テーブル２７６０を参照する。前述の具体例において説明すると、データ移動全体制御プログラム２６７０は、Ｓ４０５７により、ホスト計算機１０００にマウント済みの論理ボリューム３５１０であるＬＶＣ、ＬＶＤに、移動先記憶領域を絞り込む。即ち、ホスト計算機１０００にマウントされていないＬＶＥ及びＬＶＦは、移動先記憶領域から除外される。
【０１４４】
次にデータ移動全体制御プログラム２６７０は、移動先記憶領域の中から、同一のデータストアクラスタ１００４に属するデータストア１００３に対応する論理ボリューム３５１０を選択して新たな移動先記憶領域とする（Ｓ４０５８）。ここでデータ移動全体制御プログラム２６７０は、ＶＭデータ構成情報テーブル２７６０を参照する。前述の具体例において説明すると、データ移動全体制御プログラム２６７０は、Ｓ４０５８により、ＶＭＡを格納しているＤＳＡが属しているデータストアクラスタ１００４であるＤＣＡを認識し、ＤＣＡに属しているデータストア１００３であるＤＳＣに対応するＬＶＣに、移動先記憶領域を絞り込む。即ち、ＤＳＡと同一のデータストアクラスタ１００４に属していないＬＶＤは、移動先記憶領域から除外される。その後、データ移動全体制御プログラム２６７０は、Ｓ４０８５により、ＤＳＣをホスト管理計算機２０００へ通知する。
【０１４５】
次にデータ移動全体制御プログラム２６７０は、第１の実施形態と同様のＳ４０６０以降の処理を行う。
【０１４６】
なお、ホスト管理計算機２０００又はホスト計算機１０００は、ＶＭ移動時に管理計算機２５００から移動先記憶領域を通知されていない場合、或いは複数の移動先記憶領域を通知されている場合、移動先記憶領域として利用可能なデータストア１００３の中から、格納しているＶＭ１００１の数が最も少ないデータストア１００３を移動先のデータストア１００３として選択しても良いし、ホスト管理計算機が移動先のデータストア１００３を決定する時に利用しているルールを加味しても良い。ホスト管理計算機が 移動先のデータストア１００３を決定する時に利用しているルールとしては、非特許文献１のｐ．６に示すＡｆｆｉｎｉｔｙ
Ｒｕｌｅｓが例示できる。さらに、これらのルールを、管理計算機がホスト管理計算機から取得して、そのルールに従った移動先データストア１００３を選択してもよい。
【０１４７】
本実施形態によれば、ホスト管理計算機２０００へ通知する移動先記憶領域の選択の精度を向上させることができる。
【０１４８】
（その他の実施形態）
なお、上述の実施形態においては、管理計算機２５００に格納されている各種プログラムに基づいて、管理計算機２５００のＣＰＵ２５１０がトレンド情報管理プログラム２６６０及びデータ移動全体制御プログラム２６７０等の各種機能を実現しているが、本発明はこのような実施形態に限定されない。例えば、ＣＰＵ２５１０を管理計算機２５００とは別体の他の装置に設けて、当該ＣＰＵ２５１０と協働して各種機能を実現するようにしてもよい。また、管理計算機２５００に格納されている各種プログラムを管理計算機２５００とは別体の他の装置に設けて、当該プログラムがＣＰＵ２５１０に呼び出されることにより各種機能を実現するようにしてもよい。
【０１４９】
また、例えば、本明細書の管理計算機２５００等の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、管理計算機２５００等の処理における各ステップは、異なる処理であっても並列的に実行されてもよい。
【０１５０】
また、管理計算機２５００等に内蔵されるＣＰＵや、Ｍｅｍｏｒｙ等のハードウェアを、上述した管理計算機２５００等の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、そのコンピュータプログラムを記憶させた記憶媒体も提供される。
【０１５１】
前述の各実施形態によれば、計算機システムは、階層ストレージ管理を行うストレージ装置３０００とＶＭ移動の制御を行うホスト計算機１０００とを併用することができる。また、ユーザはストレージ装置３０００による階層ストレージ管理の利点とホスト計算機１０００によるＶＭ移動の利点の両方を享受することができる。
【０１５２】
なお、ＶＭ１００１の代わりに、他のプログラムやデータ等のオブジェクトが用いられる場合であっても、各実施形態は適用可能である。これらオブジェクトはホスト計算機１０００により制御され、複数の論理ボリューム３５１０の間を移動する。
【０１５３】
なお、本発明は、上述した実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【０１５４】
以上に説明した技術は、次のように表現することができる。
（表現１）
計算機とストレージ装置とに接続され、
前記ストレージ装置により提供される複数の論理記憶領域を示す第１構成情報と、前記複数の論理記憶領域の中の一つの論理記憶領域内のデータが前記ストレージ装置により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記ストレージ装置の状態を定義する第１条件とを格納するメモリと、
前記メモリに接続されているＣＰＵと、
前記計算機及び前記ストレージ装置との通信を行うネットワークインターフェースと、
を有し、
前記ＣＰＵは、
前記複数の論理記憶領域の中の第１論理記憶領域に格納され前記計算機により実行される前記第１オブジェクトが前記計算機により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記計算機の状態を定義する第２条件を取得し、
前記第１オブジェクトと前記第１論理記憶領域とを関連付ける第２構成情報を取得し、
前記複数の論理記憶領域の状態を示す第１状態情報を前記ストレージ装置から取得し、
前記第１オブジェクトの状態を示す第２状態情報を前記計算機から取得し、
前記第１条件と前記第２条件と前記第１状態情報と前記第２状態情報とに基づいて、前記第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態であるか否かを判断し、
前記データ移動が実行される状態である場合、前記第１構成情報及び前記第２構成情報に基づいて、前記状態の原因を特定し、前記原因に基づいて前記データ移動を制御し、
前記複数の論理記憶領域は、互いに異なる性能を有する複数の記憶媒体を夫々用いる、
ことを特徴とした管理計算機。
【０１５５】
（表現２）
計算機にアクセスされるストレージ装置と、
前記計算機と前記ストレージ装置に接続される管理計算機とを有し、
前記ストレージ装置は、複数の論理記憶領域を提供し、前記ストレージ装置の状態が第１条件を満たす場合に、前記複数の論理記憶領域の中の一つの論理記憶領域内のデータを前記複数の論理記憶領域の中の他の論理記憶領域へ移動させ、
前記管理計算機は、
前記複数の論理記憶領域を示す第１構成情報と前記第１条件とを格納するメモリと、
前記メモリに接続されているＣＰＵと、
前記計算機及び前記ストレージ装置との通信を行うネットワークインターフェースと、
を有し、
前記ＣＰＵは、
前記複数の論理記憶領域の中の第１論理記憶領域に格納され前記計算機により実行される前記第１オブジェクトが前記計算機により前記複数の論理記憶領域の中の他の論理記憶領域へ移動する契機として前記計算機の状態を定義する第２条件を取得し、
前記第１オブジェクトと前記第１論理記憶領域とを関連付ける第２構成情報を取得し、
前記複数の論理記憶領域の状態を示す第１状態情報を前記ストレージ装置から取得し、
前記第１オブジェクトの状態を示す第２状態情報を前記計算機から取得し、
前記第１条件と前記第２条件と前記第１状態情報と前記第２状態情報とに基づいて、前記第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態であるか否かを判断し、
前記データ移動が実行される状態である場合、前記第１構成情報及び前記第２構成情報に基づいて、前記状態の原因を特定し、前記原因に基づいて前記データ移動を制御し、
前記複数の論理記憶領域は、互いに異なる性能を有する複数の記憶媒体を夫々用いる、
ことを特徴としたストレージシステム。
【０１５６】
これらの表現において、第１構成情報は例えば、ボリューム物理論理記憶領域対応テーブル２８００とボリュームリソース情報テーブル２９００と外部ストレージ構成情報テーブル２９５０とに対応する。また、第２構成情報は例えば、ＶＭデータ構成情報テーブル２７６０に対応する。また、第１条件は例えば、ページ移動ルールテーブル２７８０に対応する。また、第２条件は例えば、ＶＭ移動ルールテーブル２６９０に対応する。また、論理記憶領域は例えば、論理ボリューム３５１０に対応する。また、ネットワークインターフェースは例えば、Ｉ／Ｆ２５０５に対応する。第１論理記憶領域から他の論理記憶領域へのデータ移動が実行される状態である場合は例えば、データ移動の前兆が検知された場合、ユーザ操作を受け付けたことを契機としてデータ移動が行われる場合に対応する。
【符号の説明】
【０１５７】
５００：接続装置  １０００：ホスト計算機  １００１：ＶＭ（Virtual Machine）  １００２：ＨＶ（Hypervisor）  １５００：データネットワーク  １５５０：管理ネットワーク  ２０００：ホスト管理計算機  ２２１０：ＶＭ構成管理プログラム  ２２２０：ＶＭ性能管理プログラム  ２２３０：ＶＭ移動制御プログラム  ２５００：管理計算機  ２６１０：ＶＭ情報取得プログラム  ２６３０：ストレージ情報取得プログラム  ２６５０：接続装置情報取得プログラム  ２６６０：トレンド情報管理プログラム  ２６７０：データ移動全体制御プログラム  ２６８０：データ移動原因特定プログラム  ２６９０：ＶＭ移動ルールテーブル  ２７００：ＶＭ性能情報テーブル  ２７１０：ストレージポートカタログ性能情報テーブル  ２７２０：ストレージポート性能測定値テーブル  ２７３０：ストレージメディアカタログ性能テーブル  ２７４０：接続装置カタログ性能テーブル  ２７５０：接続装置性能測定値テーブル  ２７６０：ＶＭデータ構成情報テーブル  ２７８０：ページ移動ルールテーブル  ２７９０：ボリューム性能情報テーブル  ２８００：ボリューム物理論理記憶領域対応テーブル  ２９００：ボリュームリソース情報テーブル  ２９５０：外部ストレージ構成情報テーブル  ３０００：ストレージ装置  ３５１０：論理ボリューム
【図１】
0005926373.tif 000002
【図２】
0005926373.tif 000003
【図３】
0005926373.tif 000004
【図４】
0005926373.tif 000005
【図５】
0005926373.tif 000006
【図６】
0005926373.tif 000007
【図７】
0005926373.tif 000008
【図８】
0005926373.tif 000009
【図９】
0005926373.tif 000010
【図１０】
0005926373.tif 000011
【図１１】
0005926373.tif 000012
【図１２】
0005926373.tif 000013
【図１３】
0005926373.tif 000014
【図１４】
0005926373.tif 000015
【図１５】
0005926373.tif 000016
【図１６】
0005926373.tif 000017
【図１７】
0005926373.tif 000018
【図１８】
0005926373.tif 000019
【図１９】
0005926373.tif 000020
【図２０】
0005926373.tif 000021
【図２１】
0005926373.tif 000022
【図２２】
0005926373.tif 000023
【図２３】
0005926373.tif 000024
【図２４】
0005926373.tif 000025
【図２５】
0005926373.tif 000026
【図２６】
0005926373.tif 000027
【図２７】
0005926373.tif 000028
【図２８】
0005926373.tif 000029
【図２９】
0005926373.tif 000030
【図３０】
0005926373.tif 000031
【図３１】
0005926373.tif 000032
【図３２】
0005926373.tif 000033
【図３３】
0005926373.tif 000034