図面 (/)

技術 仮想マシン管理プログラム、仮想マシン管理方法及び仮想マシン管理装置

出願人 富士通株式会社
発明者 菊岡大輔寺井義起
出願日 2017年8月24日 (2年10ヶ月経過) 出願番号 2017-160947
公開日 2019年3月14日 (1年3ヶ月経過) 公開番号 2019-040330
状態 未査定
技術分野 マルチプログラミング
主要キーワード 制度改正 終了判定条件 波形周期 リソース需要 差分波形 ユーザポータル 目標波形 最大使用量
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年3月14日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

物理マシンリソース使用量極端な上昇がないよう仮想マシン再配置する。

解決手段

仮想マシン管理プログラムは、物理マシン群内の複数の物理マシンに配備された複数の仮想マシン及び複数の物理マシンの、単位時間毎のリソース使用量を記憶し、所定期間内での単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、第1物理マシンで動作中の仮想マシンのうち、第1物理マシンの前記リソース使用量を正規化した正規化リソース使用量の第1波形類似度が相対的に高い第2波形を持つ第1仮想マシンを選択し、第1物理マシンを除く物理マシンのうち、第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に低い第3波形を持つ第2物理マシンを選択し、第1仮想マシンを第1物理マシンから第2物理マシンに再配置する、処理をコンピュータに実行させる。

概要

背景

近年、複数の物理マシン(またはコンピュータ情報処理装置等)それぞれに複数の仮想マシン配備し、仮想マシンが様々な業務アプリケーションプログラム(以下単に業務アプリケーションと称する)を実行して業務システムを提供することが行われている。物理マシン上で実行される仮想化ソフトウエア(以下ハイパーバイザと称する)は、物理マシンに配備される複数の仮想マシンに、物理マシンのCPUやメモリなどのハードウエアリソースハードウエア資源、または単にリソースと称する)のうち予め定めたリソース量割り当てる。

そして、業務アプリケーションを実行する仮想化マシンでは、例えば一日単位周期で変化する業務量に応じて、そのリソース使用量も変化する。例えば、昼間にアクセスが多いオンライン処理を実行する仮想マシンや夜間にバッチ処理を実行する仮想マシンなどは、1日周期で同程度のリソース使用量の変化が繰り返される。但し、業務量の変化や制度改正等に起因して仮想マシンのリソース使用量が増加すると、物理マシンのリソースが不足する場合がある。

このようなリソース不足が発生すると、仮想マシンを管理する管理装置は、特定の仮想マシンをリソース不足に陥った現在の物理マシンから空きリソース量が大きい他の物理マシンに再配置(またはマイグレーション移行)して、物理マシンのリソース不足を解消する。仮想マシンの再配置については、以下の特許文献に記載がある。

概要

物理マシンのリソース使用量の極端な上昇がないよう仮想マシンを再配置する。仮想マシン管理プログラムは、物理マシン群内の複数の物理マシンに配備された複数の仮想マシン及び複数の物理マシンの、単位時間毎のリソース使用量を記憶し、所定期間内での単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、第1物理マシンで動作中の仮想マシンのうち、第1物理マシンの前記リソース使用量を正規化した正規化リソース使用量の第1波形類似度が相対的に高い第2波形を持つ第1仮想マシンを選択し、第1物理マシンを除く物理マシンのうち、第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に低い第3波形を持つ第2物理マシンを選択し、第1仮想マシンを第1物理マシンから第2物理マシンに再配置する、処理をコンピュータに実行させる。

目的

近年、複数の物理マシン(またはコンピュータ、情報処理装置等)それぞれに複数の仮想マシンを配備し、仮想マシンが様々な業務アプリケーションプログラム(以下単に業務アプリケーションと称する)を実行して業務システムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

管理対象物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間毎リソース使用量を記憶し、前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量の第1波形類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択し、前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に低い前記正規化リソース使用量の第3波形を持つ第2物理マシンを選択し、前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する、処理をコンピュータに実行させる仮想マシン管理プログラム

請求項2

前記正規化リソース使用量を、前記所定期間内での単位時間毎のリソース使用量と前記単位時間毎のリソース使用量の平均値との差分を、前記所定期間内の単位時間毎のリソース使用量の標準偏差で除して算出する、請求項1に記載の仮想マシン管理プログラム。

請求項3

前記類似度を、前記第1波形と第2波形同士、または前記第2波形と第3波形同士の前記単位時間毎の差分の二乗累積値平方根であるユークリッド距離が近い程類似する、遠い程類似しないと判定する、請求項1に記載の仮想マシン管理プログラム。

請求項4

管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間ごとのリソース使用量を記憶し、前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量から、前記複数の物理マシンの前記所定期間内での単位時間毎の合計リソース使用量を正規化した正規化合計リソース使用量を減じた第1差分波形と、類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択し、前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に高い第2差分波形を持つ第2物理マシンを選択し、前記第2差分波形は前記正規化合計リソース使用量から第2物理マシンの前記正規化リソース使用量を減じて求められ、前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する、処理をコンピュータに実行させる仮想マシン管理プログラム。

請求項5

前記正規化リソース使用量を、前記所定期間内での単位時間毎のリソース使用量と前記単位時間毎のリソース使用量の平均値との差分を、前記所定期間内の単位時間毎のリソース使用量の標準偏差で除して算出し、前記正規化合計リソース使用量を、前記所定期間内での単位時間毎の合計リソース使用量と前記単位時間毎の合計リソース使用量の平均値との差分を、前記所定期間内の単位時間毎の合計リソース使用量の標準偏差で除して算出する、請求項4に記載の仮想マシン管理プログラム。

請求項6

前記類似度を、前記第1差分波形と第2波形同士、または前記第2波形と第2差分波形同士の前記単位時間毎の差分の二乗の累積値の平方根であるユークリッド距離が近い程類似する、遠い程類似しないと判定する、請求項4に記載の仮想マシン管理プログラム。

請求項7

前記処理は、更に、前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置した場合の前記複数の仮想マシン及び複数の物理マシンの単位時間毎のリソース使用量を算出し、前記算出リソース使用量に基づいて計算した、前記複数の物理マシンそれぞれの前記所定期間内の単位時間毎のリソース使用量と前記リソース使用量の平均値とのユークリッド距離である第1波形サイズの合計値の、前記複数の物理マシンの前記所定期間内の単位時間毎の合計リソース使用量と前記合計リソース使用量の平均値とのユークリッド距離である第2波形サイズに対する、割合が、所定の状態に低下するか否かの第1判定を行い、前記第1判定が真になるまで、前記第1物理マシンの選択と、前記第1仮想マシンの選択と、前記第2物理マシンの選択と、前記リソース使用量の算出とを繰り返すこと、を有する請求項1または4に記載の仮想マシン管理プログラム。

請求項8

前記処理は、更に、前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置した場合の前記複数の仮想マシン及び複数の物理マシンの単位時間毎のリソース使用量を算出し、前記算出リソース使用量に基づいて計算した、前記単位時間毎の物理マシンの空きリソース量の第1最小値が、前記複数の物理マシン中で最も小さい物理マシンの、前記第1最小値である第2最小値が、上昇から下降に転じるか否か第2判定を行い、前記第2判定が真になるまで、前記第1物理マシンの選択と、前記第1仮想マシンの選択と、前記第2物理マシンの選択と、前記リソース使用量の算出とを繰り返すこと、を有する請求項1または4に記載の仮想マシン管理プログラム。

請求項9

管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間毎のリソース使用量を記憶し、前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量の第1波形と類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択し、前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に低い前記正規化リソース使用量の第3波形を持つ第2物理マシンを選択し、前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する、処理を有する仮想マシン管理方法

請求項10

管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間毎のリソース使用量を記憶するリソース使用量記憶手段と、前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択する第1物理マシン選択手段と、前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量の第1波形と類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択する第1仮想マシン選択手段と、前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に低い前記正規化リソース使用量の第3波形を持つ第2物理マシンを選択する第2物理マシン選択手段と、前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する再配置手段と、を有する仮想マシン管理装置

技術分野

背景技術

0002

近年、複数の物理マシン(またはコンピュータ情報処理装置等)それぞれに複数の仮想マシン配備し、仮想マシンが様々な業務アプリケーションプログラム(以下単に業務アプリケーションと称する)を実行して業務システムを提供することが行われている。物理マシン上で実行される仮想化ソフトウエア(以下ハイパーバイザと称する)は、物理マシンに配備される複数の仮想マシンに、物理マシンのCPUやメモリなどのハードウエアリソースハードウエア資源、または単にリソースと称する)のうち予め定めたリソース量割り当てる。

0003

そして、業務アプリケーションを実行する仮想化マシンでは、例えば一日単位周期で変化する業務量に応じて、そのリソース使用量も変化する。例えば、昼間にアクセスが多いオンライン処理を実行する仮想マシンや夜間にバッチ処理を実行する仮想マシンなどは、1日周期で同程度のリソース使用量の変化が繰り返される。但し、業務量の変化や制度改正等に起因して仮想マシンのリソース使用量が増加すると、物理マシンのリソースが不足する場合がある。

0004

このようなリソース不足が発生すると、仮想マシンを管理する管理装置は、特定の仮想マシンをリソース不足に陥った現在の物理マシンから空きリソース量が大きい他の物理マシンに再配置(またはマイグレーション移行)して、物理マシンのリソース不足を解消する。仮想マシンの再配置については、以下の特許文献に記載がある。

先行技術

0005

特開2015−184965号公報
特開2015−152984号公報
国際公開第2013/099019号公報

発明が解決しようとする課題

0006

しかしながら、単純にリソース不足の物理マシンから空きリソース量の大きい他の物理マシンへ仮想マシンをマイグレーションするだけでは、以下の様な問題が発生する。第1に、仮想マシンが他の物理マシンにマイグレーションした元の物理マシンでは、時間帯によってリソース使用量が少なくなりリソースが有効活用されない場合がある。第2に、逆に仮想マシンが他の物理マシンからマイグレーションしてきた先の物理マシンでは、時間帯によってリソース使用量が多くなり、業務システムの性能が低下する場合がある。第3に、上記第2の場合にリソースの需要増加が突発的に発生するとリソース不足が発生する場合がある。

0007

そこで,本開示の第1の側面の目的は,各物理マシンにおいてリソース使用量の極端な上昇が起こりにくい仮想マシンの再配置を行う仮想マシン管理プログラム、仮想マシン管理方法及び仮想マシン管理装置を提供することにある。

課題を解決するための手段

0008

本実施の形態の第1の側面は,管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間毎のリソース使用量を記憶し、
前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、
前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量の第1波形類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択し、
前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に低い前記正規化リソース使用量の第3波形を持つ第2物理マシンを選択し、
前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する、
処理をコンピュータに実行させる仮想マシン管理プログラムである。

発明の効果

0009

第1の側面によれば,リソース使用量の極端な上昇が起こりにくい仮想マシンの再配置を行うことができる。

図面の簡単な説明

0010

本実施の形態における管理装置と複数の物理マシン及び仮想マシンの関係を示す図である。
本実施の形態における管理装置1の構成例を示す図である。
物理マシンのリソース使用量の変化について説明する図である。
仮想マシンの再配置を説明する図である。
再配置後の物理マシンにおける問題点を示す図である。
第1の実施の形態における目標とする物理マシンのリソース使用量を説明する図である。
仮想マシンのリソース使用量の履歴の一例を示す図である。
第1の実施の形態における仮想マシンの最適配置処理のフローチャート図である。
物理マシンで動作中の複数の仮想マシンから再配置対象の仮想マシンを選択する処理を説明する図である。
物理マシンAを除く管理対象の複数の物理マシンの中から、仮想マシンaを再配置する物理マシンBを選択する処理を説明する図である。
ユークリッド距離を説明する図である。
波形の大きさWを説明する図である。
全物理マシンの平準化評価値ρを説明する図である。
仮想環境全体のリソース使用量に大きな偏りがある場合の例を示す図である。
第2の実施の形態により仮想マシンの最適配置を行った場合の例を示す図である。
第2の実施の形態における仮想マシンの最適配置処理のフローチャート図である。
物理マシンで動作中の複数の仮想マシンから再配置対象の仮想マシンを選択する処理S12を説明する図である。
再配置対象の仮想マシンの再配置先の物理マシンを選択する処理S13を説明する図である。
第1及び第2の実施の形態の具体的処理の全体フローチャート例を示す図である。
仮想マシンの再配置プランを実行する場合のユーザに対する確認画面例を示す図である。
仮想マシンの再配置の実行履歴の一例を示す図である。
管理装置のデータベース内の仮想マシンと物理マシンの対応テーブル30と、仮想マシンの動作履歴テーブル32の一例を示す図である。
物理マシンPM1〜PM4の仮想マシンVMのリソース使用量の具体例を示す図である。
管理装置による仮想マシンの最適配置処理(再配置処理)における各処理で求められる値や状態を示す図である。
管理装置による仮想マシンの最適配置処理(再配置処理)における各処理で求められる値や状態を示す図である。

実施例

0011

図1は、本実施の形態における管理装置と複数の物理マシン及び仮想マシンの関係を示す図である。管理装置1は、管理対象の物理マシン群2のそれぞれの物理マシンPM上で動作する複数の仮想マシンVMを管理する仮想マシン管理装置である。管理対象の物理マシン群2は、複数の物理マシンPM_0,PM_1等を有し、複数の物理マシンPM_0,PM_1等は、管理装置1とネットワークNW1を介して通信可能に接続される。また、管理装置1は、ネットワークNW2を介して、仮想マシンで構成される仮想サービスステム運営するユーザのユーザ端末装置20,22と通信可能に接続される。そして、仮想サービスシステムにアクセスしてそのサービスを利用するサービス利用者端末装置(図示せず)も、図示しないネットワーク(インターネットイントラネット、図示せず)を介して、仮想マシンVMと通信可能に接続される。

0012

管理対象の物理マシン群2は、例えば、データセンタサーバファシリティ、或いはそれらに配備されている管理単位の物理マシン群である。物理マシン上で動作する仮想マシンは、例えば、管理対象の物理マシン群2内の複数の物理マシン間で再配置(マイグレーション)可能である。

0013

物理マシンPM_0,PM_1それぞれは、ハイパーバイザHVを実行し、複数の仮想マシンVM_0-VM_7を動作させる。ハイパーバイザHVは、各仮想マシンに、物理マシンのリソースの一部を割り当てる。物理マシンのリソースは、例えば、CPUやメモリなどである。物理マシンのリソースは、ネットワークの帯域を含んでも良い。

0014

図2は、本実施の形態における管理装置1の構成例を示す図である。管理装置1は、物理マシンまたは物理マシン上で動作する仮想マシンのいずれでもよい。管理装置は、バス16を介して接続されたCPU10と、メインメモリ11と、ネットワークインタフェース12とを有する。バス16には、更に、HDDSSDなどの補助メモリであるストレージ13,14,15が接続され、ストレージ13には仮想マシン管理プログラムが格納され、ストレージ14には、ユーザ端末装置がアクセスするユーザポータルイトを制御するプログラムが格納されている。

0015

また、ストレージ15には、仮想マシンのコンフィグレーションファイルや、仮想マシンVMと物理マシンPMの動作履歴データベースなどが格納される。動作履歴には、例えば単位時間毎のCPU使用量メモリ使用量帯域使用量などのハードウエア使用量が含まれる。

0016

仮想マシン管理プログラムは、次のような機能を有する。まず、新たに配備する仮想マシンのコンフィグレーションファイルを登録する機能(VM登録)、仮想マシンを物理マシン上で起動遮断する機能、物理マシン上で起動中(動作中)の仮想マシンをサスペンド一時停止)し、さらにリジューム動作再開)する機能、仮想マシンをある物理マシンから別の物理マシンにマイグレーション(再配置または移行)する機能(VMマイグレーションプログラム)、そして、仮想マシンを最適な物理マシンに配置及び再配置する機能(VM最適配置プログラム)である。

0017

次に、管理装置が仮想マシン管理プログラムを実行して、仮想マシンを物理マシン間で再配置する処理について概略を説明する。

0018

