JP2010117760A - Virtual machine movement management server and virtual machine movement method - Google Patents

Virtual machine movement management server and virtual machine movement method Download PDF

Info

Publication number
JP2010117760A
JP2010117760A JP2008288593A JP2008288593A JP2010117760A JP 2010117760 A JP2010117760 A JP 2010117760A JP 2008288593 A JP2008288593 A JP 2008288593A JP 2008288593 A JP2008288593 A JP 2008288593A JP 2010117760 A JP2010117760 A JP 2010117760A
Authority
JP
Japan
Prior art keywords
virtual machine
machine
physical machine
migration
physical
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
JP2008288593A
Other languages
Japanese (ja)
Other versions
JP4839361B2 (en
Inventor
Nozomi Okabayashi
希 岡林
Yoji Iwata
陽司 岩田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008288593A priority Critical patent/JP4839361B2/en
Publication of JP2010117760A publication Critical patent/JP2010117760A/en
Application granted granted Critical
Publication of JP4839361B2 publication Critical patent/JP4839361B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently and safely arrange and move a virtual machine by distributing the loads of an overall system. <P>SOLUTION: The predetection of the resource shortage of a physical machine 120 and the layout and movement of a virtual machine 122 which is proper when it is viewed in the long and middle terms is achieved by recognizing and analyzing change in the load of a virtual machine 122 and the physical machine 120 by an approximate expression such as an equation of higher degree. In addition, the movement of the virtual machine 122 is scheduled in such a manner that the load is prevented from being deviated in the virtual machine 122, the physical machine 120 and the network by recognizing and analyzing the change in the load of the network by the approximate expression such as the equation of higher degree. In particular, a movement schedule is set so that the overlap of the peak of a CPU load in the physical machine 120 or the virtual machine 122 is avoided as much as possible. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、仮想化環境を実現するシステムにおける仮想マシンの配置および移動を管理する技術に関する。   The present invention relates to a technique for managing the placement and movement of virtual machines in a system that implements a virtual environment.

従来は、特許文献1に記載されているように、複数の仮想マシンを複数の物理マシンに配置する際、仮想マシンや物理マシンのパフォーマンスのデータの測定値をそのまま比較し、最適なパフォーマンスとなる配置を算出していた。
特開2005−115653号公報
Conventionally, as described in Patent Document 1, when a plurality of virtual machines are arranged on a plurality of physical machines, the measured values of the performance data of the virtual machines and the physical machines are directly compared, and the optimum performance is obtained. Arrangement was calculated.
JP 2005-115653 A

このような従来技術では、パフォーマンス値の最大または最少を考慮して仮想マシンを配置することはできるとしているが、負荷のピークの重複による負荷の偏りを低減または回避して仮想マシンを配置することはできない。一般に、ピーク時は負荷の変動の幅が大きく、異なる業務の同時刻のピーク同士を同一物理マシンで実行すると負荷の変動が一層大きくなり、リソース不足になるリスクが大きくなる、という課題がある。
また、オンデマンドな仮想マシンの移動検討および移動実施においては、仮想マシンの移動が同時多発し、これによりネットワーク負荷が増大する、という課題がある。
このような課題が存在している以上、従来技術によるパフォーマンスは決して最適とはいえない。
In such conventional technologies, virtual machines can be placed in consideration of the maximum or minimum performance value, but virtual machines can be placed while reducing or avoiding load bias due to overlapping load peaks. I can't. In general, there is a problem that the range of load fluctuation is large at the peak time, and when the same time machines of different jobs are executed on the same physical machine, the fluctuation of the load further increases and the risk of resource shortage increases.
Further, in the on-demand examination and implementation of virtual machine movement, there is a problem that the movement of the virtual machine occurs at the same time, thereby increasing the network load.
Because of these challenges, the performance of the prior art is never optimal.

前記事情を鑑みて、本発明では、システム全体の負荷を分散させ、効率よく安全に仮想マシンを配置および移動することを目的とする。   In view of the above circumstances, an object of the present invention is to distribute and distribute the load of the entire system, and to arrange and move virtual machines efficiently and safely.

本発明では、仮想マシン、物理マシン、必要に応じてネットワークの負荷の変化等を考慮し、仮想マシンの移動スケジュールを事前に決定する。
具体的には、仮想マシン、物理マシン、必要に応じてネットワークの負荷のサイクル(経時変化)を、関数を使用して把握・分析する。これらの複数の関数の和や差の値、交点の有無等を判断の根拠にして、物理マシンのリソース不足の事前検出、および中長期的に見て適切な仮想マシンの配置を実現する。さらに、仮想マシンを移動する場合も、仮想マシンや物理マシン等、移動に関係するシステムの負荷のサイクルを、関数を使用して把握・分析し、負荷が偏らない(ピークを作らない)ように、移動をスケジューリングする。
詳細は後記する。
In the present invention, a virtual machine movement schedule is determined in advance in consideration of a virtual machine, a physical machine, and a change in network load as necessary.
Specifically, the virtual machine, the physical machine, and the network load cycle (time-dependent change) as needed are grasped and analyzed using functions. Based on the basis of the determination of the sum and difference values of these functions, the presence or absence of intersections, etc., real-time detection of physical machine resource shortage and appropriate placement of virtual machines over the medium to long term are realized. In addition, when moving virtual machines, use functions to understand and analyze the load cycles of systems related to movement, such as virtual machines and physical machines, so that loads are not biased (no peaks are created). , Schedule the move.
Details will be described later.

本発明により、システム全体の負荷を分散させ、効率よく安全に仮想マシンを配置および移動することができる。   According to the present invention, it is possible to distribute and distribute the load of the entire system, and to arrange and move virtual machines efficiently and safely.

以下、本発明を実施するための最良の形態(以下、実施形態という。)を図面に基づいて詳細に説明する。   Hereinafter, the best mode for carrying out the present invention (hereinafter referred to as an embodiment) will be described in detail with reference to the drawings.

本発明は、過去の実績から今後の傾向を算出し、この傾向を元に、今後の仮想化環境を最適化するシステムである。仮想化環境の最適化とは、リソース不足や負荷の偏りが発生しない仮想化環境を実現することである。本システムでは、仮想化環境を最適化するために、定期的に仮想化環境を分析し、リソース不足の恐れがある物理マシンの事前検出、仮想マシンの適切な配置、仮想マシンを移動する際のスケジューリングなどをおこなう。   The present invention is a system that calculates future trends from past results and optimizes future virtualization environments based on these trends. The optimization of the virtual environment is to realize a virtual environment in which there is no shortage of resources and load imbalance. In this system, in order to optimize the virtual environment, the virtual environment is periodically analyzed, physical machines that may run out of resources are pre-detected, virtual machines are properly arranged, and virtual machines are moved. Perform scheduling and so on.

また、本システムは本システム単独で使用するほか、オンデマンドで仮想マシンを移動するシステムと併用することも可能である。オンデマンドで仮想マシンを移動したために物理マシンのリソース不足が懸念される場合でも、本システムが定期的に最適化するため、事前にリソース不足を回避できる。   In addition to using this system alone, it is also possible to use it together with a system that moves virtual machines on demand. Even if there is a concern about a shortage of physical machine resources due to a virtual machine being moved on demand, the system optimizes periodically, so it is possible to avoid resource shortage in advance.

≪構成≫
図1は、本実施形態の一例である、仮想マシン移動システム(以下、単に、「システム」と称する場合もある。)の構成を示すものである。本実施形態では、ネットワーク140で通信可能に接続された管理サーバ100と物理マシン120で実現されている。また、管理サーバ100には、HDD(Hard Disk Drive:記憶部)130が接続されている。
≪Configuration≫
FIG. 1 shows a configuration of a virtual machine migration system (hereinafter sometimes simply referred to as “system”) as an example of the present embodiment. In this embodiment, it is realized by the management server 100 and the physical machine 120 that are communicably connected via the network 140. Further, an HDD (Hard Disk Drive: storage unit) 130 is connected to the management server 100.

管理サーバ100は、メモリ(記憶部)101、CPU(Central Processing Unit:制御部)113、NIC(Network Interface Card)114、I/O(Input/Output)115を備える。   The management server 100 includes a memory (storage unit) 101, a CPU (Central Processing Unit: control unit) 113, a NIC (Network Interface Card) 114, and an I / O (Input / Output) 115.

メモリ101には、CPU113による実行を具現化する処理部として、高次方程式処理部103、移動判定部107および移動処理部110が備えられている。
高次方程式処理部103には、高次方程式算出部104、閾値超え判定部105およびピーク重複判定部106、といった処理部が備えられている。
移動判定部107には、移動仮想マシン候補選出部108、移動先物理マシン候補選出部109、といった処理部が備えられている。
移動処理部110は、スケジュール調整部111、移動実行部112、といった処理部が備えられている。
これら処理部による機能については後記する。
The memory 101 includes a high-order equation processing unit 103, a movement determination unit 107, and a movement processing unit 110 as processing units that embody execution by the CPU 113.
The high-order equation processing unit 103 includes processing units such as a high-order equation calculation unit 104, a threshold value excess determination unit 105, and a peak overlap determination unit 106.
The migration determination unit 107 includes processing units such as a migration virtual machine candidate selection unit 108 and a migration destination physical machine candidate selection unit 109.
The movement processing unit 110 includes processing units such as a schedule adjustment unit 111 and a movement execution unit 112.
The functions of these processing units will be described later.

HDD130には、CPU使用率測定データテーブル131、係数表テーブル132、CPU使用率の高次方程式テーブル133、仮想/物理マシンの相関テーブル134、マシンの各種閾値テーブル135、ピーク判定値テーブル136および移動スケジュールテーブル137が格納される。管理サーバ100はI/O115を介してこれらの各種テーブルにあるデータを取得したり、これらの各種テーブルに対してデータの登録を実行したりする。   The HDD 130 includes a CPU usage rate measurement data table 131, a coefficient table table 132, a CPU usage rate higher-order equation table 133, a virtual / physical machine correlation table 134, machine threshold values table 135, a peak determination value table 136, and a movement. A schedule table 137 is stored. The management server 100 acquires data in these various tables via the I / O 115 and executes data registration for these various tables.

物理マシン120は、メモリ121、CPU123、NIC124を備える。メモリ121には、1以上の仮想マシン122が格納される。換言すれば、物理マシン120は、1以上の仮想マシンを構成する機能を備えている。   The physical machine 120 includes a memory 121, a CPU 123, and a NIC 124. One or more virtual machines 122 are stored in the memory 121. In other words, the physical machine 120 has a function of configuring one or more virtual machines.

本実施形態では、高次方程式を算出したり仮想マシン122の移動要否およびそのタイミングを判定したりするためのデータとしてCPU123の使用率を使用しているが、メモリ121の使用率やI/O使用率等、他のデータを使用しても良い。
また、本実施形態では、高次方程式処理部103やCPU使用率測定データテーブル131、係数表テーブル132、CPU使用率の高次方程式テーブル133、マシンの各種閾値テーブル135が管理サーバ100のHDD130に格納されているが、これらは物理マシン120または他のマシンに格納されていても良い。
In the present embodiment, the usage rate of the CPU 123 is used as data for calculating higher-order equations and determining the necessity and timing of movement of the virtual machine 122, but the usage rate of the memory 121 and the I / O Other data such as O usage rate may be used.
In this embodiment, the high-order equation processing unit 103, the CPU usage rate measurement data table 131, the coefficient table table 132, the CPU usage rate high-order equation table 133, and the machine threshold values table 135 are stored in the HDD 130 of the management server 100. Although stored, these may be stored in the physical machine 120 or another machine.

≪各種テーブルの詳細≫
次に、HDD130に格納された各種テーブルの詳細について説明する。
図2から図8は、HDD130に格納される各種テーブル131から137のデータ構造を図示したものである。
≪Details of various tables≫
Next, details of various tables stored in the HDD 130 will be described.
2 to 8 show the data structures of the various tables 131 to 137 stored in the HDD 130. FIG.

図2に示すCPU使用率測定データテーブル131は、物理マシン120のCPU123を使用する仮想マシン122のCPU使用率を、仮想マシン122のリソース使用率として定期的に測定したデータを格納するテーブルである。CPU使用率測定データテーブル131には、CPUの利用率の測定を行う月日が登録される日付1311、その月日において定期的に測定を行うと定めた時刻において測定されたCPU使用率(%)が登録される測定値1312、といったフィールドが備えられている。CPU使用率測定データテーブル131は、仮想マシン122ごとに設けられており、物理マシン120は、その物理マシン120上の仮想マシン122のCPU使用率を周知の方法で測定することができ、その測定したデータを管理サーバ100に送信することにより、このテーブルが作成される。
なお、CPU使用率測定データテーブル131に登録される測定データは、前記のように仮想マシン122のものであっても良いし、物理マシン120のものであっても良い。また、仮想マシン移動システム全体のものであっても良い。
The CPU usage rate measurement data table 131 illustrated in FIG. 2 is a table that stores data obtained by periodically measuring the CPU usage rate of the virtual machine 122 that uses the CPU 123 of the physical machine 120 as the resource usage rate of the virtual machine 122. . In the CPU usage rate measurement data table 131, the date 1311 on which the month and day for measuring the CPU usage rate are registered, and the CPU usage rate (%) measured at the time determined to be periodically measured on that month and day. ) Is registered as a measured value 1312. The CPU usage rate measurement data table 131 is provided for each virtual machine 122, and the physical machine 120 can measure the CPU usage rate of the virtual machine 122 on the physical machine 120 by a known method. This table is created by transmitting the processed data to the management server 100.
The measurement data registered in the CPU usage rate measurement data table 131 may be that of the virtual machine 122 or the physical machine 120 as described above. Further, the entire virtual machine moving system may be used.

図3に示す係数表テーブル132は、システムを構成する物理マシン120の性能差を補正する係数を格納するテーブルである。係数表テーブル132には、物理マシン120を識別する機能を有する名称が登録される物理マシン1321、その物理マシン120のスペック(仕様情報)を示し、その物理マシンに使用されているCPUのクロック周波数(GHz)が登録されるCPU1322、前記スペックに応じて各物理マシン間の性能差を補正する係数が登録される係数1323、といったフィールドが備えられている。係数1323に登録される係数の測定方法としては、例えば、ベンチマークによる測定方法がある。   The coefficient table 132 shown in FIG. 3 is a table that stores coefficients for correcting the performance difference between the physical machines 120 constituting the system. The coefficient table table 132 shows the physical machine 1321 in which a name having a function of identifying the physical machine 120 is registered, the specifications (specification information) of the physical machine 120, and the clock frequency of the CPU used in the physical machine Fields such as a CPU 1322 in which (GHz) is registered and a coefficient 1323 in which a coefficient for correcting a performance difference between physical machines is registered according to the specifications are provided. As a coefficient measurement method registered in the coefficient 1323, for example, there is a benchmark measurement method.

図4に示すCPU使用率の高次方程式テーブル133は、仮想マシン122のCPU使用率のサイクルを高次方程式で近似表現したものを格納するテーブルである。CPU使用率の高次方程式テーブル133には、CPUの利用率の測定を行われた日(曜日等)や月等が登録される日付1331と、前記高次方程式における各項の係数が登録される項1332、といったフィールドが備えられている。高次方程式の算出に使用するデータは、CPU使用率測定データテーブル131を係数表テーブル132で補正したデータである。そして、そのデータを基に、例えば、最小二乗法を用いて前記高次方程式を算出する。なお、CPU使用率の高次方程式テーブル133に登録される高次方程式は、物理マシン120のものであっても良い。   The CPU usage rate high-order equation table 133 shown in FIG. 4 is a table for storing a CPU usage rate cycle of the virtual machine 122 that is approximated by a high-order equation. In the high-order equation table 133 of the CPU usage rate, the date 1331 in which the day (day of the week), the month, etc. when the CPU usage rate was measured are registered, and the coefficient of each term in the high-order equation is registered. Field 1332 is provided. The data used for calculating the higher order equation is data obtained by correcting the CPU usage rate measurement data table 131 with the coefficient table table 132. Then, based on the data, for example, the higher order equation is calculated using a least square method. Note that the high-order equation registered in the high-order equation table 133 of the CPU usage rate may be that of the physical machine 120.

本実施形態では、日単位、週単位、月単位の高次方程式を保持しているが、必要に応じて年単位も加えたり、日単位だけ保持したりしても良い。
また、本実施形態では、仮想マシンおよび物理マシンのCPU使用率のサイクルを近似するために高次方程式を使用しているが、三角関数や複素関数、指数対数関数等、他の関数を使用しても良い。
In the present embodiment, high-order equations of daily units, weekly units, and monthly units are held, but yearly units may be added as needed, or only daily units may be held.
In this embodiment, higher-order equations are used to approximate the CPU usage cycle of virtual machines and physical machines, but other functions such as trigonometric functions, complex functions, and exponential logarithmic functions are used. May be.

図5に示す仮想/物理マシンの相関テーブル134は、どの物理マシンがどの仮想マシンを有しているか、という相関関係を格納するテーブルである。また、このテーブルは、物理マシンおよび仮想マシンごとにフラグを立てるための領域を保持している。仮想/物理マシンの相関テーブル134には、本システムを構成する物理マシンを識別する機能を有する名称が登録される物理マシン名1341、その物理マシンに割り当てるフラグが登録される物理マシン用フラグ1342、当該物理マシン上の仮想マシンを識別する機能を有する名称が登録される仮想マシン名1343、その仮想マシンに割り当てるフラグが登録される仮想マシン用フラグ1344、といったフィールドが備えられている。   The virtual / physical machine correlation table 134 shown in FIG. 5 is a table that stores the correlation of which physical machine has which virtual machine. Further, this table holds an area for setting a flag for each physical machine and virtual machine. In the virtual / physical machine correlation table 134, a physical machine name 1341 in which a name having a function for identifying a physical machine constituting this system is registered, a physical machine flag 1342 in which a flag to be assigned to the physical machine is registered, The field includes a virtual machine name 1343 in which a name having a function for identifying a virtual machine on the physical machine is registered, and a virtual machine flag 1344 in which a flag to be assigned to the virtual machine is registered.

本実施形態では、物理マシン用フラグ1342の使用目的は、移動先物理マシン候補選出部109における仮想マシンの移動先候補(移動先物理マシン候補)の目印を設定することである。ある物理マシンが仮想マシンの移動先候補として決定した場合、当該物理マシン用フラグ1342には「1」というフラグが登録され、そうでない場合には、「0」というフラグが登録される。また、仮想マシン用フラグ1344の使用目的は、移動仮想マシン候補選出部108により優先的に移動する仮想マシン候補(移動仮想マシン候補)の目印を設定することである。ある仮想マシンが移動仮想マシン候補として決定した場合、当該仮想マシン用フラグ1344には「1」というフラグが登録され、そうでない場合には、「0」というフラグが登録される。これ等の他にも、移動禁止の仮想マシンやメンテナンス予定の物理マシンの目印を設定すること等を目的に、これらのフラグを使用しても良い。   In the present embodiment, the purpose of using the physical machine flag 1342 is to set a mark of a virtual machine migration destination candidate (migration destination physical machine candidate) in the migration destination physical machine candidate selection unit 109. When a certain physical machine is determined as a virtual machine migration destination candidate, a flag “1” is registered in the physical machine flag 1342, and a flag “0” is registered otherwise. The purpose of use of the virtual machine flag 1344 is to set a mark of a virtual machine candidate (moving virtual machine candidate) to be preferentially moved by the moving virtual machine candidate selection unit 108. When a certain virtual machine is determined as a moving virtual machine candidate, a flag “1” is registered in the virtual machine flag 1344, and a flag “0” is registered otherwise. In addition to these, these flags may be used for the purpose of setting a mark of a virtual machine whose movement is prohibited or a physical machine scheduled for maintenance.

図6に示すマシンの各種閾値テーブル135は、物理マシンおよび仮想マシンごとに、仮想化環境の実現に関するある目的を果たすときの許容範囲を示す閾値を格納するテーブルである。具体的には、このテーブルは、仮想マシンを稼働(配置)するという目的および仮想マシンを移動するという目的を果たしても良いとするリソースの使用率を示すCPU使用率(%)の上限を格納する。基本的には、本システムは、この上限を超えてしまうような目的を遂行する処理は実行しない。   The various threshold table 135 of the machine shown in FIG. 6 is a table for storing a threshold indicating an allowable range when a certain purpose relating to the realization of the virtual environment is achieved for each physical machine and virtual machine. Specifically, this table stores the upper limit of the CPU usage rate (%) indicating the usage rate of the resource that may fulfill the purpose of operating (arranging) the virtual machine and the purpose of moving the virtual machine. . Basically, the system does not execute a process that accomplishes a purpose that exceeds this upper limit.

マシンの各種閾値テーブル135には、本システムを構成する物理マシンおよび仮想マシンを識別する機能を有する名称が登録されるマシン1353、仮想マシンの稼動に関する上限を示すCPU使用率が登録される仮想マシン稼動上限(第1の閾値)1351、仮想マシンの移動に関する上限を示すCPU使用率が登録される仮想マシン移動上限(第2の閾値)1352、といったフィールドが備えられている。   In the various threshold table 135 of the machine, a machine 1353 in which a name having a function of identifying a physical machine and a virtual machine constituting this system is registered, and a virtual machine in which a CPU usage rate indicating an upper limit on the operation of the virtual machine is registered Fields such as an operation upper limit (first threshold) 1351 and a virtual machine movement upper limit (second threshold) 1352 in which a CPU usage rate indicating an upper limit related to the movement of the virtual machine is registered are provided.

仮想マシン稼働上限1351は、物理マシンにのみ設定される。仮想マシン稼働上限は、物理マシン上で仮想マシンを稼働した際に、各仮想マシンに十分にCPUリソース(資源)を割り当てられる、と考えられる物理マシンのCPU使用率の上限である。仮想マシン稼働上限1351の値を超えた場合は、その物理マシンから別の物理マシンへ、仮想マシンをいくつか移動することが望ましい。
仮想マシン移動上限1352は、物理マシンおよび仮想マシンに設定される。仮想マシン移動上限は、物理マシンにおいては、その物理マシン上の他の仮想マシン等に影響を与えずに安全に仮想マシンを移動できる、と考えられるCPU使用率の上限である。また、仮想マシンにおいては、実行中のアプリケーション等に影響を与えずに安全にその仮想マシンを移動できる、と考えられるCPU使用率の上限である。仮想マシン移動上限1352の値を超えた場合は、仮想マシンの移動に時間がかかったり、失敗したりする可能性がある。
The virtual machine operation upper limit 1351 is set only for the physical machine. The virtual machine operation upper limit is an upper limit of the CPU usage rate of a physical machine that is considered to be able to sufficiently allocate CPU resources (resources) to each virtual machine when the virtual machine is operated on the physical machine. When the value of the virtual machine operation upper limit 1351 is exceeded, it is desirable to move some virtual machines from the physical machine to another physical machine.
The virtual machine movement upper limit 1352 is set for a physical machine and a virtual machine. The virtual machine movement upper limit is an upper limit of the CPU usage rate at which a virtual machine can safely move a virtual machine without affecting other virtual machines on the physical machine. Further, in a virtual machine, the upper limit of the CPU usage rate is considered to be that the virtual machine can be safely moved without affecting the running application or the like. If the value of the virtual machine movement upper limit 1352 is exceeded, the movement of the virtual machine may take time or may fail.

これらのCPU使用率は、高次方程式の値と比較するためのものである。また、これらのCPU使用率を設定する際は、物理マシンのオーバーヘッドやマージンを加味して設定することが望ましい。
本実施形態では、閾値としてCPU使用率を使用しているが、メモリ使用率やI/O使用率等の他のデータを使用しても良い。
また、本実施形態では、仮想マシン稼働上限1351と仮想マシン移動上限1352の2つのみを保持しているが、同時実行可能な仮想マシンの数等の他の値を保持しても良い。
These CPU usage rates are for comparison with the values of higher order equations. Also, when setting these CPU usage rates, it is desirable to set them taking into account the overhead and margin of the physical machine.
In this embodiment, the CPU usage rate is used as the threshold value, but other data such as a memory usage rate and an I / O usage rate may be used.
In this embodiment, only two of the virtual machine operation upper limit 1351 and the virtual machine movement upper limit 1352 are held, but other values such as the number of virtual machines that can be executed simultaneously may be held.

図7に示すピーク判定値テーブル136は、高次方程式で表現したCPU使用率のサイクルのうち、どの部分を負荷のピークとして定義するかを示した値を格納するテーブルである。ピーク判定値テーブル136は、負荷のピークを定義する判定値が登録される判定値1361といったフィールドが備えられている。本実施形態では、高次方程式の値を、その最小値を0、最大値を1とした場合、0.85以上になる部分をピークとして定義している。つまり、判定値1361に登録される判定値を0.85とする。   The peak determination value table 136 shown in FIG. 7 is a table that stores a value indicating which portion of the CPU usage rate cycle expressed by a high-order equation is defined as a load peak. The peak determination value table 136 includes a field such as a determination value 1361 in which a determination value that defines a load peak is registered. In this embodiment, the value of the higher-order equation is defined as a peak when the minimum value is 0 and the maximum value is 1, and the portion is 0.85 or more. That is, the determination value registered in the determination value 1361 is 0.85.

図8に示す移動スケジュールテーブル137は、仮想マシンの移動スケジュールを格納するテーブルである。具体的には、どの仮想マシンをどの物理マシンからどの物理マシンに何時に移動するか、また、移動にかかる時間は何分か、という情報が移動スケジュールとして定まる。そのために、移動スケジュールテーブル137には、仮想マシンの移動の開始時刻が登録される開始時刻1371、仮想マシンの移動時間が登録される移動時間1372、移動する仮想マシンを識別する機能を有する名称が登録される仮想マシン1373、仮想マシンの移動元である物理マシンを識別する機能を有する名称が登録される移動元物理マシン1374、仮想マシンの移動先である物理マシンを識別する機能を有する名称が登録される移動先物理マシン1375、といったフィールドが備えられている。   A migration schedule table 137 illustrated in FIG. 8 is a table that stores a migration schedule of a virtual machine. Specifically, information indicating which virtual machine is moved from which physical machine to which physical machine at what time and how long it takes to move is determined as a movement schedule. Therefore, in the movement schedule table 137, a start time 1371 at which the start time of the movement of the virtual machine is registered, a movement time 1372 at which the movement time of the virtual machine is registered, and a name having a function for identifying the moving virtual machine. A registered virtual machine 1373, a name having a function of identifying a physical machine that is a migration source of the virtual machine, a name of a migration source physical machine 1374 to be registered, and a name having a function of identifying a physical machine that is a migration destination of the virtual machine A field such as a migration destination physical machine 1375 to be registered is provided.

≪高次方程式の概要≫
図9から図11を参照して、高次方程式算出部104で算出する高次方程式の概要について説明する。具体的には、CPU使用率測定データテーブル131のデータから、CPU使用率における仮想マシンの高次方程式を算出する。さらに、仮想マシンの高次方程式から物理マシンの高次方程式を算出する。なお、CPU使用率に限らず、メモリ使用率やI/O使用率も下記と同様の手順で算出できる。
≪Overview of higher-order equations≫
With reference to FIG. 9 to FIG. 11, an outline of the higher order equation calculated by the higher order equation calculation unit 104 will be described. Specifically, a high-order equation of the virtual machine at the CPU usage rate is calculated from the data of the CPU usage rate measurement data table 131. Furthermore, the higher order equation of the physical machine is calculated from the higher order equation of the virtual machine. Not only the CPU usage rate but also the memory usage rate and the I / O usage rate can be calculated in the same procedure as described below.

図9は、CPU使用率の測定データであって物理マシンのスペックを考慮して補正したものをプロットしたグラフを図示したものである。仮想マシン122のCPU使用率の測定データは、CPU使用率測定データテーブル131に登録されるが、この登録されたデータに対して、係数表テーブル132の係数1323に登録された係数を用いて補正がなされる。その結果、その補正がなされた補正済のCPU使用率データのプロット201が、CPU使用率(%)の軸と、時刻tの軸からなるグラフ上になされる。   FIG. 9 shows a graph plotting measurement data of the CPU usage rate corrected by taking into account the specifications of the physical machine. The CPU usage rate measurement data of the virtual machine 122 is registered in the CPU usage rate measurement data table 131, and the registered data is corrected using the coefficient registered in the coefficient 1323 of the coefficient table table 132. Is made. As a result, the corrected CPU usage rate data plot 201 after the correction is made on a graph including the CPU usage rate (%) axis and the time t axis.

図10は、仮想マシンの高次方程式およびそのグラフを図示したものである。この高次方程式F(x)202は、補正済のCPU使用率データのプロット201を基に、例えば最小二乗法を用いて求められる。本実施形態では、この仮想マシンの最大CPU使用率は40%であり、高次方程式F(x)202で描かれる、仮想マシンの高次方程式のグラフ203は、6時の少し前と18時の少し後に最大となっている。また、この仮想マシンを安全に移動できるのはCPU使用率が15%(仮想マシン移動上限)以下になる23時から0時付近と12時前後である。   FIG. 10 illustrates a high-order equation of a virtual machine and its graph. The higher-order equation F (x) 202 is obtained by using, for example, the least square method based on the corrected CPU usage data plot 201. In this embodiment, the maximum CPU usage rate of this virtual machine is 40%, and the graph 203 of the high-order equation of the virtual machine drawn by the high-order equation F (x) 202 is a little before 6 o'clock and 18 o'clock. After a while, it becomes the maximum. Further, the virtual machine can be safely moved from 23 o'clock to around 0 o'clock and around 12 o'clock when the CPU usage rate is 15% (upper limit of virtual machine movement).

図11は、物理マシンの高次方程式およびその物理マシン上の仮想マシンの高次方程式およびそれらのグラフを図示したものである。太線が物理マシンの高次方程式のグラフ204、細線がこの物理マシン上の仮想マシンの高次方程式のグラフ203である。仮想マシンの高次方程式の和が物理マシンの高次方程式である。本実施形態では、この物理マシン上の仮想マシンの移動が必要になるのは、物理マシンのCPU使用率が85%(仮想マシン稼動上限)を超えた時であり、18時頃までに仮想マシンの移動が必要であることが示されている。また、この物理マシンから仮想マシンを安全に移動、またはこの物理マシンに仮想マシンを安全に移動できるのは、CPU使用率が65%(仮想マシン移動上限)以下になる23時から0時付近と12時前後である。   FIG. 11 illustrates a higher-order equation of a physical machine, a higher-order equation of a virtual machine on the physical machine, and a graph thereof. A thick line is a graph 204 of a high-order equation of a physical machine, and a thin line is a graph 203 of a high-order equation of a virtual machine on this physical machine. The sum of the higher order equations of the virtual machine is the higher order equation of the physical machine. In the present embodiment, the movement of the virtual machine on the physical machine is necessary when the CPU usage rate of the physical machine exceeds 85% (the upper limit of the virtual machine operation), and the virtual machine is moved by about 18:00. It has been shown that movement is necessary. Also, the virtual machine can be safely moved from this physical machine, or the virtual machine can be safely moved to this physical machine is from 23 o'clock to around 0 o'clock when the CPU usage rate is 65% or less (virtual machine movement upper limit). It is around 12:00.

高次方程式算出部104では、物理マシンごとのスペックを考慮し、CPU使用率測定データテーブル131の値を補正してから高次方程式を算出する。そのため、仮想化環境に多種多様の物理マシンがある場合でも、物理マシン間の性能差を気にすることなく高次方程式を活用できる。
また、仮想マシンの高次方程式から物理マシンの高次方程式を算出するため、物理マシンのCPU使用率を測定する機能を必要としない。ただ、物理マシンのCPU使用率を測定し、仮想マシンの高次方程式を用いることなく、物理マシンの高次方程式を直接算出するようにしても良い。
また、仮想マシンおよび物理マシンのCPU使用率のサイクルを高次方程式でCPU使用率の高次方程式テーブル133に保持するため、すべてを測定データのまま保持するよりも長期間のデータを保持できる。
The higher order equation calculation unit 104 calculates the higher order equation after correcting the values in the CPU usage rate measurement data table 131 in consideration of the specifications for each physical machine. Therefore, even when there are a wide variety of physical machines in a virtual environment, higher-order equations can be used without worrying about the difference in performance between physical machines.
Further, since the higher order equation of the physical machine is calculated from the higher order equation of the virtual machine, the function of measuring the CPU usage rate of the physical machine is not required. However, the CPU usage rate of the physical machine may be measured, and the higher order equation of the physical machine may be directly calculated without using the higher order equation of the virtual machine.
In addition, since the CPU usage cycle of the virtual machine and the physical machine is held in the high-order equation table 133 of the CPU usage rate as a high-order equation, it is possible to hold data for a longer period than when all the measurement data is held.

なお、図9に示した補正済のCPU使用率データのプロットや、図10、図11に示した、仮想マシンまたは物理マシンの高次方程式は、実際に測定されたCPU使用率から求めたものなので、過去のある期間、図9〜図11のグラフでは1日間、に亘ったCPU使用率である。しかし、本システムの運用状況は、1日の間で変化することはほとんどない、という現状を踏まえれば、これらのプロットや高次方程式は、将来のある期間、例えば1日間(曜日別の1日間も含む)、1週間、1ヶ月間に亘って実現し得るCPU使用率のサイクル(経時変化)を表しているといえる。   Note that the corrected CPU usage rate plots shown in FIG. 9 and the higher-order equations of the virtual machine or physical machine shown in FIGS. 10 and 11 are obtained from actually measured CPU usage rates. Therefore, the CPU usage rate over a certain period in the past, one day in the graphs of FIGS. However, given the current situation that the operational status of this system rarely changes during a day, these plots and higher-order equations are for a certain period in the future, for example one day (one day for each day of the week). It can be said that this represents a cycle (change with time) of the CPU usage rate that can be realized over one week and one month.

≪処理≫
図12は、仮想マシン移動システムにおける仮想化環境を最適化する処理の流れを示す図である。CPU113は仮想化環境を最適化するため、定期的に、リソース不足になる可能性がある物理マシンを検出し、必要に応じて仮想マシンの移動を検討および実施する。
以下に述べる動作は、管理サーバ100のメモリ(記憶部)101に格納されたプログラム(処理部)が記憶領域にロードされ、CPU(制御部)113により実行されることにより、管理サーバ100上に具現化される各処理部による実行とされるものである。また、各プログラムは予め記憶部(HDD130を含む)に格納されても良いし、他の記憶媒体または通信媒体(ネットワークまたはネットワークを伝搬する搬送波)を介して、必要なときに導入されても良い。
図12の処理は、定刻において、CPU113からの命令がなされたことにより開始する(ステップS301)。
<< Process >>
FIG. 12 is a diagram showing a flow of processing for optimizing the virtualization environment in the virtual machine migration system. In order to optimize the virtualization environment, the CPU 113 periodically detects physical machines that may run out of resources, and examines and implements migration of virtual machines as necessary.
The operation described below is performed on the management server 100 by loading a program (processing unit) stored in the memory (storage unit) 101 of the management server 100 into the storage area and executing it by the CPU (control unit) 113. The processing is executed by each embodied processing unit. Each program may be stored in advance in a storage unit (including the HDD 130), or may be introduced through other storage media or communication media (network or carrier wave propagating through the network) when necessary. .
The process in FIG. 12 starts when a command is issued from the CPU 113 at a fixed time (step S301).

まず、仮想/物理マシンの相関テーブル134にあるすべての物理マシンを、ループ処理を実行することにより調査する(ステップS302⇔ステップS310)。このループ処理を通じて、リソース不足になる可能性がある物理マシンを検出する。   First, all the physical machines in the virtual / physical machine correlation table 134 are examined by executing a loop process (step S302 to step S310). Through this loop process, physical machines that may run out of resources are detected.

次に、CPU使用率の高次方程式テーブル133から取得した仮想マシンの高次方程式を用いて、図11を参照して説明した手順により物理マシンの高次方程式を取得し、そしてマシンの各種閾値テーブル135の仮想マシン稼動上限1351から当該物理マシンの仮想マシン稼動上限を取得する(ステップS303)。   Next, using the high-order equation of the virtual machine acquired from the high-order equation table 133 of the CPU usage rate, the high-order equation of the physical machine is acquired by the procedure described with reference to FIG. The virtual machine operation upper limit of the physical machine is acquired from the virtual machine operation upper limit 1351 of the table 135 (step S303).

次に、閾値超え判定を実行し、取得した物理マシンの高次方程式が、取得した仮想マシン稼動上限として示される閾値を超えるか否かを判定する(ステップS105A)。閾値超え判定部105は、閾値超え判定による判定結果を出力する(ステップS304)。   Next, threshold value excess determination is executed, and it is determined whether or not the acquired higher-order equation of the physical machine exceeds the threshold value indicated as the acquired virtual machine operation upper limit (step S105A). The threshold value excess determination unit 105 outputs a determination result based on the threshold value excess determination (step S304).

前記判定結果が、物理マシンの高次方程式が仮想マシン稼動上限として示される閾値を超えるものでない場合(ステップS304でNo(超えない))、この物理マシンはリソース不足になる可能性はないものと判断し、この物理マシンに対する処理を終了し(ステップS310)、他の物理マシンについてループ処理(ステップS302⇔ステップS310)を行う。すべての物理マシンについて行っていれば、ステップS112Aに進む。一方、物理マシンの高次方程式が仮想マシン稼動上限として示さされる閾値を超えるものである場合(ステップS304でYes(超える))、この物理マシンはリソース不足になる可能性があるものと判断し、ステップS108Aに進む。   If the determination result does not exceed the threshold indicated by the higher-order equation of the physical machine as the virtual machine operation upper limit (No (not exceeded) in step S304), the physical machine is not likely to run out of resources. The process for this physical machine is terminated (step S310), and loop processing (step S302 to step S310) is performed for other physical machines. If it is performed for all physical machines, the process proceeds to step S112A. On the other hand, if the higher order equation of the physical machine exceeds the threshold indicated as the virtual machine operation upper limit (Yes in step S304), it is determined that this physical machine may run out of resources. The process proceeds to step S108A.

リソース不足になる可能性があると判断された物理マシンについては、移動仮想マシン候補選出部108による移動仮想マシン候補選出が実行される(ステップS108A)。次に、移動仮想マシン候補選出により選出したすべての仮想マシンを、ループ処理を実行することにより調査する(ステップS305⇔ステップS309)。このループ処理を通じて、移動する仮想マシンを検出する。   For a physical machine that has been determined to have a resource shortage, moving virtual machine candidate selection by the moving virtual machine candidate selection unit 108 is executed (step S108A). Next, all virtual machines selected by selecting the moving virtual machine candidate are examined by executing a loop process (step S305 to step S309). Through this loop process, the moving virtual machine is detected.

次に、移動先物理マシン候補選出を実行し、移動先物理マシン候補が見つかるか否かを判定する(ステップS109A)。移動先物理マシン候補選出部109は、移動先物理マシン候補選出による判定結果を出力する(ステップS307)。   Next, migration destination physical machine candidate selection is executed to determine whether or not a migration destination physical machine candidate is found (step S109A). The migration destination physical machine candidate selection unit 109 outputs a determination result based on the migration destination physical machine candidate selection (step S307).

前記判定結果が、移動先物理マシン候補が見つからなかったとするものである場合(ステップS307で「失敗」)、その仮想マシンの移動をキャンセルするために移動スケジュールテーブル137における該当箇所(レコード)を削除し(ステップS306)、ステップS109Aに戻り、他の移動先物理マシン候補を探す。なお、移動先物理マシン候補が1つもなかった場合には、当該仮想マシンについては、仮想マシンの移動は不可と判断し、仮想化環境を最適化の処理は失敗したものとして終了する。
一方、前記判定結果が、移動先物理マシン候補が見つかったとするものである場合(ステップS307で「成功」)、移動先物理マシン候補の選出に成功したと判断し、ステップS111Aに進む。
If the determination result is that no migration destination physical machine candidate was found (“failure” in step S307), the corresponding part (record) in the migration schedule table 137 is deleted to cancel the migration of the virtual machine. (Step S306), the process returns to Step S109A to search for another destination physical machine candidate. If there is no migration destination physical machine candidate, it is determined that the virtual machine cannot be moved for the virtual machine, and the process of optimizing the virtualization environment is terminated.
On the other hand, if the determination result is that the migration destination physical machine candidate is found (“success” in step S307), it is determined that the migration destination physical machine candidate has been successfully selected, and the process proceeds to step S111A.

移動先物理マシン候補の選出に成功した仮想マシンについては、スケジュール調整を実行し、対象とする仮想マシンが移動先物理マシン候補に移動するスケジュールの調整が可能か否かを判定する(ステップS111A)。スケジュールの調整部111は、スケジュール調整による判定結果を出力する(ステップS308)。   For a virtual machine that has successfully selected a destination physical machine candidate, schedule adjustment is executed to determine whether adjustment of the schedule for moving the target virtual machine to the destination physical machine candidate is possible (step S111A). . The schedule adjustment unit 111 outputs a determination result by schedule adjustment (step S308).

前記判定結果が、スケジュールの調整が不可能とするものである場合(ステップS308で「失敗」)、たとえば他のスケジュールと時間が重なった場合、その仮想マシンの移動をキャンセルするために移動スケジュールテーブル137における該当箇所(レコード)を削除し(ステップS306)、ステップS109Aに戻り、他の移動先物理マシン候補を探す。なお、移動先物理マシン候補が1つもなかった場合には、当該仮想マシンについては、仮想マシンの移動は不可と判断し、仮想化環境を最適化の処理は失敗したものとして終了する。
一方、前記判定結果が、スケジュールの調整が可能とするものである場合(ステップS308で「成功」)、スケジュールの調整に成功したと判断し、当該レコードは移動スケジュールテーブル137に残り、この仮想マシンに対する処理を終了し(ステップS309)、他の選出した仮想マシンについてループ処理(ステップS305⇔ステップS309)を行う。すべての選出した仮想マシンについて行っていれば、ステップS310に進む。これにより、どの仮想マシンをどの物理マシンからどの物理マシンに何時に移動するか、移動スケジュールテーブル137に登録される。
If the determination result indicates that the schedule cannot be adjusted (“failure” in step S308), for example, if the time overlaps with another schedule, the movement schedule table is used to cancel the movement of the virtual machine. The corresponding part (record) in 137 is deleted (step S306), and the process returns to step S109A to search for another destination physical machine candidate. If there is no migration destination physical machine candidate, it is determined that the virtual machine cannot be moved for the virtual machine, and the process of optimizing the virtualization environment is terminated.
On the other hand, if the determination result indicates that the schedule can be adjusted (“success” in step S308), it is determined that the schedule has been adjusted successfully, and the record remains in the movement schedule table 137, and this virtual machine Is finished (step S309), and loop processing (step S305 to step S309) is performed for the other selected virtual machines. If it is performed for all the selected virtual machines, the process proceeds to step S310. As a result, which virtual machine is moved from which physical machine to which physical machine at what time is registered in the movement schedule table 137.

次に、調整が成功したスケジュールに従って、仮想マシンの移動を実行する(ステップS313)。この実行は、移動実行部112によってなされる。   Next, the migration of the virtual machine is executed according to the schedule in which the adjustment is successful (step S313). This execution is performed by the movement execution unit 112.

最後に、仮想マシンの移動が完了すれば、移動スケジュールテーブル137における該当箇所(レコード)を削除し(ステップS311)、仮想化環境を最適化の処理は成功したものとして終了する(ステップS312)。   Finally, when the movement of the virtual machine is completed, the corresponding part (record) in the movement schedule table 137 is deleted (step S311), and the process of optimizing the virtualization environment is completed (step S312).

本処理により、定期的に仮想化環境を最適化するため、オンデマンドな仮想マシンの移動で仮想化環境の最適化が崩れたとしても、一定期間後に再度最適化でき、中長期的に見ても安定した仮想化環境を実現できる。   Because this process periodically optimizes the virtualization environment, even if the optimization of the virtualization environment breaks down due to on-demand movement of virtual machines, it can be optimized again after a certain period of time, Can realize a stable virtualization environment.

図13から図18は、図12の流れをさらに詳細化したものであり、図1に示す各処理部(105、106、108、109、111)の流れ(図12のステップS105A、ステップS108A、ステップS109A、ステップS111Aおよび図15のステップS106A参照)である。   FIG. 13 to FIG. 18 show the flow of FIG. 12 in further detail, and the flow of each processing unit (105, 106, 108, 109, 111) shown in FIG. 1 (step S105A, step S108A, FIG. Step S109A, Step S111A, and Step S106A in FIG. 15).

図13は、閾値超え判定(ステップS105A)の詳細な流れを示す図である。具体的には、CPU使用率の高次方程式テーブル133のデータから算出した物理マシンの高次方程式(以下、図13の説明において、単に、「高次方程式」と称する)が、マシンの各種閾値テーブル135から取得した閾値(つまり、仮想マシン稼動上限)を超えるかどうかを判定する。なお、高次方程式と閾値はあらかじめ与えられており、それらを取得した時点で本処理が開始する(ステップS401)。   FIG. 13 is a diagram showing a detailed flow of the threshold value excess determination (step S105A). Specifically, a physical machine high-order equation (hereinafter simply referred to as “high-order equation” in the description of FIG. 13) calculated from the data of the high-order equation table 133 of the CPU usage rate represents various threshold values of the machine. It is determined whether or not the threshold (that is, the virtual machine operation upper limit) acquired from the table 135 is exceeded. Note that the higher-order equation and the threshold value are given in advance, and this processing starts when they are acquired (step S401).

与えられた閾値は物理マシン120のスペックに依存している。そこで閾値を補正するため、係数表テーブル132の係数1323に登録された値(つまり、係数)をかけて新閾値とする(ステップS402)。   The given threshold value depends on the specifications of the physical machine 120. Therefore, in order to correct the threshold value, the value (that is, the coefficient) registered in the coefficient 1323 of the coefficient table table 132 is multiplied to obtain a new threshold value (step S402).

次に、F(x)=[新閾値]のグラフと、G(x)=[高次方程式]のグラフをそれぞれ設定し、両者が交わるか否かを判定する(ステップS403)。両者が交われば(ステップS403でYes)、高次方程式は閾値を超えると判定し(ステップS404)、本処理を終了する(ステップS406)。一方、両者が交わらなければ(ステップS403でNo)、高次方程式は閾値を超えないと判定し(ステップS405)、本処理を終了する(ステップS406)。   Next, a graph of F (x) = [new threshold value] and a graph of G (x) = [higher order equation] are set, respectively, and it is determined whether or not they intersect (step S403). If both intersect (Yes in step S403), it is determined that the higher-order equation exceeds the threshold (step S404), and the present process is terminated (step S406). On the other hand, if the two do not intersect (No in step S403), it is determined that the higher-order equation does not exceed the threshold (step S405), and the present process is terminated (step S406).

このように閾値超え判定部105では、物理マシンごとのスペックを考慮し、閾値を補正しているため、高次方程式と閾値を適切に比較することができる。   As described above, since the threshold value excess determining unit 105 corrects the threshold value in consideration of the specifications for each physical machine, the higher-order equation and the threshold value can be appropriately compared.

ここで、後記の説明のために、仮想化環境を最適化に重大な影響を及ぼす負荷のピークの重複に関する概要を説明しておく。負荷のピークの重複とは、複数の仮想マシンまたは物理マシンの高次方程式が有するCPU使用率の極大付近が重複することを意味する。
図14は、2つの高次方程式のピークの個所が重複するかどうかの判定であるピーク重複判定の概要を説明する図である。
Here, for the following explanation, an outline of overlapping load peaks that have a significant effect on optimization of a virtual environment will be described. The overlap of load peaks means that the vicinity of the maximum of the CPU usage rate that the higher-order equations of a plurality of virtual machines or physical machines have overlap.
FIG. 14 is a diagram for explaining the outline of peak overlap determination, which is determination of whether or not the peak portions of two higher-order equations overlap.

ピーク重複判定の対象となる2つの高次方程式は、その最大値と最小値が異なる可能性がある(511、512参照)。そこで各高次方程式の最大値と最小値がそれぞれ0.5と0になるように、高次方程式を補正する(513、514参照)。G(x)=[補正後の2つの高次方程式の和]とすると、G(x)の最大値と最小値はそれぞれ1と0になる(515、516の太線)。G(x)がピークの判定値を超えなければピークは重複しないと判定し(515参照)、ピークの判定値を超えればピークが重複すると判定する(516参照)。ピークの判定値は、ピーク判定値テーブル136に登録された値であり、ピーク重複判定は、ピーク重複判定部106が実行する。   There is a possibility that the maximum value and the minimum value of two higher-order equations to be subjected to peak overlap determination are different (see 511 and 512). Therefore, the higher order equations are corrected so that the maximum value and the minimum value of each higher order equation are 0.5 and 0, respectively (see 513 and 514). If G (x) = [sum of two higher-order equations after correction], the maximum and minimum values of G (x) are 1 and 0 (bold lines 515 and 516), respectively. If G (x) does not exceed the peak determination value, it is determined that the peaks do not overlap (see 515), and if it exceeds the peak determination value, it is determined that the peaks overlap (see 516). The peak determination value is a value registered in the peak determination value table 136, and the peak overlap determination unit 106 executes the peak overlap determination.

図15は、図14を実現するピーク重複判定の詳細な流れを示す図である。具体的には、CPU使用率の高次方程式テーブル133から取得した2つの高次方程式(物理マシンの高次方程式でも良いし、または、仮想マシンの高次方程式でも良い。)のそれぞれのピークの個所が重複するか否かを判定する。なお、ピークの重複を分析する2つの高次方程式は、あらかじめ与えられており、それらを取得した時点で本処理が開始する(ステップS501)。   FIG. 15 is a diagram showing a detailed flow of peak overlap determination for realizing FIG. Specifically, the peaks of two high-order equations (a high-order equation of a physical machine or a high-order equation of a virtual machine) acquired from the high-order equation table 133 of the CPU usage rate may be used. It is determined whether or not the locations overlap. Note that two higher-order equations for analyzing peak overlap are given in advance, and this processing starts when they are acquired (step S501).

まず、各高次方程式のピークの箇所を明確にするため、各高次方程式を補正する(ステップS502)。具体的には、F(x)=[高次方程式]が0≦F(x)≦0.5になるように補正(例えば、スケール変換の補正)する。なお、このときのxの定義域は日単位、週単位などによって決まる。より具体的には、例えば日付1331に登録された値からなる単位で決まる。なお、前記補正を行った高次方程式を補正済高次方程式と称する。   First, in order to clarify the location of the peak of each higher order equation, each higher order equation is corrected (step S502). Specifically, correction (for example, correction of scale conversion) is performed so that F (x) = [higher order equation] becomes 0 ≦ F (x) ≦ 0.5. Note that the domain of x at this time is determined by the daily unit, the week unit, or the like. More specifically, for example, it is determined in units of values registered on the date 1331. The higher-order equation that has been corrected is referred to as a corrected higher-order equation.

ここで、G(x)を、G(x)=[2つの補正済高次方程式の和]とする(ステップS503)。続いて、ピーク判定値テーブル136からピークの判定値を取得し(ステップS504)、閾値超え判定をおこなう(ステップS105A)。閾値超え判定部105は、閾値超え判定による判定結果を出力する(ステップS505)。なお、この閾値超え判定は、図13に示したものに準ずる。   Here, G (x) is set to G (x) = [sum of two corrected higher order equations] (step S503). Subsequently, a peak determination value is acquired from the peak determination value table 136 (step S504), and a threshold value excess determination is performed (step S105A). The threshold excess determination unit 105 outputs a determination result based on the threshold excess determination (step S505). This determination of exceeding the threshold is in accordance with that shown in FIG.

前記判定結果が閾値である判定値を超えているものであれば(ステップS505でYes)、ピークが重なると判定し(ステップS506)、本処理を終了する(ステップS508)。一方、前記判定結果が閾値である判定値を超えているものでなければ(ステップS505でNo)、ピークが重ならないと判定し(ステップS507)、本処理を終了する(ステップS508)。   If the determination result exceeds the determination value that is a threshold value (Yes in step S505), it is determined that the peaks overlap (step S506), and the process ends (step S508). On the other hand, if the determination result does not exceed the determination value which is a threshold value (No in step S505), it is determined that the peaks do not overlap (step S507), and this process is terminated (step S508).

このようにピーク重複判定部106では、比較する高次方程式を補正するため、最大値が異なる2つの高次方程式でも、ピークの重複を適切に判定することができる。   As described above, the peak overlap determination unit 106 corrects the higher-order equations to be compared, so that it is possible to appropriately determine the overlap of peaks even in two higher-order equations having different maximum values.

図16は、移動仮想マシン候補選出(ステップS108A)の詳細な流れを示す図である。具体的には、リソース不足が懸念される物理マシンから、どの仮想マシンを移動すれば良いかを選出する。その際、物理マシンとピークが重複する仮想マシンを優先的に選出する。なお、リソース不足が懸念される物理マシンはあらかじめ与えられており、それを取得した時点で本処理が開始する(ステップS601)。   FIG. 16 is a diagram showing a detailed flow of moving virtual machine candidate selection (step S108A). Specifically, it selects which virtual machine should be moved from physical machines that are concerned about resource shortage. At that time, a virtual machine whose peak overlaps with the physical machine is preferentially selected. Note that a physical machine in which resource shortage is a concern is given in advance, and this processing starts when it is acquired (step S601).

まず、与えられた物理マシンが有する仮想マシンの情報を取得するため、仮想/物理マシンの相関テーブル134を参照し、その物理マシン上の仮想マシン一覧と、CPU使用率の高次方程式テーブル133を参照し、当該物理マシンおよび各仮想マシンの高次方程式と、いずれかの仮想マシンを移動した後も、まだ物理マシンのリソースが不足するかどうかを確認するため、マシンの各種閾値テーブル135を参照し、仮想マシン稼動上限1351に登録された値、つまり仮想マシン稼動上限と、をそれぞれ取得する(ステップS602)。   First, in order to acquire information on a virtual machine included in a given physical machine, the virtual / physical machine correlation table 134 is referred to, and a list of virtual machines on the physical machine and a high-order equation table 133 of the CPU usage rate are obtained. Refer to the various threshold tables 135 of the machine to check whether the physical machine resource is still insufficient after moving the virtual machine and any higher-order equations of the physical machine and each virtual machine. Then, the value registered in the virtual machine operation upper limit 1351, that is, the virtual machine operation upper limit is obtained (step S602).

次に、前記仮想マシン一覧として取得したすべての仮想マシンを、ループ処理を実行することにより調査する(ステップS603⇔ステップS606)。このループ処理を通じて、移動できる可能性がある仮想マシンを検出する。   Next, all virtual machines acquired as the virtual machine list are examined by executing a loop process (step S603 to step S606). Through this loop process, virtual machines that may be able to move are detected.

移動する仮想マシンは、物理マシン(移動元物理マシン)とピークが重複するものが望ましい。そこで、取得したすべての仮想マシンについて、物理マシンとピークが重複するかどうかピーク重複判定をする(ステップS106A)。ピーク重複判定部106は、ピーク重複判定による判定結果を出力する(ステップS604)。   The virtual machine to be moved preferably has a physical machine (source physical machine) whose peak overlaps. Therefore, for all the acquired virtual machines, it is determined whether or not the peaks overlap with the physical machines (step S106A). The peak overlap determination unit 106 outputs a determination result based on peak overlap determination (step S604).

前記判定結果が、対象とする仮想マシンが物理マシンとピークが重複するものである場合(ステップS604でYes)、当該仮想マシンについて仮想/物理マシンの相関テーブル134の仮想マシン用フラグ1344にフラグを立てる(ステップS605)。一方、前記判定結果が、対象とする仮想マシンが物理マシンとピークが重複するものでない場合(ステップS604でNo)、特に仮想マシン用フラグ1344を立てることはない。そして、他の仮想マシンについてピーク重複判定を行っていなければそれを行う。すべての仮想マシンについて行っていれば、ステップS607に進む。   When the determination result indicates that the target virtual machine has a peak that overlaps with the physical machine (Yes in step S604), a flag is set in the virtual machine flag 1344 of the virtual / physical machine correlation table 134 for the virtual machine. Stand up (step S605). On the other hand, when the determination result indicates that the target virtual machine does not overlap with the physical machine (No in step S604), the virtual machine flag 1344 is not set. And if the peak duplication determination is not performed about another virtual machine, it will be performed. If it is performed for all virtual machines, the process proceeds to step S607.

次に、前記ピーク重複判定が済んだすべての仮想マシンを、ループ処理を実行することにより調査する(ステップS607⇔ステップS611)。このループ処理を通じて、移動できる可能性がある仮想マシンを検出する。ただし、フラグが立っている仮想マシンから優先的にループ処理を行う。   Next, all virtual machines for which the peak overlap determination has been completed are examined by executing a loop process (step S607 to step S611). Through this loop process, virtual machines that may be able to move are detected. However, the loop processing is preferentially performed from the virtual machine with the flag set.

まず、対象とする仮想マシンを、移動仮想マシン候補とし、移動スケジュールテーブル137に仮想マシン(つまり、自分自身)を仮想マシン1373に、移動元物理マシン(つまり、当該仮想マシンが現時点で存在する物理マシン)を移動元物理マシン1374に登録する(ステップS608)。   First, the target virtual machine is set as a movement virtual machine candidate, the virtual machine (that is, itself) is stored in the movement schedule table 137, and the source physical machine (that is, the physical in which the virtual machine currently exists). Machine) is registered in the migration source physical machine 1374 (step S608).

次に、登録した仮想マシンについて、G(x)=[物理マシンの高次方程式]−[追加した仮想マシンの高次方程式]となるG(x)を求める(ステップS609)。   Next, for the registered virtual machine, G (x) that satisfies G (x) = [higher order equation of physical machine] − [higher order equation of added virtual machine] is obtained (step S609).

次に、G(x)が、マシンの各種閾値テーブル135の仮想マシン稼動上限1352から取得した仮想マシン稼動上限(閾値)を超えているか判定する(ステップS105A)。閾値超え判定部105は、閾値超え判定による判定結果を出力する(ステップS610)。なお、この閾値超え判定は、図13に示したものに準ずる(F(x)は仮想マシン稼動上限を物理マシンのスペックに応じて補正した新閾値)。   Next, it is determined whether G (x) exceeds the virtual machine operation upper limit (threshold value) acquired from the virtual machine operation upper limit 1352 of the various threshold values table 135 of the machine (step S105A). The threshold value excess determination unit 105 outputs a determination result based on the threshold value excess determination (step S610). The determination of exceeding the threshold is based on the one shown in FIG. 13 (F (x) is a new threshold obtained by correcting the virtual machine operating upper limit according to the specifications of the physical machine).

前記判定結果が、閾値である仮想マシン稼動上限を超えるものである場合(ステップS610でYes)、他の仮想マシンについてステップS608からステップS105Aの処理を繰り返す。これにより、G(x)の最大値は次第に小さくなっていき、基本的には、閾値以下になるまで繰り返される。   If the determination result exceeds the virtual machine operation upper limit that is the threshold value (Yes in step S610), the processing from step S608 to step S105A is repeated for the other virtual machines. As a result, the maximum value of G (x) gradually decreases, and is basically repeated until the value becomes equal to or less than the threshold value.

前記判定結果が、閾値である仮想マシン稼動上限を超えるものでない場合(ステップS610でNo)、本処理を終了する(ステップS612)。結果的には、閾値を超えていた間にループ処理された仮想マシンが移動仮想マシン候補として選出される。   If the determination result does not exceed the virtual machine operation upper limit that is the threshold value (No in step S610), the process ends (step S612). As a result, a virtual machine that is loop-processed while exceeding the threshold is selected as a moving virtual machine candidate.

このように移動仮想マシン候補選出部108では、物理マシンとピークが重複する仮想マシンから優先的に移動していくため、効率的に物理マシンのピークの最大値を低減できる。また、これにより、物理マシンの時間的な負荷の偏りが軽減できる。   In this way, the moving virtual machine candidate selection unit 108 moves preferentially from virtual machines whose peaks overlap with those of the physical machine, and thus can efficiently reduce the maximum value of the physical machine peak. This can also reduce the time load bias of the physical machine.

本実施形態では、物理マシンとピークが重複する仮想マシンを、優先的に移動する仮想マシンとしているが、ピークが最も遅く来る仮想マシンを優先的に移動する仮想マシンとする等、他の方法で優先順位を付けても良い。   In this embodiment, the virtual machine whose peak overlaps with the physical machine is a virtual machine that moves preferentially, but the virtual machine with the slowest peak is a virtual machine that moves preferentially. Priorities may be given.

図17は、移動先物理マシン候補選出(ステップS109A)の詳細な流れを示す図である。具体的には、移動仮想マシン候補選出部108で選出され、移動スケジュールテーブル137に登録されている各仮想マシンを移動する先の物理マシン(移動先物理マシン)を選出する。その際、仮想マシンとピークが重複しない物理マシンを優先的に選出する。なお、移動スケジュールテーブル137から、移動する仮想マシン(移動仮想マシン)、移動元物理マシンはあらかじめ取得しており、それらを取得した時点で本処理が開始する(ステップS701)。   FIG. 17 is a diagram showing a detailed flow of selecting a migration destination physical machine candidate (step S109A). Specifically, a physical machine (move destination physical machine) selected by the migration virtual machine candidate selection unit 108 and to which each virtual machine registered in the migration schedule table 137 is selected is selected. At that time, a physical machine whose peak does not overlap with the virtual machine is preferentially selected. Note that the virtual machine to be moved (moving virtual machine) and the migration source physical machine have been acquired in advance from the migration schedule table 137, and this processing starts when these are acquired (step S701).

まず、物理マシンの情報を取得するため、仮想/物理マシンの相関テーブル134を参照し、物理マシン一覧と、CPU使用率の高次方程式テーブル133を参照し、移動仮想マシンと各物理マシンの高次方程式と、移動仮想マシンを移動した結果、リソース不足にならないことを事前に確認するため、マシンの各種閾値テーブル135を参照し、仮想マシン稼動上限1351に登録された値、つまり各物理マシンの仮想マシン稼動上限とを、それぞれ取得する(ステップS702)。   First, in order to acquire physical machine information, the virtual / physical machine correlation table 134 is referred to, the physical machine list and the high-order equation table 133 of the CPU usage rate are referred to, and the high level of the moving virtual machine and each physical machine is referred to. In order to confirm in advance that there will be no resource shortage as a result of moving the following virtual equation and the moving virtual machine, refer to the various threshold table 135 of the machine, the value registered in the virtual machine operating upper limit 1351, that is, each physical machine The virtual machine operation upper limit is acquired (step S702).

次に、前記物理マシン一覧として取得した、移動元物理マシン以外のすべての物理マシンを、ループ処理を実行することにより調査する(ステップS703⇔ステップS707)。このループ処理を通じて、移動先となる可能性がある物理マシンを検出する。   Next, all physical machines other than the migration source physical machine acquired as the physical machine list are examined by executing a loop process (steps S703 to S707). Through this loop process, a physical machine that may be a destination is detected.

移動先物理マシンは、移動仮想マシンの移動後もリソースが不足しない物理マシンを選出するものとする。具体的には、まず、対象とする物理マシンにおいて、G(x)=[物理マシンの高次方程式]+[移動仮想マシンの高次方程式]となるG(x)を求める(ステップS704)。   As the migration destination physical machine, a physical machine that does not have insufficient resources even after the migration of the migration virtual machine is selected. Specifically, first, G (x) that satisfies G (x) = [higher order equation of physical machine] + [higher order equation of moving virtual machine] is obtained in the target physical machine (step S704).

次に、G(x)が、マシンの各種閾値テーブル135の仮想マシン稼動上限1351から取得した仮想マシン稼動上限(閾値)を超えるかどうかを判定する(ステップS105A)。閾値超え判定部105は、閾値超え判定による判定結果を出力する(ステップS705)。なお、この閾値超え判定は、図13に示したものに準ずる(F(x)は仮想マシン稼動上限を、対象とする物理マシンのスペックに応じて補正した新閾値)。   Next, it is determined whether or not G (x) exceeds the virtual machine operation upper limit (threshold value) acquired from the virtual machine operation upper limit 1351 of the various threshold table 135 of the machine (step S105A). The threshold value excess determination unit 105 outputs a determination result based on the threshold value excess determination (step S705). Note that this determination of exceeding the threshold is in accordance with that shown in FIG. 13 (F (x) is a new threshold obtained by correcting the virtual machine operation upper limit according to the specifications of the target physical machine).

前記判定結果が、閾値である仮想マシン稼動上限を超えないものである場合(ステップS705でNo)、当該物理マシンは移動先物理マシンの候補とし、仮想/物理マシンの相関テーブル134の当該物理マシン用フラグ1342にフラグを立てる(ステップS706)。一方、前記判定結果が、閾値である仮想マシン稼動上限を超えるものである場合(ステップS705でYes)、特に物理マシン用フラグ1342を立てることはない。そして、他の物理マシンについて閾値超え判定を行っていなければそれを行う。移動先物理マシン以外のすべての物理マシンについて行っていれば。ステップS708に進む。   If the determination result does not exceed the virtual machine operation upper limit that is the threshold (No in step S705), the physical machine is a candidate for the destination physical machine, and the physical machine in the virtual / physical machine correlation table 134 A flag is set in the use flag 1342 (step S706). On the other hand, if the determination result exceeds the upper limit of the virtual machine operation, which is a threshold (Yes in step S705), the physical machine flag 1342 is not set. Then, if it is not judged that the threshold is exceeded for other physical machines, it is done. If it is done for all physical machines other than the destination physical machine. The process proceeds to step S708.

次に、すべての物理マシンにおいて、仮想マシン移動後のリソース不足を確認後、仮想/物理マシンの相関テーブル134の物理マシン用フラグ1342においてフラグが1つでも立っているか否か判定する(ステップS708)。フラグが1つも立っていなければ(ステップS708でNo)、適切な移動先の物理マシンがないため、移動先物理マシンの選出に失敗したと判定し(ステップS715)、本処理を終了する(ステップS716)。   Next, in all the physical machines, after confirming the resource shortage after moving the virtual machine, it is determined whether at least one flag is set in the physical machine flag 1342 of the virtual / physical machine correlation table 134 (step S708). ). If no flag is set (No in step S708), it is determined that the selection of the migration destination physical machine has failed because there is no appropriate migration destination physical machine (step S715), and this process ends (step S715). S716).

一方、仮想/物理マシンの相関テーブル134の物理マシンのフラグ1342にフラグが1つでも立っていれば(ステップS708でYes)、その中から適切な移動先物理マシンを選出すべく、ステップS709に進む。   On the other hand, if at least one flag is set in the physical machine flag 1342 of the virtual / physical machine correlation table 134 (Yes in step S708), the flow advances to step S709 to select an appropriate destination physical machine. move on.

次に、フラグが立っている物理マシンを、ループ処理を実行することにより調査する(ステップS709⇔ステップS711)。このループ処理を通じて、適切な移動先物理マシンを検出する。ただし、高次方程式G(x)=[物理マシンの高次方程式]+[移動仮想マシンの高次方程式]の最大値が小さい物理マシンから優先的にループ処理を行う。   Next, the physical machine with the flag set is checked by executing a loop process (step S709 to step S711). Through this loop process, an appropriate destination physical machine is detected. However, the loop processing is preferentially performed from a physical machine having a small maximum value of the high-order equation G (x) = [high-order equation of physical machine] + [high-order equation of moving virtual machine].

次に、対象とするすべての物理マシンについて、移動仮想マシンとピークが重複するかどうかピーク重複判定をする(ステップS106A)。ピーク重複判定部106は、ピーク重複判定による判定結果を出力する(ステップS710)。   Next, a peak overlap determination is made as to whether or not the peak of the moving virtual machine overlaps for all target physical machines (step S106A). The peak overlap determination unit 106 outputs a determination result based on peak overlap determination (step S710).

前記判定結果が、対象とする物理マシンが移動仮想マシンとピークが重複するものである場合(ステップS710でYes)、G(x)=[物理マシンの高次方程式]+[移動仮想マシンの高次方程式]の最大値、つまりCPU負荷が一番小さい物理マシンを移動先物理マシンとして選出し(ステップS712)、ステップS713に進む。
一方、前記判定の判定結果が、対象とする物理マシンが移動仮想マシンとピークが重複しないものである場合は(ステップS710でNo)、そのままステップS713に進む。
When the determination result is that the target physical machine has a peak that overlaps with the moving virtual machine (Yes in step S710), G (x) = [higher order equation of the physical machine] + [high of the moving virtual machine] The maximum value of the following equation], that is, the physical machine with the smallest CPU load is selected as the destination physical machine (step S712), and the process proceeds to step S713.
On the other hand, if the determination result of the determination is that the target physical machine does not overlap with the moving virtual machine (No in step S710), the process directly proceeds to step S713.

次に、ピークが重複する物理マシンのうちCPU負荷が最も小さい物理マシン、またはピークが重複しない物理マシンを、移動先物理マシンとして決定し、決定した移動先物理マシンを移動スケジュールテーブル137の移動先物理マシン1375に登録し(ステップS713)、適切な移動先の物理マシンがあったため、移動先物理マシン候補の選出が成功したと判定し(ステップS714)、本処理を終了する(ステップS716)。   Next, of the physical machines with overlapping peaks, the physical machine with the smallest CPU load or the physical machine with no overlapping peaks is determined as the movement destination physical machine, and the determined movement destination physical machine is moved to the movement schedule table 137. It is registered in the physical machine 1375 (step S713), and since there is an appropriate destination physical machine, it is determined that the destination physical machine candidate has been successfully selected (step S714), and this processing is terminated (step S716).

このように移動先物理マシン候補選出部109では、仮想マシンとピークが重複しない物理マシンを優先的に移動先物理マシン候補とするため、物理マシンの時間的な負荷の偏りが軽減できる。また、ピークが重複しない物理マシンがなかったとしても、リソース使用率の最大値が最も小さい物理マシンを移動先物理マシン候補とするため、マシンごとの負荷の偏りが軽減できる。   In this way, the migration destination physical machine candidate selection unit 109 preferentially selects a physical machine whose peak does not overlap with the virtual machine as a migration destination physical machine candidate, thereby reducing the time load bias of the physical machine. Even if there are no physical machines whose peaks do not overlap, the physical machine having the smallest resource usage rate is set as the migration destination physical machine candidate, so that the load unevenness of each machine can be reduced.

本実施形態では、仮想マシンと物理マシンのピークが重複しないことを最優先事項としているが、リソース使用率が小さいこと等、他の条件を最優先事項としても良い。   In this embodiment, the highest priority is that the peaks of the virtual machine and physical machine do not overlap, but other conditions such as a low resource usage rate may be set as the highest priority.

図18は、スケジュール調整(ステップS111A)の詳細な流れを示す図である。具体的には、移動スケジュールテーブル137に新しく登録された移動スケジュールについて、他の移動スケジュールとかぶらないように、新しい移動スケジュールを組む。この際、移動に関係する仮想マシンおよび物理マシンのCPU使用率が低い時間帯を選んで、移動スケジュールを組む。なお、移動スケジュールテーブル137から、移動仮想マシン、移動元物理マシン、移動先物理マシンはあらかじめ取得しているおり、それらを取得した時点で本処理が開始する(ステップS801)。   FIG. 18 is a diagram showing a detailed flow of schedule adjustment (step S111A). Specifically, a new movement schedule is created so that the movement schedule newly registered in the movement schedule table 137 does not interfere with other movement schedules. At this time, a time schedule in which the CPU usage rate of the virtual machine and the physical machine related to the movement is low is selected and a movement schedule is set. Note that the migration virtual machine, the migration source physical machine, and the migration destination physical machine have been acquired in advance from the migration schedule table 137, and this processing starts when these are acquired (step S801).

まず、仮想マシン移動できる時間を算出するため、CPU使用率の高次方程式テーブル133を参照し、移動仮想マシン、移動元物理マシン、移動先物理マシンの高次方程式を取得し、マシンの各種閾値テーブル135を参照し、移動仮想マシン、移動元物理マシン、移動先物理マシンの仮想マシン移動上限1352に登録された値、つまり仮想マシン移動上限と、仮想マシンの移動にかかる時間を算出するため、物理マシン120から仮想マシン122のファイルサイズ(容量)を取得する(ステップS802)。   First, in order to calculate the time during which the virtual machine can be moved, the CPU usage rate higher-order equation table 133 is referred to, and higher-order equations of the moving virtual machine, the source physical machine, and the destination physical machine are obtained, and various threshold values of the machine are obtained. In order to calculate the values registered in the virtual machine movement upper limit 1352 of the migration virtual machine, the migration source physical machine, and the migration destination physical machine with reference to the table 135, that is, the virtual machine migration upper limit and the time required for the migration of the virtual machine, The file size (capacity) of the virtual machine 122 is acquired from the physical machine 120 (step S802).

次に、移動仮想マシン、移動元物理マシン、移動先物理マシンにおいて、仮想マシンを安全に移動可能な時間帯、つまり、各高次方程式が各仮想マシン移動上限を下回る時間帯であるか否か判定する。このとき、それらが同じ時間帯であるかも含めて判定する(ステップS803)。各高次方程式が同じ時間帯に各仮想マシン移動上限を下回らない場合(ステップS803でNo)、仮想マシンを安全に移動できる時間帯がないものとして、スケジュール調整が失敗したと判定し(ステップS811)、本処理を終了する(ステップS812)。   Next, in the virtual machine, source physical machine, and destination physical machine, whether the virtual machine can be moved safely, that is, whether each higher order equation is below the upper limit of virtual machine movement judge. At this time, it is determined including whether they are in the same time zone (step S803). If each higher-order equation does not fall below each virtual machine movement upper limit in the same time zone (No in step S803), it is determined that there is no time zone in which the virtual machine can be moved safely and that the schedule adjustment has failed (step S811). ), This process is terminated (step S812).

高次方程式が同じ時間帯に各仮想マシン移動上限を下回る場合(ステップS803でYes)、つまり、仮想マシンを安全に移動できる時間帯がある場合は、取得した仮想マシンのファイルサイズから仮想マシンの移動にかかる時間を算出する。   If the higher-order equation falls below the upper limit of each virtual machine movement in the same time zone (Yes in step S803), that is, if there is a time zone during which the virtual machine can be safely moved, the virtual machine file size is obtained from the acquired virtual machine file size. Calculate the time it takes to move.

次に、算出した時間に対して、仮想マシンを安全に移動できると判断した時間帯の時間幅が、仮想マシンを移動するのに十分な時間幅であるか否か判定する(ステップS805)。たとえば、仮想マシンの移動時間に10分かかる場合、仮想マシンを安全に移動できる時間帯も10分以上の時間幅が必要である。   Next, it is determined whether or not the time width of the time zone in which the virtual machine can be safely moved with respect to the calculated time is sufficient for moving the virtual machine (step S805). For example, when the movement time of the virtual machine takes 10 minutes, the time zone in which the virtual machine can be moved safely also needs a time width of 10 minutes or more.

移動にかかる時間に対して時間幅が短い場合(ステップS805でNo)、仮想マシンを安全に移動できる時間帯がないものとして、スケジュール調整が失敗したと判定し(ステップS811)、本処理を終了する(ステップS812)。
一方、仮想マシンを安全に移動できる時間帯の時間幅が移動にかかる時間に対して十分な時間幅がある場合(ステップS805でYes)、仮想マシンを安全に移動できる時間帯があるものとし、移動スケジュールテーブル137に移動仮想マシンのその時間帯の開始時刻と移動時間を登録する(ステップS806)。
When the time width is short with respect to the time required for movement (No in step S805), it is determined that there is no time zone in which the virtual machine can be moved safely, and it is determined that the schedule adjustment has failed (step S811), and this process is terminated. (Step S812).
On the other hand, when the time width of the time zone in which the virtual machine can be safely moved has a sufficient time width with respect to the time required for the movement (Yes in step S805), it is assumed that there is a time zone in which the virtual machine can be safely moved, The start time and movement time of the moving virtual machine for that time zone are registered in the movement schedule table 137 (step S806).

次に、移動スケジュールテーブル137に登録した移動スケジュールと決定済みの他の移動スケジュール(決定済み移動スケジュール)を開始時刻でソートする(ステップS807)。   Next, the movement schedule registered in the movement schedule table 137 and another determined movement schedule (determined movement schedule) are sorted by start time (step S807).

次に、登録した移動スケジュールと同じ時刻に仮想マシンを移動する決定済み移動スケジュールがあるか否か判定する(ステップS808)。同じ時刻の決定済み移動スケジュールがなければ(ステップS808でNo)、スケジュール調整が成功したと判定し(ステップS810)、本処理を終了する(ステップS812)。   Next, it is determined whether there is a determined movement schedule for moving the virtual machine at the same time as the registered movement schedule (step S808). If there is no determined movement schedule at the same time (No in step S808), it is determined that the schedule adjustment is successful (step S810), and this process is terminated (step S812).

一方、同じ時刻の決定済み移動スケジュールがあれば(ステップS808でYes)、登録した移動スケジュールと決定済み移動スケジュールにおいて、同じ物理マシンが関係しているか否かを判定する(ステップS809)。同じ物理マシンが関係していれば(ステップS809でYes)、移動が衝突してしまうため、前記登録したスケジュールは実施できないものとし、スケジュール調整が失敗したと判定し(ステップS811)、本処理を終了する(ステップS812)。
逆に、同じ物理マシンが関係していなければ(ステップS809でNo)、同じ時刻の移動スケジュールでも、関係する物理マシンが異なることを意味し、移動が衝突しないため、スケジュール調整が成功したと判定し(ステップS810)、本処理を終了する(ステップS812)。
On the other hand, if there is a determined movement schedule at the same time (Yes in step S808), it is determined whether or not the same physical machine is related in the registered movement schedule and the determined movement schedule (step S809). If the same physical machine is involved (Yes in step S809), the movement will collide, so the registered schedule cannot be executed, and it is determined that the schedule adjustment has failed (step S811), and this process is performed. The process ends (step S812).
Conversely, if the same physical machine is not related (No in step S809), it means that the related physical machines are different even in the movement schedule at the same time, and the movement does not collide, so it is determined that the schedule adjustment is successful. (Step S810), and this process is terminated (Step S812).

なお、移動が衝突するとは、2つの移動スケジュールにおいて、仮想マシンを移動する時刻の全部または一部が同時刻であり、かつ同じ物理マシン(移動元物理マシンおよび移動先物理マシンの少なくとも一つ)を使用することをいう。   Note that when the movements collide, in the two movement schedules, all or part of the time for moving the virtual machine is the same time, and the same physical machine (at least one of the source physical machine and the destination physical machine) It means using.

本実施形態では、登録した移動スケジュールが決定済み移動スケジュールと衝突する場合、登録した移動スケジュールを失敗と判定し、当該処理をキャンセルした。しかし、登録した移動スケジュールまたは他の決定済み移動スケジュールの移動可能な時間帯を再計算して移動スケジュールし直すことも可能である。
また、移動先物理マシンを変更して、移動スケジュールし直すことも可能である。
In the present embodiment, when the registered movement schedule collides with the determined movement schedule, the registered movement schedule is determined to have failed, and the processing is cancelled. However, it is also possible to recalculate the movement schedule by recalculating the movable time zone of the registered movement schedule or another determined movement schedule.
It is also possible to change the migration destination physical machine and reschedule the migration.

≪まとめ≫
本実施形態により、システム全体の負荷を分散させ、効率よく安全に仮想マシンを配置および移動することができる。
基本的に負荷のピークの重複は避けるようにして移動スケジュールを調整するので、リソース不足になるリスクは大きく軽減される。
オンデマンドな仮想マシンの移動検討および移動実施がなされたとしても、その後になされる定期的な移動スケジュールの調整により、最適な移動スケジュールが組まれる。そのため、仮想マシンの移動の同時多発が回避でき、ネットワーク負荷は縮小する。
≪Summary≫
According to the present embodiment, it is possible to distribute and distribute the load of the entire system, and to arrange and move virtual machines efficiently and safely.
Basically, the movement schedule is adjusted so as to avoid duplication of load peaks, so the risk of resource shortage is greatly reduced.
Even if on-demand virtual machine migration is examined and implemented, an optimal migration schedule can be established by periodically adjusting the migration schedule. Therefore, it is possible to avoid the simultaneous occurrence of the movement of the virtual machine, and the network load is reduced.

≪その他≫
以上本発明の実施形態についての一例を示したが、本発明は、これに限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
≪Others≫
An example of the embodiment of the present invention has been described above, but the present invention is not limited to this and can be appropriately changed without departing from the spirit of the present invention.

例えば、本実施形態では、仮想マシンと物理マシンの負荷を考慮しているが、この他にこれらに対するネットワークの負荷を考慮に入れても良い。この場合において、物理マシンを識別する識別情報は、本実施形態のような物理マシン名ではなく、対応するネットワークの識別情報である。また、物理マシンの仕様情報を用いる代わりに、対応するネットワークの仕様情報を用いる。また、仮想マシンの負荷を近似的に表現する関数を算出する代わりに、対応するネットワークの負荷を近似的に表現する関数を算出する。ネットワークの負荷は、主に、そのネットワーク上を経由するパケットのパケット量から算出される。   For example, in the present embodiment, the load on the virtual machine and the physical machine is taken into consideration, but in addition to this, the network load on these may be taken into consideration. In this case, the identification information for identifying the physical machine is not the physical machine name as in this embodiment but the identification information of the corresponding network. Also, instead of using the physical machine specification information, the corresponding network specification information is used. Also, instead of calculating a function that approximately represents the load on the virtual machine, a function that approximately represents the load on the corresponding network is calculated. The load on the network is calculated mainly from the amount of packets passing through the network.

また、本実施形態の仮想マシンは、一つの物理マシン上に構成されているものを扱った(例えば、図5参照)。しかし、複数の物理マシン上に構成される仮想マシンに対しても本発明を適用することは可能である。この場合において、その仮想マシンのファイルサイズが各物理マシンにどの程度の割合で占められているかを示す数値を登録するフィールドを図5の仮想/物理マシンの相関テーブル134に備えるようにすれば、物理マシンの仕様情報だけでなく、前記割合も考慮してCPU使用率を補正する等の処理を経て仮想マシンの高次方程式を生成することが可能である。   Moreover, the virtual machine of this embodiment handled what was comprised on one physical machine (for example, refer FIG. 5). However, the present invention can also be applied to virtual machines configured on a plurality of physical machines. In this case, if the virtual / physical machine correlation table 134 of FIG. 5 is provided with a field for registering a numerical value indicating how much the file size of the virtual machine is occupied by each physical machine, It is possible to generate a higher-order equation of the virtual machine through processing such as correcting the CPU usage rate in consideration of not only the physical machine specification information but also the ratio.

その他、ハードウェア、ソフトウェア、各フローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。   In addition, specific configurations of hardware, software, flowcharts, and the like can be changed as appropriate without departing from the spirit of the present invention.

本実施形態の一例である、仮想マシン移動システムの構成を示すものである。1 illustrates a configuration of a virtual machine migration system that is an example of the present embodiment. CPU使用率測定データテーブルのデータ構造を図示したものである。2 shows a data structure of a CPU usage rate measurement data table. 係数表テーブルのデータ構造を図示したものである。2 is a diagram illustrating a data structure of a coefficient table. CPU使用率の高次方程式テーブルのデータ構造を図示したものである。The data structure of the high-order equation table of CPU usage rate is illustrated. 仮想/物理マシンの相関テーブルのデータ構造を図示したものである。2 is a diagram illustrating a data structure of a correlation table of virtual / physical machines. マシンの各種閾値テーブルのデータ構造を図示したものである。2 is a diagram illustrating a data structure of various threshold tables of a machine. ピーク判定値テーブルのデータ構造を図示したものである。2 is a diagram illustrating a data structure of a peak determination value table. 移動スケジュールテーブルのデータ構造を図示したものである。2 is a diagram illustrating a data structure of a movement schedule table. CPU使用率の測定データであって物理マシンのスペックを考慮して補正したものをプロットしたグラフを図示したものである。FIG. 6 is a graph plotting measurement data of CPU utilization, which is corrected in consideration of physical machine specifications. FIG. 仮想マシンの高次方程式およびそのグラフを図示したものである。2 is a diagram illustrating a higher-order equation of a virtual machine and a graph thereof. 物理マシンの高次方程式およびその物理マシン上の仮想マシンの高次方程式およびそれらのグラフを図示したものである。FIG. 2 illustrates a higher order equation of a physical machine, a higher order equation of a virtual machine on the physical machine, and a graph thereof. 仮想マシン移動システムにおける仮想化環境の最適化の流れを示す図である。It is a figure which shows the flow of optimization of the virtual environment in a virtual machine movement system. 閾値超え判定の流れを示す図である。It is a figure which shows the flow of determination exceeding a threshold value. ピーク重複判定の概要を説明する図である。It is a figure explaining the outline | summary of peak duplication determination. ピーク重複判定の詳細な流れを示す図である。It is a figure which shows the detailed flow of peak duplication determination. 移動仮想マシン候補選出の詳細な流れを示す図である。It is a figure which shows the detailed flow of selection of a movement virtual machine candidate. 移動先物理マシン候補選出の詳細な流れを示す図である。It is a figure which shows the detailed flow of selection of a movement destination physical machine candidate. スケジュール調整の詳細な流れを示す図である。It is a figure which shows the detailed flow of a schedule adjustment.

符号の説明Explanation of symbols

100 管理サーバ
120 物理マシン
122 仮想マシン
104 高次方程式算出部
105 閾値超え判定部
106 ピーク重複判定部
108 移動仮想マシン候補選出部
109 移動先物理マシン候補選出部
111 スケジュール調整部
112 移動実行部
131 CPU使用率測定データテーブル
132 係数表テーブル
133 CPU使用率の高次方程式テーブル
134 仮想/物理マシンの相関テーブル
135 マシンの各種閾値テーブル
136 ピーク判定値テーブル
137 移動スケジュールテーブル
DESCRIPTION OF SYMBOLS 100 Management server 120 Physical machine 122 Virtual machine 104 Higher-order equation calculation part 105 Threshold excess determination part 106 Peak duplication determination part 108 Moving virtual machine candidate selection part 109 Destination physical machine candidate selection part 111 Schedule adjustment part 112 Migration execution part 131 CPU Usage rate measurement data table 132 Coefficient table table 133 High-order equation table of CPU usage rate 134 Virtual / physical machine correlation table 135 Machine various threshold tables 136 Peak judgment value table 137 Movement schedule table

Claims (10)

1以上の仮想マシンを有する複数の物理マシンと通信可能に接続し、ある物理マシン上の仮想マシンを他の物理マシン上に移動する制御を実行する仮想マシン移動管理サーバにおいて、
前記仮想マシンに対する負荷と、前記負荷が測定された時期と、を対応付けた負荷情報と、
前記物理マシン上の仮想マシンを稼動したときに、前記仮想マシンに十分な資源を割り当てることを可能とする、前記物理マシンに対する負荷に関する稼動の上限を物理マシンごとに定めた第1の閾値と、
前記仮想マシンを安全に移動することを可能とする、前記物理マシンまたは前記仮想マシンに対する負荷に関する移動の上限を物理マシンまたは仮想マシンごとに定めた第2の閾値と、
少なくとも、前記移動がなされる仮想マシンである移動仮想マシンの識別情報、前記仮想マシンの移動元となる物理マシンである移動元物理マシンの識別情報、前記仮想マシンの移動先となる物理マシンである移動先物理マシンの識別情報、および前記仮想マシンの容量から定まる前記仮想マシンの移動に要する移動時間、を対応付けた移動スケジュール情報と、
を記憶する記憶部と、
前記物理マシンから当該物理マシン上の仮想マシンに対する負荷を定期的に取得し、前記取得した負荷に基づいて前記負荷情報を生成する制御と、
前記生成された負荷情報に基づいて、前記仮想マシンに対する負荷の経時変化を近似表現した仮想マシン用関数および前記物理マシンに対する負荷の経時変化を近似表現した物理マシン用関数を生成する制御と、
前記物理マシン用関数が当該第1の閾値を超える物理マシンが存在すれば、当該物理マシンを前記移動元物理マシンとし、前記移動元物理マシンの識別情報を前記移動スケジュール情報に登録する制御と、
前記移動元物理マシン上の仮想マシンの全部または一部を前記移動仮想マシンの候補とし、前記候補となった移動仮想マシンの識別情報を前記移動スケジュール情報に登録する制御と、
前記移動仮想マシンを移動することにより、移動先となる物理マシンの前記物理マシン用関数と前記移動仮想マシンの前記仮想マシン関数との和が前記移動先となる物理マシンに定めた第1の閾値を超えない物理マシンが存在すれば、当該物理マシンを前記移動先物理マシンの候補とし、前記候補となった前記移動先物理マシンの識別情報を前記移動スケジュール情報に登録する制御と、
前記スケジュール情報に登録された、前記移動元物理マシンの前記物理マシン用関数と、前記移動仮想マシンの前記仮想マシン関数と、前記移動先物理マシンの前記物理マシン用関数とが、それぞれ前記移動元物理マシンに定めた第2の閾値と、前記移動仮想マシンに定めた第2の閾値と、前記移動先物理マシンに定めた第2の閾値とを超えない時間帯が存在し、かつ、前記移動仮想マシンの移動時間が前記時間帯に含まれれば、前記時間帯において前記移動仮想マシンを移動する制御と、
を実行する制御部と、
を有する
ことを特徴とする仮想マシン移動管理サーバ。
In a virtual machine migration management server that executes control to connect a plurality of physical machines having one or more virtual machines so as to communicate with each other and move a virtual machine on one physical machine to another physical machine,
Load information associating the load on the virtual machine with the time when the load was measured;
A first threshold value for each physical machine that defines an upper limit of operation related to a load on the physical machine, which allows a sufficient resource to be allocated to the virtual machine when the virtual machine on the physical machine is operated;
A second threshold value for each physical machine or virtual machine, wherein an upper limit of movement related to a load on the physical machine or the virtual machine, which allows the virtual machine to be safely moved;
At least identification information of a migration virtual machine that is a virtual machine to be migrated, identification information of a migration source physical machine that is a physical machine that is the migration source of the virtual machine, and a physical machine that is a migration destination of the virtual machine Movement schedule information in which identification information of a movement destination physical machine and movement time required for movement of the virtual machine determined from the capacity of the virtual machine are associated with each other,
A storage unit for storing
A control for periodically acquiring a load on the virtual machine on the physical machine from the physical machine, and generating the load information based on the acquired load;
Based on the generated load information, control for generating a function for a virtual machine that approximates a change with time of a load on the virtual machine and a function for a physical machine that approximates a change with time of a load on the physical machine;
If there is a physical machine for which the physical machine function exceeds the first threshold, the physical machine is set as the movement source physical machine, and the identification information of the movement source physical machine is registered in the movement schedule information;
Control that registers all or part of virtual machines on the migration source physical machine as candidates for the migration virtual machine, and registers identification information of the migration virtual machine that is the candidate in the migration schedule information;
A first threshold value determined for the physical machine as the migration destination by moving the migration virtual machine, and a sum of the function for the physical machine of the physical machine as the migration destination and the virtual machine function of the migration virtual machine If there is a physical machine that does not exceed the control, the control unit registers the physical machine as a candidate for the migration destination physical machine, and registers identification information of the migration destination physical machine that is the candidate in the migration schedule information.
The physical machine function of the migration source physical machine, the virtual machine function of the migration virtual machine, and the physical machine function of the migration destination physical machine registered in the schedule information are respectively the migration source. There is a time zone that does not exceed the second threshold value set for the physical machine, the second threshold value set for the migration virtual machine, and the second threshold value set for the migration destination physical machine, and the migration If the moving time of the virtual machine is included in the time zone, control to move the moving virtual machine in the time zone;
A control unit for executing
A virtual machine migration management server characterized by comprising:
前記記憶部は、
前記物理マシンの識別情報と、前記物理マシンの仕様情報と、前記仕様情報に基づいて定めた係数と、を対応付けた係数情報を記憶し、
前記制御部は、
前記係数情報の係数を、当該物理マシン上の仮想マシンの前記仮想マシン用関数に作用させ、または当該物理マシンの前記物理マシン用関数に作用させることにより、前記仮想マシン用関数または前記物理マシン用関数を補正する制御を実行する
ことを特徴とする請求項1に記載の仮想マシン移動管理サーバ。
The storage unit
Storing coefficient information in which identification information of the physical machine, specification information of the physical machine, and a coefficient determined based on the specification information are associated with each other;
The controller is
By causing the coefficient of the coefficient information to act on the virtual machine function of the virtual machine on the physical machine, or to act on the physical machine function of the physical machine, the function for the virtual machine or the physical machine The virtual machine migration management server according to claim 1, wherein control for correcting the function is executed.
前記制御部は、
前記移動元物理マシンの前記物理マシン用関数に含まれるピークと重複する、前記移動仮想マシンの前記仮想マシン用関数に含まれるピークが存在すれば、当該仮想マシンを前記移動仮想マシンの候補であると優先的に定める制御を実行する
ことを特徴とする請求項1に記載の仮想マシン移動管理サーバ。
The controller is
If there is a peak included in the function for the virtual machine of the moving virtual machine that overlaps with a peak included in the function for the physical machine of the source physical machine, the virtual machine is a candidate for the moving virtual machine. The virtual machine movement management server according to claim 1, wherein control that is preferentially executed is executed.
前記制御部は、
前記移動仮想マシンの前記仮想マシン用関数に含まれるピークと重複する、前記移動先物理マシンの前記物理マシン用関数に含まれるピークが存在すれば、当該物理マシン以外の物理マシンを前記移動先物理マシンの候補であると優先的に定める制御を実行する
ことを特徴とする請求項1に記載の仮想マシン移動管理サーバ。
The controller is
If there is a peak included in the physical machine function of the destination physical machine that overlaps with a peak included in the virtual machine function of the migration virtual machine, a physical machine other than the physical machine is moved to the destination physical. The virtual machine migration management server according to claim 1, wherein control for preferentially determining a machine candidate is executed.
前記制御部は、
前記記憶部に記憶された新たな移動スケジュール情報に含まれる移動時間が、既に決定した他の移動スケジュール情報に含まれる移動時間と全部または一部で重複し、かつ、新たな移動スケジュール情報に含まれる移動元物理マシンの識別情報および移動先物理マシンの識別情報の少なくとも一つがそれぞれ、既に決定した他の移動スケジュール情報に含まれる移動元物理マシンの識別情報および移動先物理マシンの識別情報と一致するとき、当該新たな移動スケジュール情報に基づいた仮想マシンの移動の制御は実行しない
ことを特徴とする請求項1に記載の仮想マシン移動管理サーバ。
The controller is
The travel time included in the new travel schedule information stored in the storage unit overlaps in part or in part with the travel time included in other travel schedule information that has already been determined, and is included in the new travel schedule information At least one of the identification information of the migration source physical machine and the identification information of the migration destination physical machine matches the identification information of the migration source physical machine and the identification information of the migration destination physical machine included in the other migration schedule information that has already been determined. The virtual machine movement management server according to claim 1, wherein the virtual machine movement control based on the new movement schedule information is not executed.
1以上の仮想マシンを有する複数の物理マシンと通信可能に接続し、ある物理マシン上の仮想マシンを他の物理マシン上に移動する制御を実行する仮想マシン移動管理サーバにおける仮想マシン移動方法において、
前記仮想マシン移動管理サーバの記憶部は、
前記仮想マシンに対する負荷と、前記負荷が測定された時期と、を対応付けた負荷情報と、
前記物理マシン上の仮想マシンを稼動したときに、前記仮想マシンに十分な資源を割り当てることを可能とする、前記物理マシンに対する負荷に関する稼動の上限を物理マシンごとに定めた第1の閾値と、
前記仮想マシンを安全に移動することを可能とする、前記物理マシンまたは前記仮想マシンに対する負荷に関する移動の上限を物理マシンまたは仮想マシンごとに定めた第2の閾値と、
少なくとも、前記移動がなされる仮想マシンである移動仮想マシンの識別情報、前記仮想マシンの移動元となる物理マシンである移動元物理マシンの識別情報、前記仮想マシンの移動先となる物理マシンである移動先物理マシンの識別情報、および前記仮想マシンの容量から定まる前記仮想マシンの移動に要する移動時間、を対応付けた移動スケジュール情報と、
を記憶しており、
前記仮想マシン移動管理サーバの制御部は、
前記物理マシンから当該物理マシン上の仮想マシンに対する負荷を定期的に取得し、前記取得した負荷に基づいて前記負荷情報を生成するステップと、
前記生成された負荷情報に基づいて、前記仮想マシンに対する負荷の経時変化を近似表現した仮想マシン用関数および前記物理マシンに対する負荷の経時変化を近似表現した物理マシン用関数を生成するステップと、
前記物理マシン用関数が当該第1の閾値を超える物理マシンが存在すれば、当該物理マシンを前記移動元物理マシンとし、前記移動元物理マシンの識別情報を前記移動スケジュール情報に登録するステップと、
前記移動元物理マシン上の仮想マシンの全部または一部を前記移動仮想マシンの候補とし、前記候補となった移動仮想マシンの識別情報を前記移動スケジュール情報に登録するステップと、
前記移動仮想マシンを移動することにより、移動先となる物理マシンの前記物理マシン用関数と前記移動仮想マシンの前記仮想マシン関数との和が前記移動先となる物理マシンに定めた第1の閾値を超えない物理マシンが存在すれば、当該物理マシンを前記移動先物理マシンの候補とし、前記候補となった前記移動先物理マシンの識別情報を前記移動スケジュール情報に登録するステップと、
前記スケジュール情報に登録された、前記移動元物理マシンの前記物理マシン用関数と、前記移動仮想マシンの前記仮想マシン関数と、前記移動先物理マシンの前記物理マシン用関数とが、それぞれ前記移動元物理マシンに定めた第2の閾値と、前記移動仮想マシンに定めた第2の閾値と、前記移動先物理マシンに定めた第2の閾値とを超えない時間帯が存在し、かつ、前記移動仮想マシンの移動時間が前記時間帯に含まれれば、前記時間帯において前記移動仮想マシンを移動するステップと、
を実行する
ことを特徴とする仮想マシン移動方法。
In a virtual machine migration method in a virtual machine migration management server for performing control to connect a plurality of physical machines having one or more virtual machines so as to be able to communicate and move a virtual machine on a physical machine to another physical machine,
The storage unit of the virtual machine migration management server is
Load information associating the load on the virtual machine with the time when the load was measured;
A first threshold value for each physical machine that defines an upper limit of operation related to a load on the physical machine, which allows a sufficient resource to be allocated to the virtual machine when the virtual machine on the physical machine is operated;
A second threshold value for each physical machine or virtual machine, wherein an upper limit of movement related to a load on the physical machine or the virtual machine, which allows the virtual machine to be safely moved;
At least identification information of a migration virtual machine that is a virtual machine to be migrated, identification information of a migration source physical machine that is a physical machine that is the migration source of the virtual machine, and a physical machine that is a migration destination of the virtual machine Movement schedule information in which identification information of a movement destination physical machine and movement time required for movement of the virtual machine determined from the capacity of the virtual machine are associated with each other,
Remember
The control unit of the virtual machine migration management server is:
Periodically acquiring a load on the virtual machine on the physical machine from the physical machine, and generating the load information based on the acquired load;
Generating, based on the generated load information, a function for a virtual machine that approximates a change with time of a load on the virtual machine and a function for a physical machine that approximates a change with time of a load on the physical machine;
If there is a physical machine for which the physical machine function exceeds the first threshold, the physical machine is set as the movement source physical machine, and identification information of the movement source physical machine is registered in the movement schedule information;
All or part of virtual machines on the migration source physical machine are candidates for the migration virtual machine, and the identification information of the migration virtual machine that is the candidate is registered in the migration schedule information;
A first threshold value determined for the physical machine as the migration destination by moving the migration virtual machine, and a sum of the function for the physical machine of the physical machine as the migration destination and the virtual machine function of the migration virtual machine If there is a physical machine that does not exceed the physical machine as a candidate of the migration destination physical machine, registering the identification information of the migration destination physical machine that is the candidate in the migration schedule information;
The physical machine function of the migration source physical machine, the virtual machine function of the migration virtual machine, and the physical machine function of the migration destination physical machine registered in the schedule information are respectively the migration source. There is a time zone that does not exceed the second threshold value set for the physical machine, the second threshold value set for the migration virtual machine, and the second threshold value set for the migration destination physical machine, and the migration If the moving time of the virtual machine is included in the time zone, moving the moving virtual machine in the time zone;
The virtual machine moving method characterized by performing this.
前記仮想マシン移動管理サーバの記憶部は、
前記物理マシンの識別情報と、前記物理マシンの仕様情報と、前記仕様情報に基づいて定めた係数と、を対応付けた係数情報を記憶し、
前記仮想マシン移動管理サーバの制御部は、
前記係数情報の係数を、当該物理マシン上の仮想マシンの前記仮想マシン用関数に作用させ、または当該物理マシンの前記物理マシン用関数に作用させることにより、前記仮想マシン用関数または前記物理マシン用関数を補正するステップを実行する
ことを特徴とする請求項6に記載の仮想マシン移動方法。
The storage unit of the virtual machine migration management server is
Storing coefficient information in which identification information of the physical machine, specification information of the physical machine, and a coefficient determined based on the specification information are associated with each other;
The control unit of the virtual machine migration management server is:
By causing the coefficient of the coefficient information to act on the virtual machine function of the virtual machine on the physical machine, or to act on the physical machine function of the physical machine, the function for the virtual machine or the physical machine The virtual machine moving method according to claim 6, wherein the step of correcting the function is executed.
前記仮想マシン移動管理サーバの制御部は、
前記移動元物理マシンの前記物理マシン用関数に含まれるピークと重複する、前記移動仮想マシンの前記仮想マシン用関数に含まれるピークが存在すれば、当該仮想マシンを前記移動仮想マシンの候補であると優先的に定めるステップを実行する
ことを特徴とする請求項6に記載の仮想マシン移動方法。
The control unit of the virtual machine migration management server is:
If there is a peak included in the function for the virtual machine of the moving virtual machine that overlaps with a peak included in the function for the physical machine of the source physical machine, the virtual machine is a candidate for the moving virtual machine. The virtual machine moving method according to claim 6, wherein the step of preferentially determining is executed.
前記仮想マシン移動管理サーバの制御部は、
前記移動仮想マシンの前記仮想マシン用関数に含まれるピークと重複する、前記移動先物理マシンの前記物理マシン用関数に含まれるピークが存在すれば、当該物理マシン以外の物理マシンを前記移動先物理マシンの候補であると優先的に定めるステップを実行する
ことを特徴とする請求項6に記載の仮想マシン移動方法。
The control unit of the virtual machine migration management server is:
If there is a peak included in the physical machine function of the destination physical machine that overlaps with a peak included in the virtual machine function of the migration virtual machine, a physical machine other than the physical machine is moved to the destination physical. The virtual machine migration method according to claim 6, wherein a step of preferentially determining that the machine is a candidate for a machine is executed.
前記仮想マシン移動管理サーバの制御部は、
前記記憶部に記憶された新たな移動スケジュール情報に含まれる移動時間が、既に決定した他の移動スケジュール情報に含まれる移動時間と全部または一部で重複し、かつ、新たな移動スケジュール情報に含まれる移動元物理マシンの識別情報および移動先物理マシンの識別情報の少なくとも一つがそれぞれ、既に決定した他の移動スケジュール情報に含まれる移動元物理マシンの識別情報および移動先物理マシンの識別情報と一致するとき、当該新たな移動スケジュール情報に基づいた仮想マシンの移動のステップは実行しない
ことを特徴とする請求項6に記載の仮想マシン移動方法。
The control unit of the virtual machine migration management server is:
The travel time included in the new travel schedule information stored in the storage unit overlaps in part or in part with the travel time included in other travel schedule information that has already been determined, and is included in the new travel schedule information At least one of the identification information of the migration source physical machine and the identification information of the migration destination physical machine matches the identification information of the migration source physical machine and the identification information of the migration destination physical machine included in the other migration schedule information that has already been determined. The virtual machine movement method according to claim 6, wherein the virtual machine movement step based on the new movement schedule information is not executed.
JP2008288593A 2008-11-11 2008-11-11 Virtual machine migration management server and virtual machine migration method Expired - Fee Related JP4839361B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008288593A JP4839361B2 (en) 2008-11-11 2008-11-11 Virtual machine migration management server and virtual machine migration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008288593A JP4839361B2 (en) 2008-11-11 2008-11-11 Virtual machine migration management server and virtual machine migration method

Publications (2)

Publication Number Publication Date
JP2010117760A true JP2010117760A (en) 2010-05-27
JP4839361B2 JP4839361B2 (en) 2011-12-21

Family

ID=42305419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008288593A Expired - Fee Related JP4839361B2 (en) 2008-11-11 2008-11-11 Virtual machine migration management server and virtual machine migration method

Country Status (1)

Country Link
JP (1) JP4839361B2 (en)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096601A (en) * 2011-02-11 2011-06-15 浪潮(北京)电子信息产业有限公司 Virtual machine migration management method and system
JP2011257792A (en) * 2010-06-04 2011-12-22 Fujitsu Ltd Network system, management server and arrangement method for virtual machine
JP2012038157A (en) * 2010-08-09 2012-02-23 Sanken Electric Co Ltd Power unit, program, and control method
WO2012127633A1 (en) 2011-03-22 2012-09-27 富士通株式会社 Migration management apparatus, migration management method, and migration management program
JP2012198631A (en) * 2011-03-18 2012-10-18 Ntt Data Corp Virtual machine arrangement device, virtual machine arrangement method and virtual machine arrangement program
JP2012198671A (en) * 2011-03-18 2012-10-18 Fujitsu Advanced Engineering Ltd System management device, system management method and system management program
WO2012144647A1 (en) * 2011-04-20 2012-10-26 日本電気株式会社 Virtual machine administration device, virtual machine administration method, and program
JP2013148984A (en) * 2012-01-17 2013-08-01 Fujitsu Ltd Program, virtual machine control method, information processor and information processing system
JP2013175177A (en) * 2012-02-26 2013-09-05 Palo Alto Research Center Inc QoS AWARE BALANCING IN DATA CENTERS
JP2013182303A (en) * 2012-02-29 2013-09-12 Nec Corp Virtual machine management system, method and program
JP2013196062A (en) * 2012-03-15 2013-09-30 Fujitsu Ltd Information processor
JP2013206321A (en) * 2012-03-29 2013-10-07 Fujitsu Ltd Management device, resource management method, resource management program and information processing system
JP2014006739A (en) * 2012-06-25 2014-01-16 Fujitsu Ltd Program, management server and virtual machine migration control method
JP2014038458A (en) * 2012-08-15 2014-02-27 Toshiba Corp Scheduling device, system, method and program
WO2014199476A1 (en) * 2013-06-12 2014-12-18 富士通株式会社 Relay device, relay program, and relay method
US9104495B2 (en) 2012-12-11 2015-08-11 International Business Machines Corporation Shared resource segmentation
JP2015152984A (en) * 2014-02-12 2015-08-24 日本電信電話株式会社 Virtual machine distribution device, method and program
JP2015184965A (en) * 2014-03-25 2015-10-22 日本電気株式会社 Virtual machine management device, virtual machine management method, and virtual machine management system
US9235439B2 (en) 2012-03-19 2016-01-12 Fujitsu Limited Management server, patch scheduling method, and recording medium
US9652332B2 (en) 2012-11-07 2017-05-16 Fujitsu Limited Information processing apparatus and virtual machine migration method
JP2019046162A (en) * 2017-09-01 2019-03-22 富士通株式会社 Management device, information processing system, and program
US10680904B2 (en) 2017-04-17 2020-06-09 Fujitsu Limited Determining periodicity of operation status information to predict future operation statuses of resources of the information processing devices
CN113672392A (en) * 2021-08-25 2021-11-19 国家电网有限公司信息通信分公司 Energy consumption optimization method and device, electronic equipment and computer readable storage medium
WO2023021554A1 (en) * 2021-08-16 2023-02-23 日本電信電話株式会社 Migration destination determination device, physical server, migration destination determination system, migration destination determination method, and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157177A (en) * 2001-11-22 2003-05-30 Hitachi Ltd Virtual computer system and program
WO2007136021A1 (en) * 2006-05-24 2007-11-29 Nec Corporation Virtual machine management device, method for managing virtual machine and program
WO2008102739A1 (en) * 2007-02-23 2008-08-28 Nec Corporation Virtual server system and physical server selecting method
JP2009537894A (en) * 2006-05-18 2009-10-29 マイクロソフト コーポレーション Deploy virtual machines to hosts based on workload characteristics
JP2010044596A (en) * 2008-08-13 2010-02-25 Nec Corp Load control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157177A (en) * 2001-11-22 2003-05-30 Hitachi Ltd Virtual computer system and program
JP2009537894A (en) * 2006-05-18 2009-10-29 マイクロソフト コーポレーション Deploy virtual machines to hosts based on workload characteristics
WO2007136021A1 (en) * 2006-05-24 2007-11-29 Nec Corporation Virtual machine management device, method for managing virtual machine and program
WO2008102739A1 (en) * 2007-02-23 2008-08-28 Nec Corporation Virtual server system and physical server selecting method
JP2010044596A (en) * 2008-08-13 2010-02-25 Nec Corp Load control system

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8789044B2 (en) 2010-06-04 2014-07-22 Fujitsu Limited Network system, management server, and virtual machine deployment method
JP2011257792A (en) * 2010-06-04 2011-12-22 Fujitsu Ltd Network system, management server and arrangement method for virtual machine
JP2012038157A (en) * 2010-08-09 2012-02-23 Sanken Electric Co Ltd Power unit, program, and control method
CN102096601A (en) * 2011-02-11 2011-06-15 浪潮(北京)电子信息产业有限公司 Virtual machine migration management method and system
JP2012198631A (en) * 2011-03-18 2012-10-18 Ntt Data Corp Virtual machine arrangement device, virtual machine arrangement method and virtual machine arrangement program
JP2012198671A (en) * 2011-03-18 2012-10-18 Fujitsu Advanced Engineering Ltd System management device, system management method and system management program
WO2012127633A1 (en) 2011-03-22 2012-09-27 富士通株式会社 Migration management apparatus, migration management method, and migration management program
US9244731B2 (en) 2011-03-22 2016-01-26 Fujitsu Limited Migration management apparatus and migration management method
CN103502942A (en) * 2011-04-20 2014-01-08 日本电气株式会社 Virtual machine administration device, virtual machine administration method, and program thereof
JP5729466B2 (en) * 2011-04-20 2015-06-03 日本電気株式会社 Virtual machine management apparatus, virtual machine management method, and program
WO2012144647A1 (en) * 2011-04-20 2012-10-26 日本電気株式会社 Virtual machine administration device, virtual machine administration method, and program
US9710295B2 (en) 2011-04-20 2017-07-18 Nec Corporation Grouping and placement of virtual machines based on similarity and correlation of functional relations
US10140142B2 (en) 2011-04-20 2018-11-27 Nec Corporation Grouping and placement of virtual machines based on similarity and correlation of functional relations
JP2013148984A (en) * 2012-01-17 2013-08-01 Fujitsu Ltd Program, virtual machine control method, information processor and information processing system
JP2013175177A (en) * 2012-02-26 2013-09-05 Palo Alto Research Center Inc QoS AWARE BALANCING IN DATA CENTERS
JP2013182303A (en) * 2012-02-29 2013-09-12 Nec Corp Virtual machine management system, method and program
JP2013196062A (en) * 2012-03-15 2013-09-30 Fujitsu Ltd Information processor
US9235439B2 (en) 2012-03-19 2016-01-12 Fujitsu Limited Management server, patch scheduling method, and recording medium
JP2013206321A (en) * 2012-03-29 2013-10-07 Fujitsu Ltd Management device, resource management method, resource management program and information processing system
JP2014006739A (en) * 2012-06-25 2014-01-16 Fujitsu Ltd Program, management server and virtual machine migration control method
US9378056B2 (en) 2012-06-25 2016-06-28 Fujitsu Limited Management server, and virtual machine move control method
JP2014038458A (en) * 2012-08-15 2014-02-27 Toshiba Corp Scheduling device, system, method and program
US9652332B2 (en) 2012-11-07 2017-05-16 Fujitsu Limited Information processing apparatus and virtual machine migration method
US9104495B2 (en) 2012-12-11 2015-08-11 International Business Machines Corporation Shared resource segmentation
US9582336B2 (en) 2012-12-11 2017-02-28 International Business Machines Corporation Shared resource segmentation
WO2014199476A1 (en) * 2013-06-12 2014-12-18 富士通株式会社 Relay device, relay program, and relay method
JPWO2014199476A1 (en) * 2013-06-12 2017-02-23 富士通株式会社 Relay device, relay program, and relay method
JP6052407B2 (en) * 2013-06-12 2016-12-27 富士通株式会社 Relay device, relay program, and relay method
JP2015152984A (en) * 2014-02-12 2015-08-24 日本電信電話株式会社 Virtual machine distribution device, method and program
JP2015184965A (en) * 2014-03-25 2015-10-22 日本電気株式会社 Virtual machine management device, virtual machine management method, and virtual machine management system
US10680904B2 (en) 2017-04-17 2020-06-09 Fujitsu Limited Determining periodicity of operation status information to predict future operation statuses of resources of the information processing devices
JP2019046162A (en) * 2017-09-01 2019-03-22 富士通株式会社 Management device, information processing system, and program
WO2023021554A1 (en) * 2021-08-16 2023-02-23 日本電信電話株式会社 Migration destination determination device, physical server, migration destination determination system, migration destination determination method, and program
CN113672392A (en) * 2021-08-25 2021-11-19 国家电网有限公司信息通信分公司 Energy consumption optimization method and device, electronic equipment and computer readable storage medium

Also Published As

Publication number Publication date
JP4839361B2 (en) 2011-12-21

Similar Documents

Publication Publication Date Title
JP4839361B2 (en) Virtual machine migration management server and virtual machine migration method
WO2011105091A1 (en) Control device, management device, data processing method of control device, and program
US8745210B2 (en) Migration control apparatus and migration control method
US10055252B2 (en) Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing
US7552152B2 (en) Risk-modulated proactive data migration for maximizing utility in storage systems
US9384053B2 (en) Task allocation optimization system, task allocation optimization method, and non-transitory computer readable medium storing task allocation optimization program
Joseph et al. Analysis of dynamic due-date assignment models in a flexible manufacturing system
US20090313631A1 (en) Autonomic workload planning
US9286107B2 (en) Information processing system for scheduling jobs, job management apparatus for scheduling jobs, program for scheduling jobs, and method for scheduling jobs
CN111443870B (en) Data processing method, device and storage medium
Cai et al. Critical path-based iterative heuristic for workflow scheduling in utility and cloud computing
JP2015088045A (en) Scheduling device, scheduling system, scheduling method, and program
US10095204B2 (en) Method, medium, and system
JP2017151656A (en) Parallel processing device, power factor calculation program, and power factor calculation method
US20220253334A1 (en) Scheduling control apparatus, scheduling control method and program
US20140107809A1 (en) Method and a system for online and dynamic schedule configuration of control applications in a distributed control system
US9195515B1 (en) Method and system for process load balancing
CN112580816A (en) Machine learning training resource management
US10747546B2 (en) Distributed allocation device, distributed allocation system, and distributed allocation method
Oliner et al. Probabilistic qos guarantees for supercomputing systems
CN114697213A (en) Upgrading method and device
JP5045576B2 (en) Multiprocessor system and program execution method
JP6349837B2 (en) Scheduler apparatus, scheduling method therefor, arithmetic processing system, and computer program
JP6689316B2 (en) Computer system and learning control method
JP5056346B2 (en) Information processing apparatus, information processing system, virtual server movement processing control method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110810

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111003

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees