特許第5983728号(P5983728)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許5983728仮想マシン管理装置及び仮想マシン管理方法
<>
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000002
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000003
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000004
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000005
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000006
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000007
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000008
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000009
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000010
  • 特許5983728-仮想マシン管理装置及び仮想マシン管理方法 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5983728
(24)【登録日】2016年8月12日
(45)【発行日】2016年9月6日
(54)【発明の名称】仮想マシン管理装置及び仮想マシン管理方法
(51)【国際特許分類】
   G06F 9/50 20060101AFI20160823BHJP
   G06F 9/46 20060101ALI20160823BHJP
【FI】
   G06F9/46 465C
   G06F9/46 350
【請求項の数】9
【全頁数】25
(21)【出願番号】特願2014-503432(P2014-503432)
(86)(22)【出願日】2013年1月25日
(86)【国際出願番号】JP2013000370
(87)【国際公開番号】WO2013132735
(87)【国際公開日】20130912
【審査請求日】2015年12月3日
(31)【優先権主張番号】特願2012-52028(P2012-52028)
(32)【優先日】2012年3月8日
(33)【優先権主張国】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成23年度 総務省、「最先端のグリーンクラウド基盤構築に向けた研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100110928
【弁理士】
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】藤若 雅也
【審査官】 坂庭 剛史
(56)【参考文献】
【文献】 特開2011−257792(JP,A)
【文献】 国際公開第2011/093011(WO,A1)
【文献】 特開2009−123174(JP,A)
【文献】 特開2008−276320(JP,A)
【文献】 柳沢 満、竹村俊徳,共通指標を用いた仮想マシンの性能見積もり方式の提案とその評価,情報処理学会研究報告,日本,社団法人情報処理学会,2009年 1月21日,Vol.2009,No.6,pp.27〜33,2009-OS-110(5)
【文献】 藤若雅也、竹村俊徳,共通指標を用いた複数仮想マシン動作時における性能見積もり方式,第73回(平成23年)全国大会講演論文集(1),日本,一般社団法人情報処理学会,2011年 3月 2日,pp.1-27〜1-28,5G-2
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G06F 9/46
(57)【特許請求の範囲】
【請求項1】
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、
前記変換部により変換された前記組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する推定部と、
を備える仮想マシン管理装置。
【請求項2】
指定されたワークロードを実行するために各サーバ装置に配置されている計測用仮想マシンに、前記ワークロード量と前記ワークロード特性値との複数の組み合わせに対応する複数のワークロードの各々を順次実行させるワークロード制御部と、
前記各ワークロードが前記各サーバ装置上でそれぞれ実行されることにより計測される、前記各サーバ装置上における前記各ワークロードの性能情報をそれぞれ収集する性能情報収集部と、
前記ワークロード量と前記ワークロード特性値との前記各組み合わせと前記各ワークロードの性能情報との対応関係から、前記各サーバ装置の前記性能モデルをそれぞれ生成するモデル生成部と、
を更に備える請求項1に記載の仮想マシン管理装置。
【請求項3】
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との複数の組み合わせを取得し、該複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の1つの組み合わせを決定する、
ことを特徴とする請求項1又は2に記載の仮想マシン管理装置。
【請求項4】
前記移動対象仮想マシンが以前動作していた前サーバ装置上での前記移動対象仮想マシンの性能情報を該前サーバ装置の前記性能モデルに適用することにより得られる、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第1の複数の組み合わせを格納する特性情報格納部を更に備え、
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第2の複数の組み合わせを取得し、該第2の複数の組み合わせ及び前記特性情報格納部に格納される前記第1の複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の1つの組み合わせを決定する、
請求項1から3のいずれか1項に記載の仮想マシン管理装置。
【請求項5】
前記性能情報取得部は、前記移動対象仮想マシンが以前動作していた前サーバ装置から前記現サーバ装置へ移動した場合において、前記現サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の増加分から、前記現サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得するか、又は、該前サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の減少分から、該前サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得する請求項1から4のいずれか1項に記載の仮想マシン管理装置。
【請求項6】
前記性能モデルは、複数のリソース種の各々に関し、前記ワークロード量と前記ワークロード特性値と前記ワークロードの性能情報との複数の対応関係をそれぞれ示し、
前記性能情報取得部は、前記複数のリソース種の各々についての前記移動対象仮想マシンの性能情報をそれぞれ取得し、
前記変換部は、前記各リソース種に関する前記性能モデルを用いて、前記移動対象仮想マシンの前記リソース種毎の前記性能情報を、前記移動対象仮想マシンの前記リソース種毎の、前記ワークロード量と前記ワークロード特性値との組み合わせに変換し、
前記推定部は、前記移動先サーバ装置上における前記移動対象仮想マシンの前記リソース種毎の性能情報をそれぞれ推定する、
請求項1から5のいずれか1項に記載の仮想マシン管理装置。
【請求項7】
請求項1から6のいずれか1項に記載の仮想マシン管理装置と、
複数のサーバ装置と、
を備え、
前記複数のサーバ装置の各々が、
自サーバ装置上で動作している仮想マシンの性能情報、又は、自サーバ装置上で動作している所定単位の仮想マシン群の統合性能情報を計測する性能情報計測部
を有する仮想マシン管理システム。
【請求項8】
少なくとも1つのコンピュータが、
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得し、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得し、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換し、
前記変換された組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する、
ことを含む仮想マシン管理方法。
【請求項9】
少なくとも1つのコンピュータに、
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、
前記変換部により変換された前記組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する推定部と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想マシン管理技術に関する。
【背景技術】
【0002】
仮想化技術の普及により、データセンタ等では、複数の物理マシンのリソースが一元管理され、共有リソースプールとして扱われるようになってきている。また、仮想化の性能の向上により、従来、仮想環境で動作させることが困難であったアプリケーションを仮想環境で動作させることができるようになってきている。
【0003】
共有リソースプールによる一元管理及びライブマイグレーション等のような仮想マシン移行技術によれば、システムの消費電力を抑えることが可能である。そのような技術により、仮想マシンを特定の物理マシンへ集約させ、不要なサーバの電源を落とすことができるからである。また、高負荷状態の物理マシン上で動作している仮想マシンを別の物理マシンへ退避させることにより、物理マシンの高負荷状態を回避することもできる。
【0004】
仮想マシンを別の物理マシンへ移行する際には、移行先の物理マシン上で十分なリソースを確保可能か否かが事前確認される。しかしながら、異なる性能の物理マシンが混在する環境においては、或る物理マシン上での仮想マシンのリソース使用量を他の物理マシン上でのリソース使用量として単純に置き換えることができない場合がある。例えば、CPU(Central Processing Unit)のクロックやアーキテクチャが異なる物理マシン間では、或る物理マシン上でのCPU使用率は、別の物理マシンでは異なる値となる。
【0005】
このような点を考慮して、下記特許文献1では、仮想サーバ環境において、各物理サーバの処理能力の余裕を同じ基準で計測するための手法が提案されている。具体的には、下記特許文献1の手法は、OS(Operating System)と性能計測プログラムとを含む同一の仮想サーバイメージに基づく性能計測用仮想サーバを複数の物理サーバ上で起動し、各性能計測用仮想サーバで計測された性能情報を各物理サーバから収集する。この手法によれば、収集された各物理サーバの性能情報の差により、物理サーバ間の処理性能の余裕の差を同一基準で取得することができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−323245号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述の手法では、配置予定の仮想サーバのOSの種類と同じOSを有し、配置予定の仮想サーバで実行されるアプリケーションの種類に合った性能情報を計測する性能計測プログラムを有する仮想サーバイメージに基づく性能計測用仮想サーバが各物理サーバ上で起動され、性能情報が計測される。
【0008】
しかしながら、性能計測用仮想サーバにより発生されるワークロードの特性が、配置予定の仮想サーバのそれと相違する場合には、上述の手法では、配置予定の仮想サーバの性能を高精度で推定することは困難である。ここで、ワークロードの特性とは、ワークロードの処理性質を示すものとして定義される。例えば、同じ回数の演算処理を行うワークロード間でも、演算過程で利用されるメモリサイズの違いにより、CPUにおけるキャッシュヒット率に影響を与え、ひいては、性能を示すCPU使用率が相違する可能性がある。また、同じデータ量を送信するワークロード間でも、送信パケットサイズの違いにより、性能が相違する可能性がある。同様に、ハードディスクに対して同量のデータを処理するワークロード間でも、ディスクアクセス方法(ランダムアクセス、シーケンシャルアクセス等)の違いにより、性能が相違する可能性がある。
【0009】
一般的な仮想環境では、CPU使用率、ネットワーク送受信量、ディスク読み書き量等の性能情報を計測することはできるが、仮想マシンがどのような処理をしているかといったワークロードの特性までは観測することができない。
【0010】
本発明は、上述のような点を考慮してなされたものであり、仮想マシンを移動先のサーバ装置に移動させる前に、その移動先のサーバ装置上での仮想マシンの性能を高精度に推定する技術を提供する。
【課題を解決するための手段】
【0011】
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【0012】
第1の態様は仮想マシン管理装置に関する。第1態様における仮想マシン管理装置は、ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、ワークロード量及びワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、現サーバ装置の性能モデルを用いることにより、移動対象仮想マシンの性能情報を、移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、変換部により変換された組み合わせを、移動対象仮想マシンの移動先の候補となる移動先サーバ装置の性能モデルに適用することにより、移動先サーバ装置上での移動対象仮想マシンの性能情報を推定する推定部と、を備える。
【0013】
第2の態様は、仮想マシン管理方法に関する。第2態様に係る仮想マシン管理方法は、少なくとも1つのコンピュータが、ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、ワークロード量及びワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得し、現サーバ装置で動作している移動対象仮想マシンの性能情報を取得し、現サーバ装置の性能モデルを用いることにより、移動対象仮想マシンの性能情報を、移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換し、変換された組み合わせを、移動対象仮想マシンの移動先の候補となる移動先サーバ装置の性能モデルに適用することにより、移動先サーバ装置上での移動対象仮想マシンの性能情報を推定することを含む。
【0014】
なお、本発明の他の態様としては、上記第1態様の構成を少なくとも1つのコンピュータに実現させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
【発明の効果】
【0015】
上記各態様によれば、仮想マシンを移動先のサーバ装置に移動させる前に、その移動先のサーバ装置上での仮想マシンの性能を高精度に推定する技術を提供することができる。
【図面の簡単な説明】
【0016】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
【0017】
図1】第1実施形態における仮想マシン管理システムの構成例を概念的に示す図である。
図2】第1実施形態におけるサーバ装置及び仮想マシン管理装置の処理構成例を概念的に示す図である。
図3】計測用仮想マシンで実行されるワークロード仕様の例を示す図である。
図4】CPU使用率の性能モデルにおいてCPU使用率(性能情報)を固定した場合の、ワークロード量(演算回数)とワークロード特性値(メモリサイズ)との対応関係の例を示す図である。
図5】第1実施形態における仮想マシン管理装置の準備フェーズの動作例を示すフローチャートである。
図6】第1実施形態における仮想マシン管理装置の運用フェーズの動作例を示すフローチャートである。
図7】現サーバ装置の性能モデルを用いて変換されたワークロード量とワークロード特性値との複数組み合わせの例を示す図である。
図8】移動先サーバ装置上での仮想マシンの性能情報の例を示す図である。
図9】移動先サーバ装置の性能モデルを用いて変換されたワークロード量とワークロード特性値との複数組み合わせの例を示す図である。
図10図7の分布と図9の分布とを重ね合わせた分布を示すグラフである。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
【0019】
本実施形態に係る仮想マシン管理装置は、ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、ワークロード量及びワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、現サーバ装置の性能モデルを用いることにより、移動対象仮想マシンの性能情報を、移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、変換部により変換された組み合わせを、移動対象仮想マシンの移動先の候補となる移動先サーバ装置の性能モデルに適用することにより、移動先サーバ装置上での移動対象仮想マシンの性能情報を推定する推定部と、を備える。
【0020】
本実施形態に係る仮想マシン管理方法は、少なくとも1つのコンピュータが、ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、ワークロード量及びワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得し、現サーバ装置で動作している移動対象仮想マシンの性能情報を取得し、現サーバ装置の性能モデルを用いることにより、移動対象仮想マシンの性能情報を、移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換し、変換された組み合わせを、移動対象仮想マシンの移動先の候補となる移動先サーバ装置の性能モデルに適用することにより、移動先サーバ装置上での移動対象仮想マシンの性能情報を推定することを含む。
【0021】
本実施形態では、各サーバ装置の性能モデルが用いられる。この性能モデルは、各サーバ装置についてのワークロード量とワークロード特性値とワークロード性能情報との間の複数の対応関係を示す。ここで、ワークロードとは、或るコンピュータリソースを利用する処理負荷を意味し、例えば、CPU負荷、ネットワーク送信負荷、ネットワーク受信負荷、ハードディスク読込み負荷、ハードディスク書込み負荷、画像処理負荷等である。ワークロードは、特定処理を実行するプログラムによって実現される。ワークロード特性値とは、上述のように、ワークロードの処理性質を示すワークロード特性をデータ化したものであり、ワークロードの性能に影響を与えるワークロードのパラメータである。
【0022】
本実施形態では、このような各サーバ装置の性能モデルが利用されることにより、或るサーバ装置上での或る仮想マシンの性能情報が、ワークロード量とワークロード特性値との組み合わせに変換され、この組み合わせが、移動先の候補となる他のサーバ装置上でのその仮想マシンの性能情報に変換される。
【0023】
このように、本実施形態では、同一の仮想マシンであっても動作環境(サーバ装置)毎に異なって計測される性能情報が、動作環境に依存しないワークロード量とワークロード特性値との組み合わせに変換される。よって、このようなワークロード量とワークロード特性値との組み合わせは、共通指標データと呼ぶこともできる。そして、その変換された組み合わせデータから、移動先サーバ装置上でのその仮想マシンの性能情報が推定されるため、本実施形態によれば、実際に仮想マシンを移動させる前に、その移動先のサーバ装置上での仮想マシンの性能を高精度に推定することができる。
【0024】
更に、共通指標データとしての上記組み合わせデータには、通常観測不能なワークロード特性を示すデータが利用されているため、当該組み合わせデータは、その仮想マシンの性能を高精度に示すことになる。ひいては、各仮想マシンの特性にあったサーバ装置へ各仮想マシンを移行及び配備することができ、システム全体でのリソースの最適利用が可能となる。
【0025】
上述の実施形態は、簡易版の実施形態を例示している。そこで、以下、上述の実施形態を更に詳細化した各実施形態についてそれぞれ説明する。以下の各実施形態は、上述の仮想マシン管理装置及び仮想マシン管理方法を仮想マシン管理システムに適用した場合の例である。
【0026】
[第1実施形態]
〔システム構成〕
図1は、第1実施形態における仮想マシン管理システム1の構成例を概念的に示す図である。第1実施形態における仮想マシン管理システム1は、複数のサーバ装置10(#1)から10(#m)(mは正の整数)、仮想マシン管理装置20等を有する。以降、複数のサーバ装置10(#1)から10(#m)は、個別に区別する必要がある場合を除き、サーバ装置10と総称される。
【0027】
サーバ装置10及び仮想マシン管理装置20は、いわゆるコンピュータであり、例えば、バス5で相互に接続される、CPU2、メモリ3、入出力インタフェース(I/F)4等を有する。メモリ3は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク、可搬型記憶媒体等である。入出力I/F4は、通信網9を介して他の装置と通信を行う通信装置7と接続される。なお、入出力I/F4は、キーボード、マウス等のようなユーザ操作の入力を受け付ける装置や、ディスプレイ装置やプリンタ等のようなユーザに情報を提供する装置に接続されてもよい。サーバ装置10及び仮想マシン管理装置20のハードウェア構成は制限されない。
【0028】
複数のサーバ装置10及び仮想マシン管理装置20は通信網9を介して相互に通信可能に接続されている。通信網9は、インターネット等のような公衆網、WAN(Wide Area Network)、LAN(Local Area Network)、無線通信ネットワーク等である。なお、本実施形態において、サーバ装置10間、各サーバ装置10と仮想マシン管理装置20との間の各通信形態は限定されない。
【0029】
〔装置構成〕
図2は、第1実施形態におけるサーバ装置10及び仮想マシン管理装置20の処理構成例を概念的に示す図である。
【0030】
〈サーバ装置〉
サーバ装置10は、仮想マシン制御部16、性能情報計測部17等を有し、少なくとも1つの仮想マシン11を動作させることができる。これら各処理部及び仮想マシン11は、サーバ装置10において、CPU2によりメモリ3に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F4を介してインストールされ、メモリ3に格納されてもよい。
【0031】
仮想マシン制御部16は、仮想マシン11の起動や仮想マシン11へのリソース割当て等を行う。
【0032】
性能情報計測部17は、仮想マシン11及び自サーバ装置10の性能情報を計測する。計測される性能情報には、少なくとも1リソース種についての性能情報が含まれる。性能情報計測部17は、CPUリソース、ネットワークリソース、ディスクリソース、メモリリソースのような複数のリソース種についての性能情報を計測する場合には、例えば、CPU使用率、ネットワーク受信量、ネットワーク送信量、ディスク読み込み量、ディスク書き込み量、メモリ使用量を計測する。
【0033】
サーバ装置10により稼働される仮想マシン11には、計測用仮想マシン11が含まれる。計測用仮想マシン11は、運用開始時に予めサーバ装置10にインストールされていてもよいし、仮想マシン管理装置20や他の装置から通信網9を介して提供されてもよい。
【0034】
計測用仮想マシン11は、ワークロード生成部12を有する。ワークロード生成部12は、計測用仮想マシン11上で様々な形態のワークロードを実行する。ワークロード生成部12は、設定ファイルや他の装置から取得されたワークロード仕様に対応するワークロードを実行する。例えば、ワークロード仕様として2種類のリソース種に対応するワークロードタイプが指定される場合、ワークロード生成部12は、各リソース種に関する2種類のワークロードを順次実行する。この場合、例えば、CPUワークロードは、他のリソース種を利用する処理(ネットワーク送受信やディスク読み書き)を行わない、演算処理プログラムで実現される。
【0035】
図3は、計測用仮想マシン11で実行されるワークロード仕様の例を示す図である。図3に示されるように、ワークロード仕様として、例えば、ワークロードタイプ、ワークロード特性、ワークロード量サンプリング数、ワークロード特性値サンプリング数、性能情報のタイプ等が指定される。ワークロードタイプは、負荷を与えるリソース種を示し、性能情報のタイプは、そのワークロードの実行により計測される性能情報の形態を示す。
【0036】
図3の例によれば、CPUワークロードの特性として、CPUの性能情報に影響を与える利用メモリサイズが指定されている。なお、図3には示されていないが、ネットワーク送信ワークロード及びネットワーク受信ワークロードに関しては、例えば、1回の送受信パケットのサイズがワークロード特性値として利用され、ディスク読み込みワークロード及びディスク書き込みワークロードに関しては、例えば、シーケンシャルアクセスの割合がワークロード特性値として利用され得る。なお、各ワークロードについて、ワークロード特性が複数設定されてもよい。
【0037】
図3の例によれば、ワークロード生成部12が、ワークロード量(演算回数)10種類及びワークロード特性値(利用メモリサイズ)10種類の各組み合わせに対応する100種類のCPUワークロードを順次実行する。これにより、性能情報計測部17は、演算回数及び利用メモリサイズがそれぞれ異なるCPUワークロードに関する100個の性能情報を順次計測することになる。
【0038】
〈仮想マシン管理装置〉
仮想マシン管理装置20は、仮想マシン管理部21、ワークロード制御部22、性能情報収集部23、性能情報分析部25、性能データベース(DB)26、モデルデータベース(DB)27、特性データベース(DB)28等を有する。これら各処理部は、仮想マシン管理装置20において、CPU2によりメモリ3に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F4を介してインストールされ、メモリ3に格納されてもよい。
【0039】
仮想マシン管理部21は、複数の仮想マシン11の各サーバ装置10への配備、各仮想マシン11へのリソース割当、各仮想マシン11の再配備(移動)等を制御する。仮想マシン管理部21は、上述の計測用仮想マシン11を対象となる各サーバ装置10に配備する。仮想マシン11の配備とは、仮想マシン11がサーバ装置10上で動作可能となるようにすることを意味し、本実施形態では、その配備の具体的手法を制限しない。例えば、各サーバ装置10上には計測用仮想マシン11がインストールされており、仮想マシン管理部21は、計測用仮想マシン11を稼働させる各サーバ装置10に、稼働を指示するようにしてもよい。
【0040】
仮想マシン管理部21は、複数の仮想マシン11の中の移動対象の仮想マシン11について、移動先のサーバ装置10を決定し、その移動先のサーバ装置10にその移動対象の仮想マシン11を移動させる。
【0041】
ワークロード制御部22は、計測用仮想マシン11上で発生させるワークロードを制御する。例えば、ワークロード制御部22は、図3の例に示されるようなワークロード仕様の設定情報を取得し、計測用仮想マシン11のワークロード生成部12に対して、そのワークロード仕様を指定して、ワークロードの実行を指示する。ワークロード仕様の設定情報は、予め、ワークロード制御部22により保持されていてもよいし、ユーザインタフェース装置から入力されてもよいし、他の装置から取得されてもよい。
【0042】
性能情報収集部23は、各サーバ装置10の性能情報計測部17により計測された性能情報を収集し、収集された性能情報を性能DB26に格納する。図3の例に基づいてワークロードが実行された場合には、性能情報収集部23は、演算回数及び利用メモリサイズがそれぞれ異なるCPUワークロードに関する100個の性能情報を、各サーバ装置10からそれぞれ収集する。性能情報収集部23は、収集された各性能情報を、その性能情報に対応するワークロード量及びワークロード特性値と関連付けて、それぞれ性能DB26に格納する。
【0043】
このように、本実施形態では、仮想マシン管理装置20は、サーバ装置10から収集された性能情報と、この性能情報に対応するワークロード量及びワークロード特性値とを対応付けることができるように、各サーバ装置10と連携して動作する。本実施形態は、この連携動作の形態を制限しない。この連携動作の形態として、例えば、当該対応付けを仮想マシン管理装置20側で実行する形態や、当該対応付けを各サーバ装置10側で実行する形態がある。
【0044】
前者の形態では、仮想マシン管理装置20のワークロード制御部22は、ワークロード量とワークロード特性値との或る1つの組み合わせを含むワークロード実行指示を各サーバ装置10の計測用仮想マシン11に送り、性能情報収集部23においてその組み合わせに対応する性能情報の収集が終了した後、次の新たな組み合わせを含むワークロード実行指示を各計測用仮想マシン11に送る。各サーバ装置10の計測用仮想マシン11では、ワークロード生成部12が、指示されたワークロード量とワークロード特性値との組み合わせに対応するワークロードを順次実行し、性能情報計測部17がそのワークロードの性能情報を順次計測する。
【0045】
後者の形態では、例えば、ワークロード制御部22は、図3に示される情報に加えて、ワークロード量のリスト及びワークロード特性値のリストを更に含むワークロード実行指示を各計測用仮想マシン11に送る。各サーバ装置10では、その指示に応じて、各組み合わせに対応するワークロードが順次実行され、そのときの性能情報が順次計測される。各サーバ装置10の性能情報計測部17は、計測された各性能情報と、その性能情報に対応するワークロード量とワークロード特性値との組み合わせとが関連付けられた情報を生成し、その情報を仮想マシン管理装置20に送信する。
【0046】
また、性能情報収集部23は、計測用仮想マシン11以外の各仮想マシン11の性能情報についても、各仮想マシン11が稼働している各サーバ装置10からそれぞれ収集する。よって、性能情報収集部23は、性能情報取得部と呼ぶこともできる。
【0047】
性能DB26は、各サーバ装置10に関し、各性能情報と、その性能情報に対応するワークロード量とワークロード特性値との組み合わせとを関連付けた形でそれぞれ格納する。複数のリソース種の性能情報が計測された場合には、性能DB26は、各サーバ装置10の各リソース種に関し、各性能情報と、その性能情報に対応するワークロード量とワークロード特性値との組み合わせとを関連付けた形でそれぞれ格納する。
【0048】
性能情報分析部25は、変換部31、推定部32、モデル生成部33等を有する。
【0049】
モデル生成部33は、性能DB26に格納される、ワークロード量とワークロード特性値との各組み合わせと各ワークロードの性能情報との対応関係から、各サーバ装置10の性能モデルをそれぞれ生成する。例えば、この性能モデルは、ワークロード量及びワークロード特性値を入力とし、その組み合わせに対応する性能情報を出力とする回帰式で表わされる。この場合、モデル生成部33は、性能DB26に格納される情報を用いて重回帰分析を行うことにより、当該性能モデルを生成する。図3の例におけるワークロード仕様により計測された性能情報によれば、ワークロード量(演算回数)とワークロード特性値(利用メモリサイズ)とを入力とし、CPU使用率を出力とする性能モデルが生成される。
【0050】
なお、本実施形態は、ワークロード量とワークロード特性値とワークロードの性能情報との間の複数の対応関係を示すものであれば、この性能モデルの生成手法を制限しない。また、モデル生成部33は、複数のリソース種の各々に関し、ワークロード量とワークロード特性値とワークロードの性能情報との複数の対応関係をそれぞれ示す性能モデルを生成してもよい。
【0051】
モデルDB27は、モデル生成部33により生成された、各サーバ装置10の性能モデルをそれぞれ格納する。なお、モデルDB27に格納される各性能モデルは、サーバ装置10の構成が変わらなければ、各サーバ装置10につき1回生成されればよく、例えば、サーバ装置10の運用開始前(購入直後など)に1回生成されればよい。
【0052】
変換部31は、移動対象の仮想マシン11が稼働するサーバ装置10の性能モデルを用いて、その移動対象の仮想マシン11の性能情報を、その移動対象の仮想マシン11に関するワークロード量とワークロード特性値との組み合わせに変換する。移動対象の仮想マシン11の性能情報は、性能情報収集部23により収集される。移動対象の仮想マシン11が稼働するサーバ装置10は、その性能情報の取得元、又は、仮想マシン管理部21の管理情報から特定される。変換部31は、サーバ装置10の性能モデルをモデルDB27から取得するため、モデル取得部としても動作する。
【0053】
ところで、上述の性能モデル上では、性能情報が固定されたとしても、ワークロード量とワークロード特性値との組み合わせは、通常、複数存在する。例えば、CPU使用率50%という性能情報をCPUワークロードのワークロード量とワークロード特性値に変換する場合、そのCPUワークロードが、キャッシュヒット率が低く、ワークロード量が少ない演算処理を行っているのか、キャッシュヒット率が高く、ワークロード量が多い演算処理を行っているのかを判断することはできない。これにより、CPU使用率50%に対応するワークロード量とワークロード特性値との組み合わせが複数存在することになる。
【0054】
図4は、CPU使用率の性能モデルにおいてCPU使用率(性能情報)を固定した場合の、ワークロード量(演算回数)とワークロード特性値(メモリサイズ)との対応関係の例を示す図である。図4に示されるように、同じCPU使用率でも、ワークロードが利用するメモリサイズが異なると、ワークロード量も異なる。
【0055】
特性DB28は、このように、或るサーバ装置10上で計測された性能情報から変換された、移動対象の仮想マシン11に関するワークロード量とワークロード特性値との複数組み合わせを格納する。よって、過去に既に移動されている仮想マシン11に関しては、その移動前に稼働されていたサーバ装置10上で計測された性能情報から変換された、ワークロード量とワークロード特性値との複数組み合わせが特性DB28に格納されている。このように、特性DB28は、特性情報格納部と呼ぶこともできる。
【0056】
変換部31により性能情報から変換される、或る仮想マシン11に関するワークロード量とワークロード特性値との複数組み合わせは、配列データ等のような離散データとして扱われてもよいし、関数等のような連続データとして扱われてもよい。特性DB28は、このように仮想マシン管理装置20で扱われるデータ形式により、当該複数組み合わせに関するデータを格納する。
【0057】
変換部31は、移動対象の仮想マシン11が過去に既に移動されている場合には、特性DB28に格納されている過去の複数組み合わせと、その仮想マシン11が現在稼働しているサーバ装置10で計測された性能情報から変換された複数組み合わせとに基づいて、その移動対象の仮想マシン11に関するワークロード量とワークロード特性値との1つの組み合わせを決定する。これは、例えば、連立方程式の解を求めることにより実現することができる。
【0058】
仮想マシン11が過去に移動されていない場合には、変換部31は、その移動対象仮想マシン11が現在稼働しているサーバ装置10で計測された性能情報から変換された複数組み合わせから、ワークロード量とワークロード特性値との1つの組み合わせを決定する。具体的には、変換部31は、複数組み合わせの中のいずれか1つを選択するか、複数組み合わせ間で平均を取ることにより当該1つの組み合わせを決定する。
【0059】
なお、複数のリソース種に関する性能情報が取得されている場合には、変換部31は、そのリソース種毎の性能情報を、その仮想マシン11のリソース種毎の、ワークロード量とワークロード特性値との組み合わせに変換する。
【0060】
推定部32は、変換部31により変換された当該組み合わせを、移動対象の仮想マシン11の移動先の候補となる移動先サーバ装置10の性能モデルに適用することにより、移動先サーバ装置10上でのその移動対象の仮想マシン11の性能情報を推定する。
【0061】
〔動作例〕
以下、第1実施形態における仮想マシン管理方法について図5及び図6を用いて説明する。上述のように、第1実施形態における仮想マシン管理方法は、各サーバ装置10の性能モデルを生成するまでの準備フェーズと、各サーバ装置10の性能モデルが生成されている状態において移動対象の仮想マシン11を或るサーバ装置10に移動させる運用フェーズとに分類される。よって、以下、第1実施形態における仮想マシン管理方法をフェーズ毎にそれぞれ説明する。
【0062】
図5は、第1実施形態における仮想マシン管理装置20の準備フェーズの動作例を示すフローチャートである。まず、仮想マシン管理装置20は、計測用仮想マシン11を、性能モデルの生成対象となる各サーバ装置10に配備する(S51)。
【0063】
続いて、仮想マシン管理装置20は、ワークロード仕様の設定情報を読み込み(S52)、実行させるワークロードに関するワークロード量とワークロード特性値との組み合わせを決定する。この組み合わせデータは、当該設定情報に含まれていてもよいし、ランダムに決定されてもよい。仮想マシン管理装置20は、決定された組み合わせを示すワークロード実行指示を各サーバ装置10の計測用仮想マシン11にそれぞれ送る。
【0064】
各サーバ装置10の計測用仮想マシン11は、そのワークロード実行指示に応じて、その指示に含まれるワークロード量とワークロード特性値との組み合わせに対応するワークロードをそれぞれ実行する(S53)。各サーバ装置10は、実行されたワークロードの性能情報をそれぞれ計測する(S54)。
【0065】
仮想マシン管理装置20は、各サーバ装置10で計測されたワークロードの性能情報をそれぞれ収集し(S54)、収集された性能情報と、この性能情報に対応するワークロード量及びワークロード特性値との組み合わせ情報とを対応付けて格納する。仮想マシン管理装置20は、読み込まれた設定情報により示される全ワークロードについて、上述の(S53)及び(S54)をそれぞれ実行する(S55;YES)。
【0066】
仮想マシン管理装置20は、全ワークロードについての性能情報の収集が完了すると(S55;NO)、格納されている情報から、各サーバ装置10についての性能モデルをそれぞれ生成し、生成された各サーバ装置10の性能モデルを格納する(S56)。
【0067】
このような準備フェーズは、サーバ装置10の構成が変わらなければ、各サーバ装置10につき1回実行されればよい。例えば、新たなサーバ装置10を購入し、仮想マシン管理システム1に導入する場合には、この準備フェーズは、その新たなサーバ装置10の運用を開始するまえに、その新たなサーバ装置10を対象に1回実行される。
【0068】
図6は、第1実施形態における仮想マシン管理装置20の運用フェーズの動作例を示すフローチャートである。図6に示される運用フェーズは、仮想マシン管理システム1で稼働される仮想マシン11を移行するためのトリガ発生により、実行される。このトリガは、例えば、サーバ装置10のメンテナンス、サーバ装置10の過負荷状態の発生、節電のための仮想マシン11のサーバ装置10への集約等により生じる。但し、このトリガ発生の条件はなんら制限されない。
【0069】
仮想マシン管理装置20は、移動対象仮想マシン11を特定し、その移動対象仮想マシン11の性能情報を取得する(S61)。移動対象仮想マシン11の性能情報は、その仮想マシン11が現在動作するサーバ装置10(現サーバ装置10と表記)により計測され、仮想マシン管理装置20により収集される。
【0070】
仮想マシン管理装置20は、現サーバ装置10の性能モデルを読み込む(S62)。
【0071】
仮想マシン管理装置20は、現サーバ装置10の性能モデルを用いて、移動対象仮想マシン11の性能情報を、移動対象仮想マシン11に関するワークロード量とワークロード特性値との複数組み合わせに変換する(S63)。仮想マシン管理装置20は、その複数組み合わせとしての離散データ又は連続データを特性DB28に格納する(S64)。
【0072】
続いて、仮想マシン管理装置20は、特性DB28に、その移動対象仮想マシン11に関し、過去に変換された複数組み合わせを示すデータが格納されているか否かを判定する(S65)。この過去の複数組み合わせを示すデータは、その移動対象仮想マシン11が過去に移動されている場合に特性DB28に格納されており、その移動前に動作していたサーバ装置10上での性能情報から変換された複数組み合わせに対応する。
【0073】
仮想マシン管理装置20は、過去に変換された複数組み合わせを示すデータが格納されている場合には(S65;YES)、今回変換された複数組み合わせを示すデータと、過去に変換された複数組み合わせを示すデータとに基づいて、その移動対象仮想マシン11に関するワークロード量とワークロード特性値との1つの組み合わせを決定する(S67)。
【0074】
一方、過去に変換された複数組み合わせを示すデータが格納されていない場合には(S65;NO)、仮想マシン管理装置20は、今回変換された複数組み合わせから、移動対象仮想マシン11に関するワークロード量とワークロード特性値との1つの組み合わせを決定する(S66)。
【0075】
続いて、仮想マシン管理装置20は、移動先候補となるサーバ装置10(移動先サーバ装置10と表記)の性能モデルを読み込む(S68)。
【0076】
仮想マシン管理装置20は、移動先サーバ装置10の性能モデルに、(S66)又は(S67)で決定されたワークロード量とワークロード特性値との組み合わせを適用することにより、移動先サーバ装置10におけるその移動対象仮想マシン11の性能情報を推定する(S69)。
【0077】
仮想マシン管理装置20は、移動先サーバ装置10に、その推定された性能情報を負担し得る空きリソース量が存在するか否かを判定し(S70)、存在する場合には(S70;YES)、その移動対象仮想マシン11をその移動先サーバ装置10に移動させる(S71)。
【0078】
一方、仮想マシン管理装置20は、空きリソース量が存在しない場合には(S70;NO)、その移動対象仮想マシン11をその移動先サーバ装置10に移動させることはできないと判定する(S72)。仮想マシン管理装置20は、移動不可と判定した場合には(S72)、別のサーバ装置10を選択し、そのサーバ装置10を対象に、(S68)以降を実行するようにしてもよい。
【0079】
図6の例では、(S65)で過去の複数組み合わせデータが特性DB28に格納されていると判定された場合(S65;YES)、(S67)が実施されるが、対象の仮想マシン11に関し(S67)が過去に既に実行されている場合には、その仮想マシン11に関するその後の移動時の判定では、以前の(S67)で決定されたワークロード量とワークロード特性値との1つの組み合わせが利用されればよい。また、図6の例では、工程(S62)と工程(S68)とが別々に実行されているが、これらは同時に実行されてもよい。
【0080】
〔第1実施形態の作用及び効果〕
上述のように、第1実施形態では、各サーバ装置10上で、計測用仮想マシン11に、ワークロード量とワークロード特性値との複数組み合わせに対応する複数種のワークロードを実行させ、各ワークロードの性能情報がそれぞれ計測され、仮想マシン管理装置20において、ワークロード量とワークロード特性値と性能情報との複数の対応関係を示す性能モデルが各サーバ装置10についてそれぞれ生成される。つまり、第1実施形態によれば、各サーバ装置10の性能モデルを自動で生成することができる。
【0081】
その上で、第1実施形態では、仮想マシン11が稼働する現サーバ装置10の性能モデルを用いて、仮想マシン11の性能情報から変換されたワークロード量とワークロード特性値との複数組み合わせを示すデータが格納される。これにより、過去の移動判定時に変換された当該複数組み合わせと、現在の変換により得られた当該複数組み合わせとから、その仮想マシン11のワークロード量とワークロード特性値との1つの組み合わせが決定される。このように過去の情報も利用されることにより、第1実施形態によれば、仮想マシン11の性能を高精度に示す、ワークロード量とワークロード特性値との1つの組み合わせを得ることができる。
【0082】
ひいては、当該組み合わせから、移動先サーバ装置10上での性能情報が推定されるため、第1実施形態によれば、移行先における仮想マシン11の性能を精度良く見積もることが可能となる。更に、第1実施形態によれば、移行先における仮想マシン11の性能を精度良く見積もることで、仮想マシン11への効率的なリソース割当てを行うことができると共に、仮想マシン11の移動により意図せずサーバ装置10が高負荷になることを防ぐことができる。
【0083】
また、初めての移動時においては、過去の情報を利用することができないため、現サーバ装置10上での性能情報及び現サーバ装置10の性能モデルを用いて変換された当該複数の組み合わせから、1つのワークロード量とワークロード特性値との1つの組み合わせが決定される。よって、初めて移動する仮想マシン11に関し得られる当該組み合わせは、過去に移動された仮想マシン11のそれに比べると、精度は落ちるものの、現サーバ装置10の性能モデルから得られる情報であるため、或る程度の精度を維持することは可能である。
【0084】
[第2実施形態]
仮想環境は様々な形態で実現され得る。仮想環境の形態によっては、仮想マシン11毎の性能情報が計測できない場合がある。例えば、ホストOS上でゲストOSが実行されるレイヤ構成では、通常、ゲストOSの仮想マシンがネットワークやディスク等の入出力処理を行う場合、その負荷がホストOSにもかかる。このとき、1つのホストOS上で複数のゲストOSが動作している場合、複数のゲストOSの負荷の合計のみがホストOSの性能情報として計測され、1つの仮想マシン11の寄与分が不明な場合がある。ホストOSの情報を利用しなくてもワークロードの性質を推定できる場合もあるが、高精度の推定を行うためにはホストOSの情報が重要となる。
【0085】
また、リソース種によって、仮想マシン11毎に性能情報が計測できるものと、計測できないものとが存在する場合もある。例えば、CPU使用率については、仮想マシン11毎に計測できるが、ハードディスク使用率については、仮想マシン11毎に計測できずホストOS単位で計測せざるを得ない場合がある。
【0086】
そこで、このような仮想マシン11毎に性能情報が計測できない場合にも対応する形態を第2実施形態として説明する。第2実施形態における仮想マシン管理システム1は、第1実施形態と同様の構成を有し、第2実施形態におけるサーバ装置10及び仮想マシン管理装置20についても第1実施形態と同様の処理構成を有する。以下、第2実施形態について第1実施形態と異なる内容を中心に説明し、第1実施形態と同様の内容については適宜省略する。
【0087】
以下の説明では、仮想マシン11毎に計測できない性能情報のみを対象とする。仮想マシン11毎に計測可能なリソース種と仮想マシン11毎に計測不能なリソース種とが混在する場合、仮想マシン11毎に計測可能なリソース種の性能情報は、第1実施形態と同様に処理されればよい。また、仮想マシン11毎に性能情報を計測することができるサーバ装置10と、仮想マシン11毎に性能情報を計測することができないサーバ装置10とが混在する場合、前者のサーバ装置10で計測された性能情報は、第1実施形態と同様に処理されればよい。つまり、このような混在環境では、上述の第1実施形態の内容と、後述する第2実施形態の内容とが混在して実施される。
【0088】
第2実施形態のサーバ装置10において、性能情報計測部17は、所定単位の仮想マシン11群の統合性能情報を計測する。ここで、所定単位とは、性能情報を計測することができる単位を意味する。例えば、上述のレイヤ構成では、当該所定単位は、ホストOS単位を意味し、性能情報計測部17は、ホストOS上で動作する仮想マシン11群の統合性能情報として、ホストOSの性能情報を計測する。これにより、性能情報計測部17により計測されるホストOSの性能情報は、そのホストOS上で動作する全仮想マシン11の性能情報の合計を示し、上述の所定単位の仮想マシン11群の統合性能情報である。
【0089】
第2実施形態における仮想マシン管理装置20において、性能情報収集部23は、上述の性能情報計測部17により計測されたホストOSの性能情報を収集し、その性能情報から、或る仮想マシン11の寄与分に相当する性能情報を抽出する。性能情報収集部23は、その仮想マシン11の寄与分に相当する性能情報を、仮想マシン11の移動に伴う性能情報の変化量により算出する。具体的には、性能情報収集部23は、仮想マシン11の移動前後の性能情報の減少量を、移動前に動作していたサーバ装置10(前サーバ装置10と表記)から収集される移動前後の性能情報から算出し、この減少量をその仮想マシン11の前サーバ装置10上での性能情報として取得する。また、性能情報収集部23は、仮想マシン11の移動前後の性能情報の増加量を、移動後に動作しているサーバ装置10(現サーバ装置10と表記)から収集される移動前後の性能情報から算出し、この増加量をその仮想マシン11の現サーバ装置10上での性能情報として取得する。
【0090】
このように、仮想マシン11が1回でも移動されていれば、その仮想マシン11の現サーバ装置10上での性能情報は、その仮想マシン11の移動に伴う現サーバ装置10上での性能情報の増加量により取得することができる。ところが、未だ移動されていない仮想マシン11を移動対象として判定する場合には、当該増加量及び当該減少量を得ることができないため、上述の方法では、その仮想マシン11の現サーバ装置10上での性能情報を得ることはできない。そこで、性能情報収集部23は、未だ移動されていない仮想マシン11を移動対象として判定する場合には、例えば、現サーバ装置10により計測されたホストOSの性能情報の履歴データを成分分析することにより、その仮想マシン11の現サーバ装置10上での性能情報を推定する。その成分分析手法には、独立成分分析等のような周知の手法が利用されればよい。
【0091】
また、1回移動後の仮想マシン11を移動対象として判定する際に、特性DB28に格納される、ワークロード量とワークロード特性値との過去の複数組み合わせは、上述のように推定された性能情報から変換されたものであるため、精度が或る程度低い可能性がある。そこで、その仮想マシン11の移動後に上述のように性能情報の増加量から得られるその仮想マシン11の前サーバ装置10上での性能情報に基づいて、再度、前サーバ装置10に関する当該複数組み合わせを取得し、この複数組み合わせにより、その過去の複数組み合わせが更新されることが望ましい。このようにすれば、1回移動後の仮想マシン11を移動対象として判定する場合に利用される過去の情報が高精度となる。
【0092】
なお、準備フェーズにおける性能モデルの生成については、各サーバ装置10に計測用仮想マシン11のみを動作させることにより、上述の性能情報計測部17により計測された性能情報を用いて、第1実施形態と同様に行われればよい。
【0093】
〔第2実施形態の作用及び効果〕
上述のように、第2実施形態では、仮想マシン11毎に取得できない性能情報についても、仮想マシン11の移動前後のホストOSの性能情報(所定単位の仮想マシン群の統合性能情報)の増加量又は減少量により、仮想マシン11の現サーバ装置10上での性能情報又は仮想マシン11の前サーバ装置10上での性能情報が算出される。以降、この性能情報により、第1実施形態と同様に、移動先での仮想マシン11の性能情報が推定される。よって、第2実施形態によれば、仮想マシン11毎に性能情報が取得できない形態であっても、移行先における仮想マシン11の性能を精度良く見積もることが可能となる。
【実施例】
【0094】
以下に実施例を挙げ、上述の実施形態を更に詳細に説明する。本発明は以下の実施例から何ら限定を受けない。ここでは、CPU使用率50%という性能情報を持つ仮想マシン11がサーバ装置10(#1)で動作している状態で、その仮想マシン11をサーバ装置10(#1)からサーバ装置10(#2)へ移行させる場合の例を挙げる。
【0095】
仮想マシン管理装置20の変換部31は、モデルDB27からサーバ装置10(#1)の性能モデルを抽出し、この性能モデルを用いて、仮想マシン11のサーバ装置10(#1)上での性能情報(CPU使用率50%)を、ワークロード量とワークロード特性値との複数組み合わせに変換する。
【0096】
図7は、サーバ装置10(#1)の性能モデルを用いて変換されたワークロード量とワークロード特性値との複数組み合わせの例を示す図である。図7の例では、ワークロード特性としてメモリサイズが利用されており、当該複数組み合わせを示すデータとして連続データが利用されている。このように、仮想マシン11が現在動作するサーバ装置10(#1)上での性能情報だけでは、それに対応するワークロード量とワークロード特性値との組み合わせを1つに特定することは困難である。
【0097】
ここで、移行先候補としてのサーバ装置10(#2)は、サーバ装置10(#1)に比べて、CPUクロックが小さく、キャッシュが大きいと仮定する。図7の例に示されるようにサーバ装置10(#1)の性能モデルを用いて得られた当該複数組み合わせを、サーバ装置10(#2)の性能モデルへ入力として与えると、例えば、図8の例に示されるような複数の性能情報が得られる。
【0098】
図8は、移動先のサーバ装置10(#2)上での仮想マシン11の性能情報の例を示す図である。仮想マシン11で実行される処理で利用されるメモリサイズが小さい場合、CPUキャッシュの効果により性能が向上するため、サーバ装置10(#1)上での性能と、サーバ装置10(#2)上での性能との間の差は縮まる方向となる。図8に示されるように、サーバ装置10(#1)上でのCPU使用率50%は、ワークロード量とワークロード特性値との組み合わせ次第で、サーバ装置10(#2)上では50%から70%の範囲のいずれかの値となる。但し、当該利用メモリサイズは観測することができないため、特定不可能である。
【0099】
そこで、推定部32は、仮想マシン11のサーバ装置10(#2)上での性能情報を、50%から70%の範囲中の値、又は、その範囲の最大値である70%に決定する。これにより、サーバ装置10(#2)にそのように推定された値に対応する空きCPU使用率が存在する場合、その仮想マシン11をサーバ装置10(#2)へ移行することが可能となる。このように、仮想マシン11の過去のデータが特性DB28に格納されていない場合には、変換部31が、サーバ装置10(#1)の性能モデルから変換される当該複数の組み合わせから1つの組み合わせを選ぶことなく、推定部32が、その複数組み合わせを、移行先のサーバ装置10(#2)の性能モデルに適用して得られる性能情報の範囲から、その仮想マシン11の移行先のサーバ装置10(#2)上での性能情報を推定するようにしてもよい。
【0100】
ここで、当該仮想マシン11のサーバ装置10(#2)上での性能情報がCPU使用率65%となったと仮定し、更に、サーバ装置10(#2)の性能モデルにおけるCPU使用率65%に対応するワークロード量とワークロード特性値との複数組み合わせが図9に示されるようになったと仮定する。図9は、サーバ装置10(#2)の性能モデルを用いて変換されたワークロード量とワークロード特性値との複数組み合わせの例を示す図である。
【0101】
この場合に、その仮想マシン11が更にサーバ装置10(#3)に移行される場合には、サーバ装置10(#1)に関し取得された当該複数組み合わせ(図7)と、サーバ装置10(#2)に関し取得された当該複数組み合わせ(図9)とが利用される。図10は、図7の分布と図9の分布とを重ね合わせた分布を示すグラフである。
【0102】
変換部31は、図10に示される2つの分布の交点を、その仮想マシン11に関するワークロード量とワークロード特性値との1つの組み合わせとして決定する。以降、この仮想マシン11の移行時には、この決定された組み合わせがその仮想マシン11の性能を示すデータとして利用されることにより、仮想マシン11の移行先での性能情報を高精度に推定することが可能となる。
【0103】
[変形例]
上述の各実施形態では、仮想マシン管理装置20が性能DB26、モデルDB27及び特性DB28を有する例が示されているが(図2参照)、これらデータベースは、仮想マシン管理システム1内の他の装置が有しており、仮想マシン管理装置20が当該他の装置上のそれらデータベースにアクセスするようにしてもよい。また、上述の各実施形態では、仮想マシン11を動作させるサーバ装置10と仮想マシン管理装置20とが区別して設けられたが、仮想マシン管理装置20の構成の全部又は一部は、サーバ装置10上に設けられてもよい。例えば、モデル生成部33及びモデルDB27が各サーバ装置10に設けられ、各サーバ装置10が自サーバ装置10の性能モデルをそれぞれ生成し格納するようにしてもよい。
【0104】
なお、上述の説明で用いた複数のフローチャートでは、複数のステップ(処理)が順番に記載されているが、本実施形態で実行される処理ステップの実行順序は、その記載の順番に制限されない。本実施形態では、図示される処理ステップの順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。
【0105】
上記の各実施形態及び各変形例の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態及び各変形例が以下の記載に限定されるものではない。
【0106】
(付記1)
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、
前記変換部により変換された前記組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する推定部と、
を備える仮想マシン管理装置。
【0107】
(付記2)
指定されたワークロードを実行するために各サーバ装置に配置されている計測用仮想マシンに、前記ワークロード量と前記ワークロード特性値との複数の組み合わせに対応する複数のワークロードの各々を順次実行させるワークロード制御部と、
前記各ワークロードが前記各サーバ装置上でそれぞれ実行されることにより計測される、前記各サーバ装置上における前記各ワークロードの性能情報をそれぞれ収集する性能情報収集部と、
前記ワークロード量と前記ワークロード特性値との前記各組み合わせと前記各ワークロードの性能情報との対応関係から、前記各サーバ装置の前記性能モデルをそれぞれ生成するモデル生成部と、
を更に備える付記1に記載の仮想マシン管理装置。
【0108】
(付記3)
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との複数の組み合わせを取得し、該複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の1つの組み合わせを決定する、
ことを特徴とする付記1又は2に記載の仮想マシン管理装置。
【0109】
(付記4)
前記移動対象仮想マシンが以前動作していた前サーバ装置上での前記移動対象仮想マシンの性能情報を該前サーバ装置の前記性能モデルに適用することにより得られる、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第1の複数の組み合わせを格納する特性情報格納部を更に備え、
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第2の複数の組み合わせを取得し、該第2の複数の組み合わせ及び前記特性情報格納部に格納される前記第1の複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の1つの組み合わせを決定する、
付記1から3のいずれか1つに記載の仮想マシン管理装置。
【0110】
(付記5)
前記性能情報取得部は、前記移動対象仮想マシンが以前動作していた前サーバ装置から前記現サーバ装置へ移動した場合において、前記現サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の増加分から、前記現サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得するか、又は、該前サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の減少分から、該前サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得する付記1から4のいずれか1つに記載の仮想マシン管理装置。
【0111】
(付記6)
前記性能モデルは、複数のリソース種の各々に関し、前記ワークロード量と前記ワークロード特性値と前記ワークロードの性能情報との複数の対応関係をそれぞれ示し、
前記性能情報取得部は、前記複数のリソース種の各々についての前記移動対象仮想マシンの性能情報をそれぞれ取得し、
前記変換部は、前記各リソース種に関する前記性能モデルを用いて、前記移動対象仮想マシンの前記リソース種毎の前記性能情報を、前記移動対象仮想マシンの前記リソース種毎の、前記ワークロード量と前記ワークロード特性値との組み合わせに変換し、
前記推定部は、前記移動先サーバ装置上における前記移動対象仮想マシンの前記リソース種毎の性能情報をそれぞれ推定する、
付記1から5のいずれか1つに記載の仮想マシン管理装置。
【0112】
(付記7)
付記1から6のいずれか1つに記載の仮想マシン管理装置と、
複数のサーバ装置と、
を備え、
前記複数のサーバ装置の各々が、
自サーバ装置上で動作している仮想マシンの性能情報、又は、自サーバ装置上で動作している所定単位の仮想マシン群の統合性能情報を計測する性能情報計測部
を有する仮想マシン管理システム。
【0113】
(付記8)
少なくとも1つのコンピュータが、
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得し、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得し、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換し、
前記変換された組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する、
ことを含む仮想マシン管理方法。
【0114】
(付記9)
前記少なくとも1つのコンピュータが、
指定されたワークロードを実行するために各サーバ装置に配置されている計測用仮想マシンに、前記ワークロード量と前記ワークロード特性値との複数の組み合わせに対応する複数のワークロードの各々を順次実行させ、
前記各ワークロードが前記各サーバ装置上でそれぞれ実行されることにより計測される、前記各サーバ装置上における前記各ワークロードの性能情報をそれぞれ収集し、
前記ワークロード量と前記ワークロード特性値との前記各組み合わせと前記各ワークロードの性能情報との対応関係から、前記各サーバ装置の前記性能モデルをそれぞれ生成する、
ことを更に含む付記8に記載の仮想マシン管理方法。
【0115】
(付記10)
前記変換は、
前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との複数の組み合わせを取得し、
前記複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の1つの組み合わせを決定する、
ことを含む付記8又は9に記載の仮想マシン管理方法。
【0116】
(付記11)
前記少なくとも1つのコンピュータが、
前記移動対象仮想マシンが以前動作していた前サーバ装置上での前記移動対象仮想マシンの性能情報を該前サーバ装置の前記性能モデルに適用することにより得られる、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第1の複数の組み合わせを格納する、
ことを更に含み、
前記変換は、
前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第2の複数の組み合わせを取得し、
前記第2の複数の組み合わせ及び前記第1の複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の1つの組み合わせを決定する、
ことを含む付記8から10のいずれか1つに記載の仮想マシン管理方法。
【0117】
(付記12)
前記移動対象仮想マシンの性能情報の前記取得は、前記移動対象仮想マシンが以前動作していた前サーバ装置から前記現サーバ装置へ移動した場合において、前記現サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の増加分から、前記現サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得するか、又は、該前サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の減少分から、該前サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得することを含む付記8から11のいずれか1つに記載の仮想マシン管理方法。
【0118】
(付記13)
前記性能モデルは、複数のリソース種の各々に関し、前記ワークロード量と前記ワークロード特性値と前記ワークロードの性能情報との複数の対応関係をそれぞれ示し、
前記移動対象仮想マシンの性能情報の前記取得は、前記複数のリソース種の各々についての前記移動対象仮想マシンの性能情報をそれぞれ取得し、
前記変換は、前記各リソース種に関する前記性能モデルを用いて、前記移動対象仮想マシンの前記リソース種毎の前記性能情報を、前記移動対象仮想マシンの前記リソース種毎の、前記ワークロード量と前記ワークロード特性値との組み合わせに変換し、
前記推定は、前記移動先サーバ装置上における前記移動対象仮想マシンの前記リソース種毎の性能情報をそれぞれ推定する、
付記8から12のいずれか1つに記載の仮想マシン管理方法。
【0119】
(付記14)
少なくとも1つのコンピュータに、
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、
前記変換部により変換された前記組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する推定部と、
を実現させるプログラム。
【0120】
(付記15)
前記少なくとも1つのコンピュータに、
指定されたワークロードを実行するために各サーバ装置に配置されている計測用仮想マシンに、前記ワークロード量と前記ワークロード特性値との複数の組み合わせに対応する複数のワークロードの各々を順次実行させるワークロード制御部と、
前記各ワークロードが前記各サーバ装置上でそれぞれ実行されることにより計測される、前記各サーバ装置上における前記各ワークロードの性能情報をそれぞれ収集する性能情報収集部と、
前記ワークロード量と前記ワークロード特性値との前記各組み合わせと前記各ワークロードの性能情報との対応関係から、前記各サーバ装置の前記性能モデルをそれぞれ生成するモデル生成部と、
を更に実現させる付記14に記載のプログラム。
【0121】
(付記16)
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との複数の組み合わせを取得し、該複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の1つの組み合わせを決定する、
ことを特徴とする付記14又は15に記載のプログラム。
【0122】
(付記17)
前記少なくとも1つのコンピュータに、
前記移動対象仮想マシンが以前動作していた前サーバ装置上での前記移動対象仮想マシンの性能情報を該前サーバ装置の前記性能モデルに適用することにより得られる、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第1の複数の組み合わせを格納する特性情報格納部を更に実現させ、
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第2の複数の組み合わせを取得し、該第2の複数の組み合わせ及び前記特性情報格納部に格納される前記第1の複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の1つの組み合わせを決定する、
付記14から16のいずれか1つに記載のプログラム。
【0123】
(付記18)
前記性能情報取得部は、前記移動対象仮想マシンが以前動作していた前サーバ装置から前記現サーバ装置へ移動した場合において、前記現サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の増加分から、前記現サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得するか、又は、該前サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の減少分から、該前サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得する付記14から17のいずれか1つに記載のプログラム。
【0124】
(付記19)
前記性能モデルは、複数のリソース種の各々に関し、前記ワークロード量と前記ワークロード特性値と前記ワークロードの性能情報との複数の対応関係をそれぞれ示し、
前記性能情報取得部は、前記複数のリソース種の各々についての前記移動対象仮想マシンの性能情報をそれぞれ取得し、
前記変換部は、前記各リソース種に関する前記性能モデルを用いて、前記移動対象仮想マシンの前記リソース種毎の前記性能情報を、前記移動対象仮想マシンの前記リソース種毎の、前記ワークロード量と前記ワークロード特性値との組み合わせに変換し、
前記推定部は、前記移動先サーバ装置上における前記移動対象仮想マシンの前記リソース種毎の性能情報をそれぞれ推定する、
付記14から18のいずれか1つに記載のプログラム。
【0125】
(付記20)
付記14から19のいずれか1つに記載のプログラムをコンピュータに読み取り可能に記録する記録媒体。
【0126】
この出願は、2012年3月8日に出願された日本出願特願2012−052028号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10