(57)【要約】【課題】移動後の仮想マシンにおけるアレイグループへの入出力（Ｉ／Ｏ）を考慮した仮想マシンの移動を行うことを目的とする。【解決手段】仮想マシン２５０が実行されている物理サーバ２と、アレイグループ３３を有するストレージ装置３と、仮想マシン２５０と、アレイグループ３３の対応付を管理している管理サーバ１を有する計算機システムであって、移動後の仮想マシン２５０の予測Ｉ／Ｏ量を算出し、移動後の仮想マシン２５０に接続しているアレイグループ３３の最大Ｉ／Ｏ量を、前記予測Ｉ／Ｏ量が超えていた場合、最大Ｉ／Ｏ量が、予測Ｉ／Ｏ量を下回るアレイグループ３３を検索することを特徴とする。【選択図】図１
2010108409.tif 000002
【特許請求の範囲】
【請求項１】
物理サーバで稼動している仮想マシンと、ストレージ装置とを有するとともに、前記仮想マシンと、前記物理サーバとの関連付け、および前記仮想マシンと前記ストレージ装置との関連付けを管理する管理サーバをさらに有する計算機システムにおけるストレージ管理方法であって、
前記管理サーバは、
記憶部にストレージ装置における記憶デバイスの許容入出力データ量に関する許容入出力情報が記憶されており、
前記管理サーバが、
現在仮想マシンが搭載されている物理サーバから、入力部を介して、あらかじめ選択されている他の前記物理サーバへ当該仮想マシンを移動する際に、
移動する前記仮想マシンに関する機器情報を取得し、
前記取得した機器情報を基に、移動後の仮想マシンにおける予測される入出力データ量である予測入出力データ量の算出を行い、
前記算出された予測入出力データ量が、前記仮想マシンがアクセス可能な記憶デバイスにおける許容入出力データ量以上である場合、前記許容入出力データ量が、前記予測入出力データ量を下回る記憶デバイスを検索し、
前記検索した記憶デバイスと、移動する仮想マシンを関連付けた後、
前記移動する仮想マシンを、他の物理サーバへ移動する
ことを特徴とするストレージ管理方法。
【請求項２】
前記記憶部には、前記移動後の仮想マシンにおける複数の予測入出力データ量が、前記仮想マシンに関する機器情報としての、前記物理サーバおよび前記仮想マシンの機器情報に対応して保持されている予測入出力データ量情報が格納されており、
前記管理サーバが
移動する仮想マシンおよび移動先の物理サーバにおける機器情報を基に、前記予測入出力データ量情報から、対応する前記予測入出力データ量を取得することによって、前記予測入出力データ量の算出を行う
ことを特徴とする請求項１に記載のストレージ管理方法
【請求項３】
前記記憶部には、前記移動後の仮想マシンにおける複数の予測入出力データ量が、前記仮想マシンに関する機器情報としての、アプリケーションおよび当該アプリケーションを使用している仮想マシンの機器情報に対応して保持されている予測入出力データ量情報が格納されており、
前記管理サーバが、
移動する仮想マシンにおけるアプリケーションおよび当該移動する仮想マシンの機器情報を基に、前記予測入出力データ量情報から、対応する前記予測入出力データ量を取得することによって、前記予測入出力データ量の算出を行うことを特徴とする
ことを特徴とする請求項１に記載のストレージ管理方法。
【請求項４】
前記記憶部には、前記移動する仮想マシンに関する過去の機器情報及び過去の入出力データ量が記憶されており、
前記管理サーバが、
移動前の前記仮想マシンを実行している物理サーバにおける前記過去の機器情報が、当該機器情報の機器の性能の限界値を超えていない限界値未満である時間を取得し、
前記取得した時間における前記過去の入出力データ量を取得し、
前記取得した過去の入出力データ量における、前記時間との関係式を算出し、
前記関係式を基に、所定の時間における入出力データ量を算出し、
当該算出した入出力データ量を、前記予測入出力データ量とする
ことを特徴とする請求項１に記載のストレージ管理方法。
【請求項５】
前記記憶デバイスは、前記記憶デバイス間の階層構造を有しており、
前記管理サーバは、
前記許容入出力データ量が、前記予測入出力データ量を下回る記憶デバイスを検索する際に、当該記憶デバイスが所属する階層におけるストレージ装置で検索を行い、当該階層におけるストレージ装置で、前記予測入出力データ量を下回る記憶デバイスが検出できなかった場合、上位の階層に属すストレージ装置を検索する
ことを特徴とする請求項１に記載のストレージ管理方法。
【請求項６】
入出力部を介して、前記仮想マシンの移動先物理サーバにおけるＣＰＵ割当量と、メモリ割当量と、を設定することが可能な
ことを特徴とする請求項１に記載のストレージ管理方法。
【請求項７】
前記管理サーバが、
前記予測入出力データ量を基に、前記仮想マシンが使用している記憶デバイスにおける入出力データの制限値を設定し、
前記物理サーバによる前記仮想マシンの移動後、
前記仮想マシンの入出力データ量を監視しており、
前記仮想マシンの入出力データ量が、前記制限値を超えた場合、前記許容入出力データ量が、前記予測入出力データ量を下回る記憶デバイスを検索する
ことを特徴とする請求項１に記載のストレージ管理方法。
【請求項８】
前記管理サーバが、
前記仮想マシンの入出力データ量に加え、前記ストレージ装置のポートにおける入出力データ量も監視する
ことを特徴とする請求項７に記載のストレージ管理方法。
【請求項９】
仮想マシンと、物理サーバとの関連付け、および前記仮想マシンとストレージ装置との関連付けを管理している管理サーバであって、
ストレージ装置における記憶デバイスの許容入出力データ量に関する許容入出力情報が記憶されている記憶部と、
現在仮想マシンが搭載されている物理サーバから、入力部を介して、あらかじめ選択されている他の前記物理サーバへ当該仮想マシンを移動する際に、移動する前記仮想マシンに関する機器情報を取得し、前記取得した機器情報を基に、移動後の仮想マシンにおける予測される入出力データ量である予測入出力データ量の算出を行う予測値算出部と、
前記算出された予測入出力データ量が、前記仮想マシンがアクセス可能な記憶デバイスにおける許容入出力データ量以上である場合、前記許容入出力データ量が、前記予測入出力データ量を下回る記憶デバイスを検索する検索部と、
前記検索した記憶デバイスと、移動する仮想マシンを関連付けるストレージ構成変更部と、
前記移動する仮想マシンを、他の物理サーバへ移動する仮想マシン構成変更部と、
を有することを特徴とする管理サーバ。
【請求項１０】
前記記憶部には、前記移動後の仮想マシンにおける予測入出力データ量が、前記仮想マシンに関する機器情報としての、前記物理サーバおよび前記仮想マシンの機器情報に対応して保持されている予測入出力データ量情報が格納されており、
前記予測値算出部は、
移動する仮想マシンおよび移動先の物理サーバにおける機器情報を基に、前記予測入出力データ量情報から、対応する前記予測入出力データ量を取得することによって、前記予測入出力データ量の算出を行う
ことを特徴とする請求項９に記載の管理サーバ。
【請求項１１】
前記記憶部には、前記移動後の仮想マシンにおける予測入出力データ量が、前記仮想マシンに関する機器情報としての、アプリケーションおよび当該アプリケーションを使用している仮想マシンの機器情報に対応して保持されている予測入出力データ量情報が格納されており、
前記予測値算出部は、
移動する仮想マシンにおけるアプリケーションおよび当該移動する仮想マシンの機器情報を基に、前記予測入出力データ量情報から、対応する前記予測入出力データ量を取得することによって、前記予測入出力データ量の算出を行う機能を
さらに有することを特徴とする請求項９に記載の管理サーバ。
【請求項１２】
前記記憶部には、前記移動する仮想マシンに関する過去の機器情報及び過去の入出力データ量が記憶されており、
前記予測値算出部は、
移動前の前記仮想マシンを実行している物理サーバにおける前記過去の機器情報が、当該機器情報の機器の性能の限界値を超えていない限界値未満である時間の取得、前記取得した時間における前記過去の入出力データ量の取得、前記取得した過去の入出力データ量における、前記時間との関係式の算出、お前記関係式を基にした所定の時間における入出力データ量の算出、および当該算出した入出力データ量を、前記予測入出力データ量とする機能を
さらに有することを特徴とする請求項９に記載の管理サーバ。
【請求項１３】
前記記憶デバイスは、前記記憶デバイス間の階層構造を有しており
前記検索部は、
前記記許容入出力データ量が、前記予測入出力データ量を下回る記憶デバイスを検索する際に、当該記憶デバイスが所属する階層におけるストレージ装置で検索を行い、当該階層におけるストレージ装置で、前記予測入出力データ量を下回る記憶デバイスが検出できなかった場合、上位の階層に属すストレージ装置を検索する機能を
さらに有することを特徴とする請求項９に記載の管理サーバ。
【請求項１４】
入出力部を介して、前記仮想マシンの移動先物理サーバにおけるＣＰＵ割当量と、メモリ割当量と、を設定することが可能な
ことを特徴とする請求項９に記載の管理サーバ。
【請求項１５】
前記予測値算出部は、
前記予測入出力データ量を基に、前記仮想マシンが使用している記憶デバイスにおける入出力データの制限値を設定する機能を
さらに備え
前記検索部は、
前記物理サーバによる前記仮想マシンの移動後、前記仮想マシンの入出力データ量を監視し、前記仮想マシンの入出力データ量が、前記制限値を超えた場合、前記許容入出力データ量が、前記予測入出力データ量を下回る記憶デバイスを検索する機能を
さらに有することを特徴とする請求項９に記載の管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ管理方法及び管理サーバの技術に関する。
【背景技術】
【０００２】
各種業務のＩＴ（Information Technology）化に伴い企業が保持する物理サーバ数やデータ数は増え続けている。こうした状況から、増え続けてきた物理サーバを集約し、台数を減らすことを目的としたサーバ仮想化技術やＳＡＮ（Storage Area Network）によるストレージ集約が注目を集めている。この背景には、物理サーバ群やストレージ装置群の高密度化による消費電力量と排熱量の増加、物理サーバおよびストレージ装置の台数増加によるフロアスペースの逼迫といった問題を解決したいという企業の考えがある。
【０００３】
サーバ仮想化技術とは、一台の物理サーバを仮想的な複数のマシン（以降ではこの仮想的なマシンを仮想マシンと呼ぶ）に分割し、それぞれの仮想マシンに物理サーバのＣＰＵ（Central Processing Unit）やメモリなどといった計算機資源を割り当て、この仮想マシンが、ＯＳ（Operating System）やアプリケーションを実行可能とする技術である。サーバ仮想化技術の一例として、異なる物理サーバ間で仮想マシンの再配置を行う技術がある（例えば、特許文献１参照）。
【０００４】
特許文献１に記載の技術では、仮想マシンに割り当てた物理サーバの計算機資源が枯渇すると、より多くの計算機資源を割当可能な物理サーバを検索し、条件を満たす物理サーバが存在する場合にこのサーバに前記仮想マシンを移動させ、さらに、計算機資源を割り当てる技術である。このように、サーバ仮想化技術により、新たな物理サーバを購入せずに、現在使用されていない計算機資源を用いて性能問題を解決することが可能となる。その結果、企業が保有する総物理サーバ数を減らすことができる。
【０００５】
次に、ＳＡＮによるストレージ集約について説明する。ストレージ集約を実施していない環境では、各サーバに専用のストレージ装置を用意する必要があった。サーバ毎に専用のストレージ装置を用意した場合、各ストレージ装置に存在する未使用ディスクを有効活用することができず、結果として保有するディスク容量が膨大となるといった課題があった。ＳＡＮによるストレージ集約では、サーバとストレージ装置をネットワークで接続することで、単一のストレージ装置を複数のサーバで共有可能とする。これにより、未使用ディスクを複数のサーバで共有することができ、その結果、企業が保有するストレージ装置およびディスク容量を減らすことが可能となる。
【０００６】
このように、サーバ仮想化とＳＡＮによるストレージ集約を組み合わせて使用することで、企業が抱える物理サーバおよびストレージ装置の台数を減らすことができる。
【特許文献１】米国特許６８０２０６２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のサーバ仮想化技術は、仮想マシン上で性能問題が発生した場合、仮想マシンを別の物理サーバへ移動することで、計算機資源の追加購入なしに性能問題を解決するものであった。一方、仮想マシン上の性能問題を解決すると、ストレージ装置へのＩ／Ｏ（Input/Output）量が増加する場合がある。具体的には、計算機資源が不足している物理サーバから、計算機資源が充足している物理サーバへ仮想マシンを移動すると、移動した仮想マシンは、より多くの計算機資源を利用することができる。そして、これに伴い、移動した仮想マシンにおけるＩ／Ｏ量も増大することが考えられる。その結果、ストレージ装置へのＩ／Ｏ負荷も増大し、ストレージ装置の最大Ｉ／Ｏ処理量を上回り、ストレージ装置を使用する他のアプリケーションにおけるＩ／Ｏ性能低下が発生する可能性がある。従来の技術では、仮想マシンの移動に伴うストレージ装置側で発生し得るＩ／Ｏ性能低下を事前に予測していなかったため、仮想マシンの移動によってあるアプリケーションの性能問題を解決すると別のアプリケーションで性能問題を引き起こす可能性があった。
【０００８】
以下では、従来の技術を使用した場合にストレージ装置へのＩ／Ｏ量が増加する理由について詳細に説明する。
仮想マシンの移動に伴い、この仮想マシンに多くの計算機資源を割当てることにより、これらの仮想マシンで動作するアプリケーションの処理量が増加する可能性がある。また、アプリケーションの処理量増加に伴い、アプリケーションが使用するストレージ装置へのＩ／Ｏ負荷も増加し得る。さらに、このストレージ装置へのＩ／Ｏ負荷増大により前記ストレージ装置へのＩ／Ｏ負荷が最大Ｉ／Ｏ処理量を上回り、そのストレージ装置を共有する他のアプリケーションのＩ／Ｏ性能が劣化し、性能問題が発生する可能性がある。このように、従来技術では、より多くの仮想資源を仮想マシンに割り当てた結果、仮想マシンとストレージ装置を共有する他のアプリケーションのＩ／Ｏ性能が低下する可能性がある。
【０００９】
前記課題に鑑みて、本発明は、移動後の仮想マシンにおけるアレイグループへの入出力（Ｉ／Ｏ）を考慮した仮想マシンの移動を行うことを目的とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するため、本発明は、移動後の仮想マシンの予測入出力データ量を算出し、移動後の仮想マシンによってアクセス可能な記憶デバイスの最大入出力データ量を、前記予測入出力データ量が超えていた場合、最大入出力データ量が、前記予測入出力データ量を下回る記憶デバイスを検索することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、移動後の仮想マシンにおけるアレイグループへの入出力（Ｉ／Ｏ）を考慮した仮想マシンの移動を行うことができる。
【発明を実施するための最良の形態】
【００１２】
次に、本発明を実施するための最良の形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
以下の実施形態におけるストレージ管理システムでは、本発明に不必要な機能や詳細を省略しているため、一般的なストレージ管理システムと比べて単純化されているが、本発明の適用範囲が制限されるわけではない。
【００１３】
《システム構成》
図１は、本実施形態に係る計算機システムの構成例を示す図である。
計算機システムＡは、複数のストレージ装置３と、複数の物理サーバ２と、管理サーバ１とを有してなる。各ストレージ装置３および各物理サーバ２は、ＳＡＮ４を介して互いに接続されている。また、各物理サーバ２と、各ストレージ装置と、管理サーバ１とは、管理ＬＡＮ（Local Area Network）５を介して互いに接続されている。物理サーバ２とＳＡＮ４との接続はＨＢＡ（Host Bus Adaptor）２３を経由し、ストレージ装置３とＳＡＮ４との接続はＳＡＮ用ポート３５を経由して接続される。各装置１〜３における管理ＬＡＮ５との接続は、ＬＡＮ用ポート１６，２５，３４を経由して接続される。
【００１４】
（物理サーバ）
各物理サーバ２は、ＣＰＵ２２と、メモリ２１と、デバイスファイル２４と、ＨＢＡ２３と、ＬＡＮ用ポート２５とを有している。各物理サーバ２では、格納された物理サーバ性能情報取得エージェント２６２、ハイパバイザプログラム（以下、ハイパバイザ２６０と記載）、および複数の仮想マシン２５０がメモリ２１に展開され、ＣＰＵ２２によって実行されることにより具現化している。デバイスファイル２４については、後記する。
【００１５】
ハイパバイザ２６０は、各仮想マシン２５０が使用できるメモリ２１の使用量、ＣＰＵ２２の使用量、デバイスファイル２４へのＩ／Ｏ使用量を制御する機能を有するプログラムである。また、ハイパバイザ２６０は、仮想マシン２５０を他の物理サーバ２へ移動する機能も有している。ハイパバイザ２６０内で実行されている仮想マシン仕様情報取得エージェント２６１は、各仮想マシン２５０に割当てられたＣＰＵ割当量や、メモリ割当量などの仕様情報をハイパバイザ２６０から取得する機能を有するプログラムである。
【００１６】
仮想マシン２５０は、ＣＰＵ２２、メモリ２１、デバイスファイル２４などを仮想マシン２５０上で稼動するアプリケーション２５１などに割り当てることにより、具現化するプログラムである。仮想マシン２５０内で実行されているアプリケーション２５１は、仮想マシン２５０に割当てられたＣＰＵ２２や、メモリ２１などの計算機資源を使用して業務処理を実行する機能を有するプログラムである。また、仮想マシン２５０内で実行されている仮想マシン性能情報取得エージェント２５２は、仮想マシン２５０から仮想マシン２５０自身の性能情報を取得する機能を有するプログラムである。
【００１７】
物理サーバ性能情報取得エージェント２６２は、物理サーバ２自身の性能情報を取得する機能を有するプログラムである。
【００１８】
（管理サーバ）
管理サーバ１は、ＣＰＵ１３と、メモリ１１と、ＬＡＮ用ポート１６と、表示装置１４と、入力装置１５と、記憶装置１２（記憶部）とを有している。
メモリ１１には、管理プログラム１１０が展開され、ＣＰＵ１３によって実行されることにより具現化している。管理プログラム１１０内には、サーバＩ／Ｏ量変化予測プログラム１１１（予測値算出部）、マイグレーション先候補検索エンジン１１２（検索部）、ストレージ構成変更プログラム１１３（ストレージ構成変更部）、仮想マシン構成変更プログラム１１４（仮想マシン構成変更部）などの各プログラムが実行されている。管理プログラム１１０内で実行されている各プログラムの詳細は、後記して説明する。
記憶装置１２内には、図２〜図１３を参照して後記する各テーブルを保持しているデータ格納用ＤＢ(Data Base)１２０が格納されている。
【００１９】
（ストレージ装置）
ストレージ装置３は、ＣＰＵ３６と、メモリ３１と、少なくとも１つのＳＡＮ用ポート３５とＬＡＮ用ポート３４と、少なくとも１つのＬＤＥＶ３２（Logic Device）と、少なくとも１つのアレイグループ３３（記憶デバイス）を有している。
メモリ３１には、コントローラプログラム（以下、コントローラ３１１と記載）が展開され、ＣＰＵ３６によって実行されることにより具現化している。
ここで、コントローラ３１１は、複数のディスクから特定のＲＡＩＤ（Redundant Array of Inexpensive Disks）レベルを持つアレイグループ３３を構築している。さらにコントローラ３１１は、アレイグループ３３から指定された容量を持つ仮想ボリュームを生成する。本実施形態では、この仮想ボリュームをＬＤＥＶ３２と呼ぶこととする。また、コントローラ３１１は、ＬＤＥＶ３２内にあるデータを別のアレイグループ３３に移動する機能も有する。なお、生成されたＬＤＥＶ３２は、ＳＡＮ用ポート３５およびＨＢＡ２３を経由して物理サーバ２に公開される。これにより、物理サーバ２は公開されたＬＤＥＶ３２をデバイスファイル２４として認識することができる。
【００２０】
また、コントローラ３１１内には、ストレージ情報取得エージェント３１２が実行されている。ストレージ情報取得エージェント３１２は、コントローラ３１１より、ストレージ装置３内のＬＤＥＶ３２と、ＬＤＥＶ３２を構成するアレイグループ３３の性能情報を取得する機能を有するプログラムである。コントローラ３１１は、ＬＤＥＶ３２と、アレイグループ３３の性能情報を取得する機能も有し、ストレージ情報取得エージェント３１２とともに、あるＬＤＥＶ３２内のデータを他のＬＤＥＶ３２へ移動させる機能も有する。
なお、アレイグループを構成する記憶デバイスは、ＨＤ（Hard Disk）に限らず、フラッシュメモリなどを用いてもよい。
【００２１】
《テーブル》
次に、図１を参照しつつ、図２〜図１２に沿って、本実施形態に係る各テーブルについて説明する。
【００２２】
（仮想マシン性能情報テーブル）
図２は、本実施形態に係る仮想マシン性能情報テーブルの例を示す図である。
仮想マシン性能情報テーブル２００は、各仮想マシン２５０の性能情報を格納するテーブルであり、ＶＭ（Vertual Machine）名（カラム２０１）、ＡＰ名（Application）（カラム２０２）、ＣＰＵ利用率（カラム２０３）、メモリ利用率（カラム２０４）、稼働率（カラム２０５）、ＲａｎｄＲｅａｄＩＯＰＳ（Random Read I/O Per Second）（カラム２０６）、ＲａｎｄＷｒｉｔｅＩＯＰＳ（Random Write I/O Per Second）（カラム２０７）、ＳｅｑＲｅａｄＩＯＰＳ（Seqencial Read I/O Per Second）（カラム２０８）、ＳｅｑＷｒｉｔｅＩＯＰＳ（Seqencial Write I/O Per Second）（カラム２０９）、ＲａｎｄＲｅａｄＩ／Ｏデータ転送量（カラム２１０）、ＳｅｑＲｅａｄＩ／Ｏデータ転送量（カラム２１１）、ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量（カラム２１２）、ＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量（カラム２１３）、データ収集時刻（カラム２１４）を有するテーブルである。
【００２３】
カラム２０１のＶＭ名は、対象となる仮想マシン２５０の名称であり、カラム２０２のＡＰ名は、対象となるアプリケーション２５１の名称である。カラム２０３のＣＰＵ利用率およびカラム２０４のメモリ利用率は、データを収集した時刻における該当する仮想マシンに割り当てられたＣＰＵ２２およびメモリ２１の利用率であり、単位は「％」である。カラム２０５の稼働率は、仮想マシン２５０がデバイスファイル２４（つまり、ＬＤＥＶ３２）に対して１秒間にＩ／Ｏ処理を行っている割合である。
【００２４】
ここで、「ＲａｎｄＲｅａｄ」は、ランダムリードの略であり、「ＲａｎｄＷｒｉｔｅ」は、ランダムライトの略であり、それぞれディスク上の連続していない領域に対するデータの書込・読込方法である。また、ＩＯＰＳは、１秒あたりのディスクに対するＩ／Ｏ処理の回数である。つまり、カラム２０６のＲａｎｄＲｅａｄＩＯＰＳ」は、仮想マシン２５０が、ディスクに対してランダムリードを行うとき、１秒間に処理できるＩ／Ｏ処理の回数であり、カラム２０７のＲａｎｄＷｒｉｔｅＩＯＰＳは、仮想マシン２５０が、ディスクに対してランダムライトを行うとき、１秒間に処理できるＩ／Ｏ処理の回数である。
【００２５】
また、「ＳｅｑＲｅａｄ」は、シーケンシャルリードの略であり、「ＳｅｑＷｒｉｔｅ」は、シーケンシャルライトの略であり、それぞれディスク上の連続している領域に対するデータの書込・読込方法である。つまり、カラム２０８のＳｅｑＲｅａｄＩＯＰＳは、仮想マシン２５０が、ディスクに対してシーケンシャルリードを行うとき、１秒間に処理できるＩ／Ｏ処理の回数であり、カラム２０９のＳｅｑＷｒｉｔｅＩＯＰＳは、仮想マシン２５０が、ディスクに対してシーケンシャルライトを行うとき、１秒間に処理できるＩ／Ｏ処理の回数である。
なお、ＲａｎｄＲｅａｄＩＯＰＳ（カラム２０６）、ＲａｎｄＷｒｉｔｅＩＯＰＳ（カラム２０７）、ＳｅｑＲｅａｄＩＯＰＳ（カラム２０８）およびＳｅｑＷｒｉｔｅＩＯＰＳ（カラム２０９）の単位は、「回」である。
【００２６】
Ｉ／Ｏデータ転送量とは、１秒間にやりとりするＩ／Ｏデータの転送量を示す。つまり、カラム２１０のＲａｎｄＲｅａｄＩ／Ｏデータ転送量は、仮想マシン２５０が、ディスクに対してランダムリードを行うとき、１秒間にやりとりするＩ／Ｏデータの転送量であり、カラム２１２のＲａｎｄＷｒｉｔｅＩＯデータ転送量は、仮想マシン２５０が、ディスクに対してランダムライトを行うとき、１秒間にやりとりするＩ／Ｏデータの転送量である。
【００２７】
同様に、カラム２１１のＳｅｑＲｅａｄＩ／Ｏデータ転送量は、仮想マシン２５０が、ディスクに対してシーケンシャルリードを行うとき、１秒間にやりとりするＩ／Ｏデータの転送量であり、カラム２１３のＳｅｑＷｒｉｔｅＩＯデータ転送量は、仮想マシン２５０が、ディスクに対してシーケンシャルライトを行うとき、１秒間にやりとりするＩ／Ｏデータの転送量である。
なお、ＲａｎｄＲｅａｄＩＯデータ転送量（カラム２１０）、ＲａｎｄＷｒｉｔｅＩＯデータ転送量（カラム２１２）、ＳｅｑＲｅａｄＩＯデータ転送量（カラム２１１）およびＳｅｑＷｒｉｔｅＩＯデータ転送量（カラム２１３）の単位は、「Ｍｂｐｓ」である。
【００２８】
また、ＲａｎｄＲｅａｄＩＯＰＳ、ＲａｎｄＷｒｉｔｅＩＯＰＳ、ＳｅｑＲｅａｄＩＯＰＳおよびＳｅｑＷｒｉｔｅＩＯＰＳをまとめてＩＯＰＳと適宜記載し、ＲａｎｄＲｅａｄＩＯデータ転送量、ＲａｎｄＷｒｉｔｅＩＯデータ転送量、ＳｅｑＲｅａｄＩＯデータ転送量およびＳｅｑＷｒｉｔｅＩＯデータ転送量をまとめてＩＯデータ転送量と適宜記載することとする。また、ＩＯＰＳおよびＩＯデータ転送量をまとめてＩＯ量（入出力データ量）と適宜記載することとする。
【００２９】
データ収集時刻は、該当するデータを収集した時刻である。データ収集時刻は、例えば、データを収集し始めた時刻や、データを収集し終えた時刻である。
【００３０】
仮想マシン２５０における仮想マシン性能情報取得エージェント２５２が、仮想マシン２５０毎のＣＰＵ利用率や、メモリ利用率や、各ＩＯＰＳ、各Ｉ／Ｏデータ転送量などといった性能情報を定期的に取得し、組の情報として管理サーバ１へ送る。この仮想マシン２５０の性能情報を受信した管理サーバ１の管理プログラム１１０は、受信した仮想マシン２５０の性能情報を、仮想マシン性能情報テーブル２００の各カラム２０１〜２１４に登録することによって、仮想マシン性能情報テーブル２００が生成される。
【００３１】
（仮想マシン仕様情報テーブル）
図３は、本実施形態に係る仮想マシン仕様情報テーブルの例を示す図である。
仮想マシン仕様情報テーブル３００は、各仮想マシン２５０における使用可能な最大計算機資源量を格納するテーブルであり、ＶＭ名（カラム３０１）、ＣＰＵ割当量（カラム３０２）、メモリ割当量（カラム３０３）をカラムに有するテーブルである。
カラム３０１のＶＭ名は、図２のカラム２０１と同様のデータであるため、説明を省略する。カラム３０２のＣＰＵ割当量は、該当する仮想マシン２５０に割当てられているＣＰＵの最大量であり、単位は「ＧＨｚ」である。カラム３０３のメモリ割当量は、該当する仮想マシン２５０に割当てられ散るメモリの最大量であり、単位は「ＧＢ」である。
【００３２】
ハイパバイザ２６０における仮想マシン仕様情報取得エージェント２６１が、仮想マシン２５０毎のＣＰＵ割当量や、メモリ割当量などといった仕様情報を、新たな仮想マシン２５０が設定されたときに取得し、組の情報として管理サーバ１へ送る。この仮想マシン２５０の仕様情報を受信した管理サーバ１の管理プログラム１１０は、受信した仮想マシン２５０の仕様情報を、仮想マシン仕様情報テーブル３００の各カラム３０１〜３０３に登録することによって、仮想マシン仕様情報テーブル３００が生成される。
【００３３】
（物理サーバ性能情報テーブル）
図４は、本実施形態に係る物理サーバ性能情報テーブルの例を示す図である。
物理サーバ性能情報テーブル４００は、各物理サーバ２の性能情報を格納するテーブルであり、物理サーバ名（カラム４０１）、ＣＰＵ利用率（カラム４０２）、メモリ利用率（カラム４０３）、稼働率（カラム４０４）、ＲａｎｄＲｅａｄＩＯＰＳ（カラム４０５）、ＲａｎｄＷｒｉｔｅＩＯＰＳ（カラム４０６）、ＳｅｑＲｅａｄＩＯＰＳ（カラム４０７）、ＳｅｑＷｒｉｔｅＩＯＰＳ（カラム４０８）、ＲａｎｄＲｅａｄＩ／Ｏデータ転送量（カラム４０９）、ＳｅｑＲｅａｄＩ／Ｏデータ転送量（カラム４１０）、ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量（カラム４１１）、ＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量（カラム４１２）およびデータ収集時刻（カラム４１３）を有するテーブルである。
カラム４０１の物理サーバ名は、該当する物理サーバ２の名称が格納されるカラムである。また、カラム４０２〜４１３は、図２のカラム２０２〜２１３のデータにおいて、仮想マシン２５０に関するデータが、物理マシンに関するデータとなったものであるため、説明を省略する。
【００３４】
物理サーバ２における物理サーバ性能情報取得エージェント２６２が、物理サーバ２のＣＰＵ利用率や、メモリ利用率や、各ＩＯＰＳ、各Ｉ／Ｏデータ転送量などといった性能情報を定期的に取得し、組の情報として管理サーバ１へ送る。この物理サーバ２の性能情報を受信した管理サーバ１の管理プログラム１１０は、受信した物理サーバ２の性能情報を、物理サーバ性能情報テーブル４００の各カラム４０１〜４１３に登録することによって、物理サーバ性能情報テーブル４００が生成される。
【００３５】
（物理サーバ仕様情報テーブル）
図５は、本実施形態に係る物理サーバ仕様情報テーブルの例を示す図である。
物理サーバ仕様情報テーブル５００は、各物理サーバ２の仕様情報を格納したテーブルであり物理サーバ名（カラム５０１）、ＣＰＵ量（カラム５０２）、メモリ量（カラム５０３）、最大Ｉ／Ｏデータ転送量（カラム５０４）を有する。
カラム５０１の物理サーバ名は、図４のカラム４０１と同様のデータであるため、説明を省略する。カラム５０２のＣＰＵ量は、該当する物理サーバ２に搭載されているＣＰＵの性能値であり、単位は「ＧＨｚ」である。カラム５０３のメモリ量は、該当する物理サーバ２に搭載されているメモリの性能値（容量値）であり、単位は「ＧＢ」である。カラム５０４の最大Ｉ／Ｏデータ転送量は、該当する物理サーバ２における最大のデータ転送量であり、単位は「Ｍｂｐｓ」である。データ転送量については、前記して説明したため、ここでは説明を省略する。
物理サーバ性能情報取得エージェント２６２は、物理サーバ２が新たに設置されたときに、物理サーバ２から取得した物理サーバ名や、搭載されているＣＰＵおよびメモリの性能値や、最大Ｉ／Ｏデータ転送量といった、物理サーバ２の仕様情報を取得すると、これらを組の情報として管理サーバ１へと送信する。管理サーバ１の管理プログラム１１０は、受信した物理サーバ２の仕様情報を物理サーバ仕様情報テーブル５００に登録することによって、物理サーバ仕様情報テーブル５００が生成される。
【００３６】
（ＬＤＥＶ性能情報テーブル）
図６は、本実施形態に係るＬＤＥＶ性能情報テーブルの例を示す図である。
ＬＤＥＶ性能情報テーブル６００は、各ＬＤＥＶ３２の性能情報を格納するテーブルであり、ＬＤＥＶ名（カラム６０１）、稼働率（カラム６０２）、データ収集時刻（カラム６０３）を有する。
カラム６０１のＬＤＥＶ名は、各ＬＤＥＶ３２に対し一意に付された名称である。カラム６０２の稼働率は、仮想マシン２５０が１秒間にＬＤＥＶ３２に対してＩ／Ｏ処理を行っている割合を示す値であり、単位は「％」である。カラム６０３のデータ収集時刻は、該当するデータを収集した時刻である。
ストレージ装置３のストレージ情報取得エージェント３１２は、コントローラ３１１から定期的に取得したＬＤＥＶ名、稼働率、データ収集時刻を組とした情報を、ＬＤＥＶ３２の性能情報として管理サーバ１へ送る。管理サーバ１の管理プログラム１１０が、受信したＬＤＥＶ３２の性能情報をＬＤＥＶ性能情報テーブル６００の各カラム６０１〜６０３に登録することによって、ＬＤＥＶ３２性能テーブルが生成される。
【００３７】
（ＬＤＥＶ仕様情報テーブル）
図７は、本実施形態に係るＬＤＥＶ仕様情報テーブルの例を示す図である。
ＬＤＥＶ仕様情報テーブル７００は、各ＬＤＥＶ３２の仕様情報を格納するテーブルであり、ＬＤＥＶ名（カラム７０１）、ボリューム容量（カラム７０２）、ＡＧ（Array Group）名（カラム７０３）を有する。
カラム７０１のＬＤＥＶ名は、図６のカラム６０１のデータと同様であるため、説明を省略する。カラム７０２のボリューム容量は、該当するＬＤＥＶ３２に割り当てられたボリューム容量であり、単位は「ＧＢ」である。カラム７０３のＡＧ名は、該当するＬＤＥＶ３２を構成するアレイグループ３３の名称である。ＡＧ名は、少なくともシステム内において一意の名称である。
ストレージ装置３のストレージ情報取得エージェント３１２は、ＬＤＥＶ３２が新たに設定されたときに、コントローラ３１１より取得したＬＤＥＶ名や、ＬＤＥＶ３２のボリューム容量や、ＬＤＥＶ３２を構成するアレイグループ名を組とした情報をＬＤＥＶ３２の仕様情報として、管理サーバ１へ送る。管理サーバ１の管理プログラム１１０が、受信したＬＤＥＶ３２の使用情報をＬＤＥＶ仕様情報テーブル７００の各カラム７０１〜７０３に登録することにより、ＬＤＥＶ仕様情報テーブル７００が生成される。
【００３８】
（アレイグループ性能情報テーブル）
図８は、本実施形態に係るアレイグループ性能情報テーブルの例を示す図である。
アレイグループ性能情報テーブル８００は、各アレイグループ３３の性能情報を格納するテーブルであり、ＡＧ名（カラム８０１）、稼働率（カラム８０２）、ＲａｎｄＲｅａｄＩＯＰＳ（カラム８０３）、ＲａｎｄＷｒｉｔｅＩＯＰＳ（カラム８０４）、ＳｅｑＲｅａｄＩＯＰＳ（カラム８０５）、ＳｅｑＷｒｉｔｅＩＯＰＳ（カラム８０６）、ＲａｎｄＲｅａｄＩ／Ｏデータ転送量（カラム８０７）、ＳｅｑＲｅａｄＩ／Ｏデータ転送量（カラム８０８）、ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量（カラム８０９）、ＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量（８１０）、データ収集時刻（カラム８１１）、使用ボリューム容量（カラム８１２）などを有する。
カラム８０１のＡＧ名は、少なくとも計算機システムＡ内において一意であるアレイグループ３３の名称である。カラム８０２の稼働率は、データを収集した時刻において、該当するアレイグループ３３に対して仮想マシン２５０が１秒間にＩ／Ｏ処理を行っている割合であり、単位は「％」である。
カラム８０３〜８１１は、図２のカラム２０６〜２１４における仮想マシン２５０におけるデータが、アレイグループ３３におけるデータとなったものであるため、説明を省略する。カラム８１２の使用ボリューム容量は、データを収集した時刻におけるアレイグループ３３のボリューム使用量であり、単位は「ＧＢ」である。
【００３９】
ストレージ装置３のストレージ情報取得エージェント３１２は、コントローラ３１１より定期的にＡＧ名、稼働率、アレイグループ３３への各ＩＯＰＳ、各Ｉ／Ｏデータ転送量、データ収集時刻、使用ボリューム容量といったデータを取得し、これらのデータを組の情報としたアレイグループ３３の性能情報を管理サーバ１へ送る。管理サーバ１の管理プログラム１１０が、受信したアレイグループ３３の性能情報をアレイグループ性能情報テーブル８００の各カラム８０１〜８１２に登録することによって、アレイグループ性能情報テーブル８００が生成される。
【００４０】
（アレイグループ仕様情報テーブル）
図９は、本実施形態に係るアレイグループ仕様情報テーブルの例を示す図である。
アレイグループ仕様情報テーブル９００は、各アレイグループ３３の仕様情報を格納するテーブルであり、ＡＧ名（カラム９０１）、ボリューム容量（カラム９０２）、ＤｉｓｋＴｙｐｅ（カラム９０３）、Ｔｉｅｒ（カラム９０４）、ＲＡＩＤＬｅｖｅｌ（カラム９０５）、ＳｔｏｒａｇｅＴｙｐｅ（カラム９０６）、最大ＲａｎｄＲｅａｄＩＯＰＳ（カラム９０７）、最大ＲａｎｄＷｒｉｔｅＩＯＰＳ（カラム９０８）、最大ＳｅｑＲｅａｄＩＯＰＳ（カラム９０９）、最大ＳｅｑＷｒｉｔｅＩＯＰＳ（カラム９１０）、最大ＲａｎｄＲｅａｄＩ／Ｏデータ転送量（カラム９１１）、最大ＳｅｑＲｅａｄＩ／Ｏデータ転送量（カラム９１２）、最大ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量（カラム９１３）、最大ＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量（カラム９１４）などを有する。
【００４１】
カラム９０１のＡＧ名は、図８のカラム８０１と同様のデータであるため、説明を省略する。カラム９０２のボリューム容量は、該当するアレイグループ３３におけるボリュームの容量であり、単位は「ＧＢ」である。カラム９０３のＤｉｓｋＴｙｐｅは、アレイグループ３３を構成するディスクの種類であり、図９における「ＦＣ」は、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌを示している。他に、ＤｉｓｋＴｙｐｅとして、「ＳＡＴＡ（Serial AT Attachment）」や、「ＳＳＤ（Solid State Drive）」などの情報が入力される。
【００４２】
カラム９０４のＴｉｅｒは、アレイグループ３３の性能特性に応じて複数のアレイグループ３３から優先度を示す階層を作成している場合、各アレイグループ３３について階層の番号を格納するカラムである。階層番号の入力は、管理プログラム１１０が専用の定義ＧＵＩ（Graphical User Interface）を提供し、入力データを該当するカラムに格納してもよい。なお、階層を作成すると、アクセス頻度の高いデータを高速なアレイグループ３３から構成された階層に配置し、アクセス頻度のデータを低速なアレイグループ３３から構成された階層に配置するなど、データの使用頻度に応じて適切にデータ配置を行うことができる。
【００４３】
カラム９０５のＲＡＩＤ  Ｌｅｖｅｌは、ＲＡＩＤレベルを示す。カラム９０６のＳｔｏｒａｇｅ  Ｔｙｐｅは、ストレージ装置３の種類を示す。
カラム９０７の最大ＲａｎｄＲｅａｄＩＯＰＳは、該当するアレイグループ３３におけるＲａｎｄＲｅａｄＩＯＰＳの最大値である。同様に、カラム９０８の最大ＲａｎｄＷｒｉｔｅＩＯＰＳは、該当するアレイグループ３３におけるＲａｎｄＷｒｉｔｅＩＯＰＳの最大値である。カラム９０９の最大ＳｅｑＲｅａｄＩＯＰＳは、該当するアレイグループ３３におけるＳｅｑＲｅａｄＩＯＰＳの最大値である。カラム９１０の最大ＳｅｑＷｒｉｔｅＩＯＰＳは、該当するアレイグループ３３におけるＳｅｑＷｒｉｔｅＩＯＰＳの最大値である。
そして、カラム９１１の最大ＲａｎｄＲｅａｄＩＯデータ転送量は、該当するアレイグループ３３におけるＲａｎｄＲｅａｄＩＯデータ転送量の最大値である。同様に、カラム９１２の最大ＳｅｑＲｅａｄＩＯデータ転送量は、該当するアレイグループ３３におけるＳｅｑＲｅａｄＩＯデータ転送量の最大値である。カラム９１３の最大ＲａｎｄＷｒｉｔｅＩＯデータ転送量は、該当するアレイグループ３３におけるＲａｎｄＷｒｉｔｅＩＯデータ転送量の最大値である。カラム９１４は、最大ＳｅｑＷｒｉｔｅＩＯデータ転送量は、該当するアレイグループ３３におけるＳｅｑＷｒｉｔｅＩＯデータ転送量の最大値である。カラム９０７〜９１４の情報は、請求項における許容入出力データ量である。
【００４４】
ストレージ装置３のストレージ情報取得エージェント３１２は、ＡＧ名、ボリューム容量、アレイグループ３３を構成するディスクの種類、ストレージ階層を示す情報、ＲＡＩＤレベル、ストレージの種類などの情報をアレイグループ３３の作成時に取得すると、これらの情報を組の情報として管理サーバ１へ送る。管理サーバ１の管理プログラム１１０は、送られた情報を、アレイグループ仕様情報テーブル９００の該当するカラム９０１〜９０６のそれぞれに登録する。
また、最大ＲａｎｄＲｅａｄＩＯＰＳ、最大ＳｅｑＲｅａｄＩＯＰＳ、最大ＲａｎｄＷｒｉｔｅＩＯＰＳ、最大ＳｅｑＷｒｉｔｅＩＯＰＳ、最大ＲａｎｄＲｅａｄＩ／Ｏデータ転送量、最大ＳｅｑＲｅａｄＩ／Ｏデータ転送量、最大ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量、最大ＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量の各情報は、例えば、管理サーバ１が、予めベンチマークテストツールを用いて各アレイグループ３３について性能上限値を測定し、測定結果を取得し、アレイグループ仕様情報テーブル９００の各カラム９０７〜９１４に登録する。また、性能上限値が仕様情報として公開されている場合は、ユーザが管理サーバ１の入力装置１５を介して入力し、アレイグループ仕様情報テーブル９００に登録してもよい。
【００４５】
（経路情報テーブル）
図１０は、本実施形態に係る経路情報テーブルの例を示す図である。
経路情報テーブル１０００は、ある仮想マシン２５０が所属する物理サーバ２と、データの格納先であるＬＤＥＶ３２、ＬＤＥＶ３２の所属するアレイグループ３３の情報を記述するテーブルである。経路情報テーブル１０００は、物理サーバ名（カラム１００１）、デバイスファイル名（カラム１００２）、ＶＭ名（カラム１００３）、ＬＤＥＶ名（カラム１００４）をカラムとして有する。
カラム１００１の物理サーバ名は、対象となる物理サーバ２の名称である。カラム１００２にデバイスファイル名は、このレコードにおけるＬＤＥＶ３２の情報が記述されたファイルの名称である。つまり、カラム１００３における仮想マシン２５０がＬＤＥＶ３２としてアクセスするファイルの名称である。カラム１００３のＶＭ名は、仮想マシン２５０の名称であり、カラム１００４のＬＤＥＶ名は、この仮想マシン２５０の業務データの格納先となるＬＤＥＶ３２の名称である。
物理サーバ２の仮想マシン仕様情報取得エージェント２６１は、仮想マシン２５０が新たに設定されたり、ＬＤＥＶ３２との接続が変更されたりすると、物理サーバ２の名称、仮想マシン２５０に割り当てられたＬＤＥＶ３２の名称およびこのＬＤＥＶ３２に関する情報が記述されているデバイスファイル２４名を取得し、組の情報として管理サーバ１へ送る。管理サーバ１の仮想マシン構成変更プログラム１１４は、受信した情報を経路情報テーブル１０００のカラム１００１〜１００４に登録する。
【００４６】
（マッピングモデルテーブル）
図１１は、本実施形態に係るマッピングモデルテーブルの例を示す図である。
マッピングモデルテーブル１１００は、物理サーバ２のスペックと仮想マシン２５０への割当計算機資源量の組み合わせごとに各アプリケーション２５１の予測性能値を格納したテーブルであり、後記する物理サーバ２移動後におけるＩ／Ｏ処理量の予測（図１５の「予測法１」）では、このマッピングモデルテーブル１１００を使用して予測を行う。
マッピングモデルテーブル１１００は、ＡＰ名（カラム１１０１）、物理サーバＣＰＵ量（カラム１１０２）、物理サーバメモリ量（カラム１１０３）、物理サーバ空きＣＰＵ量（カラム１１０４）、物理サーバ空きメモリ量（カラム１１０５）、仮想マシンＣＰＵ消費量（カラム１１０６）、仮想マシンメモリ消費量（カラム１１０７）、予測ＲａｎｄＲｅａｄＩＯＰＳ（カラム１１０８）、予測ＲａｎｄＷｒｉｔｅＩＯＰＳ（カラム１１０９）、予測ＳｅｑＲｅａｄＩＯＰＳ（カラム１１１０）、予測ＳｅｑＷｒｉｔｅＩＯＰＳ（カラム１１１１）、予測ＲａｎｄＲｅａｄＩ／Ｏデータ転送量（カラム１１１２）、予測ＳｅｑＲｅａｄＩ／Ｏデータ転送量（カラム１１１３）、予測ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量（カラム１１１４）、予測ＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量（カラム１１１５）などの各データを有する。
各カラム内のデータについて、その取得方法とともに下記に記載する。
【００４７】
マッピングモデルテーブル１１００に登録されるデータはあらかじめベンチマークテストツールを用いて測定することができるデータである。具体的に、ベンチマークテスト時に管理サーバ１が取得するデータは、仮想マシン２５０を移動する移動先物理サーバと、移動する仮想マシン２５０と、仮想マシン２５０で実行されているアプリケーション２５１の性能情報および仕様情報である。取得した情報を元に、管理サーバ１は、ベンチマークテストを行い、その分析結果をマッピングモデルテーブル１１００に書き込む。
管理プログラム１１０は、移動先物理サーバの物理サーバ性能情報取得エージェント２６２からＣＰＵ２２の性能値と、メモリ２１の性能値を取得し、カラム１１０２の物理サーバＣＰＵ量およびカラム１１０３の物理サーバメモリ量へ登録する。また、管理プログラム１１０は、移動先物理サーバの物理サーバ性能情報取得エージェント２６２から、移動先物理サーバにおけるＣＰＵ利用率とメモリ利用率を取得し、ＣＰＵ２２およびメモリ２１の性能値から空きＣＰＵと空きメモリを算出し、カラム１１０４の物理サーバ空きＣＰＵ量とカラム１１０５の物理サーバ空きメモリ量に登録する。
【００４８】
さらに、管理プログラム１１０は、移動対象仮想マシンの仮想マシン性能情報取得エージェント２５２から、ベンチマークテスト結果によるＣＰＵ消費量とメモリ消費量と、ハイパバイザ２６０への予測ＲａｎｄＲｅａｄＩＯＰＳ、予測ＳｅｑＲｅａｄＩＯＰＳ、予測ＲａｎｄＷｒｉｔｅＩＯＰＳ、予測ＳｅｑＷｒｉｔｅＩＯＰＳの各予測ＩＯＰＳの値と、予測ＲａｎｄＲｅａｄＩ／Ｏデータ転送量、予測ＳｅｑＲｅａｄＩ／Ｏデータ転送量、予測ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量、予測ＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量の各予測Ｉ／Ｏデータ転送量の値を取得し、該当する各カラム１１０６〜１１１５に登録する。
なお、カラム１１０２〜１１０７が請求項における仮想マシン２５０に関する機器情報に相当し、カラム１１０８〜１１１５が請求項の予測入出力データ量に相当する。
【００４９】
（アプリケーション毎の処理量モデルテーブル）
図１２は、本実施形態に係るアプリケーション毎の処理量モデルテーブルの例を示す図である。
アプリケーション２５１毎の処理表モデルテーブル１２００は、アプリケーション２５１への割当計算機資源に応じたアプリケーション２５１の予測実行Ｉ／Ｏ量を格納するテーブルであり、後記する物理サーバ２の移動後におけるＩ／Ｏ処理量の予測（図１６の「予測法２」）では、このアプリケーション２５１毎の処理表モデルテーブル１２００を使用して予測を行う。
アプリケーション２５１毎の処理モデルテーブルは、ＡＰ名（カラム１２０１）、仮想マシンＣＰＵ消費量（カラム１２０２）、仮想マシンメモリ消費量（カラム１２０３）、仮想マシンＩ／Ｏデータ転送量（カラム１２０４）、予測ＲａｎｄＲｅａｄＩＯＰＳ（カラム１２０５）、予測ＲａｎｄＷｒｉｔｅＩＯＰＳ（カラム１２０６）、予測ＳｅｑＲｅａｄＩＯＰＳ（カラム１２０７）、予測ＳｅｑＷｒｉｔｅＩＯＰＳ（カラム１２０８）、予測ＲａｎｄＲｅａｄＩ／Ｏデータ転送量（カラム１２０９）、予測ＳｅｑＲｅａｄＩ／Ｏデータ転送量（カラム１２１０）、予測ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量（カラム１２１１）、予測ＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量（カラム１２１２）などの各データを有する。
【００５０】
アプリケーション２５１毎の処理量モデルテーブル１２００に登録されるデータは、マッピングモデルテーブル１１００と同じように、ベンチマークテストツールを用いて解析されたデータである。
管理サーバ１におけるベンチマークテスト時において、管理サーバ１が取得するデータは、仮想マシン２５０上のアプリケーション２５１のＣＰＵ消費量とメモリ消費量とアプリケーション２５１の各Ｉ／Ｏ性能情報である。
【００５１】
アプリケーション２５１毎の処理モデルテーブルにおける各データについて、その取得方法とともに以下に記載する。
管理サーバ１は、各仮想マシン内の仮想マシン性能情報取得エージェント２５２より、各仮想マシンにおけるアプリケーション名とＣＰＵ消費量とメモリ諸費量を取得する。また、仮想マシン名を取得し、各仮想マシン２５０を制御するハイパバイザ２６０内の仮想マシン仕様情報取得エージェント２６１より、前記仮想マシン２５０のデバイスファイル２４への各ＩＯＰＳや、各Ｉ／Ｏデータ転送量などの各Ｉ／Ｏ量を取得する。
そして、管理サーバ１は、取得したＩ／Ｏ量を元に、ベンチマークテストを行い、その分析結果として取得した予測ＲａｎｄＲｅａｄＩＯＰＳ、予測ＲａｎｄＷｒｉｔｅＩＯＰＳ、予測ＳｅｑＲｅａｄＩＯＰＳ、予測ＳｅｑＷｒｉｔｅＩＯＰＳの各予測ＩＯＰＳの値と、予測ＲａｎｄＲｅａｄＩ／Ｏデータ転送量、予測ＳｅｑＲｅａｄＩ／Ｏデータ転送量、予測ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量、予測ＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量の各予測Ｉ／Ｏデータ転送量をアプリケーション２５１毎の処理表モデルテーブル１２００における該当するカラム１２０５〜１２１２に登録する。つまり、マッピングモデルテーブル１１００におけるカラム１１０８〜１１１５は、仮想マシン２５０が入出力するＩ／Ｏ量の予測値である。なお、カラム１２０２〜１２０４の情報が、請求項における仮想マシン２５０に関する機器情報であり、カラム１２０５〜カラム１２１２が、請求項における予測入出力データ量である。
【００５２】
《テーブル関係図》
ここで、図１３を参照して、各テーブルと、各プログラムとの関係をまとめておく。
図１３は、本実施形態に係るテーブル関係を示す図である。
【００５３】
仮想マシン性能情報テーブル２００は、物理サーバ性能情報取得エージェント２６２によって登録されるテーブルである。仮想マシン仕様情報テーブル３００は、物理サーバ２の仮想マシン仕様情報取得エージェント２６１から送られるデータを用いて登録されるテーブルである。物理サーバ仕様情報テーブル５００および物理サーバ性能情報テーブル４００は、物理サーバ性能情報取得エージェント２６２から送られるデータを用いて登録されるテーブルである。ＬＤＥＶ仕様情報テーブル７００、ＬＤＥＶ性能情報テーブル６００およびアレイグループ性能情報テーブル８００は、ストレージ装置３のストレージ情報取得エージェント３１２から送られるデータを用いて登録されるテーブルである。アレイグループ仕様情報テーブル９００は、ベンチマークテストや、ストレージ装置３のストレージ情報取得エージェント３１２から送られるデータを用いて登録されるテーブルである。
経路情報テーブル１０００は、物理サーバ２の物理サーバ性能情報取得エージェント２６２から送られるデータを用いて、仮想マシン構成変更プログラム１１４によって登録されるテーブルである。
また、アプリケーション２５１毎の処理量モデルテーブル１２００およびマッピングモデルテーブル１１００は、ベンチマークテストによって出力された分析結果を用いて登録されるテーブルである。
【００５４】
管理サーバ１のサーバＩ／Ｏ量変化予測プログラム１１１は、移動仮想マシン選択画面２０００を介して入力された情報を基に、アプリケーション２５１毎の処理量モデルテーブル１２００、仮想マシン性能情報テーブル２００、仮想マシン仕様情報テーブル３００、物理サーバ仕様情報テーブル５００、物理性能情報テーブル、マッピングモデルテーブル１１００などを参照して、仮想サーバの移動後におけるＩ／Ｏ量の変化を予測する。
そして、マイグレーション先候補検索エンジン１１２は、サーバＩ／Ｏ量変化予測プログラム１１１が出力した結果を使用して、ＬＤＥＶ仕様情報テーブル７００、ＬＤＥＶ性能情報テーブル６００、アレイグループ仕様情報テーブル９００、アレイグループ性能情報テーブル８００などを参照して、マイグレーション先候補を検索し、マイグレーション先候補表示画面２１００に表示する。
【００５５】
そして、マイグレーション先候補表示画面２１００で、ユーザがマイグレーション先を指定すると、ストレージ構成変更プログラム１１３が、ＬＤＥＶ仕様情報テーブル７００およびＬＤＥＶ性能情報テーブル６００を参照して、ストレージ装置３の構成を変更し、変更結果を経路情報テーブル１０００に登録する。
さらに、仮想マシン構成変更プログラム１１４が、ストレージ構成変更プログラム１１３の変更結果に従って、仮想マシン２５０の構成を変更し、変更結果を経路情報テーブル１０００に登録する。
【００５６】
《フローチャート》
次に、図１〜図１２を参照しつつ、図１４〜図２１に沿って本実施形態に係るボリューム再配置方法の手順を説明する。
【００５７】
（全体処理）
まず、図１４と、図２０と、図２１を参照して、本実施形態に係る全体処理を説明する。
図１４は、本実施形態に係る全体処理の手順の流れを示すフローチャートであり、図２０は、本実施形態に係る移動仮想マシン選択画面を示す図であり、図２１は、本実施形態に係るマイグレーション先候補表示画面の例を示す図である。
まず、サーバＩ／Ｏ量変化予測プログラム１１１は、図２０に示す移動仮想マシン選択画面２０００より選択された移動対象仮想マシン名と移動先物理サーバ名を取得する（Ｓ１０１）。具体的には、サーバＩ／Ｏ量変化予測プログラム１１１が、図２０に示す移動仮想マシン選択画面２０００を表示し、移動対象となる仮想マシン２５０と移動先となる物理サーバ２をユーザに入力指定してもらう。
【００５８】
（移動仮想マシン選択画面）
ここで、図２０を参照して、移動仮想マシン選択画面について説明する。
移動仮想マシン選択画面２０００は、サーバＩ／Ｏ量変化予測プログラム１１１が表示装置１４に描画させる画面であり、ストレージ運用管理者による移動対象仮想マシン名と移動先物理サーバ名の選択を受け付ける画面である。
移動仮想マシン選択画面２０００は、移動先物理サーバ選択領域２００１と、仮想マシン選択領域２００２より構成される。サーバＩ／Ｏ量変化予測プログラム１１１は、移動仮想マシン選択画面２０００の移動先物理サーバ選択領域２００１内の移動先物理サーバ選択リスト２０１１に、物理サーバ仕様情報テーブル５００のカラム５０１に含まれる物理サーバ名の一覧をプルダウンメニューで表示する。また、サーバＩ／Ｏ量変化予測プログラム１１１は、仮想マシン選択領域２００２内の仮想マシン選択リスト２０２１に仮想マシン仕様情報テーブル３００のカラム３０１（ＶＭ名）に含まれる仮想マシン２５０名の一覧をプルダウンメニューで表示する。
【００５９】
そして、仮想マシン選択領域２００２内の仮想マシン一覧リスト２０２２には、各仮想マシン２５０のリソース利用状況をリスト表示する。仮想マシン一覧リスト２０２２に表示する内容は、仮想マシン名、ＣＰＵ使用率、メモリ使用率、ディスク使用量であり、いずれも仮想マシン性能情報テーブル２００のカラム２０１，２０３〜２０５から取得される情報である。
実行ボタン２０２３が選択入力されると、サーバＩ／Ｏ量変化予測プログラム１１１は、選択された移動先物理サーバ名および仮想マシン２５０名を取得して、管理プログラム１１０は、図１４のステップＳ１０２へ移行する。
【００６０】
なお、図２０における移動仮想マシン選択画面２０００を拡張して、移動先物理サーバ選択領域２００１に、仮想マシン選択リスト２０２１で選択された移動対象仮想マシンのＣＰＵ割当量とメモリ割当量を設定できる領域を追加してもよい。本実施形態では、移動先物理サーバのＣＰＵとメモリの空き資源を移動対象仮想マシンがすべて消費するように考慮しているが、このような領域を追加することで、移動先物理サーバの空き資源を有効に割当てることができる。
つまり、図２０に示す画面例では説明を簡素化するため、移動する仮想マシン２５０に割当てるＣＰＵ使用量やメモリ量なども入力せず、移動先物理サーバの空きＣＰＵおよび空きメモリを、すべて移動する仮想マシン２５０に割当てるシンプルなモデルを想定しているが、移動後に割当てるＣＰＵ使用量およびメモリ使用量を設定するよう拡張してもよい。
【００６１】
図１４の説明に戻る。
ステップＳ１０１の後、ステップＳ１０１で取得した情報を基にサーバＩ／Ｏ量変化予測プログラム１１１が移動対象仮想マシン移動後のアレイグループ３３のＩ／Ｏ量を予測する（Ｓ１０２）。具体的には、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ１０１にて取得した移動対象仮想マシン名と移動先物理サーバ名を入力とし、各予測ＩＯＰＳと各予測Ｉ／Ｏデータ転送量を予測Ｉ／Ｏ量として出力する（「予測法３」の場合、予測Ｉ／Ｏデータ転送量を出力する）。本実施形態において、予測Ｉ／Ｏ量の算出方法は、３通りであり、それぞれにおける具体的な算出方法は、図１５〜図１８を参照して後記する
【００６２】
次に、マイグレーション先候補検索エンジン１１２は、ステップＳ１０２で予測したＩ／Ｏ量が、移動対象仮想マシンのデータ格納先となるアレイグループ３３の最大処理性能（最大Ｉ／Ｏ量）を上回るか否かを判定する（Ｓ１０３）。具体的には、マイグレーション先候補検索エンジン１１２が、ステップＳ１０１で取得した移動対象仮想マシン名をキーとして、経路情報テーブル１０００のカラム１００４を検索して、移動対象仮想マシンに接続しているＬＤＥＶ名を取得する。次に、マイグレーション先候補検索エンジン１１２は、取得したＬＤＥＶ名をキーとして、ＬＤＥＶ仕様情報テーブル７００のカラム７０３（ＡＧ名）を検索して、アレイグループ名を取得する。そして、マイグレーション先候補検索エンジン１１２は、取得したアレイグループ名をキーとして、アレイグループ仕様情報テーブル９００のカラム９０７〜９１４を検索して、最大Ｉ／Ｏ量を取得する。そした。マイグレーション先候補検索エンジン１１２は、この最大Ｉ／Ｏ量のうちの各最大Ｉ／Ｏデータ転送量の合計値が、ステップＳ１０２で算出した予測Ｉ／Ｏデータ転送量の合計値以上であり、かつ最大Ｉ／Ｏ量のうちの各最大ＩＯＰＳの合計値が、ステップＳ１０２で算出した予測ＩＯＰＳの合計値以上であるか否かを判定する。なお、予測法として、後記する「予測法３」を用いた場合、ステップＳ１０３における比較対象は、Ｉ／Ｏデータ転送量となる。
【００６３】
ステップＳ１０３の結果、アレイグループ３３の最大処理性能を上回らない場合（Ｓ１０３→Ｎｏ）、現在のアレイグループを使用しても問題ないので、管理プログラム１１０は、ステップＳ１０７へ処理を移行し、マイグレーションを行わずに仮想マシン２５０を移動する。
ステップＳ１０３の結果、アレイグループ３３の最大処理性能を上回る場合（Ｓ１０３→Ｙｅｓ）、マイグレーション先候補検索エンジン１１２が、各アレイグループ３３について移動対象の仮想マシン２５０が使用予定のＬＤＥＶ３２に移動した場合のＩ／Ｏ量を予測する（Ｓ１０４）。具体的には、マイグレーション先候補検索エンジン１１２は、ステップＳ１０２で算出した各予測Ｉ／Ｏ量と、アレイグループ性能情報テーブル８００における現在の各アレイグループ３３の各Ｉ／Ｏ量を合計することで、ＬＤＥＶ３２をこのアレイグループ３３に移動した場合の各Ｉ／Ｏ量を予測する。より具体的には、マイグレーション先候補検索エンジン１１２は、ステップＳ１０３の段階で取得したアレイグループ名をキーとして、アレイグループ性能情報テーブル８００のカラム８０３〜８１０から現在の各Ｉ／Ｏ量を取得する。そして、マイグレーション先候補検索エンジン１１２は、ステップＳ１０２で取得した各予測ＩＯデータ転送量の合計値と、取得した現在のＩ／Ｏ量における各ＩＯデータ転送量の合計値を加算する。これをアレイグループにおける合計予測ＩＯデータ転送量とする。また、マイグレーション先候補検索エンジン１１２は、ステップＳ１０２で取得した各予測ＩＯＰＳの合計値と、取得した現在のＩ／Ｏ量におけるＩＯＰＳの合計値とを加算する。これをアレイグループにおける合計予測ＩＯＰＳとする。
【００６４】
そして、マイグレーション先候補検索エンジン１１２は、ステップＳ１０４で算出したアレイグループ３３の予測Ｉ／Ｏ量がアレイグループ３３の最大Ｉ／Ｏ量を下回るアレイグループ３３のリストをマイグレーション先候補表示画面２１００として表示装置１４に表示させる（Ｓ１０５）。具体的には、マイグレーション先候補検索エンジン１１２は、ステップＳ１０３の段階で取得した最大Ｉ／Ｏ量のうち、各最大ＩＯＰＳの合計値である合計最大ＩＯＰＳと、各最大ＩＯデータ転送量の合計値である合計最大ＩＯデータ転送量とを算出する。そして、マイグレーション先候補検索エンジン１１２は、合計予測ＩＯＰＳが合計最大ＩＯＰＳ以下であり、かつ合計予測ＩＯデータ転送量が合計最大ＩＯデータ転送量以下であるアレイグループ３３を選択し、このアレイグループ３３の一覧をマイグレーション候補表示画面として表示装置１４に表示させる。
【００６５】
（マイグレーション先候補表示画面）
ここで、図２１を参照してマイグレーション先候補表示画面の説明を行う。
マイグレーション先候補表示画面２１００は、マイグレーション先候補検索エンジン１１２によって表示装置１４に描画される画面であり、ストレージ運用管理者からの移動先アレイグループの選択を受け付ける画面である。
マイグレーション先候補表示画面２１００は、移動先アレイグループ選択領域２１０１より構成される。移動先アレイグループ選択領域２１０１内の移動先アレイグループ一覧リスト２１０３には、ステップＳ１０５で選択されたアレイグループ３３が一覧として表示されている。移動先アレイグループ一覧リスト２１０３には、ステップＳ１０５で選択されたアレイグループ３３の名称と、このアレイグループ名をキーとしてアレイグループ性能情報テーブル８００から取得した稼働率とが表示される。そして、移動先アレイグループ選択リスト２１０２は、移動先アレイグループ一覧リスト２１０３中のアレイグループ３３から１つのアレイグループ３３を選択できるプルダウンメニューである。移動先アレイグループ選択リスト２１０２で移動先アレイグループを選択した後、実行ボタン２１０４が選択入力されることで、ストレージ変更プログラムは、移動先アレイグループ名を取得し、ステップＳ１０６へ処理を進める。
【００６６】
なお、本実施形態におけるマイグレーション先候補検索エンジン１１２は、高速なＩ／Ｏ量を期待するアプリケーション２５１には高速のディスクを割り当て、高速なＩ／Ｏ量を期待しないアプリケーション２５１には低速なディスクを割り当てるといったアレイグループ３３の階層化管理によるデータ配置の最適化の概念を取り入れた（つまり、Ｔｉｅｒを取り入れた）ストレージ環境にそのまま採用すると、高速なＩ／Ｏ性能を期待しないアプリケーション２５１に高速なディスクを割当てる可能性がある。
そのため、前記マイグレーション先候補検索エンジン１１２を拡張し、ＬＤＥＶ３２のマイグレーション先を選択する際、アレイグループ仕様情報テーブル９００のカラム９０４（Ｔｉｅｒ）を参照し、そのＬＤＥＶ３２が属するＴｉｅｒ内で移動先アレイグループを検索し、該当するアレイグループ３３が存在しない場合のみ、上位のＴｉｅｒに含まれるアレイグループ３３に移動するように拡張してもよい。
【００６７】
具体的には、はじめにマイグレーション先候補検索エンジン１１２は移動対象仮想マシンのＬＤＥＶ３２が所属するアレイグループ名をＬＤＥＶ仕様情報テーブル７００のカラム７０３（ＡＧ名）から取得し、この取得したアレイグループ３３名のＴｉｅｒに関する情報をアレイグループ仕様情報テーブル９００のカラム９０４（Ｔｉｅｒ）から取得する。アレイグループ名の取得は、ステップＳ１０３で説明した手順と同様の手順で行われる。
ステップＳ１０５で移動先候補アレイグループをマイグレーション先候補検索エンジン１１２が選択する際、アレイグループ仕様情報テーブル９００のカラム９０４（Ｔｉｅｒ）を参照し、この移動先候補アレイグループに対応するＴｉｅｒが、移動対象仮想マシンのＬＤＥＶ３２が所属するアレイグループ３３のＴｉｅｒと一致すれば、移動先アレイグループ候補一覧リストに移動先候補アレイグループを追加する。同一のＴｉｅｒを有するアレイグループ３３がない場合、マイグレーション先候補検索エンジン１１２は、１階層上のＴｉｅｒについて同様の処理を行う。
【００６８】
図１４に戻る。
ステップＳ１０５の後、ストレージ構成変更プログラム１１３は、ストレージ装置３内のコントローラ３１１に、マイグレーション先候補表示画面２１００で指定された移動先アレイグループへ、移動対象仮想マシンが使用しているＬＤＥＶ３２のデータ内容を移動するよう指示する。そして、ストレージ装置３のコントローラ３１１は、移動対象仮想マシンが使用しているＬＤＥＶ３２の内容をマイグレーション先候補表示画面２１００で選択したアレイグループ３３に移動する（Ｓ１０６）。これと同時に、ストレージ構成変更プログラム１１３は、ステップＳ１０３の段階で取得している移動対象仮想マシンが使用しているＬＤＥＶ名をキーとして、ＬＤＥＶ仕様情報テーブル７００において該当するＡＧ名（カラム７０３）を移動先アレイグループの名称に更新する。また、ストレージ構成変更プログラム１１３は、経路情報テーブル１０００の移動対象仮想マシンに該当するＬＤＥＶ名（カラム１００４）を更新する。
【００６９】
次に、仮想マシン構成変更プログラム１１４が、ハイパバイザ２６０に対して仮想マシン２５０をステップＳ１０１で選択した物理サーバ２へ移動するよう指示する。指示されたハイパバイザ２６０は、移動対象仮想マシンを移動先物理サーバへ移動する（Ｓ１０７）。ハイパバイザ２６０による仮想マシン２５０の移動後、仮想マシン構成変更プログラム１１４は、仮想マシン仕様情報取得エージェント２６１から送られてきた情報を基に、経路情報テーブル１０００の移動対象仮想マシンが所属する物理サーバ名を更新する。
【００７０】
《予測法》
次に、図１〜図１２を参照しつつ、図１５〜図１８を参照して本実施形態に係る３つの予測法を説明する。なお、本実施形態では、それぞれの予測法を「予測法１」、「予測法２」および「予測法３」とする。また、図１５〜図１８における処理は、図１４のステップＳ１０２に相当する処理である。
本実施形態におけるサーバＩ／Ｏ量変化予測プログラム１１１は、ストレージ運用管理者が指定した図１４のステップＳ１０１にて移動対象仮想マシン名と移動先物理サーバ名を受け付け、仮想マシン２５０移動後のアプリケーション２５１のＩ／Ｏ量の予測を行い、予測Ｉ／Ｏ量と、移動対象仮想マシンのデータ格納先となっているアレイグループ３３（現在使用中のアレイグループ３３）のＩ／Ｏ量の合計値がアレイグループ３３の最大Ｉ／Ｏ量を上回るか否かを判定する。図１５〜図１８では、仮想マシン２５０移動後のアプリケーション２５１のＩ／Ｏ量（予測Ｉ／Ｏ量）を算出する方法の詳細を示す。
【００７１】
（予測法１）
まず、図１５を参照して「予測法１」を説明する。「予測法１」は、サーバＩ／Ｏ量変化予測プログラム１１１が、移動後の物理サーバ２および仮想マシン２５０の仕様情報とマッピングモデル表３７０を用いて予測Ｉ／Ｏ量を算出する。
図１５は、本実施形態に係る「予測法１」の手順の流れを示すフローチャートである。
まず、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ１０１において移動仮想マシン選択画面２０００で選択した仮想マシン２５０のＣＰＵ消費量、メモリ消費量を算出する（ステップＳ２０１）。具体的には、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ１０１で取得した移動対象仮想マシン名をキーとして、仮想マシン仕様情報テーブル３００よりＣＰＵ割当量（カラム３０２）とメモリ割当量（カラム３０３）を取得する。次に、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ１０１で取得した移動対象仮想マシン名をキーとして、仮想マシン性能情報テーブル２００よりＣＰＵ利用率（カラム２０３）とメモリ利用率（カラム２０４）とを取得する。そして、サーバＩ／Ｏ量変化予測プログラム１１１は、取得したＣＰＵ割当量と、ＣＰＵ利用率を乗算することでＣＰＵ消費量を算出し、メモリ割当量と、メモリ利用率を乗算することでメモリ消費量を算出する。
【００７２】
次に、サーバＩ／Ｏ量変化予測プログラム１１１は、移動先物理サーバの空きＣＰＵ量と、空きメモリ量を算出する（Ｓ２０２）。具体的には、サーバＩ／Ｏ量変化予測プログラム１１１は、図１４のステップＳ１０１において取得した移動先物理サーバ名をキーとして、物理サーバ性能情報テーブル４００より、ＣＰＵ利用率（カラム４０２）と、メモリ利用率（４０３）を取得し、さらに物理サーバ仕様情報テーブル５００より、ＣＰＵ量（カラム５０２）とメモリ量（カラム５０３）を取得する。そして、サーバＩ／Ｏ量変化予測プログラム１１１は、（１−ＣＰＵ利用率）×ＣＰＵ、および（１−メモリ利用率）×メモリを計算し、空きＣＰＵ量と、空きメモリ量を算出する。
【００７３】
次に、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ１０１で取得した移動先物理サーバ名をキーとして、物理サーバ仕様情報テーブル５００より、移動先物理サーバのＣＰＵ量（カラム５０２）とメモリ量（カラム５０３）を取得する（ステップＳ２０３）。なお、ステップＳ２０２の処理中で移動先物理サーバのＣＰＵ量とメモリ量を取得している場合、ステップＳ２０３の処理を行わなくてもよい。
そして、サーバＩ／Ｏ量変化予測プログラム１１１は、仮想マシン２５０の移動後における仮想マシン２５０の予測Ｉ／Ｏ量を、ステップＳ２０１、ステップＳ２０２およびステップＳ２０３で算出・取得した値とマッピングモデルテーブル１１００を用いて取得する（Ｓ２０４）。
具体的には、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ２０３で取得した移動先物理サーバのＣＰＵ量およびメモリ量と、マッピングモデルテーブル１１００の物理サーバＣＰＵ量（カラム１１０２）および物理サーバメモリ量（カラム１１０３）を比較する。さらに、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ２０２で算出した移動先物理サーバの空きＣＰＵ量および空きメモリ量と、マッピングモデルテーブル１１００の物理サーバ空きＣＰＵ量（カラム１１０４）および物理サーバ空きメモリ量（カラム１１０５）とを比較する。そして、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ２０１で算出した移動対象仮想マシンのＣＰＵ消費量およびメモリ消費量と、マッピングモデルテーブル１１００の仮想マシンＣＰＵ消費量（カラム１１０６）および仮想マシンメモリ消費量（カラム１１０７）を比較する。サーバＩ／Ｏ量変化予測プログラム１１１は、マッピングモデルテーブル１１００において、これら６つの値が一致するレコードを検索し、このレコードにおける各予測Ｉ／Ｏ量（カラム１１０８〜１１１５）を取得する。
【００７４】
ここで、前記した図２０の説明における移動先物理サーバ選択領域２００１に、仮想マシン選択リスト２０２１で選択された移動対象仮想マシンのＣＰＵ割当量とメモリ割当量を設定できる領域を追加する拡張例について説明する。
このような拡張を行った場合、予測Ｉ／Ｏ量を取得するロジックに変更が生じる。具体的には、「予測法１」におけるステップＳ２０４で、マッピングモデルテーブル１１００を参照する際の入力値にステップＳ２０２で算出した移動先物理サーバの空きＣＰＵ量と、空きメモリ量とを用いているが、前記した拡張を行った場合、ステップＳ２０２で算出した各値と、移動仮想マシン選択画面２０００で設定したＣＰＵ割当量とメモリ割当量の値を比較し、移動仮想マシン選択画面２０００で設定したＣＰＵ割当量とメモリ割当量の値が、ステップＳ２０２で算出した空きＣＰＵ量および空きメモリ量の各値未満であれば、ステップＳ２０２で算出した値の代わりに、移動仮想マシン選択画面２０００で設定したＣＰＵ割当量とメモリ割当量の値をマッピングモデルテーブル１１００のカラム１１０４（物理サーバ空きＣＰＵ量）とカラム１１０５（物理サーバ空きメモリ量）への入力値としてもよい。
【００７５】
「予測法１」によれば、移動後の仮想マシン２５０のＩ／Ｏ量の予測値を考慮したアレイグループ３３の移動を行うことができ、仮想マシン２５０の移動後にＩ／Ｏ量が増加したことによるマイグレーションを行わずに済む。
【００７６】
（予測法２）
次に、図１６を参照して「予測法２」を説明する。「予測法２」は、移動後の仮想マシン２５０への計算機資源割当量とアプリケーション２５１毎の処理量モデルテーブル１２００を用いて仮想マシン２５０移動後のアプリケーション２５１の予測Ｉ／Ｏ量を算出する手法である。
図１６は、本実施形態に係る「予測法２」の手順の流れを示すフローチャートである。
まず、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ１０１で選択した移動先物理サーバの空きＣＰＵ量、空きメモリ量および空き転送量を算出する（Ｓ３０１）具体的には、図１４のステップＳ１０１で取得した移動先物理サーバ名をキーとして、物理サーバ仕様情報テーブル５００よりＣＰＵ量（カラム５０２）、メモリ量（カラム５０３）および最大Ｉ／Ｏデータ転送量（カラム５０４）を取得する。また、サーバＩ／Ｏ量変化予測プログラム１１１は、図１４のステップＳ１０１で取得した移動先物理サーバ名をキーとして、物理サーバ性能情報テーブル４００より、ＣＰＵ利用率（カラム４０２）、メモリ利用率（カラム４０３）と、各Ｉ／Ｏデータ転送量（カラム４０９〜４１２）を取得する。そして、サーバＩ／Ｏ量変化予測プログラム１１１が、サーバＩ／Ｏ量変化予測プログラム１１１は、（１−ＣＰＵ利用率）×ＣＰＵ量、（１−メモリ利用率）×メモリ量、および最大Ｉ／Ｏデータ転送量―各Ｉ／Ｏデータ転送量を算出することによって、空きＣＰＵ量、空きメモリ量、空きＩ／Ｏデータ転送量（空き転送量）を算出する。
【００７７】
次に、サーバＩ／Ｏ量変化予測プログラム１１１は、移動対象仮想マシン上のアプリケーション２５１に対応する全レコードをアプリケーション２５１毎の処理量モデルテーブル１２００より取得する（Ｓ３０２）。具体的には、サーバＩ／Ｏ量変化予測プログラム１１１は、図１４のステップＳ１０１で取得した移動対象仮想マシン名をキーとして、仮想マシン性能情報テーブル２００のカラム２０２からアプリケーション名（ＡＰ名）を取得する。そして、サーバＩ／Ｏ量変化予測プログラム１１１は、アプリケーション２５１毎の処理量モデルテーブル１２００において、カラム１２０１のＡＰ名として取得したアプリケーション２５１名を有するすべてのレコードを取得する。
【００７８】
そして、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ３０２で取得したレコードにステップＳ３０１の結果を適用し、レコードを特定する（Ｓ３０３）。具体的には、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ３０２で取得したレコードにおいて、ステップＳ３０１で算出した空きＣＰＵ量と空きメモリ量と空き転送量に一致する仮想マシンＣＰＵ消費量（カラム１２０２）、仮想マシンメモリ消費量（カラム１２０３）および仮想マシンＩ／Ｏデータ転送量（カラム１２０４）を有するレコードを特定する。
次に、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ３０３で特定したレコードにおける各予測ＩＯＰＳ（カラム１２０５〜１２０８）および予測Ｉ／Ｏデータ転送量（カラム１２０９〜１２１２）を取得する。
【００７９】
「予測法２」によれば、「予測法１」よりも少ない情報でＩ／Ｏ量の予測を行うことができる。
【００８０】
（予測法３）
次に、図１７〜図１９を参照して「予測法３」を説明する。「予測法３」は、アレイグループ３３のＩ／Ｏ量の限界を迎える前にサーバ側のＣＰＵやメモリ、ＨＢＡ２３といった計算機資源の性能値が限界に達してしまい、これが原因で仮想マシン２５０上のアプリケーション２５１のＩ／Ｏ処理性能値が出ないと判断できる場合、サーバ側の計算機資源の性能限界に達する以前のＩ／Ｏ処理量の増加傾向を用いて、仮想マシン２５０移動後のアプリケーション２５１の予測Ｉ／Ｏ量を算出する手法である。
まず、図１７において、予測法３を適用する前に移動先物理サーバで消費Ｉ／Ｏ量が増え得るか否かを判定する処理（「予測法３」の準備）を行い、図１８において「予測法３」による予測Ｉ／Ｏ量の算出手順を説明する。
図１７は、本実施形態に係る移動先物理サーバで消費Ｉ／Ｏ量が増え得るか否かを判定する手順を示すフローチャートである。
図１７では、仮想マシン２５０が他の物理サーバ２へ移動することで移動前より多くの物理サーバ２の計算機資源を使用できるかを確認する。
まず、サーバＩ／Ｏ量変化予測プログラム１１１は、移動対象の仮想マシン２５０のＣＰＵ利用率、メモリ利用率および各Ｉ／Ｏデータ転送量を取得する（Ｓ４０１）。なお、このとき入力される情報が、請求項における仮想マシン２５０に関する機器情報である。具体的には、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ１０１で取得した移動対象仮想マシン名をキーとして、仮想マシン性能情報テーブル２００よりＣＰＵ利用率（カラム２０３）、メモリ利用率（カラム２０４）および各Ｉ／Ｏデータ転送量（カラム２１０〜２１３）を取得する。
次に、サーバＩ／Ｏ量変化予測プログラム１１１は、移動先物理サーバの空きＣＰＵ量、空きメモリ量および空きＩ／Ｏデータ転送量を算出する（Ｓ４０２）。具体的には、サーバＩ／Ｏ量変化予測プログラム１１１が、図１４のステップＳ１０１で取得した移動先物理サーバ名をキーとして、物理サーバ仕様情報テーブル５００よりＣＰＵ量（カラム５０２）、メモリ量（カラム５０３）および最大Ｉ／Ｏデータ転送量（カラム５０４）を取得する。続いて、サーバＩ／Ｏ量変化予測プログラム１１１は、図１４で取得した移動先物理サーバ名をキーとして、物理サーバ性能情報テーブル４００より、ＣＰＵ利用率（カラム４０２）、メモリ利用率（カラム４０３）および各Ｉ／Ｏデータ転送量（カラム４０９〜４１２）を取得する。そして、サーバＩ／Ｏ量変化予測プログラム１１１が、（１−ＣＰＵ利用率）×ＣＰＵ量、（１−メモリ利用率）×メモリ量、および最大Ｉ／Ｏデータ転送量―各Ｉ／Ｏデータ転送量を算出することによって、空きＣＰＵ量と空きメモリ量と空きＩ／Ｏデータ転送量を算出する。
【００８１】
続いて、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ４０３で取得した仮想マシン２５０の計算機資源の使用量と、ステップＳ４０２で算出した移動先物理サーバの空き計算機資源の容量をそれぞれ比較し、ステップＳ４０１で取得した計算機資源の使用量の各々が、ステップＳ４０２で算出した空き計算機資源より小さいか否かを判定する（Ｓ４０３）。具体的には、仮想マシン２５０のＣＰＵ利用率＜移動先物理サーバの空きＣＰＵ量、仮想マシン２５０のメモリ利用率＜移動先物理サーバの空きメモリ量、および仮想マシン２５０のＩ／Ｏデータ転送量の合計値＜移動先物理サーバの空きＩ／Ｏデータ転送量といった条件のすべてが満たされるか否かを判定する
【００８２】
ステップＳ４０３の結果、前記した条件の少なくとも１つが満たされない場合（Ｓ４０３→Ｎｏ）、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ４０１で取得した各Ｉ／Ｏデータ転送量を予測値（予測Ｉ／Ｏデータ転送量）とする（Ｓ４０４）。ここで、前記した条件の少なくとも１つが満たされない場合とは、少なくとも現在、仮想マシンで使用している計算機資源の１つが移動先物理サーバの空き計算機資源を上まっている状態であるため、最初からこの値を予測値とすることで、ステップＳ４０５を実行しないことにより、サーバＩ／Ｏ量変化予測プログラム１１１の処理負荷を軽減することができる。
ステップＳ４０３の結果、前記した条件のすべてが満たされる場合（Ｓ４０３→Ｙｅｓ）、サーバＩ／Ｏ量変化予測プログラム１１１が、「予測法３」を用いた各Ｉ／Ｏデータ転送量の予測を行う（Ｓ４０５）。ステップＳ４０５の処理は、図１８を参照して後記する。
【００８３】
図１８は、本実施形態に係る「予測法３」によるＩ／Ｏデータ転送量の予測の手順を示すフローチャートであり、図１９（ａ）は、ＣＰＵ利用率の時間的変化を模式的に示したグラフであり、図１９（ｂ）は、Ｉ／Ｏ量時間的変化を模式的に示した図である。前記したように、図１８の処理は図１７のステップＳ４０５の処理に相当する処理である。
まず、図１９（ａ）から説明する。
図１９（ａ）において、横軸は時間を示し、縦軸はＣＰＵ利用率を示す。なお、図１９（ａ）において、縦軸をＣＰＵ利用率としたが、これに限らず、メモリ利用率など計算機資源の利用率を示すものであればよい。
符号Ｌ１は、ＣＰＵ利用率の変化を示す線である。図１９では、時刻Ｔ１に対象となる物理サーバ２が稼動し始め、時刻Ｔ２でＣＰＵ利用率が飽和状態となっている。そして、時刻Ｔ２以降は、ＣＰＵ利用率は、１００％のまま推移している（時刻Ｔ３については後記する）。
図１９（ｂ）において、横軸は時間を示し、縦軸はＩ／Ｏデータ転送量を示す。Ｐ１〜Ｐｎは、各時刻におけるＩ／Ｏデータ転送量を示している。時刻Ｔ１，Ｔ２は図１９（ａ）と同様であり、符号Ｉ１、直線Ｌ２、破線Ｌ３および時刻Ｔ３については後記する。ここで、Ｉ／Ｏデータ転送量は、ＲａｎｄＲｅａｄＩ／Ｏデータ転送量、ＳｅｑＲｅａｄＩ／Ｏデータ転送量、ＲａｎｄＷｒｉｔｅＩ／Ｏデータ転送量およびＳｅｑＷｒｉｔｅＩ／Ｏデータ転送量のいずれかであってもよいし、これらの合計値でもよい。
【００８４】
ここで、図１８の説明を始めると、まず、サーバＩ／Ｏ量変化予測プログラム１１１が、仮想マシン２５０の全計算機資源の利用率が１００％でないデータ収集時間を取得する（Ｓ５０１）。これは、サーバＩ／Ｏ量変化予測プログラム１１１が、図１４のステップＳ１０１で取得された移動対象仮想マシン名をキーとして、仮想マシン性能情報テーブル２００において、ＣＰＵ利用率（カラム２０３）や、メモリ利用率（カラム２０４）が１００％となっていないデータ収集時刻（カラム２１４）を取得する。ここで、取得される時間は、図１９（ａ）の時刻Ｔ１〜Ｔ２の直前を示す。
具体的には、サーバＩ／Ｏ量変化予測プログラム１１１が、仮想マシン性能情報テーブル２００に対して次のＳＱＬ（Structured Query Language）文を実行する。
【００８５】
Ｓｅｌｅｃｔ  ｍａｘ（データ収集時間）  ＦＲＯＭ  仮想マシン性能情報テーブル２００  ｗｈｅｒｅ  ＣＰＵ利用率  ！＝  １００  ＡＮＤ  メモリ利用率  ！＝  １００  ＡＮＤ  稼働率  ！＝  １００
【００８６】
このようなＳＱＬ文をサーバＩ／Ｏ量変化予測プログラム１１１が実行し、データ収集時刻を取得した後、サーバＩ／Ｏ量変化予測プログラム１１１は、仮想マシン２５０の全計算機資源のうち一つでも１００％であるデータ収集時刻を取得する（Ｓ５０２）。具体的には、サーバＩ／Ｏ量変化予測プログラム１１１は、図１４のステップＳ１０１で取得された移動対象仮想マシン名をキーとして、仮想マシン性能情報テーブル２００において、ＣＰＵ利用率（カラム２０３）や、メモリ利用率（カラム２０４）が１００％となっており、かつステップＳ５０１で取得したデータ収集時刻の最後の時刻の１つ後のデータ収集時刻（カラム２１４）を取得する。ここで、取得される時間は、図１９（ａ）の時刻Ｔ２の直後を示す。
この処理は、サーバＩ／Ｏ量変化予測プログラム１１１が、仮想マシン性能情報テーブル２００に対して、次のＳＱＬ文を実行することによって行われる。
【００８７】
Ｓｅｌｅｃｔ  ｍａｘ（データ収集時間）  ＦＲＯＭ  仮想マシン性能情報テーブル２００  ｗｈｅｒｅ  ＣＰＵ利用率  ＝  １００  ｏｒ  メモリ利用率  ＝  １００  ｏｒ  稼働率  ＝  １００
【００８８】
サーバＩ／Ｏ量変化予測プログラム１１１が、このＳＱＬ文を実行し、データ収集時刻を取得した後、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ５０１とステップＳ５０２で取得したデータ収集時刻に該当する全Ｉ／Ｏデータ転送量を取得する（Ｓ５０３）。
これは、図１９の縦軸において、時刻Ｔ１〜Ｔ２の直後までの全Ｉ／Ｏデータ転送量に相当する（図１９（ｂ）における点Ｐ１〜Ｐｎ）。
この処理は、サーバＩ／Ｏ量変化予測プログラム１１１が、仮想マシン性能情報テーブル２００に対して次のＳＱＬを実行することによって行われる。
【００８９】
Ｓｅｌｅｃｔ  ＊  ＦＲＯＭ  仮想マシン性能情報テーブル２００  ｗｈｅｒｅ  データ収集時刻  ＢＥＴＷＥＥＮ  ステップＳ５０１で取得したデータ収集時刻  ＡＮＤ  ステップＳ５０２で取得したデータ収集時刻
【００９０】
このＳＱＬ文をサーバＩ／Ｏ量変化予測プログラム１１１は実行し全Ｉ／Ｏデータ転送量を取得した後、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ５０１およびステップＳ５０２で取得したデータ収集時刻と、各ＩＯＰＳの関係式、およびステップＳ５０１およびステップＳ５０２で取得したデータ収集時刻と、各ＩＯデータ転送量との関係式を算出する（Ｓ５０４）。
具体的には、ステップ８０２で取得したデータを元に回帰分析を行い、サーバ側の計算機資源の性能限界に達する以前のＩ／Ｏ処理量の増加傾向を表す関係式を算出する。ここで、算出される関係式は、図１９（ｂ）における符号Ｌ２が示す線である。
回帰分析の入力値としては、ステップＳ５０１およびステップＳ５０２で取得したデータ収集時刻と、このデータ収集時刻における各Ｉ／Ｏデータ転送量（図２のカラム２１０〜２１３）を用いる。
なお、本実施形態では、回帰分析を用いているが、図１９（ｂ）における点Ｐ１（一番古いＩ／Ｏ量）と、点Ｐｎを単純に結んだ直線を関係式としてもよい。
【００９１】
そして、サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ５０４で算出した関係式より予測Ｉ／Ｏデータ転送量を算出する（Ｓ５０５）。
具体的には、サーバＩ／Ｏ量変化予測プログラム１１１は、仮想マシン性能情報テーブル２００の最も新しい（現在から最も直近の）データ収集時刻を取得する。そして、サーバＩ／Ｏ量変化予測プログラム１１１は、取得した最も新しいデータ収集時刻を入力値として、ステップＳ５０４で算出した関係式から、当該データ収集時刻における各Ｉ／Ｏデータ転送量を算出する。
【００９２】
図１９（ｂ）を参照して説明すると、最も新しいデータ収集時刻が時刻Ｔ３である。そして、算出される予測Ｉ／Ｏデータ転送量と、予測ＩＯＰＳは、直線Ｌ２の延長線（破線Ｌ３）と、時刻Ｔ３からの垂直線の交点ＰｘにおけるＩ／Ｏデータ転送量Ｉ１である。
サーバＩ／Ｏ量変化予測プログラム１１１は、ステップＳ５０５算出した各Ｉ／Ｏデータ転送量を予測Ｉ／Ｏデータ転送量とする。
【００９３】
なお、ステップＳ５０２の処理は、省略してもよい。
【００９４】
「予測法３」によれば、Ｉ／Ｏ量が限界に達する前に、サーバ側のＣＰＵやメモリ、ＨＢＡ２３といった計算機資源の性能が限界に達してしまった場合にも対応できる。
【００９５】
（本実施形態の別の例）
本実施形態では、移動対象仮想マシンを移動先物理サーバへ移動する際、移動先の空きＣＰＵと空きメモリとをすべて使用した場合に予測されるＩ／Ｏ量に基づいてＬＤＥＶ３２の移動を行っている。しかし、実際に仮想マシン２５０の移動後、仮想マシン２５０上のアプリケーション２５１が発行するＩ／Ｏ量が、予測したＩ／Ｏ量より下回ることも予想される。そこで、前記した実施形態の別の例として、移動対象仮想マシンの移動後、定期的にＩ／Ｏ量を監視し、アレイグループ３３の最大Ｉ／Ｏ量を上回った時に、初めて移動対象仮想マシンのデータ格納先を他のアレイグループ３３に移動するようにすることもできる。
【００９６】
図２２は、本実施形態の別の例における処理の流れを示すフローチャートである。なお、この例における計算機システムＡの構成は、図１と同様であるため説明を省略する。
図２２の概略を説明すると、まず、管理サーバ１およびストレージ装置３は、移動対象仮想マシンを移動先物理サーバへ移動する。このとき移動対象仮想マシンには、移動先物理サーバの空きＣＰＵと空きメモリの資源を割り当てる。そして、仮想マシン構成変更プログラム１１４は、仮想マシン２５０の移動後、予測値に基づく制限値を設定し、移動対象仮想マシンのＩ／Ｏ量がこの制限値に達しているか否かを判定する。次に、移動した仮想マシン２５０（移動対象仮想マシン）上のアプリケーション２５１が発行するＩ／Ｏ量が、この制限したＩ／Ｏ量に達したことを管理サーバ１が検知したら、管理サーバ１およびストレージ装置３は、仮想マシン２５０のデータ格納先となっているＬＤＥＶ３２を他のアレイグループ３３へ移動する。
【００９７】
以下、図２２の各処理を詳細に説明する。なお、図２２において前記した実施形態と同様の処理については、同一のステップ番号を付して説明を省略する。
管理サーバ１は、図１４のステップＳ１０１およびステップＳ１０２の処理を行う。その後、サーバＩ／Ｏ量予測プログラムは、移動対象仮想マシンのデータ格納先となるアレイグループ３３が処理可能であるＩ／Ｏ量を求め、この移動対象仮想マシンのデータ格納先となっているアレイグループ３３（現在使用中のアレイグループ）の最大Ｉ／Ｏ量を超えないＩ／Ｏ量の制限値を決定する（Ｓ６０１）。具体的には、ステップＳ１０２でサーバＩ／Ｏ量変化予測プログラム１１１は、前記した「予測法１」、「予測法２」および「予測法３」のいずれかを用いて予測Ｉ／Ｏ量（「予測法３」の場合は、予測Ｉ／Ｏデータ転送量）を算出する。そして、サーバＩ／Ｏ量予測プログラムは、この予測Ｉ／Ｏ量が、データ格納先となっているアレイグループ３３の最大Ｉ／Ｏ量を上回るのであれば、アレイグループ３３の空きＩ／Ｏ量＋現在の移動対象仮想マシンのＩ／Ｏ量の値を移動対象仮想マシンのＩ／Ｏ量の制限値とする。上回らないのであれば問題はないので、サーバＩ／Ｏ量変化予測プログラム１１１は制限値を設けない。
【００９８】
次に、仮想マシン構成変更プログラム１１４が、図１４のステップＳ１０７と同様の処理を行ってステップＳ１０１で選択した移動先物理サーバに移動対象仮想マシンを移動する。
次に、仮想マシン構成変更プログラム１１４は、移動先物理サーバ内のハイパバイザ２６０に対して移動対象仮想マシンのＩ／Ｏ量を監視するように指示する（Ｓ６０２）。この機能は、予め仮想マシン構成変更プログラム１１４に持たせている機能である。また、仮想マシン構成変更プログラム１１４は、この機能に加え、ストレージポート側に対して、算出した制限値にＩ／Ｏ量を監視するように指示する機能を有していてもよい。このようにすることで、物理サーバ２およびストレージ装置３の双方において、Ｉ／Ｏ量を監視することができる。
【００９９】
ステップＳ６０２指示を受けたハイパバイザ２６０は、監視対象の仮想マシン２５０（ここでは、移動後の移動対象仮想マシン）におけるＩ／Ｏ量を監視し、ステップＳ６０１で決定した制限値に、移動対象仮想マシンのＩ／Ｏ量が達したか否かを判定する（ステップＳ６０３）。
ステップＳ６０３の結果、達していない場合（Ｓ６０３→Ｎｏ）、ハイパバイザ２６０は、ステップＳ６０３の処理を繰り返す。
ステップＳ６０３の結果、達した場合（Ｓ６０３→Ｙｅｓ）、マイグレーション先候補検索エンジン１１２は、ステップＳ１０２で取得または算出した予測Ｉ／Ｏ量を移動対象仮想マシンのＩ／Ｏ予測値とした（Ｓ６０４）後、マイグレーション先候補検索エンジン１１２や、ストレージ構成変更プログラム１１３や、仮想マシン構成変更プログラム１１４は、図１４のステップＳ１０４〜Ｓ１０６と同様の処理を行ってマイグレーションを実行する。そして、仮想マシン構成変更プログラム１１４は、移動先物理サーバ内のハイパバイザ２６０に対してＩ／Ｏ量の監視を解除するよう指示し（Ｓ６０５）、メモリに残っている制限値を削除する。
【０１００】
ここでは、図２２の処理は図１４と独立して行われているが、図２２の処理は、図１４の処理後に行ってもよい。
【０１０１】
（効果）
本実施形態によれば、物理サーバ２内の仮想マシン２５０の計算機資源の再割当てを行ったときに、仮想マシン２５０の移動に伴うＩ／Ｏ量の増加を予測し、現在使用中のアレイグループ３３における最大Ｉ／Ｏ量を、予測したＩ／Ｏ量が超える場合に、余裕のあるアレイグループ３３を検索することで、仮想マシン２５０の移動に伴う構成変更を一度行うだけで済むようにできる。
【図面の簡単な説明】
【０１０２】
【図１】本実施形態に係る計算機システムの構成例を示す図である。
【図２】本実施形態に係る仮想マシン性能情報テーブルの例を示す図である。
【図３】本実施形態に係る仮想マシン仕様情報テーブルの例を示す図である。
【図４】本実施形態に係る物理サーバ性能情報テーブルの例を示す図である。
【図５】本実施形態に係る物理サーバ仕様情報テーブルの例を示す図である。
【図６】本実施形態に係るＬＤＥＶ性能情報テーブルの例を示す図である。
【図７】本実施形態に係るＬＤＥＶ仕様情報テーブルの例を示す図である。
【図８】本実施形態に係るアレイグループ性能情報テーブルの例を示す図である。
【図９】本実施形態に係るアレイグループ仕様情報テーブルの例を示す図である。
【図１０】本実施形態に係る経路情報テーブルの例を示す図である。
【図１１】本実施形態に係るマッピングモデルテーブルの例を示す図である。
【図１２】本実施形態に係るアプリケーション毎の処理量モデルテーブルの例を示す図である。
【図１３】本実施形態に係るテーブル関係を示す図である。
【図１４】本実施形態に係る全体処理の手順の流れを示すフローチャートであり、
【図１５】本実施形態に係る「予測法１」の手順の流れを示すフローチャートである。
【図１６】本実施形態に係る「予測法２」の手順の流れを示すフローチャートである。
【図１７】本実施形態に係る移動先物理サーバで消費Ｉ／Ｏ量が増え得るか否かを判定する手順を示すフローチャートである。
【図１８】本実施形態に係る「予測法３」によるＩ／Ｏデータ転送量の予測の手順を示すフローチャートである。
【図１９】（ａ）は、ＣＰＵ利用率の時間的変化を模式的に示したグラフであり、（ｂ）は、Ｉ／Ｏ量時間的変化を模式的に示した図である。
【図２０】本実施形態に係る移動仮想マシン選択画面を示す図である。
【図２１】本実施形態に係るマイグレーション先候補表示画面の例を示す図である。
【図２２】本実施形態の別の例における処理の流れを示すフローチャートである。
【符号の説明】
【０１０３】
Ａ      計算機システム
１      管理サーバ
２      物理サーバ
３      ストレージ装置
４      ＳＡＮ
２４    デバイスファイル
３２    ＬＤＥＶ
３３    アレイグループ（記憶デバイス）
１１０  管理プログラム
１１１  Ｉ／Ｏ量変化予測プログラム（予測値算出部）
１１２  マイグレーション先候補検索エンジン（検索部）
１１３  ストレージ構成変更プログラム（ストレージ構成変更部）
１１４  仮想マシン構成変更プログラム（仮想マシン構成変更部）
２００  仮想マシン性能情報テーブル
２５０  仮想マシン
２５２  仮想マシン性能情報取得エージェント
２６０  ハイパバイザ
２６１  仮想マシン仕様情報取得エージェント
２６２  物理サーバ性能情報取得エージェント
３００  仮想マシン仕様情報テーブル
３１１  コントローラ
３１２  ストレージ情報取得エージェント
４００  物理サーバ性能情報テーブル
５００  物理サーバ仕様情報テーブル
６００  ＬＤＥＶ性能情報テーブル
７００  ＬＤＥＶ仕様情報テーブル
８００  アレイグループ性能情報テーブル
９００  アレイグループ仕様情報テーブル
１１００  マッピングモデルテーブル（予測入出力データ量情報）
１２００  アプリケーション毎の処理量モデルテーブル（予測入出力データ量情報）
【図１】
2010108409.tif 000003
【図２】
2010108409.tif 000004
【図３】
2010108409.tif 000005
【図４】
2010108409.tif 000006
【図５】
2010108409.tif 000007
【図６】
2010108409.tif 000008
【図７】
2010108409.tif 000009
【図８】
2010108409.tif 000010
【図９】
2010108409.tif 000011
【図１０】
2010108409.tif 000012
【図１１】
2010108409.tif 000013
【図１２】
2010108409.tif 000014
【図１３】
2010108409.tif 000015
【図１４】
2010108409.tif 000016
【図１５】
2010108409.tif 000017
【図１６】
2010108409.tif 000018
【図１７】
2010108409.tif 000019
【図１８】
2010108409.tif 000020
【図１９】
2010108409.tif 000021
【図２０】
2010108409.tif 000022
【図２１】
2010108409.tif 000023
【図２２】
2010108409.tif 000024