図3は、物理マシンのリソース使用量の変化について説明する図である。図中、2つのグラフが示され、横軸が時間、縦軸が仮想マシンによる物理マシンのリソース使用量である。業務アプリケーションを実行する仮想化マシンは、業務量が日々刻々と変化することに対応して、そのリソース使用量も変化する。そして、物理マシン上で複数の仮想マシンが動作すると、複数の仮想マシンの合計リソース使用量も同様に変化する。

0019

図3に左側のグラフでは、破線が物理マシンPMのリソース容量(またはリソース量)R_MAXであり、その物理マシン上で動作する複数の仮想マシンの合計リソース使用量R_USEは、図示されるとおり時間の経過に伴い日々刻々変化する。合計リソース使用量R_USEが物理マシンのリソース容量R_MAXを超えることがなければ、各仮想マシンの動作に支障はない。

0020

しかし、ある仮想マシンが実行する業務アプリケーションの業務量が増加すると、図3の右側のグラフに示すとおり、必要な合計リソース使用量R_USEが物理マシンで割り当て可能なリソース容量R_MAXを一時的に超え、物理マシンがリソース不足に陥る。この場合、物理マシンは割り当て可能なリソース容量R_MAXを超えて仮想マシンにリソースを割り当てることはできないので、仮想マシンに割り当てられるリソース容量は必要な容量を下回ることになり、仮想マシンによる業務アプリケーションの動作は低下する。

0021

図4は、仮想マシンの再配置を説明する図である。図4の上側には、物理マシンPM上で複数の仮想マシンVM1−VM4が動作中に物理マシンのリソース不足が発生した状態が示されている。図3と同様に、物理マシンPM上で動作する仮想マシンVM1-VM4が必要とする合計リソース使用量R_USEが物理マシンのリソース容量R_MAXを超えて、リソース不足が発生する。

0022

この場合、図4の下側に示すとおり、リソース不足に陥っている物理マシンPM上で動作するある仮想マシンVM4を、空きリソース容量に余裕のある別の物理マシンに再配置することで、物理マシンPMの合計リソース使用量R_USEが再配置した仮想マシンVM4のリソース使用量の分低下し、リソース不足が解消される場合がある。

0023

図5は、再配置後の物理マシンにおける問題点を示す図である。単にリソース不足に陥っている物理マシンの任意の仮想マシンを、単に空きリソースに余裕のある(空きリソース容量が大きい)別の任意の物理マインに再配置すると、図5に示すように再配置後の物理マシン(再配置元、再配置先の物理マシン)において以下の様な問題が生じる場合がある。

0024

第1に、図中R1で示すとおり、仮想マシンが別の物理マシンに再配置された後の再配置元の物理マシンでは、時間帯によってはリソース使用量が極端に小さくなり、物理マシンのリソースが有効に活用されなくなる。第2に、図中R2で示すとおり、仮想マシンの再配置先の物理マシンでは、時間帯によってはリソース使用量が増大し、仮想マシンによる業務システムの性能が低下する場合がある。第3に、図中R2で示すとおり、突発的に仮想マシンによるリソース需要急増するとリソース需要が最大リソース容量R_MAXを超えて、リソース使用量R_USEが最大リソース容量R_MAXに達する場合がある。

0025

[第1の実施の形態]
図6は、第1の実施の形態における目標とする物理マシンのリソース使用量を説明する図である。図5で説明した問題点を解決するために、第1の実施の形態では、図6に示すとおり、目標とする物理マシンのリソース使用量R_USEが、最大リソース容量R_MAXより十分小さく、時間の変化に対して大きく変化せずできる限り一定値に平準化(または平坦化)されるように、仮想マシンの再配置を行う。ここで、一定値に平準化(または平坦化)するとは、物理マシンの仮想マシンにより使用される合計リソース使用量が、時間経過に伴って大きく変化せず可能な限り一定値で推移することを意味する。そして、管理対象の複数の物理マシンが全て、図6のような平坦なリソース使用量R_USEの波形になるようにする。

0026

第1の実施の形態では、前提として、図1に示した通り管理装置が、管理対象の複数の物理マシンと物理マシン上で動作する仮想マシンの動作履歴(リソース使用量の履歴など)をストレージに保存している。なお、管理対象の複数の物理マシンで動作する複数の仮想マシンは管理対象の仮想環境を構成する。

0027

図7は、仮想マシンのリソース使用量の履歴の一例を示す図である。リソース使用量の履歴は、任意の単位時間(例えば1時間など)毎に仮想マシンが使用するリソース使用量を含む。図7のリソース例は、CPUの使用量(毎秒当たりで使用したクロック数など)と、メインメモリの使用量(バイト数)とである。

0028

本実施の形態では、リソース使用量は、例えば各単位時間でのリソース使用量の平均値または最大値である。一例として最大値を採用すると、単位時間が1時間、AM0時からAM1時の間のリソース使用量の履歴がCPUで2.5GHz〜3.0Hz(4コア)、メモリで12GB〜16GBとの場合、その単位時間でのリソース使用量は、CPUが3.0Hz(4コア)、メモリが16GBとなる。

0029

リソース使用量の履歴データは、逐次的に保存される。リソース使用量の波形の周期(所定期間)を24時間とすると、履歴データは、毎日逐次的に保存され、履歴収集時間が複数日(例えば5日間)とすると、各単位時間でのリソース使用量の平均値または最大値が採用される。5日間のAM0時〜AM1時のメモリリソース使用量が13,14,15,11,12GBである場合、この時間帯でのメモリ使用量は平均値の13GBまたは最大値の15GBのいずれかが採用される。

0030

ある物理マシン上で動作する複数の仮想マシンのリソース使用量を合計することで、物理マシンのリソース使用量の履歴データを取得できる。同様に、仮想環境の全ての仮想マシンのリソース使用量または全ての物理マシンのリソース使用量を合計することで、仮想環境全体のリソース使用量を取得できる。

0031

図8は、第1の実施の形態における仮想マシンの最適配置処理のフローチャート図である。管理装置は、仮想マシンの最適配置プログラムを実行して、管理対象の全物理マシンの中から最小空容量を有する物理マシンAを選択する(S1)。ここで、最小空容量を持つ物理マシンとは、単位時間毎のリソース空き容量の所定期間(リソース使用量の波形の周期)内での最小値が最も小さい物理マシンのことである。例えば、図5が物理マシンのリソース使用量を示す場合、横軸の所定期間内での単位時間毎のリソース空き容量の最小値はR2である。よって、最小空容量を持つ物理マシンは、その最小値R2が全物理マシンの中で最小値である。

0032

物理マシンのリソース空き容量は、物理マシンが有するリソースの最大値R_MAXから全仮想マシンの合計リソース使用量R_USEを減じたリソース量である。このリソース空き容量が最も小さい物理マシンは、その物理マシン上で動作しているいずれかの仮想マシンを他の物理マシンに再配置(マイグレーション)することで、物理マシンがリソース不足に陥るリスクを軽減することができる。したがって、上記の物理マシンAを仮想マシンを再配置する対象に選択する。

0033

次に、管理装置は、仮想マシン最適配置プログラムを実行して、物理マシンAで動作中の複数の仮想マシンのうち、物理マシンAの所定期間内でのリソース使用量の波形と類似度が相対的に高い、好ましくは最も高い所定期間内でのリソース使用量の波形を持つ仮想マシンaを選択する(S2)。このような仮想マシンaを物理マシンAから別の物理マシンに再配置(マイグレーション)すると、物理マシンAのリソース使用量の波形がより平坦になるよう平準化される。ここで、平準化とは所定期間内での各単位時間でのリソース使用量の増減が小さくなり、リソース使用量が時間軸に対して均一化することを意味する。

0034

図9は、物理マシンで動作中の複数の仮想マシンから再配置対象の仮想マシンを選択する処理を説明する図である。図9に示された物理マシンPM_Aは上記の物理マシンAである。物理マシンPM_Aで仮想マシンVM11,VM12,VM13が動作中である。一方、図9中のグラフには所定期間Twにおける物理マシンPM_Aのリソース使用量R_USE1が示されている。上記の処理S2では、管理装置は、物理マシンPM_Aのリソース使用量R_USE1の所定期間Twでの波形と最も類似度が高い波形R_USE3を持つ仮想マシンVM13を仮想マシンaとして選択する。

0035

