(57)【特許請求の範囲】
【請求項１】
複数の仮想マシンを実行する仮想マシンサーバにて、複数の実サーバを仮想化した複数の仮想サーバの各々を前記複数の仮想マシンの各々で稼動させることにより生じる仮想マシンサーバのＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）負荷の見積値を計算する仮想マシンサーバサイジング装置であって、
前記複数の実サーバの各々にて生じる実サーバのＣＰＵ負荷の測定値と、前記複数の実サーバの各々にて生じるディスク及び／又はネットワークのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）負荷の測定値とを記憶装置に記憶する負荷管理部と、
仮想マシンによるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を前記複数の実サーバの各々にて生じるＩ／Ｏ負荷の測定値から求めるためのＩ／Ｏ負荷変換率を予め前記記憶装置に記憶しておき、前記Ｉ／Ｏ負荷変換率を用いて、前記負荷管理部により記憶されたＩ／Ｏ負荷の測定値から、前記仮想マシンサーバにて前記複数の仮想サーバの各々によるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を処理装置で計算する負荷変換部と、
前記負荷管理部により記憶された実サーバのＣＰＵ負荷の測定値と前記負荷変換部により計算された仮想マシンサーバのＣＰＵ負荷の見積値との合計値を、前記仮想マシンサーバにて前記複数の仮想サーバの各々を稼動させることにより生じる仮想マシンサーバのＣＰＵ負荷の見積値として前記処理装置で計算する負荷見積部とを備えることを特徴とする仮想マシンサーバサイジング装置。
【請求項２】
前記仮想マシンサーバサイジング装置は、さらに、
前記複数の実サーバの各々が有するＣＰＵの性能を数値化したＣＰＵ性能値を予め前記記憶装置に記憶しておき、前記ＣＰＵ性能値を用いて、前記負荷管理部により記憶された実サーバのＣＰＵ負荷の測定値を、前記複数の実サーバの各々が有するＣＰＵと前記仮想マシンサーバが有するＣＰＵとの性能差を考慮した数値に前記処理装置で換算するＣＰＵ性能換算部を備え、
前記負荷見積部は、前記負荷管理部により記憶された実サーバのＣＰＵ負荷の測定値に代え、前記ＣＰＵ性能換算部により換算された数値を用いて前記合計値を計算することを特徴とする請求項１に記載の仮想マシンサーバサイジング装置。
【請求項３】
前記負荷変換部は、前記仮想マシンサーバと同じ仮想化技術を用いて仮想マシンを実行するテストサーバにて、当該仮想マシンによるＩ／Ｏを処理することにより生じるテストサーバのＣＰＵ負荷の測定値と当該Ｉ／Ｏ負荷の測定値との比率を、前記Ｉ／Ｏ負荷変換率として予め前記記憶装置に記憶しておくことを特徴とする請求項１又は２に記載の仮想マシンサーバサイジング装置。
【請求項４】
前記負荷変換部は、前記テストサーバが有するＣＰＵの性能を数値化したＣＰＵ性能値を予め前記記憶装置に記憶しておき、前記ＣＰＵ性能値を用いて、前記仮想マシンサーバにて前記複数の仮想サーバの各々によるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を、前記テストサーバが有するＣＰＵと前記仮想マシンサーバが有するＣＰＵとの性能差を考慮した数値に前記処理装置で換算し、
前記負荷見積部は、前記負荷変換部により計算された仮想マシンサーバのＣＰＵ負荷の見積値に代え、前記負荷変換部により換算された数値を用いて前記合計値を計算することを特徴とする請求項３に記載の仮想マシンサーバサイジング装置。
【請求項５】
前記負荷管理部は、前記複数の実サーバの各々にて単位時間ごとに測定されるディスク及び／又はネットワークのＩ／Ｏリクエスト数と、前記複数の実サーバの各々にて単位時間ごとに測定されるディスク及び／又はネットワークのＩ／Ｏ帯域とを、前記複数の実サーバの各々にて生じるＩ／Ｏ負荷の測定値として前記記憶装置に記憶し、
前記負荷変換部は、前記テストサーバにて当該仮想マシンによるＩ／Ｏリクエストを発行することにより生じるテストサーバのＣＰＵ負荷の測定値を当該Ｉ／Ｏリクエスト数で割ったＩ／Ｏ数変換率と、前記テストサーバにて当該仮想マシンによるＩ／Ｏリクエストを実行することにより生じるテストサーバのＣＰＵ負荷の測定値を当該Ｉ／Ｏ帯域で割った帯域変換率とを、前記Ｉ／Ｏ負荷変換率として予め前記記憶装置に記憶しておき、前記Ｉ／Ｏ数変換率と前記負荷管理部により記憶されたＩ／Ｏリクエスト数との乗算値と、前記帯域変換率と前記負荷管理部により記憶されたＩ／Ｏ帯域との乗算値との合算値を、前記仮想マシンサーバにて前記複数の仮想サーバの各々によるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値として前記処理装置で計算することを特徴とする請求項３又は４に記載の仮想マシンサーバサイジング装置。
【請求項６】
前記負荷変換部は、異なる仮想化技術を用いて仮想マシンを各々が実行する複数のテストサーバにて、当該仮想マシンによるＩ／Ｏを処理することにより生じるテストサーバのＣＰＵ負荷の測定値と当該Ｉ／Ｏ負荷の測定値との比率を、前記Ｉ／Ｏ負荷変換率として予め前記記憶装置に記憶しておき、前記仮想マシンサーバと同じ仮想化技術を用いるテストサーバに対応するＩ／Ｏ負荷変換率を用いて、前記仮想マシンサーバにて前記複数の仮想サーバの各々によるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を計算することを特徴とする請求項３から５までのいずれかに記載の仮想マシンサーバサイジング装置。
【請求項７】
前記負荷管理部は、前記複数の実サーバの各々にて生じるネットワークのＩ／Ｏ負荷の測定値を前記記憶装置に記憶し、
前記負荷変換部は、同じ物理マシンで実行される他の仮想マシンと通信する第１の通信処理を行う仮想マシンを一方が実行し、異なる物理マシンと通信する第２の通信処理を行う仮想マシンを他方が実行する２つのテストサーバにて、当該仮想マシンによるネットワークのＩ／Ｏを処理することにより生じるテストサーバのＣＰＵ負荷の測定値と当該Ｉ／Ｏ負荷の測定値との比率を、前記Ｉ／Ｏ負荷変換率として予め前記記憶装置に記憶しておき、前記第１の通信処理と前記第２の通信処理とのうち、前記仮想マシンサーバと同じ通信処理を行う仮想マシンを実行するテストサーバに対応するＩ／Ｏ負荷変換率を用いて、前記仮想マシンサーバにて前記複数の仮想サーバの各々によるネットワークのＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を計算することを特徴とする請求項３から６までのいずれかに記載の仮想マシンサーバサイジング装置。
【請求項８】
前記仮想マシンサーバサイジング装置は、さらに、
仮想マシンの数と前記仮想マシンサーバが有するＣＰＵの数との比率と、前記仮想マシンサーバにて当該比率に応じて生じる仮想マシンサーバのＣＰＵ負荷のオーバヘッドを示すＣＰＵオーバヘッド係数とを予め前記記憶装置に記憶しておき、前記複数の仮想マシンの数と前記仮想マシンサーバが有するＣＰＵの数との比率に対応するＣＰＵオーバヘッド係数を前記記憶装置から抽出するＣＰＵオーバヘッド算出部を備え、
前記負荷見積部は、前記ＣＰＵオーバヘッド算出部により抽出されたＣＰＵオーバヘッド係数を用いて、前記合計値を、前記オーバヘッドを考慮した数値に前記処理装置で換算することを特徴とする請求項１から７までのいずれかに記載の仮想マシンサーバサイジング装置。
【請求項９】
前記ＣＰＵオーバヘッド算出部は、仮想化技術を特定する項目と、仮想マシンの数と前記仮想マシンサーバが有するＣＰＵの数との比率と、前記仮想マシンサーバにて当該項目で特定される仮想化技術と当該比率とに応じて生じる仮想マシンサーバのＣＰＵ負荷のオーバヘッドを示すＣＰＵオーバヘッド係数とを予め前記記憶装置に記憶しておき、前記仮想マシンサーバが用いる仮想化技術と、前記複数の仮想マシンの数と前記仮想マシンサーバが有するＣＰＵの数との比率とに対応するＣＰＵオーバヘッド係数を前記記憶装置から抽出することを特徴とする請求項８に記載の仮想マシンサーバサイジング装置。
【請求項１０】
複数の仮想マシンを実行する仮想マシンサーバにて、複数の実サーバを仮想化した複数の仮想サーバの各々を前記複数の仮想マシンの各々で稼動させることにより生じる仮想マシンサーバのＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）負荷の見積値を計算する仮想マシンサーバサイジング方法であって、
コンピュータの記憶装置が、前記複数の実サーバの各々にて生じる実サーバのＣＰＵ負荷の測定値と、前記複数の実サーバの各々にて生じるディスク及び／又はネットワークのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）負荷の測定値とを記憶し、
前記コンピュータの記憶装置が、仮想マシンによるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を前記複数の実サーバの各々にて生じるＩ／Ｏ負荷の測定値から求めるためのＩ／Ｏ負荷変換率を予め記憶しておき、
前記コンピュータの処理装置が、前記Ｉ／Ｏ負荷変換率を用いて、前記記憶装置により記憶されたＩ／Ｏ負荷の測定値から、前記仮想マシンサーバにて前記複数の仮想サーバの各々によるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を計算し、
前記コンピュータの処理装置が、前記記憶装置により記憶された実サーバのＣＰＵ負荷の測定値と前記処理装置により計算された仮想マシンサーバのＣＰＵ負荷の見積値との合計値を、前記仮想マシンサーバにて前記複数の仮想サーバの各々を稼動させることにより生じる仮想マシンサーバのＣＰＵ負荷の見積値として計算することを特徴とする仮想マシンサーバサイジング方法。
【請求項１１】
複数の仮想マシンを実行する仮想マシンサーバにて、複数の実サーバを仮想化した複数の仮想サーバの各々を前記複数の仮想マシンの各々で稼動させることにより生じる仮想マシンサーバのＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）負荷の見積値を計算する仮想マシンサーバサイジングプログラムであって、
前記複数の実サーバの各々にて生じる実サーバのＣＰＵ負荷の測定値と、前記複数の実サーバの各々にて生じるディスク及び／又はネットワークのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）負荷の測定値とを記憶装置に記憶する負荷管理手順と、
仮想マシンによるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を前記複数の実サーバの各々にて生じるＩ／Ｏ負荷の測定値から求めるためのＩ／Ｏ負荷変換率を予め前記記憶装置に記憶しておき、前記Ｉ／Ｏ負荷変換率を用いて、前記負荷管理手順により記憶されたＩ／Ｏ負荷の測定値から、前記仮想マシンサーバにて前記複数の仮想サーバの各々によるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を処理装置で計算する負荷変換手順と、
前記負荷管理手順により記憶された実サーバのＣＰＵ負荷の測定値と前記負荷変換手順により計算された仮想マシンサーバのＣＰＵ負荷の見積値との合計値を、前記仮想マシンサーバにて前記複数の仮想サーバの各々を稼動させることにより生じる仮想マシンサーバのＣＰＵ負荷の見積値として前記処理装置で計算する負荷見積手順とをコンピュータに実行させることを特徴とする仮想マシンサーバサイジングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンサーバサイジング装置及び仮想マシンサーバサイジング方法及び仮想マシンサーバサイジングプログラムに関するものである。
【背景技術】
【０００２】
近年、企業内にある数百台のサーバをより少数の高性能サーバに集約するサーバ統合が注目されている。仮想化技術を利用することによって、複数のサーバで動作していたシステムを１つのサーバに集約し、運用管理コストの削減を図ることが狙いである（例えば、特許文献１及び非特許文献１参照）。
【特許文献１】特開２００５−１１５６５３号公報
【非特許文献１】網代育大、田中淳裕、「仮想計算機環境における資源管理オーバヘッドの評価」、研究報告−システム評価、社団法人情報処理学会、２００６年６月、Ｖｏｌ．２００６、ｐ．１７−２２
【発明の開示】
【発明が解決しようとする課題】
【０００３】
サーバ仮想化技術を利用したサーバ統合では、統合先のサーバに必要な性能や台数の決定、仮想マシンと物理サーバの組み合わせの算出が必要となる。このため、統合対象のサーバからシステム負荷の統計情報を取得し、それを基に仮想化後のシステム負荷を見積もるサイジングが重要である。
【０００４】
従来から行われてきた非仮想化環境でのサイジング方式では、例えば複数のアプリケーションを１つのサーバで動作させる場合のシステム負荷見積もりでは、各アプリケーションが使用するシステム負荷を合算することにより、サーバ全体のシステム負荷を見積もることができた。しかし、仮想化環境では、複数のサーバが一つの物理マシン上で動作することによる競合やスケジューリングによるオーバヘッド、ディスクやネットワークアクセス時に発生するＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）エミュレーションによるオーバヘッドなど、仮想化による負荷がある。そのため、サイジングを行う際には、負荷の単純な合算ではなく、仮想化によるオーバヘッドを考慮した算出が必要となる。
【０００５】
特許文献１では、仮想化環境において、実行中の複数の仮想マシンからシステム負荷を計測し、そのパフォーマンスが最大となるような、仮想マシンの組み合わせを算出する方式が考案されている。しかし、この方式では非仮想化環境の統合対象サーバから取得した統計情報から仮想化後のシステム負荷を算出することができない。さらに、仮想化によるオーバヘッドに関して考慮されていない。
【０００６】
非特許文献１では、ＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）資源、ディスク資源のオーバヘッドを、ベンチマークテストを用いて測定し、仮想マシンの稼働数と性能の関係や非仮想化の場合との性能比を算出し、サーバ統合時の性能設計や性能管理に役立てようという研究がなされている。しかし、Ｉ／ＯエミュレーションによるＣＰＵ負荷のオーバヘッドなどに関して考慮されていない。
【０００７】
上記のように、従来のサイジング方式では、仮想化機構がＩ／Ｏエミュレーションを行うために必要なＣＰＵ負荷（ＣＰＵ使用率）を考慮していないため、ＣＰＵ負荷を実際のものより低く見積もってしまう場合があるという課題があった。
【０００８】
本発明は、例えば、仮想化環境におけるＩ／Ｏエミュレーションに必要なＣＰＵ負荷をディスク負荷及び／又はネットワーク負荷から換算し、ＣＰＵ負荷の見積もりの精度を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一の態様に係る仮想マシンサーバサイジング装置は、
複数の仮想マシンを実行する仮想マシンサーバにて、複数の実サーバを仮想化した複数の仮想サーバの各々を前記複数の仮想マシンの各々で稼動させることにより生じる仮想マシンサーバのＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）負荷の見積値を計算する仮想マシンサーバサイジング装置であって、
前記複数の実サーバの各々にて生じる実サーバのＣＰＵ負荷の測定値と、前記複数の実サーバの各々にて生じるディスク及び／又はネットワークのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）負荷の測定値とを記憶装置に記憶する負荷管理部と、
仮想マシンによるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を前記複数の実サーバの各々にて生じるＩ／Ｏ負荷の測定値から求めるためのＩ／Ｏ負荷変換率を予め前記記憶装置に記憶しておき、前記Ｉ／Ｏ負荷変換率を用いて、前記負荷管理部により記憶されたＩ／Ｏ負荷の測定値から、前記仮想マシンサーバにて前記複数の仮想サーバの各々によるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を処理装置で計算する負荷変換部と、
前記負荷管理部により記憶された実サーバのＣＰＵ負荷の測定値と前記負荷変換部により計算された仮想マシンサーバのＣＰＵ負荷の見積値との合計値を、前記仮想マシンサーバにて前記複数の仮想サーバの各々を稼動させることにより生じる仮想マシンサーバのＣＰＵ負荷の見積値として前記処理装置で計算する負荷見積部とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明の一の態様によれば、仮想マシンサーバサイジング装置において、
負荷管理部が、複数の実サーバの各々にて生じる実サーバのＣＰＵ負荷の測定値と、前記複数の実サーバの各々にて生じるディスク及び／又はネットワークのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）負荷の測定値とを記憶装置に記憶し、
負荷変換部が、仮想マシンによるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を前記複数の実サーバの各々にて生じるＩ／Ｏ負荷の測定値から求めるためのＩ／Ｏ負荷変換率を予め前記記憶装置に記憶しておき、前記Ｉ／Ｏ負荷変換率を用いて、前記負荷管理部により記憶されたＩ／Ｏ負荷の測定値から、前記仮想マシンサーバにて複数の仮想サーバの各々によるＩ／Ｏを処理することにより生じる仮想マシンサーバのＣＰＵ負荷の見積値を処理装置で計算し、
負荷見積部が、前記負荷管理部により記憶された実サーバのＣＰＵ負荷の測定値と前記負荷変換部により計算された仮想マシンサーバのＣＰＵ負荷の見積値との合計値を、前記仮想マシンサーバにて前記複数の仮想サーバの各々を稼動させることにより生じる仮想マシンサーバのＣＰＵ負荷の見積値として前記処理装置で計算することにより、
仮想化環境におけるＣＰＵ負荷の見積もりの精度が向上する。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図を用いて説明する。
【００１２】
実施の形態１．
図１は、本実施の形態に係るシステム全体の構成を示すブロック図である。
【００１３】
図１において、サーバ１０〜１２は、サーバ統合の対象となる非仮想化サーバである。コンピュータ３０は、サイジング機能が動作する端末である。サーバ１０〜１２とコンピュータ３０は、ＬＡＮ２０（ローカルエリアネットワーク）で接続されている。サーバ１０〜１２の各々は、実サーバの一例であり、コンピュータ３０は、仮想マシンサーバサイジング装置の一例である。
【００１４】
サーバ１０〜１２は、負荷測定部２００〜２０２を備える。また、サーバ１０〜１２は、ハードウェア資源として、少なくとも１つのＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）を有するとともに、ＨＤＤ（Ｈａｒｄ・Ｄｉｓｋ・Ｄｒｉｖｅ）やＮＩＣ（Ｎｅｔｗｏｒｋ・Ｉｎｔｅｒｆａｃｅ・Ｃａｒｄ）を有する。
【００１５】
負荷測定部２００〜２０２は、それぞれ、サーバ１０〜１２の各々のシステム負荷を測定し、それを測定情報として出力する。システム負荷とは、例えば、ＣＰＵ負荷、ディスクやネットワークのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）負荷のことである。ＣＰＵ負荷とは、各サーバにて所定の処理を実行することにより各サーバのＣＰＵにかかる負荷のことである。ディスクのＩ／Ｏ負荷（単に「ディスク負荷」ともいう）とは、各サーバのＨＤＤ内のディスクからデータを読み込む際、及び、そのディスクへデータを書き込む際に、ディスクにかかるアクセス負荷のことである。また、ネットワークのＩ／Ｏ負荷（単に「ネットワーク負荷」ともいう）とは、各サーバのＮＩＣを介してＬＡＮ２０などのネットワークからデータを受信する際、及び、そのネットワークへデータを送信する際に、ネットワークにかかるアクセス負荷のことである。本実施の形態では、サーバ１０〜１２の負荷測定部２００〜２０２は、ＣＰＵ負荷としてＣＰＵ使用率を、ディスクのＩ／Ｏ負荷としてディスクＩ／Ｏ数及びディスク帯域を、ネットワークのＩ／Ｏ負荷としてネットワークＩ／Ｏ数及びネットワーク帯域を測定するものとする。ディスクＩ／Ｏ数は、単位時間ごとにディスクから／へのデータの読込／書込がリクエストされる回数、ディスク帯域は、単位時間ごとにディスクから／へ読み込まれる／書き込まれるデータの量である。同様に、ネットワークＩ／Ｏ数は、単位時間ごとにネットワークから／へのデータの受信／送信がリクエストされる回数、ネットワーク帯域は、単位時間ごとにネットワークから／へ受信／送信されるデータの量である。
【００１６】
コンピュータ３０は、性能設計部２１０、構成管理部２１１、負荷管理部２１２、負荷収集部２１３を備える。また、コンピュータ３０は、ハードウェア資源として、入力装置２５１（例えば、キーボードやマウス）、記憶装置２５２（例えば、ＨＤＤやメモリ）、処理装置２５３（例えば、ＣＰＵ）、出力装置２５４（例えば、表示装置やプリンタ装置）を有する。性能設計部２１０は、ディスク負荷変換部２２１とネットワーク負荷変換部２２２を含む負荷変換部２２０、ＣＰＵ性能換算部２２３、ＣＰＵオーバヘッド算出部２２４、負荷見積部２２５を備える。コンピュータ３０の記憶装置２５２には、構成情報テーブル１０１、ＣＰＵオーバヘッドテーブル１０２、ディスク負荷変換テーブル１０３、ネットワーク負荷変換テーブル１０４、ＣＰＵ性能情報テーブル１０５、ＣＰＵ負荷テーブル１０６、ディスク負荷テーブル１０７、ネットワーク負荷テーブル１０８が記憶される。
【００１７】
構成管理部２１１は、サーバ１０〜１２の構成情報の入力を入力装置２５１から受け付け、その構成情報を構成情報テーブル１０１に格納して管理する。ここで、構成情報テーブル１０１の構成例を図２に示す。図２において、構成情報テーブル１０１は、コンピュータ３０内でサーバ１０〜１２を一意に識別するシステムＩＤ（ＩＤｅｎｔｉｆｉｅｒ）を用いて、構成情報をサーバごとに格納している。構成情報テーブル１０１には、構成情報として、各サーバのホスト名、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・ｖｅｒｓｉｏｎ・４）アドレス、ＯＳ（オペレーティングシステム）名、ＯＳバージョン、ＣＰＵ名、ＣＰＵ数が格納されている。
【００１８】
負荷収集部２１３は、サーバ１０〜１２上の負荷測定部２００〜２０２が出力する測定情報を、ＬＡＮ２０を介して収集する。負荷管理部２１２は、負荷収集部２１３が収集した測定情報をＣＰＵ負荷テーブル１０６、ディスク負荷テーブル１０７、ネットワーク負荷テーブル１０８に格納する。ここで、ＣＰＵ負荷テーブル１０６、ディスク負荷テーブル１０７、ネットワーク負荷テーブル１０８の構成例を図３、図４、図５にそれぞれ示す。図３、図４、図５において、ＣＰＵ負荷テーブル１０６、ディスク負荷テーブル１０７、ネットワーク負荷テーブル１０８は、いずれもシステムＩＤを用いて、１０秒単位の測定情報をサーバごとに格納している。図３に示したＣＰＵ負荷テーブル１０６には、１０秒単位の測定情報として、各サーバが有するＣＰＵのユーザ使用率（％）、ＣＰＵのシステム使用率（％）、ＣＰＵのＩ／Ｏ待ちの比率（％）、ＣＰＵの待機の比率（％）が格納されている。ＣＰＵ使用率は、ＣＰＵのユーザ使用率、ＣＰＵのシステム使用率、ＣＰＵのＩ／Ｏ待ちの比率を合算して求めることができる。ＣＰＵ使用率は、１００％からＣＰＵの待機の比率を減算して求めることもできる。図４に示したディスク負荷テーブル１０７には、１０秒単位の測定情報として、各サーバが有するＨＤＤ内のディスクの読込速度（キロバイト／秒）、ディスクの読込リクエスト数（回数／秒）、ディスクの書込速度（キロバイト／秒）、ディスクの書込リクエスト数（回数／秒）が格納されている。ディスクＩ／Ｏ数は、ディスクの読込リクエスト数とディスクの書込リクエスト数を合算して求めることができる。また、ディスク帯域は、ディスクの読込速度とディスクの書込速度を合算して求めることができる。図５に示したネットワーク負荷テーブル１０８には、１０秒単位の測定情報として、各サーバが有するＮＩＣを介するネットワークの受信速度（キロバイト／秒）、ネットワークの受信リクエスト数（回数／秒）、ネットワークの送信速度（キロバイト／秒）、ネットワークの送信リクエスト数（回数／秒）が格納されている。ネットワークＩ／Ｏ数は、ネットワークの受信リクエスト数とネットワークの送信リクエスト数を合算して求めることができる。また、ネットワーク帯域は、ネットワークの受信速度とネットワークの送信速度を合算して求めることができる。
【００１９】
上記のように、負荷管理部２１２は、サーバ１０〜１２の各々にて生じるＣＰＵ負荷（例えば、サーバ１０〜１２のＣＰＵ使用率）の測定値と、サーバ１０〜１２の各々にて生じるディスク及び／又はネットワークのＩ／Ｏ負荷（例えば、サーバ１０〜１２のディスクＩ／Ｏ数、ディスク帯域、ネットワークＩ／Ｏ数、ネットワーク帯域）の測定値とを記憶装置２５２に記憶する。
【００２０】
より具体的には、負荷管理部２１２は、サーバ１０〜１２の各々にて単位時間（例えば、１０秒）ごとに測定されるディスク及び／又はネットワークのＩ／Ｏリクエスト数（即ち、サーバ１０〜１２のディスクＩ／Ｏ数、ネットワークＩ／Ｏ数）と、サーバ１０〜１２の各々にて単位時間（例えば、１０秒）ごとに測定されるディスク及び／又はネットワークのＩ／Ｏ帯域（即ち、サーバ１０〜１２のディスク帯域、ネットワーク帯域）とを、サーバ１０〜１２の各々にて生じるＩ／Ｏ負荷の測定値として記憶装置２５２に記憶する。
【００２１】
性能設計部２１０は、サーバ１０〜１２の統合先となるサーバＸ（図示していない）のＣＰＵ負荷を見積もるための条件の入力を入力装置２５１から受け付ける。ここで、サーバＸは、仮想化技術を用いて、１つの物理的なコンピュータを分割し、それぞれが独立したＯＳを有する複数の論理的なコンピュータ（即ち、仮想マシン）を動作させるものである。つまり、サーバＸは、複数の仮想マシンを実行するサーバコンピュータである。サーバＸは、サーバ１０〜１２を統合する場合、サーバ１０〜１２の各々を仮想化した仮想サーバを、それぞれの仮想マシンで稼動させることとなる。サーバＸは、サーバ１０〜１２と同様に、ハードウェア資源として、少なくとも１つのＣＰＵを有するとともに、ＨＤＤやＮＩＣを有する。サーバＸは、仮想マシンサーバの一例である。性能設計部２１０は、負荷管理部２１２がＣＰＵ負荷テーブル１０６、ディスク負荷テーブル１０７、ネットワーク負荷テーブル１０８に格納した測定情報と上記条件から、サーバＸにてサーバ１０〜１２の仮想サーバを稼動させることにより生じるサーバＸのＣＰＵ負荷の見積もりを行う。
【００２２】
以下、性能設計部２１０の各部の機能について説明する。
【００２３】
負荷変換部２２０に含まれるディスク負荷変換部２２１は、ディスクのＩ／Ｏ負荷をＣＰＵ負荷へ換算するための変換率の入力を入力装置２５１から受け付け、その変換率をＩ／Ｏ負荷変換率としてディスク負荷変換テーブル１０３に格納する。そして、ディスク負荷変換部２２１は、処理装置２５３を用いて、ディスク負荷変換テーブル１０３に格納したＩ／Ｏ負荷変換率に従い、ディスク負荷テーブル１０７に格納されているディスクのＩ／Ｏ負荷をＣＰＵ負荷へ換算する。また、負荷変換部２２０に含まれるネットワーク負荷変換部２２２は、ネットワークのＩ／Ｏ負荷をＣＰＵ負荷へ換算するための変換率の入力を入力装置２５１から受け付け、その変換率をＩ／Ｏ負荷変換率としてネットワーク負荷変換テーブル１０４に格納する。そして、ネットワーク負荷変換部２２２は、処理装置２５３を用いて、ネットワーク負荷変換テーブル１０４に格納したＩ／Ｏ負荷変換率に従い、ネットワーク負荷テーブル１０８に格納されているネットワークのＩ／Ｏ負荷をＣＰＵ負荷へ換算する。ここで、ディスク負荷変換テーブル１０３、ネットワーク負荷変換テーブル１０４の構成例を図６、図７にそれぞれ示す。ディスク負荷変換テーブル１０３、ネットワーク負荷変換テーブル１０４には、Ｉ／Ｏ負荷変換率として、Ｉ／Ｏ数変換率、帯域変換率が格納されるとともに、ＣＰＵ性能の評価値が格納されている。Ｉ／Ｏ数変換率、帯域変換率は、事前にベンチマークテストを行い、そのテスト結果として算出された値である。ＣＰＵ性能の評価値は、ベンチマークテストに利用されたサーバが有するＣＰＵの性能を数値化した値である。
【００２４】
上記ベンチマークテストは、具体的には、サーバＸと同じ仮想化技術を用いて仮想マシンを実行するサーバＡを用意して行われる。サーバＡは、サーバＸと同様に、ハードウェア資源として、少なくとも１つのＣＰＵを有するとともに、ＨＤＤやＮＩＣを有する。サーバＡは、テストサーバの一例である。なお、ベンチマークテストを行う際にサーバＸが既に用意できているのであれば、サーバＸを、そのままベンチマークテスト用のサーバとして利用することも可能である。
【００２５】
上記ベンチマークテストでは、サーバＡにて当該仮想マシンによるＩ／Ｏリクエストを発行することにより生じるサーバＡのＣＰＵ負荷の測定値と、当該Ｉ／Ｏリクエスト数が算出される。例えば、前者の測定値は、サーバＡが実行する仮想マシンがディスクからのデータの読み込みをリクエストした場合に、当該リクエストが受け付けられてディスクからのデータ転送を開始されるまでにサーバＡのＣＰＵにかかる負荷を測定した値である。そして、後者のＩ／Ｏリクエスト数は、当該リクエストの数である。Ｉ／Ｏ数変換率は、前者の測定値を後者のＩ／Ｏリクエスト数で割ることにより求められる。また、上記ベンチマークテストでは、サーバＡにて当該仮想マシンによるＩ／Ｏリクエストを実行することにより生じるサーバＡのＣＰＵ負荷の測定値と、当該Ｉ／Ｏ帯域が算出される。例えば、前者の測定値は、サーバＡが実行する仮想マシンがディスクからのデータの読み込みをリクエストした場合に、ディスクからのデータ転送が開始されてから終了されるまでにサーバＡのＣＰＵにかかる負荷を測定した値である。そして、後者のＩ／Ｏ帯域は、ディスクからのデータ転送量である。帯域変換率は、前者の測定値を後者のＩ／Ｏ帯域で割ることにより求められる。また、上記ベンチマークテストでは、ＣＰＵ性能の評価値として、サーバＡが有するＣＰＵのＳＰＥＣｉｎｔ（整数演算処理性能の評価用のベンチマーク）が求められる。なお、ＣＰＵ性能の評価値は、ＣＰＵ性能を評価するための独自のベンチマークテストにより求められてもよい。
【００２６】
上記のように、負荷変換部２２０は、仮想マシンによるＩ／Ｏを処理することにより生じるサーバＸのＣＰＵ負荷（例えば、サーバＸのＣＰＵ使用率）の見積値をサーバ１０〜１２の各々にて生じるＩ／Ｏ負荷（例えば、サーバ１０〜１２のディスクＩ／Ｏ数、ディスク帯域、ネットワークＩ／Ｏ数、ネットワーク帯域）の測定値から求めるためのＩ／Ｏ負荷変換率（例えば、Ｉ／Ｏ数変換率、帯域変換率）を予め記憶装置２５２に記憶しておく。そして、負荷変換部２２０は、上記Ｉ／Ｏ負荷変換率を用いて、負荷管理部２１２により記憶されたＩ／Ｏ負荷の測定値から、サーバＸにてサーバ１０〜１２の仮想サーバによるＩ／Ｏを処理することにより生じるサーバＸのＣＰＵ負荷の見積値を処理装置２５３で計算する。
【００２７】
より具体的には、負荷変換部２２０は、サーバＸと同じ仮想化技術を用いて仮想マシンを実行するサーバＡにて、当該仮想マシンによるＩ／Ｏを処理することにより生じるテストサーバのＣＰＵ負荷（例えば、サーバＡのＣＰＵ使用率）の測定値と当該Ｉ／Ｏ負荷（例えば、サーバＡのディスクＩ／Ｏ数、ディスク帯域、ネットワークＩ／Ｏ数、ネットワーク帯域）の測定値との比率を、上記Ｉ／Ｏ負荷変換率として予め記憶装置２５２に記憶しておく。また、負荷変換部２２０は、サーバＡが有するＣＰＵの性能を数値化したＣＰＵ性能値（例えば、ＳＰＥＣｉｎｔ）を予め記憶装置２５２に記憶しておく。そして、負荷変換部２２０は、上記Ｉ／Ｏ負荷変換率を用いて、負荷管理部２１２により記憶されたＩ／Ｏ負荷の測定値から、サーバＸにてサーバ１０〜１２の仮想サーバによるＩ／Ｏを処理することにより生じるサーバＸのＣＰＵ負荷の見積値を処理装置２５３で計算し、上記ＣＰＵ性能値を用いて、その見積値を、サーバＡが有するＣＰＵとサーバＸが有するＣＰＵとの性能差を考慮した数値に処理装置２５３で換算する。なお、厳密には、サーバＡが有するＣＰＵとサーバＸが有するＣＰＵとの性能差を考慮した数値を求めるためには、サーバＡのＣＰＵ性能値だけでなく、サーバＸのＣＰＵ性能値も用いる必要がある。しかしながら、負荷変換部２２０により求められる数値は最終的な見積値ではないため、サーバＸのＣＰＵ性能値を用いた計算は省略している。
【００２８】
ＣＰＵ性能換算部２２３は、ＣＰＵの構成や性能に関する情報の入力を入力装置２５１から受け付け、その情報をＣＰＵ性能情報としてＣＰＵ性能情報テーブル１０５に格納する。そして、ＣＰＵ性能換算部２２３は、処理装置２５３を用いて、ＣＰＵ性能情報テーブル１０５に格納したＣＰＵ性能情報に基づき、ＣＰＵ負荷テーブル１０６に格納されたＣＰＵ使用率を、ＣＰＵ性能の差を考慮した値に変換する。ここで、ＣＰＵ性能情報テーブル１０５の構成例を図８に示す。ＣＰＵ性能情報テーブル１０５には、ＣＰＵ製品ごとに、当該ＣＰＵのクロック、コア数、チップ数、ＣＰＵ性能値（例えば、ＳＰＥＣｉｎｔ）の組み合わせが格納されている。ＣＰＵ性能換算部２２３は、例えば、構成情報テーブル１０１からサーバ１０に実装されたＣＰＵ製品を、ＣＰＵ負荷テーブル１０６からサーバ１０のＣＰＵ使用率を割り出す。そして、ＣＰＵ性能換算部２２３は、ＣＰＵ性能情報テーブル１０５から、当該ＣＰＵ製品のＣＰＵ性能値を割り出し、そのＣＰＵ性能値をサーバ１０のＣＰＵ使用率に乗ずることでＣＰＵ使用率の値を、ＣＰＵ性能の差を考慮した値に変換する。
【００２９】
上記のように、ＣＰＵ性能換算部２２３は、サーバ１０〜１２の各々が有するＣＰＵの性能を数値化したＣＰＵ性能値（例えば、ＳＰＥＣｉｎｔ）を予め記憶装置２５２に記憶しておく。そして、ＣＰＵ性能換算部２２３は、上記ＣＰＵ性能値を用いて、負荷管理部２１２により記憶されたサーバ１０〜１２のＣＰＵ負荷（例えば、サーバ１０〜１２のＣＰＵ使用率）の測定値を、サーバ１０〜１２の各々が有するＣＰＵとサーバＸが有するＣＰＵとの性能差を考慮した数値に処理装置２５３で換算する。
【００３０】
ＣＰＵオーバヘッド算出部２２４は、仮想マシンの数と、仮想化によるＣＰＵオーバヘッドを算出するための係数であるＣＰＵオーバヘッド係数との組み合わせの入力を入力装置２５１から受け付け、その組み合わせをＣＰＵオーバヘッドテーブル１０２に格納する。そして、ＣＰＵオーバヘッド算出部２２４は、処理装置２５３を用いて、サーバＸの仮想マシンの数とＣＰＵの数の比率を求め、その比率に対応するＣＰＵオーバヘッド係数をＣＰＵオーバヘッドテーブル１０２から取得する。ここで、ＣＰＵオーバヘッドテーブル１０２の構成例を図９に示す。ＣＰＵオーバヘッドテーブル１０２には、仮想マシンの数と物理的なＣＰＵの数との比率と、対応するＣＰＵオーバヘッド係数が格納されている。ＣＰＵオーバヘッド係数は、ＣＰＵオーバヘッドを考慮しない場合のサーバＸのＣＰＵ使用率を１とした場合に、実際に想定されるサーバＸのＣＰＵ使用率の割合を示すものである。例えば、サーバＸにて３つの仮想マシンが実行されており、各仮想マシンのＣＰＵ使用率が２０％である場合、単純に合計すればサーバＸのＣＰＵ使用率は６０％となる。しかしながら、実際には、仮想化技術を用いていることによりＣＰＵオーバヘッドが生じるため、サーバＸのＣＰＵ使用率は６０％より大きくなる。例えば、ＣＰＵオーバヘッドが３０％であれば、サーバＸのＣＰＵ使用率は９０％となる。この場合のＣＰＵオーバヘッド係数は１．５となる。
【００３１】
上記のように、ＣＰＵオーバヘッド算出部２２４は、仮想マシンの数とサーバＸが有するＣＰＵの数との比率と、サーバＸにて当該比率に応じて生じるサーバＸのＣＰＵ負荷のオーバヘッドを示すＣＰＵオーバヘッド係数とを予め記憶装置２５２に記憶しておく。そして、ＣＰＵオーバヘッド算出部２２４は、サーバＸが実際に実行する仮想マシンの数とサーバＸが実際に有するＣＰＵの数との比率に対応するＣＰＵオーバヘッド係数を記憶装置２５２から抽出する。
【００３２】
負荷見積部２２５は、処理装置２５３を用いて、統合対象のサーバ１０〜１２を仮想化してサーバＸに統合する場合のサーバＸのシステム負荷を算出する。具体的には、負荷見積部２２５は、ＣＰＵ性能換算部２２３が、ＣＰＵ負荷テーブル１０６に格納されたＣＰＵ使用率を、ＣＰＵ性能の差を考慮した値に変換したものと、負荷変換部２２０に含まれるディスク負荷変換部２２１が、ディスク負荷テーブル１０７に格納されたディスクＩ／Ｏ数及びディスク帯域をＣＰＵ使用率へ換算し、さらに、ＣＰＵ性能の差を考慮した値に変換したものと、負荷変換部２２０に含まれるネットワーク負荷変換部２２２がネットワーク負荷テーブル１０８に格納されたネットワークＩ／Ｏ数及びネットワーク帯域をＣＰＵ使用率へ換算し、さらに、ＣＰＵ性能の差を考慮した値に変換したものとを合算する。そして、負荷見積部２２５は、当該合算値にＣＰＵオーバヘッド算出部２２４がＣＰＵオーバヘッドテーブル１０２から取得したＣＰＵオーバヘッド係数を乗じ、さらに、サーバＸのＣＰＵ性能値を用いて、サーバＸのＣＰＵ使用率を見積もる。負荷見積部２２５は、見積もったサーバＸのＣＰＵ使用率を出力装置２５４へ出力する。
【００３３】
上記のように、負荷見積部２２５は、ＣＰＵ性能換算部２２３により換算された数値（例えば、サーバ１０〜１２のＣＰＵ使用率を、ＣＰＵ性能の差を考慮した値に変換したもの）と、負荷変換部２２０により換算された数値（例えば、サーバ１０〜１２のディスクＩ／Ｏ数、ディスク帯域、ネットワークＩ／Ｏ数、ネットワーク帯域をサーバＸのＣＰＵ使用率に換算した値を、さらに、ＣＰＵ性能の差を考慮した値に変換したもの）との合計値を、サーバＸにてサーバ１０〜１２の仮想サーバを稼動させることにより生じるサーバＸのＣＰＵ負荷（例えば、サーバＸのＣＰＵ使用率）の見積値として処理装置２５３で計算する。そして、負荷見積部２２５は、ＣＰＵオーバヘッド算出部２２４により抽出されたＣＰＵオーバヘッド係数を用いて、上記合計値を、ＣＰＵオーバヘッドを考慮した数値に処理装置２５３で換算する。
【００３４】
負荷見積部２２５は、ＣＰＵ性能換算部２２３により換算された数値と負荷変換部２２０により換算された数値との合計値ではなく、単に、負荷管理部２１２により記憶されたサーバ１０〜１２のＣＰＵ負荷の測定値と負荷変換部２２０により計算されたサーバＸのＣＰＵ負荷の見積値との合計値を、サーバＸにてサーバ１０〜１２の仮想サーバを稼動させることにより生じるサーバＸのＣＰＵ負荷の見積値として処理装置２５３で計算してもよい。
【００３５】
図１０は、コンピュータ３０のハードウェア資源の一例を示す図である。
【００３６】
図１０において、コンピュータ３０は、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶ディスプレイ）の表示画面を有する表示装置９０１、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ装置９０６などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。また、コンピュータ３０は、プログラムを実行するＣＰＵ９１１を備えている。ＣＰＵ９１１は、処理装置２５３の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５（即ち、ＮＩＣ）、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、磁気ディスク装置９２０（即ち、ＨＤＤ）と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
【００３７】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置２５２の一例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５などは、入力装置２５１の一例である。また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置２５４の一例である。
【００３８】
通信ボード９１５は、ＬＡＮ２０などに接続されている。通信ボード９１５は、ＬＡＮ２０に限らず、インターネット、あるいは、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークなどのＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００３９】
磁気ディスク装置９２０には、オペレーティングシステム９２１、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。このプログラムは、仮想マシンサーバサイジングプログラムの一例である。また、ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理（動作）に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００４０】
また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、ＲＡＭ９１４などのメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク（ＭＤ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）などの記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体により伝送される。
【００４１】
また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤなどの記録媒体に記憶される。このプログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００４２】
以下では、本実施の形態に係るシステムの動作（即ち、仮想マシンサーバサイジング方法）について説明する。
【００４３】
事前に、コンピュータ３０に次の基礎データを登録する必要がある。構成管理部２１１は、構成情報テーブル１０１に、サーバ１０〜１２の構成情報として、各サーバのＩＰｖ４アドレスなどを登録する。構成管理部２１１は、その登録時に、各サーバに対してシステムＩＤを割り当てる。ＣＰＵオーバヘッド算出部２２４、ディスク負荷変換部２２１、ネットワーク負荷変換部２２２は、ＣＰＵオーバヘッドテーブル１０２、ディスク負荷変換テーブル１０３、ネットワーク負荷変換テーブル１０４に、係数や変換率として、事前に行われたベンチマークテストの結果から算出された値を格納する。ＣＰＵ性能換算部２２３は、ＣＰＵ性能情報テーブル１０５に、各サーバのＳＰＥＣｉｎｔのＣＰＵ性能値を格納する。前述したように、ＣＰＵ性能換算部２２３は、ＣＰＵ性能情報テーブル１０５に、独自の評価方法により算出したＣＰＵ性能値を格納してもよい。
【００４４】
サーバ１０〜１２の負荷測定部２００〜２０２は、各サーバ上でｖｍｓｔａｔコマンド、ｓａｒコマンド、ｉｏｓｔａｔコマンドなど、ＯＳに組み込まれている負荷測定コマンドを実行し、各サーバのＣＰＵ使用率（％）、ディスクアクセス数（回数／秒）、ディスクアクセス帯域（キロバイト／秒）、ネットワークアクセス数（回数／秒）、ネットワークアクセス帯域（キロバイト／秒）を一定周期で収集し、ログファイルに出力する。コンピュータ３０の負荷収集部２１３は、例えばＳＳＨ（Ｓｅｃｕｒｅ・ＳＨｅｌｌ）を利用してサーバ１０〜１２に接続し、ｔａｉｌコマンドなどを利用して、ログファイルから各サーバのシステム負荷の記録を一定周期ごとに読み取る。ログファイルは、ＣＳＶ（Ｃｏｍｍａ・Ｓｅｐａｒａｔｅｄ・Ｖａｌｕｅｓ）形式、バイナリ形式、テキスト形式など、負荷収集部２１３が読込可能な形式であれば、どのような形式をとってもよい。サーバ１０〜１２の負荷測定部２００〜２０２は、測定結果をログファイルに出力する代わりに、サーバ１０〜１２のメモリ内に蓄積しておくだけでもよい。この場合、コンピュータ３０の負荷収集部２１３は、負荷測定部２００〜２０２とＬＡＮ２０経由で直接コネクションを確立し、測定結果を取得する。
【００４５】
コンピュータ３０の負荷収集部２１３は、構成情報テーブル１０１に登録されている全てのサーバ、又は、入力装置２５１からユーザにより指定された特定のサーバのＩＰアドレス、ログインアカウント、パスワードなど、各サーバに接続するために必要な情報を構成情報テーブル１０１からシステムＩＤをキーに取得する。負荷収集部２１３は、取得したＩＰアドレス、ログインアカウント、パスワードなどを用いて、各サーバに接続し、各サーバのシステム負荷の測定結果を一定周期で収集する。コンピュータ３０の負荷管理部２１２は、負荷収集部２１３が収集した測定結果のデータに、収集時刻と収集元であるサーバのシステムＩＤを付与した上で、ＣＰＵ負荷テーブル１０６、ディスク負荷テーブル１０７、ネットワーク負荷テーブル１０８に格納する。
【００４６】
以下、コンピュータ３０の性能設計部２１０が入力装置２５１から入力された見積条件からＣＰＵ負荷の見積もりを行う動作について説明する。前述したように、ＣＰＵ負荷とは、ＣＰＵ性能の差を吸収した、本実施の形態に係るシステム内でＣＰＵにかかる負荷の量のことである。
【００４７】
図１１は、コンピュータ３０の性能設計部２１０の動作を示すフローチャートである。
【００４８】
図１１において、サーバ１０〜１２に該当する統合対象サーバをＳｉ（ｉ＝１，・・・，ｍ）、サーバＸに該当する統合先サーバをＳ´ｊ（ｊ＝ｍ＋１，・・・，ｍ＋ｎ）、ｉ、ｊをシステムＩＤ、ｍ＞ｎとする。それぞれの統合先サーバＳ´ｊに統合される統合対象サーバＳｉのシステムＩＤの集合をＸｊとする。性能設計部２１０は、以下の処理手順により、統合対象サーバＳｉ（ｉ∈Ｘｊ）を統合先サーバＳ´ｊ上で仮想サーバとして動作させた場合のＣＰＵ負荷Ρ´ｃｐｕ，ｊを、仮想化に起因するオーバヘッドを考慮した形で算出する。
【００４９】
まず、性能設計部２１０は、入力装置２５１から、Ｓ´ｊに統合されるＳｉ（ｉ∈Ｘｊ）のシステムＩＤの入力、及び、統合先サーバＳ´ｊのスペックとして、少なくともＣＰＵ名、クロック、コア数、チップ数、搭載されるＣＰＵ数といったＣＰＵに関する情報の入力を受け付ける（ステップＳ１０１）。次に、性能設計部２１０は、各統合対象サーバＳｉ（ｉ∈Ｘｊ）のＣＰＵ負荷Ρｃｐｕ，ｉ（ｉ∈Ｘｊ）を、処理装置２５３で算出する（ステップＳ１０２：ＣＰＵ負荷算出ステップ）。また、性能設計部２１０は、各統合対象サーバＳｉ（ｉ∈Ｘｊ）のディスク負荷からディスクのＩ／Ｏに起因するＣＰＵ負荷Ρｄｉｓｋ−ｃｐｕ，ｉ（ｉ∈Ｘｊ）を、処理装置２５３で算出する（ステップＳ１０３：ディスク負荷変換ステップ）。また、性能設計部２１０は、各統合対象サーバＳｉ（ｉ∈Ｘｊ）のネットワーク負荷からネットワークのＩ／Ｏに起因するＣＰＵ負荷Ρｎｅｔ−ｃｐｕ，ｉ（ｉ∈Ｘｊ）を、処理装置２５３で算出する（ステップＳ１０４：ネットワーク負荷変換ステップ）。性能設計部２１０は、ＣＰＵオーバヘッド係数αｃｐｕ，ｊを、処理装置２５３で算出する（ステップＳ１０５：ＣＰＵオーバヘッド算出ステップ）。最後に、性能設計部２１０は、統合後のＣＰＵ負荷Ρ´ｃｐｕ，ｊを、処理装置２５３で算出し、出力装置２５４へ出力する（ステップＳ１０６：負荷見積ステップ）。
【００５０】
以下では、上記ステップＳ１０２〜Ｓ１０６の各ステップの詳細について説明する。
【００５１】
まず、ＣＰＵ負荷算出ステップ（ステップＳ１０２）の詳細について、図１２のフローチャートを用いて説明する。
【００５２】
ＣＰＵ負荷算出ステップでは、ＣＰＵ性能換算部２２３は、統合対象サーバＳｉ（ｉ∈Ｘｊ）の集合から、統合対象サーバＳｉを１つ選択する（ステップＳ２０１）。ＣＰＵ性能換算部２２３は、選択した統合対象サーバＳｉのシステムＩＤをキーとして、負荷管理部２１２がＣＰＵ負荷テーブル１０６に格納した統合対象サーバＳｉの１０秒ごとのＣＰＵのユーザ使用率、ＣＰＵのシステム使用率、ＣＰＵのＩ／Ｏ待ちの比率を取得する。ＣＰＵ性能換算部２２３は、これらを合算して、統合対象サーバＳｉの１０秒ごとのＣＰＵ使用率を求め、その中からＣＰＵ使用率の最大値ρｃｐｕ，ｉを、処理装置２５３で選択する（ステップＳ２０２）。ＣＰＵ性能換算部２２３は、構成管理部２１１が構成情報テーブル１０１に格納した統合対象サーバＳｉのＣＰＵ情報（例えば、ＣＰＵ名、ＣＰＵ数）を参照して、ＣＰＵ性能情報テーブル１０５から統合対象サーバＳｉのＣＰＵに対応するＣＰＵ性能値μｉを取得する（ステップＳ２０３）。ＣＰＵ性能換算部２２３は、ステップＳ２０２で得られた統合対象サーバＳｉのＣＰＵ使用率の最大値ρｃｐｕ，ｉ、ステップＳ２０３で得られたＣＰＵ性能値μｉを用いて、下記の式（１）によって、ＣＰＵの性能差を考慮したＣＰＵ負荷Ρｃｐｕ，ｉを、処理装置２５３で算出する（ステップＳ２０４）。
Ρｃｐｕ，ｉ＝μｉ×ρｃｐｕ，ｉ・・・（１）
そして、ＣＰＵ性能換算部２２３は、全ての統合対象サーバＳｉ（ｉ∈Ｘｊ）について、ＣＰＵ負荷Ρｃｐｕ，ｉを求めると、ＣＰＵ負荷算出ステップを終了する。
【００５３】
次に、ディスク負荷変換ステップ（ステップＳ１０３）の詳細について、図１３のフローチャートを用いて説明する。
【００５４】
ディスク負荷変換ステップでは、ディスク負荷変換部２２１は、統合対象サーバＳｉ（ｉ∈Ｘｊ）の集合から、統合対象サーバＳｉを１つ選択する（ステップＳ３０１）。ディスク負荷変換部２２１は、選択した統合対象サーバＳｉのシステムＩＤをキーとして、負荷管理部２１２がディスク負荷テーブル１０７に格納した統合対象サーバＳｉの１０秒ごとのディスクの読込リクエスト数、ディスクの書込リクエスト数を取得する。ディスク負荷変換部２２１は、これらを合算して、統合対象サーバＳｉの１０秒ごとのディスクＩ／Ｏ数を求め、その中からディスクＩ／Ｏ数の最大値ρｄｉｓｋ−ｒｅｑ，ｉを、処理装置２５３で選択する。また、ディスク負荷変換部２２１は、選択した統合対象サーバＳｉのシステムＩＤをキーとして、負荷管理部２１２がディスク負荷テーブル１０７に格納した統合対象サーバＳｉの１０秒ごとのディスクの読込速度、ディスクの書込速度を取得する。ディスク負荷変換部２２１は、これらを合算して、統合対象サーバＳｉの１０秒ごとのディスク帯域を求め、その中からディスク帯域の最大値ρｄｉｓｋ−ｔｈ，ｉを、処理装置２５３で選択する（ステップＳ３０２）。ディスク負荷変換部２２１は、ディスク負荷変換テーブル１０３からＩ／Ｏ数変換率βｄｉｓｋ−ｒｅｑ、帯域変換率βｄｉｓｋ−ｔｈ、ＣＰＵ性能値μβｄｉｓｋを取得する（ステップＳ３０３）。ディスク負荷変換部２２１は、ステップＳ３０２で得られたディスクＩ／Ｏ数の最大値ρｄｉｓｋ−ｒｅｑ，ｉ、ディスク帯域の最大値ρｄｉｓｋ−ｔｈ，ｉ、ステップＳ３０３で得られたＩ／Ｏ数変換率βｄｉｓｋ−ｒｅｑ、帯域変換率βｄｉｓｋ−ｔｈ、ＣＰＵ性能値μβｄｉｓｋを用いて、下記の式（２）によって、ＣＰＵの性能差を考慮し、ディスク負荷から換算したＣＰＵ負荷Ρｄｉｓｋ−ｃｐｕ，ｉを、処理装置２５３で算出する（ステップＳ３０４）。
Ρｄｉｓｋ−ｃｐｕ，ｉ＝μβｄｉｓｋ（βｄｉｓｋ−ｒｅｑ・ρｄｉｓｋ−ｒｅｑ，ｉ＋βｄｉｓｋ−ｔｈ・ρｄｉｓｋ−ｔｈ，ｉ）・・・（２）
そして、ディスク負荷変換部２２１は、全ての統合対象サーバＳｉ（ｉ∈Ｘｊ）について、ＣＰＵ負荷Ρｄｉｓｋ−ｃｐｕ，ｉを求めると、ディスク負荷変換ステップを終了する。
【００５５】
次に、ネットワーク負荷変換ステップ（ステップＳ１０４）の詳細について、図１４のフローチャートを用いて説明する。
【００５６】
ネットワーク負荷変換ステップでは、ネットワーク負荷変換部２２２は、統合対象サーバＳｉ（ｉ∈Ｘｊ）の集合から、統合対象サーバＳｉを１つ選択する（ステップＳ４０１）。ネットワーク負荷変換部２２２は、選択した統合対象サーバＳｉのシステムＩＤをキーとして、負荷管理部２１２がネットワーク負荷テーブル１０８に格納した統合対象サーバＳｉの１０秒ごとのネットワークの受信リクエスト数、ネットワークの送信リクエスト数を取得する。ネットワーク負荷変換部２２２は、これらを合算して、統合対象サーバＳｉの１０秒ごとのネットワークＩ／Ｏ数を求め、その中からネットワークＩ／Ｏ数の最大値ρｎｅｔ−ｒｅｑ，ｉを、処理装置２５３で選択する。また、ネットワーク負荷変換部２２２は、選択した統合対象サーバＳｉのシステムＩＤをキーとして、負荷管理部２１２がネットワーク負荷テーブル１０８に格納した統合対象サーバＳｉの１０秒ごとのネットワークの受信速度、ネットワークの送信速度を取得する。ネットワーク負荷変換部２２２は、これらを合算して、統合対象サーバＳｉの１０秒ごとのネットワーク帯域を求め、その中からネットワーク帯域の最大値ρｎｅｔ−ｔｈ，ｉを、処理装置２５３で選択する（ステップＳ４０２）。ネットワーク負荷変換部２２２は、ネットワーク負荷変換テーブル１０４からＩ／Ｏ数変換率βｎｅｔ−ｒｅｑ、帯域変換率βｎｅｔ−ｔｈ、ＣＰＵ性能値μβｎｅｔを取得する（ステップＳ４０３）。ネットワーク負荷変換部２２２は、ステップＳ４０２で得られたネットワークＩ／Ｏ数の最大値ρｎｅｔ−ｒｅｑ，ｉ、ネットワーク帯域の最大値ρｎｅｔ−ｔｈ，ｉ、ステップＳ４０３で得られたＩ／Ｏ数変換率βｎｅｔ−ｒｅｑ、帯域変換率βｎｅｔ−ｔｈ、ＣＰＵ性能値μβｎｅｔを用いて、下記の式（３）によって、ＣＰＵの性能差を考慮し、ネットワーク負荷から換算したＣＰＵ負荷Ρｎｅｔ−ｃｐｕ，ｉを、処理装置２５３で算出する（ステップＳ４０４）。
Ρｎｅｔ−ｃｐｕ，ｉ＝μβｎｅｔ（βｎｅｔ−ｒｅｑ・ρｎｅｔ−ｒｅｑ，ｉ＋βｎｅｔ−ｔｈ・ρｎｅｔ−ｔｈ，ｉ）・・・（３）
そして、ネットワーク負荷変換部２２２は、全ての統合対象サーバＳｉ（ｉ∈Ｘｊ）について、ＣＰＵ負荷Ρｎｅｔ−ｃｐｕ，ｉを求めると、ネットワーク負荷変換ステップを終了する。
【００５７】
次に、ＣＰＵオーバヘッド算出ステップ（ステップＳ１０５）の詳細について説明する。
【００５８】
ＣＰＵオーバヘッド算出ステップでは、ＣＰＵオーバヘッド算出部２２４は、統合対象サーバＳｉ（ｉ∈Ｘｊ）の数（即ち、仮想マシン数）と統合先サーバＳ´ｊのＣＰＵ数との比率を、処理装置２５３で計算する。そして、ＣＰＵオーバヘッド算出部２２４は、ＣＰＵオーバヘッドテーブル１０２から、その比率に「仮想マシン数と物理ＣＰＵ数の比率」カラムの値が最も近いＣＰＵオーバヘッド係数αｃｐｕ，ｊを取得する。
【００５９】
最後に、負荷見積ステップ（ステップＳ１０６）の詳細について説明する。
【００６０】
負荷見積ステップでは、負荷見積部２２５は、ＣＰＵ負荷算出ステップで算出されたＣＰＵ負荷Ρｃｐｕ，ｉ、ディスク負荷変換ステップで算出されたＣＰＵ負荷Ρｄｉｓｋ−ｃｐｕ，ｉ、ネットワーク負荷変換ステップで算出されたＣＰＵ負荷Ρｎｅｔ−ｃｐｕ，ｉ、ＣＰＵオーバヘッド算出ステップで取得されたＣＰＵオーバヘッド係数αｃｐｕ，ｊを用いて、下記の式（４）によって、統合対象サーバＳｉ（ｉ∈Ｘｊ）を統合先サーバＳ´ｊ上で仮想サーバとして動作させた場合における、ＣＰＵの性能差を考慮したＣＰＵ負荷Ρ´ｃｐｕ，ｊを、処理装置２５３で算出する。
Ρ´ｃｐｕ，ｊ＝αｃｐｕ，ｊ（ΣΡｃｐｕ，ｉ＋ΣΡｄｉｓｋ−ｃｐｕ，ｉ＋ΣΡｎｅｔ−ｃｐｕ，ｉ）・・・（４）
そして、負荷見積部２２５は、算出したＣＰＵ負荷Ρ´ｃｐｕ，ｊ、統合先サーバＳ´ｊのＣＰＵ性能値μ´ｊ用いて、下記の式（５）によって、統合対象サーバＳｉ（ｉ∈Ｘｊ）を統合先サーバＳ´ｊ上で仮想サーバとして動作させた場合における統合対象サーバＳｉ（ｉ∈Ｘｊ）のＣＰＵ使用率の見積値ρ´ｃｐｕ，ｊを、処理装置２５３で算出する。
ρ´ｃｐｕ，ｊ＝Ρ´ｃｐｕ，ｊ／μ´ｊ・・・（５）
そして、負荷見積部２２５は、ＣＰＵ使用率の見積値ρ´ｃｐｕ，ｊを出力装置２５４により、例えば画面に表示して、負荷見積ステップを終了する。
【００６１】
以上のように、本実施の形態によれば、サーバ統合後のＣＰＵ負荷を見積もる処理において、サーバ統合前のディスク負荷、ネットワーク負荷の情報を基に、仮想化時のＩ／Ｏエミュレーションによって生じるＣＰＵ負荷を見積もり、当該見積値を最終的なＣＰＵ負荷の見積値に反映することによって、ＣＰＵ負荷の見積もり精度を向上させることができる。
【００６２】
本実施の形態では、統合対象サーバから収集したシステム負荷の測定結果が、ＣＰＵ負荷テーブル１０６、ディスク負荷テーブル１０７、ネットワーク負荷テーブル１０８にそれぞれ別々に格納されるが、例えば、これらのテーブルを、システムＩＤをキーとする１つのシステム負荷テーブルに統合してもよい。また、必要なカラムが時系列で格納され、システムＩＤをキーとして検索可能なテーブルであれば、他の構成を持つテーブルを用いても構わない。
【００６３】
上記のように、本実施の形態に係るシステムは、統合対象の複数のサーバ１０〜１２と、仮想マシンサーバサイジング装置として動作するコンピュータ３０から構成され、それらはネットワークで接続される。サーバ１０〜１２は負荷測定部２００〜２０２を備える。コンピュータ３０は、表示装置９０１、入力装置２５１、性能設計部２１０、構成管理部２１１、負荷管理部２１２、負荷収集部２１３、構成情報テーブル１０１、ＣＰＵオーバヘッドテーブル１０２、ディスク負荷変換テーブル１０３、ネットワーク負荷変換テーブル１０４、ＣＰＵ性能情報テーブル１０５、ＣＰＵ負荷テーブル１０６、ディスク負荷テーブル１０７、ネットワーク負荷テーブル１０８を備える。性能設計部２１０は、ディスク負荷変換部２２１、ネットワーク負荷変換部２２２、ＣＰＵ性能換算部２２３、ＣＰＵオーバヘッド算出部２２４、負荷見積部２２５を備える。ディスク負荷テーブル１０７は、サーバ１０〜１２から収集されたディスクアクセス数とディスクアクセス帯域を格納する。ネットワーク負荷テーブル１０８は、サーバ１０〜１２から収集されたネットワークアクセス数とネットワークアクセス帯域を格納する。ディスク負荷変換テーブル１０３は、ディスクアクセス数とディスクアクセス帯域からＣＰＵ負荷を算出するための変換率を格納する。ネットワーク負荷変換テーブル１０４は、ネットワークアクセス数とネットワークアクセス帯域からＣＰＵ負荷を算出するための変換率を格納する。
【００６４】
ディスク負荷変換テーブル１０３は、ディスクアクセス数をＣＰＵ負荷に変換するＩ／Ｏ数変換率、ディスクアクセス帯域をＣＰＵ負荷に変換する帯域変換率を格納する。ディスク負荷変換部２２１は、ディスクアクセス数、ディスクアクセス帯域、Ｉ／Ｏ数変換率、帯域変換率から、ディスク負荷変換式（２）によってＣＰＵ負荷を算出する。ネットワーク負荷変換テーブル１０４は、ネットワークアクセス数をＣＰＵ負荷に変換するＩ／Ｏ数変換率、ネットワークアクセス帯域をＣＰＵ負荷に変換する帯域変換率を格納する。ネットワーク負荷変換部２２２は、ネットワークアクセス数、ネットワークアクセス帯域、Ｉ／Ｏ数変換率、帯域変換率から、ネットワーク負荷変換式（３）によってＣＰＵ負荷を算出する。
【００６５】
ディスク負荷変換テーブル１０３は、変換率を算出した際の算出用のサーバＡのＣＰＵ性能値を格納する。ディスク負荷変換部２２１は、ディスクアクセス数、ディスクアクセス帯域、Ｉ／Ｏ数変換率、帯域変換率、統合対象のサーバ１０〜１２のＣＰＵ性能値、サーバＡのＣＰＵ性能値から、ディスク負荷変換式（２）によってＣＰＵ負荷を算出する。ネットワーク負荷変換テーブル１０４は、変換率を算出した際の算出用のサーバＡのＣＰＵ性能値を格納する。ネットワーク負荷変換部２２２は、ネットワークアクセス数、ネットワークアクセス帯域、Ｉ／Ｏ数変換率、帯域変換率、統合対象のサーバ１０〜１２のＣＰＵ性能値、サーバＡのＣＰＵ性能値から、ネットワーク負荷変換式（３）によってＣＰＵ負荷を算出する。
【００６６】
ＣＰＵオーバヘッドテーブル１０２は、仮想マシン数と物理ＣＰＵ数との比率、その比率の値ごとに異なるＣＰＵオーバヘッド係数を格納する。負荷見積部２２５は、仮想マシン数と統合先のサーバＸの物理ＣＰＵ数との比率がサーバＸのＣＰＵ負荷に与える影響を考慮しながら、統合対象のサーバ１０〜１２のＣＰＵ負荷、ディスク負荷変換式（２）によって算出されたＣＰＵ負荷、ネットワーク負荷変換式（３）によって算出されたＣＰＵ負荷から、サーバＸのＣＰＵ負荷を見積もる。
【００６７】
本実施の形態では、上記のように、仮想化環境におけるＩ／Ｏエミュレーションに必要なＣＰＵ負荷をディスク負荷及びネットワーク負荷から換算するため、サーバ統合後におけるＣＰＵ負荷の見積もりの精度が向上する。
【００６８】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を説明する。
【００６９】
実施の形態１では、ＣＰＵ負荷算出ステップ、ディスク負荷変換ステップ、ネットワーク負荷変換ステップにおいて、ＣＰＵ負荷テーブル１０６、ディスク負荷テーブル１０７、ネットワーク負荷テーブル１０８から、統合対象サーバのＣＰＵ使用率、ディスクＩ／Ｏ数、ディスク帯域、ネットワークＩ／Ｏ数、ネットワーク帯域の最大値を求め、これらを統合先サーバのＣＰＵ負荷の見積もりに用いていた。しかしながら、最大値の代わりに、例えば、平均値、タイル値（例えば、９０％タイル値）などを使用してもよい。また、例えば、最大値、最小値、タイル値などの複数の値を使用して、統合先サーバのＣＰＵ負荷の見積値を複数算出し、出力してもよい。
【００７０】
以上のように、本実施の形態によれば、サーバ統合後のＣＰＵ負荷を見積もる処理において、複数の見積値を求めることによって、ＣＰＵ負荷の見積もり精度をさらに向上させることができる。
【００７１】
実施の形態３．
本実施の形態について、主に実施の形態１との差異を説明する。
【００７２】
本実施の形態におけるディスク負荷変換テーブル１０３、ネットワーク負荷変換テーブル１０４、ＣＰＵオーバヘッドテーブル１０２の構成例を図１５、図１６、図１７にそれぞれ示す。図６、図７、図９に示した実施の形態１におけるディスク負荷変換テーブル１０３、ネットワーク負荷変換テーブル１０４、ＣＰＵオーバヘッドテーブル１０２の構成例と異なる点は、各テーブルに仮想化技術を特定するカラムを追加したことである。
【００７３】
図１５に示したディスク負荷変換テーブル１０３、図１６に示したネットワーク負荷変換テーブル１０４には、ベンチマークテストの際に利用された仮想化技術の種類ごとに、そのベンチマークテストの結果であるＩ／Ｏ数変換率、帯域変換率、ＣＰＵ性能値が格納されている。同様に、図１７に示したＣＰＵオーバヘッドテーブル１０２には、ベンチマークテストの際に利用された仮想化技術の種類ごとに、そのベンチマークテストの結果であるＣＰＵオーバヘッド係数が格納されている。仮想化技術の種類は、例えば、ＶＭｗａｒｅ（登録商標）やＸｅｎなど、ベンチマークテストの際に利用された仮想化ソフトウェアによって区別してもよいし、例えば、完全仮想化や準仮想化など、ベンチマークテストの際に利用された仮想化方式によって区別してもよいし、その両方の組み合わせによって区別してもよい。
【００７４】
実施の形態１では、図１１のステップＳ１０１において、性能設計部２１０は、入力装置２５１から、統合先サーバＳ´ｊのスペックとしてＣＰＵに関する情報の入力を受け付けていたが、本実施の形態では、性能設計部２１０は、さらに、統合先サーバＳ´ｊで利用される仮想化技術として仮想化ソフトウェアや仮想化方式に関する情報の入力も受け付ける。図１３のステップＳ３０３において、ディスク負荷変換部２２１は、統合先サーバＳ´ｊで利用される仮想化技術の種類をキーとして、ディスク負荷変換テーブル１０３からＩ／Ｏ数変換率βｄｉｓｋ−ｒｅｑ、帯域変換率βｄｉｓｋ−ｔｈ、ＣＰＵ性能値μβｄｉｓｋを取得する。同様に、図１４のステップＳ４０３において、ネットワーク負荷変換部２２２は、統合先サーバＳ´ｊで利用される仮想化技術の種類をキーとして、ネットワーク負荷変換テーブル１０４からＩ／Ｏ数変換率βｎｅｔ−ｒｅｑ、帯域変換率βｎｅｔ−ｔｈ、ＣＰＵ性能値μβｎｅｔを取得する。
【００７５】
上記のように、本実施の形態では、負荷変換部２２０は、異なる仮想化技術（例えば、仮想化ソフトウェア、仮想化方式）を用いて仮想マシンを各々が実行する複数のサーバＡにて、当該仮想マシンによるＩ／Ｏを処理することにより生じるサーバＡのＣＰＵ負荷の測定値（例えば、サーバＡのＣＰＵ使用率）と当該Ｉ／Ｏ負荷（例えば、サーバＡのディスクＩ／Ｏ数、ディスク帯域、ネットワークＩ／Ｏ数、ネットワーク帯域）の測定値との比率を、前述したＩ／Ｏ負荷変換率として予め記憶装置２５２に記憶しておく。そして、負荷変換部２２０は、サーバＸと同じ仮想化技術を用いるサーバＡに対応するＩ／Ｏ負荷変換率を用いて、サーバＸにてサーバ１０〜１２の仮想サーバによるＩ／Ｏを処理することにより生じるサーバＸのＣＰＵ負荷の見積値を計算する。
【００７６】
また、本実施の形態では、ＣＰＵオーバヘッド算出部２２４は、仮想化技術（例えば、仮想化ソフトウェア、仮想化方式）を特定する項目と、仮想マシンの数とサーバＸが有するＣＰＵの数との比率と、サーバＸにて当該項目で特定される仮想化技術と当該比率とに応じて生じるサーバＸのＣＰＵ負荷のオーバヘッドを示すＣＰＵオーバヘッド係数とを予め記憶装置２５２に記憶しておく。そして、ＣＰＵオーバヘッド算出部２２４は、サーバＸが実際に用いる仮想化技術と、サーバＸが実際に実行する仮想マシンの数とサーバＸが実際に有するＣＰＵの数との比率とに対応するＣＰＵオーバヘッド係数を記憶装置２５２から抽出する。
【００７７】
以上のように、本実施の形態によれば、仮想化技術、仮想化方式による影響を考慮した変換率や係数を用いることによって、より精度の高い見積もりが可能となる。
【００７８】
上記のように、本実施の形態に係るシステムでは、ディスク負荷変換テーブル１０３とネットワーク負荷変換テーブル１０４が、ＶＭｗａｒｅ（登録商標）やＸｅｎといった仮想化製品を特定する情報を格納し、仮想化製品ごとに異なるＩ／Ｏ数変換率、帯域変換率を格納する。ディスク負荷変換部２２１は、仮想化製品の差が変換に与える影響を考慮しながら、ディスク負荷変換式（２）によってＣＰＵ負荷を算出する。ネットワーク負荷変換部２２２は、仮想化製品の差が変換に与える影響を考慮しながら、ネットワーク負荷変換式（３）によってＣＰＵ負荷を算出する。
【００７９】
また、本実施の形態に係るシステムでは、ディスク負荷変換テーブル１０３とネットワーク負荷変換テーブル１０４が、完全仮想化や準仮想化といった仮想化方式を特定する情報を格納し、仮想化方式ごとに異なるＩ／Ｏ数変換率、帯域変換率を格納する。ディスク負荷変換部２２１は、仮想化方式の差が変換に与える影響を考慮しながら、ディスク負荷変換式（２）によってＣＰＵ負荷を算出する。ネットワーク負荷変換部２２２は、仮想化方式の差が変換に与える影響を考慮しながら、ネットワーク負荷変換式（３）によってＣＰＵ負荷を算出する。
【００８０】
実施の形態４．
本実施の形態について、主に実施の形態３との差異を説明する。
【００８１】
実施の形態３では、図１５、図１６、図１７にそれぞれ示したように、ディスク負荷変換テーブル１０３、ネットワーク負荷変換テーブル１０４、ＣＰＵオーバヘッドテーブル１０２に仮想化技術を特定するカラムを設けていたが、これと同様に、本実施の形態では、ネットワーク負荷変換テーブル１０４に、物理マシン内との通信か物理マシン外との通信かというネットワークトポロジを特定するカラムを設ける。
【００８２】
ネットワーク負荷変換テーブル１０４には、ベンチマークテストの際に仮想マシンがサーバＡ内で通信を行うものか、それともサーバＡ外との通信を行うものかによって、そのベンチマークテストの結果であるＩ／Ｏ数変換率、帯域変換率、ＣＰＵ性能値が別々に格納されている。仮想化環境では、同じ物理マシン上の２つのゲストＯＳが通信する場合、物理マシン内での通信となり、仮想化機構が提供するスイッチに負荷がかかるなど、物理マシン外部との通信に比べてＩ／ＯエミュレーションによるＣＰＵ使用率が高くなる。本実施の形態は、その影響を考慮したものである。
【００８３】
上記のように、本実施の形態では、負荷変換部２２０は、同じ物理マシンで実行される他の仮想マシンと通信する第１の通信処理を行う仮想マシン（即ち、１つのサーバＡ内で他の仮想マシンと通信する仮想マシン）を一方が実行し、異なる物理マシンと通信する第２の通信処理を行う仮想マシン（即ち、１つのサーバＡで実行される仮想マシンであって、他のサーバＡで実行される仮想マシンと通信するもの）を他方が実行する２つのサーバＡにて、当該仮想マシンによるネットワークのＩ／Ｏを処理することにより生じるサーバＡのＣＰＵ負荷（例えば、サーバＡのＣＰＵ使用率）の測定値と当該Ｉ／Ｏ負荷（例えば、サーバＡのネットワークＩ／Ｏ数、ネットワーク帯域）の測定値との比率を、前述したＩ／Ｏ負荷変換率として予め記憶装置２５２に記憶しておく。そして、負荷変換部２２０は、上記第１の通信処理と上記第２の通信処理とのうち、サーバＸと同じ通信処理を行う仮想マシンを実行するサーバＡに対応するＩ／Ｏ負荷変換率を用いて、サーバＸにてサーバ１０〜１２の仮想サーバによるネットワークのＩ／Ｏを処理することにより生じるサーバＸのＣＰＵ負荷（例えば、サーバＸのＣＰＵ使用率）の見積値を計算する。
【００８４】
以上のように、本実施の形態によれば、ネットワークトポロジによる影響を考慮した変換率を用いることによって、より精度の高い見積もりが可能となる。
【００８５】
上記のように、本実施の形態に係るシステムでは、ネットワーク負荷変換テーブル１０４が、物理マシン内部での通信か物理マシン間での通信かというトポロジを特定する情報を格納し、トポロジごとに異なるＩ／Ｏ数変換率、帯域変換率を格納する。ネットワーク負荷変換部２２２は、トポロジの差が変換に与える影響を考慮しながら、ネットワーク負荷変換式（３）によってＣＰＵ負荷を算出する。
【００８６】
以上、本発明の実施の形態について説明したが、これらのうち、２つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、１つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、２つ以上の実施の形態を部分的に組み合わせて実施しても構わない。
【図面の簡単な説明】
【００８７】
【図１】実施の形態１に係るシステムの構成を示すブロック図である。
【図２】実施の形態１に係る構成情報テーブルの構成例を示す図である。
【図３】実施の形態１に係るＣＰＵ負荷テーブルの構成例を示す図である。
【図４】実施の形態１に係るディスク負荷テーブルの構成例を示す図である。
【図５】実施の形態１に係るネットワーク負荷テーブルの構成例を示す図である。
【図６】実施の形態１に係るディスク負荷変換テーブルの構成例を示す図である。
【図７】実施の形態１に係るネットワーク負荷変換テーブルの構成例を示す図である。
【図８】実施の形態１に係るＣＰＵ性能情報テーブルの構成例を示す図である。
【図９】実施の形態１に係るＣＰＵオーバヘッドテーブルの構成例を示す図である。
【図１０】実施の形態１に係る仮想マシンサーバサイジング装置のハードウェア資源の一例を示す図である。
【図１１】実施の形態１に係る仮想マシンサーバサイジング方法を示すフローチャートである。
【図１２】実施の形態１に係るＣＰＵ負荷算出ステップを示すフローチャートである。
【図１３】実施の形態１に係るディスク負荷変換ステップを示すフローチャートである。
【図１４】実施の形態１に係るネットワーク負荷変換ステップを示すフローチャートである。
【図１５】実施の形態３に係るディスク負荷変換テーブルの構成例を示す図である。
【図１６】実施の形態３に係るネットワーク負荷変換テーブルの構成例を示す図である。
【図１７】実施の形態３に係るＣＰＵオーバヘッドテーブルの構成例を示す図である。
【符号の説明】
【００８８】
１０，１１，１２  サーバ、２０  ＬＡＮ、３０  コンピュータ、１０１  構成情報テーブル、１０２  ＣＰＵオーバヘッドテーブル、１０３  ディスク負荷変換テーブル、１０４  ネットワーク負荷変換テーブル、１０５  ＣＰＵ性能情報テーブル、１０６  ＣＰＵ負荷テーブル、１０７  ディスク負荷テーブル、１０８  ネットワーク負荷テーブル、２００，２０１，２０２  負荷測定部、２１０  性能設計部、２１１  構成管理部、２１２  負荷管理部、２１３  負荷収集部、２２０  負荷変換部、２２１  ディスク負荷変換部、２２２  ネットワーク負荷変換部、２２３  ＣＰＵ性能換算部、２２４  ＣＰＵオーバヘッド算出部、２２５  負荷見積部、２５１  入力装置、２５２  記憶装置、２５３  処理装置、２５４  出力装置、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
0004906686.tif 000002
【図２】
0004906686.tif 000003
【図３】
0004906686.tif 000004
【図４】
0004906686.tif 000005
【図５】
0004906686.tif 000006
【図６】
0004906686.tif 000007
【図７】
0004906686.tif 000008
【図８】
0004906686.tif 000009
【図９】
0004906686.tif 000010
【図１０】
0004906686.tif 000011
【図１１】
0004906686.tif 000012
【図１２】
0004906686.tif 000013
【図１３】
0004906686.tif 000014
【図１４】
0004906686.tif 000015
【図１５】
0004906686.tif 000016
【図１６】
0004906686.tif 000017
【図１７】
0004906686.tif 000018