JP2017215884A - Virtual machine arrangement device and resource management method - Google Patents
Virtual machine arrangement device and resource management method Download PDFInfo
- Publication number
- JP2017215884A JP2017215884A JP2016110554A JP2016110554A JP2017215884A JP 2017215884 A JP2017215884 A JP 2017215884A JP 2016110554 A JP2016110554 A JP 2016110554A JP 2016110554 A JP2016110554 A JP 2016110554A JP 2017215884 A JP2017215884 A JP 2017215884A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- physical server
- cores
- virtual machine
- secured
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
Description
本発明は、仮想マシンを複数の物理サーバに配置する仮想マシン配置装置および仮想マシンのリソースを管理するリソース管理方法に関する。 The present invention relates to a virtual machine placement apparatus that places virtual machines on a plurality of physical servers, and a resource management method that manages virtual machine resources.
近年、NFV(Network Functions Virtualization:ネットワーク機能仮想化)の仮想アプライアンスに代表されるように、処理の低遅延が要求されるアプリケーション(以下、単にアプリケーション)をVM(Virtual Machine:仮想マシン)で実行・運用する技術が関心を集めている。
このようなアプリケーションでは、遅延を低減させるために、VMの仮想CPUと物理CPUのコアとを固定的に割り当てる(括りつける)ことが多い。これは、コアのCPU時間のリソースを、VMが占有することを意図しており、他のVMにリソースをディスパッチされないことから、遅延を低減する効果がある。
In recent years, as represented by NFV (Network Functions Virtualization) virtual appliances, applications that require low processing delay (hereinafter simply referred to as applications) are executed on VMs (Virtual Machines). There is interest in the technology used.
In such an application, in order to reduce the delay, the virtual CPU of the VM and the core of the physical CPU are often fixedly assigned (bundled). This is intended to occupy the resources of the CPU time of the core by the VM, and the resource is not dispatched to other VMs. Therefore, there is an effect of reducing the delay.
また、このようなアプリケーションでは、同一の物理CPU上のコアという限定を付けてVMの仮想CPUと物理CPUのコアとを固定的に割り当てることもある。これは、VM内のプロセス・スレッド間通信を同一物理CPU内で実行することができることから、キャッシュヒット率を高くすることができ、遅延を低減する手段として極めて高い効果がある。 In such an application, a virtual CPU of a VM and a core of a physical CPU may be fixedly assigned with a limitation of a core on the same physical CPU. This is because the process-to-thread communication in the VM can be executed in the same physical CPU, so that the cache hit rate can be increased, and it is extremely effective as a means for reducing the delay.
従来、このようなVMの仮想CPUを物理CPUに固定的に割り当てる方法は、KVM(Kernel-based Virtual Machine:カーネル仮想化基盤)等で提供される機能(CPUピニング)で実現することができる(非特許文献1参照)。この手法は、コンピュータを介して、コマンドを手動で発行し、そのコマンドを取得した物理サーバ(サーバハード)が、同サーバ上で動作するVMの仮想CPUと物理CPUとの割り当てを行っている。
一方、OpenStack等のリソース管理システムでは、VMにリソースを自動的に割り当てている(非特許文献2参照)。このリソース管理システムは、CPU負荷の低い物理サーバにVMを配置することで、リソースを割り当てている。
Conventionally, such a method of allocating a VM virtual CPU fixedly to a physical CPU can be realized by a function (CPU pinning) provided by a KVM (Kernel-based Virtual Machine) 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 a virtual CPU and a physical CPU of a VM operating on the server.
On the other hand, in resource management systems such as OpenStack, resources are automatically allocated to VMs (see Non-Patent Document 2). This resource management system allocates resources by allocating VMs to physical servers with low CPU load.
従来の非特許文献1の手法では、人手によってCPU等のリソースの割り当てを行うため、手間がかかるとともに、操作ミスが起こりやすいといった問題がある。
また、従来の非特許文献2の手法では、VMにリソースを自動的に割り当てることはできるが、VMの仮想CPUと物理CPUのコアとを固定的に割り当てるようなアプリケーションには適用できず、CPU負荷の低い物理サーバにVMを配置することしかできない。
このように、従来の手法は、VMの仮想CPUと物理CPUのコアとを固定的に割り当てることを前提としたシステムにおいて、自動的にリソースを割り当てることは困難であった。
In the conventional technique of Non-Patent
In the conventional method of Non-Patent
As described above, in the conventional method, it is difficult to automatically allocate resources in a system on the premise that VM virtual CPUs and physical CPU cores are fixedly allocated.
また、従来の手法は、VMのリソースの確保、VM停止後のリソースの回収を繰り返すと使用中のリソースと小さな未使用のリソースとが混在し、大きな未使用のリソースを確保することができない、いわゆる、リソースの断片化が発生する。そのため、従来の手法は、システム全体で未使用リソースが十分であっても、同一の物理CPU上でVMが必要とする未使用リソースを確保することができないという問題が発生する場合がある。 In addition, in the conventional method, when the reservation of the VM resource and the collection of the resource after the VM stop are repeated, the resource in use and the small unused resource are mixed, and the large unused resource cannot be secured. So-called resource fragmentation occurs. For this reason, the conventional method may cause a problem that the unused resources required by the VM cannot be secured on the same physical CPU even if the unused resources are sufficient in the entire system.
本発明は、このような問題に鑑みてなされたもので、仮想マシン(VM)に、人手を介さずにリソースを確保するとともに、リソースの断片化を防止することが可能な仮想マシン配置装置およびリソース管理方法を提供することを課題とする。 The present invention has been made in view of such a problem, and a virtual machine placement device capable of securing resources in a virtual machine (VM) without human intervention and preventing fragmentation of resources, and It is an object to provide a resource management method.
前記課題を解決するため、請求項1に記載の仮想マシン配置装置は、複数のコアで構成されるCPUを複数有する物理サーバを複数備えたコンピュータシステムにおいて、仮想マシンを予め同一のCPUのコアに割り当てて前記物理サーバに配置する仮想マシン配置装置であって、前記物理サーバと前記CPUと前記コアとを対応付けるとともに、前記コアがどの仮想マシンに使用されているのかを示すリソース管理データを記憶する記憶手段と、前記リソース管理データを参照して、新たな仮想マシンが予め必要とする必要コア数を同一CPU上に確保できるか否かを判定する空きリソース判定手段と、前記空きリソース判定手段で同一CPU上に前記必要コア数を確保できない場合に、動作中の仮想マシンが割り当てられているコアを、当該仮想マシンが動作している物理サーバの他のCPU、または、他の物理サーバのCPUに割り当て直すコンパクション実行手段と、確保された同一CPU上のコアに、前記新たな仮想マシンを配置する配置実行手段と、を備えることを特徴とする。
In order to solve the above-described problem, the virtual machine placement apparatus according to
かかる構成によれば、仮想マシン配置装置は、空きリソース判定手段によって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。そして、仮想マシン配置装置は、コンパクション実行手段によって、物理サーバ内でCPUのコアの割り当てや、物理サーバ間でCPUのコアの割り当てを変更することができる。これによって、仮想マシン配置装置は、リソース(コア)が分断化されている場合でも、コンパクションによってリソースを有効に活用することができる。 According to such a configuration, the virtual machine placement apparatus can determine whether or not the number of cores required by the newly placed virtual machine can be secured on the same CPU by the free resource determination unit. The virtual machine placement apparatus can change the CPU core assignment within the physical server and the CPU core assignment between the physical servers by the compaction execution means. As a result, the virtual machine placement apparatus can effectively use the resources by compaction even when the resources (cores) are divided.
また、前記課題を解決するため、請求項2に記載の仮想マシン配置装置は、請求項1に記載の仮想マシン配置装置において、前記空きリソース判定手段が、前記同一CPUで前記必要コア数を確保できない場合に、個々の物理サーバ内で、前記動作中の仮想マシンに割り当てられているコアを、他のCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定する物理サーバ単位リソース判定手段と、前記物理サーバ内で前記必要コア数を確保できない場合に、すべての物理サーバ間で、前記動作中の仮想マシンに割り当てられているコアを、他の物理サーバのCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定する全物理サーバリソース判定手段と、を備えることを特徴とする。
In order to solve the above problem, the virtual machine placement apparatus according to
かかる構成によれば、仮想マシン配置装置は、物理サーバ単位リソース判定手段によって、物理サーバ内でのコンパクションによって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。また、仮想マシン配置装置は、全物理サーバリソース判定手段によって、物理サーバ間のコンパクションによって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。これによって、仮想マシン配置装置は、物理サーバ内、物理サーバ間と階層的にリソースを確保することができる。 According to such a configuration, the virtual machine placement apparatus can secure the number of cores required for the newly placed virtual machine on the same CPU by the physical server unit resource determination means by compaction in the physical server. Can be determined. Further, the virtual machine placement apparatus determines whether or not the number of cores required by the newly placed virtual machine can be secured on the same CPU by the compaction between the physical servers by the all physical server resource determination means. Can do. As a result, the virtual machine placement apparatus can secure resources hierarchically within the physical servers and between the physical servers.
また、前記課題を解決するため、請求項3に記載のリソース管理方法は、複数のコアで構成されるCPUを複数有する物理サーバを複数備えたコンピュータシステムにおいて、仮想マシン配置装置が、仮想マシンを予め同一のCPUのコアに割り当てて前記物理サーバに配置するためのリソースを確保するリソース管理方法であって、空きリソース判定手段によって、前記物理サーバと前記CPUと前記コアとを対応付けるとともに、前記コアがどの仮想マシンに使用されているのかを示すリソース管理データを参照して、新たな仮想マシンが予め必要とする必要コア数を同一CPU上に確保できるか否かを判定するステップと、コンパクション実行手段によって、前記空きリソース判定手段で同一CPU上に前記必要コア数を確保できない場合に、動作中の仮想マシンが割り当てられているコアを、当該仮想マシンが動作している物理サーバの他のCPU、または、他の物理サーバのCPUに割り当て直すステップと、を含むことを特徴とする。
In order to solve the above problem, the resource management method according to
かかる手順によれば、リソース管理方法は、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。そして、リソース管理方法は、物理サーバ内でCPUのコアの割り当てや、物理サーバ間でCPUのコアの割り当てを変更することができる。これによって、リソース管理方法は、リソース(コア)が分断化されている場合でも、コンパクションによってリソースを有効に活用することができる。 According to this procedure, the resource management method can determine whether or not the number of cores required by the newly placed virtual machine can be secured on the same CPU. The resource management method can change the allocation of CPU cores within a physical server and the allocation of CPU cores between physical servers. As a result, the resource management method can effectively utilize resources by compaction even when the resources (cores) are divided.
また、前記課題を解決するため、請求項4に記載のリソース管理方法は、複数のコアで構成されるCPUを複数有する物理サーバを複数備えたコンピュータシステムにおいて、仮想マシン配置装置が、仮想マシンを予め同一のCPUのコアに割り当てて前記物理サーバに配置するためのリソースを確保するリソース管理方法であって、CPU単位リソース判定手段によって、前記物理サーバと前記CPUと前記コアとを対応付けるとともに、前記コアがどの仮想マシンに使用されているのかを示すリソース管理データを参照して、同一CPU内で新たな仮想マシンが予め必要とする必要コア数を確保できるか否かを判定するステップと、同一CPU内で前記必要コア数を確保できない場合に、物理サーバ単位リソース判定手段によって、前記リソース管理データを参照して、個々の物理サーバ内で、動作中の仮想マシンに割り当てられているコアを、他のCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定するステップと、前記物理サーバ内で前記必要コア数を確保できる場合に、物理サーバ内割り当て変更手段によって、前記物理サーバ内でコアの割り当てを変更するステップと、前記物理サーバ内で前記必要コア数を確保できない場合に、全物理サーバリソース判定手段によって、前記リソース管理データを参照して、すべての物理サーバ間で、動作中の仮想マシンに割り当てられているコアを、他の物理サーバのCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定するステップと、前記物理サーバ間で前記必要コア数を確保できる場合に、物理サーバ間割り当て変更手段によって、前記物理サーバ間でコアの割り当てを変更するステップと、を含むことを特徴とする
In order to solve the above problem, the resource management method according to
かかる手順によれば、リソース管理方法は、物理サーバ内でのコンパクションによって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。また、リソース管理方法は、物理サーバ間のコンパクションによって、新たに配置する仮想マシンが必要とするコア数を、同一CPU上に確保できるか否かを判定することができる。これによって、リソース管理方法は、物理サーバ内、物理サーバ間と階層的にリソースを確保することができる。 According to such a procedure, the resource management method can determine whether or not the number of cores required by the newly placed virtual machine 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 newly placed virtual machine can be secured on the same CPU by compaction between physical servers. As a result, the resource management method can secure resources hierarchically within the physical servers and between the physical servers.
本発明によれば、仮想マシンの仮想CPUと物理CPUのコアとを固定的に割り当てることを前提としたシステムにおいて、自動的にリソースを割り当てることができ、人手による手間を少なくし、操作ミスを防止することができる。
また、本発明によれば、コンパクションによって、リソースの断片化を防止することができ、リソースを有効に活用することができる。
According to the present invention, in a system on the premise that the virtual CPU of the virtual machine and the core of the physical CPU are fixedly allocated, it is possible to automatically allocate resources, thereby reducing labor and manpower. Can be prevented.
Further, according to the present invention, resource fragmentation can be prevented by compaction, and resources can be used effectively.
本発明の実施形態について図面を参照して説明する。
≪データセンタの全体構成≫
まず、図1,図2を参照して、本発明の実施形態に係る仮想マシン配置装置により、仮想マシンの配置およびそのリソース管理を行うコンピュータシステムの例であるデータセンタSの全体構成について説明する。
Embodiments of the present invention will be described with reference to the drawings.
≪Overall configuration of data center≫
First, an overall configuration of a data center S, which is an example of a computer system that performs virtual machine placement and resource management by the virtual machine placement device according to the embodiment of the present invention, will be described with reference to FIGS. .
データセンタSは、インターネット、ネットワーク事業者網等(不図示)から接続可能な複数のサーバを備えたコンピュータシステムである。
このデータセンタSは、複数の物理サーバ1,1,…と、図示を省略したネットワーク機器で構成される。また、ここでは、データセンタSに、仮想マシン配置装置2を備える。なお、仮想マシン配置装置2は、必ずしもデータセンタSの中に備える必要はなく、各物理サーバ1,1,…と、ネットワーク等で接続可能なデータセンタSの外に備えることとしてもよい。
The data center S is a computer system including a plurality of servers that can be connected from the Internet, a network operator network, or the like (not shown).
This 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
In the virtual machine (hereinafter referred to as VM) 12 arranged on the
As a result, 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
As described above, 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 illustrated in FIG. 3, the virtual
通信部(通信手段)200は、通信回線を介して、物理サーバ1との間で通信データの送受信を行うものである。例えば、通信部200は、NIC(Network Interface Card)等の通信制御手段で構成される。この通信部200は、制御部220から入力される信号(制御情報、データ)を、通信回線を介して、物理サーバ1に送信し、物理サーバ1から受信した信号を制御部220に出力する。
The communication unit (communication means) 200 transmits / receives communication data to / 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 in-data center
The
物理サーバ内CPUリスト212は、物理サーバ1を構成するCPU10のリストである。例えば、物理サーバ内CPUリスト212は、図5(b)に示すように、物理サーバ1ごとに、構成するCPU10を識別する識別情報CPU1,CPU2,…(例えば、連続番号等)を配列したデータである。
この物理サーバ内CPUリスト212によって、個々の物理サーバ1がいくつのCPU10で構成されているのかが管理される。
The intra-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
For example, as shown in FIG. 5C, the
The
次に、図6を参照して、記憶部210に記憶する動作状態リストの例について説明する。図6に示すように、動作状態リスト214は、それぞれのVM12(VM1,VM2,…)ごとに、動作しているアプリケーションAPLと、そのアプリケーションAPLがアクティブ(ACT)状態かスタンバイ(SBY)状態かを示すリストである。例えば、図6は、アプリケーションAPL1が、VM1でアクティブ(ACT)状態で動作し、VM2でスタンバイ(SBY)状態で動作していることを示している。
図3に戻って、仮想マシン配置装置2の構成について説明を続ける。
Next, an example of an 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 unit) 220 controls the operation of the virtual
配置位置制御手段21は、データセンタS内のリソースの使用状態に応じて、VM12の配置位置を決定するものである。
この配置位置制御手段21は、外部からVM12のプログラム(運用系または待機系のアプリケーションを含む)と、必要とするコア数(必要コア数)とを入力されることで、VM12の配置位置を決定する。なお、VM12のプログラムや使用コア数は、予め対応付けて記憶部210に記憶しておき、配置位置制御手段21は、配置するVM12を指定されることで、VM12の配置位置を決定することとしてもよい。
The placement position control means 21 determines the placement position of the
The arrangement position control means 21 determines the arrangement position of the
ここでは、配置位置制御手段21は、VM12に含まれるアプリケーションの識別情報(APL)と、そのアプリケーションが運用系または待機系のいずれかであるかを示す識別情報(ACT/SBY)と、必要コア数とを空きリソース判定手段22に通知する。そして、配置位置制御手段21は、リソースを確保できる空きのある物理サーバ1上のCPU10の識別情報を配置位置として取得し、VM12のプログラムとともに配置実行手段24に出力する。
また、配置位置制御手段21は、空きリソース判定手段22から、VM12を配置するために、コア11の断片化を解消してコア11を再編(コンパクション)する必要である旨が、その手順(コンパクション手順)として通知された場合、コンパクション手順をコンパクション実行手段23に出力する。そして、配置位置制御手段21は、コンパクション実行後、VM12のプログラムとその配置位置とを配置実行手段24に出力する。
Here, the arrangement position control means 21 includes identification information (APL) of an application included in the
Further, the arrangement position control means 21 indicates that it is necessary to eliminate the fragmentation of the
なお、配置位置制御手段21は、空きリソース判定手段22から、コンパクションを行っても、VM12を配置するためのリソースが確保できない旨が通知された場合、図示を省略した表示装置に警告を表示する。この場合、管理者が、物理サーバ1の増設を行うことで、リソースを増やすこととすればよい。
The placement position control means 21 displays a warning on a display device (not shown) when it is notified from the free resource determination means 22 that resources for placing the
空きリソース判定手段22は、すべての物理サーバ1で、新たに配置するVM12の必要コア数を、同一のCPU10で確保できるか否かを判定するものである。
ここでは、空きリソース判定手段22は、CPU単位リソース判定手段22aと、物理サーバ単位リソース判定手段22bと、全物理サーバリソース判定手段22cと、を備える。
The free
Here, the free
CPU単位リソース判定手段22aは、物理サーバ1のCPU10ごとに、新たに配置するVM12の必要コア数の空きがあるか否かを判定するものである。
このCPU単位リソース判定手段22aは、1つのCPU10のみでリソース(必要コア数)が確保可能であれば、そのCPU10をVM12の配置位置として、配置位置制御手段21に物理サーバ1およびCPU10の識別情報を出力する。この場合、CPU単位リソース判定手段22aは、コンパクション手順を配置位置制御手段21に出力しない。
一方、CPU単位リソース判定手段22aは、1つのCPU10のみでリソースが確保できない場合、必要コア数を、物理サーバ単位リソース判定手段22bに出力する。
The CPU unit
If the resource (number of necessary cores) can be secured by only one
On the other hand, the CPU unit
このCPU単位リソース判定手段22aは、記憶部210に記憶されているリソース管理データ(図4参照)を参照し、CPU内コアリスト(図5(c)参照)で、同一CPU10で「未使用」のコアの数(空き個数)が、必要コア数以上である場合、そのCPU10において、リソースを確保することができると判定する。
なお、CPU単位リソース判定手段22aは、新たに配置するVM12に含まれるアプリケーションAPLの動作系(運用系または待機系)と異なる動作系がすでに配置されている物理サーバ1のCPU10については、必要コア数の空きを判定しないこととする。
これによって、運用系アプリケーションを含むVMと、待機系アプリケーションを含むVMとを、異なる物理サーバ1に配置することができる。
This CPU unit resource determination means 22a refers to the resource management data (see FIG. 4) stored in the
Note that the CPU unit
As a result, the VM including the active application and the VM including the standby application can be arranged in 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, a specific example of the processing of the CPU unit
In this state, when 4 are notified as the required number of cores of the newly placed
一方、新規に配置するVM12の必要コア数として8個が通知された場合、CPU単位リソース判定手段22aは、物理サーバ1(SV1)では、リソースを確保できないと判定する。
図3に戻って、仮想マシン配置装置2の構成について説明を続ける。
On the other hand, when 8 is notified as the required number of cores of the newly placed
Returning to FIG. 3, the description of the configuration of the virtual
物理サーバ単位リソース判定手段22bは、CPU単位リソース判定手段22aにおいて、同一CPUで必要コア数を確保できない場合に、個々の物理サーバ内で、動作中のVM12に割り当てられているコア11を、他のCPU10に割り当て直すことで、必要コア数を同一CPU上に確保できるか否かを判定するものである。
The physical server unit
この物理サーバ単位リソース判定手段22bは、1つの物理サーバ1のコンパクションのみでリソース(必要コア数)が確保可能であれば、そのリソースを有する物理サーバ1およびCPU10の識別情報を配置位置として、配置位置制御手段21に出力する。また、物理サーバ単位リソース判定手段22bは、コンパクション手順を配置位置制御手段21に出力する。
なお、物理サーバ単位リソース判定手段22bは、新たに配置するVM12に含まれるアプリケーションAPLの動作系(運用系または待機系)と異なる動作系がすでに配置されている物理サーバ1については、必要コア数の空きを確保できるか否かを判定しないこととする。
If the resource (required number of cores) can be secured only by compaction of one
The physical server unit
ここで、図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, a specific example of the processing of the physical server unit
In the state shown in FIG. 7, when the number of required cores of the newly placed
For example, as illustrated in FIG. 8A, the physical server unit
そして、物理サーバ単位リソース判定手段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
For example, in the example of FIG. 8A, the CPU 10 (CPU 1 ) with the largest number of free cores has 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
In the example of FIG. 8A, vm1, vm2, and vm3 (11 cores), vm1 and vm3 (9 cores), vm1 and vm2 (8 cores), and vm1 (cores) in descending order of the number of cores. 6), vm2 and vm3 (5 cores), vm3 (3 cores), and vm2 (2 cores).
そして、物理サーバ単位リソース判定手段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
なお、変更可能な組み合わせの中で、コア数の合計が同一でVM12の数が異なる場合は、VM12の数が少ない方を優先して変更の対象とすることが望ましい。これは、変更するVM12の数が多いほど、変更にかかる時間、処理手順の増加等のデータセンタS全体に与える影響が増してしまうからである。
これによって、物理サーバ単位リソース判定手段22bは、図8(c)に示すように、物理サーバ1内のコンパクションによって、新規のVM12(ここでは、コア数8)を、CPU1に配置することが可能であると判定する。
Note that, among the combinations that can be changed, when the total number of cores is the same and the number of
As a result, the physical server unit
ここでは、物理サーバ単位リソース判定手段22bは、最も空きコア数の多いCPU10(ここでは、CPU1)を基準としてリソースが確保可能か否かを判定したが、リソースが確保できない場合、順次、空きコア数の多いCPU10から順(図8の例では、CPU1→CPU3→CPU4→CPU2)に同様の処理を行えばよい。
Here, the physical server unit
この物理サーバ単位リソース判定手段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
If the required number of cores cannot be secured by compaction, the physical server unit
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に出力する。
When the necessary number of cores cannot be secured in the
If all resources (required number of 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 shown in FIG. 9A, the all physical server
In this case, the all physical server
Since the subsequent processing is the same as the processing of the physical server unit resource determination means 22b (see FIG. 8), description thereof is omitted.
ただし、全物理サーバリソース判定手段22cは、図8(b)に示したように、コアの割り当てを変更するリソースを探索する場合、変更後の物理サーバ1において、同じアプリケーションの運用系および待機系が、同じ物理サーバ1のCPU10上で動作することがないように、リソースの探索を行うこととする。
また、全物理サーバリソース判定手段22cは、新たに配置するVM12に含まれるアプリケーションAPLの動作系(運用系または待機系)と異なる動作系がすでに配置されている物理サーバ1については、必要コア数の空きを確保できるか否かを判定しないこととする。
However, as shown in FIG. 8B, the all physical server
Further, the all physical server
この全物理サーバリソース判定手段22cは、新規VMに必要なリソース(必要コア数)が確保可能であると判定した場合、配置可能な物理サーバ1およびCPU10を特定する識別情報を、配置位置制御手段21に出力する。また、リソースを確保するためコンパクション手順を配置位置制御手段21に出力する。
そして、全物理サーバリソース判定手段22cは、すべての物理サーバ1で、必要コア数の空きをコンパクションによって確保できない場合、リソースが確保できない旨を配置位置制御手段21に出力する。
このように、全物理サーバリソース判定手段22cは、すべての物理サーバ1(すなわち、データセンタS)を対象として、新たに配置するVM12の必要コア数の空きがあるか否かを判定する。
図3に戻って、仮想マシン配置装置2の構成について説明を続ける。
When it is determined that the resources (necessary number of cores) necessary for the new VM can be secured, the all physical server
If all
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と、を備える。
Based on the compaction procedure output from the arrangement position control means 21, the compaction execution means 23 sends the core 11 to which the
Here, the
物理サーバ内割り当て変更手段23aは、物理サーバ1内で、VM12のCPU10のコア11への割り当てを変更するものである。この物理サーバ内割り当て変更手段23aは、コンパクション手順として、同一の物理サーバ1内で、コア11の割り当てを変更する手順が指定された際に動作する。すなわち、この物理サーバ内割り当て変更手段23aは、物理サーバ単位リソース判定手段22bによって、リソースを確保することが可能であると判定されたコンパクション手順を実行する。
例えば、物理サーバ内割り当て変更手段23aは、図10に示すように、CPU10B1のコアに割り当てられているVM12Bの仮想CPU(vCPU)を、同じ物理サーバ1Bの他のCPU10B2のコアに割り当てる。なお、この割り当ての手法は、従来の一般的な手法(非特許文献1)であるため、ここでは、詳細な説明を省略する。
The intra-physical server
For example, as shown in FIG. 10, the intra-physical server
この物理サーバ内割り当て変更手段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 intra-physical server
物理サーバ間割り当て変更手段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
For example, the inter-physical server
この物理サーバ間割り当て変更手段23bは、割り当て変更後、記憶部210に記憶されているリソース管理データを更新する。この物理サーバ間割り当て変更手段23bのリソース管理データの更新は、物理サーバ内割り当て変更手段23aと同様であり、物理サーバ1を跨っている点のみが異なるため、ここでは説明を省略する。
なお、物理サーバ間割り当て変更手段23bは、異なる物理サーバ1間でVM12の移動を行うため、VM12の起動状態を制御して移動を行う必要がある。
The inter-physical server
Note that the inter-physical server
ここで、図11,図12を参照して、アクティブ/スタンバイ構成でアプリケーションが動作しているVM12のコアの割り当ての変更について説明する。
「0.初期状態」として、物理サーバ1Aにおいて、VM12Aでアプリケーションがスタンバイ(SBY)状態で起動中であって、物理サーバ1Bにおいて、VM12Bでアプリケーションがアクティブ(ACT)状態で起動中であるとする。すなわち、物理サーバ1A,1Bで、アプリケーションが二重化されて動作しているものとする。
ここで、VM12Bを、物理サーバ1Bから物理サーバ1Cに移動させることとする。
Here, with reference to FIG. 11 and FIG. 12, the change of the assignment of the core of the
As “0. initial state”, it is assumed that in the
Here, the VM 12B is moved from the
「1.系切り替え」として、物理サーバ間割り当て変更手段23bは、物理サーバ1AのVM12AでSBY状態として起動中のアプリケーションをACT状態に変更するとともに、物理サーバ1BのVM12BでACT状態として起動中のアプリケーションをSBY状態に変更する。これによって、アプリケーションの動作系が変更される。
As “1. system switching”, the inter-physical server
「2.SBY停止」として、物理サーバ間割り当て変更手段23bは、物理サーバ1BのVM12Bのアプリケーションを停止させる。この場合でも、アプリケーションは、物理サーバ1Aで1系統(運用系)が動作している。
As "2. SBY stop", the inter-physical server
「3.VM移動」として、物理サーバ間割り当て変更手段23bは、VM12(アプリケーションを含む)を物理サーバ1Bから物理サーバ1Cに移動させる。すなわち、物理サーバ間割り当て変更手段23bは、VM12(アプリケーションを含む)を物理サーバ1Cにコピーし、物理サーバ1Bから削除する。このとき、物理サーバ間割り当て変更手段23bは、前記したようにコアの割り当てを変更する。
As “3. VM migration”, the inter-physical server
「4.SBY立ち上げ」として、物理サーバ間割り当て変更手段23bは、物理サーバ1CのVM12BのアプリケーションをSBY状態で起動させる。
「5.系切り替え」として、物理サーバ間割り当て変更手段23bは、物理サーバ1AのVM12AでACT状態として起動中のアプリケーションをSBY状態に変更するとともに、物理サーバ1CのVM12BでSBY状態として起動中のアプリケーションをACT状態に変更する。
As “4. SBY start-up”, the inter-physical server
As “5. system switching”, the inter-physical server
なお、ここでは、移動対象の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 duplexed is in the ACT state in the initial state, the inter-physical server
As described above, the inter-physical server
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 a
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
なお、配置実行手段24は、外部からVM12の削除を指示された場合、通信部200を介して、対応する物理サーバ1に対して、VM12の削除を指示し、記憶部210のリソース管理データのCPU内コアリスト(図5(c)参照)と、動作状態リスト(図6参照)とを更新することとする。
When the
以上説明したように仮想マシン配置装置2を構成することで、仮想マシン配置装置2は、CPU10のコア11に仮想マシン(VM)12の仮想CPU(vCPU)13を割り当てて動作させるシステムにおいて、その割り当て処理を自動で行うことができる。
また、仮想マシン配置装置2は、VM12の配置によるリソースの獲得、停止によるリソースの回収を繰り返すことによりリソースの断片化が発生した場合でも、コンパクションにより新規に配置するVM12に対してリソースを確保することができる。
なお、仮想マシン配置装置2は、コンピュータを、前記した各手段として機能させるプログラム(仮想マシン配置プログラム)で動作させることができる。
By configuring the virtual
Further, the virtual
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 placement
That is, the free
そして、CPU単位リソース判定手段22aは、選択した物理サーバに対応する物理サーバ内CPUリスト212(図5(b)参照)から、最初のCPUを選択する(ステップS2)。
Then, the CPU unit
そして、CPU単位リソース判定手段22aは、選択したCPU10に対応するCPU内コアリスト213(図5(c)参照)を参照して、新たに配置するVM12の必要コア数の空きがあるか否かを判定する(ステップS3)。すなわち、CPU単位リソース判定手段22aは、CPU内コアリスト213で、コア11の「未使用」の数が、必要コア数以上であるか否かを判定する。
Then, the CPU unit
ここで、必要コア数の空きがある場合(ステップ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 vacant number of necessary 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, if the selected CPU does not have the required number of cores (No in step S3), the CPU unit
If the
If the
この場合、選択した物理サーバ1内のCPU単位では、新たなVM12のためのリソースを確保できないため、仮想マシン配置装置2は、物理サーバ単位リソース判定手段22bによって、選択した物理サーバ全体でのリソース確保を試みる。
In this case, since the resources 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
ここで、必要コア数が確保できる場合(ステップS7でYes)、仮想マシン配置装置2は、コンパクション実行手段23の物理サーバ内割り当て変更手段23aによって、物理サーバ1内でコンパクションを実行する(ステップS8)。ここでは、物理サーバ単位リソース判定手段22bが、コンパクションによってリソースが確保されるコンパクション手順を配置位置制御手段21に通知し、物理サーバ内割り当て変更手段23aが、そのコンパクション手順を実行する。
Here, when the necessary 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 cannot be secured in the selected physical server 1 (No in step S7), the physical server unit
Here, when the next physical server exists (Yes in step S10), the physical server unit
なお、物理サーバ単位リソース判定手段22bは、動作状態リスト214(図6参照)を参照して、新たに追加するVM12のアプリケーションとは異なる他の動作系(運用系または待機系)と同じアプリケーションが動作している場合、その動作している物理サーバは選択から除外する。
Note that the physical server unit
そして、次の物理サーバ1が存在しない場合(ステップS10でNo)、物理サーバ単位リソース判定手段22bは、ステップS12に動作を移す。
この場合、物理サーバ単位では、新たなVM12のためのリソースを確保できないため、仮想マシン配置装置2は、全物理サーバリソース判定手段22cによって、すべての物理サーバ1でのリソース確保を試みる。
If the next
In this case, since resources for the
すなわち、全物理サーバリソース判定手段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が、そのコンパクション手順を実行する。
If the necessary 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, if the required number of cores cannot be secured by all physical servers (No in step S12), the virtual
In this case, after adding a new physical server in the data center S (step S16), a new VM is arranged (step S17).
以上の動作によって、仮想マシン配置装置2は、データセンタS内のリソース管理を行って、リソースの断片化が発生した場合でも、コンパクションにより新規に配置するVM12にリソースを確保することができる。
With 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, when the virtual
Thereby, even when the
また、ここでは、空きリソース判定手段22は、ある物理サーバ1においてCPU10ごとにリソースが確保できるか探索し、確保できない場合にその物理サーバ1内でコンパクションを行うことでリソースを確保できるか否かを判定した。すなわち、空きリソース判定手段22は、CPU単位の探索と物理サーバ単位の探索とを、物理サーバ1ごとに順次繰り返してリソースを確保できるか否か判定した。
しかし、空きリソース判定手段22は、すべての物理サーバ1内のすべてのCPU10でリソースが確保できるか探索し、確保できない場合に、物理サーバ単位でコンパクションすることでリソースを確保できるか否かを判定することとしてもよい。すなわち、空きリソース判定手段22は、すべての物理サーバ1でCPU単位の探索を行った後、すべての物理サーバ1に対して、物理サーバ単位の探索を行うこととしてもよい。
Further, 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 section (storage means)
220 Control unit (control means)
Claims (4)
前記物理サーバと前記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, a virtual machine placement device that assigns virtual machines to the same CPU cores in advance and places them on the physical servers
Storage means for associating the physical server, the CPU, and the core, and storing resource management data indicating in which virtual machine the core is used;
With reference to the resource management data, free resource determination means for determining whether or not a necessary number of cores required in advance by a new virtual machine can be secured on the same CPU;
When the required resource number cannot be secured on the same CPU by the free resource determination unit, the core to which the operating virtual machine is allocated is assigned to another CPU of the 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;
A virtual machine placement apparatus comprising:
前記同一CPUで前記必要コア数を確保できない場合に、個々の物理サーバ内で、前記動作中の仮想マシンに割り当てられているコアを、他のCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定する物理サーバ単位リソース判定手段と、
前記物理サーバ内で前記必要コア数を確保できない場合に、すべての物理サーバ間で、前記動作中の仮想マシンに割り当てられているコアを、他の物理サーバのCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定する全物理サーバリソース判定手段と、を備えることを特徴とする請求項1に記載の仮想マシン配置装置。 The free resource determination means includes:
When the required number of cores cannot be secured by the same CPU, the same number of required cores can be set by reassigning the cores assigned to the operating virtual machine to other CPUs within each physical server. Physical server unit resource determination means for determining whether or not it can be secured on the CPU;
When the required number of cores cannot be secured in the physical server, the core allocated to the operating virtual machine is reassigned to the CPU of another physical server among all the physical servers, thereby The virtual machine placement device according to claim 1, further comprising: all physical server resource judgment means for judging whether or not the number of cores can be secured on the same CPU.
空きリソース判定手段によって、前記物理サーバと前記CPUと前記コアとを対応付けるとともに、前記コアがどの仮想マシンに使用されているのかを示すリソース管理データを参照して、新たな仮想マシンが予め必要とする必要コア数を同一CPU上に確保できるか否かを判定するステップと、
コンパクション実行手段によって、前記空きリソース判定手段で同一CPU上に前記必要コア数を確保できない場合に、動作中の仮想マシンが割り当てられているコアを、当該仮想マシンが動作している物理サーバの他のCPU、または、他の物理サーバのCPUに割り当て直すステップと、
を含むことを特徴とするリソース管理方法。 In a computer system having a plurality of physical servers each having a plurality of CPUs composed of a plurality of cores, a virtual machine placement device secures resources for allocating virtual machines to the same CPU cores in advance and placing them on the physical servers. A resource management method for
The free resource determination means associates the physical server with the CPU and the core, and refers to resource management data indicating which virtual machine is used by the core, so that a new virtual machine is required in advance. Determining whether the required number of cores to be secured can be secured on the same CPU;
When the required number of cores cannot be secured on the same CPU by the compaction execution means, the core to which the operating virtual machine is allocated is assigned to the physical server on which the virtual machine is operating. Reassigning to the CPU of the other physical server or the CPU of another physical server;
A resource management method comprising:
CPU単位リソース判定手段によって、前記物理サーバと前記CPUと前記コアとを対応付けるとともに、前記コアがどの仮想マシンに使用されているのかを示すリソース管理データを参照して、同一CPU内で新たな仮想マシンが予め必要とする必要コア数を確保できるか否かを判定するステップと、
同一CPU内で前記必要コア数を確保できない場合に、物理サーバ単位リソース判定手段によって、前記リソース管理データを参照して、個々の物理サーバ内で、動作中の仮想マシンに割り当てられているコアを、他のCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定するステップと、
前記物理サーバ内で前記必要コア数を確保できる場合に、物理サーバ内割り当て変更手段によって、前記物理サーバ内でコアの割り当てを変更するステップと、
前記物理サーバ内で前記必要コア数を確保できない場合に、全物理サーバリソース判定手段によって、前記リソース管理データを参照して、すべての物理サーバ間で、動作中の仮想マシンに割り当てられているコアを、他の物理サーバのCPUに割り当て直すことで、前記必要コア数を同一CPU上に確保できるか否かを判定するステップと、
前記物理サーバ間で前記必要コア数を確保できる場合に、物理サーバ間割り当て変更手段によって、前記物理サーバ間でコアの割り当てを変更するステップと、
を含むことを特徴とするリソース管理方法。 In a computer system having a plurality of physical servers each having a plurality of CPUs composed of a plurality of cores, a virtual machine placement device secures resources for allocating virtual machines to the same CPU cores in advance and placing them on the physical servers. A resource management method for
The CPU unit resource determination means associates the physical server with the CPU and the core, and refers to resource management data indicating which virtual machine is used by the core, and creates a new virtual machine within the same CPU. Determining whether the machine can secure the required number of cores in advance;
When the required number of cores cannot be secured in the same CPU, the physical server unit resource determination means refers to the resource management data, and determines the cores assigned to the operating virtual machine in each physical server. Determining whether the necessary number of cores can be secured on the same CPU by reassigning to another CPU;
When the required number of cores can be secured in the physical server, the allocation of cores in the physical server is changed by the allocation change means in the physical server; and
When the required number of cores cannot be secured in the physical server, all physical server resource determination means refers to the resource management data and is allocated to the operating virtual machine among all physical servers Determining whether or not the necessary number of cores can be secured on the same CPU by reassigning to the CPU of another physical server;
When the required number of cores can be secured between the physical servers, the step of changing the allocation of cores between the physical servers by the allocation change unit between 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 true JP2017215884A (en) | 2017-12-07 |
JP6543219B2 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019160060A1 (en) * | 2018-02-19 | 2019-08-22 | 日本電信電話株式会社 | Virtual resource management device, virtual resource allocation method, and virtual resource allocation program |
CN111400020A (en) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | Virtual machine scheduling method and device and computer readable storage medium |
CN111861446A (en) * | 2020-07-20 | 2020-10-30 | 北京金山云网络技术有限公司 | Charging control method, charging control device, electronic equipment, server and storage medium |
JP2021060858A (en) * | 2019-10-08 | 2021-04-15 | 横河電機株式会社 | Real-time communication processing system and real-time communication processing method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163239A1 (en) * | 2006-12-29 | 2008-07-03 | Suresh Sugumar | Method for dynamic load balancing on partitioned systems |
JP2009205696A (en) * | 2009-06-15 | 2009-09-10 | Hitachi Ltd | Control method of multi-core processor computer |
JP2013171944A (en) * | 2012-02-20 | 2013-09-02 | Toshiba Corp | Semiconductor manufacturing apparatus and semiconductor device manufacturing method using the apparatus |
JP2015141459A (en) * | 2014-01-27 | 2015-08-03 | 日本電気株式会社 | system control device, control method, and program |
-
2016
- 2016-06-02 JP JP2016110554A patent/JP6543219B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163239A1 (en) * | 2006-12-29 | 2008-07-03 | Suresh Sugumar | Method for dynamic load balancing on partitioned systems |
JP2009205696A (en) * | 2009-06-15 | 2009-09-10 | Hitachi Ltd | Control method of multi-core processor computer |
JP2013171944A (en) * | 2012-02-20 | 2013-09-02 | Toshiba Corp | Semiconductor manufacturing apparatus and semiconductor device manufacturing method using the apparatus |
JP2015141459A (en) * | 2014-01-27 | 2015-08-03 | 日本電気株式会社 | system control device, control method, and program |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019160060A1 (en) * | 2018-02-19 | 2019-08-22 | 日本電信電話株式会社 | Virtual resource management device, virtual resource allocation method, and virtual resource allocation program |
JP2019144727A (en) * | 2018-02-19 | 2019-08-29 | 日本電信電話株式会社 | Virtual resource management device and virtual resource allocation method and virtual resource allocation program |
CN111400020A (en) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | Virtual machine scheduling method and device and computer readable storage medium |
CN111400020B (en) * | 2019-01-02 | 2023-05-09 | 中国移动通信有限公司研究院 | Virtual machine scheduling method and device and computer readable storage medium |
JP2021060858A (en) * | 2019-10-08 | 2021-04-15 | 横河電機株式会社 | Real-time communication processing system and real-time communication processing method |
JP7010272B2 (en) | 2019-10-08 | 2022-01-26 | 横河電機株式会社 | Real-time communication processing system and real-time communication processing method |
CN111861446A (en) * | 2020-07-20 | 2020-10-30 | 北京金山云网络技术有限公司 | Charging control method, charging control device, electronic equipment, server and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP6543219B2 (en) | 2019-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11579914B2 (en) | Platform independent GPU profiles for more efficient utilization of GPU resources | |
US11182196B2 (en) | Unified resource management for containers and virtual machines | |
EP3761170B1 (en) | Virtual machine creation method and apparatus | |
CN109565515B (en) | System, apparatus, and process for dynamic tenant fabric adjustment in a distributed resource management system | |
JP5368285B2 (en) | Computer system, computer resource management method and program | |
JP6658882B2 (en) | Control device, VNF placement destination selection method and program | |
JP5352890B2 (en) | Computer system operation management method, computer system, and computer-readable medium storing program | |
JP2018503897A (en) | Resource management in cloud systems | |
JP2010282420A (en) | Management computer, resource management method, resource management program, recording medium, and information processing system | |
JP2007272263A (en) | Method for managing computer, computer system, and management program | |
US11556369B2 (en) | Virtual machine deployment method and OMM virtual machine | |
JP6543219B2 (en) | Virtual machine allocation apparatus and resource management method | |
EP3731093B1 (en) | Service location management in computing systems | |
JP5597293B2 (en) | Computer system and program | |
JP2010205208A (en) | Host computer, multipath system, and method and program for allocating path | |
JP5558615B2 (en) | Computer system, computer resource management method and program | |
CN107562510B (en) | Management method and management equipment for application instances | |
JP6075882B2 (en) | Distributed processing system and distributed processing method | |
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 | |
JP2016038888A (en) | Information processing system, information processing method and information processing program | |
JP5744287B2 (en) | Computer system and computer resource management method | |
JP6696947B2 (en) | Virtual machine emulation system, virtual machine emulation method and computer program | |
JP5390651B2 (en) | Computer system and 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 | Request for written amendment filed |
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 |