JP2013149118A - Virtual machine management server, virtual machine movement order control method and control program - Google Patents

Virtual machine management server, virtual machine movement order control method and control program Download PDF

Info

Publication number
JP2013149118A
JP2013149118A JP2012009622A JP2012009622A JP2013149118A JP 2013149118 A JP2013149118 A JP 2013149118A JP 2012009622 A JP2012009622 A JP 2012009622A JP 2012009622 A JP2012009622 A JP 2012009622A JP 2013149118 A JP2013149118 A JP 2013149118A
Authority
JP
Japan
Prior art keywords
virtual
host
movement
virtual machine
virtual host
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
JP2012009622A
Other languages
Japanese (ja)
Other versions
JP5817549B2 (en
Inventor
Osami Kabashima
良聡臣 椛島
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 JP2012009622A priority Critical patent/JP5817549B2/en
Publication of JP2013149118A publication Critical patent/JP2013149118A/en
Application granted granted Critical
Publication of JP5817549B2 publication Critical patent/JP5817549B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a virtual machine management server and the like capable of effectively avoiding a rise in load caused by temporary concentration of a virtual machine on a specific virtual host.SOLUTION: A virtual machine management server 10 includes: an operation state collection section 101 for collecting a resource utilization rate of each of a plurality of virtual computers operated in each virtual host 20 from each virtual host 20; an optimum arrangement determination section 102 for determining the arrangement of the virtual computers most leveling load applied to each virtual host; a movement order determination section 103 for specifying a movement pattern in which the plurality of virtual computers of each virtual host are sequentially moved one by one and the movement is repeated until the arrangement of the virtual computers is optimally arranged and outputting the movement pattern as an optimum movement order; and a virtual machine movement commanding section 104 for commanding a movement instruction of the virtual computer to each virtual host on the basis of the optimum movement order.

Description

本発明は仮想マシン管理サーバ、仮想マシン移動順序制御方法および制御プログラムに関し、特に仮想マシンを動作させる複数の仮想ホストの間での負荷を平準化する仮想マシン管理サーバ等に関する。   The present invention relates to a virtual machine management server, a virtual machine movement order control method, and a control program, and more particularly, to a virtual machine management server and the like that equalize loads among a plurality of virtual hosts that operate virtual machines.

大規模なコンピュータネットワークを構築して運用する企業などの組織では、コンピュータの仮想化が急速に進められていることが多い。たとえば業務システムを稼働させる各種サーバコンピュータや、各ユーザが操作するクライアントコンピュータを仮想コンピュータとして運用することによって、これらのコンピュータの運用にかかるコストを削減し、また機器の故障や大規模災害などがあっても動作を継続させることができると考えられている。   In organizations such as corporations that construct and operate large-scale computer networks, computer virtualization is often promoted rapidly. For example, by operating various server computers that operate business systems and client computers operated by each user as virtual computers, the cost of operating these computers can be reduced, and there are equipment failures and large-scale disasters. However, it is thought that the operation can be continued.

ある物理コンピュータ(以後仮想ホストという)で動作している仮想コンピュータ(以後仮想マシンという)は、動作中でもその動作状態をそのまま、ネットワークを介して他の仮想ホストに移動させることが可能である。   A virtual computer (hereinafter referred to as a virtual machine) operating on a certain physical computer (hereinafter referred to as a virtual host) can be moved to another virtual host via a network without change in its operating state even during operation.

その際、特定の仮想ホスト上に動作負荷の高い仮想マシンが集中すると、その仮想ホストのコンピュータ資源(以後リソースという)が不足し、その結果として、その仮想ホストで動作する仮想マシンの動作性能が低下することになる。従って、複数の仮想ホストの間で、負荷を平準化してリソースを最適化するよう、当該仮想ホスト間で仮想マシンを配置することが、安定したコンピュータシステムの運用には必要となる。   At that time, if a virtual machine with a high operating load is concentrated on a specific virtual host, the computer resources (hereinafter referred to as resources) of the virtual host are insufficient, and as a result, the operating performance of the virtual machine operating on the virtual host is reduced. Will be reduced. Therefore, it is necessary for stable computer system operation to arrange virtual machines between virtual hosts so that the load is leveled and resources are optimized among the virtual hosts.

これに関連して、以下のような技術資料がある。その中でも特許文献1には、仮想マシンの移動前後での各仮想ホストのリソースの評価値を求めて、これに基づいて仮想マシンを移動させるという仮想サーバシステムが記載されている。特許文献2には、高負荷の仮想ホストで動作している仮想マシンを他の仮想ホストに移動させる際の判定基準について記載されている。   There are the following technical documents related to this. Among them, Patent Document 1 describes a virtual server system that obtains an evaluation value of a resource of each virtual host before and after the movement of the virtual machine and moves the virtual machine based on the evaluation value. Japanese Patent Application Laid-Open No. 2004-228688 describes a criterion for moving a virtual machine operating on a high-load virtual host to another virtual host.

特許文献3には、ある仮想ホストで動作している仮想マシンを他の仮想ホストに移動させるスケジュールを決定するという技術が記載されている。非特許文献1には、仮想マシンの移動に関する一般的な技術の一例が記載されている。   Patent Document 3 describes a technique for determining a schedule for moving a virtual machine operating on a virtual host to another virtual host. Non-Patent Document 1 describes an example of a general technique related to movement of a virtual machine.

再公表特許WO2008/102739号Republished patent WO2008 / 102737 特開2011−186701号公報JP 2011-186701 A 特開2010−244524号公報JP 2010-244524 A

「VMware vMotion による仮想マシンのライブ マイグレーションの実現」、平成23年、ヴイエムウェア株式会社、[平成24年1月16日検索]、インターネット<URL:http://www.vmware.com/jp/products/datacenter-virtualization/vsphere/vmotion/overview.html>"Realization of virtual machine live migration with VMware vMotion", 2011, VMware, Inc. [Search January 16, 2012], Internet <URL: http://www.vmware.com/jp/products/ datacenter-virtualization / vsphere / vmotion / overview.html>

複数の仮想ホストの間での負荷の平準化およびリソースの最適化のために、当該仮想ホスト間で複数の仮想マシンを移動させることが必要となる場合がある。この場合、仮想マシンを一斉に移動させる方式と段階的に移動させる方式が考えられるが、前者の方式だと、仮想マシンの一斉移動によって仮想ホストで負荷が一時的に上昇してリソース不足が発生し、その仮想ホストで動作する仮想マシンの動作が不安定になることがある。一時的ではあっても、そのような状態になることは望ましいことではない。   In some cases, it is necessary to move a plurality of virtual machines between the virtual hosts in order to balance the load between the plurality of virtual hosts and optimize the resources. In this case, a method of moving virtual machines at the same time or a method of moving them in stages can be considered, but with the former method, the virtual host's simultaneous movement increases the load temporarily on the virtual host, causing a shortage of resources. However, the operation of the virtual machine running on the virtual host may become unstable. Even if it is temporary, it is not desirable to be in such a state.

従って、仮想マシンを段階的に移動させる方式の方が好ましいと言うことはできる。しかしながら、その最適化の途中の段階で、仮想マシンが特定の仮想ホストに一時的に集中することがありうる。たとえ一時的にでも、そのようなことが発生すると、仮想ホストの負荷が上昇して仮想マシンの動作が不安定になることがありうる。   Therefore, it can be said that the method of moving the virtual machine in stages is preferable. However, in the middle of the optimization, virtual machines may temporarily concentrate on a specific virtual host. Even if it happens temporarily, the load on the virtual host may increase and the operation of the virtual machine may become unstable.

前述の特許文献1〜3や非特許文献1に記載の技術では、このような仮想マシンの移動方式や移動の順序といった点について考慮されていない。特許文献3に記載の技術で決定されるのは仮想マシンを他の仮想ホストに移動させる「スケジュール」であって、順序ではない。従って、それらの技術の組み合わせで、上記の問題を解決することはできない。   In the techniques described in Patent Documents 1 to 3 and Non-Patent Document 1 described above, consideration is not given to such points as the virtual machine movement method and the movement order. The technique described in Patent Literature 3 determines a “schedule” for moving a virtual machine to another virtual host, not the order. Therefore, the above problem cannot be solved by a combination of these techniques.

本発明の目的は、仮想マシンを移動させて負荷を平準化する途中の段階において、仮想マシンが特定の仮想ホストに一時的に集中して負荷が上昇することを有効に回避することを可能とする仮想マシン管理サーバ、仮想マシン移動順序制御方法および制御プログラムを提供することにある。   An object of the present invention is to effectively avoid a virtual machine temporarily concentrating on a specific virtual host and increasing the load during the process of leveling the load by moving the virtual machine. A virtual machine management server, a virtual machine movement order control method, and a control program are provided.

上記目的を達成するため、本発明に係る仮想マシン管理サーバは、各々が複数の仮想コンピュータを動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバであって、各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を収集する動作状態収集部と、収集されたリソース利用率から、各仮想ホストのリソース利用率の合計値を最も平準化する各仮想ホスト上の仮想コンピュータの配置を最適配置として決定する最適配置決定部とを備えると共に、各仮想ホストの複数の仮想コンピュータを一つずつ順次移動させて、これを仮想コンピュータの配置が最適配置となるまで繰り返す移動パターンを特定し、当該移動パターンを最適な移動順序として出力する移動順序決定部と、最適な移動順序に基づいて、各仮想ホストに対して仮想コンピュータの移動命令を順次発する仮想マシン移動司令部とを有することを特徴とする。   To achieve the above object, a virtual machine management server according to the present invention is a virtual machine management server connected via a network to a plurality of virtual hosts each operating a plurality of virtual computers. An operating state collection unit that collects the resource usage rate of each virtual computer that operates on the host, and the virtual resource on each virtual host that most equalizes the total resource usage rate of each virtual host from the collected resource usage rate A movement pattern that includes an optimum arrangement determination unit that decides the arrangement of computers as an optimum arrangement, and sequentially moves a plurality of virtual computers of each virtual host one by one until the arrangement of the virtual computers becomes the optimum arrangement And a movement order determination unit that outputs the movement pattern as an optimum movement order, and an optimum movement Based on the mechanism, and having a virtual machine moving headquarters sequentially emits movement instruction of the virtual computer for each virtual host.

上記目的を達成するため、本発明に係る仮想マシン移動順序制御方法は、各々が複数の仮想コンピュータを動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバにあって、各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を動作状態収集部が収集し、収集されたリソース利用率から、各仮想ホストのリソース利用率の合計値を最も平準化する各仮想ホスト上の仮想コンピュータの配置を最適配置決定部が最適配置として決定し、各仮想ホストの複数の仮想コンピュータを一つずつ順次移動させて、これを仮想コンピュータの配置が最適配置となるまで繰り返す移動パターンを移動順序決定部が特定してこれを最適な移動順序として出力し、最適な移動順序に基づいて、各仮想ホストに対して仮想マシン移動司令部が仮想コンピュータの移動命令を順次発することを特徴とする。   In order to achieve the above object, a virtual machine movement order control method according to the present invention is provided in a virtual machine management server connected via a network to a plurality of virtual hosts each operating a plurality of virtual computers. The operating state collection unit collects the resource usage rate of each virtual computer running on the host from the host, and on each virtual host that most equalizes the total resource usage rate of each virtual host from the collected resource usage rate The optimal placement determination unit determines the placement of the virtual computers as the optimal placement, sequentially moves a plurality of virtual computers of each virtual host one by one, and repeats the movement pattern until the placement of the virtual computers becomes the optimal placement. The movement order determination unit identifies and outputs this as the optimum movement order, and each virtual host is based on the optimum movement order. Virtual machine movement headquarters, characterized in that the successively issuing a movement instruction of the virtual machine with respect.

上記目的を達成するため、本発明に係る仮想マシン移動順序制御プログラムは、各々が複数の仮想コンピュータを動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバにあって、仮想マシン管理サーバが備えるコンピュータに、各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を収集する手順、収集されたリソース利用率から、各仮想ホストのリソース利用率の合計値を最も平準化する各仮想ホスト上の仮想コンピュータの配置を最適配置として決定する手順、各仮想ホストの複数の仮想コンピュータを一つずつ順次移動させて、これを仮想コンピュータの配置が最適配置となるまで繰り返す移動パターンを特定してこれを最適な移動順序として出力手順、および最適な移動順序に基づいて、各仮想ホストに対して仮想コンピュータの移動命令を順次発する手順を実行させることを特徴とする。   In order to achieve the above object, a virtual machine movement order control program according to the present invention is provided in a virtual machine management server connected via a network to a plurality of virtual hosts each operating a plurality of virtual computers. The procedure for collecting the resource utilization rate of each virtual computer running on the host from each virtual host on the computer provided with the management server, and the level of the total resource utilization rate of each virtual host from the collected resource utilization rate The procedure for determining the placement of virtual computers on each virtual host as the optimum placement, moving multiple virtual computers on each virtual host one by one, and repeating this until the placement of virtual computers reaches the optimum placement Identify and output this as the optimal moving order, and the optimal moving order Based on, characterized in that to execute sequentially emits procedure movement instruction of the virtual computer for each virtual host.

本発明は、上記したように、負荷が最も平準化される最適配置になるまで仮想コンピュータを一つずつ順次移動させる移動パターンを特定するように構成したので、前述したような仮想マシンが特定の仮想ホストに集中する事態を有効に回避できる。これによって、仮想マシンが特定の仮想ホストに一時的に集中して負荷が上昇することを有効に回避することが可能であるという、優れた特徴を持つ仮想マシン管理サーバ、仮想マシン移動順序制御方法および制御プログラムを提供することができる。   As described above, the present invention is configured to specify the movement pattern in which the virtual computers are sequentially moved one by one until the optimal arrangement in which the load is leveled most is achieved. The situation of concentrating on virtual hosts can be effectively avoided. As a result, it is possible to effectively avoid a virtual machine temporarily concentrating on a specific virtual host and effectively increasing the load, and a virtual machine management server having a superior feature and a virtual machine movement order control method And a control program can be provided.

本発明の第1の実施形態に係る仮想マシン管理サーバの構成について示す説明図である。It is explanatory drawing shown about the structure of the virtual machine management server which concerns on the 1st Embodiment of this invention. 図1に示した仮想マシン管理サーバの各手段の動作について示すフローチャートである。3 is a flowchart illustrating the operation of each unit of the virtual machine management server illustrated in FIG. 1. 図2のステップS203〜206として示した移動順序決定部が仮想マシンの移動順序を決定する動作の一例として、仮想ホストで動作する各仮想マシンのリソースについて示す説明図である。FIG. 3 is an explanatory diagram illustrating resources of each virtual machine operating on a virtual host as an example of an operation in which the movement order determination unit illustrated as steps S203 to S206 in FIG. 2 determines the movement order of virtual machines. 図4は、図3に示した各仮想ホスト)で、最も負荷を平準化するように各仮想マシンを移動した例を示す説明図である。FIG. 4 is an explanatory diagram showing an example in which each virtual machine is moved so that the load is leveled most in each virtual host shown in FIG. 図3に例示した各仮想マシンを「移動パスA」によって移動させた場合の、各段階における全ての仮想ホストの利用率の最大値Rmax(1,k’)の変化を示す説明図である。FIG. 4 is an explanatory diagram showing a change in the maximum value Rmax (1, k ′) of the utilization rates of all virtual hosts in each stage when each virtual machine illustrated in FIG. 3 is moved by “movement path A”. 図5の続きである。It is a continuation of FIG. 図3に例示した各仮想マシンを「移動パスB」によって移動させた場合の、各段階における全ての仮想ホストの利用率の最大値Rmax(2,k’)の変化を示す説明図である。FIG. 4 is an explanatory diagram showing a change in the maximum value Rmax (2, k ′) of the utilization rates of all virtual hosts at each stage when each virtual machine illustrated in FIG. 3 is moved by “movement path B”. 図7の続きである。FIG. 7 is a continuation of FIG. 本発明の第2の実施形態に係る仮想マシン管理サーバの構成について示す説明図である。It is explanatory drawing shown about the structure of the virtual machine management server which concerns on the 2nd Embodiment of this invention. 図9に示した仮想マシン管理サーバの各手段の動作について示すフローチャートである。10 is a flowchart showing the operation of each unit of the virtual machine management server shown in FIG.