図9に示されるとおり、物理マシンPM_Aから仮想マシンVM13が他の物理マシンに再配置されると、物理マシンPM_Aの波形の高いところは仮想マシンVM13の高いリソース使用量R_USE3が減じられてより大きく低下する。一方、物理マシンPM_Aの波形の低いところは仮想マシンVM13の低いリソース使用量R_USE3が減じられるだけで小さく低下する。その結果、仮想マシンVM3が再配置された後の物理マシンPM_Aのリソース使用量R_USE2の波形は、再配置前の波形R_USE1よりリソース使用量の増減が抑制され、より一定値になるよう平準化される。

0036

次に、管理装置は、物理マシンAを除く全(複数)の物理マシンのうち、仮想マシンaの前記正規リソース使用量の波形と相対的に類似度が低い、好ましくは最も類似度が低いソース使用量の波形を持つ物理マシンBを選択する(S3)。このような物理マシンBに仮想マシンaを再配置(マイグレーション)すると、物理マシンBのリソース使用量の波形をより一定値になるよう平準化できる。なお、この場合、物理マシンBのリソース使用量が仮想マシンaを再配置した後にリソース不足にならないように、物理マシンBを選択する。

0037

図10は、物理マシンAを除く管理対象の複数の物理マシンの中から、仮想マシンaを再配置する物理マシンBを選択する処理を説明する図である。図10に示された物理マシンPM_Bは上記の物理マシンBである。物理マシンPM_Bで仮想マシンVM21,VM22が動作中である。一方、図10のグラフには所定期間Twにおける物理マシンPM_Bのリソース使用量R_USE11が示されている。上記の処理S3では、管理装置は、再配置対象の仮想マシンaである仮想マシンVM13のリソース使用量R_USE3の所定期間Twでの波形と最も類似度が低い波形R_USE11を持つ物理マシンVMPM_Bを物理マシンBに選択する。

0038

図10に示されるとおり、物理マシンPM_Bに仮想マシンVM3が再配置されると、物理マシンPM_Bの波形の高いところは仮想マシンVM3の低いリソース使用量R_USE3が加算されて小さく増加する。一方、物理マシンPM_Bの波形の低いところは仮想マシンVM3の高いリソース使用量R_USE3が加算されて大きく増加する。その結果、仮想マシンVM3が再配置された後の物理マシンPM_Bのリソース使用量R_USE12の波形は、再配置前の波形R_USE11よりリソース使用量の増減が抑制され、より一定値になるよう平準化される。

0039

なお、管理装置は、再配置する仮想マシンVM3のリソース使用量の波形R_USE3と類似度が最も高い空きリソース容量の波形(波形R_USE11を上下逆の波形)を持つ物理マシンBを選択するようにしても良い。空きリソース容量の波形と類似度が高いことは、リソース使用量の波形と類似度が低いこととほとんど等価である。

0040

[波形の類似度]
次に、上記の波形の類似度について説明する。物理マシンでは複数の仮想マシンが動作中であるので、一つの仮想マシンのリソース使用量と複数の仮想マシンが動作中の物理マシンのリソース使用量とでは、スケールが異なる。そこで、本実施の形態では、仮想マシンと物理マシンのリソース使用量を事前に正規化し、正規化リソース使用量の波形の間のユークリッド距離を測って類似度を判定する。ユークリッド距離が近いほど類似度が高いと判定される。

0041

リソース使用量の正規化は、次のようにして計算できる。
第1に、比較対象の物理マシンまたは仮想マシンx,yそれぞれの波形周期内の各単位時間でのリソース使用量(xt,yt)の平均値(xav,yav)を以下の数式で計算する。以下の数式においてtは時間、Tは波形の周期(所定期間)である。時間t=0〜t=Tは、波形の周期の初めから最後までを意味する。

0042

0043

第2に、リソース使用量(xt,yt)の標準偏差(σx,σy)を以下の数式で計算する。

0044

0045

標準偏差σは、リソース使用量と平均値との差分の二乗累積値平方根であり、リソース使用量の分布の平均値の左右の分布の太さを示す。つまり、平均値を中心とするリソース使用量の波形の上下方向の大きさを示す。

0046

第3に、比較対象の物理マシンまたは仮想マシンそれぞれの波形周期内の各単位時間でのリソース使用量(xt,yt)を、次の数式により正規化リソース使用量データ(xnt,ynt)に変換する。

0047

0048

すなわち、各単位時間でのリソース使用量と平均値との差分を標準偏差で除算して正規化リソース使用量を求める。この正規化リソース使用量は、リソース使用量と平均値との差分の波形を、分布の太さである標準偏差で除算するので、正規化リソース使用量の波形の大きさは、概ね-1から+1の間になる。その結果、物理マシンと仮想マシンのそれぞれ正規化リソース使用量の波形の大きさ(スケール)は、ほとんど同じになる。

0049

第4に、比較対象の正規化リソース使用量の波形の間のユークリッド距離dを次の数式により計算する。ユークリッド距離dは、両正規化リソース使用量の各単位時間でのデータ間の差分の二乗の累積値の平方根である。

0050

0051

図11は、ユークリッド距離を説明する図である。図11の左側には、比較対象の正規化リソース使用量の波形が示されている。時間t=0からt=Tまでの各単位時間での正規化リソース使用量の差分の二乗を合計し平方根を求めると、2つの波形のユークリッド距離dを求めることができる。

0052

ユークリッド距離dは、図11の右側に示されるとおり、単位時間t1、t2の二次元座標に波形xと波形yの単位時間t1、t2での値をプロットすると、波形Xの座標点(xt1,xt2)と波形Yの座標点(yt1,yt2)との距離dをピタラス定理により算出した次の数式と同じになる。

0053

0054

図8戻り、管理装置は、仮想マシンの最適配置プログラムを実行して、仮想マシンaを物理マシンAから物理マシンBへ再配置するプランをシミュレーションし、再配置後の物理マシンAとBのリソース使用量を予測する(S4)。そして、管理装置は、再配置の終了判定を行い、終了判定の条件が真であれば仮想マシンの再配置を実行し、終了判定条件であれば処理S2-S4を繰り返す(S5)。処理S5での仮想マシンの再配置は、複数回繰り返された処理S2-S4で選択したすべての仮想マシンの再配置プランを順番に実行する。

0055

[最適配置の要否判定と最適配置の終了判定]
次に、本実施の形態における物理マシンのリソース使用量の波形の平準化の評価方法について説明する。以下に説明する平準化の評価値ρを利用して、仮想マシンの最適配置処理の開始判定と終了判定を行う。

0056

波形が平準化されているということは、単純に言えば波形の大きさが小さいことである。そこで、波形の大きさ(波形の平準化の評価値)Wを次の数式により算出する。

0057

0058

図12は、上記の波形の大きさWを説明する図である。上記の数式による波形の大きさWは、リソース使用量の波形と平均値の波形との間のユークリッド距離の長さと同じである。すなわち、図12に示したリソース使用量xtの波形と平均値xavの波形との間のユークリッド距離は、各単位時間でのリソース使用量xtと平均値xavとの差分の二乗の累積値の平方根である。

0059

そして、仮想環境全体で単位時間毎のリソース使用量にある程度の偏り(波形の大きさ)があることを考慮すると、全物理マシンの平準化の評価値ρは、以下の数式に示されるとおりである。

0060

0061

図13は、全物理マシンの平準化の評価値ρを説明する図である。図13の左側には仮想環境全体のリソース使用量Wallの例が示される。これは、仮想環境内の全物理マシンのリソース使用量の和である。一方、図13の右側には、仮想環境内の4つの物理マシンそれぞれのリソース使用量Wp1〜Wp4の例が示されている。各物理マシンのリソース使用量の波形は、大きさと極性がそれぞれ異なっている。したがって、全物理マシンの波形の大きさWp1〜WpAの合計は、仮想環境内の全物理マシンのリソース使用量の和Wallよりも大きくなる。

0062

そして、上記の数式による全物理マシンの平準化の評価値ρは、仮想環境全体の全物理マシンそれぞれのリソース使用量の波形の大きさの和(Wall = Wp1 + Wp2 +・・ + WpA)を仮想環境全体のリソース使用量の和(全物理マシンのリソース使用量の合計)Wallで除した割合である。この理由は、次の通りである。仮想マシンをどの物理マシンに再配置しても仮想環境全体のリソース使用量の波形Wallは変化しない。しかし、仮想マシンの物理マシンへの配置を最適にすると、各物理マシンの波形の大きさをより一定に、つまり平準化することができ、その場合の平準化の評価値ρはより小さくなる。一方、仮想マシンの物理マシンへの配置が不適切であると、各物理マシンの波形の大きさが平準化されず、一部の物理マシンの波形は大きくなる。その場合、平準化の評価値ρは大きくなる。これが、全物理マシンの平準化の評価値ρである。

0063

本実施の形態では、上記の平準化の評価値ρに基づいて、仮想環境で仮想マシンを再配置すべきか否かの仮想マシン最適配置処理の開始条件と、終了条件を定める。例えば、開始条件は、平準化評価値ρが開始の基準値ρxより大きいこと、または前回の最適配置処理での平準化評価値ρよりも現在の指標が悪化(増大)していること等にする。また、第1の終了条件は、平準化評価値ρが終了の基準値より小さくなったこと、または、平準化評価値ρの減少が止まったこと等にする。

0064

第2の終了条件として、仮想マシンの再配置処理を繰り返し行う過程で物理マシンの最小空容量の増大が止まったことにする。仮想マシンの再配置処理を行うと、図9に示したとおり、物理マシンAの最小空き容量が増大する。物理マシンの最小空容量とは、前述したとおり、各物理マシンの単位時間毎のリソース空き容量の最小値が全物理マシン中最も小さい物理マシンのリソース空き容量の最小値である。

0065

この最小空容量が増大することで、業務アプリケーションの業務量が急増しても物理マシンAの使用可能なリソース容量(最大リソース容量)を超える可能性を抑制することができる。したがって、第2の終了条件として、仮想マシンの再配置処理を繰り返し行う過程で物理マシンの最小空容量の増大が止まったことにする。それ以上再配置処理を行っても最小空容量が増大する可能性が低いからである。

0066

第1の終了条件と第2の終了条件は、例えば、いずれかの終了条件が真になったか否かで判定する、両方の終了条件が真になったか否かで判定する、第1の終了条件を優先し、第2の終了条件はオプションとして利用するなど、様々な組み合わせが適用できる。

0067

[仮想マシンの再配置の実行タイミング
図8に示したとおり、仮想マシンの最適配置処理では、仮想マシンの再配置案を検出し、そのシミュレーションを行い、更に、仮想マシンの再配置が必要か否かの終了判定を行う。そして終了判定で終了条件を満たす場合に、仮想マシンの再配置案を一括で実行する。この理由は、仮想マシンの最適配置処理の終了条件として第1の終了条件(ρの低下が停止)と、第2の終了条件(最小空容量の増加が停止)とを組み合わせた場合、ρの低下が停止し且つ最小空容量の増加が停止したことを検出した場合、直近の再配置案を実行するとρが増加に転じたり、最小空容量が低下に転じたりすることになる。そこで、直近の再配置案より前の再配置案まで実行するほうが好ましい場合がある。

0068

例えば、第1の終了条件をρが1回でも増加すると終了する、第2の終了条件を最小空容量が2回連続して低下すると終了すると設定し、第1、第2の終了条件のいずれかが真になることを最適配置処理の終了条件とした場合を想定する。この場合、第1の終了条件(ρが一回でも増加すると終了)と第2の終了条件(最小空容量が2回連続して低下すると終了)とが同時に真になると、直前の再配置案より2回前の再配置案まで実行することで、物理マシンの最小空容量が最大になる状態にすることができる。または、直前の再配置案より1回前の再配置案まで実行することで、物理マシンのリソース使用量の平準化が最も進んだ状態にすることができる。いずれを選択するかは、仮想マシンの最適配置処理の評価基準に依存する。終了条件については、後で再度説明する。

0069

[仮想マシンの最適配置処理の実行タイミング]
仮想マシンの最適配置処理を行って全物理マシンのリソース使用量を平準化する実行タイミングは、例えば、以下の3つが考えられる。第1に、一定時間間隔で定期的に実行する。この一定時間間隔は、例えば1週間毎に、1か月毎になどである。

0070

第2に、オートスケールアウト等により仮想マシンの再配置が行われて、各物理マシンで動作する仮想マシンの構成に変化が発生したときに実行する。オートスケールアウトは、物理マシンのリソース使用量が最大値に近づいたことを検出して、自動的にその物理マシン上で動作する一部の仮想マシンを別の物理マシンに再配置(マイグレーション)するハイパーバイザが有する機能である。

0071

第3に、管理装置が、物理マシンの空きリソースが枯渇するなどリソース不足を検出した場合である。

0072

本実施の形態では、上記の実行タイミングで仮想マシンの最適配置処理を開始し、上記の最適配置処理の開始条件を満たしていれば、最適配置処理を実行する。そして、最適配置処理の過程で終了条件を満たせば最適配置処理を終了する。

0073

[第2の実施の形態]
仮想環境全体のリソース使用量が、ある時間帯では非常に大きくなり別の時間帯では非常に小さくなるなど、大きな偏りがある場合、物理マシンのリソース使用量の波形を平坦に、つまり平準化しようとすると、他の物理マシンにその偏りが集中する。そこで、第2の実施の形態では、各物理マシンのリソース使用量の波形を、仮想環境全体のリソース使用量の波形(目標波形)に近づけるように仮想マシンの再配置を行う。このような再配置を行えば、全物理マシンのリソース使用量の波形が目標波形に近い波形で均衡が取れることになる。

0074

図14は、仮想環境全体のリソース使用量に大きな偏りがある場合の例を示す図である。図14の左側に仮想環境全体のリソース使用量を示す。これによれば、仮想環境全体のリソース使用量の増減が時間帯によって極端に偏っている。この場合、第1の実施の形態の処理S2,S3を実行すると、図14の右側に示す各物理マシンのリソース使用量の波形のように、物理マシンPM1,PM2,PM3のリソース使用量の波形は平坦化されたが、その分物理マシンPM4のリソース使用量の波形が大きく変化する形状になっている。

0075

このように、第1の実施の形態の処理S2,S3による物理マシン毎にリソース使用量を平坦化、つまり平準化するという考えは、常に最適な方法であるとはいえず、仮想化環境全体のリソース使用量の偏りをある程度許容する方法を採用することが必要となる。

0076

図15は、第2の実施の形態により仮想マシンの最適配置を行った場合の例を示す図である。第2の実施の形態では、各物理マシンPM1〜PM4のリソース使用量の波形を、仮想環境全体のリソース使用量の波形(目標波形)に近づけるように仮想マシンの再配置を行う。その結果、仮想環境全体のリソース使用量の波形の偏りを、その程度を縮小して全物理マシンのリソース使用量の波形に分配し、全物理マシンの波形を現実的なレベルに平坦化、つまり平準化することができる。図示されるとおり、全物理マシンの波形は、仮想環境全体の波形の偏りの程度を縮小した偏りを有しながらそれぞれ平準化される。

0077

図16は、第2の実施の形態における仮想マシンの最適配置処理のフローチャート図である。管理装置は、仮想マシンの最適配置プログラムを実行して、管理対象の全物理マシンの中から単位時間毎のリソース空き容量の所定期間(リソース使用量の波形の周期)内での最小値が最も小さい物理マシンAを選択する(S11)。この処理S11は図8の処理S1と同じである。

0078

次に、管理装置は、物理マシンAの正規化リソース使用量の波形xntから仮想環境全体の正規化リソース使用量の波形xall_ntを減じた差分波形(xnt - xall_nt)と相対的に類似度が高い、好ましくは最も類似度の高い、正規化リソース使用量の波形を持つ仮想マシンaを選択する(S12)。このような仮想マシンaを物理マシンAから別の物理マシンに再配置(マイグレーション)すると、物理マシンAのリソース使用量の波形xntをより目標波形xall_ntの波形に近づけることができる。

0079

図17は、物理マシンで動作中の複数の仮想マシンから再配置対象の仮想マシンを選択する処理S12を説明する図である。管理装置は、仮想環境全体の正規化リソース使用量の波形xall_ntと物理マシンで動作中の全ての仮想マシンの正規化リソース使用量の波形xntを求め、差分波形(xnt-xall_nt)と最も類似度の高い正規化リソース使用量の波形を持つ仮想マシンaを選択する。仮想環境全体のリソース使用量の波形と仮想マシンのリソース使用量の波形とは、スケールの違いが大きいので、第1の実施の形態での波形の類似度と同様に、正規化リソース使用量の波形で、2つの波形のユークリッド距離が小さい程類似度が高いと判定する。

0080

次に、管理装置は、仮想環境全体の正規化リソース使用量の波形xall_ntから物理マシンA以外の物理マシンの正規化リソース使用量xntを減じた差分波形(xall_nt - xnt)を計算する。そして、管理装置は、仮想マシンaの正規化リソース使用量の波形xnt波形と、相対的に類似度が高い、好ましくは最も類似度の高い、差分波形を持つ物理マシンBを選択する (S13)。このような物理マシンBに仮想マシンaを再配置(マイグレーション)すると、物理マシンBの波形を目標波形xall_ntに近づけることができる。

0081

図18は、再配置対象の仮想マシンの再配置先の物理マシンを選択する処理S13を説明する図である。管理装置は、差分波形(xall_nt - xnt)を計算し、再配置される仮想マシンaの波形xntと最も類似度の高い差分波形を持つ物理マシンBを、仮想マシンaの再配置先の物理マシンに選択する。ここで、差分波形の差分計算の方向が図17の場合と逆の関係にあることに留意すべきである。図17の場合は、物理マシンAの波形xntから差分波形(xnt - xall_nt)と最も類似する仮想マシンaの波形を除去すると(xnt-(xnt - xall_nt)= xall_nt)、目標波形xall_ntに近づく。それに対して、図18の場合は、物理マシンBの波形xntに差分波形(xall_nt- xnt)と最も類似する仮想マシンaの波形を加えると(xnt + (xall_nt - xnt) = xall_nt)、この場合も目標波形xall_ntに近づく。

0082

図16に戻り、管理装置は、仮想マシンaを物理マシンAから物理マシンBへ再配置する案をシミュレーションし、再配置後の物理マシンAとBのリソース使用量を予測する(S14)。そして、管理装置は、再配置の終了判定を行い、終了判定の条件が真であれば仮想マシンの再配置を実行し、終了判定条件が偽であれば処理S2-S4を繰り返す(S15)。これらの処理S14,S15は、図8の処理S4,S5と同じである。

0083

[全体のフローチャート例]
図19は、第1及び第2の実施の形態の具体的処理の全体フローチャート例を示す図である。最初に、全物理マシンの平準化の評価値ρの基準値ρxに初期値、例えばρx=0を設定する。開始条件は、現在の標準化の評価値が基準値ρxを超えることとし、また終了条件として、第1の終了条件の平準化の評価値ρが上昇したことと、第2の終了条件の最小空容量Xが2回連続で下降したことのいずれかが真になった場合とした。

0084

管理装置は、仮想マシンの最適配置プログラムを実行して、第1の実施の形態の物理マシンのリソース使用量の平準化処理を実行するタイミングにマッチするか否か判定し(S21)、マッチすれば、平準化処理の要否判定(前述の開始判定)を行う(S22)。実行タイミングの例は前述の3つの例である。また、平準化処理の要否判定は、前述の現在の平準化の評価値ρが基準値ρxより大きいか否かである。

0085

この開始条件である平準化処理の要否判定は、主として、前回の平準化処理により得られた平準化の評価値が基準値ρxに代入され、その後評価値が悪化し、現在の平準化の評価値ρがρ>ρxとなったか否かの判定である。悪化していれば(S22の真(True))、仮想マシンの最適配置処理S23-S34を実行して全物理マシンのリソース使用量の平準化を行う。悪化していなければ(S22の偽(False))、平準化処理を行わずに終了する。また、初回は、現在の平準化の評価値ρが基準値の初期値ρx=0より大きいか否かの判定であり、判定結果は常に真(True)になる。

0086

平準化処理の要否判定(開始条件の判定)は、現在の最小空容量が所定の基準値より大きいか否かまたは現在の最小空容量が前回再配置時より悪化したか否かにより行っても良い。さらに、平準化の評価値ρまたは最小空容量のいずれかが上記の条件にマッチするか否かにより行っても良い。または、平準化の評価値ρ及び最小空容量の両方が上記の条件にマッチするか否かにより行っても良い。

0087

そして、管理装置は、再配置回数iを初期値0に設定する(S23)。また、再配置回数iでの平準化評価値ρiに現在の値を代入し、最小空容量Xiに現在の最小空容量を代入する(S24)。ここまでは、一連初期化処理である。

0088

次に、管理装置は、再配置回数i+1(初回はi+1=1)番目の再配置プランを生成する(S25)。この処理S25は、第1の実施の形態の図8の処理S1,S2,S3、または、第2の実施の形態の図16の処理S11,S12,S13のいずれかである。いずれの処理を選択した場合でも、管理装置は、「物理マシンAの仮想マシンaを物理マシンBに再配置(マイグレーション)する」という再配置プランを生成し、再配置データに追加する。

0089

処理S25として、第1の実施の形態の物理マシンのリソース使用量の波形を平準化(平坦化)する再配置か、第2の実施の形態の物理マシンのリソース使用量の波形を仮想環境全体の波形に近づける再配置かのいずれを選択するかは、例えば、仮想環境全体の波形の性質に基づいて行う。すなわち、図14に示したように仮想環境全体の波形の偏りが基準値より小さい場合は第1の実施の形態を選択し、基準値より大きい場合は第2の実施の形態を選択する。

0090

そして、管理装置は、S25で生成した再配置プランをシミュレーションし、再配置回数i+1番目までの再配置プランを実行した場合の平準化の評価値ρを算出し、再配置回数i+1番目での評価値ρi+1に代入する。さらに、管理装置は、再配置回数i+1番目まで実行した場合の最小空容量を算出し、再配置回数i+1番目での最小空容量Xi+1に代入する(S26)。

0091

次に、管理装置は、再配置回数i+1で平準化処理を終了するか否かの判定(終了条件の判定)を行う(S27,S28)。終了条件の判定では、管理装置は、再配置回数i+1まで実行した場合の平準化の評価値ρi+1が、再配置回数iまで実行した場合の平準化の評価値ρiより大きいか、ρi+1>ρi、を判定する(S27)。つまり、平準化処理を開始すると波形が平準化(平坦化)されて、平準化の評価値ρは徐々に低下するが、ある程度平準化が進むと評価値ρは上昇する性質を有する。そこで、管理装置は、平準化の評価値ρが低下していれば平準化処理の継続を決定し(S27の偽(False))、次の再配置回数i+2の再配置プランを生成するが、上昇すると平準化処理の継続を停止する決定をする(S27の真(True))。

0092

さらに、管理装置は、S27で偽(False)の場合、更に、i≧1且つ最小空容量についてXi-1>Xi且つXi+1>Xiが真か否か判定する(S28)。すなわち、平準化処理を開始すると図9に示した通り最小空容量を有していた物理マシンの最小空容量は増加するが、ある程度平準化が進むと最小空容量は減少する性質を有する。そこで、管理装置は、最小空容量Xiが2回連続減少した場合、平準化処理の継続を停止する決定をし(S28の真(True))、最小空容量が2回連続減少していなければ平準化処理の継続を決定する(S28の偽(False))。2回連続減少したか否かの判定は、平準化処理を開始すると最小空容量は増加するので、2回連続して減少すればそれ以上の平準化処理を行っても最小空容量の増加は見込めないからである。2回連続は3回連続またはそれ以上連続でも良いし、1回だけ減少でもよい。

0093

S27,S28が共に偽であれば、管理装置は、再配置回数をi=i+1とインクリメントし(S29)、処理S25-S28を繰り返す。S27,S28のいずれかが真であれば、管理装置は、最小最適化容量が最大となった再配置回数までの再配置プランを実行する(S30)。

0094

すなわち、管理装置は、再配置回数0〜iで最小空容量Xiが最大となる再配置回数iを検出し、変数αに代入する(S30)。そして、管理装置は、変数αが0の場合でなければ(S31の偽(False))、再配置回数α番目までの再配置プランを実行する(S32)。

0095

図20は、仮想マシンの再配置プランを実行する場合のユーザに対する確認画面例を示す図である。管理装置が、仮想マシンの最適配置処理中、再配置回数がα番目までの再配置プランを実行する前に、図20に示すようなユーザ確認画面ユーザ端末に送信し、ユーザの承諾を得るようにするのが好ましい。この確認画面では、再配置プランで再配置されるVMゲスト名(仮想マシンaの名)、現在のVMホスト名(物理マシンAの名)、移動後のVMホスト名(物理マシンBの名)が示される。ユーザは、この確認画面で仮想マシンの再配置の要否を確認し、承諾または拒否のいずれかを管理装置に返信する。

0096

そして、管理装置は、平準化評価値の基準値ρxに再配置回数α-1での平準化評価値ρα-1を代入して(ρx=ρα-1)、今回の仮想マシン最適配置処理(平準化処理)を終了する。なお、変数αがα=0の場合は、再配置回数0回目から一度も最小空容量が増加しなかったことを意味するので、管理装置は、最適化不可の警告を表示する(S34)。

0097

その後、平準化実行タイミングになると(S21の真(True))、管理装置は、処理S22-S33を実行する。このように、平準化実行タイミングになると、その都度、平準化要否判定が真であれば、仮想マシンの再配置処理による最適配置処理(平準化処理)を実行する。

0098

図21は、仮想マシンの再配置の実行履歴の一例を示す図である。管理装置は、仮想マシンの再配置(S32)を実行すると、図21に示すとおり、その実行履歴を実行日時、仮想マシン名、移動元物理マシン名、移動先物理マシン例、平準化評価値ρの変化、最小空容量の変化などを記録する。

0099

図19において、終了判定として、S27とS28のいずれかが真になると処理S25,S26の繰り返しを終了したが、S27及びS28が共に真になると処理S25,S26の繰り返しを終了するようにしてもよい。その場合、S27とS28が同時に真になることが少ない場合があるので、S27とS28がいずれかの再配置回数で真になると処理S25,S26の繰り返しを終了するようにしてもよい。

0100

[仮想マシンの最適配置の具体例]
次に、第1の実施の形態の場合の仮想マシンの最適配置の具体例を示す。まず、管理装置は、そのデータベースに、仮想マシンと物理マシンの対応テーブルと仮想マシンの動作履歴テーブルとを保持する。

0101

図22は、管理装置のデータベース内の仮想マシンと物理マシンの対応テーブル30と、仮想マシンの動作履歴テーブル32の一例を示す図である。仮想マシンと物理マシンの対応テーブル30には、仮想環境内の全仮想マシンと物理マシンとの対応関係が保存される。また、仮想マシンの動作履歴テーブル32には、全仮想マシンについてCPU使用量とメモリ使用量などのリソース使用量のログタイムスタンプと共に保存される。

0102

図23は、物理マシンPM1〜PM4の仮想マシンVMのリソース使用量の具体例を示す図である。リソース使用量は、時間0〜23それぞれの単位時間における平均値または最大値である。また、各物理マシンPMの最大使用可能なリソース量は100とする。図23図表において、物理マシンPM2の単位時間15での合計リソース使用量「77」が最大であり、その場合の空リソース容量は100−77=33と4つの物理マシン内で最小値である。

0103

図24及び図25は、管理装置による仮想マシンの最適配置処理(再配置処理)における各処理で求められる値や状態を示す図である。

0104

管理装置は、まず、図23のリソース使用量の履歴に基づいて、各物理マシンのリソース使用量の波形の大きさの、仮想環境全体のリソース使用量の波形の大きさに対する割合である平準化の評価値ρ0(0は再配置回数i=0を意味する)を求めて、平準化処理の要否判定を行う(S22)。図24の図表40には、物理マシンPM1-PM4のリソース使用量の波形の大きさが示される。これに基づいて、管理装置は、評価値ρ0=1.75を算出する。初回では、評価値ρは初期値ρx=0よりも大きい(ρ0>ρx)ので、管理装置は平準化処理の実行を決定する(S22のTrue)。

0105

次に、管理装置は、図23のリソース使用量の履歴に基づいて、全物理マシンの中で単位時間毎のリソース空き容量の最小値が最も小さい物理マシン(最小空容量の物理マシン)を選択する(S25のS1)。その結果、物理マシンPM2であることを検出する。前述したとおり、物理マシンPM2は、単位時間15におけるリソース使用量が77.0であり、リソース空き容量が23.0と最も小さい。

0106

そこで、管理装置は、物理マシンPM2で動作する複数の仮想マシンVM_b1〜VM_d6のうち、物理マシンPMの正規化リソース使用量の波形と最も類似度が高い波形を有する仮想マシンを探す(S25のS2)。図24の図表42には、仮想マシンVM_b1〜VM_b6それぞれの物理マシンPM2の波形との類似度(実際はユークリッド距離)が示される。これによれば、仮想マシンVM_b2が物理マシンPM2の波形とユークリッド距離が最も短く、波形の類似度が最も高いので、管理装置は、仮想マシンVM_b2を再配置対象の仮想マシンaに選ぶ。

0107

さらに、管理装置は、物理マシンPM2以外の別の物理マシンPM1,PM3,PM4の中から、再配置対象の仮想マシンaの正規化リソース使用量の波形と最も非類似(ユークリッド距離が最も長い)の物理マシンを選択する(S25のS3)。図24の図表44には、再配置対象の仮想マシンVM_b2の物理マシンPM1,PM3,PM4それぞれとの類似度(実際にはユークリッド距離)が示される。これによれば、物理マシンPM3が最もユークリッド距離が長く、最も非類似であるので、管理装置は、仮想マシンVM_b2の再配置先として物理マシンPM3を選択する。

0108

次に、管理装置は、仮想マシンVM_b2を物理マシンPM2からPM3への再配置(マイグレーション)プランをシミュレーションする(S26)。

0109

図25は、仮想マシンVM_b2が物理マシンPM2から物理マシンPM3に再配置された後の仮想マシンと物理マシンのリソース使用量のデータ等を示す図である。図25の図表46に示されるとおり、この仮想マシンVM_b2の再配置により、物理マシンPM2とPM3のリソース使用量が変化する。すなわち、図表46は再配置プランをシミュレーションした結果である。

0110

そこで、管理装置は、終了判定S27,S28を実行する。まず、第1の終了判定S27を実行すると、図25の図表48に示されるとおり、物理マシンPM2はリソース使用量の波形の大きさが246.99から158.86に減少、物理マシンPM3はリソース使用量の波形の大きさが364.59から332.46に減少する。その結果、再配置回数i=1での平準化評価値ρ1はρ1=1.53に減少する(ρ0=1.75)。したがって、管理装置は、終了判定S27は偽(False)となり再配置処理の継続と判定する。

0111

一方、第2の終了判定S28は2回分の再配置による最小空容量Xiのデータに対して判定するので、1回目の再配置処理では、管理装置は、判定を行わず、終了判定S28でも再配置処理の継続と判定する。

0112

図25の図表50は、再配置回数i=0,1での再配置シミュレーション結果と共に、再配置回数i=2以降の再配置シミュレーション結果が示される。これによれば、管理装置は、再配置回数i=4回目で平準化評価値ρが1.16から1.17と増加した為、第1の終了判定S27で再配置処理の終了と判定し、再配置候補は、再配置回数i=1〜3のいずれかまでとなる。そして、再配置回数i=1〜3の中で最小空容量が最も大きくなるのは、i=2回目の物理マシンPM1の34.6である。したがって、管理装置は、再配置回数i=2までの再配置プラン(i=1,2の再配置プラン)を実行し(S32)、平準化処理を終了する。

0113

以上のとおり、本実施の形態によれば、仮想環境下の全物理マシンのリソース使用量の波形を可能な限り平準化(平坦化)することができる。したがって、仮想マシンのリソース使用量の急増が発生してもリソース不足に陥る可能性を抑制でき、物理マシンのリソース使用量が過剰に低下することがなく物理マシンのリソースを仮想マシンに効率的に使用させることができる。

0114

以上の実施の形態をまとめると,次の付記のとおりである。

0115

(付記1)
管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間毎のリソース使用量を記憶し、
前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、
前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量の第1波形と類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択し、
前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に低い前記正規化リソース使用量の第3波形を持つ第2物理マシンを選択し、
前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する、
処理をコンピュータに実行させる仮想マシン管理プログラム。

0116

(付記2)
前記正規化リソース使用量を、前記所定期間内での単位時間毎のリソース使用量と前記単位時間毎のリソース使用量の平均値との差分を、前記所定期間内の単位時間毎のリソース使用量の標準偏差で除して算出する、付記1に記載の仮想マシン管理プログラム。

0117

(付記3)
前記類似度を、前記第1波形と第2波形同士、または前記第2波形と第3波形同士の前記単位時間毎の差分の二乗の累積値の平方根であるユークリッド距離が近い程類似する、遠い程類似しないと判定する、付記1に記載の仮想マシン管理プログラム。

0118

(付記4)
管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間ごとのリソース使用量を記憶し、
前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、
前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量から、前記複数の物理マシンの前記所定期間内での単位時間毎の合計リソース使用量を正規化した正規化合計リソース使用量を減じた第1差分波形と、類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択し、
前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に高い第2差分波形を持つ第2物理マシンを選択し、前記第2差分波形は前記正規化合計リソース使用量から第2物理マシンの前記正規化リソース使用量を減じて求められ、
前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する、
処理をコンピュータに実行させる仮想マシン管理プログラム。

0119

(付記5)
前記正規化リソース使用量を、前記所定期間内での単位時間毎のリソース使用量と前記単位時間毎のリソース使用量の平均値との差分を、前記所定期間内の単位時間毎のリソース使用量の標準偏差で除して算出し、
前記正規化合計リソース使用量を、前記所定期間内での単位時間毎の合計リソース使用量と前記単位時間毎の合計リソース使用量の平均値との差分を、前記所定期間内の単位時間毎の合計リソース使用量の標準偏差で除して算出する、付記4に記載の仮想マシン管理プログラム。

0120

(付記6)
前記類似度を、前記第1差分波形と第2波形同士、または前記第2波形と第2差分波形同士の前記単位時間毎の差分の二乗の累積値の平方根であるユークリッド距離が近い程類似する、遠い程類似しないと判定する、付記4に記載の仮想マシン管理プログラム。

0121

(付記7)
前記処理は、更に、
前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置した場合の前記複数の仮想マシン及び複数の物理マシンの単位時間毎のリソース使用量を算出し、
前記算出リソース使用量に基づいて計算した、前記複数の物理マシンそれぞれの前記所定期間内の単位時間毎のリソース使用量と前記リソース使用量の平均値とのユークリッド距離である第1波形サイズの合計値の、前記複数の物理マシンの前記所定期間内の単位時間毎の合計リソース使用量と前記合計リソース使用量の平均値とのユークリッド距離である第2波形サイズに対する、割合が、所定の状態に低下するか否かの第1判定を行い、
前記第1判定が真になるまで、前記第1物理マシンの選択と、前記第1仮想マシンの選択と、前記第2物理マシンの選択と、前記リソース使用量の算出とを繰り返すこと、を有する付記1または4に記載の仮想マシン管理プログラム。

0122

(付記8)
前記処理は、更に、
前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置した場合の前記複数の仮想マシン及び複数の物理マシンの単位時間毎のリソース使用量を算出し、
前記算出リソース使用量に基づいて計算した、前記単位時間毎の物理マシンの空きリソース量の第1最小値が、前記複数の物理マシン中で最も小さい物理マシンの、前記第1最小値である第2最小値が、上昇から下降に転じるか否か第2判定を行い、
前記第2判定が真になるまで、前記第1物理マシンの選択と、前記第1仮想マシンの選択と、前記第2物理マシンの選択と、前記リソース使用量の算出とを繰り返すこと、を有する付記1または4に記載の仮想マシン管理プログラム。

0123

(付記9)
前記処理は、更に、
前記算出リソース使用量に基づいて計算した、前記単位時間毎の物理マシンの空きリソース量の第1最小値が、前記複数の物理マシン中で最も小さい物理マシンの、前記第1最小値である第2最小値が、上昇から下降に転じるか否か第2判定を行い、
前記第1判定に加えて前記第2判定も真になるまで、前記第1物理マシンの選択と、前記第1仮想マシンの選択と、前記第2物理マシンの選択と、前記リソース使用量の算出とを繰り返すこと、を有する付記7に記載の仮想マシン管理プログラム。

0124

(付記10)
前記繰り返された複数の繰り返し回数それぞれでの前記第2最小値のうち最大値になる繰り返し回数まで、前記再配置する処理を、繰り返し実行する、付記1または4に記載の仮想マシン管理プログラム。

0125

(付記11)
管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間毎のリソース使用量を記憶し、
前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、
前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量の第1波形と類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択し、
前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に低い前記正規化リソース使用量の第3波形を持つ第2物理マシンを選択し、
前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する、
処理を有する仮想マシン管理方法。

0126

(付記12)
管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間ごとのリソース使用量を記憶し、
前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択し、
前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量から、前記複数の物理マシンの前記所定期間内での単位時間毎の合計リソース使用量を正規化した正規化合計リソース使用量を減じた第1差分波形と、類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択し、
前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に高い第2差分波形(前記正規化合計リソース使用量から第2物理マシンの前記正規化リソース使用量を減じた第2差分波形)を持つ第2物理マシンを選択し、前記第2差分波形は前記正規化合計リソース使用量から第2物理マシンの前記正規化リソース使用量を減じて求められ、
前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する、
処理を有する仮想マシン管理方法。

0127

(付記13)
管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間毎のリソース使用量を記憶するリソース使用量記憶手段と、
前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択する第1物理マシン選択手段と、
前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量の第1波形と類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択する第1仮想マシン選択手段と、
前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に低い前記正規化リソース使用量の第3波形を持つ第2物理マシンを選択する第2物理マシン選択手段と、
前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する再配置手段と、を有する仮想マシン管理装置。

0128

(付記14)
管理対象の物理マシン群内の複数の物理マシンそれぞれに配備された複数の仮想マシン及び前記複数の物理マシンの、単位時間ごとのリソース使用量を記憶するリソース使用量記憶手段と、
前記複数の物理マシンのうち、所定期間内での前記単位時間毎のリソース空き容量の最小値が最も小さい第1物理マシンを選択する第1物理マシン選択手段と、
前記第1物理マシンで動作中の複数の仮想マシンのうち、前記第1物理マシンの前記所定期間内での単位時間毎のリソース使用量を正規化した正規化リソース使用量から、前記複数の物理マシンの前記所定期間内での単位時間毎の合計リソース使用量を正規化した正規化合計リソース使用量を減じた第1差分波形と、類似度が相対的に高い前記正規化リソース使用量の第2波形を持つ第1仮想マシンを選択する第1仮想マシン選択手段と、
前記第1物理マシンを除く前記複数の物理マシンのうち、前記第1仮想マシンの前記正規化リソース使用量の第2波形と類似度が相対的に高い第2差分波形(前記正規化合計リソース使用量から第2物理マシンの前記正規化リソース使用量を減じた第2差分波形)を持つ第2物理マシンを選択する第2物理マシン選択手段と、前記第2差分波形は前記正規化合計リソース使用量から第2物理マシンの前記正規化リソース使用量を減じて求められ、
前記第1仮想マシンを前記第1物理マシンから前記第2物理マシンに再配置する再配置手段と、を有する仮想マシン管理装置。

0129

PM:物理マシン、コンピュータ、情報処理装置
VM:仮想マシン
HV:ハイパーバイザ、仮想化プログラム
CPU:プロセッサ
MEM:メインメモリ、メモリ
NW:ネットワーク
1:管理装置
2:管理対象の物理マシン群
13:仮想マシン管理プログラム
14:ユーザポータルサイト
15:VMコンフィグレーションファイル、VM動作履歴データベース
R_MAX:物理マシンのリソース量(最大使用量
R_USED:物理マシンのリソース使用量
xav:波形の平均値
xnt:正規化リソース使用量の波形
W:波形の大きさ
ρ:平準化の評価値

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