JP7675144B2 - Management device, management method, and program - Google Patents
Management device, management method, and program Download PDFInfo
- Publication number
- JP7675144B2 JP7675144B2 JP2023166427A JP2023166427A JP7675144B2 JP 7675144 B2 JP7675144 B2 JP 7675144B2 JP 2023166427 A JP2023166427 A JP 2023166427A JP 2023166427 A JP2023166427 A JP 2023166427A JP 7675144 B2 JP7675144 B2 JP 7675144B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- server
- management device
- score
- virtual
- 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
- Debugging And Monitoring (AREA)
Description
本発明は、管理装置、管理方法及びプログラムに関する。 The present invention relates to a management device, a management method, and a program.
現在、1つのサーバ内で複数の仮想マシン(Virtual Machine)を同時に動作させることが可能な技術が知られている。例えば特許文献1には、各仮想マシンのパフォーマンスが最大となるような仮想マシンと仮想マシンサーバの組み合わせを求める技術が開示されている。 Currently, there is known technology that allows multiple virtual machines to run simultaneously on one server. For example, Patent Document 1 discloses a technology that determines the combination of virtual machines and virtual machine servers that maximizes the performance of each virtual machine.
仮想マシンサーバで動作する仮想マシンの中には、利用頻度が低い仮想マシンが存在することがある。例えば検証環境で仮想マシンを用いるような場合、検証中である仮想マシンの利用頻度が高いが、検証が完了すると利用頻度が低くなることが想定される。したがって、利用頻度が低い仮想マシンに対しても、仮想マシンサーバの物理リソースを確保しておくことは、非効率であると考えられる。 Some virtual machines running on a virtual machine server are used infrequently. For example, when using virtual machines in a testing environment, it is expected that the virtual machine being tested will be used frequently, but will be used less frequently once testing is complete. Therefore, it is considered inefficient to reserve the physical resources of the virtual machine server even for virtual machines that are used infrequently.
そこで、本発明は、仮想マシンの利用頻度に基づいて、仮想マシンサーバの物理リソースを効率的に利用可能とする技術を提供することを目的とする。 The present invention aims to provide a technology that enables efficient use of the physical resources of a virtual machine server based on the frequency of virtual machine usage.
本発明の一態様に係る管理装置は、オーバーコミットを許容しない第1仮想マシンサーバに配置される第1仮想マシンの動作に関する統計情報を取得する取得部と、前記統計情報から前記第1仮想マシンの利用頻度を示すスコアを算出する算出部と、前記スコアに基づいて、前記第1仮想マシンを、前記第1仮想マシンサーバ又はオーバーコミットを許容する第2仮想マシンサーバに配置する、配置制御部と、を有する。 A management device according to one aspect of the present invention includes an acquisition unit that acquires statistical information regarding the operation of a first virtual machine that is placed on a first virtual machine server that does not allow overcommitment, a calculation unit that calculates a score indicating the usage frequency of the first virtual machine from the statistical information, and a placement control unit that places the first virtual machine on the first virtual machine server or a second virtual machine server that allows overcommitment based on the score.
本発明によれば、仮想マシンの利用頻度に基づいて、仮想マシンサーバの物理リソースを効率的に利用可能とする技術を提供することができる。 The present invention provides a technology that enables efficient use of the physical resources of a virtual machine server based on the frequency of virtual machine usage.
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。 The embodiment of the present invention will be described with reference to the attached drawings. In each drawing, the same reference numerals are used to denote the same or similar configurations.
<システム構成>
図1は、本実施形態に係る仮想マシン管理システム1の一例を示す図である。仮想マシン管理システム1は、管理装置10と、複数の仮想マシンサーバ20-1~20-4と、仮想マシンサーバ20-1~20-4内で動作する複数の仮想マシンA~Eとを含む。以下の説明において、仮想マシンサーバ20-1~20-4を区別しない場合は、仮想マシンサーバ20と記載する。また、仮想マシンA~Eを区別しない場合は、仮想マシンと記載する。
<System Configuration>
1 is a diagram showing an example of a virtual machine management system 1 according to this embodiment. The virtual machine management system 1 includes a
管理装置10と、複数の仮想マシンサーバ20-1~20-4とは、無線又は有線の通信ネットワークNを介して接続され、相互に通信を行うことができる。
The
管理装置10は、仮想マシンサーバ20-1~20-4で動作する仮想マシンA~Eの動作状態を管理し、仮想マシンA~Eを配置する複数の仮想マシンサーバ20の選択等を行う。管理装置10は、コンピュータと呼ばれてもよい。
The
仮想マシンサーバ20-1~20-4は、ハイパーバイザーを搭載し、1以上の仮想マシンを動作させることができる。仮想マシンサーバ20-1及び仮想マシンサーバ20-2は、オーバーコミットを許容しない仮想マシンサーバ20であり、本実施形態では「ギャランティ領域」や「動作保証領域」と呼ぶ。一方、仮想マシンサーバ20-1及び仮想マシンサーバ20-2は、オーバーコミットを許容する仮想マシンサーバ20であり、本実施形態では「ベストエフォート領域」と呼ぶ。 Virtual machine servers 20-1 to 20-4 are equipped with a hypervisor and can run one or more virtual machines. Virtual machine servers 20-1 and 20-2 are virtual machine servers 20 that do not allow overcommit, and in this embodiment, they are called the "guaranteed area" or "operation guaranteed area." On the other hand, virtual machine servers 20-1 and 20-2 are virtual machine servers 20 that allow overcommit, and in this embodiment, they are called the "best effort area."
オーバーコミットとは、仮想マシンに割り当てるリソースの合計値が、仮想マシンサーバ20が備える物理リソースを超えるように、仮想マシンにリソースを割り当てることをいう。例えば、仮想マシンにメモリ及びvCPU(virtual CPU)を割り当てる場合、全ての仮想マシンに割り当てられたメモリ量の合計とvCPU数の合計が、それぞれ、仮想マシンサーバ20が備える物理メモリ量とCPUコア数とを超えることを許容することをいう。 Overcommit refers to allocating resources to virtual machines so that the total value of the resources allocated to the virtual machines exceeds the physical resources of the virtual machine server 20. For example, when memory and vCPUs (virtual CPUs) are allocated to virtual machines, it refers to allowing the total amount of memory and the total number of vCPUs allocated to all virtual machines to exceed the amount of physical memory and the number of CPU cores of the virtual machine server 20, respectively.
一般的に、仮想マシンが、仮想マシン自身に割り当てられたリソースを常に上限まで利用することは稀であることが多い。したがって、オーバーコミットを許容することで、仮想マシンサーバ20の物理リソースを有効活用することが可能である。しかしながら、オーバーコミットを許容した仮想マシンサーバ20内で、各仮想マシンが、負荷の高い状態で動作した場合、仮想マシンサーバ20の物理リソースが不足してしまい、仮想マシンの動作が不安定になるというデメリットも生じることになる。 In general, it is rare for a virtual machine to always use the resources allocated to it to the maximum extent. Therefore, by allowing overcommit, it is possible to make effective use of the physical resources of the virtual machine server 20. However, if each virtual machine in a virtual machine server 20 that allows overcommit operates under a high load, the physical resources of the virtual machine server 20 may become insufficient, resulting in the disadvantage that the operation of the virtual machine may become unstable.
そこで、本実施形態では、仮想マシンの利用頻度に基づいて、利用頻度が高い仮想マシンについてはギャランティ領域に配置し、利用頻度が低い仮想マシンについてはベストエフォート領域に配置する。これにより、仮想マシンサーバの物理リソースを効率的に利用することが可能になる。 Therefore, in this embodiment, based on the usage frequency of the virtual machines, frequently used virtual machines are placed in the guaranteed area, and less frequently used virtual machines are placed in the best effort area. This makes it possible to efficiently use the physical resources of the virtual machine server.
<ハードウェア構成>
図2は、管理装置10のハードウェア構成例を示す図である。管理装置10は、CPU(Central Processing Unit)、GPU(Graphical Processing Unit)等のプロセッサ11、メモリ(例えばRAM(Random Access Memory)又はROM(Read Only Memory))、HDD(Hard Disk Drive)及び/又はSSD(Solid State Drive)等の記憶装置12、有線又は無線通信を行うネットワークIF(Network Interface)13、入力操作を受け付ける入力装置14、及び情報の出力を行う出力装置15を有する。入力装置14は、例えば、キーボード、タッチパネル、マウス及び/又はマイク等である。出力装置15は、例えば、ディスプレイ、タッチパネル及び/又はスピーカ等である。
<Hardware Configuration>
2 is a diagram showing an example of a hardware configuration of the
<機能ブロック構成>
図3は、管理装置10の機能ブロック構成例を示す図である。管理装置10は、記憶部100と、取得部101と、算出部102と、配置制御部103と、予測部104とを含む。記憶部100は、管理装置10が備える記憶装置12を用いて実現することができる。また、取得部101と、算出部102と、配置制御部103と、予測部104とは、管理装置10のプロセッサ11が、記憶装置12に記憶されたプログラムを実行することにより実現することができる。また、当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体(Non-transitory computer readable medium)であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、USB(Universal Serial Bus)メモリ又はCD-ROM(Compact Disc Read-Only Memory)等の記憶媒体であってもよい。
<Function block configuration>
FIG. 3 is a diagram showing an example of a functional block configuration of the
記憶部100は、仮想マシンサーバ20を管理するための各種のデータを記憶する。
The
取得部101は、オーバーコミットを許容しない仮想マシンサーバ(第1仮想マシンサーバ、すなわちギャランティ領域)に配置される仮想マシン(第1仮想マシン)の動作に関する統計情報を取得する。
The
また、取得部101は、オーバーコミットを許容する仮想マシンサーバ(第2仮想マシンサーバ、すなわちベストエフォート領域)に配置される仮想マシン(第2仮想マシン)の動作ログを取得する。
The
算出部102は、取得部で取得された統計情報から、仮想マシンの利用頻度を示すスコアを算出する。例えば、仮想マシンがアプリケーション等の検証に用いられる場合、仮想マシンの利用頻度は、所定時間のうち仮想マシンが検証に用いられている時間の割合を意味してもよい。なお、スコアが高いほど利用頻度が高いことを意味してもよいし、スコアが高いほど利用頻度が低いことを意味してもよい。本実施形態では、スコアが高いほど利用頻度が低いことを意味する前提で説明する。仮想マシンが検証に用いられている時間は、利用頻度の一例であってよく、その他には、所定のクライアントからの接続の回数または間隔、所定のアカウントでのログイン回数または間隔等の種々の情報が利用頻度として用いられ得る。
The
配置制御部103は、算出部102で算出されたスコアに基づいて、ギャランティ領域に配置される仮想マシン(第1仮想マシン)を、ギャランティ領域の仮想マシンサーバ20(第1仮想マシンサーバ)又はベストエフォート領域の仮想マシンサーバ20(第2仮想マシンサーバ)に配置する。
The
また、配置制御部103は、算出部102で算出されたスコアが閾値以上であることにより、仮想マシンの利用頻度が低いと判断される場合、ギャランティ領域に配置される仮想マシン(第1仮想マシン)を、ベストエフォート領域の仮想マシンサーバ20(第2仮想マシンサーバ)に移動させるようにしてもよい。
In addition, when the score calculated by the
また、配置制御部103は、算出部102で算出されたスコアが閾値未満であることにより、仮想マシンの利用頻度が高いと判断される場合、ギャランティ領域に配置される仮想マシン(第1仮想マシン)を、ギャランティ領域の仮想マシンサーバ20(第1仮想マシンサーバ)に配置し続けるようにしてもよい。
In addition, when it is determined that the virtual machine is frequently used because the score calculated by the
また、配置制御部103は、予測部104で予測された、ベストエフォート領域に配置される仮想マシン(第2仮想マシン)の将来の負荷が閾値以上であることにより、当該仮想マシン(第2仮想マシン)の負荷が将来増加すると判断される場合、当該仮想マシンを、ギャランティ領域の仮想マシンサーバ20(第1仮想マシンサーバ)に配置するようにしてもよい。
In addition, when it is determined that the load of a virtual machine (second virtual machine) to be placed in the best effort region will increase in the future because the future load of the virtual machine (second virtual machine) predicted by the
また、配置制御部103は、ベストエフォート領域に配置される仮想マシン(第2仮想マシン)がベストエフォート領域に存在する期間が、閾値以上である場合、当該仮想マシン(第2仮想マシン)のスナップショットを記憶部100に記憶させ、当該仮想マシン(第2仮想マシン)を、仮想マシンサーバ20から削除するようにしてもよい。
In addition, when the period during which a virtual machine (second virtual machine) placed in the best effort region exists in the best effort region is equal to or longer than a threshold, the
予測部104は、ベストエフォート領域に配置される仮想マシン(第2仮想マシン)の動作ログに基づいて、当該仮想マシン(第2仮想マシン)の将来の負荷を予測する。例えば予測部104は、動作ログと仮想マシンの将来の負荷との関係に基づいて学習された学習モデルを用いて、仮想マシンの将来の負荷を予測するようにしてもよい。
The
<処理手順>
図4は、仮想マシンを配置する領域を選択する処理手順の一例を示すフローチャートである。管理装置10は、図4に示す処理手順を、所定期間ごとに繰り返すことで、定期的に仮想マシンを配置する仮想マシンサーバ20を変更する。所定期間は特に限定されないが、例えば1週間など、ある程度長い期間であってもよい。
<Processing Procedure>
4 is a flowchart showing an example of a procedure for selecting an area in which a virtual machine is to be placed. The
ステップS10で、取得部101は、ギャランティ領域及びベストエフォート領域の仮想マシンサーバ20-1~20-4から、仮想マシンごとの統計情報を取得する。統計情報は、仮想マシンA~Eの動作に関するデータを所定期間で集計した情報であり、例えば、メモリ使用量、CPU使用率、ディスクサイズの増加率、Syslogサイズの増加率、SSH(Secure Shell)ログサイズの増加率等が挙げられる。所定期間は特に限定されないが、例えば、管理装置10が図4に示す処理手順を実行する周期(例えば1週間など)と同一でもよい。なお、統計情報は、これらに限定されるものではなく、仮想マシンの動作に関するデータであれば、これら以外のデータも含まれ得る。また、統計情報は、これらの全てを用いる場合に限定されるものではなく、任意のものを選択して利用し得る。
In step S10, the
ステップS11で、算出部102は、取得した統計情報を用いて、仮想マシンごとに利用頻度を示すスコアを算出する。算出部102は、メモリ使用量、CPU使用率、ディスクサイズの増加率、Syslogサイズの増加率及びSSHログサイズの増加率の5つの項目について、それぞれ、予め定められた閾値未満である項目数をカウントすることで、スコア値を算出するようにしてもよい。
In step S11, the
具体的には、算出部102は、以下の手順1~5にしたがってスコア値を算出するようにしてもよい。なお、スコアの初期値は0とする。閾値の値は、項目ごとに異なっていてもよい。増加率(%)は、前回スコアを算出した時点からの増加率を意味する。例えば、前回スコアを算出した時点が所定期間前(例えば1週間前)である場合、ディスク使用量の増加率は、現在のディスク使用量を所定期間前のディスク使用量で割った値に100を乗算することで算出することができる。
1.メモリ使用量が閾値未満の場合、スコアに1を加算する。
2.CPU使用率が閾値未満の場合、スコアに1を加算する。
3.ディスク使用量の増加率が閾値未満の場合、スコアに1を加算する。
4.Syslogサイズの増加率が閾値未満の場合、スコアに1を加算する。
5.SSHログサイズの増加率が閾値未満の場合、スコアに1を加算する。
Specifically, the
1. If memory usage is below the threshold, add 1 to the score.
2. If the CPU usage is below the threshold, add 1 to the score.
3. If the increase rate of disk usage is less than the threshold, add 1 to the score.
4. If the rate of increase in Syslog size is less than the threshold, add 1 to the score.
5. If the SSH log size growth rate is less than the threshold, add 1 to the score.
例えば、仮想マシンAについて、メモリ使用量及びCPU使用率が閾値未満であるが、その他の項目については閾値以上である場合、算出部102は、仮想マシンAのスコアは2であると算出する。
For example, if the memory usage and CPU usage of virtual machine A are less than the thresholds, but the other items are equal to or greater than the thresholds, the
また、スコアを計算する際、項目毎に定められた重み係数が考慮されてもよい。例えば、算出部102は、重み係数a~eを用いて、以下の手順1~5によりスコアを算出するようにしてもよい。
1.メモリ使用量が閾値未満の場合、スコアに1×aを加算する。
2.CPU使用率が閾値未満の場合、スコアに1×bを加算する。
3.ディスク使用量の増加率が閾値未満の場合、スコアに1×cを加算する。
4.Syslogサイズの増加率が閾値未満の場合、スコアに1×dを加算する。
5.SSHログサイズの増加率が閾値未満の場合、スコアに1×eを加算する。
In addition, when calculating the score, weighting coefficients determined for each item may be taken into consideration. For example, the
1. If memory usage is less than the threshold, add 1×a to the score.
2. If the CPU usage is less than the threshold, add 1×b to the score.
3. If the increase rate of disk usage is less than the threshold, add 1×c to the score.
4. If the rate of increase in Syslog size is less than the threshold, add 1 x d to the score.
5. If the rate of increase in the SSH log size is less than the threshold, add 1×e to the score.
ステップS12で、配置制御部103は、各仮想マシンについて、スコアが閾値以上であるか否かを判断する。閾値は任意であるが、例えばスコアが0~5のいずれかで表現される場合、閾値は4以上などと定められていてもよい。スコアが閾値以上である仮想マシンについてはステップS13の処理手順を実行する。スコアが閾値未満である仮想マシンについてはステップS14の処理手順を実行する。
In step S12, the
ステップS13で、配置制御部103は、スコアが閾値以上である仮想マシンを、ギャランティ領域からベストエフォート領域に移動させる。具体的には、配置制御部103は、仮想マシンの実態を構成する各種ファイルを、ベストエフォート領域の仮想マシンサーバ20-3又は仮想マシンサーバ20-4にコピーする。コピー完了後、配置制御部103は、当該仮想マシンが配置されていたギャランティ領域の仮想マシンサーバ20から、ベストエフォート領域にコピーした仮想マシンのコピー元のギャランティ領域の各種ファイルを削除する。なお、既にベストエフォート領域に存在する仮想マシンについては移動処理を行わず、そのままベストエフォート領域に配置し続ける。
In step S13, the
ここで、閾値は、固定の値であってよい。このようにすることで、利用頻度が一定頻度を下回った仮想マシンを確実にベストエフォート領域に移動させることができ、仮想マシンの利用者にとって基準が明確となり、例えば、自主的な利用終了の連絡につながるなど、設備利用のガバナンスを向上させられる。 Here, the threshold value may be a fixed value. In this way, virtual machines whose usage frequency falls below a certain frequency can be reliably moved to the best effort area, making the criteria clear to virtual machine users and improving the governance of facility usage, for example by leading to notifications of voluntary termination of usage.
ステップS14で、配置制御部103は、スコアが閾値未満である仮想マシンを、ベストエフォート領域からギャランティ領域に移動させる。具体的には、配置制御部103は、仮想マシンを構成する各種ファイルを、ギャランティ領域の仮想マシンサーバ20-1又は仮想マシンサーバ20-2にコピーする。コピー完了後、配置制御部103は、当該仮想マシンが配置されていたベストエフォート領域の仮想マシンサーバ20から、ギャランティ領域にコピーした仮想マシンのコピー元のベストエフォート領域の各種ファイルを削除する。なお、既にギャランティ領域に存在する仮想マシンについては移動処理を行わず、そのままギャランティ領域に配置し続ける。
In step S14, the
ここで、各仮想マシンについて算出したスコアに基づいてギャランティ領域の仮想マシンサーバ20に配置する仮想マシンを決定する場合、スコアが閾値を下回った仮想マシンの要求するリソース量の合計がギャランティ領域の仮想マシンサーバ20を超過してしまう恐れがある。ギャランティ領域の仮想マシンサーバ20のリソースが不足するとギャランティ領域に存在する仮想サーバの稼働が不安定になるため、配置制御部103は、ギャランティ領域の仮想マシンサーバ20のリソース量(例えば物理メモリ量及びvCPU数)が一定程度仮想マシンに割り当てられる場合には、予め管理者に通知等が行われてよい。例えば、配置制御部103は、ギャランティ領域の仮想マシンサーバ20のリソース量の80%が仮想マシンに割り当てられた場合に、管理者に通知を行ってよい。このようにすることで、管理者は、ギャランティ領域の仮想マシンサーバ20のリソースが不足する前に閾値を変更する・ギャランティ領域の仮想マシンサーバ20のリソースを増強するなどの対処を行うことができる。
Here, when deciding which virtual machines to place on the virtual machine server 20 in the guaranteed area based on the score calculated for each virtual machine, there is a risk that the total resource amount required by the virtual machines whose scores are below the threshold may exceed the virtual machine server 20 in the guaranteed area. If the virtual machine server 20 in the guaranteed area runs out of resources, the operation of the virtual servers in the guaranteed area becomes unstable. Therefore, when a certain amount of the resource amount (e.g., the amount of physical memory and the number of vCPUs) of the virtual machine server 20 in the guaranteed area is allocated to the virtual machine, the
また、閾値は、可変の値とすることもできる。例えば、スコアが低い仮想マシンから順にギャランティ領域に移動させると仮定した場合に、ギャランティ領域に移動させる各仮想マシンに割り当てられているリソース量の合計が、ギャランティ領域の仮想マシンサーバ20が有するリソース量を超過しないよう閾値が自動的に算出されてもよい。 The threshold value may also be a variable value. For example, assuming that virtual machines with the lowest scores are moved to the guarantee area in ascending order, the threshold value may be automatically calculated so that the total amount of resources allocated to each virtual machine to be moved to the guarantee area does not exceed the amount of resources possessed by the virtual machine server 20 in the guarantee area.
例えば、仮想マシン管理システム1には仮想マシンA~Eが存在し、仮想マシンA~Eのスコアは、それぞれ、0、1、2、5、5であると仮定する。また、仮想マシンA及びBをギャランティ領域に移動させた場合、仮想マシンA及びBに割り当てられているリソース量の合計はギャランティ領域の仮想マシンサーバ20の物理リソース量を超えないものとする。また、仮想マシンA、B及びCをギャランティ領域に移動させた場合、仮想マシンA、B及びCに割り当てられているリソース量の合計はギャランティ領域の仮想マシンサーバ20の物理リソース量を超えるものとする。この場合、配置制御部103は、閾値を2に設定するようにしてもよい。
For example, assume that virtual machines A to E exist in the virtual machine management system 1, and that the scores of virtual machines A to E are 0, 1, 2, 5, and 5, respectively. Furthermore, when virtual machines A and B are moved to the guarantee area, the total amount of resources allocated to virtual machines A and B does not exceed the amount of physical resources of the virtual machine server 20 in the guarantee area. Furthermore, when virtual machines A, B, and C are moved to the guarantee area, the total amount of resources allocated to virtual machines A, B, and C exceeds the amount of physical resources of the virtual machine server 20 in the guarantee area. In this case, the
このようにすることで、利用頻度が一定程度を超える仮想マシンの全てをギャランティ領域に配置できない場合であっても、利用頻度の高い仮想マシンを優先的にギャランティ領域に配置することができるため、高頻度で利用されている仮想マシンの安定性を担保することができる。 By doing this, even if it is not possible to place all virtual machines whose usage frequency exceeds a certain level in the guaranteed area, it is possible to prioritize placement of frequently used virtual machines in the guaranteed area, thereby ensuring the stability of frequently used virtual machines.
(変形例1)
図4に示す処理手順を行うことで、利用頻度が低い仮想マシンは、ベストエフォート領域の仮想マシンサーバ20に移動することになる。ここで、本実施形態を、仮想マシンのテスト環境などに適用する場合、ギャランティ領域で仮想マシンのテストを行い、テストが完了した仮想マシンについてはベストエフォート領域に移動させるような利用形態が想定される。このような環境では、テストが完了した仮想マシンが、ベストエフォート領域の仮想マシンサーバ20に溜まってしまい、当該仮想マシンサーバ20のリソースを圧迫することが考えらえる。そこで、管理装置10は、所定期間の間ベストエフォート領域に存在する仮想マシンについては削除するようにしてもよい。
(Variation 1)
4, a virtual machine that is used infrequently is moved to a virtual machine server 20 in the best effort region. When this embodiment is applied to a virtual machine test environment, it is assumed that the virtual machine is tested in the guarantee region, and the virtual machine for which the test is completed is moved to the best effort region. In such an environment, virtual machines for which the test is completed may accumulate in the virtual machine server 20 in the best effort region, which may put a strain on the resources of the virtual machine server 20. Therefore, the
図5は、仮想マシンを削除する処理手順の一例を示すフローチャートである。管理装置10は、図5に示す処理手順を、所定期間ごとに繰り返すようにしてもよい。所定期間は特に限定されないが、管理装置10は、図5に示す処理手順を、例えば1ヵ月又は半年など、図4に示す処理手順よりも長い周期で繰り返すようにしてもよい。
Figure 5 is a flowchart showing an example of a processing procedure for deleting a virtual machine. The
ステップS20で、配置制御部103は、ベストエフォート領域の仮想マシンサーバ20に存在する各仮想マシンについて、仮想マシンサーバ20に存在する期間が閾値以上であるか否かを判断する。例えば、配置制御部103は、ベストエフォート領域の仮想マシンサーバ20に記録されているログデータに基づいて、各仮想マシンが仮想マシンサーバ20に存在する期間を判断するようにしてもよい。仮想マシンサーバ20に存在する期間が閾値以上である仮想マシンが存在する場合はステップS21の処理手順に進み、仮想マシンサーバ20に存在する期間が閾値以上である仮想マシンが存在しない場合は処理を終了する。
In step S20, the
ステップS21で、配置制御部103は、仮想マシンサーバ20に存在する期間が閾値以上である仮想マシンについて、仮想マシンの実態を構成する仮想マシンのスナップショットを、記憶部100等に保存する。なお、スナップショットとは、仮想マシンの最新の動作状態を記録したデータであり、例えば、メモリに記憶されている最新の全データ及びディスクに書き込まれている最新の全データ等が含まれる。
In step S21, the
ステップS22で、配置制御部103は、ベストエフォート領域の仮想マシンサーバ20から、当該仮想マシンサーバ20に存在する期間が閾値以上である仮想マシンを削除する(すなわち、仮想マシンを構成する各種ファイルを削除する)。
In step S22, the
なお、削除された仮想マシンに対して、スナップショットから復元する操作(復元操作)が行われた場合(例えば、ログインが要求された場合等)には、削除前に取得したスナップショットがベストエフォート領域の仮想マシンサーバ20に復元されてよい。この場合、スナップショットは、当該仮想マシンに関する最新のスナップショットが利用されてよい。このようにすることで、ユーザは、仮想マシンが仮想マシンサーバ20から削除されていたことを認識せずに利用を再開することができる。また、当該仮想マシンに関するスナップショットが複数存在する場合には、利用を再開するスナップショットを所定の方法により選択可能であってもよい。所定の方法は、例えばユーザによる選択であってもよい。このようにすることで、ユーザは、任意の時点のスナップショットに基づいて仮想マシンを復元し、復元した仮想マシンの利用を再開することができ、例えば、最後に検証を行った時点から大きく環境を変化させたい場合等には検証の準備作業の負担を軽減することができる場合がある。なお、復元が行われるタイミングは、削除された仮想マシンに対するログインの要求に限定されるものではなく、当該仮想マシンのユーザが管理画面等から操作可能であってもよい。スナップショットからの復元には、一定程度の時間を要するため、事前に復元を行っておくことで検証作業をスムーズに再開することができる。 When an operation to restore a deleted virtual machine from a snapshot (restoration operation) is performed (for example, when a login is requested), the snapshot acquired before the deletion may be restored to the virtual machine server 20 in the best effort area. In this case, the latest snapshot related to the virtual machine may be used. In this way, the user can resume use of the virtual machine without being aware that the virtual machine has been deleted from the virtual machine server 20. In addition, when there are multiple snapshots related to the virtual machine, the snapshot to resume use may be selected by a predetermined method. The predetermined method may be, for example, selection by the user. In this way, the user can restore the virtual machine based on a snapshot at any time and resume use of the restored virtual machine. For example, when the environment is to be significantly changed from the time when the last verification was performed, the burden of the preparation work for verification may be reduced. In addition, the timing of the restoration is not limited to a request to login to the deleted virtual machine, and the user of the virtual machine may be able to operate it from a management screen or the like. Since restoration from a snapshot takes a certain amount of time, the verification work can be smoothly resumed by performing restoration in advance.
(変形例2)
図4に示す処理手順では、仮想マシンの統計情報に基づいて、ベストエフォート領域に存在する利用頻度が高い仮想マシンを、ギャランティ領域に移動させるようにした。しかしながら、図4に示す処理手順では、利用頻度が高い仮想マシンは、ギャランティ領域に移動する前はベストエフォート領域で動作せざるを得ないことから、仮想マシンの利用形態(例えば高負荷状態の検証を行う場合等)によっては、リソースを十分に確保することができず、仮想マシンの動作が一時的に不安定になる可能性がある。具体的には、例えば、前日までは低負荷で稼働していた仮想マシンが、急に高負荷で稼働するようになった場合、ベストエフォート領域では、リソースを十分に確保できず、仮想マシンの動作が不安定になる可能性がある。ここで、高負荷な処理が行われる前には、その準備として、例えば、仮想マシン内の設定の変更や、新たなソフトウェアの追加、処理に用いるファイルの格納等、それ自体は高い負荷を与えないが、後の高負荷な処理の前触れとなる処理が行われる可能性がある。したがって、高負荷な処理の前触れがあった場合は、予め当該仮想マシンをベストエフォート領域からギャランティ領域に移動させておくことで、仮想マシンの動作が一時的に不安定になることを回避できる場合がある。
(Variation 2)
In the process shown in FIG. 4, a frequently used virtual machine in the best effort area is moved to the guarantee area based on the virtual machine's statistical information. However, in the process shown in FIG. 4, a frequently used virtual machine must operate in the best effort area before moving to the guarantee area. Therefore, depending on the usage mode of the virtual machine (for example, when verifying a high load state), resources may not be secured sufficiently, and the operation of the virtual machine may become temporarily unstable. Specifically, for example, if a virtual machine that was operating at a low load until the day before suddenly starts operating at a high load, resources may not be secured sufficiently in the best effort area, and the operation of the virtual machine may become unstable. Here, before a high load process is performed, for example, a process that does not itself impose a high load but is a precursor to a later high load process may be performed as preparation for the process, such as changing settings in the virtual machine, adding new software, or storing files used in the process. Therefore, when there is a precursor to a high load process, the virtual machine may be moved from the best effort area to the guarantee area in advance to avoid the operation of the virtual machine becoming temporarily unstable.
そこで、管理装置10は、ベストエフォート領域に存在する仮想マシンの負荷が将来高くなることが予測される場合、当該仮想マシンを事前にギャランティ領域に移動させるようにしてもよい。
Therefore, if the
図6は、負荷の上昇が予測される仮想マシンをギャランティ領域に移動させる処理の一例を示すフローチャートである。管理装置10は、図6に示す処理手順を、所定期間ごとに繰り返すようにしてもよい。所定期間は特に限定されないが、管理装置10は、図6に示す処理手順を、例えば毎日など、図4に示す処理手順よりも短い周期で繰り返すようにしてもよい。また、変形例2に示す処理手順を実行する場合、図4の処理手順のうち、ステップS14の処理手順は省略されてもよい。
Figure 6 is a flowchart showing an example of a process for moving a virtual machine for which an increase in load is predicted to occur to a guarantee area. The
ステップS30で、取得部101は、ベストエフォート領域の仮想マシンサーバ20から、当該仮想マシンサーバ20内に存在する各仮想マシンの動作ログ情報を取得する。取得する動作ログ情報の期間は、管理装置10は、図6に示す処理手順を繰り返す所定期間と同一であってもよい。例えば、管理装置10は、図6に示す処理手順を毎日繰り返す場合、取得する動作ログ情報は最新の24時間分とするようにしてもよい。
In step S30, the
ステップS31で、予測部104は、各仮想マシンの動作ログ情報を、仮想マシンの将来負荷を予測する学習モデルに入力することで、各仮想マシンの将来の負荷を予測する。
In step S31, the
動作ログ情報に含まれるデータは、例えば、仮想マシンへのアクセス数、通信データ量、仮想マシンがダウン(異常終了)したことを示すログの数、スワップ領域の利用頻度、仮想サーバのスナップショットが取得された回数、OS上のプロセス数、OSのユーザ数、OOMキラーの発動回数等に関するデータ等が挙げられる。 Data included in the operation log information includes, for example, data on the number of accesses to the virtual machine, the amount of communication data, the number of logs indicating that the virtual machine has gone down (abnormally terminated), the frequency with which the swap space is used, the number of times a snapshot of the virtual server has been taken, the number of processes on the OS, the number of users of the OS, the number of times the OOM killer was activated, etc.
学習モデルは、動作ログ情報と仮想マシンの将来の負荷を示す情報との関係を学習させることで生成されたモデルである。仮想マシンの将来の負荷を示す情報とは、例えば、1日後の仮想マシンの負荷を示す負荷レベル等であってもよい。例えば、負荷レベルは1~10で表され、負荷レベルが大きいほど負荷が高いことを意味することとしてもよい。つまり、学習モデルは、例えば、動作ログ情報を入力すると、負荷レベルを出力するように学習されたモデルであってもよい。 The learning model is a model generated by learning the relationship between operation log information and information indicating the future load of the virtual machine. The information indicating the future load of the virtual machine may be, for example, a load level indicating the load of the virtual machine one day from now. For example, the load level may be expressed as 1 to 10, with a higher load level indicating a higher load. In other words, the learning model may be, for example, a model that has been trained to output a load level when operation log information is input.
また、学習モデルは、前回の動作ログ情報と最新の動作ログ情報とが入力されることで、仮想マシンの将来の負荷を示す情報を出力するモデルであってもよい。つまり、予測部104は、各仮想マシンの前回及び最新の動作ログ情報を、仮想マシンの将来負荷を予測する学習モデルに入力することで、各仮想マシンの将来の負荷を予測するようにしてもよい。これにより、仮想マシンの将来の負荷をより適切に予測することが可能になる。
The learning model may also be a model that outputs information indicating the future load of a virtual machine by inputting the previous operation log information and the latest operation log information. In other words, the
ステップS32で、配置制御部103は、ステップS31の処理手順で予測された各仮想マシンの中に、将来の負荷が閾値以上である仮想サーバが存在するか否かを判定する。将来の負荷が閾値以上である仮想サーバが存在する場合、ステップS33の処理手順に進む。一方、配置制御部103は、将来の負荷が閾値以上である仮想サーバが存在しない場合、処理を終了する。
In step S32, the
ステップS33で、配置制御部103は、将来の負荷が閾値以上である仮想サーバを、ベストエフォート領域の仮想マシンサーバ20からギャランティ領域の仮想マシンサーバ20に移動させる。移動させる方法については、図4のステップS14で説明した方法と同一でよい。
In step S33, the
<まとめ>
以上説明した実施形態によれば、管理装置10は、仮想マシンの利用頻度に基づいて、仮想マシンを、ギャランティ領域の仮想マシンサーバ20又はベストエフォート領域の仮想マシンサーバ20のいずれかに配置するようにした。これにより、仮想マシンサーバの物理リソースを効率的に利用することが可能になる。
<Summary>
According to the embodiment described above, the
また、管理装置10は、所定期間の間ベストエフォート領域に存在する仮想マシンについては、スナップショットを保存してから削除するようにした。これにより、ベストエフォート領域に対応する仮想マシンサーバ20のリソースが圧迫されることを抑制することが可能になる。
In addition, the
また、管理装置10は、将来負荷が高くなることが予想される仮想マシンについては、予めギャランティ領域の仮想マシンサーバ20に移動させるようにした。これにより、仮想マシンの負荷が実際に高くなる前に、ギャランティ領域に移動させることができ、仮想マシンを安定して動作させることが可能になる。
In addition, the
また、本実施形態に係る技術は、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献することができる。 In addition, the technology related to this embodiment can contribute to achieving Goal 9 of the Sustainable Development Goals (SDGs), "Build resilient infrastructure, promote inclusive and sustainable industrialization, and promote innovation and infrastructure."
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態で説明したフローチャート、シーケンス、実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。 The above-described embodiments are intended to facilitate understanding of the present invention, and are not intended to limit the present invention. The flow charts, sequences, elements included in the embodiments, and their arrangements, materials, conditions, shapes, sizes, etc., described in the embodiments are not limited to those exemplified, and may be modified as appropriate. In addition, configurations shown in different embodiments may be partially substituted or combined.
1 仮想マシン管理システム、10 管理装置、11 プロセッサ、12 記憶装置、13 ネットワークIF、14 入力装置、15 出力装置、20 仮想マシンサーバ、100 記憶部、101 取得部、102 算出部、103 配置制御部、104 予測部 1 Virtual machine management system, 10 Management device, 11 Processor, 12 Storage device, 13 Network IF, 14 Input device, 15 Output device, 20 Virtual machine server, 100 Storage unit, 101 Acquisition unit, 102 Calculation unit, 103 Placement control unit, 104 Prediction unit
Claims (9)
前記統計情報から前記第1仮想マシンの利用頻度を示すスコアを算出する算出部と、
前記スコアに基づいて、前記第1仮想マシンを、前記第1仮想マシンサーバ又はオーバーコミットを許容する第2仮想マシンサーバに配置する、配置制御部と、
を有する、管理装置。 an acquisition unit that acquires statistical information about an operation of a first virtual machine arranged on a first virtual machine server that does not allow overcommit;
a calculation unit that calculates a score indicating a usage frequency of the first virtual machine from the statistical information;
a placement control unit that places the first virtual machine on the first virtual machine server or a second virtual machine server that allows overcommit based on the score;
A management device having the above configuration.
前記スコアが閾値以上であることにより、仮想マシンの利用頻度が低いと判断される場合、前記第1仮想マシンを、前記第2仮想マシンサーバに移動させ、
前記スコアが閾値未満であることにより、仮想マシンの利用頻度が高いと判断される場合、前記第1仮想マシンを、前記第1仮想マシンサーバに配置し続ける、
請求項1に記載の管理装置。 The arrangement control unit is
If the score is equal to or greater than a threshold and it is determined that the virtual machine is used infrequently, the first virtual machine is migrated to the second virtual machine server;
If the score is less than a threshold value and it is determined that the usage frequency of the virtual machine is high, the first virtual machine is continued to be placed on the first virtual machine server.
The management device according to claim 1 .
請求項2に記載の管理装置。 the placement control unit determines the threshold so that a total of requested resource amounts of the first virtual machines placed on the first virtual machine server does not exceed a resource amount of the first virtual machine server.
The management device according to claim 2 .
第2仮想マシンの動作ログに基づいて、前記第2仮想マシンの将来の負荷を予測する予測部、を有し、
前記配置制御部は、
前記将来の負荷が閾値以上であることにより、前記第2仮想マシンの負荷が将来増加すると判断される場合、前記第2仮想マシンを、前記第1仮想マシンサーバに配置する、
請求項1に記載の管理装置。 The acquisition unit acquires an operation log of a second virtual machine arranged on the second virtual machine server,
a prediction unit that predicts a future load of the second virtual machine based on an operation log of the second virtual machine,
The arrangement control unit is
When it is determined that the load of the second virtual machine will increase in the future because the future load is equal to or greater than a threshold, the second virtual machine is allocated to the first virtual machine server.
The management device according to claim 1 .
請求項1に記載の管理装置。 the placement control unit, when a second virtual machine is placed on the second virtual machine server and a period during which the second virtual machine exists on the second virtual machine server is equal to or longer than a threshold, stores a snapshot of the second virtual machine and deletes the second virtual machine from the second virtual machine server.
The management device according to claim 1 .
請求項5に記載の管理装置。 the placement control unit restores the second virtual machine based on a snapshot of the second virtual machine in response to a restore operation being performed on the second virtual machine, the restore operation being an operation of restoring the virtual machine from a snapshot;
The management device according to claim 5 .
請求項6に記載の管理装置。 the arrangement control unit, when there are a plurality of snapshots of the second virtual machine, restores the second virtual machine based on one snapshot of the second virtual machine selected by a predetermined method;
The management device according to claim 6.
前記統計情報から前記第1仮想マシンの利用頻度を示すスコアを算出するステップと、
前記スコアに基づいて、前記第1仮想マシンを、前記第1仮想マシンサーバ又はオーバーコミットを許容する第2仮想マシンサーバに配置するステップと、
を含む、管理装置が実行する管理方法。 acquiring statistical information on an operation of a first virtual machine arranged on a first virtual machine server that does not allow overcommit;
calculating a score indicating a usage frequency of the first virtual machine from the statistical information;
distributing the first virtual machine on the first virtual machine server or a second virtual machine server that allows overcommit based on the score;
A management method executed by a management device, comprising:
前記統計情報から前記第1仮想マシンの利用頻度を示すスコアを算出するステップと、
前記スコアに基づいて、前記第1仮想マシンを、前記第1仮想マシンサーバ又はオーバーコミットを許容する第2仮想マシンサーバに配置するステップと、
をコンピュータに実行させるためのプログラム。 acquiring statistical information on an operation of a first virtual machine arranged on a first virtual machine server that does not allow overcommit;
calculating a score indicating a usage frequency of the first virtual machine from the statistical information;
distributing the first virtual machine on the first virtual machine server or a second virtual machine server that allows overcommit based on the score;
A program for causing a computer to execute the following.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023166427A JP7675144B2 (en) | 2023-09-27 | 2023-09-27 | Management device, management method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023166427A JP7675144B2 (en) | 2023-09-27 | 2023-09-27 | Management device, management method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2025056903A JP2025056903A (en) | 2025-04-09 |
| JP7675144B2 true JP7675144B2 (en) | 2025-05-12 |
Family
ID=95287773
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023166427A Active JP7675144B2 (en) | 2023-09-27 | 2023-09-27 | Management device, management method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7675144B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7842947B1 (en) * | 2026-02-12 | 2026-04-08 | 株式会社インターネットイニシアティブ | Load management device and load management method |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019204309A (en) | 2018-05-24 | 2019-11-28 | 日本電信電話株式会社 | VM migration system and VM migration method |
| JP2023147397A (en) | 2022-03-30 | 2023-10-13 | ソフトバンク株式会社 | Control device, program, and control method |
-
2023
- 2023-09-27 JP JP2023166427A patent/JP7675144B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019204309A (en) | 2018-05-24 | 2019-11-28 | 日本電信電話株式会社 | VM migration system and VM migration method |
| JP2023147397A (en) | 2022-03-30 | 2023-10-13 | ソフトバンク株式会社 | Control device, program, and control method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2025056903A (en) | 2025-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7138126B2 (en) | Timeliness resource migration to optimize resource placement | |
| KR102281739B1 (en) | Resource scheduling method, scheduling server, cloud computing system, and storage medium | |
| Zhang et al. | {History-Based} harvesting of spare cycles and storage in {Large-Scale} datacenters | |
| US10846137B2 (en) | Dynamic adjustment of application resources in a distributed computing system | |
| Yan et al. | Tr-spark: Transient computing for big data analytics | |
| JP5500256B2 (en) | Storage system | |
| US10810054B1 (en) | Capacity balancing for data storage system | |
| US10817380B2 (en) | Implementing affinity and anti-affinity constraints in a bundled application | |
| JP6372074B2 (en) | Information processing system, control program, and control method | |
| WO2012056596A1 (en) | Computer system and processing control method | |
| CN111580954A (en) | Extensible distributed data acquisition method and system | |
| CN111124254B (en) | Method, electronic device and program product for scheduling memory space reclamation requests | |
| JP2014191752A (en) | Migration processing program, migration method, and cloud system | |
| JP5942509B2 (en) | Batch processing system | |
| JP7675144B2 (en) | Management device, management method, and program | |
| JP2017162209A (en) | Distributed processing execution management program, distributed processing execution management method, and distributed processing execution management device | |
| JP5515889B2 (en) | Virtual machine system, automatic migration method and automatic migration program | |
| CN107301090A (en) | It is using the method and device for setting data handling path in storage server | |
| JP2015001754A (en) | Program, information processing system, and data update control method | |
| JPWO2013190649A1 (en) | Information processing method and apparatus for virtual disk migration | |
| WO2017141363A1 (en) | Data processing system and data processing method | |
| CN113741810A (en) | Data migration method and device | |
| CN114697213A (en) | Upgrading method and device | |
| Shwe et al. | Avoiding Performance Impacts by Re-Replication Workload Shifting in HDFS Based Cloud Storage | |
| JP7537134B2 (en) | CONTAINER MANAGEMENT DEVICE, CONTAINER MANAGEMENT METHOD, AND PROGRAM |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240325 |
|
| 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: 20250409 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250425 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7675144 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |