JP2012088808A - 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法 - Google Patents

仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法 Download PDF

Info

Publication number
JP2012088808A
JP2012088808A JP2010233020A JP2010233020A JP2012088808A JP 2012088808 A JP2012088808 A JP 2012088808A JP 2010233020 A JP2010233020 A JP 2010233020A JP 2010233020 A JP2010233020 A JP 2010233020A JP 2012088808 A JP2012088808 A JP 2012088808A
Authority
JP
Japan
Prior art keywords
virtual machine
live migration
started
processing status
correlation coefficient
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.)
Granted
Application number
JP2010233020A
Other languages
English (en)
Other versions
JP5614226B2 (ja
Inventor
Atsuji Sekiguchi
敦二 関口
Masazumi Matsubara
正純 松原
Yuji Wada
裕二 和田
Yasuhide Matsumoto
安英 松本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010233020A priority Critical patent/JP5614226B2/ja
Priority to US13/229,796 priority patent/US8701108B2/en
Publication of JP2012088808A publication Critical patent/JP2012088808A/ja
Application granted granted Critical
Publication of JP5614226B2 publication Critical patent/JP5614226B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ライブマイグレーションを効率的に実行する。
【解決手段】仮想マシン制御装置20は、仮想マシン1(VM1)のライブマイグレーションが開始された場合に、仮想マシン1および他に動作している仮想マシン2(VM2)の処理状況を取得する。そして、仮想マシン制御装置20は、取得された各仮想マシンの処理状況を用いて、ライブマイグレーションが開始された仮想マシン1の処理状況と他の仮想マシン2の処理状況との相関係数を算出する。その後、仮想マシン制御装置20は、算出された相関係数が正の値である仮想マシン2のライブマイグレーションを、開始された仮想マシン1のライブマイグレーションと並行して実行する。
【選択図】図2

Description

本発明は、仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法に関する。
従来、サーバなどの物理マシン(PM:Physical Machine)上で、仮想マシン(VM:Virtual Machine)を動作させる仮想化技術が利用されている。仮想化技術としては、ハードウェアの機能により論理的に分割するLPAR(Logical PARtitioning)やソフトウェアにより論理的に分割する仮想化OS(Operating System)などがある。
物理マシンでは、LPARや仮想化OSを用いて、CPU(Central Processing Unit)や記憶装置などのリソースを仮想化し、仮想化したリソースでOSを動作させて、仮想マシンを実現する。例えば、複数の仮想マシンに仮想化したリソースを割り当てる手法としては、各LPARのリソース利用状況を収集して相関係数を算出し、収集したリソース利用状況と相関係数とに基づいて、各LPARのリソースを配置する手法が知られている。
近年、インターネット上のサービスとして、情報処理システムに用いるCPU、記憶装置、ソフトウェアなどを提供するIaaS(Infrastructure as a Service)において、仮想化技術が利用されている。
IaaSを提供する提供者側では、仮想マシンを動作させている物理マシンの保守や仮想マシン管理基盤の更新などを行う場合でも、仮想マシンの利用者との間で締結したSLA(Service Level Agreement)により、仮想マシンの停止が制限される。この場合、物理マシン上で動作する仮想マシンのメモリ内容を別の物理マシンにネットワーク経由でコピーし、別の物理マシンに仮想マシンを動的に移動させるライブマイグレーションを実行した上で、物理マシンの保守等を実施する。
特開2004−199561号公報
しかしながら、従来のライブマイグレーションは、効率的でないという課題があった。例えば、複数の仮想マシンをライブマイグレーションする場合について説明する。物理マシンは、ライブマイグレーションを実行する場合、CPU、メモリ、ネットワーク帯域などリソースを使用するので、同時に複数のライブマイグレーションを実行すると、リソースを多く消費して他の処理に支障をきたす。また、仮想マシンを1つずつライブマイグレーションした場合には、ライブマイグレーションで使用するリソースの消費を抑えることができるが、時間がかかる。すなわち、いずれの手法であっても、効率的なライブマイグレーションとは言えない。
1つの側面では、ライブマイグレーションを効率的に実行できる仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法を提供することを目的とする。
第1の案では、仮想マシンのライブマイグレーションが開始された場合に、仮想マシンおよび他に動作している仮想マシンの処理状況を取得する取得部を有する。取得部によって取得された各仮想マシンの処理状況を用いて、ライブマイグレーションが開始された仮想マシンの処理状況と他の仮想マシンの処理状況との相関係数を算出する算出部を有する。算出部によって算出された相関係数が正の値である仮想マシンのライブマイグレーションを、開始されたライブマイグレーションと並行して実行する実行部を有する。
ライブマイグレーションを効率的に実行できる。
図1は、実施例1に係るシステムの全体構成を示す図である。 図2は、実施例2に係る仮想マシン制御装置とサーバの構成を示すブロック図である。 図3は、処理件数テーブルに記憶される情報の例を示す図である。 図4は、相関係数テーブルに記憶される情報の例を示す図である。 図5は、VMの依存関係例を示す図である。 図6は、VM1のライブマイグレーション開始後のVM2の処理件数の変化例を示す図である。 図7は、VM1のライブマイグレーション開始後のVM2以外の各VMの処理件数の変化例を示す図である。 図8は、各VMの処理件数の変化を表す図である。 図9は、実施例2に係る仮想マシン制御装置における処理の流れを示すフローチャートである。 図10は、実施例3に係る仮想マシン制御装置における処理の流れを示すフローチャートである。 図11は、仮想マシン制御プログラムを実行するコンピュータシステムの例を示す図である。
以下に、開示する仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、実施例1に係るシステムの全体構成を示す図である。図1に示すように、このシステムは、サーバ1と、サーバ2と、サーバ3と、サーバ4と、仮想マシン制御装置10とがネットワークを介して相互に通信可能に接続される。
サーバ1は、仮想マシンVM(Virtual Machine)1、VM2、VM3を動作させる物理マシンであり、サーバ2は、仮想マシンVM4、VM5、VM6を動作させている物理マシンである。サーバ3とサーバ4は、仮想マシンを動作させていない物理マシンである。これらのサーバは、VMを用いてWebサービス等を提供し、例えばIaaS(Infrastructure as a Service)などを実現するサーバである。
仮想マシン制御装置10は、取得部10aと算出部10bと実行部10cとを有し、各サーバで動作しているVMの移動制御を実施するコンピュータである。ここでは、VMの利用者との間で締結したSLA(Service Level Agreement)により、例えば一ヶ月あたり5分以上は停止することができないなどVMの停止が制限されているものとする。
このような状態において、サーバ1およびサーバ2を保守作業等のために停止させる場合について説明する。まず、仮想マシン制御装置10は、サーバ1で動作するVM1をサーバ3にライブマイグレーションする指示を管理者等から受け付ける。続いて、仮想マシン制御装置10は、ライブマイグレーションの開始指示をサーバ1に送信する。この結果、サーバ1は、VM1のライブマイグレーションを実行する。
次に、仮想マシン制御装置10の取得部10aは、VM1のライブマイグレーションが開始された場合に、VM1および他に動作しているVM2〜VM6の処理状況を取得する。そして、算出部10bは、取得部10aによって取得された各VM1〜VM6の処理状況を用いて、ライブマイグレーションが開始されたVM1の処理状況との相関係数を算出する。その後、実行部10cは、算出部10bによって算出された相関係数が正の値であるVM2を、開始されたライブマイグレーションと並行してライブマイグレーションを実行させるVM2と決定し、決定したVM2をサーバ3に移動させるライブマイグレーションを実行する。この結果、サーバ1は、先にライブマイグレーションを実行したVM1と相関の強いVM2についても、VM1と並行してライブマイグレーションを実行する。
つまり、仮想マシン制御装置10は、VM1のリクエスト処理件数がライブマイグレーションによって減少したのと同様に、リクエスト処理件数が減少したVM2を特定する。このVM2は、VM1がボトルネックとなってリクエスト処理件数が減少しているため、リソースの使用状況に余裕がある。このことを利用して、仮想マシン制御装置10は、ライブマイグレーション対象であるVM2のライブマイグレーションをVM1のライブマイグレーションの完了を待たずに実行する。
その後、仮想マシン制御装置10は、VM1とVM2のライブマイグレーションが完了すると、VM3をサーバ3にライブマイグレーションさせる指示をサーバ1に送信する。そして、仮想マシン制御装置10は、上述した手法によって、VM3と並行してVM4のライブマイグレーションを実行する。さらに、仮想マシン制御装置10は、VM3とVM4のライブマイグレーションが完了すると、VM5をサーバ3にライブマイグレーションさせる指示をサーバ2に送信する。そして、仮想マシン制御装置10は、上述した手法によって、VM5と並行してVM6のライブマイグレーションを実行する。
したがって、VM1〜VM6を1つずつライブマイグレーションする場合に比べて、ライブマイグレーション回数を削減できるとともに、ボトルネックを利用しているので、サーバのリソースを有効的に利用できる。この結果、ライブマイグレーションを効率的に実行できる。
次に、仮想マシン制御装置および各サーバについて説明する。実施例2に係る仮想マシン制御装置20と各サーバとの接続関係は図1と同様とする。ここでは、各装置の構成、仮想マシン制御装置における処理の流れ、実施例2による効果を順に説明する。
[サーバの構成]
実施例2に係るシステムを仮想マシン制御装置と各サーバの構成について説明する。図2は、実施例2に係る仮想マシン制御装置とサーバの構成を示すブロック図である。なお、図1に示した各サーバは同様の構成を有するので、ここでは、サーバ1について説明する。
図2に示すように、サーバ1は、通信制御I/F部1aと、記憶部1bと、仮想マシン領域1cと、制御部1dとを有する。なお、ここで示した各機能部はあくまで例であり、これに限定されるものではなく、例えば、キーボード、マウス、ディスプレイ等を有していてもよい。
通信制御I/F部1aは、他の装置との間の通信を制御するインタフェースである。例えば、通信制御I/F部1aは、ライブマイグレーションに伴ってVMのメモリ内容を送受信し、仮想マシン制御装置20からライブマイグレーションの実行指示等を受信する。
記憶部1bは、後述する制御部1dによる各種処理に必要なデータおよびプログラムを格納する半導体メモリ素子、または、ハードディスクなどの記憶装置である。例えば、VMの識別番号、VMのコンテキスト、VMのマシンイメージ等のVMに関する情報を記憶する。仮想マシン領域1cは、制御部1dによって作成された複数のVMを起動する領域であり、任意に数のVMを起動することができる。ここでは、仮想マシン領域1cでは、VM1とVM2が動作している。
制御部1dは、例えばCPU(Central Processing Unit)などの電子回路である。この制御部1dは、OSなどの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、仮想マシン管理部1eを有し、これらによって各種処理を実行する。
仮想マシン管理部1eは、VMの作成、削除、起動、停止などVMに関する各種制御を実施する制御部であり、計測部1fを有する。例えば、仮想マシン管理部1eは、VM作成指示を受け付けた場合には、仮想マシン領域1cにVMを作成して起動し、VM削除指示を受け付けた場合には、該当VMを仮想マシン領域1cから削除する。また、仮想マシン管理部1eは、仮想マシン制御装置20からライブマイグレーション実行指示を受信した場合には、該当するVMのライブマイグレーションを実行する。
ここで、ライブマイグレーションについて簡単に説明する。仮想マシン管理部1eは、記憶部1bに記憶される該当VMに関する情報から、使用されていないコンテキストなどのメモリ情報をライブマイグレーション先にコピーする。そして、仮想マシン管理部1eは、VMに使用されていたメモリ情報が解放されると、解放されたメモリ情報をライブマイグレーション先にコピーする。このように、仮想マシン管理部1eは、対象VMに使用されていたメモリ情報を順次ライブマイグレーション先にコピーし、未コピーの容量が所定値未満になると、対象VMを一時的に停止して、未コピーのメモリ情報をライブマイグレーション先にコピーする。そして、仮想マシン管理部1eは、ライブマイグレーション先にコピーされたVMの実行指示を送信する。このような手法で、仮想マシン管理部1eは、VMをライブマイグレーションする。なお、ここで記載した手法はあくまで例示であり、これに限定されるものではない。
計測部1fは、仮想マシン領域1c内で動作する各VMの処理状況を収集して、仮想マシン制御装置20に送信する。例えば、計測部1fは、VM1とVM2のそれぞれについて、単位時間当たりのリクエスト処理件数、VMに割り当てられた仮想CPUの使用率等を収集する。そして、計測部1fは、収集したVMごとの処理状況を仮想マシン制御装置20に送信する。
例えば、計測部1fは、VMが動作を開始すると常時、処理状況を収集してもよい。また、計測部1fは、ライブマイグレーションの実行指示を受信してから収集するようにしてもよい。また、計測部1fは、収集したVMごとの処理状況を仮想マシン制御装置20に定期的に送信してもよく、ライブマイグレーションの実行指示を受信してから送信するようにしてもよい。また、計測部1fは、仮想マシン制御装置20から取得要求を受信した後は、処理状況を収集するたびに送信することとしてもよい。
[仮想マシン制御装置の構成]
図2に示すように、仮想マシン制御装置20は、通信制御I/F部21と、入力部22と、表示部23と、記憶部24と、制御部25とを有する。なお、ここで示した各機能部は例であり、これに限定されるものではなく、他の制御部等を有していてもよい。
通信制御I/F部21は、他の装置との間の通信を制御するインタフェースである。例えば、通信制御I/F部21は、各サーバからVMの処理状況を受信し、各サーバにライブマイグレーションの実行指示を送信する。
入力部22は、例えばキーボードやマウスなどであり、ライブマイグレーションの開始指示などを管理者等から受け付けて、制御部25に出力する。表示部23は、例えばモニタやスピーカーなどであり、制御部25によって算出された相関係数やライブマイグレーション結果などを表示する。
記憶部24は、制御部25による各種処理に必要なデータおよびプログラムを格納するとともに、処理件数テーブル24aと相関係数テーブル24bとを有する半導体メモリ素子、または、ハードディスクなどの記憶装置である。例えば、記憶部24は、仮想マシン制御装置20が制御対象とするサーバのIP(Internet Protocol)アドレスとサーバで実行されるVMとを対応付けて記憶する。
処理件数テーブル24aは、制御部25の取得部25bによって取得されたVMごとの処理件数を記憶する。図3は、処理件数テーブルに記憶される情報の例を示す図である。図3に示すように、処理件数テーブル24aは、「時刻、VM1、VM2、VM3、VM4、VM5、VM6」を対応付けて記憶する。
ここで記憶される「時刻」は、各サーバがVMのリクエスト処理件数の収集を開始してからの経過時間であり、「各VM」は、処理状況が収集されたVMのリクエスト処理件数を示す。なお、ここでは、図1に示したVM1〜VM6が実行されている例について説明しているため、「VM1〜VM6」を対応付けて記憶している例を示したが、VM1〜VM10が実行されている場合には、「VM1〜VM10」を対応付けて記憶する。
図3の場合、各サーバがVMのリクエスト処理件数の収集を開始した時刻「0」では、VM1の処理件数が「55」、VM2の処理件数が「50」、VM3の処理件数が「76」である。また、VM4の処理件数が「65」、VM5の処理件数が「59」、VM6の処理件数が「32」であることを示す。
また、各サーバがVMのリクエスト処理件数の収集を開始してから1秒後の時刻「1」では、VM1の処理件数が「62」、VM2の処理件数が「56」、VM3の処理件数が「77」である。また、VM4の処理件数が「56」、VM5の処理件数が「64」、VM6の処理件数が「38」であることを示す。
また、各サーバがVMのリクエスト処理件数の収集を開始してから7秒後の時刻「7」では、VM1の処理件数が「22」、VM2の処理件数が「18」、VM3の処理件数が「81」である。また、VM4の処理件数が「94」、VM5の処理件数が「97」、VM6の処理件数が「41」であることを示す。
図2に戻り、相関係数テーブル24bは、制御部25の算出部25cによって算出された相関係数を記憶する。図4は、相関係数テーブルに記憶される情報の例を示す図である。図4に示すように、相関係数テーブル24bは、「実行VM」と「対象VM」とを対応付けて記憶する。「実行VM」は、先にライブマイグレーションが実行されたVMを示し、「対象VM」は、ライブマイグレーションが未実行であり並行実行の候補とするVMを示す。なお、図4では、VM4までを図示しているが、動作している各VMについて記憶される。
図4の場合、VM1のライブマイグレーションが実行された場合、VM1のリクエスト処理件数とVM2のリクエスト処理件数との相関係数が「0.84」であることを示す。また、VM1のリクエスト処理件数とVM3のリクエスト処理件数との相関係数が「−0.31」であり、VM1のリクエスト処理件数とVM4のリクエスト処理件数との相関係数が「−0.99」であることを示す。
同様に、VM2のライブマイグレーションが実行された場合、VM2のリクエスト処理件数とVM1のリクエスト処理件数との相関係数が「0.85」であることを示す。また、VM2のリクエスト処理件数とVM3のリクエスト処理件数との相関係数が「−0.34」であり、VM2のリクエスト処理件数とVM4のリクエスト処理件数との相関係数が「−0.95」であることを示す。
制御部25は、例えばCPUなどの電子回路であり、OSなどの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部25は、実行開始部25aと、取得部25bと、算出部25cと、実行制御部25dとを有し、これらによって各種処理を実行する。
実行開始部25aは、VMのライブマイグレーションを開始する。例えば、実行開始部25aは、入力部22によって、VM1のライブマイグレーション開始指示が受け付けられた場合、VM1を実行するサーバ1に対して、VM1のライブマイグレーション開始指示を送信する。なお、実行開始部25aは、ライブマイグレーションのスケジューリング等を行うことで、管理者等から開始指示を受信せずに、自動的に開始時期を判定して開始指示を送信することもできる。
取得部25bは、実行開始部25aによってVMのライブマイグレーションが開始された場合に、ライブマイグレーションが開始されたVMおよび他に動作しているVMのリクエスト処理件数を取得して、処理件数テーブル24aに格納する。例えば、取得部25bは、VMのライブマイグレーションが開始された場合、記憶部24に記憶される各サーバのIPアドレスを用いて、各サーバに処理件数取得要求を送信し、各VMのリクエスト処理件数を取得する。
図1の場合、取得部25bは、VM1のライブマイグレーションが開始された場合、サーバ1〜サーバ4に対して処理件数取得要求を送信し、VM1〜VM6のリクエスト処理件数を受信する。このとき、例えば、取得部25bは、VM1のライブマイグレーション開始前後5分間の処理件数を要求することもできる。つまり、取得部25bは、VM1のライブマイグレーションが「12:00」に開始された場合に、「11:55〜12:05」までに収集されたリクエスト処理件数を取得することもできる。そして、取得部25bは、受信したVM1〜VM6のリクエスト処理件数を処理件数テーブル24aに格納するとともに、リクエスト処理件数を受信したことを算出部25cに出力する。
算出部25cは、取得部25bによって取得された各VMの処理状況を用いて、先にライブマイグレーションが開始されたVMの処理状況と他のVMの処理状況との相関係数を算出する。そして、算出部25cは、算出した相関係数を相関係数テーブル24bに格納するとともに、算出したことを実行制御部25dに出力する。
例えば、算出部25cは、VM1のライブマイグレーションが開始された場合、VM1の処理件数とVM2の処理件数との相関係数、VM1の処理件数とVM3の処理件数との相関係数を算出する。また、算出部25cは、VM1の処理件数とVM4の処理件数との相関係数、VM1の処理件数とVM5の処理件数との相関係数、VM1の処理件数とVM3の処理件数との相関係数を算出する。
具体的な算出手法の例として、算出部25cは、式(1)と式(2)を用いて、相関係数「Cc」を算出する。式(1)および式(2)における「X」は、先にライブマイグレーションが開始されたVMにおけるn個の時系列データであり、「Y」は、相関係数を求めるVMにおけるn個の時系列データである。式(2)における「x」は、Xのn個の時系列データのうちj番目のデータを示し、「y」は、Yのn個の時系列データのうちj番目のデータを示す。
また、「Cov(X、Y)」は、XとYの共分散を示し、「δ」は、Xの標準偏差を示し、「δ」は、Yの標準偏差を示し、「u」は、Xの相加平均を示し、「u」は、Yの相加平均を示す。
Figure 2012088808
Figure 2012088808
例えば、VM1のライブマイグレーションが開始された前後5分間のリクエスト処理数を用いて、VM1とVM2の相関係数を求める場合について説明する。この場合、「n」は、VM1のライブマイグレーションが開始された前後5分間で取得された処理件数の数「10」である。「X」は、VM1のライブマイグレーションが開始された前後5分間のリクエスト処理数の各データであり、「Y」は、VM1のライブマイグレーションが開始された前後5分間のVMのリクエスト処理数の各データである。
一例として、図3における時刻「5」でVM1のライブマイグレーションが開始された場合に、VM1の処理件数とVM2の処理件数との相関係数を算出する例について説明する。この場合、VM1のライブマイグレーションが開始された前後5分間は、時刻「0」〜「10」に該当するので、「n」=「10」となる。「X」は、VM1のリクエスト処理件数である「55、62、51、54、53、24、18、22、21、23、30」となり、「Y」は、VM2のリクエスト処理件数である「50、56、61、51、54、50、23、18、22、21、24」となる。
また、「x」は、「51」となり、「y」は、「54」となる。「u」は、「55、62、51、54、53、24、18、22、21、23、30」の平均である。「u」は、「50、56、61、51、54、50、23、18、22、21、24」の平均となる。なお、相加平均や標準偏差の算出手法は、一般的に利用される公知の手法を用いるので、ここでの説明は省略する。
実行制御部25dは、算出部25cによって算出された相関係数が正の相関であるVMを、開始されたライブマイグレーションと並行してライブマイグレーションを実行させるVMと決定し、決定したVMのライブマイグレーションを実行する。
例えば、VM1のライブマイグレーションが開始され、算出部25cが算出したVM1のリクエスト処理件数と他のVMのリクエスト処理件数との相関係数が図4の1行目であったとする。この場合、実行制御部25dは、図4の1行目に記憶される相関係数のうち、最も1に近い相関係数である「VM2」を特定する。そして、実行制御部25dは、先に実行されているVM1のライブマイグレーションと並行してライブマイグレーションさせるVMを「VM2」と決定する。その後、実行制御部25dは、「VM2」を実行するサーバ1およびサーバ1のIPアドレスを記憶部24から特定し、サーバ1に対して、VM2をサーバ3に移動させるライブマイグレーションの実行指示を送信する。
この結果、サーバ1は、VM1をライブマイグレーション中ではあるが、並行して、VM2をサーバ3に移動させるライブマイグレーションを実行する。なお、実行制御部25dは、移動先のサーバについては、任意に決定することができ、また、CPU使用率などのリソース使用率が小さいサーバを移動先としてもよい。
[具体例]
次に、各VMの依存関係の具体例を挙げて相関関係について説明する。図5は、VMの依存関係例を示す図であり、図6は、VM1のライブマイグレーション開始後のVM2の処理件数の変化例を示す図である。図7は、VM1のライブマイグレーション開始後のVM2以外の各VMの処理件数の変化例を示す図であり、図8は、各VMの処理件数の変化を表す図である。
ここでは、図5に示すように、VM1〜VM5は、Web−AP(Application)−DB(Database)3層システムを形成している例で説明する。VM1とVM4は、Webサービスを提供する仮想マシンである。VM2は、VM1からリクエストを受け付けて、VM3から各種データを取得し、VM1に応答するAPサーバを実現する仮想マシンである。同様に、VM5は、VM4からリクエストを受け付けて、VM3から各種データを取得し、VM4に応答するAPサーバを実現する仮想マシンである。VM3は、このシステムで利用される各種情報を格納するデータベースサーバを実現する仮想マシンである。
また、仮想マシン制御装置は、図示していないが上記各VMが実行されているサーバそれぞれ接続されているものとする。なお、各VMは、1つの筐体で実現されていてもよく、別々の筐体で実現されていてもよい。また、VM1とVM2が同じ筐体などで実現されるなど、VMを動作させる物理マシンの数は任意に設定できる。
このシステムでは、例えば、クライアントからのHTTP(Hypertext Transfer Protocol)リクエストは、ロードバランサによってVM1又はVM4に振り分けられる。リクエストを受信したVM1又はVM4は、VM2又はVM5が有するアプリケーション等を実行してVM3に接続する。そして、VM1又はVM4は、VM3から各種データを取得し、取得したデータをリクエスト応答として、クライアントに送信する。
そして、このシステムでは、各VMの使用契約として、利用者との間でSLAが締結されており、このSLAが遵守されている。例えば、SLAの取り決めとしては、各VMにおける単位時間当たりの処理件数を所定値以上とするなどがあり、処理件数が所定値未満となった場合にはSLA違反となる。したがって、図5のシステムを管理する企業等は、SLA違反が発生しないように、VMや物理マシンの管理を実施している。
このような状況において、VM1〜VM5をライブマイグレーションする例について説明する。ここでは、各VMのライブマイグレーション先は、図示しない別のサーバであるものとする。まず、仮想マシン制御装置20は、管理者等からVM1のライブマイグレーションの開始指示を受け付ける。そして、仮想マシン制御装置20は、VM1のライブマイグレーションの開始を、VM1を実行するサーバに送信する。その後、VM1のライブマイグレーションが開始される。このVM1のライブマイグレーションが開始された時刻を「t」とする。
VM1のライブマイグレーションが開始されると、図6に示すように、VM1では、ライブマイグレーションにリソースを奪われるために、サービスそのものの利用するリソースが低下する(図6のA参照)。すると、VM1が処理できるクライアントからのリクエスト量は減るので、VM1の後段に位置するVM2の処理件数も減少する(図6のB参照)。具体的には、VM2は、VM1から受信した要求を処理する仮想マシンであるので、VM1から受信する処理件数が減少すれば、VM2自体で処理する処理件数も減少する。つまり、VM2は、VM1の処理件数の減少がボトルネックとなって、自身の処理件数も減少することとなる。
一方、VM1のライブマイグレーションが開始された後もクライアントからのリクエスト量が減らないとすると、ロードバランサは、処理できる件数が減っているVM1ではなく、VM4に対してリクエストを多く振り分ける。したがって、図7に示すように、VM4の処理件数は、VM1のライブマイグレーションが開始された時刻「t」以降、増加する(図7のC参照)。同様に、VM4が処理するクライアントからのリクエスト量が増加するので、VM4の後段に位置するVM5の処理件数も増加する(図7のD参照)。なお、VM1のライブマイグレーションが開始された後もクライアントからのリクエスト量が減らないので、VM3の処理件数は、大きく変化しない(図7のE参照)。
したがって、図8に示すように、VM1のライブマイグレーションが開始された時刻「t=5」前までは、VM1とVM4の処理件数に大きな差はなく、同様に、VM2とVM5の処理件数にも大きな差はない。ところが、VM1のライブマイグレーションが開始された時刻「t=5」以降では、VM1の処理件数減少に伴ってVM2の処理件数も減少する。一方、VM1の処理件数減少に伴って、VM4の処理件数は増加するとともに、VM5の処理件数も増加する。
上述したことを利用すると、仮想マシン制御装置は、VM1のライブマイグレーション開始前後の各VMの処理件数を用いた場合、VM1の処理件数とVM2処理件数との相関係数として正の値を算出する。一方、仮想マシン制御装置は、VM1のライブマイグレーション開始前後の各VMの処理件数を用いた場合、VM1の処理件数とVM4処理件数との相関係数として負の値を算出する。同様に、仮想マシン制御装置は、VM1のライブマイグレーション開始前後では、VM1の処理件数とVM5処理件数との相関係数として負の値を算出し、VM1の処理件数とVM3処理件数との相関係数として負の値を算出する。
つまり、仮想マシン制御装置は、相関係数を算出して、VM1の処理件数減少と同様に処理件数が減少したVM2を特定できる。そして、仮想マシン制御装置は、VM1のライブマイグレーションと並行して、VM2のライブマイグレーションを実行する。すなわち、仮想マシン制御装置は、VM1の処理件数減少がボトルネックとなって処理件数が減少しており、リソース使用率に余裕のあるVMのライブマイグレーションを実行する。
[処理の流れ]
次に、仮想マシン制御装置における処理の流れについて説明する。図9は、実施例2に係る仮想マシン制御装置における処理の流れを示すフローチャートである。
図9に示すように、仮想マシン制御装置20の実行開始部25aは、VMのライブマイグレーションの開始指示を受信すると(ステップS101Yes)、指示されたVMのライブマイグレーションを開始する(ステップS102)。
続いて、取得部25bは、他にライブマイグレーション対象のVMが存在すると判定した場合(ステップS103Yes)、物理サーバから各VMの処理件数を取得する(ステップS104)。例えば、取得部25bは、各サーバからVMの実行状況等を取得することで、ライブマイグレーション対象のVMが存在するか否かを判定する。このとき、取得部25bは、先に開始されたライブマイグレーション開始前後5分間の処理件数を要求することもできる。なお、取得部25bは、他にライブマイグレーション対象のVMが存在しないと判定した場合(ステップS103No)、処理を終了する。
その後、算出部25cは、取得部25bによって取得された各VMの処理件数を用いて、先にライブマイグレーションが開始されたVMの処理状況と他のVMの処理状況各々との相関係数を算出する(ステップS105)。
そして、実行制御部25dは、正の相関係数のうち最も相関の高いVMを、先に開始されたライブマイグレーションと並行してライブマイグレーションを実行させるVMと決定し、決定したVMのライブマイグレーションの実行を指示する(ステップS106)。
その後、仮想マシン制御装置20は、現在実行されている2つのライブマイグレーションが終了するまで処理を待機してもよく、ステップS103以降の処理を繰り返して実行してもよい。
[実施例2による効果]
実施例2によれば、仮想マシン制御装置20は、VM1のライブマイグレーションが開始された場合に、VM1および他に動作しているVM2〜VM6の処理状況を取得する。仮想マシン制御装置20は、取得された各VMの処理状況を用いて、ライブマイグレーションが開始されたVM1の処理状況とVM2〜VM6各々の処理状況との相関係数を算出する。仮想マシン制御装置20は、算出された相関係数が正の値であるVM2のライブマイグレーションを、開始されたVM1のライブマイグレーションと並行して実行する。この結果、ライブマイグレーションを効率的に実行できる。
また、実施例2によれば、先にライブマイグレーションが実行されたVMがボトルネックとなってリクエスト処理件数が減少したことにより、リソース利用率が減少した分をライブマイグレーションに使用する。この結果、サービスレベルを低下させることなく、複数のVMのライブマイグレーションを実行できる。
上述した例の場合、VM1がボトルネックとなってVM2のSLA違反が発生するが、開示する手法を用いることで、VM2の処理件数が低下した分をライブマイグレーションで使用するので、SLA違反の可能性が小さくできる。また、複数VMを同時に転送するので、総転送時間を短くでき、全体のSLA違反を低減できる。
従来、運用管理者は、ユーザ仮想マシンのSLA低下を避けるために、早朝などリソース利用の少ない時間にライブマイグレーションを計画していた。ところが、開示した手法を用いることで、運用管理者の複数VMのライブマイグレーション計画立案が容易になるので、運用管理者の工数削減効果やコストメリットも大きい。
また、実施例2によれば、先に開始されたライブマイグレーション前後の処理件数の変化から相関係数を算出する。したがって、ライブマイグレーションを契機にした処理件数の変化から相関係数を算出でき、より精度の高い相関係数を算出することができる。
つまり、上述した例で説明すると、VM1のライブマイグレーション開始後だけの処理件数では、システムダウンやハードウェア故障等によって処理件数が減少しているVMに対して正の高い相関となる場合がある。ところが、VM1のライブマイグレーション開始前後の処理件数を用いることで、VM1のライブマイグレーションを契機とする処理件数の変化から相関係数を算出できる。したがって、システムダウンやハードウェア故障等によって処理件数が減少しているVMが正の高い相関となることを防止できる。
ところで、開示する仮想マシン制御装置は、相関係数が高いVMのうち、先に開始されたライブマイグレーションが終了するまでに、ライブマイグレーションが完了するVMを特定することもできる。そこで、実施例3では、相関係数が高いVMのうち、先に開始されたライブマイグレーションが終了するまでに、完了するライブマイグレーションを実行する例について説明する。
例えば、仮想マシン制御装置20の算出部25cは、各VMにおける単位時間あたりのメモリ書き換え割合を用いて、各VMの転送時間を算出する。そして、算出部25cは、算出した転送時間に基づいて、先に開始されたライブマイグレーションの終了までにマイグレーションが終了するVMを特定する。
一例を挙げると、算出部25cは、式(3)を用いて各VMの転送時間を算出する。式(3)に示す「VMメモリ量」は、VMが使用しているメモリ容量を示す。また、「LM帯域幅」は、ライブマイグレーションで使用する帯域幅を示す。また、「ダーティ率」は、各VMの単位時間あたりのメモリ書き換え割合を示す。
また、「VMメモリ量」は、各VMを実行する物理サーバで管理される情報であり、物理サーバから取得することができる。「LM帯域幅」は、仮想マシン制御装置20等に予め設定された情報であり、各VMに対して一定値とする。「ダーティ率」は、各物理サーバで計測することができる。
Figure 2012088808
つまり、図1の場合で説明すると、算出部25cは、VM1〜VM6各々の転送時間を算出する。そして、算出部25cは、VM1の転送時間よりも短い転送時間であるVMを特定する。その後、算出部25cは、特定したVMの処理件数とVM1との処理件数との相関係数を算出する。そして、実行制御部25dは、算出部25cが算出した相関係数が正の相関であるVMのライブマイグレーションを開始する。
なお、転送時間の算出と相関係数の算出とは順番が入れ替わってもよい。例えば、算出部25cは、先に、VM1との相関係数が正の相関であるVMを特定し、特定したVMとVM1について転送時間を算出する。そして、実行制御部25dは、VM1の転送時間よりも短い転送時間であるVMのライブマイグレーションを開始するようにしてもよい。
次に、実施例3に係る処理の流れを説明する。図10は、実施例3に係る仮想マシン制御装置における処理の流れを示すフローチャートである。
図10に示すように、仮想マシン制御装置20の実行開始部25aは、VMのライブマイグレーションの開始指示を受信すると(ステップS201Yes)、指示されたVMのライブマイグレーションを開始する(ステップS202)。
続いて、取得部25bは、他にライブマイグレーション対象のVMが存在すると判定した場合(ステップS203Yes)、物理サーバから各VMの処理件数を取得する(ステップS204)。このとき、取得部25bは、各物理サーバから「VMメモリ量」およびVMの「ダーティ率」を取得する。さらに、取得部25bは、仮想マシン制御装置20の記憶部等から予め設定されている「LM帯域幅」を取得する。なお、取得部25bは、他にライブマイグレーション対象のVMが存在しないと判定した場合(ステップS203No)、処理を終了する。
その後、算出部25cは、取得部25bによって取得された各VMの処理件数を用いて、先にライブマイグレーションが開始されたVMの処理状況と他のVMの処理状況各々との相関係数を算出する(ステップS205)。
続いて、算出部25cは、「VMメモリ量」、「ダーティ率」、「LM帯域幅」を式(3)に代入して、各VMの転送時間を算出する(ステップS206)。このとき、算出部25cは、正の相関があるVMについてのみ転送時間を算出してもよく、全VMについて転送時間を算出することもできる。
その後、算出部25cは、算出した転送時間に基づいて、先に開始されたライブマイグレーションの終了までにライブマイグレーションが終了する、ライブマイグレーション未実行のVMあるか否かを判定する(ステップS207)。
そして、実行制御部25dは、算出部25cによって実行可能なライブマイグレーション未実行のVMがあると判定された場合(ステップS207Yes)、当該VMのライブマイグレーションの実行を指示する(ステップS208)。一方、実行制御部25dは、算出部25cによって実行可能なライブマイグレーション未実行のVMがないと判定された場合(ステップS207No)、実行中のライブマイグレーションが終了するまで待機する(ステップS209)。
その後、仮想マシン制御装置20は、現在実行されているライブマイグレーションが終了するまで処理を待機してもよく、ステップS203以降の処理を繰り返して実行してもよい。
実施例3によれば、仮想マシン制御装置20は、各VMにおける単位時間あたりのメモリ書き換え割合を用いて各VMの転送時間を算出する。仮想マシン制御装置20は、算出した転送時間に基づいて、開始されたVM1のライブマイグレーションの終了までにライブマイグレーションが終了するVMを特定する。仮想マシン制御装置20は、特定されたVMのうち相関係数が正の値であるVMのライブマイグレーションを実行する。したがって、1つ目のVMのライブマイグレーション終了後に、同時に実施したライブマイグレーションが完了していないことによるサービスレベル低下を低減することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(VMの依存関係)
例えば、図5〜図9を用いてVMの依存関係例について説明したが、これに限定されるものではない。つまり、開示する仮想マシン制御装置は、Web−AP−DB3層システム以外のシステム構成についても同様に適用することができる。
(ネットワーク形態)
実施例1〜3では、仮想マシン制御装置20と各サーバと同様のネットワークに属する例について説明したが、これに限定されるものではない。例えば、VMが動作するサーバと仮想マシン制御装置20は、別のネットワークに属していてもよい。一例としては、仮想マシン制御装置20と各サーバとは別のLAN(Local Area Network)に属しており、LANとは異なるネットワークで接続されていてもよい。
(既算出の相関係数を利用)
例えば、仮想マシン制御装置20は、過去に算出した相関係数を相関係数テーブル24bに格納しておき、2回目以降のライブマイグレーションでは、相関係数を算出することなく、相関係数テーブル24bの情報を使用する。例えば、仮想マシン制御装置20は、各サーバから構成情報を確認するなどして、VMの処理内容やVM間関係が変わらないと判定した場合に相関係数テーブル24bの情報を使用する。この結果、相関係数算出までにかかる時間を省き、複数VMのライブマイグレーションを高速化できる。
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、例えば図3、図4、図8等に示した各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、例えば取得部25bと算出部25cとを統合するなど各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(プログラム)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
図11は、仮想マシン制御プログラムを実行するコンピュータシステムの例を示す図である。図11に示すように、コンピュータシステム100は、バス100aにCPU105、ROM(Read Only Memory)104、RAM(Random Access Memory)101が接続される。また、コンピュータシステム100は、バス100aにNIC(Network Interface Card)102、HDD(Hard Disk Drive)103が接続されている。
また、HDD103には、図2に示した処理件数テーブル24aに対応する処理件数テーブル103aが設けられる。同様に、HDD103には、相関係数テーブル24bに対応する相関係数テーブル103bが設けられる。
ROM104は、実行開始プログラム104a、取得プログラム104b、算出プログラム104c、実行制御プログラム104dを保持する。タンジブル(tangible)な記録媒体の例としてROM103を例に挙げたが、HDD、RAM、CDROM等の他のタンジブルなコンピュータ読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、タンジブルな記憶媒体を遠隔地に配置し、コンピュータが、そのタンジブルな記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身のタンジブルな記録媒体に格納して用いてもよい。
CPU105は、実行開始プログラム104aを読み出して実行することで、実行開始部25aと同様の動作を実行開始プロセス105aとして実現する。また、CPU105は、取得プログラム104bを読み出して実行することで、取得部25bと同様の動作を取得プロセス105bとして実現する。CPU105は、算出プログラム104cを読み出して実行することで、算出部25cと同様の動作を算出プロセス105cとして実現する。CPU105は、実行制御プログラム104dを読み出して実行することで、実行制御部25dと同様の動作を実行制御プロセス105dとして実現する。このようにROM104に保持した各種プログラムは、仮想マシン制御プログラムの一部として機能し、コンピュータ100は、ROM104から各種プログラムを読み出して実行することで仮想マシン制御方法を実行する仮想マシン制御装置として動作する。
1 サーバ
1a 通信制御I/F部
1b 記憶部
1c 仮想マシン領域
1d 制御部
1e 仮想マシン管理部
1f 計測部
20 仮想マシン制御装置
21 通信制御I/F部
22 入力部
23 表示部
24 記憶部
24a 処理件数テーブル
24b 相関係数テーブル
25 制御部
25a 実行開始部
25b 取得部
25c 算出部
25d 実行制御部

Claims (7)

  1. 仮想マシンのライブマイグレーションが開始された場合に、前記仮想マシンおよび他に動作している仮想マシンの処理状況を取得する取得部と、
    前記取得部によって取得された各仮想マシンの処理状況を用いて、前記ライブマイグレーションが開始された仮想マシンの処理状況と前記他の仮想マシンの処理状況との相関係数を算出する算出部と、
    前記算出部によって算出された相関係数が正の値である仮想マシンのライブマイグレーションを、前記開始されたライブマイグレーションと並行して実行する実行部と
    を有することを特徴とする仮想マシン制御装置。
  2. 前記取得部は、前記仮想マシンのライブマイグレーションが開始された場合に、開始された時刻の前後所定時間内における、前記仮想マシンおよび他に動作している仮想マシンの処理状況を取得し、
    前記算出部は、前記仮想マシンのライブマイグレーションが開始された時刻の前後所定時間における各仮想マシンの処理状況を用いて、前記ライブマイグレーションが開始された仮想マシンの処理状況と前記他の仮想マシンの処理状況との相関係数を算出することを特徴とする請求項1に記載の仮想マシン制御装置。
  3. 前記各仮想マシンにおける単位時間あたりのメモリ書き換え割合を用いて前記各仮想マシンの転送時間を算出し、算出した転送時間に基づいて、前記開始されたライブマイグレーションの終了までにライブマイグレーションが終了する仮想マシンを特定する特定部をさらに有し、
    前記実行部は、前記特定部によって特定された仮想マシンのうち、前記算出部によって算出された相関係数が正の値である仮想マシンのライブマイグレーションを実行することを特徴とする請求項1または2に記載の仮想マシン制御装置。
  4. 前記算出部によって算出された各仮想マシン間の相関係数を記憶する記憶部をさらに有し、
    前記実行部は、前記仮想マシンのライブマイグレーションが開始された場合に、前記記憶部に記憶される当該仮想マシンの処理状況と他の仮想マシンの処理状況との相関関係が正の値である仮想マシンのライブマイグレーションを、前記開始されたライブマイグレーションと並行して実行することを特徴とする請求項1または2に記載の仮想マシン制御装置。
  5. 前記仮想マシンは前記仮想マシン制御装置とは別の物理マシンで動作し、前記仮想マシンが動作する物理マシンと前記仮想マシン制御装置は、別のネットワークに属することを特徴とする請求項1〜4のいずれか一つに記載の仮想マシン制御装置。
  6. コンピュータに、
    仮想マシンのライブマイグレーションが開始された場合に、前記仮想マシンおよび他に動作している仮想マシンの処理状況を取得し、
    前記取得した各仮想マシンの処理状況を用いて、前記ライブマイグレーションが開始された仮想マシンの処理状況と前記他の仮想マシンの処理状況との相関係数を算出し、
    前記算出した相関係数が正の値である仮想マシンのライブマイグレーションを、前記開始されたライブマイグレーションと並行して実行する
    処理を実行させることを特徴とする仮想マシン制御プログラム。
  7. コンピュータが実行する制御方法であって、
    仮想マシンのライブマイグレーションが開始された場合に、前記仮想マシンおよび他に動作している仮想マシンの処理状況を取得し、
    前記取得した各仮想マシンの処理状況を用いて、前記ライブマイグレーションが開始された仮想マシンの処理状況と前記他の仮想マシンの処理状況との相関係数を算出し、
    前記算出した相関係数が正の値である仮想マシンのライブマイグレーションを、前記開始されたライブマイグレーションと並行して実行することを特徴とする仮想マシン制御方法。
JP2010233020A 2010-10-15 2010-10-15 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法 Expired - Fee Related JP5614226B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010233020A JP5614226B2 (ja) 2010-10-15 2010-10-15 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
US13/229,796 US8701108B2 (en) 2010-10-15 2011-09-12 Apparatus and method for controlling live-migrations of a plurality of virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010233020A JP5614226B2 (ja) 2010-10-15 2010-10-15 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法

Publications (2)

Publication Number Publication Date
JP2012088808A true JP2012088808A (ja) 2012-05-10
JP5614226B2 JP5614226B2 (ja) 2014-10-29

Family

ID=45935256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010233020A Expired - Fee Related JP5614226B2 (ja) 2010-10-15 2010-10-15 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法

Country Status (2)

Country Link
US (1) US8701108B2 (ja)
JP (1) JP5614226B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013191021A1 (ja) * 2012-06-22 2013-12-27 日本電気株式会社 仮想マシンのマイグレーション方法、マイグレーション装置及びプログラム
WO2014010213A1 (ja) * 2012-07-11 2014-01-16 日本電気株式会社 マイグレーションシステム、マイグレーション方法及び制御プログラムを格納した非一時的なコンピュータ可読媒体
WO2014030221A1 (ja) * 2012-08-22 2014-02-27 株式会社日立製作所 仮想計算機システム、管理計算機及び仮想計算機管理方法
WO2014041664A1 (ja) * 2012-09-13 2014-03-20 富士通株式会社 情報処理システム、情報処理装置、移行制御プログラム、及び移行制御方法
JP2014191752A (ja) * 2013-03-28 2014-10-06 Fujitsu Ltd マイグレーション処理プログラム,マイグレーション方法及びクラウドシステム
JP2015156150A (ja) * 2014-02-20 2015-08-27 日本電信電話株式会社 ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム
JP2017138739A (ja) * 2016-02-02 2017-08-10 富士通株式会社 管理装置、管理システム、及びスケーリング方法
JP2017146675A (ja) * 2016-02-15 2017-08-24 日本電信電話株式会社 仮想マシン管理システムおよび仮想マシン管理方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042656B2 (en) 2011-08-01 2018-08-07 Avocent Corporation System and method for providing migrateable virtual serial port services
US9489222B2 (en) 2011-08-24 2016-11-08 Radware, Ltd. Techniques for workload balancing among a plurality of physical machines
US9104529B1 (en) 2011-12-30 2015-08-11 Emc Corporation System and method for copying a cache system
US9158578B1 (en) * 2011-12-30 2015-10-13 Emc Corporation System and method for migrating virtual machines
US9235524B1 (en) 2011-12-30 2016-01-12 Emc Corporation System and method for improving cache performance
US8930947B1 (en) 2011-12-30 2015-01-06 Emc Corporation System and method for live migration of a virtual machine with dedicated cache
US9053033B1 (en) 2011-12-30 2015-06-09 Emc Corporation System and method for cache content sharing
US9009416B1 (en) 2011-12-30 2015-04-14 Emc Corporation System and method for managing cache system content directories
US9195512B2 (en) * 2012-01-06 2015-11-24 International Business Machines Corporation Relocating related resource partitions
US8839447B2 (en) * 2012-02-27 2014-09-16 Ca, Inc. System and method for virtual image security in a cloud environment
KR101859115B1 (ko) * 2012-06-18 2018-05-17 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 클라우드 패브릭 내 가상 머신 이동
JP2014078160A (ja) * 2012-10-11 2014-05-01 International Business Maschines Corporation 仮想リソースの組み合わせの決定を支援する装置及び方法
CN103812823B (zh) 2012-11-07 2017-10-10 华为技术有限公司 虚拟机热迁移时配置信息迁移的方法、设备及系统
CN103049308B (zh) 2012-11-30 2016-01-20 华为技术有限公司 实现虚拟机热迁移的方法、装置及系统
US9344465B2 (en) 2012-12-04 2016-05-17 International Business Machines Corporation Correlating computing network events
JP6098167B2 (ja) * 2013-01-09 2017-03-22 富士通株式会社 仮想マシン管理プログラム及びその方法
JP2014142720A (ja) * 2013-01-22 2014-08-07 Fujitsu Ltd 仮想マシン移動方法、情報処理装置及びプログラム
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
FR3002807A1 (fr) * 2013-03-01 2014-09-05 France Telecom Procede de detection d'attaques
US9454400B2 (en) 2013-08-16 2016-09-27 Red Hat Israel, Ltd. Memory duplication by origin host in virtual machine live migration
US9459902B2 (en) * 2013-08-16 2016-10-04 Red Hat Israel, Ltd. Memory duplication by destination host in virtual machine live migration
US9411626B2 (en) * 2014-06-18 2016-08-09 International Business Machines Corporation Optimizing runtime performance of an application workload by minimizing network input/output communications between virtual machines on different clouds in a hybrid cloud topology during cloud bursting
US9471362B2 (en) * 2014-09-23 2016-10-18 Splunk Inc. Correlating hypervisor data for a virtual machine with associated operating system data
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
JP2016224582A (ja) * 2015-05-28 2016-12-28 富士通株式会社 制御方法、制御装置、及び制御プログラム
JP6550945B2 (ja) * 2015-06-10 2019-07-31 富士通株式会社 判定制御プログラム、判定制御方法及び仮想マシン管理装置
US9582333B2 (en) * 2015-06-22 2017-02-28 International Business Machines Corporation Managing a set of assets of a shared pool of configurable computing resources
US10228969B1 (en) * 2015-06-25 2019-03-12 Amazon Technologies, Inc. Optimistic locking in virtual machine instance migration
US10970110B1 (en) 2015-06-25 2021-04-06 Amazon Technologies, Inc. Managed orchestration of virtual machine instance migration
US10395219B1 (en) * 2015-12-18 2019-08-27 Amazon Technologies, Inc. Location policies for reserved virtual machine instances
US10834226B2 (en) * 2016-07-15 2020-11-10 International Business Machines Corporation Live migration of containers based on geo-location
US10545777B2 (en) * 2016-11-08 2020-01-28 International Business Machines Corporation Generating a virtual machines relocation protocol
US10459753B2 (en) * 2017-05-26 2019-10-29 Cognizant Technology Solutions India Pvt. Ltd. System and method for agent based centralized and efficient transaction recordings for service virtualization
EP3435270B1 (de) * 2017-07-27 2020-09-23 Siemens Aktiengesellschaft Vorrichtung und verfahren zum kryptographisch geschützten betrieb einer virtuellen maschine
WO2019126072A1 (en) 2017-12-18 2019-06-27 Formulus Black Corporation Random access memory (ram)-based computer systems, devices, and methods
WO2020142431A1 (en) 2019-01-02 2020-07-09 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
CN110515701B (zh) * 2019-08-28 2020-11-06 杭州数梦工场科技有限公司 一种虚拟机的热迁移方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007136021A1 (ja) * 2006-05-24 2007-11-29 Nec Corporation 仮想マシン管理装置、仮想マシン管理方法およびプログラム
JP2010140134A (ja) * 2008-12-10 2010-06-24 Hitachi Ltd 仮想マシン管理方法、プログラムおよび管理サーバ
JP2010211546A (ja) * 2009-03-11 2010-09-24 Nec Corp 仮想マシン管理システム、仮想マシン管理方法、仮想マシン管理装置及び仮想マシン管理プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US7953574B2 (en) * 2007-09-18 2011-05-31 Hitachi, Ltd. Methods and apparatuses for heat management in information systems
US20100115509A1 (en) * 2008-10-31 2010-05-06 International Business Machines Corporation Power optimization via virtualization opportunity
US8595737B2 (en) * 2009-03-17 2013-11-26 Hitachi, Ltd. Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount
JP4990322B2 (ja) * 2009-05-13 2012-08-01 株式会社日立製作所 データ移動管理装置及び情報処理システム
US8694638B2 (en) * 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007136021A1 (ja) * 2006-05-24 2007-11-29 Nec Corporation 仮想マシン管理装置、仮想マシン管理方法およびプログラム
JP2010140134A (ja) * 2008-12-10 2010-06-24 Hitachi Ltd 仮想マシン管理方法、プログラムおよび管理サーバ
JP2010211546A (ja) * 2009-03-11 2010-09-24 Nec Corp 仮想マシン管理システム、仮想マシン管理方法、仮想マシン管理装置及び仮想マシン管理プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013191021A1 (ja) * 2012-06-22 2013-12-27 日本電気株式会社 仮想マシンのマイグレーション方法、マイグレーション装置及びプログラム
WO2014010213A1 (ja) * 2012-07-11 2014-01-16 日本電気株式会社 マイグレーションシステム、マイグレーション方法及び制御プログラムを格納した非一時的なコンピュータ可読媒体
US9519516B2 (en) 2012-07-11 2016-12-13 Nec Corporation Migration system, migration method and non-transitory computer-readable medium storing control program
WO2014030221A1 (ja) * 2012-08-22 2014-02-27 株式会社日立製作所 仮想計算機システム、管理計算機及び仮想計算機管理方法
WO2014041664A1 (ja) * 2012-09-13 2014-03-20 富士通株式会社 情報処理システム、情報処理装置、移行制御プログラム、及び移行制御方法
JP2014191752A (ja) * 2013-03-28 2014-10-06 Fujitsu Ltd マイグレーション処理プログラム,マイグレーション方法及びクラウドシステム
JP2015156150A (ja) * 2014-02-20 2015-08-27 日本電信電話株式会社 ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム
JP2017138739A (ja) * 2016-02-02 2017-08-10 富士通株式会社 管理装置、管理システム、及びスケーリング方法
JP2017146675A (ja) * 2016-02-15 2017-08-24 日本電信電話株式会社 仮想マシン管理システムおよび仮想マシン管理方法

Also Published As

Publication number Publication date
JP5614226B2 (ja) 2014-10-29
US20120096460A1 (en) 2012-04-19
US8701108B2 (en) 2014-04-15

Similar Documents

Publication Publication Date Title
JP5614226B2 (ja) 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
CN110865867B (zh) 应用拓扑关系发现的方法、装置和系统
US8595722B2 (en) Preprovisioning virtual machines based on request frequency and current network configuration
US9588789B2 (en) Management apparatus and workload distribution management method
US8423646B2 (en) Network-aware virtual machine migration in datacenters
US8631403B2 (en) Method and system for managing tasks by dynamically scaling centralized virtual center in virtual infrastructure
Vakilinia et al. Modeling of the resource allocation in cloud computing centers
US8260840B1 (en) Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
US11570937B2 (en) Methods and apparatus to control power delivery based on predicted power utilization in a data center
US20200034171A1 (en) Methods and apparatus to adjust energy requirements in a data center
JP5708937B2 (ja) 構成情報管理システム、構成情報管理方法、及び構成情報管理用プログラム
Dargie Estimation of the cost of VM migration
US9244737B2 (en) Data transfer control method of parallel distributed processing system, parallel distributed processing system, and recording medium
US20160156567A1 (en) Allocation method of a computer resource and computer system
US20210004000A1 (en) Automated maintenance window predictions for datacenters
JP2006285316A (ja) サーバ性能計測方法及びサーバ性能計測システム並びにこれらに用いるコンピュータプログラム
Hasan et al. Heuristic based energy-aware resource allocation by dynamic consolidation of virtual machines in cloud data center
US20210216557A1 (en) Continuous query scheduling and splitting in a cluster-based data storage system
CN103488538B (zh) 云计算系统中的应用扩展装置和应用扩展方法
Wang et al. Research on virtual machine consolidation strategy based on combined prediction and energy-aware in cloud computing platform
CN109960579B (zh) 一种调整业务容器的方法及装置
López-Huguet et al. A self-managed Mesos cluster for data analytics with QoS guarantees
CN114546587A (zh) 一种在线图像识别服务的扩缩容方法及相关装置
JP2011170679A (ja) 仮想計算機システムおよびその資源配分制御方法
Hlavacs et al. Predicting web service levels during vm live migrations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140825

R150 Certificate of patent or registration of utility model

Ref document number: 5614226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees