JP2011198332A - 仮想マシン管理プログラム及び仮想マシン管理装置 - Google Patents

仮想マシン管理プログラム及び仮想マシン管理装置 Download PDF

Info

Publication number
JP2011198332A
JP2011198332A JP2010067466A JP2010067466A JP2011198332A JP 2011198332 A JP2011198332 A JP 2011198332A JP 2010067466 A JP2010067466 A JP 2010067466A JP 2010067466 A JP2010067466 A JP 2010067466A JP 2011198332 A JP2011198332 A JP 2011198332A
Authority
JP
Japan
Prior art keywords
amount
server
virtual machine
cpu
physical resource
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
JP2010067466A
Other languages
English (en)
Other versions
JP5544967B2 (ja
Inventor
Koji Sugai
浩二 菅井
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 JP2010067466A priority Critical patent/JP5544967B2/ja
Priority to US13/036,840 priority patent/US8839263B2/en
Publication of JP2011198332A publication Critical patent/JP2011198332A/ja
Application granted granted Critical
Publication of JP5544967B2 publication Critical patent/JP5544967B2/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task 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
    • 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)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】VMが夫々動作するサーバを複数有するシステムにおいて、サーバへのVMの配置を適切に行うことにより、コスト削減を実現しつつ、VMの処理性能を保障する。
【解決手段】VMが動作するサーバ1〜4と接続された管理マネージャ10の配置制御部11が、サーバ1〜4の夫々で動作する各VMが使用している物理資源量を示す情報を収集する。また、各VMが使用している物理資源量に基づき、各VMの動作にさらに必要となると見込まれる物理資源量である予約量を算出する。さらに、いずれかのVMを移動対象として選択するとともに、サーバ1〜4のうち、移動対象となるVMが使用している物理資源の使用量及び当該VMの予約量に対応する物理資源量の空きを有し、かつ、移動対象となるVMの予約量とサーバで動作するVMの予約量とが近いサーバを移動先サーバとして選択する。そして、VM制御部12が移動対象のVMを移動先サーバに移動させる。
【選択図】 図1

Description

本発明は、情報処理において仮想マシンを用いる技術に関する。
近年、クラウドコンピューティングやシンクライアントを適用したシステム構成において、サーバにおいて仮想マシン(VM:Virtual Machine)を動作させ、利用者に提供するサービスが行われている。かかるサーバでは1つ又は複数のVMが動作し、各VMには、ソフトウェアによって仮想化された物理資源(例えば、CPU(Central Processing Unit)、メモリなど)が割り当てられる。そして、1台のサーバで動作するVMへの物理資源の割当方法として、各VMによるサーバの物理資源の使用状態に応じて、動的に物理資源を割り当てる技術が提案されている。
一方、サーバが複数存在するシステム構成の場合には、各サーバにおいてVMが正常に動作できるように、次のような技術が採用されている。即ち、各サーバにおいてVMが使用する物理資源量がサーバの物理資源量全体に対して占める割合の上限及び下限を定めて使用許可範囲を設定し、VMが使用する物理資源量の割合が使用許可範囲内になるように、VMを配置する方法が行われている。具体的には、VMが使用している物理資源量がサーバの全体の物理資源量に対して占める割合が使用許可範囲を上回っている場合には、他のサーバに一部のVMを移動(マイグレーション)させる。これにより、VMの負荷が急上昇したときに、物理資源が不足することによってVMの処理性能が低下することを防ぐことができる。
特開2002−202959公報
しかし、上述した技術では、VMの集約を効率的に行うことができない。
1つの側面では、本発明はVMの集約を行うことを目的とする。
1つの案では、仮想マシンが夫々動作する複数のサーバと通信可能なコンピュータが、次の処理を行う。即ち、複数のサーバの夫々で動作する各仮想マシンが使用している物理資源量を特定可能な情報を収集する。また、収集した情報により特定される、各仮想マシンが使用している物理資源量に基づき、各仮想マシンの動作にさらに必要となると見込まれる物理資源量である予約量を、各仮想マシンについて夫々算出する。さらに、複数のサーバの夫々で動作する仮想マシンのうち少なくとも1つを移動対象の仮想マシンとして選択するとともに、移動対象の仮想マシンを移動させる先の移動先サーバを複数のサーバのいずれかから選択する際に、移動先サーバで動作する仮想マシンの予約量と、移動対象となる仮想マシンの予約量との差が、他のサーバの仮想マシンの予約量と移動対象となる仮想マシンの予約量との差よりも小さくなるように選択する。そして、移動対象の仮想マシンを、移動先サーバに移動させる。
本発明によれば、仮想マシンを効率的に集約することができる。
VM管理システムの一例の全体構成図(第1実施例)である。 VM管理DBの設定パラメータの一例の説明図である。 VM管理DBのサーバテーブルの一例の説明図である。 VM管理DBのVMテーブルの一例の説明図である。 VM新規追加処理の一例を示すフローチャートである。 VM配置調整処理の一例を示すフローチャートである。 CPU予約量算出ルーチン(第1実施例)の一例を示すフローチャートである。 メモリ予約量算出ルーチン(第1実施例)の一例を示すフローチャートである。 サーバ停止ルーチンの一例を示すフローチャートである。 VM移動ルーチンの一例を示すフローチャートである。 第1実施例の具体例におけるVMテーブルの一例の説明図である。 第1実施例の具体例におけるサーバテーブルの一例の説明図である。 第1実施例の具体例におけるVMテーブルの一例の説明図である。 VM配置例の説明図であり、(A)は予約量が近いVMを同じサーバに集約した配置の一例、(B)は予約量に関係なくVMを集約した配置の一例を示す。 VM管理システムの一例の全体構成図(第2実施例)である。 VM管理DBの履歴テーブルの一例の説明図である。 履歴記録処理の一例を示すフローチャートである。 CPU予約量算出ルーチン(第2実施例)の一例を示すフローチャートである。 メモリ予約量算出ルーチン(第2実施例)の一例を示すフローチャートである。 第2実施例の具体例におけるVMテーブルの一例の説明図である。 第2実施例の具体例におけるサーバテーブルの一例の説明図である。
[第1実施例]
以下、本発明を実施するための実施例について詳細に説明する。
1つの実施例では、複数のサーバと通信可能なコンピュータが次の処理を行う。即ち、これらの複数のサーバの夫々で動作する各仮想マシンが使用している物理資源量を特定可能な情報を収集する。そして、収集した情報により特定される、各仮想マシンが使用している物理資源量に基づいて、各仮想マシンの動作にさらに必要となると見込まれる物理資源量である予約量を各仮想マシンについて夫々算出する。
そして、複数のサーバの夫々で動作する仮想マシンのうち少なくとも1つを移動対象の仮想マシン(S)として選択するとともに、移動対象の仮想マシン(S)を移動させる先の移動先サーバを複数のサーバのいずれかから選択する際に、移動先サーバで動作する仮想マシン(D)の予約量と、移動対象となる仮想マシン(S)の予約量との差が、他のサーバの仮想マシン(O)の予約量と移動対象となる仮想マシン(S)の予約量との差よりも小さくなるように選択する。そして、移動対象の仮想マシン(S)を、仮想マシン(Dが動作しているサーバに移動させる。
このように、仮想マシンの移動を行う際に、移動対象の仮想マシンの予約量と近い予約量(好ましくは、最も近い)の仮想マシンが動作しているサーバを移動先サーバの候補として選択し、その移動先サーバに移動対象の仮想マシンを移動させることで、予約量が近い仮想マシンを集約させることができる。
これによれば予約量が近い複数の仮想マシンを1つのサーバに集めることができるため、当該サーバにおいては、これらの複数の仮想マシンの予約量程度の資源量を将来の処理量の変動のために確保しておけば、処理量の増加におおよそ対応することができる。
1つのサーバ上の夫々の仮想マシンの予約量を同程度とすることで、そのサーバが確保すべき未使用の物理資源量を必要最小限とすることができるため、仮想マシンを動作させるサーバの台数をより効率的に集約することができる。
なお、1つのサーバに集約されたm個の仮想マシンの予約量をR1〜Rmとすると、max(R1、…、Rm)を将来な処理量の変更に備えて確保する資源量とすることもできる。
なお、仮想マシンは複数あってもよく、複数の仮想マシンのうち予約量が最も移動対象の仮想マシンの予約量と近い仮想マシンが動作するサーバを移動先サーバとしてもよい。
図1は、VM管理システムの一例の全体構成図である。本VM管理システムは、サーバ1〜4及び当該サーバ1〜4の夫々とネットワークを介して接続された管理マネージャ10を有する。この管理マネージャ10は、サーバ1〜4を総括管理するとともに、サーバ1〜4に対する各種設定や操作を遠隔制御により行う。サーバ1〜4及び管理マネージャ10は、いずれも、少なくともCPU(Central Processing Unit)及びメモリを備えたコンピュータである。なお、図1に示すサーバの数は一例に過ぎない。
サーバ1〜4では、VMが動作可能な環境が構築され、ハイパーバイザ上で動作する仮想オペレーティングシステムにおいて、1つ以上のVMが動作可能である。
管理マネージャ10は、配置制御部11、VM制御部12、電源制御部13及びVM管理データベース(以下、VM管理DBという)14を有する。
配置制御部11は、サーバ1〜4の物理資源の使用状態を監視するとともに、サーバ1〜4におけるVMの配置(即ち、サーバ1〜4のうちどのサーバでどのVMを動作させるか)を決定する。ここで、物理資源とは、例えば、CPUやメモリなどのハードウェア資源のことである。
VM制御部12は、サーバ1〜4を遠隔制御し、配置制御部11が決定したVMの配置に基づいて、VMの追加や移動(マイグレーション)を行う。
電源制御部13は、配置制御部11が決定したVMの配置に基づき、必要に応じてサーバ1〜4の電源をオン又はオフにする。
なお、上記管理マネージャ10の配置制御部11、VM制御部12、電源制御部13の各機能は、管理マネージャ10においてCPUによりVM配置制御プログラムが実行され、記憶装置、入力装置、通信を実現するポート等のハードウェア機器と協働することにより、実現される。VM配置制御プログラムは、例えば、磁気テープ、磁気ディスク、磁気ドラム、ICカード、CD−ROM、DVD−ROM等のコンピュータ読取可能な記録媒体に記録しておくことができる。そして、かかる記録媒体に記録されたVM配置制御プログラムを管理マネージャ10にインストールすることにより、VM配置制御プログラムを実行させることができる。
VM管理DB14は、管理マネージャ10が備える記憶装置において構築されており、少なくとも配置制御部11がVMの配置を決定するために必要な情報が格納される。VM管理DB14は、設定パラメータ14A、サーバテーブル14B及びVMテーブル14Cを有する。
設定パラメータ14Aは、図2に示すように、例えば、必要資源量パラメータ及び使用率下限値を有する。必要資源量パラメータ(α)は、VMの動作に必要な物理資源量である必要資源量(以下、CPUの必要資源量を必要CPU量、メモリの必要資源量を必要メモリ量という)を算出するために用いるパラメータである。また、使用率下限値は、各サーバにおける物理資源の使用率について、使用可能範囲の下限を示す値である。必要資源量パラメータ及び使用率下限値は、システム管理者等が予め任意に設定しておくことができる。
サーバテーブル14Bは、サーバ1〜4の物理資源の使用状態を示す情報が格納されるテーブルである。図3は、サーバテーブル14Bのデータ構造及びデータ内容の一例を示す。サーバテーブル14Bは、サーバ名を有し、当該サーバ名に対応するサーバについて、例えば次のような情報を有する。すなわち、サーバテーブル14Bは、サーバの電源状態、サーバのCPU性能(GHz)、CPU性能にサーバのCPU使用率を乗算して算出した値、即ち、サーバで動作する全てのVMによるCPU使用量を合算した値を示す合計CPU使用量(GHz)、CPU性能から合計CPU使用量を差し引いた値を示すCPU不使用量(GHz)を有する。また、サーバテーブル14Bは、仮想マシンの動作にさらに必要となると見込まれるCPU資源量であるCPU予約量につき、当該サーバで動作する全てのVM分を合算した合計CPU予約量(GHz)、当該サーバで動作する全てのVMの必要CPU量を合算した合計必要CPU量(GHz)、当該サーバで動作するVMの平均CPU予約量(GHz)を有する。
さらに、サーバテーブル14Bは、当該サーバのメモリサイズ(GB)、サーバで動作する全てのVMによるメモリ使用量を合算した値を示す合計メモリ使用量(GB)、メモリサイズから合計メモリ使用量を差し引いた値を示すメモリ不使用量(GB)を有する。また、サーバテーブル14Bは、仮想マシンの動作にさらに必要となると見込まれるメモリ資源量であるメモリ予約量につき、当該サーバで動作する全てのVM分を合算した合計メモリ予約量(GB)、当該サーバで動作する全てのVMの必要メモリ量を合算した合計必要メモリ量(GB)、当該サーバで動作するVMの平均メモリ予約量(GB)を有する。
VMテーブル14Cは、VM毎のCPUの使用状態を示す情報が格納されるテーブルである。そして、VMテーブル14Cは、図4に示すように、VM名、当該VMが動作しているサーバ名、当該VMへのCPU割当量(GHz)、CPU使用量(GHz)、CPU予約量(GHz)、必要CPU量(GHz)を有する。また、VMテーブル14Cは、さらに、当該VMへのメモリ割当量(GB)、現在のメモリ使用量(GB)、メモリ不使用量(GB)、メモリ予約量(GB)及び必要メモリ量(GB)を有する。
次に、管理マネージャ10が実行する処理について説明する。
図5は、VM新規追加処理を示すフローチャートである。この処理は、サーバ1〜4で動作するアプリケーションによりVMの追加要求があったときや、ユーザ又はシステム管理者等によりVMの追加要求操作がなされたときに実行される。
ステップ1(図ではS1と表記している。以下同様)では、配置制御部11が、サーバ1〜4から、各サーバで動作するVMによるCPU及びメモリの使用量を特定可能な情報を収集する。ここで、CPUやメモリの使用量を特定可能な情報は、例えば、使用量そのものでも、使用率であってもよい。当該情報が使用率である場合には、配置制御部11は、サーバのCPU性能及びメモリサイズに使用率を乗算して使用量を算出する。そして、配置制御部11は、収集した情報に基づき、サーバ毎の合計CPU使用量及び合計メモリ使用量についてサーバテーブル14Bを更新するとともに、VM毎のCPU使用量及びメモリ使用量についてVMテーブル14Cを更新する。また、配置制御部11は、サーバ毎の合計CPU使用量及び各サーバのCPU性能に基づき、サーバ毎のCPU不使用量を算出し、サーバテーブル14Bを更新する。さらに、配置制御部11は同様に、サーバ毎の合計メモリ使用量及び各サーバのメモリサイズに基づき、サーバのメモリサイズからメモリ使用量を差し引いたメモリ不使用量を算出し、サーバテーブル14Bを更新する。なお、各サーバのCPU性能及びメモリサイズは、当該処理において各サーバから取得してもよいし、サーバテーブル14Bに予め格納しておいてもよい。
ステップ2では、配置制御部11が、CPU予約量を算出するサブルーチンを呼び出す。
ステップ3では、配置制御部11が、メモリ予約量を算出するサブルーチンを呼び出す。
ステップ4では、配置制御部11が、サーバテーブル14Bに格納された物理資源の使用量に基づき、サーバ毎に、合計必要CPU量及び合計必要メモリ量を算出する。サーバ毎の合計必要CPU量及び合計必要メモリ量は、例えば、次のような式により算出する。
合計必要CPU量=(合計CPU使用量)+(合計CPU予約量)*α
合計必要メモリ量=(合計メモリ使用量)+(合計メモリ予約量)*α
ここで、式中のαは、VM管理DB14のパラメータ14Aに設定されている必要資源量パラメータである。なお、αを1に設定しておけば、サーバで動作する全てのVMによる物理資源の使用量及び予約量の合算値を、サーバの必要資源量とすることができる。また、αの値を調整することで、必要資源量に含める予約量の割合を調整することもできる。
ステップ5では、配置制御部11が、サーバ毎の合計必要CPU量及び合計必要メモリ量の両方を考慮した上で、VMによる必要資源量が最も小さいサーバを、VMの配置先として選択する。かかる選択方法として、配置制御部11は、例えば、次の式で算出される値が最も小さいサーバを選択する。
max(合計必要CPU量,合計必要メモリ量)
即ち、合計必要CPU量又は合計必要メモリ量のいずれか大きいほうの値である。
ステップ6では、VM制御部12が、VMの配置先として選択されたサーバに対してVMを追加する。また、配置制御部11が、VM管理DB14のVMテーブル14Cに、ステップ5で配置したVMの情報を追加する。このとき、VMテーブル14Cには、少なくとも、VMを配置したサーバ名を示す情報を格納すればよい。
図6は、VM配置調整処理を示すフローチャートである。この処理は、例えば、予め管理マネージャ10において設定された所定時間毎に実行される。
ステップ11〜14は、夫々図5のステップ1〜4と同様であるため、説明を省略する。
以下のステップ15〜18は、サーバ1〜4の夫々について実行される。
ステップ15では、配置制御部11が、処理対象サーバの合計必要CPU量が処理対象サーバにおける合計CPU使用量の使用可能範囲の下限値よりも下回り、かつ、処理対象サーバの合計必要メモリ量が処理対象サーバにおける合計メモリ使用量の使用可能範囲の下限値よりも下回っているか否かを判定する。処理対象サーバにおける合計CPU使用量の下限値及び合計メモリ使用量の使用可能範囲の下限値は、例えば、次の式で算出することができる。
合計CPU使用量の下限値=(CPU性能)*s
合計メモリ使用量の下限値=(メモリサイズ)*s
ここで、式中のsは、VM管理DB14のパラメータ14Aに設定されている使用率下限値パラメータである。
合計必要CPU量が合計CPU使用量の下限値よりも下回り、かつ、合計必要メモリ量が合計メモリ使用量の下限値よりも下回っているときにはステップ16に進み(Yes)、そうでないときにはステップ17に進む(No)。
ステップ16では、配置制御部11が、処理対象サーバにつき、サーバ停止ルーチンを呼び出す。
ステップ17では、配置制御部11が、処理対象サーバの合計必要CPU量が、処理対象サーバのCPU性能よりも上回っているか、又は、処理対象サーバの合計必要メモリ量が処理対象サーバのメモリサイズよりも上回っているか否かを判定する。合計必要CPU量又は合計必要メモリ量のいずれかが上回っていれば、ステップ18に進み(Yes)、合計必要CPU量及び合計必要メモリ量のいずれもが上回っていないときには、ステップ15に戻って次のサーバの処理を開始する(No)。
ステップ18では、配置制御部11が、VM移動ルーチンを呼び出す。
図7は、CPU予約量算出ルーチンの処理を示すフローチャートである。
ステップ21では、配置制御部11が、サーバ1〜4で夫々動作するVM毎にCPU予約量を算出する。このとき、VMのCPU予約量は、例えば、次の式で算出する。
VMのCPU予約量=(VMへのCPU割当量)−(VMのCPU使用量)
そして、配置制御部11は、算出したVM毎のCPU予約量でVMテーブル14Cを更新する。
ステップ22では、配置制御部11が、同一サーバで動作しているVM全ての合計CPU予約量及び平均CPU予約量をサーバ毎に算出し、サーバテーブル14Bを更新する。
図8は、メモリ予約量算出ルーチンの処理を示すフローチャートである。
ステップ31では、配置制御部11が、サーバ1〜4で夫々動作するVM毎にメモリ予約量を算出する。このとき、各VMのメモリ予約量は、例えば、次の式で算出する。
VMのメモリ予約量=(VMへのメモリ割当量)−(VMのメモリ使用量)
そして、配置制御部11は、算出したVM毎のメモリ予約量でVMテーブル14Cを更新する。
ステップ32では、配置制御部11が、同一サーバで動作しているVM全ての合計メモリ予約量及び平均メモリ予約量をサーバ毎に算出し、サーバテーブル14Bを更新する。
図9は、サーバ停止ルーチンの処理を示すフローチャートである。
ステップ41では、配置制御部11が、処理対象サーバ(すなわち停止させるサーバ)で動作中の全てのVMの移動先となるサーバを選択する。ここでは、サーバの選択基準の一例として、移動対象となるVMを移動した後においても、移動先となるサーバにおける必要資源量が、サーバの物理資源の性能を超えないサーバを選択する。かかる移動先となるサーバの選択基準として、例えば、次の条件を満たすサーバを選択する。
「(移動先サーバの合計必要CPU量)+(移動対象となるVMの必要CPU量)≦(移動先サーバのCPU性能)、かつ、(移動先サーバの合計必要メモリ量)+(移動対象となるVMの必要メモリ量)≦(移動先サーバのメモリサイズ)」
なお、移動対象となるVMの必要CPU量及び必要メモリ量は、例えば、次のような式により算出する。
必要CPU量 =(CPU使用量)+(CPU予約量)*α
必要メモリ量 =(メモリ使用量)+(メモリ予約量)*α
かかる条件を満たすサーバを選択するということを換言すれば、移動対象となる仮想マシンが使用している物理資源の使用量及び当該仮想マシンの予約量に対応する物理資源量の空きを有するサーバを選択するということである。
ここで、配置制御部11は、さらに、上記基準を満たすサーバのうち、サーバで動作するVMの予約量と移動対象となるVMの物理資源の予約量との差が最も小さいサーバを選択する。換言すれば、配置制御部11は、上記基準を満たすサーバのうち、サーバで動作するVMの予約量と移動対象となるVMの物理資源の予約量とが最も近いサーバを選択する。かかるサーバを選択する方法の一例として、サーバで動作するVMの予約量の平均値が、移動対象のVMの予約量と近いサーバを選択する方法がある。また、例えば、次の式の計算結果が最も小さいサーバを選択する。
Figure 2011198332
ステップ42では、配置制御部11が、処理対象サーバで動作する全てのVMを移動させることができるか否か、即ち、全てのVMについて、ステップ41で示した基準を満たすサーバを選択することができたか否かを判定する。全てのVMを移動させることができるときには、ステップ43に進み(Yes)、移動できないVMが存在するときには、本ルーチンを終了する。
ステップ43では、VM制御部12が、処理対象サーバで動作する全てのVMを、ステップ41で配置制御部11が選択した移動先サーバに夫々移動させる。
ステップ44では、配置制御部11が、ステップ43で行ったVMの移動内容で、VM管理DB14のVMテーブル14Cを更新する。すなわち、配置制御部11は、移動させたVMのサーバ名を、処理対象サーバから移動先のサーバへと変更する。
ステップ45では、電源制御部13が、処理対象サーバの電源をオフにして停止させる。
図10は、VM移動ルーチンの処理を示すフローチャートである。
ステップ51では、配置制御部11が、処理対象サーバで動作するVMのうち1つのVMを選択する。
ステップ52では、配置制御部11が、ステップ51で選択したVMの移動先となるサーバを選択する。この選択基準は、ステップ41で示した選択基準と同様の基準を用いる。
ステップ53では、配置制御部11が、ステップ51で選択したVMを移動させることができるか否か、即ち、ステップ41で示した基準を満たすサーバを選択することができたか否かを判定する。VMを移動させることができるときには、ステップ54に進み(Yes)、一方、VMを移動させることができないときには、ステップ55に進む(No)。
ステップ54では、配置制御部11が、選択されたサーバにVMを移動させる。また、配置制御部11は、当該VMの移動内容で、VM管理DB14のVMテーブル14Cを更新する。即ち、配置制御部11は、少なくとも、移動させたVMのサーバ名を、処理対象サーバから移動先サーバへと変更する。
ステップ55では、電源制御部13が、サーバ1〜4のうち、停止しているサーバの電源をオンにする。そして、配置制御部11が、当該電源をオンにしたサーバにVMを移動させる。また、配置制御部11は、当該VMの移動内容で、VM管理DB14のVMテーブル14Cを更新する。なお、停止しているサーバが1つも存在しないときには、配置制御部11は、VMの移動を行わずに当該ルーチンを終了する。
ステップ56では、合計必要CPU量が処理対象サーバのCPU性能以下であり、かつ、合計必要メモリ量が処理対象サーバのメモリサイズ以下であるか否かを判定する。合計必要CPU量が処理対象サーバのCPU性能以下であり、かつ、合計必要メモリ量が処理対象サーバのメモリサイズ以下であるときには、本サブルーチンを終了する(Yes)。一方、そうでないときには、ステップ51に戻り(No)、次のVMについて処理を行う。
次に、VM配置調整処理(図6)において、サーバ停止ルーチン(図9)が呼び出される場合の処理につき、データの具体例を用いて説明する。
VM配置調整処理のステップ15の判定において、図3に示すサーバテーブル14Bのデータの具体例では、サーバ1の合計必要CPU量が[0.6]であり、CPU性能[2.0]に図2に示す使用率下限値[0.5]を乗じた値、即ち使用可能範囲の下限値[1.0]よりも少ない。また、合計必要メモリ量も[0.4]であり、メモリサイズ[4.0]に使用率下限値[0.5]を乗じた値、即ち使用可能範囲の下限値[2.0]よりも少ない。このため、配置制御部11は、サーバ1の電源を停止させるべく、サーバ停止ルーチンを呼び出す。
このとき、サーバ1で動作しているVMは、図4に示すVMテーブル14Cで示されるように、VM1のみである。そして、配置制御部11は、VM1につき、移動先となるサーバを、ステップ41の選択基準により選択する。ここで、VM1のCPU予約量は、図4のVMテーブル14Cで示されるように[1.8](すなわち、CPU割当量[2.0]からCPU使用量[0.2]を差し引いた値)であり、メモリ予約量は、[0.8](すなわち、メモリ割当量[1.0]からメモリ使用量[0.2]を差し引いた値)である。そして、図3のサーバテーブル14Bを参照すると、上記ステップ41の条件を満たし、かつ、平均CPU予約量と移動対象のVMのCPU予約量[1.8]との差が小さく、また、平均メモリ予約量と移動対象のVMのメモリ予約量[0.2]との差が小さいサーバは、サーバ3である。このため、配置制御部11は、サーバ3をVM1の移動先サーバとして選択する。そして、VM制御部12がVM1をサーバ3に移動させる。この移動内容でVMテーブル14Cを更新した結果が、図11に示す内容となる。また、当該移動後に、各サーバにおける物理資源の使用状態を反映させたサーバテーブル14Bが、図12に示す内容となる。
さらに、VM配置調整処理(図6)において、VM移動ルーチン(図10)が行われる場合につき、データの具体例を用いて説明する。
図12に示すサーバテーブル14Bのデータの具体例では、サーバ4は、合計必要CPU量[3.2]がCPU性能[3.0]よりも大きい。このため、配置制御部11は、VM配置調整処理のステップ17の判定において、VM移動ルーチンを呼び出す。
このとき、サーバ4で動作しているVMは、図11に示したVMテーブル14Cで示されるように、VM6及びVM7である。ここで、配置制御部11は、まず、VM6を移動させるVMとして選択する。さらに、配置制御部11は、VM6につき、移動先となるサーバを、ステップ52の選択基準により選択する。ここで、図3のサーバテーブル14Bを参照すると、上記ステップ41の条件を満たし、かつ、平均CPU予約量が、移動させるVM6のCPU予約量[1.8]に近く、また、平均メモリ予約量が、移動させるVM6のメモリ予約量[0.5]に近いサーバは、サーバ3である。このため、配置制御部11は、サーバ3をVM6の移動先サーバとして選択する。そして、VM制御部12がVM6をサーバ3に移動させる。なお、当該移動内容で更新した結果のVMテーブル14Cが、図13に示す内容となる。この段階で、サーバ4の合計必要CPU量は[2.5]となり、CPU性能[3.0]よりも小さい。このため、VM7については移動せずに、処理を終了する。
かかるVM管理システムの処理によれば、VM配置調整処理において、複数のサーバのうち、移動対象となるVMの必要資源量が確保できるサーバが、VMの移動先サーバとして選択される。このため、サーバで動作するVMのうちの1つにおいて負荷が急上昇したとしても、VMの予約量、即ち、VMの動作にさらに必要となると見込まれる物理資源量が確保されているため、物理資源不足による性能低下を回避することができる。したがって、人手により必要資源量の見積りやチューニングを行わなくても、適切に資源を確保でき、また、SLA(Service Level Agreement)違反などを防ぐことができる。
さらに上記条件に加え、物理資源の平均予約量が移動対象となるVMの物理資源の予約量と近いサーバが、VMの移動先サーバとして選択される。その結果、予約量が近いVM同士が同じサーバに集められ、予約量の大きいVMと小さいVMとで、配置されるサーバが分離されることとなる。換言すれば、負荷が急上昇したときにさらに必要となる物理資源量が近い仮想マシン同士が同じサーバに集められることとなる。このため、最小限の物理資源量を確保するだけで、サーバで動作する各VMにつき予約量を確保しつつ、効率的にVMを集約することができる。
かかる効果につき、具体例を用いて図を参照しつつ説明する。なお、ここでは説明を簡略化するため、CPUの使用状態のみに着目して説明する。例えば、図14(A)及び(B)は、CPU割当量が夫々1GHzのVMであって、CPU使用率が100%(即ち、CPU使用量が1GHzであり、CPU予約量は0GHz)のVM2つ、CPU使用率が20%(即ち、CPU使用量が0.2GHzであり、CPU予約量は0.8GHz)のVM6つを、CPU性能が2GHzのサーバ2つに配置するケースである。この場合、本VM管理システムによれば、予約量が近いVM同士が同じサーバに集約されるため、図14(A)に示すような配置となる。ここで、サーバ1は、いずれのVMも予約量が0であり、負荷の急上昇によりこれ以上のCPU資源を必要とすることがないため、物理資源が不足することはない。一方、サーバ2についても、いずれかのVMの負荷が一時的に急上昇して使用率が100%になったとしても、不使用領域が0.8GHz確保されているため、VMの性能低下を防ぐことができる。一方、図14(B)は、これらのVMを、本VM管理システムによらずにサーバ2台に集約した場合の一例である。かかる配置においてCPU使用率20%のVMのうちのいずれか1つのCPU使用率が一時的に急上昇したとき、サーバ1、サーバ2ともに、不使用領域が0.4GHzしか確保されていないため、CPU使用率が60%を超えた時点で、CPU資源不足による性能低下のおそれがある。このように、本VM管理システムによれば、各VMの負荷の一時的な急上昇に備えて物理資源を確保しつつ、VMを効率的に同じサーバに集約して稼動サーバ台数を抑え、消費電力等のコスト削減を図ることができる。
さらに、上記実施例では、同一サーバで動作するVMの必要資源量の合計がサーバの使用量の下限値を下回っているときに、他のサーバへとVMを移動させ、当該サーバを停止させている。こうすることにより、稼動サーバ台数をさらに減らし、一層コスト削減を図ることができる。
なお、上記実施例のサーバ停止ルーチン及びVM移動ルーチンでは、VMの移動先サーバの選択において(ステップ41及び52)、サーバで動作するVMの予約量が移動対象となるVMの予約量と最も近いサーバを選択している。しかし、最も近いサーバに限定することなく、サーバで動作するVMの予約量と移動対象となるVMの予約量とが他のサーバよりも近いサーバを優先して選択すれば、予約量が近いVMを同じサーバに集約することは可能である。
さらに、上記VMの移動先サーバの選択では、移動対象となるVMを移動した後においても、移動先となるサーバにおける必要資源量がサーバの物理資源の性能を超えないサーバであることを条件として、移動先サーバを選択している。しかしながら、サーバにおける必要資源量がサーバの物理資源の性能を超えるおそれがある場合であっても、サーバで動作するVMの予約量が移動対象となるVMの予約量と近いという条件を満たしたサーバであれば、当該サーバを移動先サーバとしてVMの移動を行うようにしてもよい。この場合、例えば、移動先となるサーバですでに動作しているVMのうち、移動対象となるVMの予約量との差が他のVMに比べて大きいVMをさらに他のサーバに移動させて物理資源量を確保した上で、VMの移動を行うようにしてもよい。
また、上記実施例のVM配置調整処理では、サーバの必要資源量が物理資源の性能を超えているときにのみ(ステップ17)、VMを移動させて配置調整を行っている。こうすることにより、物理資源量が不足する蓋然性の高いサーバの負荷を減らし、性能低下を未然に防ぐとができるとともに、無条件に配置調整を行う場合と比べると、VM移動回数を抑制しつつ、VMを徐々に適切な配置にすることができる。しかし、かかる場合に限らず、例えば所定時間毎に各サーバに配置されたVMの予約量を監視し、予約量の近いVM同士が同一サーバに配置されるように移動処理を行ってもよい。
さらに、VM移動ルーチンにおいて、移動対象とするVMを選択するとき(ステップ51)に、予約量が大きいVMから優先して選択するようにしてもよい。このようにすれば、予約量が大きい、即ち、負荷が少ない可能性の高いVMから順に他のサーバに移動されるため、例えば、VMの移動処理に伴い、VMで処理している業務に支障が生じることを、できる限り回避することができる。
また、設定パラメータ(α)及び使用量下限値(s)の値については、CPU及びメモリの夫々について異なる値を設定してもよい。
ところで、上記第1実施例では、CPU及びメモリの両方の使用状態に基づいて、VMの配置を制御したが、例えば、CPUの使用状態のみに基づいてVMの配置を制御してもよい。CPUの使用状態のみに基づいてVMの配置を制御する変形例について、上記第1実施例との相違点を説明する。
サーバテーブル14Bは、サーバ名と、電源状態と、CPUに関連する項目、すなわち、当該サーバのCPU性能、合計CPU使用量、CPU不使用量、合計CPU予約量、合計必要CPU量及び平均CPU予約量を有していればよい。また、同様に、VMテーブル14Cについても、VM名、当該VMが動作しているサーバ名、当該VMのCPU割当量(GHz)、CPU使用量(GHz)、CPU予約量(GHz)、必要CPU量(GHz)を有していればよい。
そして、VM新規追加処理(図5)においては、配置制御部11は、ステップ1において、サーバ1〜4から、各サーバで動作するVMによるCPU使用量を特定可能な情報を収集する。そして、配置制御部11は、ステップ2においてCPU予約量を算出し、ステップ4において、サーバ毎の合計必要CPU量を算出する。そして、ステップ5において、合計必要CPU量が最も小さいサーバにVMを配置する。
また、VM配置調整処理(図6)においては、配置制御部11は、ステップ15において、合計必要CPU量が、処理対象サーバのCPU使用量の下限値よりも下回っているか否かを判定する。そして、合計必要CPU量が、処理対象サーバのCPU使用量の下限値よりも下回っているときに、ステップ16において、処理対象サーバにつき、サーバを停止させるサブルーチンを呼び出す。また、配置制御部11は、ステップ17において、合計必要CPU量が、処理対象サーバのCPU性能を上回っているか否かを判定する。そして、配置制御部11は、合計必要CPU量が、処理対象サーバのCPU性能を上回っていれば、ステップ18において、VM移動ルーチンを呼び出す。
さらに、サーバ停止ルーチン(図9)のステップ41及びVM移動ルーチン(図10)のステップ52では、VMの移動先のサーバの選択基準をCPUの使用状態のみにする。すなわち、次の基準を満たすものを選択すればよい。
「(移動先サーバの合計必要CPU量)+(移動対象となるVMの必要CPU量)≦(移動先サーバのCPU性能)」
さらに、上記基準を満たすサーバのうち、サーバで動作するVMのCPU予約量と移動対象となるVMのCPU予約量との差が最も小さいサーバを選択する。かかるサーバを選択する方法の一例として、サーバで動作するVMのCPU予約量の平均値が、移動対象のVMのCPU予約量と近いサーバを選択する方法がある。
また、CPUの使用状態のみに基づいてVMの配置を制御する変形例と同様に、メモリの使用状態のみに基づいてVMの配置を制御することも可能である。
[第2実施例]
第2実施例におけるVM管理システムでは、CPU予約量及びメモリ予約量を、サーバにおける過去の物理資源の使用状態を考慮して算出する。なお、第1実施例と同じ構成については説明を省略する。
図15は、第2実施例におけるVM管理システムの全体構成である。第2実施例では、上記第1実施例における全体構成に対し、VM管理DB14において、さらに、履歴テーブル14Dを有する。
次に、第2実施例におけるVM管理DB14のうち、履歴テーブル14Dのデータ構造について説明する。なお、設定パラメータ14A、サーバテーブル14B及びVMテーブル14Cは、第1実施例と同様であるため、説明を省略する。
履歴テーブル14Dは、過去の所定期間における、サーバ1〜4で動作する各VMのCPU使用量及びメモリ使用量の最大値の履歴を示す情報が格納されるテーブルである。そして、履歴テーブル14Dは、図16に示すように、VM名、当該VMにおける、本日から30日前までの夫々の日におけるCPU使用量の最大値、過去30日間の通算のCPU使用量の最大値を有する。また、履歴テーブル14Dは、当該VMにおける、本日から30日前までの夫々の日のメモリ使用量の最大値、過去30日間の通算のメモリ使用量の最大値を有する。なお、履歴テーブル14Dで記録を保持する期間(30日)を過ぎた古い情報については、配置制御部11が削除する。また、履歴テーブル14Dで記録を保持する期間は、30日に限らず、任意に変更することができる。
次に、管理マネージャ10が実行する処理について説明する。
ここで、VM新規追加処理(図5)、VM配置調整処理(図6)、サーバ停止ルーチン(図9)及びVM移動ルーチン(図10)の処理は、夫々第1実施例と同様であるため、説明を省略する。
図17は、履歴記録処理を示すフローチャートである。この処理は、例えば、予め管理マネージャ10において設定された所定時間毎に実行される。
ステップ61では、配置制御部11が、サーバ1〜4から、各サーバで動作するVMによるCPU及びメモリの使用量を特定可能な情報を収集する。
ステップ62では、CPU又はメモリのいずれか一方又は両方の使用量が、履歴テーブル14Dに記録された本日の最大値を超えていれば、ステップ63に進む一方(Yes)、いずれの使用量も本日の使用量の最大値を超えていなければ、履歴記録処理を終了する(No)。
ステップ63では、CPU使用量が、履歴テーブル14Dにおける本日のCPU使用量の最大値を超えていれば、ステップ61で収集した使用量で、履歴テーブル14Dの本日のCPU使用量の最大値を更新する。同様に、メモリ使用量が、履歴テーブル14Dにおける本日のメモリ使用量の最大値を超えていれば、ステップ61で収集した使用量で、履歴テーブル14Dの本日のメモリ使用量の最大値を更新する。
ステップ64では、CPU又はメモリのいずれか一方又は両方の使用量が、過去30日間における通算の最大値を超えていれば、ステップ65に進む一方、いずれの使用量も通算の使用量の最大値を超えていなければ、履歴記録処理を終了する。
ステップ65では、CPU使用量が、履歴テーブル14Dにおける通算のCPU使用量の最大値を超えていれば、ステップ61で収集した使用量で、履歴テーブル14DのCPU使用量の通算の最大値を更新する。同様に、メモリ使用量が、履歴テーブル14Dにおける通算のメモリ使用量の最大値を超えていれば、ステップ61で収集した使用量で、履歴テーブル14Dのメモリ使用量の通算の最大値を更新する。
図18は、CPU予約量算出ルーチンの処理を示すフローチャートである。
ステップ71では、配置制御部11が、サーバ1〜4で動作する各VMのCPU予約量を、過去のCPU使用量を考慮して算出する。具体的には、配置制御部11は、CPU予約量を、例えば次の式で算出する。
min(CPU割当量,履歴テーブル14DのCPU使用量の最大値)−(CPU使用量)
即ち、CPU割当量又は履歴テーブル14DのCPU使用量の最大値のいずれか小さいほうの値から、CPU使用量を差し引いて算出する。
そして、配置制御部11は、VM毎のCPU予約量でVMテーブル14Cを更新する。
ステップ72では、配置制御部11が、サーバ1〜4で動作しているVMの合計CPU予約量及び平均CPU予約量をサーバ毎に算出し、サーバテーブル14Bを更新する。
図19は、メモリ予約量算出ルーチンの処理を示すフローチャートである。
ステップ81では、配置制御部11が、サーバ1〜4で動作する各VMのメモリ予約量を、過去のメモリ使用量を考慮して算出する。具体的には、配置制御部11は、メモリ予約量を、例えば次の式で算出する。
min(メモリ割当量,履歴テーブル14Dのメモリ使用量の最大値)−(メモリ使用量)
即ち、メモリ割当量又は履歴テーブル14Dのメモリ使用量の最大値のいずれか小さいほうの値から、メモリ使用量を差し引いて算出する。
そして、配置制御部11は、VM毎のメモリ予約量でVMテーブル14Cを更新する。
ステップ82では、配置制御部11が、各サーバで動作しているVMの合計メモリ予約量及び平均メモリ予約量をサーバ毎に算出し、サーバテーブル14Bを更新する。
次に、上記第2実施例におけるCPU予約量算出ルーチンの処理について、データの具体例を用いて説明する。
配置制御部11が、図20に示したVMテーブル14CのCPU割当量及びCPU使用量に基づき、図21に示した履歴テーブル14Dの最大値を考慮してCPU予約値を算出すると、次のようになる。例えば、VM1では、CPU割当量が[2.0]である一方、履歴テーブル14DのCPU使用量の通算の最大値も[2.0]で等しい。このため、ステップ71の処理により算出されるCPU予約量は、CPU割当量又はCPU使用量の通算の最大値[2.0]からCPU使用量[0.2]を差し引いた[1.8]となる。一方で、例えば、VM2では、CPU割当量が[3.0]である一方、履歴テーブル14DのCPU使用量の通算の最大値は[2.8]であり、CPU割当量よりも小さい。このため、ステップ71の処理により算出されるCPU予約量は、CPU使用量の通算の最大値[2.8]からCPU使用量[2.8]を差し引いた[0.0]となる。
かかる第2実施例に係るVM管理システムの処理によれば、第1実施例に比べ、さらに次のような効果を奏する。即ち、物理資源の予約量が、過去の物理資源の使用状態を考慮して算出されるため、実際にVMが使用する可能性のある物理資源量により近い値となる。したがって、精度の高い予約量に基づいてVMの配置が決定されこととなるため、より的確にVMを配置することが可能となる。例えば、VMの処理内容によっては、VMにより使用される実際の物理資源量は、VMに対する物理資源の割当量よりも少ないことがあり得る。この場合、上記の予約量の具体的な算出例に基づいて予約量を算出すると、物理資源の割当量よりも実際に使用されている物理資源量のほうが小さければ、実際に使用されている物理資源量から物理資源の使用量を差し引いた値が予約量となる。したがって、実質的に使用する見込みのない物理資源量が予約量に含まれることを回避でき、無駄な物理資源量を確保してVMを配置してしまうことを防ぐことができる。
なお、第2実施例に係るVM管理システムにおいても、第1実施例と同様に、CPUのみの使用状態又はメモリのみの使用状態を考慮してVMの配置を行ってもよい。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1) 仮想マシンが夫々動作する複数のサーバと通信可能なコンピュータに、前記複数のサーバの夫々で動作する各仮想マシンが使用している物理資源量を特定可能な情報を収集する収集手順と、前記収集した情報により特定される、各仮想マシンが使用している物理資源量に基づき、各仮想マシンの動作にさらに必要となると見込まれる物理資源量である予約量を、各仮想マシンについて夫々算出する算出手順と、前記複数のサーバの夫々で動作する仮想マシンのうち少なくとも1つを移動対象の仮想マシンとして選択するとともに、当該移動対象の仮想マシンを移動させる先の移動先サーバを前記複数のサーバのいずれかから選択する際に、当該移動先サーバで動作する仮想マシンの予約量と、当該移動対象となる仮想マシンの予約量との差が、他のサーバの仮想マシンの予約量と当該移動対象となる仮想マシンの予約量との差よりも小さくなるように選択する選択手順と、前記移動対象の仮想マシンを、前記移動先サーバに移動させる移動手順と、を実行させることを特徴とする仮想マシン管理プログラム。
(付記2) 前記算出手順は、仮想マシンへの物理資源の割当量から当該仮想マシンによる物理資源の使用量を差し引いた値を各仮想マシンの前記予約量として夫々算出することを特徴とする付記1記載の仮想マシン管理プログラム。
(付記3) 前記算出手順は、各サーバで動作する仮想マシンの前記予約量の平均値をサーバ毎に算出し、前記選択手順は、移動対象となる仮想マシンの予約量とサーバの予約量の平均値との差が他のサーバよりも小さいサーバを移動先サーバとして選択することを特徴とする付記1又は2に記載の仮想マシン管理プログラム。
(付記4) 前記複数のサーバの夫々で動作する各仮想マシンが使用している物理資源の使用量を履歴として記憶装置に記録する履歴記録手順をさらに有し、前記算出手順は、前記履歴を参照し、各仮想マシンが使用している物理資源量及び過去の所定期間内における仮想マシンによる物理資源の使用量に基づいて、前記予約量を算出することを特徴とする付記1〜3のいずれか1つに記載の仮想マシン管理プログラム。
(付記5) 前記算出手順は、前記履歴として記録された物理資源の使用量の中から、過去の所定期間内における仮想マシンによる物理資源の最大使用量を特定し、前記最大使用量が仮想マシンへの物理資源の割当量と一致するときには、仮想マシンへの物理資源の割当量から当該仮想マシンによる物理資源の使用量を差し引いた値を各仮想マシンの前記予約量として夫々算出する一方、前記最大使用量が仮想マシンへの物理資源の割当量よりも少ないときには、前記最大使用量から当該仮想マシンによる物理資源の使用量を差し引いた値を各仮想マシンの前記予約量として夫々算出することを特徴とする付記4記載の仮想マシン管理プログラム。
(付記6) 前記算出手順は、同一サーバで動作する全ての仮想マシンについて、各仮想マシンが使用している物理資源量及び前記予約量の全部又は一部を合算したサーバ毎の必要資源量を算出し、前記選択手順は、前記複数のサーバのいずれかにおいて、サーバの必要資源量が当該サーバの物理資源量を超えているときに、当該サーバで動作する仮想マシンのうち少なくとも1つを移動対象とすることを特徴とする付記1〜5のいずれか1つに記載の仮想マシン管理プログラム。
(付記7) 前記算出手順は、同一サーバで動作する全ての仮想マシンについて、各仮想マシンが使用している物理資源量及び前記予約量の全部又は一部を合算したサーバ毎の必要資源量を算出し、前記選択手順は、同一サーバで動作する全ての仮想マシンにより使用されている物理資源量が、サーバにおいて設定された物理資源量の使用可能範囲の下限値よりも下回っているサーバが存在するときに、当該サーバで動作する全ての仮想マシンを移動対象とし、前記配置手順は、前記配置対象となる仮想マシンを前記配置先のサーバに配置させた後に、サーバを停止させることを特徴とする付記1〜6のいずれか1つに記載の仮想マシン管理プログラム。
(付記8) 前記物理資源は、CPU及び/又はメモリであることを特徴とする付記1〜7のいずれか1つに記載の仮想マシン管理プログラム。
(付記9) 仮想マシンが夫々動作する複数のサーバと通信可能な仮想マシン管理装置であって、前記複数のサーバの夫々で動作する各仮想マシンが使用している物理資源量を特定可能な情報を収集する収集手段と、前記収集した情報により特定される、各仮想マシンが使用している物理資源量に基づき、各仮想マシンの動作にさらに必要となると見込まれる物理資源量である予約量を、各仮想マシンについて夫々算出する算出手段と、前記複数のサーバの夫々で動作する仮想マシンのうち少なくとも1つを移動対象の仮想マシンとして選択するとともに、当該移動対象の仮想マシンを移動させる先の移動先サーバを前記複数のサーバのいずれかから選択する際に、当該移動先サーバで動作する仮想マシンの予約量と、当該移動対象となる仮想マシンの予約量との差が、他のサーバの仮想マシンの予約量と当該移動対象となる仮想マシンの予約量との差よりも小さくなるように選択する選択手段と、前記移動対象の仮想マシンを、前記移動先サーバに移動させる移動手段と、を有することを特徴とする仮想マシン管理装置。
1〜4 サーバ
10 管理マネージャ
11 配置制御部
12 VM制御部
13 電源制御部
14 VM管理DB
14A 設定パラメータ
14B サーバテーブル
14C VMテーブル
14D 履歴テーブル

