JPWO2013171944A1 - 仮想マシン管理システム、仮想マシン管理方法およびプログラム - Google Patents

仮想マシン管理システム、仮想マシン管理方法およびプログラム Download PDF

Info

Publication number
JPWO2013171944A1
JPWO2013171944A1 JP2014515462A JP2014515462A JPWO2013171944A1 JP WO2013171944 A1 JPWO2013171944 A1 JP WO2013171944A1 JP 2014515462 A JP2014515462 A JP 2014515462A JP 2014515462 A JP2014515462 A JP 2014515462A JP WO2013171944 A1 JPWO2013171944 A1 JP WO2013171944A1
Authority
JP
Japan
Prior art keywords
virtual machine
migration
deployment
destination
lowest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014515462A
Other languages
English (en)
Inventor
雅也 藤若
雅也 藤若
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014515462A priority Critical patent/JPWO2013171944A1/ja
Publication of JPWO2013171944A1 publication Critical patent/JPWO2013171944A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Abstract

仮想マシン管理システム(1)は、仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理する管理部(102)と、配備する第2仮想マシンがあるとき、第2仮想マシンの配備先候補毎に、配備による影響を考慮して、仮想マシンの移行先を探索する探索部(104)と、配備先候補毎に、移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、配備によって生じる移行リスクの変化分を算出する算出部(105)と、移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を配備先に決定する決定部(106)と、を備える。

Description

本発明は、仮想マシン管理システム、仮想マシン管理方法およびプログラムに関し、特に、仮想マシンの配備を管理する仮想マシン管理システム、仮想マシン管理方法およびプログラムに関する。
現在、仮想化環境ではシステムの過負荷状態を回避するためにシステム上の仮想マシンを別のシステム上へ動的に移行するライブマイグレーションと呼ばれる技術が用いられている。
しかしながら、移行の実行自体にCPU(Central Processing Unit)やネットワークI/O(Input/Output)のバースト的なオーバーヘッドが発生するため、システムの過負荷状態を悪化させることや、ネットワーク帯域を占有し他のシステムへ影響を与える可能性がある。さらに、移行中は仮想マシンを一定時間、停止させる必要があり、また移行のオーバーヘッドによるリソース不足などによりサービスの品質を落とす可能性がある。
そのため、仮想環境における運用では他のシステムへの影響を抑えるために仮想マシンの移行先を同一ラック内に制限する場合もある。これは、移行の影響をラック内に限定できるためである。また、ブレードサーバなどは複数のブレードサーバを1つの筐体に収納する形をとるが、移行の範囲を筐体内のみに限定すればより移行の影響範囲を抑えることができる。しかしながら、移行の範囲を限定することはシステム全体の柔軟性を制限することにつながり、たとえば、過負荷状態からの回避を困難にする可能性がある。
仮想マシン移動管理サーバの一例が特許文献1に記載されている。特許文献1の仮想マシン移動管理サーバは、仮想マシン同士の性能情報の相関関係を考慮して仮想マシンを物理マシンに配備することで、定期的に最適化を行い、移行の発生を防止する。
また、特許文献2には、物理マシンの負荷の変動傾向を分析することにより、一時的なゆらぎで不要な移行が行われないようにするサーバ管理装置が記載されている。
特開2010−117760号公報 特開2011−090594号公報
上述した仮想マシン管理装置においては、仮想マシン同士の性能情報に相関性がない場合や、仮想マシンの負荷の傾向が予測できない場合は想定されていないため、将来の移行にかかる移行コストを抑えることができないという問題点があった。そもそも将来の移行にかかる移行コスト自体が考慮されていなかった。
本発明の目的は、上述した課題である移行コストを抑えることができないという問題点を解決する仮想マシン管理システム、仮想マシン管理方法およびプログラムを提供することにある。
本発明の仮想マシン管理システムは、
少なくとも一つの第1仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、前記システムの状態に応じて前記第1仮想マシンを予め定めた移行先に移行する管理手段と、
配備する第2仮想マシンがあるとき、前記第2仮想マシンの配備先候補毎に、前記第2仮想マシンの配備による影響を考慮して、前記第1仮想マシンまたは前記第2仮想マシンの移行先を探索する探索手段と、
前記第2仮想マシンの配備先候補毎に、前記探索手段が探索した前記移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、前記第2仮想マシンの配備によって生じる前記移行リスクの変化分を算出する算出手段と、
前記算出手段が算出した前記移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を前記第2仮想マシンの配備先に決定する決定手段と、を備え、
前記探索手段は、前記第1仮想マシンが動作している最下位システムまたは前記第2仮想マシンの前記配備先候補の最下位システムを起点として、前記階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、前記第1仮想マシンまたは前記第2仮想マシンの前記移行先をそれぞれ探索し、
前記管理手段は、前記決定手段が決定した前記配備先に前記第2仮想マシンを配備する。
本発明の仮想マシン管理方法は、
仮想マシンを管理する管理サーバが、
少なくとも一つの第1仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、前記システムの状態に応じて前記第1仮想マシンを予め定めた移行先に移行し、
配備する第2仮想マシンがあるとき、前記第2仮想マシンの配備先候補毎に、前記第2仮想マシンの配備による影響を考慮して、前記第1仮想マシンが動作している最下位システムまたは前記第2仮想マシンの前記配備先候補の最下位システムを起点として、前記階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、前記第1仮想マシンまたは前記第2仮想マシンの移行先をそれぞれ探索し、
前記第2仮想マシンの配備先候補毎に、探索された前記移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、前記第2仮想マシンの配備によって生じる前記移行リスクの変化分を算出し、
算出された前記移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を前記第2仮想マシンの配備先に決定し、
決定された前記配備先に前記第2仮想マシンを配備する。
本発明のプログラムは、
仮想マシンを管理する管理サーバを実現するコンピュータに、
少なくとも一つの第1仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、前記システムの状態に応じて前記第1仮想マシンを予め定めた移行先に移行する手順、
配備する第2仮想マシンがあるとき、前記第2仮想マシンの配備先候補毎に、前記第2仮想マシンの配備による影響を考慮して、前記第1仮想マシンが動作している最下位システムまたは前記第2仮想マシンの前記配備先候補の最下位システムを起点として、前記階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、前記第1仮想マシンまたは前記第2仮想マシンの移行先をそれぞれ探索する手順、
前記第2仮想マシンの配備先候補毎に、探索された前記移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、前記第2仮想マシンの配備によって生じる前記移行リスクの変化分を算出する手順、
算出された前記移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を前記第2仮想マシンの配備先に決定する手順、
決定された前記配備先に前記第2仮想マシンを配備する手順を実行させるためのプログラムである。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
本発明によれば、移行コストを効果的に抑えることができる仮想マシン管理システム、仮想マシン管理方法およびプログラムが提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本発明の実施の形態に係る仮想マシン管理システムの構成を示す機能ブロック図である。 本発明の実施の形態に係る仮想マシン管理システムの動作の一例を示すフローチャートである。 本発明の実施の形態に係る仮想マシン管理システムの構成を示す機能ブロック図である。 本発明の実施の形態に係る仮想マシン管理システムの動作の一例を示すフローチャートである。 本発明の実施の形態に係る仮想マシン管理システムの構成を示す機能ブロック図である。 本発明の実施の形態に係る仮想マシン管理システムの要部構成を示す機能ブロック図である。 本発明の実施の形態に係る仮想マシン管理システムの動作の一例を示すフローチャートである。 本発明の実施の形態に係る仮想マシン管理システムの動作の一例を示すフローチャートである。 本発明に係る仮想マシン管理システムの実施例において、管理サーバの動作の一例を示すフローチャートである。 本発明に係る仮想マシン管理システムの実施例の仮想マシンの配置例を示す図である。 本発明に係る仮想マシン管理システムの実施例の各仮想マシンの要求リソース量およびサービスレベルを示す図である。 本発明に係る仮想マシン管理システムの実施例の各仮想マシンの移行先を示す図である。 本発明に係る仮想マシン管理システムの実施例において、新規に仮想マシンを配備した際の仮想マシンの配置を示す図である。 本発明に係る仮想マシン管理システムの実施例において、新規に仮想マシンを配備した際の各仮想マシンの移行先を示す図である。 本発明に係る仮想マシン管理システムに対する比較例において、新規に仮想マシンを配備した際の仮想マシンの配置を示す図である。 本発明に係る仮想マシン管理システムに対する比較例において、新規に仮想マシンを配備した際の各仮想マシンの移行先を示す図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
図1は、本発明の実施の形態に係る仮想マシン管理システム1の構成を示す機能ブロック図である。
本発明の実施の形態に係る仮想マシン管理システム1は、管理対象システム200を管理する管理サーバ100を備える。
本発明の管理対象システム200は、仮想マシン(Virtual Machine:VM)(不図示)が動作する複数の物理マシン(不図示)を備え、たとえば、企業やデータセンタなどの施設に設置される。管理対象システム200において、物理マシン上では、複数の仮想マシン(不図示)がそれぞれ稼働することができる。管理対象システム200がユーザに提供するサービスは様々なものが含まれ、本発明では特に限定されない。
本発明の管理サーバ100は、管理対象システム200を管理し、特に、仮想環境においてシステムの過負荷状態を回避するために利用される仮想マシンの移行を管理し、実行する。また、管理サーバ100は、新規に配備する仮想マシンの管理および配備の実行も行う。以下、本明細書では、既に物理マシン上で動作している仮想マシンを第1仮想マシンと呼び、新規に配備する仮想マシンを第2仮想マシンと呼んで区別するものとする。なお、区別する必要がない場合は、単に仮想マシンと呼ぶものとする。
また、仮想マシン管理システム1の各構成要素は、CPU(不図示)、メモリ(不図示)、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット(不図示)、ネットワーク接続用インタフェース(不図示)を備える任意のコンピュータ(不図示)のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
なお、各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
また、管理サーバ100は、図示していないサーバコンピュータやパーソナルコンピュータ、またはそれらに相当する装置により実現することができる。または、管理サーバ100は、複数のコンピュータから構成されてもよい。本発明では、特に説明しないが、管理サーバ100は、キーボードやマウス等の入力装置(不図示)やディスプレイなどの表示装置やプリンタ等の出力装置(不図示)等のユーザインタフェースを備えてもよい。この構成により、管理サーバ100のユーザ、たとえば、仮想マシン管理システム1の管理者は、管理対象システム200の構成や運用状況の閲覧、または指示や設定の操作等を行うことができる。
本実施形態のコンピュータプログラムは、管理サーバ100を実現させるためのコンピュータに、少なくとも一つの仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、システムの状態に応じて第1仮想マシンを予め定めた移行先に移行する手順、配備する第2仮想マシンがあるとき、第2仮想マシンの配備による影響を考慮して、第1仮想マシンが動作している最下位システムまたは第2仮想マシンの配備先候補の最下位システムを起点として、階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、第1仮想マシンまたは第2仮想マシンの移行先をそれぞれ探索する手順、第2仮想マシンの配備先候補毎に、探索された移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、第2仮想マシンの配備によって生じる移行リスクの変化分を算出する手順、算出された移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を第2仮想マシンの配備先に決定する手順、決定された配備先に第2仮想マシンを配備する手順、を実行させるように記述されている。
本発明のコンピュータプログラムは、コンピュータで読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
管理対象システム200は、図1に示すように、階層構造を有し、たとえば、最上位システム202、最上位システム202に包含される上位システム204aと204b(以後、特に区別が不要な場合は、単に上位システム204と呼ぶ)、各上位システムに包含される最下位システム206a〜206d(以後、特に区別が不要な場合は、単に最下位システム206と呼ぶ)が定義されているものとする。
本発明において、最下位システム206は、仮想マシン管理システム1における管理サーバ100による管理の最小単位である。上位システム204は、少なくとも一つの最下位システム206を包含する。最上位システム202は、少なくとも一つの上位システム204を包含し、管理の対象のシステム全体を指す。
また、管理対象システム200は、図1に示す3層の階層構造に限定されるものではなく、任意の多層システムであってよい。本実施形態では、多層システムとして扱う場合、最下位システム206を0階層システムとして扱い、上位のシステムになるにつれ1階層システム、2階層システムと階層の段階を上げるものとして定義する。
また、システムの具体的な例を挙げると、物理CPUを最下位システム206とし、ブレード、ブレード筐体、ラック、データセンタの順に上位システム204とすることもできる。また、システムの階層構造は物理的な構成だけでなく、論理的な構成をさらに含んでもよい。
論理的な構成とは、たとえば、アプリケーションソフトウェアの管理対象範囲やサービスを提供する対象ユーザの範囲を示す階層構造(部門、支店支局、会社、系列グループ、または分野等)等である。
すなわち、本発明において、階層構造とは、仮想マシンの移行コストに及ぼす影響が異なる階層が定義できる構造である。
図1に示すように、本発明の実施の形態に係る仮想マシン管理システム1の管理サーバ100は、管理部102と、探索部104と、算出部105と、決定部106と、階層構造情報記憶部(図中、「階層構造情報」と示す)108と、を備える。
管理部102は、少なくとも一つの仮想マシンが動作する物理マシンを有するシステム(管理対象システム200)を、物理的または論理的な階層構造を定義して管理し、システムの状態に応じて第1仮想マシンを予め定めた移行先に移行する。ここで、配備先とは、新規に仮想マシンを配備する最下位システムを指し、移行先とは、過負荷状態にあるシステムの過負荷回避のために、既に稼働している仮想マシンを移行する他の最下位システムのことを指す。
探索部104は、配備する第2仮想マシンがあるとき、第2仮想マシンの配備先候補毎に、第2仮想マシンの配備による影響を考慮して、第1仮想マシンまたは第2仮想マシンの移行先を探索する。そして、探索部104は、第1仮想マシンが動作している最下位システムまたは第2仮想マシンの配備先候補の最下位システム206を起点として、階層構造のより上位のシステム(上位システム204)に包含される近隣の最下位システム206を、探索範囲を拡大して探索して、第1仮想マシンまたは第2仮想マシンの移行先をそれぞれ探索する。移行先は、仮想マシン毎に移行先記憶部(不図示)に記憶してもよい。
ここで、新規に配備する第2仮想マシンの配備先候補は、第2仮想マシンが必要とする要求リソース量分の空きを有する物理マシンである。探索部104は、新規に配備する第2仮想マシンがあるとき、第2仮想マシンが必要とする要求リソース量分の空きを有する物理マシンを管理対象システム200の全ての最下位システム(たとえば、最下位システム206a〜206d)について探索し、該当する物理マシンを全て配備先候補とする。このときは、階層構造を考慮した下位システムから上位システムへの探索は行わない。
また、探索部104は、各仮想マシンの移行先については、上述したように、その仮想マシンが必要とする要求リソース量分の空きを有する物理マシンを、階層構造を考慮した下位システムから上位システムへ探索する。
算出部105は、第2仮想マシンの配備先候補毎に、探索部104が探索した移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、第2仮想マシンの配備よって生じる移行リスクの変化分を算出する。
決定部106は、算出部105が算出した移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小になる配備先候補を第2仮想マシンの配備先に決定する。決定した第2仮想マシンの配備先は、仮想マシン毎に配備先記憶部(不図示)に記憶してもよい。配備先候補の中から第2仮想マシンの配備先を決定する方法については、後述する実施形態で詳細に説明する。
なお、探索部104は、配備される第2仮想マシンが必要とするリソースの空き容量を有するシステムを、システムの階層構造の最下位システム206から上位システム204へ順に探索して、第2仮想マシンの配備先候補とすることができる。
本発明では、管理対象システム200内で移行を行う際に、移行の対象となるシステムとは別の他のシステムへ与える影響度と、移行の対象となる仮想マシンに与える影響度とを、移行にかかるコストに勘案して移行コストとして定義する。また、本発明では前述した仮想CPUと物理CPUの対応付けの動的な変更も移行の1つとして扱う。
他のシステムへ与える影響度は、どの階層間で移行を伴うかで移行コストの大きさが変わる。たとえば、物理CPU間、ブレード間、ブレード筐体間、ラック間の順に移行コストは高くなり、つまり、階層の深いところの(上位システムを跨ぐ)移行を伴うほど移行コストが高くなる。
仮想マシンを配備する際、仮想マシンには仮想CPUという単位でCPUリソースが割当てられる。仮想CPUは物理CPUと対応付けられるが、一般的には静的な対応付けは行われず、スケジューラにより動的に対応付けられる。しかし、キャッシュなどの効果により仮想CPUと物理CPUを静的に対応付けることで性能が向上する場合がある。さらに、リソースの競合が少ない仮想マシン同士を同一の物理CPUに割当てることでリソースを効率的に利用することも可能となる。マルチコアのシステムでは、仮想マシンの仮想CPUと物理CPUを静的に割当てた場合でも、その物理CPUがリソース不足になった場合は、その物理CPUを利用している仮想マシンを別の物理CPUを使うように切り替えればよく、この切り替え自体はネットワークI/O負荷が発生せず、短時間で行うことができるため、非常に低コストといえる。
たとえば、管理対象システム200が複数のラックを有し、各ラック内に複数のブレードが格納されている場合について考える。ブレードの階層を0階層システム、ラックの階層を1階層システムとする。この場合、同一ラック内のブレード(起点となる最下位システムが包含される上位システム内の最下位システムに相当)間の移行コストよりラックを跨るブレード間(起点となる最下位システムが包含される上位システムの近隣の上位システム内に包含される近隣の最下位システムに相当)の移行コストの方が高くなる。本発明のように、仮想マシンが動作している最下位システムを起点として、近隣から順に移行先の最下位システムを探索し、さらに、探索範囲を近隣の上位システム内に順次拡大しながら探索を行うことで、階層を跨がない同一上位システムになるべく近い最下位システムを将来の移行先とすることができる。これにより、移行によるコストへの影響を小さく抑えることができる。
このように、本発明では、管理サーバ100は、管理対象システム200上で実行している仮想マシンの移行コストに関連するシステムの階層構造を考慮し、仮想マシンおよび管理対象システム200の性能情報に基づいて、システム全体の移行リスクが小さくなる仮想マシンの配備先を決定する。
また、管理部102は、決定された配備先に仮想マシンを配備する。本実施形態では、決定部106が配備先を決定した後、直ぐに仮想マシンを配備先に配備する構成としているが、これに限定されない。この構成は、特に、新規に仮想マシンを配備する場合に好ましい。その他の形態として後述するように、たとえば、予め仮想マシン毎に配備先を決定しておき、システムの過負荷状態を検知した場合や、過負荷状態になることが将来的に予測される場合などに、適切な仮想マシンを予め決定してあった配備先に移行してもよい。また、他の実施形態で後述するように、各仮想マシンの配備先または移行先は、管理対象システム200の性能情報に基づいて定期的にまたは随時更新されるのが好ましい。
階層構造情報記憶部108は、管理対象システム200の構成情報を格納する。管理対象システム200の構成情報は、上述したような管理対象システム200の階層構造とともに、各システムの情報を含む。たとえば、データセンタ内のフロア情報、ラック識別子、ブレード筐体識別子、ブレード識別子、物理CPU、または物理サーバ上で稼働中の仮想マシン識別子等を互い関連付けて記憶する。さらに、物理CPUの性能やメモリ容量等の情報も含んでもよい。
上述のような構成において、本実施の形態の仮想マシン管理システム1における仮想マシン管理方法を以下に説明する。
図2は、本発明の実施の形態に係る仮想マシン管理システム1の管理サーバ100の動作の一例を示すフローチャートである。以下、図1および図2を用いて説明する。
本実施形態の仮想マシン管理方法は、仮想マシンを管理する管理サーバ100が、少なくとも一つの仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、システムの状態に応じて前記第1仮想マシンを予め定めた移行先に移行することでシステムの状態を安定化させる。また、配備する第2仮想マシンがあるとき(ステップS101のYES)、管理サーバ100が、第2仮想マシンの配備による影響を考慮して、前記第1仮想マシンが動作している最下位システムまたは第2仮想マシンの前記配備先候補の最下位システムを起点として、階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、第1仮想マシンまたは第2仮想マシンの移行先をそれぞれ探索し(ステップS103〜ステップS107)、第2仮想マシンの配備先候補毎に、探索された移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、第2仮想マシンの配備によって生じる移行リスクの変化分を算出し(ステップS109)、算出された前記移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を前記第2仮想マシンの配備先に決定し(ステップS111)、決定された配備先に第2仮想マシンを配備する(ステップS113)。
より詳細には、まず、管理サーバ100において、配備する第2仮想マシンがあるとき(ステップS101のYES)、探索部104が、第2仮想マシンの配備先候補毎に、第2仮想マシンの配備による影響を考慮して、第1仮想マシンまたは第2仮想マシンの移行先を探索する(ステップS103)。このとき、探索部104は、第1仮想マシンが動作する最下位システムまたは第2仮想マシンの配備先候補の最下位システムを起点として、第1仮想マシンまたは第2仮想マシンが将来移行予定の移行先となる最下位システムを探索する。なお、ステップS101で、配備する第2仮想マシンがないとき(ステップS101のNO)、本処理は行われない。
たとえば、移行元の仮想マシンが動作する最下位システムを最下位システム206aとすると、探索部104が、起点となる最下位システム206aを包含する上位システム204a内で、移行先となる最下位システムの探索を行う。最下位システム206bが移行先となる場合、すなわち、最下位システム206bが要求リソース量分の空きを有している場合(ステップS105のYES)、探索部104は、その最下位システム206bを仮想マシンの移行先として、ステップS109に進む。この場合は、階層を跨がない移行となる。
一方、最下位システム206bが移行先とならなかった場合、すなわち、最下位システム206bが要求リソース量分の空きを有していない場合(ステップS105のNO)、ステップS107に進む。
ステップS105で移行先がなかった場合(ステップS105のNO)、探索部104が、近隣の上位システム(図1の上位システム204b)に包含される近隣の最下位システム206c、206dについて、探索範囲を拡大して探索を行う(ステップS107)。そして、たとえば、上位システム204bの最下位システム206cまたは最下位システム206dのいずれか少なくとも一つが移行先となる場合、すなわち、いずれか少なくとも一つが要求リソース量分の空きを有している場合(ステップS105のYES)、探索部104は、その最下位システム206を仮想マシンの移行先として、ステップS109に進む。この場合は、階層を跨ぐ移行になり、階層を跨がない移行に比較して移行にかかるコストが高くなる可能性がある。ここでは、移行元の仮想マシンが動作する最下位システムが包含される上位システムにより近い他の上位システム内から順に移行先の近隣の最下位システムを探すことで、なるべく移行にかかるコストがかからないようにしている。
なお、図1では最上位システム202に包含される上位システム204は、上位システム204aと上位システム204bであるが、さらに他の上位システム204c(不図示)を包含していてもよい。そして、上位システム204aと上位システム204bともに移行先となる最下位システム206が見つからなかった場合には、上位システム204c内の最下位システム206をさらに探索していくこととなる。
なお、最上位システム202に包含されるすべての最下位システム206のいずれも移行先とならなかった場合、すなわち、いずれも要求リソース量分の空きを有していない場合、本処理を終了する(不図示)。
次に、算出部105が、移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、第2仮想マシンの配備によって生じる移行リスクの変化分を算出する(ステップS109)。ここで、移行リスクは、全ての仮想マシンについて算出するのではなく、配備の影響による変化分を算出する。
そして、決定部106が、ステップS109で算出された各仮想マシンの移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小になる配備先を決定する(ステップS111)。ステップS111で決定部106が決定した配備先に、管理部102が第2仮想マシンを配備する(ステップS113)。
第2仮想マシンの配備先候補が見つからず、本処理を終了する場合は、終了前に、たとえば、管理部102が、休止中の物理マシンの中から新規に物理マシンを起動し、その物理サーバ内の最下位システムを配備先と決定して配備してもよい。あるいは、管理部102が、管理者にリソース不足によるエラーや物理マシンの増設が必要である旨を通知し、異常終了してもよい。通知方法は、特に限定されないが、たとえば、管理サーバ100の表示装置にメッセージやアイコン等を表示して管理者に通知してもよい。
以上説明したように、本実施形態の仮想マシン管理システム1によれば、新規に第2仮想マシンを配備するとき、配備による影響を考慮して、階層を跨がないグループ内の階層構造の最下位システムから順に仮想マシンの移行先を決定し、さらに、その移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、第2仮想マシンの配備によって生じる移行リスクの変化分を算出し、システム全体の移行リスクの変化分が最小となるよう配備先を検討するので、配備によるコストへの影響を小さく抑えることができる。このようにして、移行コストをできる限り抑えることができる。
さらに、本発明の実施の形態に係る仮想マシン管理システム1において、探索部104が、第1仮想マシンの移行先を事前に計算しておくことができる。これにより、第1仮想マシンの移行が必要になった場合に、移行先を検索する時間が短くなり、移行の判断を短時間で行うことができる。
(第2の実施の形態)
図3は、本発明の実施の形態に係る仮想マシン管理システム1の構成を示す機能ブロック図である。
本発明の実施の形態に係る仮想マシン管理システム1は、上記実施形態とは配備による影響を受ける仮想マシンを判別し、将来的な移行時のシステムへの影響を考慮して適切な配備先を決定する構成をさらに有する点で相違する。本実施形態の仮想マシン管理システム1は、管理対象システム200を管理する管理サーバ300を備える。
図3の管理サーバ300は、図1の実施形態の仮想マシン管理システム1の管理サーバ100と同様な管理部102と、探索部104と、階層構造情報記憶部(図中、「階層構造情報」と示す)108とを備えるとともに、さらに、算出部312と、配備情報記憶部(図中、「配備情報」と示す)314と、決定部316と、判別部318と、を備える。
また、本実施形態において、管理サーバ300は、さらに、管理対象システム200から性能情報を取得する性能情報収集部322と、性能情報収集部322が収集した性能情報を格納する性能情報データベース(図中、「性能情報DB」と示す)324をさらに備える。なお、性能情報収集部322および性能情報データベース324は、必ずしも管理サーバ300が備える必要はなく、管理対象システム200の性能情報が格納される性能情報データベース324に管理サーバ300がアクセスでき、性能情報を取得できる構成であればよい。
性能情報収集部322は、定期的または随時、管理対象システム200にネットワーク3を介してアクセスし、性能情報を収集する。性能情報は、管理対象システム200のリソースのキャパシティを定義できる適切な階層のシステムから取得する。たとえば、性能情報収集部322は、最下位システムおよび最下位システム上で実行している仮想マシンの性能情報を取得する。また、最下位システムが物理CPUである場合であっても、性能情報収集部322は、物理CPUより上位システムのブレード(すなわち、物理サーバ)単位で、物理CPU単位の情報も含めて性能情報を収集してもよい。
性能情報は、たとえば、CPU使用率、メモリ使用量、ディスク使用量、消費電力量、または二酸化炭素換算量などの情報を含む。
本実施形態の仮想マシン管理システム1の管理サーバ300において、判別部318は、第2仮想マシンの配備による影響を受ける第1仮想マシンとして、第2仮想マシンの配備先候補の最下位システムを移行先としている第1仮想マシン、および第2仮想マシンの配備先候補の最下位システムで動作している第1仮想マシンを求める。
本実施形態において、判別部318が求めた第1仮想マシンおよび第2仮想マシンについて、探索部104が移行先を探索するとともに、算出部312が、移行リスクの変化分を算出する。
算出部312は、探索部104が探索した仮想マシンの移行先に、将来移行する可能性の度合と移行コストを考慮した移行リスクと、移行リスクを判別部318が求めた仮想マシンについて算出することで、第2仮想マシンの配備によって生じる移行リスクの変化分(増分)を算出する。
配備情報記憶部314は、探索部104が探索した、配備する第2仮想マシンの配備先候補と、既に稼働している各仮想マシンの移行先とを記憶する。算出部312および決定部316は、配備情報記憶部314を参照して動作する。なお、各仮想マシンの移行先は、各仮想マシンが移行された後、または、定期的に探索部104、算出部312、および決定部316によって計算して決定し、配備情報記憶部314に新規にまたは更新して記憶することができる。
本発明において、移行コストは、移行自体にかかるコストであるため、システムが過負荷状態になる可能性の度合いについては考慮されていない。そこで、本発明では、システムが過負荷状態になる可能性を考慮した将来的な移行コストを移行リスクとして定義する。移行リスクは、現在動作中の各仮想マシンに対して性能情報に基づいて計算することができる。ある仮想マシンの移行リスクは、その仮想マシンが存在するシステムにおいて過負荷状態になり、別の物理マシンへ移行しなければならない可能性の度合いとその仮想マシンの移行コストの乗算で計算されるものと定義するが、他の計算方式を用いてもよい。
本発明では、新規に第2仮想マシンを配備する際、システム全体の移行リスクの増加量が最も小さくなる最下位システムを配備先として決定することで、システム全体の将来的な移行コストを抑えることを可能にする。
上述のような構成において、本実施の形態の仮想マシン管理システム1における仮想マシン管理方法を以下に説明する。
図4は、本発明の実施の形態に係る仮想マシン管理システム1の管理サーバ300の動作の一例を示すフローチャートである。以下、図3および図4を用いて説明する。図4は、特に、本実施形態の管理サーバ300における、配備による移行リスクの算出動作の手順を示し、上記実施形態の図2のステップS103〜ステップS109のより具体的な処理の詳細手順を示す。本実施形態の管理サーバ300の他の動作は、図2に示す手順と同様であり、図1の手順でステップS101の判定結果がYESの時、すなわち、新規に配備する第2仮想マシンがある場合、本図のフローチャートの手順が開始される。
本実施形態の仮想マシン管理方法は、管理サーバ300が、第2仮想マシンの配備による影響を受ける第1仮想マシンとして、第2仮想マシンの配備先候補の最下位システムを移行先としている第1仮想マシン、および第2仮想マシンの配備先候補の最下位システムで動作している第1仮想マシンを求め(ステップS205)、ステップS205で求めた第1仮想マシンおよび第2仮想マシンについて、移行先を探索するとともに(ステップS207)、移行リスクの変化分を算出する(ステップS211)。
より詳細には、まず、探索部104が探索した新規に配備する第2仮想マシンが要求するリソース量の空きリソースがある最下位システム、すなわち、配備先候補が複数あるか否かを判定する(ステップS201)。複数ある場合(ステップS201のYES)、ステップS203に進み、複数ない場合(ステップS201のNO)、ステップS219に進む。ステップS219では、決定部106が、その配備先候補を新規に配備する第2仮想マシンの配備先に決定し、本処理を終了し、図2のステップS113に戻る。
ステップS203に進んだ場合は、ステップS203〜ステップS215の間のループ処理を、複数の配備先候補の最下位システムを一つずつ選択して順に繰り返し実行する。このループ処理で、管理サーバ300における第2仮想マシン配備後のシステム全体の移行リスクの増加分が計算される。
ここで、配備先候補となっている空きリソースは、別の第1仮想マシンの移行先になっている可能性がある。その場合は、その場所に新規に第2仮想マシンを配備すると、第1仮想マシンが将来的に移行できなくなるため、第1仮想マシンの移行先を更新する必要がでてくる。
そこで、選択した最下位システムに第2仮想マシンを配備した際、判別部318が、移行先の変更が必要な第1仮想マシンがあるか否かを判定する(ステップS205)。変更が必要な第1仮想マシンがある場合(ステップS205のYES)、探索部104が、変更が必要な第1仮想マシンの新たな移行先を探索する(ステップS207)。このとき、探索部104は、図2の上記実施形態のフローチャートのステップS103〜ステップS107と同様な手順で、第1仮想マシンが動作する最下位システムを起点として、起点となる最下位システムを包含する上位システム内で、移行先となる最下位システムを探索し、上位システム内に適切な移行先が見つからない場合は、近隣の上位システムに包含される近隣の最下位システムを、順に探索範囲を拡大して探索する。そして、同様に、配備される第2仮想マシンの移行先も探索する(ステップS209)。
そして、算出部312が、ステップS207およびステップS209で探索された第1仮想マシンおよび第2仮想マシンの移行先の移行リスクを再計算する(ステップS211)。変更が必要な第1仮想マシンがない場合(ステップS205のNO)、ステップS207はバイパスし、ステップS209に進む。
なお、第2仮想マシンの配備前の第1仮想マシンの移行先の移行リスクと、第2仮想マシンを配備した時に、移行先の変更が必要となる第1仮想マシンの移行先の移行リスクとの差分が、第1仮想マシンに関する移行リスクの増加分となる。複数の第1仮想マシンが、第2仮想マシンの配備先候補の空きリソースを移行先としていた場合、算出部312は、それぞれの第1仮想マシンに対して移行リスクを再計算する。そして、算出部312は、各第1仮想マシンおよび第2仮想マシンの移行リスクの増加分の総和をその空きリソースに第2仮想マシンを新規配備することによる移行リスクの増分として求める(ステップS213)。
複数の最下位システムに空きリソースがある場合、各配備先候補について、ステップS205〜ステップS213の処理を繰り返し、算出部312が、複数の配備先候補のそれぞれに対して同様に移行リスクの増分を求めた後、ループ処理を終了し(ステップS215)、ステップS217に進む。そして、決定部316が、ステップS213で算出された移行リスクの増分が最小の最下位システムを新規第2仮想マシンの配備先に決定する(ステップS217)。
また、管理対象システム200の性能情報は刻々と変化するため、本実施形態において、算出部312および決定部316は、各第1仮想マシンの移行先を定期的に再計算し、配備情報記憶部314の各第1仮想マシンの移行先を更新する。
以上より、新規に第2仮想マシンを配備する際、システム全体へ将来的な移行コストを最も小さくする配備先を決定することができる。
以上説明したように、本発明の実施の形態に係る仮想マシン管理システム1によれば、上記実施形態と同様な効果を奏するとともに、さらに、新規に第2仮想マシンを配備する際、将来的に仮想マシンの移行が必要になった場合のシステム全体への影響または仮想マシンへの影響を小さくすることができる。
(第3の実施の形態)
図5は、本発明の実施の形態に係る仮想マシン管理システム1の構成を示す機能ブロック図である。
本発明の実施の形態に係る仮想マシン管理システム1は、上記実施形態とは、階層毎に、階層構造の上位のシステム程、移行コストが大きくなるように定義される関数を用いて移行コストを算出する構成をさらに有する点で相違する。本実施形態の仮想マシン管理システム1は、管理対象システム200を管理する管理サーバ400を備える。
図5の管理サーバ400は、図3の実施形態の仮想マシン管理システム1の管理サーバ300と同様な管理部102と、探索部104と、階層構造情報記憶部108と、配備情報記憶部314と、判別部318と、を備えるとともに、さらに、算出部412と、決定部416と、を備える。さらに、管理サーバ400は、図3の管理サーバ300と同様な性能情報収集部322と、性能情報データベース324と、を備えてもよい。
本実施形態において、管理対象システム200は、たとえば、様々なユーザにサービスを提供するものとすることができる。ユーザに提供されるサービスは、たとえば、SLA(Service Level Agreement、サービスレベル契約)をユーザと事前に交わし、その品質をユーザに保証する。サービスレベルは、様々な項目について設定することができ、項目は、たとえば、CPU使用率、メモリ使用量、ディスク使用量、消費電力量、または二酸化炭素換算量等を含むことができる。サービスレベルは、特に限定されないが、たとえば、レベルが高い順に、S、A、B、およびCランクなどの4段階に定義することができる。
本実施形態では、各仮想マシンに対して、リソース不足に対する許容度を示すサービスレベルが設定されているものとする。たとえば、許容できるCPU使用率やメモリ使用量などをそれぞれ定義したサービスレベルが設定されているものとする。
たとえば、リアルタイム性を要求する仮想マシンの場合、一時的なリソース不足によりリアルタイム性を確保できなくなる可能性があるため、高いサービスレベルが設定される。たとえば、「最低限、5秒平均で、CPU1コア分のリソースを保証する」などのサービスレベルが設定される。一方で、バッチ処理を行う仮想マシンなどは一時的なリソース不足は大きな問題とはならないため、低いサービスレベルが設定される。たとえば、「最低限、1時間平均で、CPU1コア分のリソースを保証する」などのサービスレベルが設定される。
上述したように、本発明では、管理対象システム200内で移行を行う際に、移行の対象となるシステムとは別の他のシステムへ与える影響度と、移行の対象となる仮想マシンに与える影響度とを、移行にかかるコストに勘案して移行コストとして定義する。他のシステムへ与える影響度はどの階層間で移行を伴うかでコストの大きさが変わる。たとえば、物理CPU間、ブレード間、ブレード筐体間、ラック間の順に移行のコストは高くなり、つまり、階層の深いところの(上位システムを跨ぐ)移行を伴うほど移行コストが高くなる。
そこで、本実施形態では、算出部412は、階層毎に、階層構造の上位のシステム程、移行コストが大きくなるように定義される関数を用いて移行コストを算出する。
次に、移行の対象となる仮想マシンに対して与えられる影響度について考える。移行コストは、移行される仮想マシンのサービスレベルによっても変わる。より高いサービスレベルが設定された仮想マシンほど移行に伴うリソース不足によるサービス品質の劣化などのリスクが高いため、移行コストも高いと言える。
そこで、本実施形態では、各階層間の移行コストを仮想マシンのサービスレベルを引数(パラメータα)にとる移行コスト関数として定義することにする。つまり、移行コスト関数は各階層間に1つ存在することになる。i階層システムの移行コスト関数を(式1)とすると、各階層の移行コスト関数の関係は(式2)のようになる。ただし、xは仮想マシンのサービスレベルを指し、仮想マシン間で比較可能な指標とする。
Figure 2013171944