(第1の実施形態)
以下、本発明の実施形態の構成について添付図1に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る仮想マシン管理サーバ10は、各々が複数の仮想コンピュータ(仮想マシン31〜33)を動作させる複数の仮想ホスト20とネットワーク40を介して接続された仮想マシン管理サーバである。この仮想マシン管理サーバ10は、各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を収集する動作状態収集部101と、収集されたリソース利用率から、各仮想ホストのリソース利用率の合計値を最も平準化する各仮想ホスト上の仮想コンピュータの配置を最適配置として決定する最適配置決定部102とを備える。それに加えて、各仮想ホストの複数の仮想コンピュータを一つずつ順次移動させて、これを仮想コンピュータの配置が最適配置となるまで繰り返す移動パターンを特定し、当該移動パターンを最適な移動順序として出力する移動順序決定部103と、最適な移動順序に基づいて、各仮想ホストに対して仮想コンピュータの移動命令を順次発する仮想マシン移動司令部104とを有する。
(First embodiment)
Hereinafter, the configuration of an embodiment of the present invention will be described with reference to FIG.
First, the basic content of the present embodiment will be described, and then more specific content will be described.
The virtual machine management server 10 according to the present embodiment is a virtual machine management server connected via a network 40 to a plurality of virtual hosts 20 each operating a plurality of virtual computers (virtual machines 31 to 33). The virtual machine management server 10 includes an operation state collection unit 101 that collects the resource utilization rate of each virtual computer operating on the host from each virtual host, and the resource utilization rate of each virtual host from the collected resource utilization rate. And an optimal placement determination unit 102 that determines the placement of virtual computers on each virtual host that levels the total value most as an optimum placement. In addition, move multiple virtual computers of each virtual host one by one, specify a movement pattern that repeats until the virtual computer layout is optimal, and output the movement pattern as the optimal movement order And a virtual machine migration command unit 104 that sequentially issues a virtual computer migration command to each virtual host based on the optimum migration order.

そして、移動順序決定部103は、一の仮想コンピュータを一の仮想ホストから別の仮想ホストに移動させても、移動後の各仮想ホストのリソース利用率の合計の最大値が移動前の仮想ホストのリソース利用率の合計の最大値を越えないよう仮想コンピュータを一つずつ順次移動させて、これを仮想コンピュータの配置が最適配置となるまで繰り返す移動パターンを探索する。   Then, even if the migration order determination unit 103 migrates one virtual computer from one virtual host to another virtual host, the maximum total resource utilization rate of each virtual host after migration is the virtual host before migration. The virtual computers are sequentially moved one by one so as not to exceed the maximum value of the total resource utilization rate, and a movement pattern is repeated until the virtual computers are arranged optimally.

また、移動順序決定部103は、移動パターンを複数通り探索した場合に、その探索された複数の移動パターンの中で最も早く合計リソース利用率の最大値を平準化させる移動パターンを最適な移動パスとする機能を有する。   In addition, when a plurality of movement patterns are searched for, the movement order determination unit 103 finds the movement pattern that optimizes the maximum value of the total resource utilization rate earliest among the plurality of movement patterns searched for. It has the function.

この構成を備えることにより、仮想マシン管理サーバ10は、仮想マシンが特定の仮想ホストに一時的に集中して負荷が上昇することを有効に回避することが可能となる。
以下、これをより詳細に説明する。
With this configuration, the virtual machine management server 10 can effectively avoid the virtual machine temporarily concentrating on a specific virtual host and increasing the load.
Hereinafter, this will be described in more detail.

図1は、本発明の第1の実施形態に係る仮想マシン管理サーバ10の構成について示す説明図である。仮想マシン管理サーバ10は、コンピュータ装置としての基本的な構成を備えている。即ち、コンピュータプログラムの動作主体であるプロセッサ11と、プログラムおよびデータを記憶する記憶手段12と、ネットワーク40を介して他の装置との通信を行う通信手段13とを備える。   FIG. 1 is an explanatory diagram showing the configuration of the virtual machine management server 10 according to the first embodiment of the present invention. The virtual machine management server 10 has a basic configuration as a computer device. In other words, the computer 11 includes a processor 11 that is an operation subject of the computer program, a storage unit 12 that stores the program and data, and a communication unit 13 that communicates with other devices via the network 40.

そして、仮想マシン管理サーバ10は、ネットワーク40を介して、複数の物理コンピュータである仮想ホスト20a、20b、20c、…と接続されている。仮想ホスト20a、20b、20c、…(以後これらを総称して仮想ホスト20という)は、いずれも仮想マシン(仮想コンピュータ)を形成して動作させる機能を有する物理的なコンピュータである。   The virtual machine management server 10 is connected to the virtual hosts 20a, 20b, 20c,... Which are a plurality of physical computers via the network 40. Each of the virtual hosts 20a, 20b, 20c,... (Hereinafter collectively referred to as the virtual host 20) is a physical computer having a function of forming and operating a virtual machine (virtual computer).

仮想マシン管理サーバ10に接続される仮想ホスト20、およびそこで動作する仮想マシンの台数には制限はない。しかしながら図1には、後述する動作例に対応して、3台の仮想ホスト20a〜cを記載している。そして、仮想ホスト20a(A)では仮想マシン31a〜c(1−1〜3)、仮想ホスト20b(B)では仮想マシン32a〜c(2−1〜3)、仮想ホスト20c(C)では仮想マシン33a〜b(3−1〜2)、が各々動作している例を記載している。   There is no limitation on the number of virtual hosts 20 connected to the virtual machine management server 10 and the virtual machines operating there. However, FIG. 1 shows three virtual hosts 20a to 20c corresponding to an operation example described later. In the virtual host 20a (A), the virtual machines 31a to c (1-1 to 3), in the virtual host 20b (B), the virtual machines 32a to c (2-1 to 3), and in the virtual host 20c (C) are virtual. An example in which the machines 33a to 33b (3-1 to 2) are operating is described.