Claims (6)

  1. 仮想マシンが夫々動作する複数のサーバと通信可能なコンピュータに、
    前記複数のサーバの夫々で動作する各仮想マシンが使用している物理資源量を特定可能な情報を収集する収集手順と、
    前記収集した情報により特定される、各仮想マシンが使用している物理資源量に基づき、各仮想マシンの動作にさらに必要となると見込まれる物理資源量である予約量を、各仮想マシンについて夫々算出する算出手順と、
    前記複数のサーバの夫々で動作する仮想マシンのうち少なくとも1つを移動対象の仮想マシンとして選択するとともに、当該移動対象の仮想マシンを移動させる先の移動先サーバを前記複数のサーバのいずれかから選択する際に、当該移動先サーバで動作する仮想マシンの予約量と、当該移動対象となる仮想マシンの予約量との差が、他のサーバの仮想マシンの予約量と当該移動対象となる仮想マシンの予約量との差よりも小さくなるように選択する選択手順と、
    前記移動対象の仮想マシンを、前記移動先サーバに移動させる移動手順と、
    を実行させることを特徴とする仮想マシン管理プログラム。
  2. 前記算出手順は、仮想マシンへの物理資源の割当量から当該仮想マシンによる物理資源の使用量を差し引いた値を各仮想マシンの前記予約量として夫々算出することを特徴とする請求項1記載の仮想マシン管理プログラム。
  3. 前記複数のサーバの夫々で動作する各仮想マシンが使用している物理資源の使用量を履歴として記憶装置に記録する履歴記録手順をさらに有し、
    前記算出手順は、前記履歴を参照し、各仮想マシンが使用している物理資源量及び過去の所定期間内における仮想マシンによる物理資源の使用量に基づいて、前記予約量を算出することを特徴とする請求項1又は2に記載の仮想マシン管理プログラム。
  4. 前記算出手順は、同一サーバで動作する全ての仮想マシンについて、各仮想マシンが使用している物理資源量及び前記予約量の全部又は一部を合算したサーバ毎の必要資源量を算出し、
    前記選択手順は、前記複数のサーバのいずれかにおいて、サーバの必要資源量が当該サーバの物理資源量を超えているときに、当該サーバで動作する仮想マシンのうち少なくとも1つを移動対象とすることを特徴とする請求項1〜3のいずれか1つに記載の仮想マシン管理プログラム。
  5. 前記算出手順は、同一サーバで動作する全ての仮想マシンについて、各仮想マシンが使用している物理資源量及び前記予約量の全部又は一部を合算したサーバ毎の必要資源量を算出し、
    前記選択手順は、同一サーバで動作する全ての仮想マシンにより使用されている物理資源量が、サーバにおいて設定された物理資源量の使用可能範囲の下限値よりも下回っているサーバが存在するときに、当該サーバで動作する全ての仮想マシンを移動対象とし、
    前記配置手順は、前記配置対象となる仮想マシンを前記配置先のサーバに配置させた後に、サーバを停止させることを特徴とする請求項1〜4のいずれか1つに記載の仮想マシン管理プログラム。
  6. 仮想マシンが夫々動作する複数のサーバと通信可能な仮想マシン管理装置であって、
    前記複数のサーバの夫々で動作する各仮想マシンが使用している物理資源量を特定可能な情報を収集する収集手段と、
    前記収集した情報により特定される、各仮想マシンが使用している物理資源量に基づき、各仮想マシンの動作にさらに必要となると見込まれる物理資源量である予約量を、各仮想マシンについて夫々算出する算出手段と、
    前記複数のサーバの夫々で動作する仮想マシンのうち少なくとも1つを移動対象の仮想マシンとして選択するとともに、当該移動対象の仮想マシンを移動させる先の移動先サーバを前記複数のサーバのいずれかから選択する際に、当該移動先サーバで動作する仮想マシンの予約量と、当該移動対象となる仮想マシンの予約量との差が、他のサーバの仮想マシンの予約量と当該移動対象となる仮想マシンの予約量との差よりも小さくなるように選択する選択手段と、
    前記移動対象の仮想マシンを、前記移動先サーバに移動させる移動手段と、
    を有することを特徴とする仮想マシン管理装置。