Figure 2013171944
本実施形態において、上記の移行コスト関数は、さらに、第1仮想マシンまたは第2仮想マシン毎に定められたサービスレベルに応じて変わる移行コストを、第1仮想マシンおよび第2仮想マシンのサービスレベルを引数(パラメータα)としてそれぞれ定義される。
たとえば、複数のラックがあり、各ラック内に複数のブレードが格納されているシステムを考える。ブレードの階層を0階層システム、ラックの階層を1階層システムとする。この場合、同一ラック内のブレード間の移行コストよりラックを跨るブレード間の移行コストのほうが高くなる。
また、ある仮想マシンを新規に配備する際、空きリソースの少ないラック内のブレードに仮想マシンを詰め込むとラック全体として過負荷状態になる可能性が高く、将来的に過負荷状態の回避のために自らまたは他の仮想マシンをラック外へ移行する必要が生じる可能性が高い。ラック内に含まれる仮想マシンのサービスレベルが高い場合、そのラックに新規に第2仮想マシンを配備すると、将来的に過負荷になった場合、サービスレベルの高い、つまり、移行コストの大きい仮想マシンを他の物理マシンへ移行する必要性が出てくる可能性が高くなる。一方、そのラック内に含まれる仮想マシンのサービスレベルが低い場合、そのラック内に新規に第2仮想マシンを配備しても、将来的に過負荷になった場合に、サービスレベルの低い、つまり、移行コストの小さい仮想マシンを別のラックへ移行させればよい。このように、仮想マシンのサービスレベルを考慮すると移行コストに対して最適な配備先が変わってくる。
たとえば、新規に仮想マシンを配備することを考える。ある最下位システムAのリソース使用率が50%で、別の最下位システムBのリソース使用率が70%の場合、リソースの使われ方が同じであれば最下位システムBのほうが過負荷状態になる度合いが高い。しかし、最下位システムA上の他の仮想マシンのサービスが高く、最下位システムB上の仮想マシンのサービスレベルが低い場合、最下位システムB上に仮想マシンを配備した方がよい場合がある。これは、最下位システムB上の仮想マシンのサービスレベルが低いため、過負荷状態になったとしても仮想マシンを他へ移行するコストが小さいためである。
上述したように、移行コストは、移行自体にかかるコストであるため、システムが過負荷状態になる可能性の度合いについては考慮されていない。そこで、本発明では、システムが過負荷状態になる可能性を考慮した将来的な移行コストを移行リスクとして定義する。移行リスクは、現在動作中の各仮想マシンに対して性能情報に基づいて計算することができる。ある仮想マシンの移行リスクは、その仮想マシンが存在するシステムにおいて過負荷状態になり、別の物理マシンへ移行しなければならない可能性の度合いとその仮想マシンの移行コストの乗算で計算されるものと定義する。
本実施形態において、算出部412は、さらに、移行先に影響がある前記第1仮想マシンおよび当該第2仮想マシンについて探索部104が探索した移行先に将来移行する可能性の度合として、第1仮想マシンおよび第2仮想マシンが動作する最下位システムが将来的に過負荷状態になる可能性の度合を、移行コスト関数に乗じて移行リスクをそれぞれ算出することができる。
本発明では上述したようなシステム全体の移行リスクを考慮して、新規に仮想マシンを配備する際、システム全体の移行リスクの増加量が最も小さくなる最下位システムを配備先として決定することで、システム全体の将来的な移行コストを抑えることを可能にする。
算出部412において、システム全体の移行リスクは以下のようにして計算される。
まず、既に動作している全ての仮想マシンに対して、各仮想マシンが動作しているシステムが過負荷状態になった場合の移行先とその移行コストを計算する。ある仮想マシンの移行先は、その仮想マシンを格納するだけの空きリソースが存在する最下位システムの中で、移行コストが最も小さいところを指す。
たとえば、物理CPUを最下位システム(0階層システム)とし、物理サーバがその上位システム(1階層システム)である場合を考える。同一物理サーバの最下位システム間の移行は、仮想マシンに割り当てる物理CPUの切り替えに相当する。ある仮想マシンのサービスレベルをαとすると、同一物理マシン内にその仮想マシンを実行するだけの空きリソースのある物理CPUが存在する場合、その仮想マシンの移行先は同一物理マシン内の他の物理CPUとなり、移行コストはf(α)で計算される。
一方、同一物理マシン内のいずれの物理CPUにも空きリソースが存在しない場合は、他の物理マシン(他のグループ)が移行先となり、移行コスト関数はf(α)となる。
(α)は、同一グループ内の物理CPU間の移行の移行コスト関数であり、f(α)は階層を跨ぐ他のグループの物理サーバ間の移行コスト関数である。
移行コスト関数は、各仮想マシンの移行先が、上位システムを跨ぐ他のグループか否かに応じて変わり、階層毎に定義される。
本実施形態では、移行コスト関数は、サービスレベルαを引数として、階層毎に事前に定義されているものとする。ここで、上記の式(2)から、f(α)<f(α)である。
上述したように、本実施形態において、仮想マシンの移行先および移行コストは現在配備されている最下位システムから順に階層の深いシステムに対して空きリソースを検索することで求まる。もし、最上位システムにも空きが存在しない場合には、エラーとして出力するか、移行コストを非常に高い値とすることができる。
さらに、算出部412は、仮想マシンが配備されている最下位システムの現在または過去一定時間の平均のリソース使用率から将来的に過負荷状態になる可能性の度合いを計算する。この計算方法はある確率分布を用いて過負荷状態になる確率として計算してもよいし、過負荷状態にどれだけ近いかという抽象的な単純な指標を用いてもよい。仮想マシンの移行コストに対して、その仮想マシンが配備されている最下位システムの過負荷状態になる可能性の度合いを乗算することで、その仮想マシンの移行リスクが計算される。このようにして、仮想マシンが配備されている最下位システムの過負荷状態になる可能性の度合いを移行コスト関数に乗算して移行リスクを算出することができる。
システム全体の移行リスクは、全ての第1仮想マシンの移行リスクの総和とする。また、新規に第2仮想マシンを配備する際のシステム全体の移行リスクの増加量は、第2仮想マシンを配備後のシステム全体の移行リスクの予測値から配備前のシステム全体の移行リスクを引いたものとして定義する。
以上により、本実施形態の算出部412は、移行リスクを、サービスレベル(パラメータα)、リソースが過負荷状態になる可能性の度合、または階層構造における上位システムを跨ぐか否かに基づいて、予め定めた評価式(関数)により算出することができる。
本実施形態の仮想マシン管理システム1の動作は、算出部412における移行リスクの算出方法が異なる以外は上記実施形態と同様であるので、詳細な説明は省略する。
以上説明したように、本実施形態の仮想マシン管理システム1によれば、上記実施形態と同様な効果を奏するとともに、さらに、仮想環境においてシステムの過負荷状態を回避するために利用される仮想マシンの移行にかかるコストを抑えることができる。
(第4の実施の形態)
本発明の実施の形態に係る仮想マシン管理システムは、上記実施形態とは、新規に仮想マシンを配備する際、全ての最下位システムを対象として移行リスクの増分を計算し、配備先を決定するのではなく、階層ごとに移行リスクの配備閾値を定義し、配備閾値を超えている階層に含まれるシステムは配備の対象外とする構成を有する点で相違する。
図6は、本発明の実施の形態に係る仮想マシン管理システムの管理サーバ500の要部構成を示す機能ブロック図である。
本実施形態の仮想マシン管理システムは、図5の上記実施形態と同様な管理部102(図6には図示せず)と、階層構造情報記憶部108(図6には図示せず)と、配備情報記憶部314と、算出部412と、決定部416(図6には図示せず)と、性能情報収集部322と、性能情報データベース324とを有するとともに、さらに、判定部502と、探索部504とを備える。なお、図6では管理サーバ500の要部構成のみを示している。
なお、本実施形態の管理サーバ500は、図3の上記実施形態と同様な構成とすることもできる。
本実施形態の仮想マシン管理システムにおいて、管理サーバ500の算出部412は、定期的に、最下位システムの移行リスクを算出する。本実施形態において、各階層のシステム毎の移行リスクは、そのシステム内に含まれる仮想マシンの移行リスクの総和として定義される。算出部412は、定期的に各階層のシステム毎の移行リスクの総和を計算し、配備情報記憶部314に記憶する。そして、管理サーバ500は、算出部412が算出した各階層のシステム毎の移行リスクの総和が、階層毎に予め設定された閾値を超えているか否かを判定する判定部502をさらに備える。
探索部504は、判定部502により閾値を超えていると判定された階層のシステムに含まれる下位のシステムは、探索対象から外す。
判定部502は、配備情報記憶部314を参照し、最上位システムから、最下位システムに向けて、閾値判定を行い、探索対象のシステムを検索する。そして、探索部504は、判定部502が対象外と判定したシステムについては、探索部504は検索を行わず、探索対象のシステムについてのみ、配備先候補の探索を行う。
なお、判定部502の判定結果は、各階層のシステム毎に、配備情報記憶部314に保持しておくこともできる。
また、算出部412は、判定部502が探索対象と判定したシステムに含まれる最下位システムに対してのみ第2仮想マシンを配備した際の移行リスクの増分を計算する。よって、算出部412は、配備前の探索対象のシステムの移行リスクと、配備後の探索対象のシステムの移行リスクとの差分を、配備による移行リスクの増分として算出する。
以上説明したように、本実施形態の仮想マシン管理システムによれば、上記実施形態と同様な効果を奏するとともに、さらに、移行リスクが閾値を超えているシステムは手順から外し、探索対象になったシステムの最下位システムに対してのみ配備先候補の探索と、仮想マシンを配備した際の移行リスクの増分の計算が行われるため、すべてのシステムについて処理を行う場合に比較して、処理効率がよい。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、他の態様として、管理対象システム200が過負荷状態になった際の管理サーバの処理を以下のようにすることができる。
この実施形態において、管理サーバは、過負荷状態になった最下位システムが存在するかを確認する確認部(不図示)と、過負荷状態になったシステムに対し、当該システム上の第1仮想マシンの中から、過負荷状態を回避可能で、かつ、移行コストが小さい第1仮想マシンの集合を求める計算部(不図示)と、をさらに備えることができる。管理部102は、集合を求める計算部が求めた集合の第1仮想マシンに対し、移行を実行する。
ここで、管理サーバは、図1、図3、図5、または図6のいずれかの構成または、これらの構成の組み合わせとすることができる。ここでは、図5の構成を例として説明する。なお、集合を求める計算部は、図5の探索部104または決定部416に含まれるものとし、下記では、探索部104および決定部416として説明する。なお、管理サーバが、性能情報収集部322を含まない場合は、上述したように管理サーバは、定期的に管理対象システム200から収集された性能情報を用いるものとする。
図7のフローチャートに示すように、管理サーバ400の性能情報収集部322が、定期的に管理対象システム200から性能情報を取得し、性能情報データベース324に格納する(ステップS301)。確認部が、性能情報データベース324を参照し、過負荷状態になった最下位システムが存在するかを確認する(ステップS303)。過負荷状態になった最下位システムが存在する場合(ステップS303のYES)、探索部104および決定部416が、その最下位システムに含まれる仮想マシンのうち、過負荷状態を回避できる仮想マシンの組み合わせを求める(ステップS305)。さらに、探索部104および決定部416が、移行コストが最小となる仮想マシンの組み合わせを選択して最適な仮想マシンの集合を求める(ステップS307)。そして、管理部102が、ステップS307で求められた集合に含まれる第1仮想マシンに対し移行を実行する(ステップS307)。なお、過負荷状態になった最下位システムが存在しない場合(ステップS303のNO)、ステップS301に戻る。
さらに、他の態様として、管理サーバは、前回取得した性能情報の値に対して一定値以上の変動があった最下位システムがあるか否か判定する変動検出部(不図示)をさらに備えてもよい。ここで、管理サーバは、図1、図3、図5、または図6のいずれかの構成または、これらの構成の組み合わせとすることができる。ここでは、図5の構成を例として説明する。なお、管理サーバが、性能情報収集部322を含まない場合は、上述したように管理サーバは、定期的に管理対象システム200から収集された性能情報を用いるものとする。
この例では、管理サーバ400は、システム上で実行している仮想マシンの性能情報またはシステムの性能情報を監視し、前記性能情報における一定値以上の変動を検知する監視部(不図示)をさらに備えることができる。そして、監視部が性能情報における一定値以上の変動を検知したとき、探索部104は、変動が検知されたシステムの最下位システム上で実行している仮想マシン、および当該最下位システムを配備先とする仮想マシンに対し、移行先を再探索し、更新することができる。
図8に、この態様の管理サーバ400の動作について説明する。
図8に示すように、管理サーバ400の性能情報収集部322は、定期的に管理対象システム200から性能情報を取得し、性能情報データベース324に格納する(ステップS301)。そして、変動検出部が、性能情報データベース324を参照し、前回取得した性能情報の値に対して一定値以上の変動があった最下位システムがあるか否か判定する(ステップS323)。性能情報の変動が一定値以上の最下位システムがあった場合(ステップS323のYES)、算出部412および決定部416が、その最下位システム内の仮想マシンおよびその最下位システムを移行先としている仮想マシンに対して移行先の更新を行う(ステップS325)。なお、性能情報の変動が一定値以上の最下位システムがなかった場合(ステップS323のNO)、ステップS301に戻る。
この構成によれば、管理対象システム200の性能情報の状態の変動にも柔軟に適応できる移行コストを抑えた効率のよい移行を行うことができる。
さらに、他の態様として、複数の種類のリソースを対象とすることもでき、リソース毎に異なる階層構造を定義してもよい。この場合、移行リスクの増分もリソース毎に計算し、その総和を考えればよい。
さらに、上記実施形態では、ある最下位システムが過負荷状態になった場合、その最下位システム上の仮想マシンで過負荷状態を回避するのに必要な仮想マシンの集合のうち、移行コストが小さくなる集合を求め、移行を実行している。上記実施形態のように、この仮想マシンの集合を求める問題は移行コストが最小となる集合を厳密に求めてもよいし、他の態様として、たとえば、仮想マシンの利用リソース量を仮想マシンの移行コストで除算した値を降順にソートし、過負荷状態を回避できるだけの仮想マシンを上から順に選択する、という方式でもよい。
(実施例1)
以下、本発明の仮想マシン管理システム1の実施例について説明する。
本実施例では、図5の構成を有する仮想マシン管理システム1を例として説明する。
この構成において、本実施例の管理サーバ400は、図9に示す手順で動作する。
図9は、本実施例の仮想マシン管理システム1の動作の一例を示すフローチャートである。
まず、管理サーバ400の探索部104が、新規に配備する第2仮想マシンの要求リソース量分の空きリソースのある最下位システムをシステム全体から検索する(ステップS401)。複数の最下位システムが存在する場合には(ステップS401のYES、かつステップS403のYES)、探索部104が、それらを配備先の候補とし、この時点の最適配備先は"なし"とし(ステップS407)、ステップS409に進む。一方、1つの最下位システムしか存在しない場合は(ステップS104のYES、かつステップS403のNO)、探索部104が、その最下位システムを最適配備先とし(ステップS405)、ステップS419に進む。
また、1つの最下位システムも存在しない場合には(ステップS401のNO)、リソースに空きにある最下位システムが存在しないため、管理サーバ400は、異常終了とするか、新しくサーバを起動し、その中の最下位システムを配備先とし(ステップS421)、処理を終了する。
複数の最下位システムが候補となる場合(ステップS403のYES)、ステップS407の後、探索部104が、配備候補を最下位システムから1つ選択し、配備候補から削除する(ステップS409)。そして、選択した最下位システムに第2仮想マシンを配備した際、探索部104が、移行先の変更が必要な第1仮想マシンを求める(ステップS411)。そして、算出部412が、それぞれの最下位システムに対して第2仮想マシンを配備した際の移行リスクの増加分を計算する(ステップS413)。
最適配備先が"なし"の場合は、決定部416が、その最下位システムを最適配備先として設定する(ステップS415)。または、既に最適配備先が設定されている場合、決定部416が、その最適配備先へ配備した場合の移行リスクの増分を比較し、移行リスクの増分が小さい場合、最適配備先をその最下位システムで置き換える(ステップS415)。この工程を全ての配備先の候補に対して行う(ステップS417のYES)。
すべての配備先の候補に対して処理が終わったら(ステップS417のNO)、最後に設定された最適配備先に対して移行リスクの増加分が一定値以下であれば(ステップS419のYES)、決定部416が、その最適配備先を第2仮想マシンの配備先とする(ステップS423)。最適配備先の移行リスクの増加分が一定値以上の場合には(ステップS419のNO)、管理サーバ400は、リソース不足として異常終了とするか、新しくサーバを起動し、その中の最下位システムを配備先とする(ステップS421)。
このように構成された本実施例において、まず、図10に示すように、5台の仮想マシンVM1〜VM5が管理対象システム200に配備されている場合に、新規に仮想マシンVM6を配備することとした。管理対象システム200の階層構造は2階層とした。
また、説明の簡単化のために、仮想マシンのサービスレベルを"高"と"低"の2段階とする。サービスレベル"高"の仮想マシンがサービスレベル"低"の仮想マシンより5倍移行コストが高いものとし、それぞれ5α、1αと示す。以下、本実施例でのα、βは、上記実施形態で説明したパラメータとは定義が少し異なる。すなわち、たとえば、2段階のサービスレベル"高"と"低"を引数とした上記実施形態の移行コスト関数で求めた結果を、5αと1αとしてそれぞれ示している。
また、過負荷状態になる度合いも"高"、"低"の2段階で表すものとする。最下位システム206のリソース使用率が6割を超えた場合、過負荷状態になる度合いが"高"になるとする。過負荷状態になる度合いが"高"の状態の移行リスクは"低"の状態の2倍となるとし、それぞれ2β、1βとする。
また、上位システムを跨がない最下位システム206間の移行コストを1γとし、上位システム204を跨る移行コストを5γとする。
なお、各仮想マシンのサービスレベルと要求リソース量は図11に示す通りであるとする。空きリソースの対象はCPUリソースに限定し、それぞれの最下位システムの格納許容容量は4GHzであるとする。仮想マシンが消費するリソースの総和がこの値を一定時間超過した場合を過負荷状態として定義する。
はじめに、探索部104と算出部412が、仮想マシンVM6を配備する前の図10の状態における各仮想マシンVM1〜VM5の移行先と移行リスクを計算する。図10において、最下位システム206の矩形の面積が、その最下位システム206の格納許容容量の大きさを示している。探索部104は、各仮想マシンに対して、現在配備されている最下位システム206から、より深い階層に対して順に空きリソースを移行先として検索していけばよい。
探索結果は図12のようになる。各仮想マシンから出ている矢印の先が移行先を示す。矢印が点線のものは、移行する度合いが"低"、実線のものは"高"を指す。また、仮想マシンVMの矩形が太線で示されているものは、サービスレベルが"高"、細線で示されているものは、サービスレベルが"低"であることを意味する。たとえば、仮想マシンVM1の移行リスクは、仮想マシンのサービスレベルが"高"であり、現在配備されている最下位システムの過負荷状態になる度合いは、容量4GHzに対して3GHz分の仮想マシンが配備されているため"高"となる。
移行先は上位システムを跨がない移行になるため、仮想マシンVM1の移行リスクは5α×2β×1γ=10αβγとなる。
同様に仮想マシンVM2〜VM5についても計算すると、それぞれ2αβγ、1αβγ、5αβγ、1αβγとなり、システム全体の移行リスクはその総和の19αβγとなる。
次に、探索部104によって、最下位システム206b、206c、206dがVM6の配備先候補として探索される。各配備先候補について、移行リスクを算出する。最下位システム206bの場合、図16に示すようになり、配備による影響を受ける仮想マシンは、VM1とVM2とVM3になる。VM1、VM2、およびVM3におけるVM6配備後の移行リスクは、それぞれ50αβγ、2αβγ、および2αβγになる。さらに、VM6の移行リスクは、50αβγである。よって、配備後の移行リスクの増分は、91αβγとなる。
同様にして、VM6の配備先が最下位システム206cおよび206dの場合、配備による影響を受ける仮想マシンは、ともにVM4とVM5になる。VM6の配備先が最下位システム206cの場合、VM4とVM5の配備後の移行リスクは、10αβγと5αβγとなる。VM6の移行リスクは10αβγとなる。よって、VM6配備後のVM4、VM5、およびVM6の移行リスクは、25αβγとなる。
VM6の配備先が最下位システム206dの場合、VM4とVM5におけるVM6配備後の移行リスクは、25αβγと2αβγとなる。VM6の移行リスクは10αβγである。よって、VM6配備後のVM4、VM5、およびVM6の移行リスクは、37αβγとなる。
VM6配備前のVM4とVM5の移行リスクは、6αβγである。よって、配備先が最下位システム206cおよび206dの場合、配備後の移行リスクの増分は、それぞれ19αβγおよび31αβγとなる。したがって、配備後の移行リスクの増分が最も小さいのは、19αβγであり、VM6の配備先が最下位システム206cの時である。よって、VM6の配備先は、最下位システム206cとなる。
このように本発明の仮想マシン管理方式では、配備後の移行リスクが最も小さくなるように配備先を決定するため、配備後は図13のようになる。このときの各仮想マシンの移行先は、図14のように更新される。仮想マシンVM1〜VM6の移行リスクを計算すると、それぞれ10αβγ、2αβγ、1αβγ、10αβγ、5αβγ、10αβγとなり、システム全体の移行リスクは38αβγとなった。この結果は、後述する比較例に比べて小さい値となる。
このように、本発明の仮想マシン管理システム1によれば、仮想マシンを移行する状況になった際の移行コストを抑えることを可能する。
(比較例1)
比較例1では、移行リスクを考慮せず、最も空きのある最下位システムに配備する方式を用いた。
移行リスクを考慮せず、最も空きのある最下位システムに配備する方式では、図15のように配備されることになる。図15のように仮想マシンVM6を最下位システム206bに配備した後の移行リスクを計算した。
この場合、仮想マシンVM1の移行先が図16のように変更され、移行には上位システムを跨る必要が生じることなる。仮想マシンVM1から仮想マシンVM6の移行リスクを計算すると、それぞれ50αβγ、2αβγ、2αβγ、5αβγ、1αβγ、50αβγとなり、システム全体の移行リスクは110αβγとなる。
上述した実施例1のシステム全体の移行リスク38αβγと比較して、比較例1では移行リスクが大きいことがわかる。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
仮想マシンを管理する管理サーバが、
少なくとも一つの第1仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、前記システムの状態に応じて前記第1仮想マシンを予め定めた移行先に移行し、
配備する第2仮想マシンがあるとき、前記第2仮想マシンの配備先候補毎に、前記第2仮想マシンの配備による影響を考慮して、前記第1仮想マシンが動作している最下位システムまたは前記第2仮想マシンの前記配備先候補の最下位システムを起点として、前記階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、前記第1仮想マシンまたは前記第2仮想マシンの移行先をそれぞれ探索し、
前記第2仮想マシンの配備先候補毎に、探索された前記移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、前記第2仮想マシンの配備によって生じる前記移行リスクの変化分を算出し、
算出された前記移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を前記第2仮想マシンの配備先に決定し、
決定された前記配備先に前記第2仮想マシンを配備する仮想マシン管理方法。
(付記2)
付記1に記載の仮想マシン管理方法において、
前記管理サーバが、
前記第2仮想マシンの配備による影響を受ける第1仮想マシンとして、前記第2仮想マシンの前記配備先候補の前記最下位システムを前記移行先としている第1仮想マシン、および前記第2仮想マシンの前記配備先候補の前記最下位システムで動作している第1仮想マシンを求め、
求められた前記第1仮想マシンおよび前記第2仮想マシンについて、移行先を探索するとともに、前記移行リスクの変化分を算出する仮想マシン管理方法。
(付記3)
付記1または2に記載の仮想マシン管理方法において、
前記管理サーバが、
階層毎に、前記階層構造の上位のシステム程、前記移行コストが大きくなるように定義される関数を用いて前記移行コストを算出する仮想マシン管理方法。
(付記4)
付記3に記載の仮想マシン管理方法において、
前記関数は、前記第1仮想マシンまたは前記第2仮想マシン毎に定められたサービスレベルに応じて変わる前記移行コストを、前記第1仮想マシンおよび前記第2仮想マシンの前記サービスレベルを引数としてそれぞれ定義される仮想マシン管理方法。
(付記5)
付記3または4に記載の仮想マシン管理方法において、
前記管理サーバが、
前記移行先に影響がある前記第1仮想マシンおよび当該第2仮想マシンについて探索された前記移行先に将来移行する可能性の度合として、前記第1仮想マシンおよび前記第2仮想マシンが動作する最下位システムが将来的に過負荷状態になる可能性の度合を、前記移行コストの前記関数に乗じて前記移行リスクをそれぞれ算出する仮想マシン管理方法。
(付記6)
付記3乃至5いずれかに記載の仮想マシン管理方法において、
前記管理サーバが、前記移行リスクを保持する記憶装置を備え、
前記管理サーバが、
定期的に、前記最下位システムの前記移行リスクを算出し、
各階層のシステム毎に前記移行リスクの総和を求め、
求めた前記各階層のシステム毎の前記移行リスクの総和を前記記憶装置に保持し、
前記各階層のシステム毎の前記移行リスクの総和が、前記階層毎に予め設定された閾値を超えているか否かを判定し、
前記閾値を超えていると判定された階層のシステムに含まれる下位のシステムは、探索対象から外す仮想マシン管理方法。
(付記7)
付記1乃至6いずれかに記載の仮想マシン管理方法において、
前記管理サーバが、
前記システム上で実行している前記第1仮想マシンの性能情報または前記システムの性能情報を監視し、前記性能情報における一定値以上の変動を検知し、
前記性能情報における一定値以上の前記変動を検知したとき、前記変動が検知されたシステムの最下位システム上で実行している前記第1仮想マシン、および当該最下位システムを前記移行先とする前記第1仮想マシンに対し、前記移行先を再探索し、それぞれ更新する仮想マシン管理方法。
(付記8)
付記1乃至7いずれかに記載の仮想マシン管理方法において、
過負荷状態になったシステムが存在するかを確認し、
前記過負荷状態になったシステムに対し、当該システム上の第1仮想マシンの中から、前記過負荷状態を回避可能で、かつ、前記移行コストが小さい第1仮想マシンの集合を求め、
前記集合の第1仮想マシンに対し、移行を実行する仮想マシン管理方法。
(付記9)
仮想マシンを管理する管理サーバを実現するコンピュータに、
少なくとも一つの第1仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、前記システムの状態に応じて前記第1仮想マシンを予め定めた移行先に移行する手順、
配備する第2仮想マシンがあるとき、前記第2仮想マシンの配備先候補毎に、前記第2仮想マシンの配備による影響を考慮して、前記第1仮想マシンが動作している最下位システムまたは前記第2仮想マシンの前記配備先候補の最下位システムを起点として、前記階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、前記第1仮想マシンまたは前記第2仮想マシンの移行先をそれぞれ探索する手順、
前記第2仮想マシンの配備先候補毎に、探索された前記移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、前記第2仮想マシンの配備によって生じる前記移行リスクの変化分を算出する手順、
算出された前記移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を前記第2仮想マシンの配備先に決定する手順、
決定された前記配備先に前記第2仮想マシンを配備する手順を実行させるためのプログラム。
(付記10)
付記9に記載のプログラムにおいて、
前記コンピュータに、
前記第2仮想マシンの配備による影響を受ける第1仮想マシンとして、前記第2仮想マシンの前記配備先候補の前記最下位システムを前記移行先としている第1仮想マシン、および前記第2仮想マシンの前記配備先候補の前記最下位システムで動作している第1仮想マシンを求める手順、
前記第1仮想マシンを求める手順で求めた前記第1仮想マシンおよび前記第2仮想マシンについて、移行先を探索するとともに、前記移行リスクの変化分を算出する手順を実行させるためのプログラム。
(付記11)
付記9または10に記載のプログラムにおいて、
前記階層毎に、前記階層構造の上位のシステム程、前記移行コストが大きくなるように定義される関数を用いて前記移行コストを算出する手順を実行させるためのプログラム。
(付記12)
付記11に記載のプログラムにおいて、
前記関数は、前記第1仮想マシンまたは前記第2仮想マシン毎に定められたサービスレベルに応じて変わる前記移行コストを、前記第1仮想マシンおよび前記第2仮想マシンの前記サービスレベルを引数としてそれぞれ定義されるプログラム。
(付記13)
付記11または12に記載のプログラムにおいて、
前記コンピュータに、前記移行先に影響がある前記第1仮想マシンおよび当該第2仮想マシンについて探索された前記移行先に将来移行する可能性の度合として、前記第1仮想マシンおよび前記第2仮想マシンが動作する最下位システムが将来的に過負荷状態になる可能性の度合を、前記移行コストの前記関数に乗じて前記移行リスクをそれぞれ算出する手順を実行させるためのプログラム。
(付記14)
付記11乃至13いずれかに記載のプログラムにおいて、
前記コンピュータが、前記移行リスクを保持する記憶装置を備え、
前記コンピュータに、
定期的に、前記最下位システムの前記移行リスクを算出する手順、
各階層のシステム毎に前記移行リスクの総和を求める手順、
求めた前記各階層のシステム毎の前記移行リスクの総和を前記記憶装置に保持する手順、
前記各階層のシステム毎の前記移行リスクの総和が、前記階層毎に予め設定された閾値を超えているか否かを判定する手順、
前記探索する手順において、前記閾値を超えていると判定された階層のシステムに含まれる下位のシステムは、探索対象から外す手順を実行させるためのプログラム。
(付記15)
付記9乃至14いずれかに記載のプログラムにおいて、
前記コンピュータに、
前記システム上で実行している前記第1仮想マシンの性能情報または前記システムの性能情報を監視し、前記性能情報における一定値以上の変動を検知する手順、
前記性能情報における一定値以上の前記変動を検知したとき、前記変動が検知されたシステムの最下位システム上で実行している前記第1仮想マシン、および当該最下位システムを前記移行先とする前記第1仮想マシンに対し、前記移行先を再探索し、更新する手順を実行させるためのプログラム。
(付記16)
付記9乃至15いずれかに記載のプログラムにおいて、
前記コンピュータに、
過負荷状態になったシステムが存在するかを確認する手順、
前記過負荷状態になったシステムに対し、当該システム上の第1仮想マシンの中から、前記過負荷状態を回避可能で、かつ、前記移行コストが小さい第1仮想マシンの集合を求める手順、
求められた前記集合の第1仮想マシンに対し、移行を実行する手順を実行させるためのプログラム。
この出願は、2012年5月15日に出願された日本出願特願2012−111396号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (10)

  1. 少なくとも一つの第1仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、前記システムの状態に応じて前記第1仮想マシンを予め定めた移行先に移行する管理手段と、
    配備する第2仮想マシンがあるとき、前記第2仮想マシンの配備先候補毎に、前記第2仮想マシンの配備による影響を考慮して、前記第1仮想マシンまたは前記第2仮想マシンの移行先を探索する探索手段と、
    前記第2仮想マシンの配備先候補毎に、前記探索手段が探索した前記移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、前記第2仮想マシンの配備によって生じる前記移行リスクの変化分を算出する算出手段と、
    前記算出手段が算出した前記移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を前記第2仮想マシンの配備先に決定する決定手段と、を備え、
    前記探索手段は、前記第1仮想マシンが動作している最下位システムまたは前記第2仮想マシンの前記配備先候補の最下位システムを起点として、前記階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、前記第1仮想マシンまたは前記第2仮想マシンの前記移行先をそれぞれ探索し、
    前記管理手段は、前記決定手段が決定した前記配備先に前記第2仮想マシンを配備する仮想マシン管理システム。
  2. 請求項1に記載の仮想マシン管理システムにおいて、
    前記第2仮想マシンの配備による影響を受ける第1仮想マシンとして、前記第2仮想マシンの前記配備先候補の前記最下位システムを前記移行先としている第1仮想マシン、および前記第2仮想マシンの前記配備先候補の前記最下位システムで動作している第1仮想マシンを求める判別手段をさらに備え、
    前記判別手段が求めた前記第1仮想マシンおよび前記第2仮想マシンについて、前記探索手段が移行先を探索するとともに、前記算出手段が、前記移行リスクの変化分を算出する仮想マシン管理システム。
  3. 請求項1または2に記載の仮想マシン管理システムにおいて、
    前記算出手段は、階層毎に、前記階層構造の上位のシステム程、前記移行コストが大きくなるように定義される関数を用いて前記移行コストを算出する仮想マシン管理システム。
  4. 請求項3に記載の仮想マシン管理システムにおいて、
    前記関数は、前記第1仮想マシンまたは前記第2仮想マシン毎に定められたサービスレベルに応じて変わる前記移行コストを、前記第1仮想マシンおよび前記第2仮想マシンの前記サービスレベルを引数としてそれぞれ定義される仮想マシン管理システム。
  5. 請求項3または4に記載の仮想マシン管理システムにおいて、
    前記算出手段は、前記移行先に影響がある前記第1仮想マシンおよび当該第2仮想マシンについて前記探索手段が探索した前記移行先に将来移行する可能性の度合として、前記第1仮想マシンおよび前記第2仮想マシンが動作する最下位システムが将来的に過負荷状態になる可能性の度合を、前記移行コストの前記関数に乗じて前記移行リスクをそれぞれ算出する仮想マシン管理システム。
  6. 請求項3乃至5いずれかに記載の仮想マシン管理システムにおいて、
    前記算出手段が、定期的に、前記最下位システムの前記移行リスクを算出し、各階層のシステム毎に前記移行リスクの総和を求め、
    前記算出手段が求めた前記各階層のシステム毎の前記移行リスクの総和を保持する保持手段と、
    前記各階層のシステム毎の前記移行リスクの総和が、前記階層毎に予め設定された閾値を超えているか否かを判定する判定手段と、をさらに備え、
    前記探索手段は、前記判定手段により前記閾値を超えていると判定された階層のシステムに含まれる下位のシステムは、探索対象から外す仮想マシン管理システム。
  7. 請求項1乃至6いずれかに記載の仮想マシン管理システムにおいて、
    前記システム上で実行している前記第1仮想マシンの性能情報または前記システムの性能情報を監視し、前記性能情報における一定値以上の変動を検知する監視手段をさらに備え、
    前記監視手段が前記性能情報における一定値以上の前記変動を検知したとき、前記探索手段は、前記変動が検知されたシステムの最下位システム上で実行している前記第1仮想マシン、および当該最下位システムを前記移行先とする前記第1仮想マシンに対し、前記移行先を再探索し、それぞれ更新する仮想マシン管理システム。
  8. 請求項1乃至7いずれかに記載の仮想マシン管理システムにおいて、
    過負荷状態になったシステムが存在するかを確認する確認手段と、
    前記過負荷状態になったシステムに対し、当該システム上の第1仮想マシンの中から、前記過負荷状態を回避可能で、かつ、前記移行コストが小さい第1仮想マシンの集合を求める手段と、をさらに備え、
    前記管理手段は、前記集合を求める手段が求めた前記集合の第1仮想マシンに対し、移行を実行する仮想マシン管理システム。
  9. 仮想マシンを管理する管理サーバが、
    少なくとも一つの第1仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、前記システムの状態に応じて前記第1仮想マシンを予め定めた移行先に移行し、
    配備する第2仮想マシンがあるとき、前記第2仮想マシンの配備先候補毎に、前記第2仮想マシンの配備による影響を考慮して、前記第1仮想マシンが動作している最下位システムまたは前記第2仮想マシンの前記配備先候補の最下位システムを起点として、前記階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、前記第1仮想マシンまたは前記第2仮想マシンの移行先をそれぞれ探索し、
    前記第2仮想マシンの配備先候補毎に、探索された前記移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、前記第2仮想マシンの配備によって生じる前記移行リスクの変化分を算出し、
    算出された前記移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を前記第2仮想マシンの配備先に決定し、
    決定された前記配備先に前記第2仮想マシンを配備する仮想マシン管理方法。
  10. 仮想マシンを管理する管理サーバを実現するコンピュータに、
    少なくとも一つの第1仮想マシンが動作する物理マシンを有するシステムを、物理的または論理的な階層構造を定義して管理し、前記システムの状態に応じて前記第1仮想マシンを予め定めた移行先に移行する手順、
    配備する第2仮想マシンがあるとき、前記第2仮想マシンの配備先候補毎に、前記第2仮想マシンの配備による影響を考慮して、前記第1仮想マシンが動作している最下位システムまたは前記第2仮想マシンの前記配備先候補の最下位システムを起点として、前記階層構造のより上位のシステムに包含される近隣の最下位システムを、探索範囲を拡大して探索して、前記第1仮想マシンまたは前記第2仮想マシンの移行先をそれぞれ探索する手順、
    前記第2仮想マシンの配備先候補毎に、探索された前記移行先に将来移行する可能性の度合と移行コストを考慮した移行リスクと、前記第2仮想マシンの配備によって生じる前記移行リスクの変化分を算出する手順、
    算出された前記移行リスクの変化分に基づいて、システム全体の移行リスクの変化分が最小となる配備先候補を前記第2仮想マシンの配備先に決定する手順、
    決定された前記配備先に前記第2仮想マシンを配備する手順を実行させるためのプログラム。