仮想マシン管理サーバ10のプロセッサ11は、仮想マシン管理プログラムが動作することにより、動作状態収集部101、最適配置決定部102、移動順序決定部103、および仮想マシン移動司令部104として動作する。動作状態収集部101は、各々の仮想ホスト20から各々で動作する仮想マシンのリソース利用率に関する情報を収集する。   The processor 11 of the virtual machine management server 10 operates as an operation state collection unit 101, an optimal arrangement determination unit 102, a movement order determination unit 103, and a virtual machine movement command unit 104 by operating a virtual machine management program. The operation state collection unit 101 collects information on the resource usage rate of each virtual machine operating from each virtual host 20.

最適配置決定部102は、動作状態収集部101によって収集された情報から、前述の特許文献1などに記載の公知技術によって、最も負荷を平準化する仮想マシンの配置を決定する。移動順序決定部103は、やはり動作状態収集部101によって収集された情報から、仮想マシンの移動順序を決定する。仮想マシン移動司令部104は、決定された移動順序に基づいて、仮想マシンの移動命令を各仮想ホスト20に対して発する。   The optimum arrangement determination unit 102 determines the arrangement of the virtual machines that level the load most from the information collected by the operation state collection unit 101 by a known technique described in the above-mentioned Patent Document 1 or the like. The movement order determination unit 103 also determines the movement order of the virtual machines from the information collected by the operation state collection unit 101. The virtual machine migration command unit 104 issues a virtual machine migration command to each virtual host 20 based on the determined migration order.

図2は、図1に示した仮想マシン管理サーバ10の各手段の動作について示すフローチャートである。まず、動作状態収集部101が各々の仮想ホスト20から、各々で動作する仮想マシンのリソース利用率を収集する(ステップS201)。ここで収集の対象となるリソース利用率とは、たとえばCPUの利用率、メインメモリの利用率、ハードディスクの利用率、ネットワークの利用率などがある。   FIG. 2 is a flowchart showing the operation of each unit of the virtual machine management server 10 shown in FIG. First, the operation state collection unit 101 collects the resource usage rate of each virtual machine that operates from each virtual host 20 (step S201). Here, the resource usage rate to be collected includes, for example, a CPU usage rate, a main memory usage rate, a hard disk usage rate, and a network usage rate.

ステップS201で収集された情報に基づいて、まず最適配置決定部102が、各仮想ホストにかかる負荷、即ち当該仮想ホストで動作する全ての仮想マシンのリソース利用率の合計が最も平準なものとなる仮想マシンの配置を最適配置として決定する(ステップS202)。この「最適配置」を決定する最適配置決定部102の動作は、前述の特許文献1などに記載の公知技術によって可能であり、本発明の範囲ではない。   Based on the information collected in step S201, first, the optimum placement determination unit 102 has the most equal load on each virtual host, that is, the total resource utilization of all virtual machines operating on the virtual host. The placement of the virtual machine is determined as the optimum placement (step S202). The operation of the optimum arrangement determining unit 102 for determining the “optimum arrangement” can be performed by a known technique described in Patent Document 1 described above, and is not within the scope of the present invention.

これに続いて、移動順序決定部103が、仮想マシンを最適配置決定部102によって決定された配置になるように移動させる際の、当該各仮想マシンの移動順序を決定する(ステップS203〜206)。以下、その動作について説明する。   Subsequently, the movement order determination unit 103 determines the movement order of the virtual machines when moving the virtual machines so as to have the arrangement determined by the optimum arrangement determination unit 102 (steps S203 to 206). . The operation will be described below.

まず、全ての仮想ホスト20で動作する全ての仮想マシンについて、1つの仮想マシンをある仮想ホスト20から別の仮想ホスト20に移動させても各仮想ホスト20ごとの合計リソース利用率の最大値が増加しないよう仮想マシンの移動を繰り返して、前ステップで決定された最適配置になるようにする移動のパターン(これを移動パスという)を、全ての移動パスの中から探索する(ステップS203)。   First, for all virtual machines operating on all virtual hosts 20, even if one virtual machine is moved from one virtual host 20 to another virtual host 20, the maximum total resource utilization rate for each virtual host 20 is the same. The movement of the virtual machine is repeated so as not to increase, and a movement pattern (this is called a movement path) for achieving the optimal arrangement determined in the previous step is searched from all the movement paths (step S203).

探索された移動パスが1つだけであるか否かを判定し(ステップS204)、1つだけであればこれを最適な移動パスとして決定する(ステップS206)。探索された移動パスが複数あれば、それらの中から最も効率的にリソース利用率の平準化が可能な移動パスを判定し(ステップS205)、最適な移動パスとして決定する(ステップS206)。そして、仮想マシン移動司令部104は、ステップS206で決定された最適な移動パスに基づいて、仮想マシンの移動命令を各仮想ホスト20に対して発する(ステップS207)。   It is determined whether or not there is only one travel path searched (step S204). If there is only one travel path, it is determined as an optimal travel path (step S206). If there are a plurality of searched movement paths, a movement path capable of leveling the resource utilization rate most efficiently is determined from them (step S205), and determined as an optimum movement path (step S206). The virtual machine migration command unit 104 issues a virtual machine migration command to each virtual host 20 based on the optimum migration path determined in step S206 (step S207).

図3は、図2のステップS203〜206として示した移動順序決定部103が仮想マシンの移動順序を決定する動作の一例として、仮想ホスト20で動作する各仮想マシンのリソースについて示す説明図である。   FIG. 3 is an explanatory diagram showing the resources of each virtual machine operating on the virtual host 20 as an example of the operation in which the movement order determination unit 103 shown as steps S203 to 206 in FIG. 2 determines the movement order of the virtual machines. .

本発明の概念を平易に説明するため、まず、仮想ホスト20を20a〜cの3台に限定し、各々仮想ホストA〜Cという。そして、これらの上で合計8台の仮想マシンが動作しているものとし、仮想ホスト20a(A)では仮想マシン31a〜c(1−1〜3)、仮想ホスト20b(B)では仮想マシン32a〜c(2−1〜3)、仮想ホスト20c(C)では仮想マシン33a〜b(3−1〜2)、が各々動作している。   In order to explain the concept of the present invention in a simple manner, first, the virtual host 20 is limited to three, 20a to 20c, and is called virtual hosts A to C, respectively. It is assumed that a total of eight virtual machines are operating on these, the virtual machines 31a to c (1-1 to 3) in the virtual host 20a (A), and the virtual machines 32a in the virtual host 20b (B). ˜c (2-1 to 3) and the virtual host 20c (C), virtual machines 33a to 33b (3-1 to 2) are operating.

また、各仮想ホスト20はいずれも、実装されているCPUの種別および数、メインメモリの容量、ハードディスクの容量、およびネットワークの転送速度が全て同一であると考えることが可能である。即ち、各仮想ホスト20の備える物理的なリソースは全て同一であり、一つの仮想ホスト20で動作する仮想マシンを他の仮想ホスト20に移動させた場合、その移動元と移動先では利用率は同等であると考えることが可能である。   Each virtual host 20 can be considered to have the same type and number of CPUs, main memory capacity, hard disk capacity, and network transfer speed. That is, the physical resources of each virtual host 20 are all the same. When a virtual machine operating on one virtual host 20 is moved to another virtual host 20, the utilization rate is the same at the source and destination. It can be considered equivalent.

そして、動作状態収集部101が収集するリソース利用率は、CPUの利用率に限定する。以後これを単に利用率という。仮想マシン31a〜c(1−1〜3)は各々「32」「8」「30」という利用率、仮想マシン32a〜c(2−1〜3)は各々「15」「5」「18」という利用率、仮想マシン33a〜b(3−1〜2)は各々「32」「10」という利用率が、動作状態収集部101によって収集された。   The resource utilization rate collected by the operation state collection unit 101 is limited to the utilization rate of the CPU. Hereinafter, this is simply referred to as utilization. The virtual machines 31a to 31c (1-1 to 3) have a usage rate of "32", "8", and "30", respectively, and the virtual machines 32a to 32c (2-1 to 3) have "15", "5", and "18", respectively. The utilization rates of “32” and “10” for the virtual machines 33a to 33b (3-1 to 2) are collected by the operation state collection unit 101.

即ち、仮想ホスト20a(A)上で動作する仮想マシン31a〜c(1−1〜3)の利用率合計は「70」、仮想ホスト20b(B)上で動作する仮想マシン32a〜c(2−1〜3)の利用率合計は「38」、仮想ホスト20c(C)上で動作する仮想マシン33a〜b(3−1〜2)の利用率合計は「42」となる。   That is, the total utilization rate of the virtual machines 31a to 31c (1-1 to 3) operating on the virtual host 20a (A) is "70", and the virtual machines 32a to 32c (2) operating on the virtual host 20b (B). -1 to 3) is "38", and the virtual machines 33a to 33b (3-1 to 2) operating on the virtual host 20c (C) are "42".

この場合、仮想マシン31c(1−3)を仮想ホスト20a(A)から仮想ホスト20b(B)に、仮想マシン32c(2−3)を仮想ホスト20b(B)から仮想ホスト20c(C)に、仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動させると、全ての仮想ホスト20a〜c(A〜C)で利用率合計は「50」となるので、これが最も負荷が平準化される仮想マシンの配置である。最適配置決定部102は、この配置を前述の公知技術によって決定する。   In this case, the virtual machine 31c (1-3) is transferred from the virtual host 20a (A) to the virtual host 20b (B), and the virtual machine 32c (2-3) is transferred from the virtual host 20b (B) to the virtual host 20c (C). When the virtual machine 33b (3-2) is moved from the virtual host 20c (C) to the virtual host 20a (A), the total utilization rate is “50” in all the virtual hosts 20a to 20c (A to C). So this is the placement of the virtual machines where the load is leveled most. The optimal arrangement determination unit 102 determines this arrangement by the above-described known technique.

図4は、図3に示した各仮想ホスト20a〜c(A〜C)で、最も負荷を平準化するように各仮想マシンを移動した例を示す説明図である。図3に示した状態を図4に示した状態に遷移させるためには、以下のような6通りの移動順序(移動パスA〜F)が考えられる。   FIG. 4 is an explanatory diagram showing an example in which each virtual machine is moved so as to equalize the load most in each of the virtual hosts 20a to 20c (A to C) shown in FIG. In order to change the state shown in FIG. 3 to the state shown in FIG. 4, the following six movement orders (movement paths A to F) are conceivable.

(移動パスA)
仮想マシン31c(1−3)を仮想ホスト20a(A)から仮想ホスト20b(B)に移動→仮想マシン32c(2−3)を仮想ホスト20b(B)から仮想ホスト20c(C)に移動→仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動
(Movement path A)
Move virtual machine 31c (1-3) from virtual host 20a (A) to virtual host 20b (B) → move virtual machine 32c (2-3) from virtual host 20b (B) to virtual host 20c (C) → Move virtual machine 33b (3-2) from virtual host 20c (C) to virtual host 20a (A)