JP2010067466A 2010-03-24 2010-03-24 仮想マシン管理プログラム及び仮想マシン管理装置 Expired - Fee Related JP5544967B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010067466A JP5544967B2 (ja) 2010-03-24 2010-03-24 仮想マシン管理プログラム及び仮想マシン管理装置
US13/036,840 US8839263B2 (en) 2010-03-24 2011-02-28 Apparatus to manage virtual machine migration to a best fit server based on reserve capacity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010067466A JP5544967B2 (ja) 2010-03-24 2010-03-24 仮想マシン管理プログラム及び仮想マシン管理装置

Publications (2)

Publication Number Publication Date
JP2011198332A true JP2011198332A (ja) 2011-10-06
JP5544967B2 JP5544967B2 (ja) 2014-07-09

Family

ID=44657831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010067466A Expired - Fee Related JP5544967B2 (ja) 2010-03-24 2010-03-24 仮想マシン管理プログラム及び仮想マシン管理装置

Country Status (2)

Country Link
US (1) US8839263B2 (ja)
JP (1) JP5544967B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013239095A (ja) * 2012-05-17 2013-11-28 Nippon Telegr & Teleph Corp <Ntt> 仮想マシン配置装置および仮想マシン配置方法
JP2013243641A (ja) * 2012-04-27 2013-12-05 Toshiba Corp 通信システム、データセンタ装置及びデータセンタ装置で使用される制御方法
JP2013246532A (ja) * 2012-05-24 2013-12-09 Fujitsu Ltd 情報処理装置、仮想マシン制御方法、仮想マシン制御プログラム
JP2014191378A (ja) * 2013-03-26 2014-10-06 Hitachi Systems Ltd サーバ数調整システムおよび方法ならびにプログラム
JP2015094975A (ja) * 2013-11-08 2015-05-18 日本電気株式会社 仮想マシン管理システムおよび仮想マシン管理方法
JP2015184965A (ja) * 2014-03-25 2015-10-22 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理システム
WO2015182471A1 (ja) * 2014-05-28 2015-12-03 Kddi株式会社 Itシステムにおけるサーバの性能の抽象化方法および資源管理方法
JP2017027194A (ja) * 2015-07-17 2017-02-02 日本電信電話株式会社 リソース割当管理装置およびリソース割当管理方法
US9762506B2 (en) 2013-02-06 2017-09-12 Hitachi, Ltd. Virtual guest management system and virtual guest management method
US9921861B2 (en) 2013-06-26 2018-03-20 Fujitsu Limited Virtual machine management method and information processing apparatus

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9122538B2 (en) 2010-02-22 2015-09-01 Virtustream, Inc. Methods and apparatus related to management of unit-based virtual resources within a data center environment
US9027017B2 (en) 2010-02-22 2015-05-05 Virtustream, Inc. Methods and apparatus for movement of virtual resources within a data center environment
US8826292B2 (en) * 2010-08-06 2014-09-02 Red Hat Israel, Ltd. Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines
JP5582344B2 (ja) * 2010-08-09 2014-09-03 日本電気株式会社 接続管理システム、及びシンクライアントシステムにおける接続管理サーバの連携方法
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
JP5412599B2 (ja) * 2011-03-03 2014-02-12 株式会社日立製作所 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US8533715B2 (en) * 2011-08-09 2013-09-10 International Business Machines Corporation Virtual machine management
EP2748705A4 (en) 2011-08-25 2015-05-20 Virtustream Inc SYSTEMS AND METHODS FOR HOST-RELATED RESOURCE MANAGEMENT WITH CLUSTER-BASED RESOURCE POOLS
US8825863B2 (en) * 2011-09-20 2014-09-02 International Business Machines Corporation Virtual machine placement within a server farm
JP5725191B2 (ja) * 2011-09-22 2015-05-27 富士通株式会社 電源管理装置、電源管理方法および電源管理プログラム
DE102012217202B4 (de) * 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
TWI533146B (zh) * 2011-11-10 2016-05-11 財團法人資訊工業策進會 虛擬資源調整裝置、方法及儲存其之電腦可讀取紀錄媒體
KR20130074401A (ko) * 2011-12-26 2013-07-04 삼성전자주식회사 계층적 스케줄러를 갖는 멀티코어 기반의 컴퓨팅 장치 및 계층적 스케줄 방법
US9201697B2 (en) * 2012-01-23 2015-12-01 International Business Machines Corporation System and method to reduce memory usage by optimally placing VMS in a virtualized data center
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9280380B2 (en) * 2012-02-29 2016-03-08 Red Hat Israel, Ltd. Management of I/O reqeusts in virtual machine migration
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US8850432B2 (en) * 2012-05-30 2014-09-30 Red Hat, Inc. Controlling utilization in a multi-tenant platform-as-a-service (PaaS) environment in a cloud computing system
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
WO2013190649A1 (ja) * 2012-06-20 2013-12-27 富士通株式会社 仮想ディスクのマイグレーションに関する情報処理方法及び装置
US8930948B2 (en) * 2012-06-21 2015-01-06 Vmware, Inc. Opportunistically proactive resource management using spare capacity
US9619297B2 (en) 2012-06-25 2017-04-11 Microsoft Technology Licensing, Llc Process migration in data center networks
JP5687666B2 (ja) * 2012-08-15 2015-03-18 株式会社東芝 スケジューリング装置、システム、方法およびプログラム
US9292376B2 (en) 2012-08-24 2016-03-22 Vmware, Inc. Proactive resource reservation for protecting virtual machines
US9298512B2 (en) * 2012-08-25 2016-03-29 Vmware, Inc. Client placement in a computer network system using dynamic weight assignments on resource utilization metrics
US9323579B2 (en) * 2012-08-25 2016-04-26 Vmware, Inc. Resource allocation diagnosis on distributed computer systems
CN103631651B (zh) * 2012-08-28 2018-08-03 中兴通讯股份有限公司 应用程序关闭方法及***
US8972990B2 (en) 2012-08-29 2015-03-03 International Business Machines Corporation Providing a seamless transition for resizing virtual machines from a development environment to a production environment
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US8978035B2 (en) 2012-09-06 2015-03-10 Red Hat, Inc. Scaling of application resources in a multi-tenant platform-as-a-service environment in a cloud computing system
US9009704B2 (en) * 2012-09-07 2015-04-14 Red Hat, Inc. Application partitioning in a multi-tenant platform-as-a-service environment in a cloud computing system
US9135048B2 (en) * 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US10146591B2 (en) * 2013-03-01 2018-12-04 Vmware, Inc. Systems and methods for provisioning in a virtual desktop infrastructure
US9984206B2 (en) * 2013-03-14 2018-05-29 Volcano Corporation System and method for medical resource scheduling in a distributed medical system
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9830236B2 (en) * 2013-06-05 2017-11-28 Vmware, Inc. System and method for assigning memory reserved for high availability failover to virtual machines
US10002059B2 (en) 2013-06-13 2018-06-19 Vmware, Inc. System and method for assigning memory available for high availability failover to virtual machines
CA2915181A1 (en) * 2013-06-14 2014-12-18 Cirba Inc. System and method for determining capacity in computer environments using demand profiles
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
KR101515891B1 (ko) * 2013-11-11 2015-04-29 주식회사 팀스톤 메모리 사용량 분석 방법 및 이를 수행하는 사용자 단말
CN103870314B (zh) * 2014-03-06 2017-01-25 中国科学院信息工程研究所 一种单节点同时运行不同类型虚拟机的方法及***
US10129105B2 (en) 2014-04-09 2018-11-13 International Business Machines Corporation Management of virtual machine placement in computing environments
US10142192B2 (en) 2014-04-09 2018-11-27 International Business Machines Corporation Management of virtual machine resources in computing environments
US9935865B2 (en) * 2014-06-23 2018-04-03 Infosys Limited System and method for detecting and preventing service level agreement violation in a virtualized environment
JP6260470B2 (ja) * 2014-06-26 2018-01-17 富士通株式会社 網監視システムおよび網監視方法
US9483299B2 (en) * 2014-06-30 2016-11-01 Bmc Software, Inc. Capacity risk management for virtual machines
US9588795B2 (en) * 2014-11-24 2017-03-07 Aspen Timber LLC Monitoring and reporting resource allocation and usage in a virtualized environment
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
JP2016119583A (ja) * 2014-12-22 2016-06-30 株式会社東芝 Ip電話ネットワークシステムとサーバ装置、ip交換機及びリソース容量拡張方法
WO2016121066A1 (ja) * 2015-01-29 2016-08-04 株式会社日立製作所 ストレージシステム
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US9760398B1 (en) * 2015-06-29 2017-09-12 Amazon Technologies, Inc. Automatic placement of virtual machine instances
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9866626B2 (en) * 2015-09-08 2018-01-09 International Business Machines Corporation Domain-specific pattern design
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
CN105550024A (zh) * 2015-12-08 2016-05-04 北京元心科技有限公司 一种基于容器的移动终端关机方法和装置
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10395219B1 (en) * 2015-12-18 2019-08-27 Amazon Technologies, Inc. Location policies for reserved virtual machine instances
CN105589746B (zh) * 2015-12-30 2019-05-10 ***股份有限公司 虚拟机迁移记录管理方法及***
WO2017168664A1 (ja) * 2016-03-30 2017-10-05 富士通株式会社 配置探索プログラム、配置探索方法、および配置探索装置
CN105893155B (zh) * 2016-04-14 2019-12-03 广州杰赛科技股份有限公司 虚拟机负载均衡控制方法与装置
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10552272B2 (en) * 2016-12-14 2020-02-04 Nutanix, Inc. Maintaining high availability during N-node failover
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10324765B2 (en) 2017-01-20 2019-06-18 Microsoft Technology Licensing, Llc Predicting capacity of shared virtual machine resources
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
JP6969282B2 (ja) * 2017-10-25 2021-11-24 富士通株式会社 情報処理装置、情報処理システムおよび情報処理方法
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US11500685B2 (en) * 2018-07-24 2022-11-15 Citrix Systems, Inc. Mixed instance catalogs
US11216312B2 (en) * 2018-08-03 2022-01-04 Virtustream Ip Holding Company Llc Management of unit-based virtual accelerator resources
CN109388478A (zh) * 2018-11-01 2019-02-26 郑州云海信息技术有限公司 用于OpenStack环境中迁移虚拟机的方法和装置
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11385975B2 (en) 2019-11-27 2022-07-12 Amazon Technologies, Inc. Systems and methods for enabling a highly available managed failover service
JP7107981B2 (ja) * 2020-03-17 2022-07-27 株式会社日立製作所 計算機システム
US11397651B2 (en) * 2020-03-27 2022-07-26 Amazon Technologies, Inc. Managing failover region availability for implementing a failover service
US11397652B2 (en) * 2020-03-27 2022-07-26 Amazon Technologies, Inc. Managing primary region availability for implementing a failover from another primary region
US11411808B2 (en) * 2020-03-27 2022-08-09 Amazon Technologies, Inc. Managing failover region availability for implementing a failover service
US20210342185A1 (en) * 2020-04-30 2021-11-04 Hewlett Packard Enterprise Development Lp Relocation of workloads across data centers
US11709741B1 (en) 2021-03-29 2023-07-25 Amazon Technologies, Inc. Systems and methods for enabling a failover service for block-storage volumes
CN114185676B (zh) * 2021-12-06 2022-12-16 深圳威科软件科技有限公司 服务器分配方法、装置、电子设备和计算机可读存储介质
CN115361349B (zh) * 2022-07-26 2023-08-15 支付宝(杭州)信息技术有限公司 资源使用方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185589A (ja) * 1996-01-05 1997-07-15 Toshiba Corp 情報処理システムと情報処理システムの省電力方法
JPH11202988A (ja) * 1998-01-13 1999-07-30 Hitachi Ltd システム消費電力制御方法
WO2008062864A1 (en) * 2006-11-24 2008-05-29 Nec Corporation Virtual machine locating system, virtual machine locating method, program, virtual machine management device and server
JP2009140079A (ja) * 2007-12-04 2009-06-25 Hitachi Ltd リソースの運用管理方法、運用管理プログラム、および、運用管理装置
JP2009259005A (ja) * 2008-04-17 2009-11-05 Hitachi Ltd リソース監視方法および装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202959A (ja) 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US8104039B2 (en) * 2006-08-07 2012-01-24 International Business Machines Corporation Method for balancing resource sharing and application latency within a data processing system
US20080087611A1 (en) * 2006-10-13 2008-04-17 Tomley Joseph H Chemical Metering System
US8554981B2 (en) * 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US8752055B2 (en) * 2007-05-10 2014-06-10 International Business Machines Corporation Method of managing resources within a set of processes
US8291411B2 (en) * 2007-05-21 2012-10-16 International Business Machines Corporation Dynamic placement of virtual machines for managing violations of service level agreements (SLAs)
US8935701B2 (en) * 2008-03-07 2015-01-13 Dell Software Inc. Unified management platform in a computer network
US8347307B2 (en) * 2008-03-12 2013-01-01 International Business Machines Corporation Method and system for cost avoidance in virtualized computing environments
US8321862B2 (en) * 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US9424094B2 (en) * 2009-06-01 2016-08-23 International Business Machines Corporation Server consolidation using virtual machine resource tradeoffs
US8433802B2 (en) * 2010-01-26 2013-04-30 International Business Machines Corporation System and method for fair and economical resource partitioning using virtual hypervisor
US8429449B2 (en) * 2010-03-01 2013-04-23 International Business Machines Corporation Optimized placement of virtual machines in a network environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185589A (ja) * 1996-01-05 1997-07-15 Toshiba Corp 情報処理システムと情報処理システムの省電力方法
JPH11202988A (ja) * 1998-01-13 1999-07-30 Hitachi Ltd システム消費電力制御方法
WO2008062864A1 (en) * 2006-11-24 2008-05-29 Nec Corporation Virtual machine locating system, virtual machine locating method, program, virtual machine management device and server
JP2009140079A (ja) * 2007-12-04 2009-06-25 Hitachi Ltd リソースの運用管理方法、運用管理プログラム、および、運用管理装置
JP2009259005A (ja) * 2008-04-17 2009-11-05 Hitachi Ltd リソース監視方法および装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013243641A (ja) * 2012-04-27 2013-12-05 Toshiba Corp 通信システム、データセンタ装置及びデータセンタ装置で使用される制御方法
US9172581B2 (en) 2012-04-27 2015-10-27 Kabushiki Kaisha Toshiba Communication system, datacenter apparatus, and control method used in datacenter apparatus
JP2013239095A (ja) * 2012-05-17 2013-11-28 Nippon Telegr & Teleph Corp <Ntt> 仮想マシン配置装置および仮想マシン配置方法
JP2013246532A (ja) * 2012-05-24 2013-12-09 Fujitsu Ltd 情報処理装置、仮想マシン制御方法、仮想マシン制御プログラム
US9762506B2 (en) 2013-02-06 2017-09-12 Hitachi, Ltd. Virtual guest management system and virtual guest management method
JP2014191378A (ja) * 2013-03-26 2014-10-06 Hitachi Systems Ltd サーバ数調整システムおよび方法ならびにプログラム
US9921861B2 (en) 2013-06-26 2018-03-20 Fujitsu Limited Virtual machine management method and information processing apparatus
JP2015094975A (ja) * 2013-11-08 2015-05-18 日本電気株式会社 仮想マシン管理システムおよび仮想マシン管理方法
JP2015184965A (ja) * 2014-03-25 2015-10-22 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理システム
WO2015182471A1 (ja) * 2014-05-28 2015-12-03 Kddi株式会社 Itシステムにおけるサーバの性能の抽象化方法および資源管理方法
JP2015225524A (ja) * 2014-05-28 2015-12-14 Kddi株式会社 Itシステムにおけるサーバの性能の抽象化方法および資源管理方法
JP2017027194A (ja) * 2015-07-17 2017-02-02 日本電信電話株式会社 リソース割当管理装置およびリソース割当管理方法