JP2014515462A 2012-05-15 2013-03-04 仮想マシン管理システム、仮想マシン管理方法およびプログラム Pending JPWO2013171944A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014515462A JPWO2013171944A1 (ja) 2012-05-15 2013-03-04 仮想マシン管理システム、仮想マシン管理方法およびプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012111396 2012-05-15
JP2012111396 2012-05-15
JP2014515462A JPWO2013171944A1 (ja) 2012-05-15 2013-03-04 仮想マシン管理システム、仮想マシン管理方法およびプログラム

Publications (1)

Publication Number Publication Date
JPWO2013171944A1 true JPWO2013171944A1 (ja) 2016-01-07

Family

ID=49583377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014515462A Pending JPWO2013171944A1 (ja) 2012-05-15 2013-03-04 仮想マシン管理システム、仮想マシン管理方法およびプログラム

Country Status (2)

Country Link
JP (1) JPWO2013171944A1 (ja)
WO (1) WO2013171944A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085687A (ja) * 2014-10-28 2016-05-19 株式会社三菱東京Ufj銀行 プログラムインストールコスト算出装置、プログラムインストール装置及び記録媒体
JP6385304B2 (ja) * 2015-03-23 2018-09-05 Kddi株式会社 計算機資源提供サービスの管理装置
JP2016192661A (ja) * 2015-03-31 2016-11-10 日本電気株式会社 ネットワークシステム、ネットワーク制御方法および制御装置
JP2016192660A (ja) * 2015-03-31 2016-11-10 日本電気株式会社 ネットワークシステム、ネットワーク制御方法、制御装置および運用管理装置
WO2017026017A1 (ja) * 2015-08-07 2017-02-16 株式会社日立製作所 管理計算機および計算機システムの管理方法
JP6801267B2 (ja) 2016-07-04 2020-12-16 富士通株式会社 評価プログラム、評価方法、評価装置および情報処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785485B2 (en) * 2005-07-27 2017-10-10 Intel Corporation Virtualization event processing in a layered virtualization architecture
US8327353B2 (en) * 2005-08-30 2012-12-04 Microsoft Corporation Hierarchical virtualization with a multi-level virtualization mechanism
WO2007119329A1 (ja) * 2006-03-14 2007-10-25 Nec Corporation 階層化システム及びその管理方法と、プログラム
WO2007136021A1 (ja) * 2006-05-24 2007-11-29 Nec Corporation 仮想マシン管理装置、仮想マシン管理方法およびプログラム
JP5454135B2 (ja) * 2009-12-25 2014-03-26 富士通株式会社 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム

Also Published As

Publication number Publication date
WO2013171944A1 (ja) 2013-11-21

Similar Documents

Publication Publication Date Title
US9384059B2 (en) Comparing resource costs between allocation plans in a load balance apparatus
WO2013171944A1 (ja) 仮想マシン管理システム、仮想マシン管理方法およびプログラム
JP4293011B2 (ja) 障害時のサーバ決定方法
JP5370946B2 (ja) リソース管理方法及び計算機システム
JP6075226B2 (ja) プログラム、仮想マシン管理方法および情報処理装置
JP6233413B2 (ja) タスク割り当て判定装置、制御方法、及びプログラム
US20100250734A1 (en) Server reassignment support system and server reassignment support method
JP2011128852A (ja) 仮想ハードディスクの管理サーバおよび管理方法、管理プログラム
US9354914B2 (en) Storage system
JP2008191949A (ja) マルチコアシステムおよびマルチコアシステムの負荷分散方法
JP2015146154A (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
JP2011118525A (ja) サーバ管理装置とサーバ管理方法およびサーバ管理プログラム
JP5609730B2 (ja) 情報処理プログラム及び方法、転送処理装置
US20170262196A1 (en) Load monitoring method and information processing apparatus
JP6293683B2 (ja) 計算機システム及び計算機システムの性能障害の対処方法
KR20130019698A (ko) 사용자 스케줄러와 마이그레이션(Migration)을 통한 자원 최적화 방법 및 시스템
JPWO2016178376A1 (ja) 仮想ネットワーク制御装置、仮想ネットワーク制御方法、及びプログラム
US20150074454A1 (en) Information processing method and apparatus for migration of virtual disk
US20220237016A1 (en) Apparatus for determining resource migration schedule
US20190114079A1 (en) Apparatus for managing disaggregated memory and method thereof
JP2018018175A (ja) 仮想マシン制御プログラム、仮想マシン制御方法および仮想マシン制御装置
JP2011192049A (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
WO2012046386A1 (ja) サーバシステム、管理装置、サーバ管理方法、およびプログラム
US10394615B2 (en) Information processing apparatus and job management method
JP6960444B2 (ja) 計算機システム及びリソース管理方法