(移動パスB)
仮想マシン31c(1−3)を仮想ホスト20a(A)から仮想ホスト20b(B)に移動→仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動→仮想マシン32c(2−3)を仮想ホスト20b(B)から仮想ホスト20c(C)に移動
(Movement path B)
Move the virtual machine 31c (1-3) from the virtual host 20a (A) to the virtual host 20b (B) → Move the virtual machine 33b (3-2) from the virtual host 20c (C) to the virtual host 20a (A) → Move virtual machine 32c (2-3) from virtual host 20b (B) to virtual host 20c (C)

(移動パスC)
仮想マシン32c(2−3)を仮想ホスト20b(B)から仮想ホスト20c(C)に移動→仮想マシン31c(1−3)を仮想ホスト20a(A)から仮想ホスト20b(B)に移動→仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動
(Movement path C)
Move the virtual machine 32c (2-3) from the virtual host 20b (B) to the virtual host 20c (C) → Move the virtual machine 31 c (1-3) from the virtual host 20 a (A) to the virtual host 20 b (B) → Move virtual machine 33b (3-2) from virtual host 20c (C) to virtual host 20a (A)

(移動パスD)
仮想マシン32c(2−3)を仮想ホスト20b(B)から仮想ホスト20c(C)に移動→仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動→仮想マシン31c(1−3)を仮想ホスト20a(A)から仮想ホスト20b(B)に移動
(Movement path D)
Move the virtual machine 32c (2-3) from the virtual host 20b (B) to the virtual host 20c (C) → Move the virtual machine 33 b (3-2) from the virtual host 20 c (C) to the virtual host 20 a (A) → Move virtual machine 31c (1-3) from virtual host 20a (A) to virtual host 20b (B)

(移動パスE)
仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動→仮想マシン31c(1−3)を仮想ホスト20a(A)から仮想ホスト20b(B)に移動→仮想マシン32c(2−3)を仮想ホスト20b(B)から仮想ホスト20c(C)に移動
(Movement path E)
Move the virtual machine 33b (3-2) from the virtual host 20c (C) to the virtual host 20a (A) → move the virtual machine 31 c (1-3) from the virtual host 20 a (A) to the virtual host 20 b (B) → Move virtual machine 32c (2-3) from virtual host 20b (B) to virtual host 20c (C)

(移動パスF)
仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動→仮想マシン32c(2−3)を仮想ホスト20b(B)から仮想ホスト20c(C)に移動→仮想マシン31c(1−3)を仮想ホスト20a(A)から仮想ホスト20b(B)に移動
(Movement path F)
Move virtual machine 33b (3-2) from virtual host 20c (C) to virtual host 20a (A) → move virtual machine 32c (2-3) from virtual host 20b (B) to virtual host 20c (C) → Move virtual machine 31c (1-3) from virtual host 20a (A) to virtual host 20b (B)

たとえば、このうちの移動パスEの最初の移動で、仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動させると、仮想ホスト20a(A)では仮想マシン31a〜c(1−1〜3)と33b(3−2)という4つの仮想マシンが動作することとなり、これらの仮想マシンの利用率合計は「80」となる。これは、一時的な状態ではあっても、平準化の動作前よりも高い値となるので、好ましいことではない。   For example, when the virtual machine 33b (3-2) is moved from the virtual host 20c (C) to the virtual host 20a (A) in the first movement of the movement path E, the virtual machine 20a (A) Four virtual machines 31a to c (1-1 to 3) and 33b (3-2) are operated, and the total utilization rate of these virtual machines is “80”. This is not preferable because it is a higher value than that before the leveling operation even in a temporary state.

そこで、移動順序決定部103は、移動先の仮想ホストの負荷が仮想マシン移動前の移動元の仮想ホストの負荷を超えないように最適な移動順序を決定し、その順序で仮想マシン移動司令部104に仮想マシンの移動命令を出させる。以下、移動順序決定部103によるその具体的な計算処理について説明する。   Therefore, the movement order determination unit 103 determines an optimal movement order so that the load of the migration destination virtual host does not exceed the load of the migration source virtual host before the movement of the virtual machine, and the virtual machine movement command unit in that order. 104 is instructed to move the virtual machine. Hereinafter, specific calculation processing by the movement order determination unit 103 will be described.

仮想ホスト20の総台数をN、各々の仮想ホスト20をHn(1≦n≦N)、各仮想ホストHnの利用率合計をR(Hn)、各仮想ホストHnで使用可能なリソースの総量をC(Hn)とする。前述のように、ここで説明する例ではN=3、また各仮想ホストHnで使用可能なリソースの総量C(Hn)はいずれも等しい。   The total number of virtual hosts 20 is N, each virtual host 20 is Hn (1 ≦ n ≦ N), the total utilization rate of each virtual host Hn is R (Hn), and the total amount of resources available to each virtual host Hn is Let C (Hn). As described above, in the example described here, N = 3, and the total amount C (Hn) of resources that can be used in each virtual host Hn is equal.

そして、全ての仮想ホスト20上で動作する仮想マシンの中で移動対象となる仮想マシンの総台数をK、各々の仮想マシンをVk(1≦k≦K)、仮想マシンVkの利用率をR(Vk)とする。前述のように、ここで説明する例では仮想マシンの総台数は8であるが、ここでは仮想マシン31c(1−3)、仮想マシン32c(2−3)、仮想マシン33b(3−2)の3台のみが移動されるので、移動対象の台数はK=3である。従って、考え得る移動パスの数は3!=6通りとなる。   The total number of virtual machines to be migrated among virtual machines operating on all virtual hosts 20 is K, each virtual machine is Vk (1 ≦ k ≦ K), and the usage rate of the virtual machine Vk is R (Vk). As described above, in the example described here, the total number of virtual machines is 8, but here, the virtual machine 31c (1-3), the virtual machine 32c (2-3), and the virtual machine 33b (3-2) Therefore, the number of objects to be moved is K = 3. Therefore, the number of possible movement paths is 3! = 6 ways.

k回目の移動で、仮想マシンVkを仮想ホストHsrcからHdstに移動させる。この場合、この移動前後での仮想ホストHsrcおよびHdstの利用率合計は、各々以下の数1〜2で示される。   In the kth movement, the virtual machine Vk is moved from the virtual host Hsrc to Hdst. In this case, the total utilization rates of the virtual hosts Hsrc and Hdst before and after the migration are expressed by the following formulas 1 and 2, respectively.

Figure 2013149118
Figure 2013149118

Figure 2013149118
Figure 2013149118

従って、k’(0≦k’≦K)回目の移動が終了した後での全ての仮想ホストの利用率の最大値Rmax(k’)、およびk’+1回目の移動が終了した後での最大値Rmax
(k’+1)は、各々以下の数3〜4で示される。ただし、MAX(A,B,C,…)は、カッコ内の複数の数値のうちの最大値を表す。
Therefore, the maximum value Rmax (k ′) of the utilization rates of all virtual hosts after the k ′ (0 ≦ k ′ ≦ K) migration is completed, and the k ′ + 1 migration after the migration is completed. Maximum value Rmax
(K ′ + 1) is represented by the following equations 3 to 4, respectively. However, MAX (A, B, C,...) Represents the maximum value among a plurality of numerical values in parentheses.

Figure 2013149118
Figure 2013149118

Figure 2013149118
Figure 2013149118

移動順序決定部103は、図2のステップS203で示された処理で、全てのk’において以下の数5に示された条件を満たす移動パスを、考え得るp通りの移動パス(1≦p≦K!)の中から探索する。   The movement order determining unit 103 performs the processing shown in step S203 of FIG. 2 with p possible movement paths (1 ≦ p) as the movement paths satisfying the condition shown in the following equation 5 in all k ′. ≦ K!).

Figure 2013149118
Figure 2013149118

移動順序決定部103は、この条件を満たす移動パスが1通りであれば、その移動パスに基づいてステップS206〜207の処理を行う。この条件を満たす移動パスが2通り以上あれば、その各々のパスをpとし、それに対するRmax(k’)をRmax(p,k’)と表現すると、移動順序決定部103はステップS205の処理で、各パスについて以下の数6に示される評価値E(p,k’)を算出して、この評価値E(p,k’)が最小となるパスを最も効率的に利用率の平準化が可能なものとして判定する。ただし、MIN(A,B,C,…)は、カッコ内の複数の数値のうちの最小値を表す。   If there is one movement path that satisfies this condition, the movement order determination unit 103 performs steps S206 to S207 based on the movement path. If there are two or more movement paths satisfying this condition, each path is represented as p, and Rmax (k ′) corresponding to the path is represented as Rmax (p, k ′), the movement order determination unit 103 performs the process of step S205. Then, the evaluation value E (p, k ′) shown in the following equation 6 is calculated for each path, and the path having the smallest evaluation value E (p, k ′) is most efficiently used. It is determined that it can be converted. However, MIN (A, B, C,...) Represents the minimum value among a plurality of numerical values in parentheses.

Figure 2013149118
Figure 2013149118

図3〜4として示した例をこの計算式に当てはめた場合、図2のステップS203で示された処理で、全てのk’において以下の数5に示された条件を満たす移動パスは、前述の移動パスAおよび移動パスBの2通りとなる。移動パスC〜Fは、いずれも「移動先の仮想ホストの負荷が仮想マシン移動前の移動元の仮想ホストの負荷を超える」移動が存在する。   When the example shown as FIGS. 3 to 4 is applied to this calculation formula, the movement path that satisfies the condition shown in the following Expression 5 in all k ′ in the process shown in step S203 of FIG. The movement path A and the movement path B are two. The movement paths C to F each have a movement “the load of the migration destination virtual host exceeds the load of the migration source virtual host before the migration of the virtual machine”.

図5〜6は、図3に例示した各仮想マシンを前述の「移動パスA」によって移動させた場合の、各段階における全ての仮想ホストの利用率の最大値Rmax(1,k’)の変化を示す説明図である。同様に図7〜8は、図3に例示した各仮想マシンを前述の「移動パスB」によって移動させた場合の、各段階における全ての仮想ホストの利用率の最大値Rmax(2,k’)の変化を示す説明図である。ここで、0≦k’≦3である。紙面の都合により、「移動パスA」および「移動パスB」に基づく移動を、各々2枚に分けて図示している。   5 to 6 show the maximum values Rmax (1, k ′) of the utilization rates of all virtual hosts in each stage when the virtual machines illustrated in FIG. 3 are moved by the above-mentioned “movement path A”. It is explanatory drawing which shows a change. Similarly, FIGS. 7 to 8 show the maximum values Rmax (2, k ′) of the utilization rates of all virtual hosts in each stage when the virtual machines illustrated in FIG. 3 are moved by the above-mentioned “movement path B”. It is explanatory drawing which shows the change of (). Here, 0 ≦ k ′ ≦ 3. Due to space limitations, the movement based on “movement path A” and “movement path B” is divided into two sheets.

いずれも、初期状態では図3に示した例の状態と同一である。即ち、仮想マシン31a〜c(1−1〜3)は各々「32」「8」「30」という利用率、仮想マシン32a〜c(2−1〜3)は各々「15」「5」「18」という利用率、仮想マシン33a〜b(3−1〜2)は各々「32」「10」という利用率である。図5〜8では、たとえば仮想マシン31aには「1−1(32)」と表示されているが、これはこのシステム内における該仮想マシンの記号が「1−1」であり、その利用率が「32」であることを意味する。他の仮想マシンについても同様である。   Both are the same as the state of the example shown in FIG. 3 in the initial state. That is, the usage rates of “32”, “8”, and “30” are respectively used for the virtual machines 31 a to c (1-1 to 3), and “15”, “5”, and “ 18 ”and the virtual machines 33a to 33b (3-1 to 2) have usage rates of“ 32 ”and“ 10 ”, respectively. 5-8, for example, "1-1 (32)" is displayed on the virtual machine 31a. This is because the symbol of the virtual machine in this system is "1-1", and its utilization rate Means “32”. The same applies to other virtual machines.

即ち、仮想ホスト20a(A)上で動作する仮想マシン31a〜c(1−1〜3)の利用率合計は「70」、仮想ホスト20b(B)上で動作する仮想マシン32a〜c(2−1〜3)の利用率合計は「38」、仮想ホスト20c(C)上で動作する仮想マシン33a〜b(3−1〜2)の利用率合計は「42」となる。「移動パスA」をp=1、「移動パスB」をp=2とすると、この段階での図5に示した全ての仮想ホストの利用率の最大値Rmaxは、Rmax(1,0)=Rmax(2,0)=「70」である。   That is, the total utilization rate of the virtual machines 31a to 31c (1-1 to 3) operating on the virtual host 20a (A) is "70", and the virtual machines 32a to 32c (2) operating on the virtual host 20b (B). -1 to 3) is "38", and the virtual machines 33a to 33b (3-1 to 2) operating on the virtual host 20c (C) are "42". Assuming that “movement path A” is p = 1 and “movement path B” is p = 2, the maximum value Rmax of the utilization rates of all virtual hosts shown in FIG. 5 at this stage is Rmax (1, 0). = Rmax (2, 0) = “70”.

これに対して、まず図5〜6に示した「移動パスA」では、1回目の移動で利用率「30」の仮想マシン31c(1−3)を仮想ホスト20a(A)から仮想ホスト20b(B)に移動する。これにより、仮想ホスト20a(A)上では仮想マシン31a〜b(1−1〜2)が動作するので、利用率合計は「40」となる。仮想ホスト20b(B)では仮想マシン32a〜c(2−1〜3)と仮想マシン31c(1−3)とが動作するので、利用率合計は「68」となる。仮想ホスト20c(C)では利用率合計は変わらず「42」である。従って、Rmax(1,1)=「68」である。   In contrast, first, in the “movement path A” shown in FIGS. 5 to 6, the virtual machine 31c (1-3) having the utilization rate “30” is transferred from the virtual host 20a (A) to the virtual host 20b in the first movement. Move to (B). As a result, the virtual machines 31a to 31b (1-1 to 2) operate on the virtual host 20a (A), and the total utilization rate is “40”. Since the virtual machines 32a to 32c (2-1 to 3) and the virtual machine 31c (1-3) operate on the virtual host 20b (B), the total utilization rate is “68”. In the virtual host 20c (C), the total utilization rate is unchanged and is “42”. Therefore, Rmax (1,1) = “68”.

「移動パスA」の2回目の移動では、利用率「18」の仮想マシン32c(2−3)を仮想ホスト20b(B)から仮想ホスト20c(C)に移動する。これにより、仮想ホスト20b(B)では仮想マシン32a〜b(2−1〜2)と仮想マシン31c(1−3)とが動作するので、利用率合計は「50」となる。仮想ホスト20c(C)では仮想マシン33a〜b(3−1〜2)と仮想マシン32c(2−3)とが動作するので、利用率合計は「60」となる。仮想ホスト20a(A)では利用率合計は変わらず「40」である。従って、Rmax(1,2)=「60」である。   In the second movement of “Movement Path A”, the virtual machine 32c (2-3) with the utilization rate “18” is moved from the virtual host 20b (B) to the virtual host 20c (C). Thereby, in the virtual host 20b (B), the virtual machines 32a to 32b (2-1 to 2) and the virtual machine 31c (1-3) operate, so the total utilization rate is “50”. Since the virtual machines 33a to 33b (3-1 to 2) and the virtual machine 32c (2-3) operate on the virtual host 20c (C), the total utilization rate is “60”. In the virtual host 20a (A), the total utilization rate remains unchanged at “40”. Therefore, Rmax (1,2) = “60”.

「移動パスA」の3回目の移動では、利用率「10」の仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動する。これにより、仮想ホスト20c(C)では仮想マシン33a(3−1)と仮想マシン32c(2−3)とが動作するので、利用率合計は「50」となる。仮想ホスト20a(A)では仮想マシン31a〜b(1−1〜2)と仮想マシン33b(3−2)とが動作するので、利用率合計は「50」となる。仮想ホスト20b(B)では利用率合計は変わらず「50」である。従って、Rmax(1,3)=「50」である。   In the third movement of “Movement Path A”, the virtual machine 33b (3-2) with the utilization rate “10” is moved from the virtual host 20c (C) to the virtual host 20a (A). As a result, the virtual machine 33a (3-1) and the virtual machine 32c (2-3) operate on the virtual host 20c (C), and the total utilization rate is “50”. Since the virtual machines 31a-b (1-1-2) and the virtual machine 33b (3-2) operate on the virtual host 20a (A), the total utilization rate is “50”. In the virtual host 20b (B), the total utilization rate is unchanged and is “50”. Therefore, Rmax (1,3) = “50”.

一方、図7〜8に示した「移動パスB」では、1回目の移動で利用率「30」の仮想マシン31c(1−3)を仮想ホスト20a(A)から仮想ホスト20b(B)に移動する。これは「移動パスA」の1回目の移動と同一である。従って、Rmax(2,1)=「68」である。   On the other hand, in the “movement path B” illustrated in FIGS. 7 to 8, the virtual machine 31 c (1-3) having the utilization rate “30” is transferred from the virtual host 20 a (A) to the virtual host 20 b (B) in the first movement. Moving. This is the same as the first movement of “movement path A”. Therefore, Rmax (2,1) = “68”.

「移動パスB」の2回目の移動では、利用率「10」の仮想マシン33b(3−2)を仮想ホスト20c(C)から仮想ホスト20a(A)に移動する。これにより、仮想ホスト20c(C)では仮想マシン33a(3−1)のみが動作するので、利用率合計は「32」となる。仮想ホスト20a(A)では仮想マシン31a〜b(1−1〜2)と仮想マシン33b(3−2)とが動作するので、利用率合計は「50」となる。仮想ホスト20b(B)では利用率合計は変わらず「68」である。従って、Rmax(2,2)=「68」である。   In the second movement of “movement path B”, the virtual machine 33 b (3-2) with the utilization rate “10” is moved from the virtual host 20 c (C) to the virtual host 20 a (A). As a result, only the virtual machine 33a (3-1) operates on the virtual host 20c (C), so the total utilization rate is “32”. Since the virtual machines 31a-b (1-1-2) and the virtual machine 33b (3-2) operate on the virtual host 20a (A), the total utilization rate is “50”. In the virtual host 20b (B), the total utilization rate remains unchanged at “68”. Therefore, Rmax (2, 2) = “68”.

「移動パスB」の3回目の移動では、利用率「18」の仮想マシン32c(2−3)を仮想ホスト20b(B)から仮想ホスト20c(C)に移動する。これにより、仮想ホスト20b(B)では仮想マシン32a〜b(2−1〜2)と仮想マシン31c(1−3)とが動作するので、利用率合計は「50」となる。仮想ホスト20c(C)では仮想マシン33a(3−1)と仮想マシン32c(2−3)とが動作するので、利用率合計は「50」となる。従って、Rmax(2,3)=「50」である。   In the third movement of “Movement path B”, the virtual machine 32c (2-3) with the utilization rate “18” is moved from the virtual host 20b (B) to the virtual host 20c (C). Thereby, in the virtual host 20b (B), the virtual machines 32a to 32b (2-1 to 2) and the virtual machine 31c (1-3) operate, so the total utilization rate is “50”. Since the virtual machine 33a (3-1) and the virtual machine 32c (2-3) operate on the virtual host 20c (C), the total utilization rate is “50”. Therefore, Rmax (2, 3) = “50”.

以上で説明したように、「移動パスA」と「移動パスB」との比較では、Rmax(1,0)=Rmax(2,0)=「70」、Rmax(1,1)=Rmax(2,1)=「68」、Rmax(1,3)=Rmax(2,3)=「50」であるが、Rmax(1,2)=「60」、Rmax(2,2)=「68」である。従って、Rmax(1,2)≦Rmax(2,2)が成立するので、移動順序決定部103によるステップS205の処理では、p=1、即ち「移動パスA」を最も効率的に利用率の平準化が可能なものとして判定することができる。   As described above, in the comparison between “movement path A” and “movement path B”, Rmax (1, 0) = Rmax (2, 0) = “70”, Rmax (1, 1) = Rmax ( 2,1) = “68”, Rmax (1,3) = Rmax (2,3) = “50”, but Rmax (1,2) = “60”, Rmax (2,2) = “68” Is. Therefore, since Rmax (1,2) ≦ Rmax (2,2) is satisfied, in the process of step S205 by the movement order determination unit 103, p = 1, that is, “movement path A” is most efficiently used. It can be determined that leveling is possible.

(第1の実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。
本実施形態に係る仮想マシン移動順序制御方法は、各々が複数の仮想コンピュータ(仮想マシン)を動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバ10にあって、各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を動作状態収集部が収集し(図2・ステップS201)、収集されたリソース利用率から、各仮想ホストにかかる負荷を最も平準化する各仮想ホスト上の仮想コンピュータの配置を最適配置決定部が最適配置として決定し(図2・ステップS202)、各仮想ホストの複数の仮想コンピュータを一つずつ順次移動させて、これを仮想コンピュータの配置が最適配置となるまで繰り返す移動パターンを移動順序決定部が特定してこれを最適な移動順序として出力し(図2・ステップS203〜206)、最適な移動パスに基づいて、各仮想ホストに対して仮想マシン移動司令部が仮想コンピュータの移動命令を発する(図2・ステップS207)。
(Overall operation of the first embodiment)
Next, the overall operation of the above embodiment will be described.
The virtual machine movement order control method according to the present embodiment includes a virtual machine management server 10 connected via a network to a plurality of virtual hosts each operating a plurality of virtual computers (virtual machines), and each virtual host The operating state collection unit collects the resource usage rate of each virtual computer operating on the host from the virtual machine (FIG. 2, step S201), and the virtual resource that leveles the load on each virtual host most from the collected resource usage rate. The optimal placement determination unit determines the placement of the virtual computers on the host (FIG. 2, step S202), and sequentially moves a plurality of virtual computers of each virtual host one by one. The movement order determination unit identifies a movement pattern that repeats until the optimal arrangement is reached, and outputs this as the optimal movement order. Figure 2 step S203~206), based on the optimum movement path, the virtual machine moves HQ issues a movement instruction of the virtual computer for each virtual host (Fig. 2 step S207).

また、最適な移動パスを出力する処理(図2・ステップS203〜206)は、一の仮想コンピュータを一の仮想ホストから別の仮想ホストに移動させても、移動後の各仮想ホストのリソース利用率の合計の最大値が移動前の仮想ホストのリソース利用率の合計の最大値を越えないよう仮想コンピュータを一つずつ順次移動させて、これを仮想コンピュータの配置が最適配置となるまで繰り返すものである。   In addition, the process of outputting the optimum migration path (FIG. 2, steps S203 to 206) uses the resources of each virtual host after migration even if one virtual computer is migrated from one virtual host to another virtual host. The virtual computers are moved sequentially one by one so that the maximum value of the total rate does not exceed the maximum value of the total resource usage rate of the virtual host before the migration, and this is repeated until the virtual computer placement becomes the optimal placement. It is.

ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行する仮想マシン管理サーバ10のプロセッサ11に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、DVD、CD、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
Here, each of the above-described operation steps may be programmed to be executable by a computer and executed by the processor 11 of the virtual machine management server 10 that directly executes each of the steps. The program may be recorded on a non-temporary recording medium, such as a DVD, a CD, or a flash memory. In this case, the program is read from the recording medium by a computer and executed.
By this operation, this embodiment has the following effects.

本実施形態によれば、仮想マシンを最適配置に向けて順次移動させる過程で、各段階での各仮想ホストごとの合計リソース利用率の増加を回避しつつ仮想マシンを移動させることが可能である。従って、仮想マシンが特定の仮想ホストに一時的に集中して負荷が上昇するという事態を有効に回避することが可能となる。また、そのように仮想マシンを移動させる移動パスが複数通り見つかった場合には、リソース利用率をより早く平準化させるよう仮想マシンを移動させることが可能となる。   According to the present embodiment, in the process of sequentially moving the virtual machines toward the optimal arrangement, it is possible to move the virtual machines while avoiding an increase in the total resource utilization rate for each virtual host at each stage. . Therefore, it is possible to effectively avoid a situation in which a virtual machine temporarily concentrates on a specific virtual host and a load increases. In addition, when a plurality of movement paths for moving the virtual machine are found as described above, the virtual machine can be moved so that the resource utilization rate is leveled more quickly.

(第1の実施形態の拡張)
上記実施形態では、処理対象となるリソース利用率を「CPUの利用率」に限定したが、これ以外の数値をリソース利用率とすることもできるし、また複数種類の数値に対して上記実施形態と同一の処理を行うこともできる。この場合、複数種類の利用率の各々に対して予め与えられた重み係数を乗算した上で、これらの重み付けされた利用率を合計した数値を当該仮想マシンの利用率として、上記実施形態と同一の処理を行う。
(Extension of the first embodiment)
In the above embodiment, the resource usage rate to be processed is limited to “CPU usage rate”, but other numerical values can be used as the resource usage rate, and the above embodiment can be applied to a plurality of types of numerical values. The same processing can be performed. In this case, after multiplying each of a plurality of types of utilization rates by a weighting factor given in advance, a numerical value obtained by summing these weighted utilization rates is used as the utilization rate of the virtual machine, which is the same as in the above embodiment. Perform the process.

より具体的には、仮想ホストHnの利用率R(Hn)は、当該仮想ホストのCPUリソース利用率、メモリリソース利用率、ストレージリソース利用率、ネットワークリソース利用率を各々Rcpu(Hn)、Rmemory(Hn)、RdiskIO(Hn)、RnetworkIO(Hn)とし、それら各々に対して与えられた重み数値をWcpu、Wmemory、WdiskIO、WnetworkIOとすると、以下の数7のように表される。   More specifically, the usage rate R (Hn) of the virtual host Hn includes the CPU resource usage rate, the memory resource usage rate, the storage resource usage rate, and the network resource usage rate of the virtual host as Rcpu (Hn), Rmemory ( Hn), RdiskIO (Hn), and RnetworkIO (Hn), and the weight values given to each of them are Wcpu, Wmemory, WdiskIO, and WnetworkIO, respectively.

Figure 2013149118
Figure 2013149118

この式によって得られた仮想ホストHnの利用率R(Hn)に対して上記実施形態と同一の処理を行えば、複数のリソースを対象としても、最適な移動順序を求めることができる。   If the same processing as that in the above embodiment is performed on the utilization rate R (Hn) of the virtual host Hn obtained by this equation, the optimum movement order can be obtained even for a plurality of resources.

また、最適配置決定部102が決定する仮想マシンの配置は、必ずしも「負荷を平準化する」ことを意図したものである必要はない。たとえば、特定のいずれか1つの仮想ホストにおいて特定の量の空きリソースを確保することや、特定のいずれか1つの仮想ホストを停止する(省電力化のため)ことなどを意図したものであっても、上記実施形態と同一の処理を行って、不必要に仮想ホストの負荷を上昇させることなく、最適な順序で仮想マシンを移動させることができる。   Further, the arrangement of the virtual machines determined by the optimum arrangement determining unit 102 does not necessarily have to be intended to “level the load”. For example, it is intended to secure a specific amount of free resources in any one specific virtual host, or to stop any one specific virtual host (for power saving), etc. However, it is possible to move the virtual machines in an optimal order without performing the same processing as in the above embodiment and unnecessarily increasing the load on the virtual host.

さらに、本願で説明した例では全ての仮想ホストが同一のリソースを備えるものとしたが、仮想ホストごとに利用可能なリソースの総量が異なる場合も、前述の数2で示した使用可能なリソースの総量C(Hn)を各仮想ホストに対応した値とすればよい。   Furthermore, in the example described in the present application, all virtual hosts are provided with the same resource. However, even when the total amount of resources that can be used differs for each virtual host, The total amount C (Hn) may be a value corresponding to each virtual host.

(第2の実施形態)
本発明の第2の実施形態に係る仮想マシン管理サーバ310は、移動順序決定部403が、一つの仮想コンピュータを特定の仮想ホストから別の仮想ホストに移動させても各仮想ホストごとの合計リソース利用率の最大値が増加しないよう、仮想コンピュータを移動させる移動パターンが存在しない場合に、合計リソース利用率の最大値が最小となる移動パターンを最適な移動パスとする機能を有する構成とした。
(Second Embodiment)
The virtual machine management server 310 according to the second exemplary embodiment of the present invention includes a total resource for each virtual host even if the movement order determination unit 403 moves one virtual computer from a specific virtual host to another virtual host. In order not to increase the maximum value of the utilization rate, when there is no movement pattern for moving the virtual computer, the movement pattern that minimizes the maximum value of the total resource utilization rate is set as a configuration having an optimal movement path.

この構成によっても第1の実施形態と同一の効果が得られるのに加えて、さらにリソース利用率の最大値が増加しないよう仮想マシンの移動を繰り返すことのできる移動パスが存在しない場合にも、リソース利用率の最大値の増加を可能な限り抑制して利用率の平準化を行うことが可能となる。
以下、これをより詳細に説明する。
In addition to obtaining the same effect as in the first embodiment by this configuration, even when there is no movement path that can repeat the movement of the virtual machine so that the maximum value of the resource utilization rate does not increase further, The increase in the maximum value of the resource utilization rate can be suppressed as much as possible, and the utilization rate can be leveled.
Hereinafter, this will be described in more detail.

図9は、本発明の第2の実施形態に係る仮想マシン管理サーバ310の構成について示す説明図である。仮想マシン管理サーバ310は、図1に示した第1の実施形態の仮想マシン管理サーバ10と、ハードウェアとしては同一の構成を有する。これに接続されているネットワーク40および仮想ホスト20(そこで動作する仮想マシンも含めて)も、第1の実施形態と同一である。また、ソフトウェアとしても、移動順序決定部103が別の移動順序決定部403に置換されている以外は第1の実施形態と同一である。従って、第1の実施形態と同一である要素については、同一の呼称および参照番号でいう。   FIG. 9 is an explanatory diagram showing the configuration of the virtual machine management server 310 according to the second embodiment of the present invention. The virtual machine management server 310 has the same hardware configuration as the virtual machine management server 10 of the first embodiment shown in FIG. The network 40 and the virtual host 20 (including the virtual machine operating there) connected thereto are the same as those in the first embodiment. The software is the same as that of the first embodiment except that the movement order determination unit 103 is replaced with another movement order determination unit 403. Therefore, elements that are the same as in the first embodiment are referred to by the same designations and reference numbers.

図10は、図9に示した仮想マシン管理サーバ310の各手段の動作について示すフローチャートである。これも、第1の実施形態と同一である動作内容については、同一の参照番号を付している。ステップS201〜203は、第1の実施形態と同一の動作となるが、その後に続くステップS501で、移動順序決定部403は、仮想ホスト20全体の中でのリソース利用率の最大値が増加しない(即ち前述の数5を満たす)よう仮想マシンの移動を繰り返すことのできる移動パスが存在するか否かを判定する。   FIG. 10 is a flowchart showing the operation of each unit of the virtual machine management server 310 shown in FIG. Again, the same operation numbers as those in the first embodiment are denoted by the same reference numerals. Steps S201 to 203 are the same as those in the first embodiment. However, in the subsequent step S501, the movement order determination unit 403 does not increase the maximum resource utilization rate in the entire virtual host 20. It is determined whether or not there is a movement path capable of repeating the movement of the virtual machine so as to satisfy the above-described equation (5).

そのような移動パスが存在しないと判定された場合、移動順序決定部403は各々の移動パス(p)に対して、以下の数8で示される評価値E(p,k)を算出して、この評価値が最小となる移動パスを最も効率的に利用率の平準化が可能なものとして判定する(ステップS502)。ただし、MAX(A,B,C,…)は、カッコ内の複数の数値のうちの最大値を表す。   When it is determined that such a movement path does not exist, the movement order determination unit 403 calculates an evaluation value E (p, k) represented by the following equation 8 for each movement path (p). The mobile path having the smallest evaluation value is determined as the one that can most efficiently level the utilization (step S502). However, MAX (A, B, C,...) Represents the maximum value among a plurality of numerical values in parentheses.

Figure 2013149118
Figure 2013149118

ステップS502の後には、図2に示されたステップS204以降と同一の処理が続く。ステップS501で該当する移動パスが存在すると判定された場合にも、ステップS204以降と同一の処理が続く。   Step S502 is followed by the same processing as that after step S204 shown in FIG. Even when it is determined in step S501 that the corresponding movement path exists, the same processing as in step S204 and subsequent steps continues.

第1の実施形態では、リソース利用率の最大値が増加しないよう仮想マシンの移動を繰り返すことのできる移動パスが必ず1つ以上存在することを前提としたが、実際にはそのような移動パスが存在しない場合もありうる。この第2の実施形態では、そのような場合でも、リソース利用率の最大値の増加を可能な限り抑制して利用率の平準化を行うことが可能である。   In the first embodiment, it is assumed that there is always at least one movement path that can repeat the movement of the virtual machine so that the maximum value of the resource utilization rate does not increase. May not exist. In the second embodiment, even in such a case, the increase in the maximum value of the resource utilization rate can be suppressed as much as possible, and the utilization rate can be leveled.

これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。   Although the present invention has been described with reference to the specific embodiments shown in the drawings, the present invention is not limited to the embodiments shown in the drawings, and any known ones can be used as long as the effects of the present invention are exhibited. Even if it is a structure, it is employable.

上述した実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。   Regarding the embodiment described above, the main points of the new technical contents are summarized as follows. In addition, although a part or all of the said embodiment is put together as follows as a novel technique, this invention is not necessarily limited to this.

(付記1) 各々が複数の仮想コンピュータを動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバであって、
前記各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を収集する動作状態収集部と、収集された前記リソース利用率から、前記各仮想ホストのリソース利用率の合計値を最も平準化する前記各仮想ホスト上の前記仮想コンピュータの配置を最適配置として決定する最適配置決定部とを備えると共に、
前記各仮想ホストの複数の前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返す移動パターンを特定し、当該移動パターンを最適な移動順序として出力する移動順序決定部と、
前記最適な移動順序に基づいて、前記各仮想ホストに対して前記仮想コンピュータの移動命令を順次発する仮想マシン移動司令部と
を有することを特徴とする仮想マシン管理サーバ。
(Supplementary note 1) A virtual machine management server connected via a network to a plurality of virtual hosts each operating a plurality of virtual computers,
The operation state collection unit that collects the resource utilization rate of each virtual computer operating on the host from each virtual host, and the total value of the resource utilization rate of each virtual host is most equalized from the collected resource utilization rate An optimal placement determination unit that determines the placement of the virtual computer on each virtual host to be the optimum placement,
A plurality of virtual computers of each virtual host are sequentially moved one by one, a movement pattern that is repeated until the arrangement of the virtual computers becomes the optimum arrangement is specified, and the movement pattern is output as an optimum movement order A moving order determination unit to
A virtual machine management server comprising: a virtual machine migration command unit that sequentially issues a migration command of the virtual computer to each virtual host based on the optimum migration order.

(付記2) 前記移動順序決定部が、
一の前記仮想コンピュータを一の前記仮想ホストから別の前記仮想ホストに移動させても、移動後の前記各仮想ホストの前記リソース利用率の合計の最大値が移動前の前記仮想ホストの前記リソース利用率の合計の最大値を越えないよう前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返す移動パターンを探索することを特徴とする、付記1に記載の仮想マシン管理サーバ。
(Supplementary Note 2) The movement order determination unit
Even if one virtual computer is moved from one virtual host to another virtual host, the maximum total resource utilization of each virtual host after the migration is the resource of the virtual host before the migration The virtual computer is sequentially moved one by one so as not to exceed the maximum total utilization rate, and a movement pattern is repeated until the virtual computer is placed in the optimum placement. The virtual machine management server according to 1.

(付記3) 前記移動順序決定部が、
前記移動パターンを複数通り探索した場合に、その探索された複数の前記移動パターンの中で最も早く前記リソース利用率の最大値を平準化させる前記移動パターンを前記最適な移動順序とする機能を有することを特徴とする、付記2に記載の仮想マシン管理サーバ。
(Supplementary Note 3) The movement order determination unit
When searching for a plurality of movement patterns, the movement pattern for leveling the maximum value of the resource utilization rate earliest among the plurality of movement patterns searched is set as the optimum movement order. The virtual machine management server according to Supplementary Note 2, wherein

(付記4) 前記移動順序決定部が、
一の前記仮想コンピュータを一の前記仮想ホストから別の前記仮想ホストに移動させても、移動後の前記各仮想ホストの前記リソース利用率の合計の最大値が移動前の前記仮想ホストの前記リソース利用率の合計の最大値を越えないよう前記仮想コンピュータを一つずつ移動させることが不可能な場合に、前記移動後のリソース利用率の合計の最大値が最小となるよう前記仮想コンピュータを移動させる機能を有することを特徴とする、付記2に記載の仮想マシン管理サーバ。
(Additional remark 4) The said movement order determination part is
Even if one virtual computer is moved from one virtual host to another virtual host, the maximum total resource utilization of each virtual host after the migration is the resource of the virtual host before the migration When it is impossible to move the virtual computers one by one so that the maximum total utilization rate is not exceeded, the virtual computer is moved so that the maximum total resource utilization rate after the migration is minimized The virtual machine management server according to attachment 2, wherein the virtual machine management server has a function of

(付記5) 収集された前記各仮想コンピュータの複数種類のリソース利用率の各々に重み係数を乗算して合計した値を前記リソース利用率として利用することを特徴とする、付記1に記載の仮想マシン管理サーバ。 (Supplementary note 5) A virtual value according to supplementary note 1, wherein a value obtained by multiplying each of the collected resource utilization factors of each virtual computer by a weighting factor is used as the resource utilization factor. Machine management server.

(付記6) 各々が複数の仮想コンピュータを動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバにあって、
前記各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を動作状態収集部が収集し、
収集された前記リソース利用率から、前記各仮想ホストのリソース利用率の合計値を最も平準化する前記各仮想ホスト上の前記仮想コンピュータの配置を最適配置決定部が最適配置として決定し、
前記各仮想ホストの複数の前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返す移動パターンを移動順序決定部が特定してこれを最適な移動順序として出力し、
前記最適な移動順序に基づいて、前記各仮想ホストに対して仮想マシン移動司令部が前記仮想コンピュータの移動命令を順次発する
ことを特徴とする仮想マシン移動順序制御方法。
(Supplementary Note 6) A virtual machine management server connected via a network to a plurality of virtual hosts each operating a plurality of virtual computers,
The operating state collection unit collects the resource usage rate of each virtual computer running on the host from each virtual host,
From the collected resource utilization rate, the optimum placement determination unit determines the placement of the virtual computer on each virtual host that most equalizes the total value of the resource utilization rate of each virtual host as the optimum placement,
The movement order determination unit identifies a movement pattern in which the plurality of virtual computers of each virtual host are sequentially moved one by one and the arrangement is repeated until the arrangement of the virtual computers becomes the optimum arrangement, and this is optimally moved. Output as order,
A virtual machine movement order control method, wherein a virtual machine movement command unit sequentially issues a movement instruction of the virtual computer to each virtual host based on the optimum movement order.

(付記7) 前記最適な移動順序を出力する処理が、
一の前記仮想コンピュータを一の前記仮想ホストから別の前記仮想ホストに移動させても、移動後の前記各仮想ホストの前記リソース利用率の合計の最大値が移動前の前記仮想ホストの前記リソース利用率の合計の最大値を越えないよう前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返すものであることを特徴とする、付記6に記載の仮想マシン移動順序制御方法。
(Supplementary note 7) The process of outputting the optimum movement order is:
Even if one virtual computer is moved from one virtual host to another virtual host, the maximum total resource utilization of each virtual host after the migration is the resource of the virtual host before the migration Appendix 6 is characterized in that the virtual computers are sequentially moved one by one so as not to exceed the maximum total utilization, and this is repeated until the placement of the virtual computers reaches the optimum placement. The virtual machine movement order control method described.

(付記8) 各々が複数の仮想コンピュータを動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバにあって、
前記仮想マシン管理サーバが備えるコンピュータに、
前記各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を収集する手順、
収集された前記リソース利用率から、前記各仮想ホストのリソース利用率の合計値を最も平準化する前記各仮想ホスト上の前記仮想コンピュータの配置を最適配置として決定する手順、
前記各仮想ホストの複数の前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返す移動パターンを特定してこれを最適な移動順序として出力する手順、
および前記最適な移動順序に基づいて、前記各仮想ホストに対して前記仮想コンピュータの移動命令を順次発する手順
を実行させることを特徴とする仮想マシン移動順序制御プログラム。
(Supplementary Note 8) Each of the virtual machine management servers is connected to a plurality of virtual hosts that operate a plurality of virtual computers via a network.
In the computer provided in the virtual machine management server,
A procedure for collecting the resource utilization rate of each virtual computer running on the host from each virtual host;
A procedure for determining, from the collected resource utilization rates, an optimal placement of the virtual computers on the virtual hosts that most equalizes the total resource utilization of the virtual hosts;
A procedure of sequentially moving a plurality of virtual computers of each virtual host one by one, specifying a movement pattern that is repeated until the placement of the virtual computers becomes the optimum placement, and outputting this as an optimum movement order ,
And a virtual machine movement order control program for causing each virtual host to sequentially issue a movement instruction for the virtual computer based on the optimum movement order.

(付記9) 前記最適な移動順序を出力する手順が、
一の前記仮想コンピュータを一の前記仮想ホストから別の前記仮想ホストに移動させても、移動後の前記各仮想ホストの前記リソース利用率の合計の最大値が移動前の前記仮想ホストの前記リソース利用率の合計の最大値を越えないよう前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返すものであることを特徴とする、付記8に記載の仮想マシン移動順序制御プログラム。
(Supplementary Note 9) The procedure for outputting the optimum movement order is as follows.
Even if one virtual computer is moved from one virtual host to another virtual host, the maximum total resource utilization of each virtual host after the migration is the resource of the virtual host before the migration Appendix 8 is characterized in that the virtual computers are sequentially moved one by one so as not to exceed the maximum total utilization rate, and this is repeated until the placement of the virtual computers reaches the optimum placement. The virtual machine movement order control program described.

本発明は、コンピュータネットワークにおける仮想コンピュータの運用において適用できる。前述のように、負荷を平準化すること以外の目的においても利用可能である。   The present invention can be applied to the operation of a virtual computer in a computer network. As described above, the present invention can be used for purposes other than leveling the load.

10、310 仮想マシン管理サーバ
11 プロセッサ
12 記憶手段
13 通信手段
20、20a〜c 仮想ホスト
31a〜c、32a〜c、33a〜b 仮想マシン
101 動作状態収集部
102 最適配置決定部
103、403 移動順序決定部
104 仮想マシン移動司令部
DESCRIPTION OF SYMBOLS 10,310 Virtual machine management server 11 Processor 12 Storage means 13 Communication means 20, 20a-c Virtual host 31a-c, 32a-c, 33a-b Virtual machine 101 Operation | movement state collection part 102 Optimal arrangement | positioning determination part 103,403 Movement order Decision part 104 Virtual machine movement command part

Claims (9)

各々が複数の仮想コンピュータを動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバであって、
前記各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を収集する動作状態収集部と、収集された前記リソース利用率から、前記各仮想ホストのリソース利用率の合計値を最も平準化する前記各仮想ホスト上の前記仮想コンピュータの配置を最適配置として決定する最適配置決定部とを備えると共に、
前記各仮想ホストの複数の前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返す移動パターンを特定し、当該移動パターンを最適な移動順序として出力する移動順序決定部と、
前記最適な移動順序に基づいて、前記各仮想ホストに対して前記仮想コンピュータの移動命令を順次発する仮想マシン移動司令部と
を有することを特徴とする仮想マシン管理サーバ。
A virtual machine management server connected via a network to a plurality of virtual hosts each operating a plurality of virtual computers,
The operation state collection unit that collects the resource utilization rate of each virtual computer operating on the host from each virtual host, and the total value of the resource utilization rate of each virtual host is most equalized from the collected resource utilization rate An optimal placement determination unit that determines the placement of the virtual computer on each virtual host to be the optimum placement,
A plurality of virtual computers of each virtual host are sequentially moved one by one, a movement pattern that is repeated until the arrangement of the virtual computers becomes the optimum arrangement is specified, and the movement pattern is output as an optimum movement order A moving order determination unit to
A virtual machine management server comprising: a virtual machine migration command unit that sequentially issues a migration command of the virtual computer to each virtual host based on the optimum migration order.
前記移動順序決定部が、
一の前記仮想コンピュータを一の前記仮想ホストから別の前記仮想ホストに移動させても、移動後の前記各仮想ホストの前記リソース利用率の合計の最大値が移動前の前記仮想ホストの前記リソース利用率の合計の最大値を越えないよう前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返す移動パターンを探索することを特徴とする、請求項1に記載の仮想マシン管理サーバ。
The movement order determination unit
Even if one virtual computer is moved from one virtual host to another virtual host, the maximum total resource utilization of each virtual host after the migration is the resource of the virtual host before the migration The virtual computer is sequentially moved one by one so as not to exceed the maximum total utilization rate, and a movement pattern that repeats this until the placement of the virtual computer becomes the optimum placement is searched for. Item 8. The virtual machine management server according to Item 1.
前記移動順序決定部が、
前記移動パターンを複数通り探索した場合に、その探索された複数の前記移動パターンの中で最も早く前記リソース利用率の最大値を平準化させる前記移動パターンを前記最適な移動順序とする機能を有することを特徴とする、請求項2に記載の仮想マシン管理サーバ。
The movement order determination unit
When searching for a plurality of movement patterns, the movement pattern for leveling the maximum value of the resource utilization rate earliest among the plurality of movement patterns searched is set as the optimum movement order. The virtual machine management server according to claim 2, wherein:
前記移動順序決定部が、
一の前記仮想コンピュータを一の前記仮想ホストから別の前記仮想ホストに移動させても、移動後の前記各仮想ホストの前記リソース利用率の合計の最大値が移動前の前記仮想ホストの前記リソース利用率の合計の最大値を越えないよう前記仮想コンピュータを一つずつ移動させることが不可能な場合に、前記移動後のリソース利用率の合計の最大値が最小となるよう前記仮想コンピュータを移動させる機能を有することを特徴とする、請求項2に記載の仮想マシン管理サーバ。
The movement order determination unit
Even if one virtual computer is moved from one virtual host to another virtual host, the maximum total resource utilization of each virtual host after the migration is the resource of the virtual host before the migration When it is impossible to move the virtual computers one by one so that the maximum total utilization rate is not exceeded, the virtual computer is moved so that the maximum total resource utilization rate after the migration is minimized The virtual machine management server according to claim 2, having a function of causing
収集された前記各仮想コンピュータの複数種類のリソース利用率の各々に重み係数を乗算して合計した値を前記リソース利用率として利用することを特徴とする、請求項1に記載の仮想マシン管理サーバ。   The virtual machine management server according to claim 1, wherein a value obtained by multiplying each of the collected resource utilization rates of each virtual computer by a weighting factor is used as the resource utilization rate. . 各々が複数の仮想コンピュータを動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバにあって、
前記各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を動作状態収集部が収集し、
収集された前記リソース利用率から、前記各仮想ホストのリソース利用率の合計値を最も平準化する前記各仮想ホスト上の前記仮想コンピュータの配置を最適配置決定部が最適配置として決定し、
前記各仮想ホストの複数の前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返す移動パターンを移動順序決定部が特定してこれを最適な移動順序として出力し、
前記最適な移動順序に基づいて、前記各仮想ホストに対して仮想マシン移動司令部が前記仮想コンピュータの移動命令を順次発する
ことを特徴とする仮想マシン移動順序制御方法。
A virtual machine management server connected via a network to a plurality of virtual hosts each operating a plurality of virtual computers;
The operating state collection unit collects the resource usage rate of each virtual computer running on the host from each virtual host,
From the collected resource utilization rate, the optimum placement determination unit determines the placement of the virtual computer on each virtual host that most equalizes the total value of the resource utilization rate of each virtual host as the optimum placement,
The movement order determination unit identifies a movement pattern in which the plurality of virtual computers of each virtual host are sequentially moved one by one and the arrangement is repeated until the arrangement of the virtual computers becomes the optimum arrangement, and this is optimally moved. Output as order,
A virtual machine movement order control method, wherein a virtual machine movement command unit sequentially issues a movement instruction of the virtual computer to each virtual host based on the optimum movement order.
前記最適な移動順序を出力する処理が、
一の前記仮想コンピュータを一の前記仮想ホストから別の前記仮想ホストに移動させても、移動後の前記各仮想ホストの前記リソース利用率の合計の最大値が移動前の前記仮想ホストの前記リソース利用率の合計の最大値を越えないよう前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返すものであることを特徴とする、請求項6に記載の仮想マシン移動順序制御方法。
The process of outputting the optimum movement order is:
Even if one virtual computer is moved from one virtual host to another virtual host, the maximum total resource utilization of each virtual host after the migration is the resource of the virtual host before the migration 7. The virtual computers are sequentially moved one by one so as not to exceed the maximum total utilization rate, and this is repeated until the placement of the virtual computers reaches the optimum placement. The virtual machine movement order control method described in 1.
各々が複数の仮想コンピュータを動作させる複数の仮想ホストとネットワークを介して接続された仮想マシン管理サーバにあって、
前記仮想マシン管理サーバが備えるコンピュータに、
前記各仮想ホストから当該ホストで動作する各仮想コンピュータのリソース利用率を収集する手順、
収集された前記リソース利用率から、前記各仮想ホストのリソース利用率の合計値を最も平準化する前記各仮想ホスト上の前記仮想コンピュータの配置を最適配置として決定する手順、
前記各仮想ホストの複数の前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返す移動パターンを特定してこれを最適な移動順序として出力する手順、
および前記最適な移動順序に基づいて、前記各仮想ホストに対して前記仮想コンピュータの移動命令を順次発する手順
を実行させることを特徴とする仮想マシン移動順序制御プログラム。
A virtual machine management server connected via a network to a plurality of virtual hosts each operating a plurality of virtual computers;
In the computer provided in the virtual machine management server,
A procedure for collecting the resource utilization rate of each virtual computer running on the host from each virtual host;
A procedure for determining, from the collected resource utilization rates, an optimal placement of the virtual computers on the virtual hosts that most equalizes the total resource utilization of the virtual hosts;
A procedure of sequentially moving a plurality of virtual computers of each virtual host one by one, specifying a movement pattern that is repeated until the placement of the virtual computers becomes the optimum placement, and outputting this as an optimum movement order ,
And a virtual machine movement order control program for causing each virtual host to sequentially issue a movement instruction for the virtual computer based on the optimum movement order.
前記最適な移動順序を出力する手順が、
一の前記仮想コンピュータを一の前記仮想ホストから別の前記仮想ホストに移動させても、移動後の前記各仮想ホストの前記リソース利用率の合計の最大値が移動前の前記仮想ホストの前記リソース利用率の合計の最大値を越えないよう前記仮想コンピュータを一つずつ順次移動させて、これを前記仮想コンピュータの配置が前記最適配置となるまで繰り返すものであることを特徴とする、請求項8に記載の仮想マシン移動順序制御プログラム。
The procedure for outputting the optimum movement order is as follows:
Even if one virtual computer is moved from one virtual host to another virtual host, the maximum total resource utilization of each virtual host after the migration is the resource of the virtual host before the migration 9. The virtual computers are sequentially moved one by one so as not to exceed the maximum total utilization rate, and this is repeated until the placement of the virtual computers reaches the optimum placement. The virtual machine movement order control program described in 1.
JP2012009622A 2012-01-20 2012-01-20 Virtual machine management server, virtual machine movement order control method, and control program Active JP5817549B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012009622A JP5817549B2 (en) 2012-01-20 2012-01-20 Virtual machine management server, virtual machine movement order control method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012009622A JP5817549B2 (en) 2012-01-20 2012-01-20 Virtual machine management server, virtual machine movement order control method, and control program

Publications (2)

Publication Number Publication Date
JP2013149118A true JP2013149118A (en) 2013-08-01
JP5817549B2 JP5817549B2 (en) 2015-11-18

Family

ID=49046550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012009622A Active JP5817549B2 (en) 2012-01-20 2012-01-20 Virtual machine management server, virtual machine movement order control method, and control program

Country Status (1)

Country Link
JP (1) JP5817549B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181604A (en) * 2020-10-27 2021-01-05 中国联合网络通信集团有限公司 Capacity reduction target selection method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008102739A1 (en) * 2007-02-23 2008-08-28 Nec Corporation Virtual server system and physical server selecting method
JP2010244524A (en) * 2009-03-17 2010-10-28 Hitachi Ltd Determining method of method for moving virtual server, and management server thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008102739A1 (en) * 2007-02-23 2008-08-28 Nec Corporation Virtual server system and physical server selecting method
JP2010244524A (en) * 2009-03-17 2010-10-28 Hitachi Ltd Determining method of method for moving virtual server, and management server thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181604A (en) * 2020-10-27 2021-01-05 中国联合网络通信集团有限公司 Capacity reduction target selection method and device
CN112181604B (en) * 2020-10-27 2023-06-13 中国联合网络通信集团有限公司 Capacity-shrinking target selection method and device

Also Published As

Publication number Publication date
JP5817549B2 (en) 2015-11-18

Similar Documents

Publication Publication Date Title
JP5218390B2 (en) Autonomous control server, virtual server control method and program
US10461774B2 (en) Technologies for assigning workloads based on resource utilization phases
US8117613B2 (en) Optimized virtual machine migration mechanism
US9921861B2 (en) Virtual machine management method and information processing apparatus
US9021477B2 (en) Method for improving the performance of high performance computing applications on Cloud using integrated load balancing
US8966038B2 (en) Virtual server system and physical server selection method
CN107111517B (en) Optimized allocation and/or generation of virtual machines for reducer tasks
US20140082202A1 (en) Method and Apparatus for Integration of Virtual Cluster and Virtual Cluster System
US20100262964A1 (en) Virtual Machine Packing Method Using Scarcity
US20100250734A1 (en) Server reassignment support system and server reassignment support method
KR101471749B1 (en) Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method
WO2011102219A1 (en) Real time system task configuration optimization system for multi-core processors, and method and program
JP2009116380A (en) Virtual server movement controller, virtual server movement control method and program
Li et al. An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters
JP2013186770A (en) Data processing device
JP5109799B2 (en) Information processing system, load control method, and load control program
JP2018018175A (en) Virtual machine control program, virtual machine control method and virtual machine control device
JP5817549B2 (en) Virtual machine management server, virtual machine movement order control method, and control program
JP2013182509A (en) Virtualization system, load distribution device, load distribution method and load distribution program
JP6960444B2 (en) Computer system and resource management method
JP6963465B2 (en) Computer system and data processing control method
US9864601B2 (en) Resource management in distributed computer systems using dispersion rules
JP6331549B2 (en) Virtual machine management apparatus, virtual machine management method, and virtual machine management system
JP2014206805A (en) Control device
KR101470695B1 (en) Method and system of biogeography based optimization for grid computing scheduling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150817

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150914

R150 Certificate of patent or registration of utility model

Ref document number: 5817549

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150