Also Published As

Publication number Publication date
US20110239215A1 (en) 2011-09-29
US8839263B2 (en) 2014-09-16
JP5544967B2 (ja) 2014-07-09

Similar Documents

Publication Publication Date Title
JP5544967B2 (ja) 仮想マシン管理プログラム及び仮想マシン管理装置
US20200287961A1 (en) Balancing resources in distributed computing environments
JP5332065B2 (ja) クラスタ構成管理方法、管理装置及びプログラム
US9304803B2 (en) Cooperative application workload scheduling for a consolidated virtual environment
JP5939740B2 (ja) 動的にリソースを割り当てる方法、システム及びプログラム
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
US9112782B2 (en) Reactive auto-scaling of capacity
US9197698B2 (en) Management computer, resource management method, resource management computer program, recording medium, and information processing system
JP5417287B2 (ja) 計算機システム、及び、計算機システムの制御方法
US9218213B2 (en) Dynamic placement of heterogeneous workloads
JP4519098B2 (ja) 計算機の管理方法、計算機システム、及び管理プログラム
US9367340B2 (en) Resource management method and apparatus for virtual machine system, and virtual machine system
US9396026B2 (en) Allocating a task to a computer based on determined resources
US9396008B2 (en) System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts
US9152443B2 (en) System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing
US9448853B2 (en) Method of allocating physical computing resource of computer system
US20150106520A1 (en) Efficient Provisioning &amp; Deployment of Virtual Machines
US12001875B2 (en) Virtualization platform and virtualization platform scaling management method
US20230055813A1 (en) Performing resynchronization jobs in a distributed storage system based on a parallelism policy
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
US11074111B2 (en) Quality of service scheduling with workload profiles
KR20160043706A (ko) 가상 머신 스케일링 장치 및 그 방법
KR20190061241A (ko) 리소스 통합관리를 위한 메소스 처리 장치 및 방법
JP2013080346A (ja) 情報処理装置、保守作業支援方法および保守作業支援用プログラム
Babua et al. Interference aware prediction mechanism for auto scaling in cloudR

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140326

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: 20140415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140428

R150 Certificate of patent or registration of utility model

Ref document number: 5544967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees