JP6543219B2 - Virtual machine allocation apparatus and resource management method - Google Patents
Virtual machine allocation apparatus and resource management method Download PDFInfo
- Publication number
- JP6543219B2 JP6543219B2 JP2016110554A JP2016110554A JP6543219B2 JP 6543219 B2 JP6543219 B2 JP 6543219B2 JP 2016110554 A JP2016110554 A JP 2016110554A JP 2016110554 A JP2016110554 A JP 2016110554A JP 6543219 B2 JP6543219 B2 JP 6543219B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- cores
- physical server
- physical
- virtual machine
- 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.)
- Active
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Description
本発明は、仮想マシンを複数の物理サーバに配置する仮想マシン配置装置および仮想マシンのリソースを管理するリソース管理方法に関する。 The present invention relates to a virtual machine placement device for placing virtual machines on a plurality of physical servers, and a resource management method for managing resources of virtual machines.
近年、NFV(Network Functions Virtualization:ネットワーク機能仮想化)の仮想アプライアンスに代表されるように、処理の低遅延が要求されるアプリケーション(以下、単にアプリケーション)をVM(Virtual Machine:仮想マシン)で実行・運用する技術が関心を集めている。
このようなアプリケーションでは、遅延を低減させるために、VMの仮想CPUと物理CPUのコアとを固定的に割り当てる(括りつける)ことが多い。これは、コアのCPU時間のリソースを、VMが占有することを意図しており、他のVMにリソースをディスパッチされないことから、遅延を低減する効果がある。
In recent years, as typified by a virtual appliance of Network Functions Virtualization (NFV), an application that requires low processing delay (hereinafter simply referred to as an application) is executed using a virtual machine (VM). The technology to operate is attracting attention.
In such applications, in order to reduce the delay, the virtual CPUs of VMs and the cores of physical CPUs are often fixedly allocated. This is effective in reducing the delay since the VM is intended to occupy the CPU time resource of the core and is not dispatched to other VMs.
また、このようなアプリケーションでは、同一の物理CPU上のコアという限定を付けてVMの仮想CPUと物理CPUのコアとを固定的に割り当てることもある。これは、VM内のプロセス・スレッド間通信を同一物理CPU内で実行することができることから、キャッシュヒット率を高くすることができ、遅延を低減する手段として極めて高い効果がある。 Moreover, in such an application, there is also a case where the virtual CPU of VM and the core of physical CPU are fixedly assigned with the limitation of the core on the same physical CPU. This enables communication between processes and threads in VMs to be performed in the same physical CPU, so that the cache hit rate can be increased, which is extremely effective as a means for reducing delay.
従来、このようなVMの仮想CPUを物理CPUに固定的に割り当てる方法は、KVM(Kernel-based Virtual Machine:カーネル仮想化基盤)等で提供される機能(CPUピニング)で実現することができる(非特許文献1参照)。この手法は、コンピュータを介して、コマンドを手動で発行し、そのコマンドを取得した物理サーバ(サーバハード)が、同サーバ上で動作するVMの仮想CPUと物理CPUとの割り当てを行っている。
一方、OpenStack等のリソース管理システムでは、VMにリソースを自動的に割り当てている(非特許文献2参照)。このリソース管理システムは、CPU負荷の低い物理サーバにVMを配置することで、リソースを割り当てている。
Conventionally, such a method of fixedly allocating a virtual CPU of a VM to a physical CPU can be realized by a function (CPU pinning) provided by KVM (Kernel-based Virtual Machine: kernel virtualization base) or the like ( Non-Patent Document 1). In this method, a command is manually issued via a computer, and a physical server (server hardware) that has acquired the command assigns virtual CPUs and physical CPUs of VMs operating on the server.
On the other hand, resource management systems such as OpenStack automatically allocate resources to VMs (see Non-Patent Document 2). This resource management system allocates resources by arranging VMs on a physical server with low CPU load.
従来の非特許文献1の手法では、人手によってCPU等のリソースの割り当てを行うため、手間がかかるとともに、操作ミスが起こりやすいといった問題がある。
また、従来の非特許文献2の手法では、VMにリソースを自動的に割り当てることはできるが、VMの仮想CPUと物理CPUのコアとを固定的に割り当てるようなアプリケーションには適用できず、CPU負荷の低い物理サーバにVMを配置することしかできない。
このように、従来の手法は、VMの仮想CPUと物理CPUのコアとを固定的に割り当てることを前提としたシステムにおいて、自動的にリソースを割り当てることは困難であった。
In the method of the conventional
In addition, in the method of the conventional
As described above, in the conventional method, it is difficult to automatically allocate resources in a system on the premise that virtual CPUs of VMs and cores of physical CPUs are fixedly allocated.
また、従来の手法は、VMのリソースの確保、VM停止後のリソースの回収を繰り返すと使用中のリソースと小さな未使用のリソースとが混在し、大きな未使用のリソースを確保することができない、いわゆる、リソースの断片化が発生する。そのため、従来の手法は、システム全体で未使用リソースが十分であっても、同一の物理CPU上でVMが必要とする未使用リソースを確保することができないという問題が発生する場合がある。 Also, in the conventional method, when resources of VM are secured and resources are recovered after VM stop, resources in use and small unused resources are mixed, and large unused resources can not be secured. So-called resource fragmentation occurs. Therefore, in the conventional method, even when the unused resources in the entire system are sufficient, there may be a problem that the unused resources required by the VM can not be secured on the same physical CPU.
本発明は、このような問題に鑑みてなされたもので、仮想マシン(VM)に、人手を介さずにリソースを確保するとともに、リソースの断片化を防止することが可能な仮想マシン配置装置およびリソース管理方法を提供することを課題とする。 The present invention has been made in view of such problems, and provides a virtual machine (VM) with resources without human intervention and capable of preventing fragmentation of resources, and a virtual machine allocation apparatus The task is to provide a resource management method.
前記課題を解決するため、請求項1に記載の仮想マシン配置装置は、複数のコアで構成されるCPUを複数有する物理サーバを複数備えたコンピュータシステムにおいて、仮想マシンを予め同一のCPUのコアに割り当てて前記物理サーバに配置する仮想マシン配置装置であって、前記物理サーバと前記CPUと前記コアとを対応付けるとともに、前記コアがどの仮想マシンに使用されているのかを示すリソース管理データを記憶する記憶手段と、前記リソース管理データを参照して、新たな仮想マシンが予め必要とする必要コア数を同一CPU上に確保できるか否かを判定する空きリソース判定手段と、前記空きリソース判定手段で同一CPU上に前記必要コア数を確保できない場合に、動作中の仮想マシンが割り当てられているコアを、当該仮想マシンが動作している物理サーバの他のCPU、または、他の物理サーバのCPUに割り当て直すコンパクション実行手段と、確保された同一CPU上のコアに、前記新たな仮想マシンを配置する配置実行手段と、を備え、前記空きリソース判定手段は、前記同一CPUで前記必要コア数を確保できない場合に、個々の物理サーバ内で、前記動作中の仮想マシンに割り当てられているコアを、他のCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定する物理サーバ単位リソース判定手段と、前記物理サーバ内で前記必要コア数を確保できない場合に、すべての物理サーバ間で、前記動作中の仮想マシンに割り当てられているコアを、他の物理サーバのCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定する全物理サーバリソース判定手段と、を備えることを特徴とする。
In order to solve the above-mentioned subject, in a computer system provided with a plurality of physical servers having a plurality of CPUs composed of a plurality of cores, in a virtual machine arranging apparatus according to
かかる構成によれば、仮想マシン配置装置は、空きリソース判定手段によって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。そして、仮想マシン配置装置は、コンパクション実行手段によって、物理サーバ内でCPUのコアの割り当てや、物理サーバ間でCPUのコアの割り当てを変更することができる。これによって、仮想マシン配置装置は、リソース(コア)が分断化されている場合でも、コンパクションによってリソースを有効に活用することができる。 According to this configuration, the virtual machine placement device can use the free resource determination means to determine whether or not the number of cores required by the newly placed virtual machine can be secured on the same CPU. Then, the virtual machine allocation apparatus can change the CPU core allocation in the physical server and the CPU core allocation between physical servers by the compaction execution unit. By this, even when the resource (core) is divided, the virtual machine placement device can effectively utilize the resource by compaction.
また、仮想マシン配置装置は、物理サーバ単位リソース判定手段によって、物理サーバ内でのコンパクションによって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。また、仮想マシン配置装置は、全物理サーバリソース判定手段によって、物理サーバ間のコンパクションによって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。これによって、仮想マシン配置装置は、物理サーバ内、物理サーバ間と階層的にリソースを確保することができる。 Also , the virtual machine placement device determines whether or not the number of cores required by the virtual machine to be newly placed can be secured on the same CPU by means of physical server unit compaction by means of physical server unit resource determination means. be able to. In addition, the virtual machine placement device determines whether or not the number of cores required by the virtual machine to be newly placed can be secured on the same CPU by compaction among physical servers by the all physical server resource determination means. Can. By this, the virtual machine placement device can secure resources hierarchically between physical servers and between physical servers.
また、前記課題を解決するため、請求項2に記載のリソース管理方法は、複数のコアで構成されるCPUを複数有する物理サーバを複数備えたコンピュータシステムにおいて、仮想マシン配置装置が、仮想マシンを予め同一のCPUのコアに割り当てて前記物理サーバに配置するためのリソースを確保するリソース管理方法であって、CPU単位リソース判定手段によって、前記物理サーバと前記CPUと前記コアとを対応付けるとともに、前記コアがどの仮想マシンに使用されているのかを示すリソース管理データを参照して、同一CPU内で新たな仮想マシンが予め必要とする必要コア数を確保できるか否かを判定するステップと、同一CPU内で前記必要コア数を確保できない場合に、物理サーバ単位リソース判定手段によって、前記リソース管理データを参照して、個々の物理サーバ内で、動作中の仮想マシンに割り当てられているコアを、他のCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定するステップと、前記物理サーバ内で前記必要コア数を確保できる場合に、物理サーバ内割り当て変更手段によって、前記物理サーバ内でコアの割り当てを変更するステップと、前記物理サーバ内で前記必要コア数を確保できない場合に、全物理サーバリソース判定手段によって、前記リソース管理データを参照して、すべての物理サーバ間で、動作中の仮想マシンに割り当てられているコアを、他の物理サーバのCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定するステップと、前記物理サーバ間で前記必要コア数を確保できる場合に、物理サーバ間割り当て変更手段によって、前記物理サーバ間でコアの割り当てを変更するステップと、を含むことを特徴とする。
Further, in order to solve the above problem, according to a resource management method according to
かかる手順によれば、リソース管理方法は、物理サーバ内でのコンパクションによって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。また、リソース管理方法は、物理サーバ間のコンパクションによって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。これによって、リソース管理方法は、物理サーバ内、物理サーバ間と階層的にリソースを確保することができる。 According to this procedure, the resource management method can determine whether or not the number of cores required by the virtual machine to be newly arranged can be secured on the same CPU by compaction in the physical server. Further, the resource management method can determine whether or not the number of cores required by a virtual machine to be newly disposed can be secured on the same CPU by compaction among physical servers. Thus, the resource management method can secure resources hierarchically between physical servers and between physical servers.
本発明によれば、仮想マシンの仮想CPUと物理CPUのコアとを固定的に割り当てることを前提としたシステムにおいて、自動的にリソースを割り当てることができ、人手による手間を少なくし、操作ミスを防止することができる。
また、本発明によれば、コンパクションによって、リソースの断片化を防止することができ、リソースを有効に活用することができる。
According to the present invention, it is possible to automatically allocate resources in a system on the premise of fixedly allocating the virtual CPU of the virtual machine and the core of the physical CPU, thereby reducing the time and effort of manual operation and making an operation error. It can be prevented.
Further, according to the present invention, compaction can prevent fragmentation of resources, and resources can be effectively used.
本発明の実施形態について図面を参照して説明する。
≪データセンタの全体構成≫
まず、図1,図2を参照して、本発明の実施形態に係る仮想マシン配置装置により、仮想マシンの配置およびそのリソース管理を行うコンピュータシステムの例であるデータセンタSの全体構成について説明する。
Embodiments of the present invention will be described with reference to the drawings.
<< Overall Configuration of Data Center >>
First, with reference to FIG. 1 and FIG. 2, an overall configuration of a data center S, which is an example of a computer system that performs placement of virtual machines and resource management thereof by a virtual machine placement device according to an embodiment of the present invention will be described. .
データセンタSは、インターネット、ネットワーク事業者網等(不図示)から接続可能な複数のサーバを備えたコンピュータシステムである。
このデータセンタSは、複数の物理サーバ1,1,…と、図示を省略したネットワーク機器で構成される。また、ここでは、データセンタSに、仮想マシン配置装置2を備える。なお、仮想マシン配置装置2は、必ずしもデータセンタSの中に備える必要はなく、各物理サーバ1,1,…と、ネットワーク等で接続可能なデータセンタSの外に備えることとしてもよい。
The data center S is a computer system provided with a plurality of servers connectable from the Internet, a network operator network, etc. (not shown).
The data center S is composed of a plurality of
物理サーバ1は、仮想マシン(VM)12を動作させるハードウェアである。ここでは、物理サーバ1は、複数のCPU(Central Processing Unit)10で構成され、個々のCPU(物理CPU)10は、複数のコア11で構成されているものとする。なお、図1では、物理サーバ1として、一般的に備えられる記憶装置、通信制御装置等の図示を省略している。この物理サーバ1は、当該物理サーバ1上で動作する仮想マシン12に対して、アプリケーションを動作させるためのリソース(CPU資源)を提供する。
なお、物理サーバ1上に配置される仮想マシン(以下、VM)12は、図2に示すように、複数のプロセス、スレッドが、仮想CPU(vCPU)13で動作する。また、個々の仮想CPU13は、同一のCPU(物理CPU)10の個別のコア11に固定的に割り当てられて動作するものとする。なお、以下では、この状態を、VM12がCPU10のコア11に割り当てられているという。
これによって、VM12は、コア11のCPU時間を占有することができ、他のVMにリソースをディスパッチされず、遅延を低減することができる。
The
As shown in FIG. 2, in the virtual machine (hereinafter, VM) 12 disposed on the
By this, the
仮想マシン配置装置2は、データセンタ(コンピュータシステム)S内のリソースを管理し、VM12を同一のCPU10のコア11に割り当てて物理サーバ1に配置するものである。
この仮想マシン配置装置2は、物理サーバ1のCPU10に、VM12を動作させるために十分なコア11の空きがある場合、その物理サーバ1にVM12を配置する。一方、仮想マシン配置装置2は、物理サーバ1のCPU10に、VM12を動作させるために十分なコア11の空きがない場合、コア11の断片化を解消し、コア11の空きを作ってVM12を配置する。
この仮想マシン配置装置2の構成については、図3を参照して、後で詳細に説明する。
このように、データセンタSは、仮想マシン配置装置2によって、複数の物理サーバ1上に自動でVM12を配置することができ、リソースの管理を行うことができる。
The virtual
The virtual
The configuration of the virtual
Thus, the data center S can automatically arrange the
≪仮想マシン配置装置の構成≫
次に、図3を参照して、仮想マシン配置装置2の構成について説明する。
図3に示すように、仮想マシン配置装置2は、通信部200と、記憶部210と、制御部220と、を備える。
<< Configuration of virtual machine placement device >>
Next, the configuration of the virtual
As shown in FIG. 3, the virtual
通信部(通信手段)200は、通信回線を介して、物理サーバ1との間で通信データの送受信を行うものである。例えば、通信部200は、NIC(Network Interface Card)等の通信制御手段で構成される。この通信部200は、制御部220から入力される信号(制御情報、データ)を、通信回線を介して、物理サーバ1に送信し、物理サーバ1から受信した信号を制御部220に出力する。
The communication unit (communication means) 200 transmits and receives communication data to and from the
記憶部(記憶手段)210は、データセンタS内のリソースを管理するデータ(リソース管理データ)を記憶するものである。また、ここでは、VM12として動作するアプリケーションは、アクティブ/スタンバイ(ACT〔運用系〕/SBY〔待機系〕)構成で動作するものとし、記憶部210は、VM12の動作状態を示すリスト(動作状態リスト)も記憶することとする。この記憶部210は、ハードディスク等の一般的な記憶装置で構成される。
The storage unit (storage unit) 210 stores data (resource management data) for managing resources in the data center S. Here, the application operating as the
ここで、図4,図5を参照して、記憶部210に記憶するリソース管理データの例について説明する。図4に示すように、リソース管理データは、リソース(物理サーバ1、CPU10、コア11)を、データセンタ内物理サーバリスト211、物理サーバ内CPUリスト212、CPU内コアリスト213の順にツリー構造化したデータである。
Here, an example of resource management data stored in the
データセンタ内物理サーバリスト211は、データセンタSを構成する物理サーバ1のリストである。例えば、データセンタ内物理サーバリスト211は、図5(a)に示すように、個々の物理サーバ1を識別する識別情報SV1,SV2,…(例えば、IPアドレス等)を配列したデータである。
このデータセンタ内物理サーバリスト211によって、データセンタSが何台の物理サーバ1で構成されているのかが管理される。
The data center
The physical server list in the
物理サーバ内CPUリスト212は、物理サーバ1を構成するCPU10のリストである。例えば、物理サーバ内CPUリスト212は、図5(b)に示すように、物理サーバ1ごとに、構成するCPU10を識別する識別情報CPU1,CPU2,…(例えば、連続番号等)を配列したデータである。
この物理サーバ内CPUリスト212によって、個々の物理サーバ1がいくつのCPU10で構成されているのかが管理される。
The physical
The physical
CPU内コアリスト213は、CPU10を構成するコア11のリストである。また、CPU内コアリスト213は、それぞれのコア11が、どのVM12によって使用され、どの仮想CPU13に対応付けられているのかを併せて保持する。
例えば、CPU内コアリスト213は、図5(c)に示すように、CPU10ごとに、構成するコア11を識別する識別情報CORE1,CORE2,…(例えば、連続番号等)を配列したデータである。さらに、CPU内コアリスト213は、それぞれのコア11に対して、図5(c)に示すように、使用状態(使用/未使用)を保持し、使用している場合、どの仮想マシン(VM)12によって使用され、どの仮想CPU13に対応付けられているのかを保持する。なお、図5(c)中、VM1,VM2,…は、VM12を個別に識別する識別情報(例えば、連続番号等)である。また、vCPU1,vCPU2,…は、仮想CPU13を個別に識別する識別情報(例えば、連続番号等)である。
このCPU内コアリスト213によって、個々のCPU10がいくつのコア11で構成されているのかが管理されるとともに、コア11の使用状況が管理される。
The in-
For example, as shown in FIG. 5C, the in-
The in-
次に、図6を参照して、記憶部210に記憶する動作状態リストの例について説明する。図6に示すように、動作状態リスト214は、それぞれのVM12(VM1,VM2,…)ごとに、動作しているアプリケーションAPLと、そのアプリケーションAPLがアクティブ(ACT)状態かスタンバイ(SBY)状態かを示すリストである。例えば、図6は、アプリケーションAPL1が、VM1でアクティブ(ACT)状態で動作し、VM2でスタンバイ(SBY)状態で動作していることを示している。
図3に戻って、仮想マシン配置装置2の構成について説明を続ける。
Next, with reference to FIG. 6, an example of the operation state list stored in the
Returning to FIG. 3, the description of the configuration of the virtual
制御部(制御手段)220は、仮想マシン配置装置2の動作を制御するものである。ここでは、制御部220は、配置位置制御手段21と、空きリソース判定手段22と、コンパクション実行手段23と、配置実行手段24と、を備える。
The control unit (control means) 220 controls the operation of the virtual
配置位置制御手段21は、データセンタS内のリソースの使用状態に応じて、VM12の配置位置を決定するものである。
この配置位置制御手段21は、外部からVM12のプログラム(運用系または待機系のアプリケーションを含む)と、必要とするコア数(必要コア数)とを入力されることで、VM12の配置位置を決定する。なお、VM12のプログラムや使用コア数は、予め対応付けて記憶部210に記憶しておき、配置位置制御手段21は、配置するVM12を指定されることで、VM12の配置位置を決定することとしてもよい。
The placement
The placement
ここでは、配置位置制御手段21は、VM12に含まれるアプリケーションの識別情報(APL)と、そのアプリケーションが運用系または待機系のいずれかであるかを示す識別情報(ACT/SBY)と、必要コア数とを空きリソース判定手段22に通知する。そして、配置位置制御手段21は、リソースを確保できる空きのある物理サーバ1上のCPU10の識別情報を配置位置として取得し、VM12のプログラムとともに配置実行手段24に出力する。
また、配置位置制御手段21は、空きリソース判定手段22から、VM12を配置するために、コア11の断片化を解消してコア11を再編(コンパクション)する必要である旨が、その手順(コンパクション手順)として通知された場合、コンパクション手順をコンパクション実行手段23に出力する。そして、配置位置制御手段21は、コンパクション実行後、VM12のプログラムとその配置位置とを配置実行手段24に出力する。
Here, the placement position control means 21 includes identification information (APL) of an application included in the
In addition, the arrangement position control means 21 has a procedure (compaction) indicating that it is necessary to eliminate fragmentation of the
なお、配置位置制御手段21は、空きリソース判定手段22から、コンパクションを行っても、VM12を配置するためのリソースが確保できない旨が通知された場合、図示を省略した表示装置に警告を表示する。この場合、管理者が、物理サーバ1の増設を行うことで、リソースを増やすこととすればよい。
The placement
空きリソース判定手段22は、すべての物理サーバ1で、新たに配置するVM12の必要コア数を、同一のCPU10で確保できるか否かを判定するものである。
ここでは、空きリソース判定手段22は、CPU単位リソース判定手段22aと、物理サーバ単位リソース判定手段22bと、全物理サーバリソース判定手段22cと、を備える。
The free
Here, the available
CPU単位リソース判定手段22aは、物理サーバ1のCPU10ごとに、新たに配置するVM12の必要コア数の空きがあるか否かを判定するものである。
このCPU単位リソース判定手段22aは、1つのCPU10のみでリソース(必要コア数)が確保可能であれば、そのCPU10をVM12の配置位置として、配置位置制御手段21に物理サーバ1およびCPU10の識別情報を出力する。この場合、CPU単位リソース判定手段22aは、コンパクション手順を配置位置制御手段21に出力しない。
一方、CPU単位リソース判定手段22aは、1つのCPU10のみでリソースが確保できない場合、必要コア数を、物理サーバ単位リソース判定手段22bに出力する。
The CPU-based resource determination unit 22 a determines, for each of the
If the CPU (resource required number) can be secured by only one
On the other hand, when the resource can not be secured by only one
このCPU単位リソース判定手段22aは、記憶部210に記憶されているリソース管理データ(図4参照)を参照し、CPU内コアリスト(図5(c)参照)で、同一CPU10で「未使用」のコアの数(空き個数)が、必要コア数以上である場合、そのCPU10において、リソースを確保することができると判定する。
なお、CPU単位リソース判定手段22aは、新たに配置するVM12に含まれるアプリケーションAPLの動作系(運用系または待機系)と異なる動作系がすでに配置されている物理サーバ1のCPU10については、必要コア数の空きを判定しないこととする。
これによって、運用系アプリケーションを含むVMと、待機系アプリケーションを含むVMとを、異なる物理サーバ1に配置することができる。
The CPU unit resource determination unit 22a refers to the resource management data (see FIG. 4) stored in the
Note that the CPU unit resource determination means 22a is required core for the
As a result, the VM including the operation application and the VM including the standby application can be arranged on different
ここで、図7を参照して、CPU単位リソース判定手段22aの処理の具体例について説明する。図7に示すように、例えば、ある物理サーバ1(SV1)が18コアのCPU4個(CPU1〜CPU4)で構成されており、それぞれのCPUが複数のVM12で使用されて、コアの空き個数が、7個、5個、7個、6個であったとする。
この状態で、新規に配置するVM12の必要コア数として4個が通知された場合、CPU単位リソース判定手段22aは、探索順で最初にリソースを確保することができる物理サーバ1(SV1)のCPU1を、VM12の配置位置とする。
Here, with reference to FIG. 7, a specific example of the process of the CPU-based resource determination unit 22a will be described. As shown in FIG. 7, for example, one physical server 1 (SV 1 ) is configured by four 18-core CPUs (CPU 1 to CPU 4 ), and each CPU is used by a plurality of
In this state, when four are notified as the required number of cores of the
一方、新規に配置するVM12の必要コア数として8個が通知された場合、CPU単位リソース判定手段22aは、物理サーバ1(SV1)では、リソースを確保できないと判定する。
図3に戻って、仮想マシン配置装置2の構成について説明を続ける。
On the other hand, when eight are notified as the required number of cores of the
Returning to FIG. 3, the description of the configuration of the virtual
物理サーバ単位リソース判定手段22bは、CPU単位リソース判定手段22aにおいて、同一CPUで必要コア数を確保できない場合に、個々の物理サーバ内で、動作中のVM12に割り当てられているコア11を、他のCPU10に割り当て直すことで、必要コア数を同一CPU上に確保できるか否かを判定するものである。
The physical server unit resource determination unit 22b, when the CPU unit resource determination unit 22a can not ensure the required number of cores by the same CPU, generates the
この物理サーバ単位リソース判定手段22bは、1つの物理サーバ1のコンパクションのみでリソース(必要コア数)が確保可能であれば、そのリソースを有する物理サーバ1およびCPU10の識別情報を配置位置として、配置位置制御手段21に出力する。また、物理サーバ単位リソース判定手段22bは、コンパクション手順を配置位置制御手段21に出力する。
なお、物理サーバ単位リソース判定手段22bは、新たに配置するVM12に含まれるアプリケーションAPLの動作系(運用系または待機系)と異なる動作系がすでに配置されている物理サーバ1については、必要コア数の空きを確保できるか否かを判定しないこととする。
If the resource (number of required cores) can be secured only by the compaction of one
The physical server unit resource determination unit 22b is configured to acquire the required number of cores for the
ここで、図7,図8を参照して、物理サーバ単位リソース判定手段22bの処理の具体例について説明する。図7は、CPU単位リソース判定手段22aの処理で説明した図であるため、ここでは説明を省略する。
図7に示した状態で、新規に配置するVM12の必要コア数として、それぞれのCPU10の空きコア数よりも多い個数(ここでは、8個)が通知された場合、物理サーバ単位リソース判定手段22bは、空きコア数の多い順に、物理サーバ1のCPU10を並べ替える。ここで、CPU10を並べ替えるとは、物理サーバ単位リソース判定手段22bが、処理対象とするCPUの順番を変えるという意味である。
例えば、図8(a)に示すように、物理サーバ単位リソース判定手段22bは、図7のCPU10の配列を、CPU1,CPU3,CPU4,CPU2の順に並べ替える。
Here, with reference to FIGS. 7 and 8, a specific example of the process of the physical server unit resource determination unit 22b will be described. FIG. 7 is a diagram described in the process of the CPU unit resource determination unit 22a, and thus the description thereof is omitted here.
In the state shown in FIG. 7, when the number (in this case, eight) greater than the number of vacant cores of each
For example, as illustrated in FIG. 8A, the physical server unit resource determination unit 22b rearranges the arrangement of the
そして、物理サーバ単位リソース判定手段22bは、最も空きコア数の多いCPU10から、空きコア数の少ないCPU10に対して順に、使用しているコア11の割り当てを変更可能か否か判定する。これは、空きコア数の多いCPU10から、空きコア数の少ないCPU10へ割り当てを変更すれば、より多くの空きコア数を確保することが可能になるからである。なお、コア11の割り当て変更は、VM12単位で行うこととする。
例えば、図8(a)の例では、最も空きコア数の多いCPU10(CPU1)には、変更対象としてvm1,vm2,vm3の3つのVM12が存在する。そして、物理サーバ単位リソース判定手段22bは、新たに配置するVM12の必要コア数に足りないコア数(不足コア数)を計算し、すでに存在するVM12の組み合わせで、不足コア数よりも多い組み合わせのリストを生成する。図8(a)の例では、CPU1は、必要コア数8個に対して不足コア数は1個であるため、該当する組み合わせは、vm1のみ、vm2のみ、vm3のみ、vm1とvm2、vm1とvm3、vm2とvm3、vm1とvm2とvm3、の7通りとなる。
Then, the physical server unit resource determination unit 22b determines whether the allocation of the
For example, in the example of FIG. 8A, three
ここで、物理サーバ単位リソース判定手段22bは、各組み合わせのコア数の多い順に、より空きコア数の少ないCPU10に割り当て変更可能な組み合わせを探索する。
図8(a)の例では、コア数の多い順に、vm1とvm2とvm3(コア数11個)、vm1とvm3(コア数9個)、vm1とvm2(コア数8個)、vm1(コア数6個)、vm2とvm3(コア数5個)、vm3(コア数3個)、vm2(コア数2個)の順となる。
Here, the physical server unit resource determination unit 22b searches for a combination that can be assigned to the
In the example of FIG. 8A, vm1, vm2 and vm3 (11 cores), vm1 and vm3 (9 cores), vm1 and vm2 (8 cores), vm1 (cores) in descending order of the number of cores The number is six, vm2 and vm3 (five cores), vm3 (three cores), and vm2 (two cores) in this order.
そして、物理サーバ単位リソース判定手段22bは、コア数の多いものから順に、空きコア数の少ないCPU10に割り当て変更可能な組み合わせを探索する。この場合、vm1とvm2とvm3(コア数11個)、vm1とvm3(コア数9個)、vm1とvm2(コア数8個)の各組み合わせは、他のどのCPUにも空きがなく割り当てることができない。そして、次にコア数の多いvm1(コア数6個)は、空きコア数の最も少ないCPU2には割り当てることができないが、図8(b)に示すように、その次に空きコア数の少ないCPU4には割り当てることができる。すなわち、物理サーバ単位リソース判定手段22bは、CPU1に割り当てられているVM(vm1)を、CPU4に割り当てるようにリソースの再編(コンパクション)を行えば、新規のVM12へのリソースを確保することができると判定する。
Then, the physical server unit resource determination unit 22b searches for a combination that can be allocated and changed to the
なお、変更可能な組み合わせの中で、コア数の合計が同一でVM12の数が異なる場合は、VM12の数が少ない方を優先して変更の対象とすることが望ましい。これは、変更するVM12の数が多いほど、変更にかかる時間、処理手順の増加等のデータセンタS全体に与える影響が増してしまうからである。
これによって、物理サーバ単位リソース判定手段22bは、図8(c)に示すように、物理サーバ1内のコンパクションによって、新規のVM12(ここでは、コア数8)を、CPU1に配置することが可能であると判定する。
When the total number of cores is the same and the number of
As a result, as shown in FIG. 8C, the physical server unit resource determination unit 22b may arrange the new VM 12 (here, the number of cores 8) in the CPU 1 by the compaction in the
ここでは、物理サーバ単位リソース判定手段22bは、最も空きコア数の多いCPU10(ここでは、CPU1)を基準としてリソースが確保可能か否かを判定したが、リソースが確保できない場合、順次、空きコア数の多いCPU10から順(図8の例では、CPU1→CPU3→CPU4→CPU2)に同様の処理を行えばよい。
Here, the physical server unit resource determination unit 22b determines whether resources can be secured or not on the basis of the CPU 10 (CPU 1 in this case) with the largest number of vacant cores, but if resources can not be secured, the resources are sequentially vacant. The same processing may be performed in order from the
この物理サーバ単位リソース判定手段22bは、新規VMに必要はリソース(必要コア数)が確保可能であると判定した場合、配置可能な物理サーバ1およびCPU10を特定する識別情報(図8の例では、SV1,CPU1)を、配置位置制御手段21に出力する。また、リソースを確保するためコンパクション手順(図8の例では、SV1のCPU1からCPU4へのvm1の割り当て変更)を配置位置制御手段21に出力する。
そして、物理サーバ単位リソース判定手段22bは、必要コア数の空きをコンパクションによって確保できない場合、他の物理サーバ1(データセンタ内物理サーバリスト211(図5(a)参照)の次の物理サーバ)でリソースを探索するように、CPU単位リソース判定手段22aに指示する。そして、すべての物理サーバ1において、それぞれコンパクションによって必要コア数が確保できなかった場合、物理サーバ単位リソース判定手段22bは、必要コア数を、全物理サーバリソース判定手段22cに出力する。
図3に戻って、仮想マシン配置装置2の構成について説明を続ける。
When the physical server unit resource determination unit 22b determines that the resource (the required number of cores) necessary for the new VM can be secured, identification information for identifying the
If the physical server unit resource determination unit 22b can not secure the required number of cores by compaction, the physical server 1 (the physical server following the physical server list in the data center 211 (see FIG. 5A)) The CPU unit resource determination unit 22a is instructed to search for a resource in Then, in the case where the required number of cores can not be secured due to compaction in all the
Returning to FIG. 3, the description of the configuration of the virtual
全物理サーバリソース判定手段22cは、物理サーバ1内で必要コア数を確保できない場合に、すべての物理サーバ1間で、動作中のVM12に割り当てられているコアを、他の物理サーバ1のCPU10に割り当て直すことで、必要コア数を同一CPU上に確保できるか否かを判定するものである。
この全物理サーバリソース判定手段22cは、コンパクションでリソース(必要コア数)が確保可能であれば、そのリソースを有する物理サーバ1およびCPU10の識別情報を、配置位置制御手段21に出力する。また、全物理サーバリソース判定手段22cは、コンパクション手順を配置位置制御手段21に出力する。
The all-physical server
If all resources (number of required cores) can be secured by compaction, the all physical server
例えば、全物理サーバリソース判定手段22cは、図9(a)に示すように、物理サーバ1(SV1,SV2,SV3)が、それぞれ18コアのCPU4個(CPU1〜CPU4)、CPU2個(CPU5,CPU6)、CPU2個(CPU7,CPU8)で構成され、それぞれのCPUで複数のVM12によってコア11が使用されているとする。
この場合、全物理サーバリソース判定手段22cは、図9(b)に示すように、空きコア数の多い順に、CPU10を並べ替える。すなわち、物理サーバ単位リソース判定手段22bが、1つの物理サーバ1内で並べ替えを行ったのに対し(図8参照)、全物理サーバリソース判定手段22cは、すべての物理サーバ1を対象として、CPU10の並べ替えを行う。
これ以降の処理は、物理サーバ単位リソース判定手段22bの処理(図8参照)と同じであるため、説明を省略する。
For example, as illustrated in FIG. 9A, all physical server
In this case, the all-physical server
The subsequent processing is the same as the processing (see FIG. 8) of the physical server unit resource determination unit 22b, and thus the description thereof is omitted.
ただし、全物理サーバリソース判定手段22cは、図8(b)に示したように、コアの割り当てを変更するリソースを探索する場合、変更後の物理サーバ1において、同じアプリケーションの運用系および待機系が、同じ物理サーバ1のCPU10上で動作することがないように、リソースの探索を行うこととする。
また、全物理サーバリソース判定手段22cは、新たに配置するVM12に含まれるアプリケーションAPLの動作系(運用系または待機系)と異なる動作系がすでに配置されている物理サーバ1については、必要コア数の空きを確保できるか否かを判定しないこととする。
However, as shown in FIG. 8B, when searching for a resource whose core allocation is to be changed, the all physical server
In addition, all physical server resource determination means 22c is required for the
この全物理サーバリソース判定手段22cは、新規VMに必要なリソース(必要コア数)が確保可能であると判定した場合、配置可能な物理サーバ1およびCPU10を特定する識別情報を、配置位置制御手段21に出力する。また、リソースを確保するためコンパクション手順を配置位置制御手段21に出力する。
そして、全物理サーバリソース判定手段22cは、すべての物理サーバ1で、必要コア数の空きをコンパクションによって確保できない場合、リソースが確保できない旨を配置位置制御手段21に出力する。
このように、全物理サーバリソース判定手段22cは、すべての物理サーバ1(すなわち、データセンタS)を対象として、新たに配置するVM12の必要コア数の空きがあるか否かを判定する。
図3に戻って、仮想マシン配置装置2の構成について説明を続ける。
If all physical server resource determination means 22c determines that the resources required for the new VM (number of required cores) can be secured, the identification information for specifying the
Then, when all the
As described above, the all physical server
Returning to FIG. 3, the description of the configuration of the virtual
コンパクション実行手段23は、配置位置制御手段21から出力されるコンパクション手順に基づいて、動作中のVM12が割り当てられているコア11を、当該VM12が動作している同じ物理サーバ1の他のCPU10、または、他の物理サーバ1のCPU10に割り当て直す(コンパクション)ものである。このコンパクション実行手段23は、空きリソース判定手段22で、コンパクションを行わずに同一CPU上に必要コア数を確保できない判定された場合に動作する。
ここでは、コンパクション実行手段23は、物理サーバ内割り当て変更手段23aと、物理サーバ間割り当て変更手段23bと、を備える。
The
Here, the
物理サーバ内割り当て変更手段23aは、物理サーバ1内で、VM12のCPU10のコア11への割り当てを変更するものである。この物理サーバ内割り当て変更手段23aは、コンパクション手順として、同一の物理サーバ1内で、コア11の割り当てを変更する手順が指定された際に動作する。すなわち、この物理サーバ内割り当て変更手段23aは、物理サーバ単位リソース判定手段22bによって、リソースを確保することが可能であると判定されたコンパクション手順を実行する。
例えば、物理サーバ内割り当て変更手段23aは、図10に示すように、CPU10B1のコアに割り当てられているVM12Bの仮想CPU(vCPU)を、同じ物理サーバ1Bの他のCPU10B2のコアに割り当てる。なお、この割り当ての手法は、従来の一般的な手法(非特許文献1)であるため、ここでは、詳細な説明を省略する。
The physical server internal allocation changing means 23 a changes the allocation of the
For example, physical servers within allocation change means 23a, as shown in FIG. 10, the virtual CPU of VM12B assigned to the core of the CPU 10B 1 (vCPUs), assigned to the other CPU 10B 2 of the core of the same
この物理サーバ内割り当て変更手段23aは、割り当て変更後、記憶部210に記憶されているリソース管理データを更新する。すなわち、物理サーバ内割り当て変更手段23aは、コアを解放したCPUのCPU内コアリスト213(図5(c)参照)において、割り当てを変更したVM12を「使用VM」から削除するとともに、VM12が使用していたコアの「使用」を「未使用」に変更する。また、物理サーバ内割り当て変更手段23aは、新たにコアを割り当てたCPU10のCPU内コアリスト213(図5(c)参照)において、割り当てを変更したVM12に割り当てたコア11を「未使用」から「使用」に変更するとともに、「使用VM」に割り当てを変更したVM12の識別情報とコア11に割り当てた仮想CPU13の識別情報とを設定する。
この物理サーバ内割り当て変更手段23aは、コンパクションを実行し、リソース管理データを更新した後、コンパクションが完了した旨を配置位置制御手段21に通知する。
The intra-physical-server
The physical server internal
物理サーバ間割り当て変更手段23bは、異なる物理サーバ1間で、VM12のCPU10のコア11への割り当てを変更するものである。この物理サーバ間割り当て変更手段23bは、コンパクション手順として、異なる物理サーバ1間で、コア11の割り当てを変更する手順が指定された際に動作する。すなわち、この物理サーバ間割り当て変更手段23bは、全物理サーバリソース判定手段22cによって、リソースを確保することが可能であると判定されたコンパクション手順を実行する。
例えば、物理サーバ間割り当て変更手段23bは、図11に示すように、物理サーバ1BのCPU10Bのコアに割り当てられているVM12Bを、物理サーバ1CのCPU10Cのコアに割り当てる。すなわち、物理サーバ間割り当て変更手段23bは、VM12Bを、物理サーバ1Bから物理サーバ1Cに移動させて、コアの割り当てを変更する。
The inter-physical-server allocation changing unit 23 b changes the allocation of the
For example, as illustrated in FIG. 11, the inter-physical-server allocation changing unit 23b allocates the VM 12B allocated to the core of the CPU 10B of the
この物理サーバ間割り当て変更手段23bは、割り当て変更後、記憶部210に記憶されているリソース管理データを更新する。この物理サーバ間割り当て変更手段23bのリソース管理データの更新は、物理サーバ内割り当て変更手段23aと同様であり、物理サーバ1を跨っている点のみが異なるため、ここでは説明を省略する。
なお、物理サーバ間割り当て変更手段23bは、異なる物理サーバ1間でVM12の移動を行うため、VM12の起動状態を制御して移動を行う必要がある。
The inter-physical-server allocation changing unit 23b updates the resource management data stored in the
In order to move the
ここで、図11,図12を参照して、アクティブ/スタンバイ構成でアプリケーションが動作しているVM12のコアの割り当ての変更について説明する。
「0.初期状態」として、物理サーバ1Aにおいて、VM12Aでアプリケーションがスタンバイ(SBY)状態で起動中であって、物理サーバ1Bにおいて、VM12Bでアプリケーションがアクティブ(ACT)状態で起動中であるとする。すなわち、物理サーバ1A,1Bで、アプリケーションが二重化されて動作しているものとする。
ここで、VM12Bを、物理サーバ1Bから物理サーバ1Cに移動させることとする。
Here, with reference to FIGS. 11 and 12, the change of the core allocation of the
In the “0. initial state”, in the
Here, it is assumed that the VM 12B is moved from the
「1.系切り替え」として、物理サーバ間割り当て変更手段23bは、物理サーバ1AのVM12AでSBY状態として起動中のアプリケーションをACT状態に変更するとともに、物理サーバ1BのVM12BでACT状態として起動中のアプリケーションをSBY状態に変更する。これによって、アプリケーションの動作系が変更される。
As “1. System switching”, the inter-server allocation changing means 23b changes the application being activated as the SBY state in the VM 12A of the
「2.SBY停止」として、物理サーバ間割り当て変更手段23bは、物理サーバ1BのVM12Bのアプリケーションを停止させる。この場合でも、アプリケーションは、物理サーバ1Aで1系統(運用系)が動作している。
As “2. SBY stop”, the inter-physical server allocation change unit 23 b stops the application of the VM 12 B of the
「3.VM移動」として、物理サーバ間割り当て変更手段23bは、VM12(アプリケーションを含む)を物理サーバ1Bから物理サーバ1Cに移動させる。すなわち、物理サーバ間割り当て変更手段23bは、VM12(アプリケーションを含む)を物理サーバ1Cにコピーし、物理サーバ1Bから削除する。このとき、物理サーバ間割り当て変更手段23bは、前記したようにコアの割り当てを変更する。
As “3. VM migration”, the inter-physical-server allocation changing unit 23b migrates the VM 12 (including the application) from the
「4.SBY立ち上げ」として、物理サーバ間割り当て変更手段23bは、物理サーバ1CのVM12BのアプリケーションをSBY状態で起動させる。
「5.系切り替え」として、物理サーバ間割り当て変更手段23bは、物理サーバ1AのVM12AでACT状態として起動中のアプリケーションをSBY状態に変更するとともに、物理サーバ1CのVM12BでSBY状態として起動中のアプリケーションをACT状態に変更する。
As “4. SBY startup”, the inter-physical-server allocation changing unit 23b starts the application of the VM 12B of the
As “5. System switching”, the inter-server allocation changing means 23b changes the application being activated as the ACT state in the VM 12A of the
なお、ここでは、移動対象のVM12Bのアプリケーションが初期状態においてACT状態である場合について説明した。
しかし、移動対象のVM12Bのアプリケーションが初期状態においてSBY状態である場合、すなわち、アプリケーションが二重化されているVM12Aのアプリケーションが初期状態においてACT状態である場合、物理サーバ間割り当て変更手段23bは、図12において、「1.系切り替え」から「4.SBY立ち上げ」までの処理を行えばよい。
このように、物理サーバ間割り当て変更手段23bは、アプリケーションのサービスを中断することなく、コアの割り当てを変更することができる。
図3に戻って、仮想マシン配置装置2の構成について説明を続ける。
Here, the case where the application of the migration target VM 12B is in the ACT state in the initial state has been described.
However, when the application of the migration target VM 12B is in the SBY state in the initial state, that is, when the application of the VM 12A in which the application is duplicated is in the ACT state in the initial state, the inter-physical server allocation change unit 23b is shown in FIG. In the above, the processing from “1. system switching” to “4. SBY startup” may be performed.
In this way, the physical server inter-server allocation changing means 23b can change the core allocation without interrupting the service of the application.
Returning to FIG. 3, the description of the configuration of the virtual
配置実行手段24は、配置位置制御手段21で決定された配置位置に、新規のVM12を配置するものである。
この配置実行手段24は、新規のVM12のプログラムを、配置位置として指定される物理サーバ1に通信部200を介してコピーし、同じく配置位置として指定されるCPU10の空きコアにVM12の仮想CPU13を割り当てる。
The placement execution means 24 places the
The
なお、配置実行手段24は、記憶部210に記憶されているリソース管理データ(図5参照)を参照し、指定された物理サーバ1のCPU10のコアで未使用のコアに、必要コア数分のVM12の仮想CPUを割り当てる。そして、配置実行手段24は、リソース管理データのCPU内コアリスト213(図5(c)参照)において、割り当てたコアの「使用/未使用」を「使用」に設定するとともに、「使用VM」に、新たに配置したVM12の識別情報と仮想CPU13の識別情報とを設定する。
また、配置実行手段24は、記憶部210に記憶されている動作状態リスト214(図6参照)において、新規のVM12のプログラムを識別するVM12の識別情報を設定するとともに、アプリケーションの識別情報と運用系または待機系のいずれかであるかを示す識別情報(ACT/SBY)とを設定する。
The
In addition, the arrangement execution means 24 sets the identification information of the
なお、配置実行手段24は、外部からVM12の削除を指示された場合、通信部200を介して、対応する物理サーバ1に対して、VM12の削除を指示し、記憶部210のリソース管理データのCPU内コアリスト(図5(c)参照)と、動作状態リスト(図6参照)とを更新することとする。
Note that, when instructed to delete the
以上説明したように仮想マシン配置装置2を構成することで、仮想マシン配置装置2は、CPU10のコア11に仮想マシン(VM)12の仮想CPU(vCPU)13を割り当てて動作させるシステムにおいて、その割り当て処理を自動で行うことができる。
また、仮想マシン配置装置2は、VM12の配置によるリソースの獲得、停止によるリソースの回収を繰り返すことによりリソースの断片化が発生した場合でも、コンパクションにより新規に配置するVM12に対してリソースを確保することができる。
なお、仮想マシン配置装置2は、コンピュータを、前記した各手段として機能させるプログラム(仮想マシン配置プログラム)で動作させることができる。
As described above, by configuring the virtual
In addition, even when resource fragmentation occurs by repeating acquisition of resources by allocation of
Note that the virtual
≪仮想マシン配置装置の動作≫
次に、図13,図14を参照(構成については、適宜、図1〜図3参照)して、仮想マシン配置装置2の動作について説明する。
まず、仮想マシン配置装置2は、配置位置制御手段21に新規のVM12の配置を指示された場合、空きリソース判定手段22のCPU単位リソース判定手段22aによって、CPU単位でのリソース確保を試みる。
すなわち、空きリソース判定手段22は、記憶部210に記憶されているデータセンタ内物理サーバリスト211(図5(a)参照)から、最初の物理サーバを選択する(ステップS1)。なお、空きリソース判定手段22は、動作状態リスト214(図6参照)を参照して、新たに追加するVM12のアプリケーションとは異なる他の動作系(運用系または待機系)と同じアプリケーションが動作している場合、その動作している物理サーバは選択から除外する。
<< Operation of virtual machine placement device >>
Next, the operation of the virtual
First, when the virtual
That is, the free
そして、CPU単位リソース判定手段22aは、選択した物理サーバに対応する物理サーバ内CPUリスト212(図5(b)参照)から、最初のCPUを選択する(ステップS2)。 Then, the CPU unit resource determination unit 22a selects the first CPU from the physical server CPU list 212 (see FIG. 5B) corresponding to the selected physical server (step S2).
そして、CPU単位リソース判定手段22aは、選択したCPU10に対応するCPU内コアリスト213(図5(c)参照)を参照して、新たに配置するVM12の必要コア数の空きがあるか否かを判定する(ステップS3)。すなわち、CPU単位リソース判定手段22aは、CPU内コアリスト213で、コア11の「未使用」の数が、必要コア数以上であるか否かを判定する。
Then, with reference to the in-CPU core list 213 (see FIG. 5C) corresponding to the selected
ここで、必要コア数の空きがある場合(ステップS3でYes)、仮想マシン配置装置2は、配置実行手段24によって、選択されたCPUを配置位置として、VM12を配置する(ステップS4)。ここでは、CPU単位リソース判定手段22aが、選択した物理サーバ1およびCPU10の識別情報を配置位置として配置位置制御手段21に通知し、配置位置制御手段21が、その配置位置にVM12を配置する旨を配置実行手段24に指示することで、VM12の配置が実行される。
そして、配置実行手段24は、記憶部210のリソース管理データのCPU内コアリスト(図5(c)参照)と、動作状態リスト(図6参照)とを更新する(不図示)。
Here, when there is a space required for the required number of cores (Yes in step S3), the virtual
Then, the
一方、選択されたCPUに必要コア数の空きがない場合(ステップS3でNo)、CPU単位リソース判定手段22aは、物理サーバ内CPUリスト212(図5(b)参照)に次のCPU10があるか否かを判定する(ステップS5)。
ここで、次のCPU10が存在する場合(ステップS5でYes)、CPU単位リソース判定手段22aは、次のCPU10を選択し(ステップS6)、ステップS3に動作を戻す。
そして、次のCPU10が存在しない場合(ステップS5でNo)、CPU単位リソース判定手段22aは、ステップS7(図14)に動作を移す(A)。
On the other hand, when the selected CPU does not have the necessary number of cores available (No in step S3), the CPU unit resource determination unit 22a has the
Here, when the
When the
この場合、選択した物理サーバ1内のCPU単位では、新たなVM12のためのリソースを確保できないため、仮想マシン配置装置2は、物理サーバ単位リソース判定手段22bによって、選択した物理サーバ全体でのリソース確保を試みる。
In this case, the resource for the
すなわち、物理サーバ単位リソース判定手段22bは、選択した物理サーバ1に対応する物理サーバ内CPUリスト212(図5(b)参照)により、当該物理サーバ1に含まれるすべてのCPU10に対応するCPU内コアリスト213(図5(c)参照)を参照して、物理サーバ1内に新たに配置するVM12の必要コア数を確保できるか否かを判定する(ステップS7)。このとき、物理サーバ単位リソース判定手段22bは、図7,図8で説明したように、物理サーバ1内でコンパクションによってリソース(必要コア数)を確保できるか否かを判定する。
That is, the physical server unit resource determination unit 22 b determines the internal CPUs corresponding to all the
ここで、必要コア数が確保できる場合(ステップS7でYes)、仮想マシン配置装置2は、コンパクション実行手段23の物理サーバ内割り当て変更手段23aによって、物理サーバ1内でコンパクションを実行する(ステップS8)。ここでは、物理サーバ単位リソース判定手段22bが、コンパクションによってリソースが確保されるコンパクション手順を配置位置制御手段21に通知し、物理サーバ内割り当て変更手段23aが、そのコンパクション手順を実行する。
Here, when the required number of cores can be secured (Yes in step S7), the virtual
そして、仮想マシン配置装置2は、配置実行手段24によって、リソースが確保された配置位置に、VM12を配置する(ステップS9)。ここでは、物理サーバ単位リソース判定手段22bが、コンパクションによりリソースを確保可能な物理サーバ1およびCPU10の識別情報を配置位置として配置位置制御手段21に通知し、配置位置制御手段21が、その配置位置にVM12を配置する旨を配置実行手段24に指示することで、VM12の配置が実行される。
そして、配置実行手段24は、記憶部210のリソース管理データのCPU内コアリスト(図5(c)参照)と、動作状態リスト(図6参照)とを更新する(不図示)。
Then, the virtual
Then, the
一方、選択された物理サーバ1内に必要コア数が確保できない場合(ステップS7でNo)、物理サーバ単位リソース判定手段22bは、データセンタ内物理サーバリスト211(図5(a)参照)に次の物理サーバ1があるか否かを判定する(ステップS10)。
ここで、次の物理サーバが存在する場合(ステップS10でYes)、物理サーバ単位リソース判定手段22bは、次の物理サーバ1を選択し(ステップS11)、ステップS2(図13)に動作を戻す(B)。
On the other hand, when the required number of cores can not be secured in the selected physical server 1 (No in step S7), the physical server unit resource determination unit 22b continues to the physical server list in data center 211 (see FIG. 5A). It is determined whether there is any physical server 1 (step S10).
Here, when the next physical server exists (Yes in step S10), the physical server unit resource determination unit 22b selects the next physical server 1 (step S11), and returns the operation to step S2 (FIG. 13). (B).
なお、物理サーバ単位リソース判定手段22bは、動作状態リスト214(図6参照)を参照して、新たに追加するVM12のアプリケーションとは異なる他の動作系(運用系または待機系)と同じアプリケーションが動作している場合、その動作している物理サーバは選択から除外する。
The physical server unit resource determination unit 22b refers to the operation state list 214 (see FIG. 6) and the same application as another operation system (operating system or standby system) different from the application of the
そして、次の物理サーバ1が存在しない場合(ステップS10でNo)、物理サーバ単位リソース判定手段22bは、ステップS12に動作を移す。
この場合、物理サーバ単位では、新たなVM12のためのリソースを確保できないため、仮想マシン配置装置2は、全物理サーバリソース判定手段22cによって、すべての物理サーバ1でのリソース確保を試みる。
Then, when the next
In this case, since resources for a
すなわち、全物理サーバリソース判定手段22cは、データセンタ内物理サーバリスト211(図5(a)参照)で特定されるすべての物理サーバ1に対応する物理サーバ内CPUリスト212(図5(b)参照)により、すべての物理サーバ1に含まれるすべてのCPU10に対応するCPU内コアリスト213(図5(c)参照)を参照して、物理サーバ1内に新たに配置するVM12の必要コア数を確保できるか否かを判定する(ステップS12)。このとき、全物理サーバリソース判定手段22cは、データセンタS内でコンパクションによってリソース(必要コア数)を確保できるか否かを判定する。
That is, the all-physical server
ここで、必要コア数が確保できる場合(ステップS12でYes)、仮想マシン配置装置2は、コンパクション実行手段23の物理サーバ間割り当て変更手段23bによって、物理サーバ1間でコンパクションを実行する(ステップS13)。ここでは、全物理サーバリソース判定手段22cが、コンパクションによってリソースが確保されるコンパクション手順を配置位置制御手段21に通知し、物理サーバ間割り当て変更手段23bが、そのコンパクション手順を実行する。
Here, when the required number of cores can be secured (Yes in step S12), the virtual
そして、仮想マシン配置装置2は、配置実行手段24によって、リソースが確保された配置位置に、VM12を配置する(ステップS14)。ここでは、全物理サーバリソース判定手段22cが、コンパクションによりリソースを確保可能な物理サーバ1およびCPU10の識別情報を配置位置として配置位置制御手段21に通知し、配置位置制御手段21が、その配置位置にVM12を配置する旨を配置実行手段24に指示することで、VM12の配置が実行される。
Then, the virtual
そして、配置実行手段24は、記憶部210のリソース管理データのCPU内コアリスト(図5(c)参照)と、動作状態リスト(図6参照)とを更新する(不図示)。
一方、すべての物理サーバによっても、必要コア数が確保できない場合(ステップS12でNo)、仮想マシン配置装置2は、配置位置制御手段21によって、図示を省略した表示装置に警告を表示する(ステップS15)。
この場合、データセンタS内に新たに物理サーバを追加した後(ステップS16)、新たなVMを配置することとする(ステップS17)。
Then, the
On the other hand, when the required number of cores can not be secured by all physical servers (No in step S12), the virtual
In this case, after a physical server is newly added in the data center S (step S16), a new VM is placed (step S17).
以上の動作によって、仮想マシン配置装置2は、データセンタS内のリソース管理を行って、リソースの断片化が発生した場合でも、コンパクションにより新規に配置するVM12にリソースを確保することができる。
By the above operation, the virtual
以上、本発明の実施形態について説明したが、本発明はこの実施形態に限定されるものではない。
例えば、ここでは、仮想マシン配置装置2は、配置位置制御手段21が、外部からVM12の配置や削除を指示されるたびに、リソース管理データを更新することとした。
しかし、仮想マシン配置装置2は、データセンタS内の物理サーバ1から、通信部200を介して、VMの終了通知を受信することで、配置実行手段24が、リソースを更新(解放)することとしてもよい。あるいは、配置実行手段24は定期的にVM12の動作確認を行って、動作確認のとれないVM12のリソースを更新(解放)することとしてもよい。
これによって、物理サーバ1が、自発的にVM12の削除を行った場合でも、仮想マシン配置装置2がリソースを管理することができる。
As mentioned above, although embodiment of this invention was described, this invention is not limited to this embodiment.
For example, here, the virtual
However, the virtual
Thus, even when the
また、ここでは、空きリソース判定手段22は、ある物理サーバ1においてCPU10ごとにリソースが確保できるか探索し、確保できない場合にその物理サーバ1内でコンパクションを行うことでリソースを確保できるか否かを判定した。すなわち、空きリソース判定手段22は、CPU単位の探索と物理サーバ単位の探索とを、物理サーバ1ごとに順次繰り返してリソースを確保できるか否か判定した。
しかし、空きリソース判定手段22は、すべての物理サーバ1内のすべてのCPU10でリソースが確保できるか探索し、確保できない場合に、物理サーバ単位でコンパクションすることでリソースを確保できるか否かを判定することとしてもよい。すなわち、空きリソース判定手段22は、すべての物理サーバ1でCPU単位の探索を行った後、すべての物理サーバ1に対して、物理サーバ単位の探索を行うこととしてもよい。
Furthermore, here, the free
However, the free
S データセンタ(コンピュータシステム)
1 物理サーバ(サーバハード)
10 CPU
11 コア
12 仮想マシン(VM)
13 仮想CPU(vCPU)
2 仮想マシン配置装置
21 配置位置制御手段
22 空きリソース判定手段
22a CPU単位リソース判定手段
22b 物理サーバ単位判定手段
22c 全物理サーバリソース判定手段
23 コンパクション実行手段
23a 物理サーバ内割り当て変更手段
23b 物理サーバ間割り当て変更手段
24 配置実行手段
200 通信部(通信手段)
210 記憶部(記憶手段)
220 制御部(制御手段)
S Data Center (Computer System)
1 Physical server (server hardware)
10 CPU
11
13 Virtual CPU (vCPU)
2 Virtual
210 Storage unit (storage means)
220 Control unit (control means)
Claims (2)
前記物理サーバと前記CPUと前記コアとを対応付けるとともに、前記コアがどの仮想マシンに使用されているのかを示すリソース管理データを記憶する記憶手段と、
前記リソース管理データを参照して、新たな仮想マシンが予め必要とする必要コア数を同一CPU上に確保できるか否かを判定する空きリソース判定手段と、
前記空きリソース判定手段で同一CPU上に前記必要コア数を確保できない場合に、動作中の仮想マシンが割り当てられているコアを、当該仮想マシンが動作している物理サーバの他のCPU、または、他の物理サーバのCPUに割り当て直すコンパクション実行手段と、
確保された同一CPU上のコアに、前記新たな仮想マシンを配置する配置実行手段と、
を備え、
前記空きリソース判定手段は、
前記同一CPUで前記必要コア数を確保できない場合に、個々の物理サーバ内で、前記動作中の仮想マシンに割り当てられているコアを、他のCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定する物理サーバ単位リソース判定手段と、
前記物理サーバ内で前記必要コア数を確保できない場合に、すべての物理サーバ間で、前記動作中の仮想マシンに割り当てられているコアを、他の物理サーバのCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定する全物理サーバリソース判定手段と、を備えることを特徴とする仮想マシン配置装置。 A computer system comprising a plurality of physical servers having a plurality of CPUs configured with a plurality of cores, wherein virtual machines are allocated to cores of the same CPU in advance and arranged in the physical servers,
Storage means for correlating the physical server, the CPU, and the core, and storing resource management data indicating which virtual machine the core is being used for;
Free resource determination means for determining whether or not the required number of cores required by a new virtual machine can be secured on the same CPU with reference to the resource management data;
When the necessary resource count can not be secured on the same CPU by the free resource determination means, a core to which a virtual machine in operation is allocated is another CPU of a physical server on which the virtual machine is operating, or Compaction execution means for reassigning to CPUs of other physical servers;
Placement execution means for placing the new virtual machine in the secured core on the same CPU;
Equipped with
The free resource determination means
If the required number of cores can not be secured by the same CPU, the cores allocated to the active virtual machine are reassigned to another CPU in each physical server, so that the required number of cores is the same. A physical server unit resource determination unit that determines whether or not it can be secured on the CPU;
When the required number of cores can not be secured in the physical server, the core assigned to the active virtual machine is reassigned to the CPUs of other physical servers among all the physical servers. virtual machine placement apparatus according to claim Rukoto and a full physical server resources determining means for determining whether the number of cores can be secured on the same CPU.
CPU単位リソース判定手段によって、前記物理サーバと前記CPUと前記コアとを対応付けるとともに、前記コアがどの仮想マシンに使用されているのかを示すリソース管理データを参照して、同一CPU内で新たな仮想マシンが予め必要とする必要コア数を確保できるか否かを判定するステップと、
同一CPU内で前記必要コア数を確保できない場合に、物理サーバ単位リソース判定手段によって、前記リソース管理データを参照して、個々の物理サーバ内で、動作中の仮想マシンに割り当てられているコアを、他のCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定するステップと、
前記物理サーバ内で前記必要コア数を確保できる場合に、物理サーバ内割り当て変更手段によって、前記物理サーバ内でコアの割り当てを変更するステップと、
前記物理サーバ内で前記必要コア数を確保できない場合に、全物理サーバリソース判定手段によって、前記リソース管理データを参照して、すべての物理サーバ間で、動作中の仮想マシンに割り当てられているコアを、他の物理サーバのCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定するステップと、
前記物理サーバ間で前記必要コア数を確保できる場合に、物理サーバ間割り当て変更手段によって、前記物理サーバ間でコアの割り当てを変更するステップと、
を含むことを特徴とするリソース管理方法。 In a computer system provided with a plurality of physical servers having a plurality of CPUs composed of a plurality of cores, the virtual machine placement device reserves a resource for assigning virtual machines to the cores of the same CPU in advance and placing them on the physical servers Resource management method, and
The CPU-based resource determination unit associates the physical server, the CPU, and the core with each other, and refers to resource management data indicating which virtual machine the core is being used for, and creates a new virtual within the same CPU. Determining whether or not the necessary number of cores required by the machine can be secured in advance;
When the required number of cores can not be secured in the same CPU, the physical server unit resource determination unit refers to the resource management data, and the cores assigned to the operating virtual machines in each physical server are selected. Determining whether the required number of cores can be secured on the same CPU by reassigning to another CPU;
Changing the core allocation in the physical server by the physical server internal allocation changing unit when the required number of cores can be secured in the physical server;
When it is not possible to secure the required number of cores in the physical server, all physical server resource determination means refers to the resource management data, and a core allocated to a virtual machine in operation among all the physical servers Determining whether or not the required number of cores can be secured on the same CPU by reassigning to the CPUs of other physical servers.
Changing the core allocation among the physical servers by the physical server inter-allocation changing unit when the required number of cores can be secured between the physical servers;
A resource management method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016110554A JP6543219B2 (en) | 2016-06-02 | 2016-06-02 | Virtual machine allocation apparatus and resource management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016110554A JP6543219B2 (en) | 2016-06-02 | 2016-06-02 | Virtual machine allocation apparatus and resource management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017215884A JP2017215884A (en) | 2017-12-07 |
JP6543219B2 true JP6543219B2 (en) | 2019-07-10 |
Family
ID=60577054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016110554A Active JP6543219B2 (en) | 2016-06-02 | 2016-06-02 | Virtual machine allocation apparatus and resource management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6543219B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6958414B2 (en) * | 2018-02-19 | 2021-11-02 | 日本電信電話株式会社 | Virtual resource management device, virtual resource allocation method, virtual resource allocation program, and virtual resource management system |
CN111400020B (en) * | 2019-01-02 | 2023-05-09 | 中国移动通信有限公司研究院 | A virtual machine scheduling method, device and computer-readable storage medium |
US20210089423A1 (en) | 2019-09-24 | 2021-03-25 | Advanced Micro Devices, Inc. | Flexible multi-user graphics architecture |
JP7010272B2 (en) * | 2019-10-08 | 2022-01-26 | 横河電機株式会社 | Real-time communication processing system and real-time communication processing method |
CN111861446B (en) * | 2020-07-20 | 2024-09-20 | 北京金山云网络技术有限公司 | Charging control method, charging control device, electronic equipment, server and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7673113B2 (en) * | 2006-12-29 | 2010-03-02 | Intel Corporation | Method for dynamic load balancing on partitioned systems |
JP5035299B2 (en) * | 2009-06-15 | 2012-09-26 | 株式会社日立製作所 | Multi-core processor control method, computer system thereof, and management computer program |
WO2013171944A1 (en) * | 2012-05-15 | 2013-11-21 | 日本電気株式会社 | Virtual machine management system, virtual machine management method, and program |
JP6287261B2 (en) * | 2014-01-27 | 2018-03-07 | 日本電気株式会社 | System control apparatus, control method, and program |
-
2016
- 2016-06-02 JP JP2016110554A patent/JP6543219B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017215884A (en) | 2017-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182196B2 (en) | Unified resource management for containers and virtual machines | |
US11579914B2 (en) | Platform independent GPU profiles for more efficient utilization of GPU resources | |
EP3761170B1 (en) | Virtual machine creation method and apparatus | |
US11740921B2 (en) | Coordinated container scheduling for improved resource allocation in virtual computing environment | |
JP6543219B2 (en) | Virtual machine allocation apparatus and resource management method | |
KR101020392B1 (en) | Kernel sharing of the operating system between logical partitions | |
JP6840099B2 (en) | Service provision system, resource allocation method, and resource allocation program | |
CN104516769B (en) | Method, medium and system for verifying switching between logical partition configurations | |
JP2010282420A (en) | Management computer, resource management method, resource management program, recording medium, and information processing system | |
JP2007272263A (en) | Computer management method, computer system, and management program | |
JPWO2012039053A1 (en) | Computer system operation management method, computer system, and computer-readable medium storing program | |
CN111274033A (en) | Resource deployment method, device, server and storage medium | |
JP6010975B2 (en) | Job management apparatus, job management method, and program | |
JPH10293695A (en) | Dynamic Reconfiguration of Logical Computer System | |
JP2010205208A (en) | Host computer, multipath system, and method and program for allocating path | |
JP2014002798A (en) | Computer system and program | |
KR20130080587A (en) | Dynamically reconfigurable apparatus for operating system in manycore system and method of the same | |
JP2011215812A (en) | Virtual computer management method, computer system, and resource management program | |
KR102014246B1 (en) | Mesos process apparatus for unified management of resource and method for the same | |
CN114157569A (en) | Cluster system and construction method and construction device thereof | |
JP6445876B2 (en) | Resource allocation device, resource allocation system, and resource allocation method | |
JP6035993B2 (en) | Information processing apparatus, apparatus management method, and apparatus management program | |
JP2016038888A (en) | Information processing system, information processing method, and information processing program | |
JP2010205207A (en) | Host computer, multipath system, and method and program for allocating path | |
JP6696947B2 (en) | Virtual machine emulation system, virtual machine emulation method and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180619 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190424 |
|
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: 20190611 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190614 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6543219 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |