JP6940761B2 - Information processing equipment, virtual machine monitoring programs, and information processing systems - Google Patents
Information processing equipment, virtual machine monitoring programs, and information processing systems Download PDFInfo
- Publication number
- JP6940761B2 JP6940761B2 JP2017168719A JP2017168719A JP6940761B2 JP 6940761 B2 JP6940761 B2 JP 6940761B2 JP 2017168719 A JP2017168719 A JP 2017168719A JP 2017168719 A JP2017168719 A JP 2017168719A JP 6940761 B2 JP6940761 B2 JP 6940761B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- amount
- resource
- request
- server
- 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
Description
本発明は、情報処理装置、仮想マシン監視プログラム、および情報処理システムに関する。 The present invention relates to an information processing device, a virtual machine monitoring program, and an information processing system.
クラウドコンピューティングシステムでは、例えば、サーバ上に構築された仮想マシンを用いてサービスが提供される。クラウドコンピューティングシステムにおいて新たなサービスの提供を開始する場合、そのサービスの負荷に応じた性能の仮想マシンが、サーバ上に構築される。仮想マシンの性能は、その仮想マシンの実行のために使用可能なハードウェアリソース(以下、単にリソースと呼んだ場合もハードウェアリソースを指す)の量に依存する。仮想マシンの実行のために使用可能なリソースを設定することを、仮想マシンにリソースを割り当てると呼ぶこともある。仮想マシンに割り当てられるリソースは、CPU(Central Processing Unit)、メモリ、ストレージ装置などである。これらのリソースの量が多いほど、仮想マシンの性能が高くなる。 In a cloud computing system, for example, a service is provided using a virtual machine built on a server. When starting to provide a new service in a cloud computing system, a virtual machine with performance corresponding to the load of the service is built on the server. The performance of a virtual machine depends on the amount of hardware resources available to run the virtual machine (hereinafter, also referred to simply as resources, refers to hardware resources). Setting the resources available to run a virtual machine is sometimes referred to as allocating resources to the virtual machine. The resources allocated to the virtual machine are a CPU (Central Processing Unit), memory, a storage device, and the like. The greater the amount of these resources, the better the performance of the virtual machine.
ここで、仮想マシンに割り当てるリソースの量が少なすぎると、仮想マシンを用いて提供されるサービスに求められる品質でのサービス提供ができない。他方、仮想マシンに割り当てるリソースの量が多すぎると、システム内のリソースが無駄に消費されてしまう。 Here, if the amount of resources allocated to the virtual machine is too small, it is not possible to provide the service with the quality required for the service provided by the virtual machine. On the other hand, if too many resources are allocated to the virtual machine, the resources in the system will be wasted.
そこで、例えばクラウド・システムにおいて、性能の低下を抑制して、適切な計算機リソースを提供するための計算器リソース割り当て方法が考えられている。この計算器リソース割り当て方法では、管理計算機が、サービスを提供する仮想計算機群の性能を取得して、取得した仮想計算機群の性能と、予め設定されたサービスの性能条件とを比較する。そして管理計算機は、比較結果に応じて、仮想計算機群で変更する計算機リソースを決定する。 Therefore, for example, in a cloud system, a computer resource allocation method for suppressing a decrease in performance and providing an appropriate computer resource has been considered. In this computer resource allocation method, the management computer acquires the performance of the virtual computer group that provides the service, and compares the acquired performance of the virtual computer group with the performance condition of the preset service. Then, the management computer determines the computer resource to be changed in the virtual computer group according to the comparison result.
しかし、仮想マシンの性能が悪化したことを確認してから仮想マシンのリソース量を変更したのでは、仮想マシンの性能が悪化してから、割り当てるリソース量が変更されるまでに遅延が生じる。その結果、リソース量の変更処理が完了するまでの一定期間、サービスの品質が低下してしまう。 However, if the virtual machine's resource amount is changed after confirming that the virtual machine's performance has deteriorated, there will be a delay between the deterioration of the virtual machine's performance and the change in the allocated resource amount. As a result, the quality of service deteriorates for a certain period until the process of changing the amount of resources is completed.
1つの側面では、本件は、仮想マシンに割り当てるリソース量の最適化の遅延を抑止することを目的とする。 On the one hand, the purpose of this case is to suppress the delay in optimizing the amount of resources allocated to the virtual machine.
1つの案では、以下の処理部を有する情報処理装置が提供される。
処理部は、サーバが実行している仮想マシンに送信された単位期間当たりのリクエストの量を監視する。次に処理部は、リクエストの量の時系列での変化度合いに基づいて、仮想マシンの実行に使用可能なハードウェアリソースの量を変更するか否かを決定する。変更すると決定した場合、処理部は、仮想マシンの実行に使用可能なハードウェアリソースの量の変更を、サーバに指示する。
In one proposal, an information processing apparatus having the following processing units is provided.
The processing unit monitors the amount of requests sent to the virtual machine running by the server per unit period. The processing unit then decides whether to change the amount of hardware resources available to run the virtual machine, based on how the amount of requests changes over time. If it decides to change it, the processor tells the server to change the amount of hardware resources available to run the virtual machine.
1態様によれば、仮想マシンに割り当てるリソース量の最適化の遅延を抑止する。 According to one aspect, the delay in optimizing the amount of resources allocated to the virtual machine is suppressed.
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。
Hereinafter, the present embodiment will be described with reference to the drawings. It should be noted that each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First Embodiment]
First, the first embodiment will be described.
図1は、第1の実施の形態に係る仮想マシン監視システムの構成の一例を示す図である。複数の端末装置1a,1bが、ネットワーク2を介してサーバ3に接続されている。サーバ3は、ハードウェアリソースとしてCPU3a−1,3a−2,・・・、メモリ3b−1,3b−2,・・・などを有している。サーバ3は、ハードウェアリソースの少なくとも一部を用いて仮想マシン3cを実行する。サーバ3は、仮想マシン3cの実行に使用可能なハードウェアリソースの量を、自動で変更可能である。サーバ3により実現される仮想マシン3cは、端末装置1a,1bからのリクエストに応じて処理を実行し、処理結果をレスポンスとして端末装置1a,1bに送信する。
FIG. 1 is a diagram showing an example of a configuration of a virtual machine monitoring system according to the first embodiment. A plurality of terminal devices 1a and 1b are connected to the
情報処理装置10は、サーバ3が実行している仮想マシン3cに対して送信されるリクエストを監視して、リクエスト量の変化が過大な場合に、仮想マシン3cの実行に使用可能なハードウェアリソースの量の変更を、サーバ3に指示する。そのために、情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。
The
記憶部11は、単位期間当たりのリクエストの量を記憶する。例えば記憶部11は、直近の単位期間(第1の単位期間)内のリクエスト量と、直近の単位期間の直前(第2の単位期間)内のリクエスト量とを記憶する。
The
処理部12は、監視結果により得られた単位期間当たりのリクエスト量に基づいて、仮想マシン3cの実行に使用可能なリソースの量を変更させるか否かを決定し、変更させる場合には、変更の指示をサーバ3に送信する。そのために処理部12は、サーバ3が実行している仮想マシン3cに送信された単位期間当たりのリクエストの量を監視する。例えば処理部12は、ネットワーク2内で端末装置1a,1bからサーバ3に送信されるリクエストを中継する装置に、単位期間当たりのリクエスト量を計数させ、処理部12はその装置から単位期間当たりのリクエスト量を示す情報を取得する。リクエストを中継する装置は、例えばロードバランサである。また処理部12は、ネットワーク2を介して通信されるパケットをキャプチャし、キャプチャしたパケットを解析して、仮想マシン3cに送信されたリクエスト量を計測することもできる。処理部12は、単位期間当たりに仮想マシン3cに送信されたリクエスト量を、記憶部11に格納する。
The
処理部12は、仮想マシン3cに送信された単位期間当たりのリクエストの量の時系列での変化度合いに基づいて、仮想マシンの実行に使用可能なハードウェアリソースの量を変更するか否かを決定する。単位期間当たりのリクエストの量の時系列での変化度合いは、例えば変動率で表される。変動率は、第1の単位期間内のリクエスト量を第2の単位期間内のリクエスト量で除算した値である。
Whether or not the
例えば、処理部12は、直近の第1の単位期間でのリクエストの量を、第1の単位期間の直前の第2の単位期間でのリクエストの量と比較したときの変化度合いが閾値を超えているか否かを判定する。変化の度合いが閾値を超えている場合、処理部12は、仮想マシン3cの実行に使用可能なハードウェアリソースの量を変更すると決定する。
For example, when the
なお、ハードウェアリソースの量を変更するか否かの判定に用いる閾値として、複数の閾値を用いることができる。第1の閾値は1未満の正の実数(例えば「0.5」)であり、第2の閾値は1より大きい実数(例えば「1.5」)である。処理部12は、第1の単位期間でのリクエストの量が、第2の単位期間でのリクエストの量よりも減少しており、減少の度合いが第1の閾値を超えている場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量を減少させることを決定する。減少の度合いが第1の閾値を超えているとは、例えば変動率が第1の閾値未満になっていることである。また処理部12は、第1の単位期間でのリクエストの量が、第2の単位期間でのリクエストの量よりも増加しており、増加の度合いが第2の閾値を超えている場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量を増加させることを決定する。増加の度合いが第2の閾値を超えているとは、例えば変動率が第2の閾値より大きいことである。
A plurality of threshold values can be used as the threshold values used for determining whether or not to change the amount of hardware resources. The first threshold is a positive real number less than 1 (eg "0.5") and the second threshold is a real number greater than 1 (eg "1.5"). When the amount of requests in the first unit period is smaller than the amount of requests in the second unit period and the degree of decrease exceeds the first threshold value, the
処理部12は、仮想マシン3cの実行に使用可能なハードウェアリソースの量を変更すると決定した場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量の変更を、サーバ3に指示する。例えば処理部12は、ハードウェアリソースの量を減少させることを決定した場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量を減少させることを、サーバ3に指示する。また処理部12は、ハードウェアリソースの量を増加させることを決定した場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量を増加させることを、サーバ3に指示する。
When the
このような仮想マシン監視システムによれば、仮想マシン3cに対する単位期間当たりのリクエストの量が、ある程度以上減少傾向または増加傾向にある場合、仮想マシン3cの実行に使用可能なハードウェアリソースを減少または増加させることができる。すなわちリクエストの量に基づいて、仮想マシン3cの実行に使用可能なハードウェアリソースの量を最適化することができる。これにより、仮想マシン3cの性能が悪化したことを確認してからハードウェアリソースの量を変更する場合に比べ、仮想マシン3cに割り当てるリソースの量の最適化の遅延が抑止される。 According to such a virtual machine monitoring system, when the amount of requests per unit period for the virtual machine 3c tends to decrease or increase more than a certain level, the hardware resources available for executing the virtual machine 3c are reduced or decreased. Can be increased. That is, the amount of hardware resources available to execute the virtual machine 3c can be optimized based on the amount of requests. As a result, the delay in optimizing the amount of resources allocated to the virtual machine 3c is suppressed as compared with the case where the amount of hardware resources is changed after confirming that the performance of the virtual machine 3c has deteriorated.
例えば、仮想マシンの性能は、リクエストに対するレスポンスタイム(リクストを送信してからレスポンスを受信するまでの時間)によって計測できる。仮想マシンなどの計算機の性質として、所定の負荷までは、十分に短いレスポンスタイムでサービスを提供できるが、負荷が所定量を超えると、急激にレスポンスタイムが悪化する場合がある。このような場合、レスポンスタイムの悪化を確認してから仮想マシンのリソース量を増加させたのでは、仮想マシンのリソース量を増加させる処理が完了するまで、レスポンスタイムが悪化したままとなり、サービスの品質の低下を招く。しかもレスポンスタイムが悪化した後に、レスポンスタイムの要件を満たす最適なハードウェアリソース構成を探索すると、探索に時間を要し、サービスの品質の低下期間が長期化する。なお、レスポンスタイムの要件は、例えばレスポンスタイムが所定の閾値未満であることである。 For example, the performance of a virtual machine can be measured by the response time to a request (the time from sending a request to receiving a response). Due to the nature of computers such as virtual machines, services can be provided with a sufficiently short response time up to a predetermined load, but when the load exceeds a predetermined amount, the response time may deteriorate sharply. In such a case, if the virtual machine resource amount is increased after confirming the deterioration of the response time, the response time remains deteriorated until the process of increasing the virtual machine resource amount is completed, and the service It causes deterioration of quality. Moreover, if the search for the optimum hardware resource configuration that meets the response time requirements is performed after the response time has deteriorated, the search takes time and the service quality deterioration period becomes long. The requirement of the response time is, for example, that the response time is less than a predetermined threshold value.
それに対し、図1に示す仮想マシン監視システムでは、単位期間当たりのリクエスト量の増加傾向が検知できた段階で、仮想マシン3cの実行に使用可能なハードウェアリソースが自動で追加される。すなわち、リクエスト量の増加傾向が継続しても、それに応じて仮想マシン3cの実行に使用可能なハードウェアリソースの量も増加し、レスポンスタイムが悪化することを抑止できる。 On the other hand, in the virtual machine monitoring system shown in FIG. 1, hardware resources that can be used for executing the virtual machine 3c are automatically added when an increasing tendency of the request amount per unit period can be detected. That is, even if the request amount continues to increase, the amount of hardware resources that can be used to execute the virtual machine 3c also increases accordingly, and it is possible to prevent the response time from deteriorating.
しかも図1に示す仮想マシン監視システムでは、単位期間当たりのリクエスト量が減少傾向に転じた場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量は自動で削減される。その結果、仮想マシン3cの実行のために、無駄に多くのハードウェアリソースが使用されることが抑止される。その結果、サーバ3のハードウェアリソースの効率的な利用が可能となる。
Moreover, in the virtual machine monitoring system shown in FIG. 1, when the request amount per unit period starts to decrease, the amount of hardware resources that can be used to execute the virtual machine 3c is automatically reduced. As a result, it is suppressed that a large amount of hardware resources are wasted for executing the virtual machine 3c. As a result, the hardware resources of the
なお、処理部12は、ハードウェアリソースの種別(CPU、メモリなど)ごとに、仮想マシン3cの実行に使用可能とする量の変更の優先度を決定しておいてもよい。例えば、処理部12は、サーバ3からハードウェアリソースの種別ごとの仮想マシン3cの使用率を取得し、使用率が高い種別のハードウェアリソースほど、優先度を高くする。この際、情報処理装置10では、ハードウェアリソースの種別ごとの、仮想マシン3cの実行に使用可能とする最大値と最小値とを定めておく。例えば情報処理装置10は、記憶部11に予めリソース管理情報を記憶しておく。リソース管理情報には、ハードウェアリソースの種別ごとに、仮想マシン3cの実行に使用可能とする量の変更の優先度、仮想マシン3cの実行に使用可能とする量の最小値、および仮想マシンの実行に使用可能とする量の最大値が示される。
The
処理部12は、仮想マシンの実行に使用可能なハードウェアリソースの量を増加させると決定した場合、リソース管理情報に基づいて、最大値を超えない範囲で、優先度が最も高い種別のハードウェアリソースを増加させることを決定する。優先度が最も高い種別のハードウェアリソースの量がすでに最大値になっている場合、処理部12は、次に優先度が高い種別のハードウェアリソースを、最大値を超えない範囲で増加させることを決定する。
When the
また処理部12は、仮想マシンの実行に使用可能なハードウェアリソースの量を減少させると決定した場合、リソース管理情報に基づいて、最小値を下回らない範囲で、優先度が最も高い種別のハードウェアリソースを減少させることを決定する。優先度が最も高い種別のハードウェアリソースの量がすでに最小値になっている場合、処理部12は、次に優先度が高い種別のハードウェアリソースを、最小値を下回らない範囲で減少させることを決定する。
When the
このように、ハードウェアリソースの種別ごとの使用率に基づいて、リソースの量を変更させる優先度を決定しておくことで、仮想マシン3cのレスポンスタイムの悪化原因となる可能性の高いハードウェアリソースを、優先的に増加させることができる。その結果、仮想マシン3cの実行に使用可能なハードウェアリソースの量の変更を効率的に行うことができる。 In this way, by determining the priority for changing the amount of resources based on the usage rate for each type of hardware resource, the hardware that is likely to cause deterioration of the response time of the virtual machine 3c. Resources can be increased preferentially. As a result, it is possible to efficiently change the amount of hardware resources that can be used to execute the virtual machine 3c.
すなわち、ハードウェアリソースの種別ごとの使用率を用いずにハードウェアリソースの量の変更を行うと、仮想マシン3cのレスポンスタイムの悪化原因にはならない種別のハードウェアリソースを増強してしまう可能性がある。この場合、仮想マシン3cの実行に使用可能なハードウェアリソースを増強したにも関わらず、リクエストの量の増加に伴いレスポンスタイムの悪化を抑止することができない。それに対して、ハードウェアリソースの種別ごとの使用率に基づいてリソースの量を変更させる優先度を決定することで、レスポンスタイムの悪化原因となる可能性の高い種別のハードウェアリソースの量を優先的に増加させることができる。 That is, if the amount of hardware resources is changed without using the usage rate for each type of hardware resources, there is a possibility that the types of hardware resources that do not cause deterioration of the response time of the virtual machine 3c will be increased. There is. In this case, although the hardware resources available for executing the virtual machine 3c have been increased, it is not possible to suppress the deterioration of the response time as the amount of requests increases. On the other hand, by determining the priority for changing the amount of resources based on the usage rate of each type of hardware resource, priority is given to the amount of hardware resources of the type that is likely to cause deterioration of response time. Can be increased.
なお、仮想マシン3cとは別に、仮想マシン3cの実行に使用可能とするハードウェアリソースと同じ量のハードウェアリソースを使用可能な検証用の仮想マシンを立ち上げ、検証用の仮想マシンで適切なハードウェアリソース量を探索することもできる。しかし、ハードウェアリソースの種別ごとの使用率を考慮せずに、検証用の仮想マシンを用いた探索を行うと、ハードウェアリソース構成の異なる多数の仮想マシンのなかから、要件を満足する仮想マシンを特定することとなる。例えば、仮想マシンのCPU使用率が高く、CPU不足がレスポンスタイムの悪化要因となる可能性がある場合でも、メモリリソースの量を拡張した検証用の仮想マシンについても探索の対象となる。その結果、最適なハードウェアリソース構成の特定に時間がかかる。それに対して、ハードウェアリソースの種別ごとの使用率に基づいて、ハードウェアリソースの量を変更させる優先度を決定することで、レスポンスタイムの悪化要因となる種別のハードウェアリソースを変更した場合について優先的に探索できる。これによりレスポンスタイムの要件を満たすハードウェアリソース構成を早期に特定できる。すなわち、仮想マシンの実行に使用可能とする最適なハードウェアリソース構成の探索を効率的に行うことができる。 In addition to the virtual machine 3c, launch a verification virtual machine that can use the same amount of hardware resources as the hardware resources that can be used to execute the virtual machine 3c, and the verification virtual machine is appropriate. You can also search for the amount of hardware resources. However, if a search is performed using a virtual machine for verification without considering the usage rate for each type of hardware resource, a virtual machine that satisfies the requirements from among a large number of virtual machines with different hardware resource configurations. Will be specified. For example, even when the CPU usage rate of a virtual machine is high and a lack of CPU may cause deterioration of response time, a virtual machine for verification with an expanded amount of memory resources is also searched. As a result, it takes time to identify the optimum hardware resource configuration. On the other hand, when the type of hardware resource that causes the deterioration of response time is changed by determining the priority for changing the amount of hardware resource based on the usage rate for each type of hardware resource. You can search with priority. This makes it possible to identify the hardware resource configuration that meets the response time requirements at an early stage. That is, it is possible to efficiently search for the optimum hardware resource configuration that can be used to execute the virtual machine.
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、運用中の仮想マシンに対するリクエスト量に応じて、その仮想マシンの実行に使用可能なハードウェアリソースの量を変更する。また第2の実施の形態では、運用中の仮想マシンの実行に使用可能なハードウェアリソースの量を変更する前に、検証用の仮想マシンを用いて、レスポンスタイムの要件が満たされるかどうかを検証する。
[Second Embodiment]
Next, the second embodiment will be described. In the second embodiment, the amount of hardware resources that can be used to execute the virtual machine is changed according to the amount of requests for the virtual machine in operation. In the second embodiment, the verification virtual machine is used to determine whether the response time requirement is met before changing the amount of hardware resources available to execute the operating virtual machine. Verify.
なお、以下の説明では、ハードウェアリソースを単にリソースと呼ぶ。また仮想マシンの実行に使用可能なリソースを設定することを、仮想マシンへのリソースの割り当てと呼ぶ。 In the following description, hardware resources are simply referred to as resources. Setting the resources that can be used to execute a virtual machine is called allocating resources to the virtual machine.
図2は、第2の実施の形態のシステム構成例を示す図である。クラウドコンピューティングシステムには、仮想マシン監視装置100、ロードバランサ200、およびサーバ300が含まれる。仮想マシン監視装置100、ロードバランサ200、およびサーバ300は、管理ネットワーク20で接続されている。管理ネットワーク20は、クラウドコンピューティングシステムの運用管理用のネットワークである。またロードバランサ200とサーバ300とは、業務ネットワーク41で接続されている。業務ネットワーク41は、ロードバランサ200が端末装置31,32,・・・から受信したリクエストのサーバ300への転送、およびリクエストに対するサーバ300からのレスポンスの送信に使用するネットワークである。
FIG. 2 is a diagram showing a system configuration example of the second embodiment. The cloud computing system includes a virtual
仮想マシン監視装置100は、サーバ300内の仮想マシンに送信されたリクエストの量に基づいて、その仮想マシンに割り当てるリソース量を管理する。例えば仮想マシン監視装置100は、仮想マシンに送信された単位期間当たりのリクエスト量の増加率が、増加率の閾値を超えている場合、その仮想マシンへの資源の追加をサーバ300に指示する。また仮想マシン監視装置100は、仮想マシンに送信された単位期間当たりのリクエスト量の減少率が、減少率の閾値を超えている場合、その仮想マシンの資源の削減をサーバ300に指示する。
The virtual
ロードバランサ200は、ネットワーク42を介して複数の端末装置31,32,・・・に接続されている。複数の端末装置31,32,・・・それぞれは、サービスを利用するユーザが使用するコンピュータである。ロードバランサ200は、複数の端末装置31,32,・・・のいずれかから送られたリクエストを、サーバ300内の複数の仮想マシンのいずれかに転送する。またロードバランサ200は、リクエストに対するレスポンスをサーバ300内の複数の仮想マシンのいずれかから受信すると、そのレスポンスを、対応するリクエストの送信元の端末装置に転送する。ロードバランサ200は、さらに、仮想マシン監視装置100からの依頼に基づいて、仮想マシンに転送した単位期間当たりのリクエストの量と、リクエストに対するレスポンスタイムを計測する。ロードバランサ200は、計測結果を、仮想マシン監視装置100に送信する。
The
サーバ300は、サービスを提供するコンピュータである。サーバ300は、内部で複数の仮想マシンを生成する。複数の仮想マシンそれぞれには、サーバ300が有するリソース(CPU、メモリ、ストレージ装置など)の少なくとも一部が割り当てられる。サーバ300内の複数の仮想マシンそれぞれが、割り当てられたリソースを用いて、端末装置31,32,・・・に対するサービスを提供する。
The
図3は、第2の実施の形態に用いる仮想マシン監視装置のハードウェアの一構成例を示す図である。仮想マシン監視装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
FIG. 3 is a diagram showing a configuration example of the hardware of the virtual machine monitoring device used in the second embodiment. The entire device of the virtual
メモリ102は、仮想マシン監視装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
The
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
Peripheral devices connected to the bus 109 include a
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
The
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
A monitor 21 is connected to the
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 22 and a mouse 23 are connected to the
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
機器接続インタフェース107は、仮想マシン監視装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
The
ネットワークインタフェース108は、管理ネットワーク20に接続されている。ネットワークインタフェース108は、管理ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The
以上のようなハードウェア構成によって、第2の実施の形態の仮想マシン監視装置100の処理機能を実現することができる。なお仮想マシン監視装置100に対しては、機器接続インタフェース107、またはネットワークインタフェース108を介してデータの入出力を行うことができる。そのため仮想マシン監視装置100には、モニタ21、キーボード22、マウス23などの入出力装置を接続しなくてもよい。また仮想マシン監視装置100は、光学ドライブ装置106を有していなくてもよい。
With the hardware configuration as described above, the processing function of the virtual
ロードバランサ200とサーバ300も、図3に示した仮想マシン監視装置100と同様のハードウェアにより実現することができる。また、第1の実施の形態に示した情報処理装置10も、図3に示した仮想マシン監視装置100と同様のハードウェアにより実現することができる。
The
仮想マシン監視装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。仮想マシン監視装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、仮想マシン監視装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また仮想マシン監視装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
The virtual
以上のような構成のシステムにおいて、仮想マシン監視装置100、ロードバランサ200、およびサーバ300が連携して動作することで、運用中の仮想マシンに割り当てるリソース量を動的に変更することができる。なお、第2の実施の形態では、運用中の仮想マシンに割り当てるリソース量を変更する前に、運用中の仮想マシンのクローンを用いて、リソース量を変更してもよいかどうかが検証される。そして検証の結果問題がない場合に、運用中の仮想マシンに割り当てるリソース量が変更される。
In the system having the above configuration, the virtual
以下の説明では、運用中の仮想マシンを、単に運用マシンと呼ぶこともある。また運用マシンのクローンとして生成される検証用の仮想マシンを、改善マシンと呼ぶこともある。 In the following description, a virtual machine in operation may be simply referred to as an operation machine. A virtual machine for verification generated as a clone of an operation machine is sometimes called an improvement machine.
図4は、仮想マシンへ割り当て資源量を変更するために各装置が有する機能を示すブロック図である。仮想マシン監視装置100は、記憶部110と監視部120とを有する。
記憶部110は、リクエスト監視テーブル111、リソース管理テーブル112、仮想マシン管理テーブル113、およびリソース優先度テーブル114を記憶する。リクエスト監視テーブル111は、運用中の仮想マシンに送信されたリクエストの量と、リクエストに対するレスポンスタイムを管理するためのデータテーブルである。リソース管理テーブル112は、仮想マシンに割り当てるリソースを管理するためのデータテーブルである。仮想マシン管理テーブル113は、仮想マシンの使用目的、現在のリソース構成、レスポンスタイムなどを管理するためのデータテーブルである。記憶部110は、例えば仮想マシン監視装置100が有するメモリまたはストレージ装置の記憶領域の一部を用いて実現される。
FIG. 4 is a block diagram showing a function of each device for changing the amount of resources allocated to the virtual machine. The virtual
The
監視部120は、仮想マシン331,332,・・・へのリクエストの量に基づいて、仮想マシン331,332,・・・へ割り当てるリソースの増減を決定する。そして監視部120は、決定に従って、サーバ300に対して、仮想マシン331,332,・・・のリソースの追加、または仮想マシン331,332,・・・からのリソースの削除を指示する。監視部120は、このような仮想マシン331,332,・・・のリソースの管理を、オペレータによって予め設定された情報に基づき自動で実行する。
The
ロードバランサ200は、記憶部210、負荷分散制御部220、および負荷計測部230を有する。
記憶部210は、ロードバランサ200において仮想マシン331,332,・・・に転送したリクエストに関する情報(リクエスト情報)を蓄積したリクエスト管理テーブル211を記憶する。記憶部210は、例えばロードバランサ200が有するメモリまたはストレージ装置の記憶領域の一部を用いて実現される。
The
The
負荷分散制御部220は、複数の端末装置31,32,・・・から受信したリクエストを、サーバ300内の仮想マシン331,332,・・・のうちの運用中の仮想マシンに転送する。例えば負荷分散制御部220は、運用中の仮想マシンが複数ある場合、それらの仮想マシンの負荷が均等になるように、リクエストの転送先を決定する。また負荷分散制御部220は、サーバ300内の運用中の仮想マシンからリクエストに対するレスポンスを受信すると、そのリクエストの送信元の端末装置へ、受信したレスポンスを送信する。
The load
負荷計測部230は、運用中の仮想マシンへ転送したリクエスト量と、リクエストに対するレスポンスタイムとを計測する。例えば負荷計測部230は、監視部120からのリクエスト量とレスポンスタイムとの監視指示に応じて、監視指示で指定された仮想マシンのリクエスト量とレスポンスタイムとを計測する。
The
また負荷計測部230は、複数の仮想マシン331,332,・・・それぞれへ転送したリクエストに関する情報を、リクエスト情報として記憶部210内のリクエスト管理テーブル211に格納する。そして負荷計測部230は、仮想マシン監視装置100からの改善マシンとして生成された仮想マシンのレスポンスタイム特定指示に応じて、リクエスト情報に基づくリクエストを該当する仮想マシンに送信する。負荷計測部230は、改善マシンである仮想マシンからのリクエストに対するレスポンスタイムを計測する。負荷計測部230は、計測したレスポンスタイムを、仮想マシン監視装置100に送信する。
Further, the
サーバ300は、記憶部310とハイパーバイザ320とを有している。
記憶部310は、複数の仮想マシン321,322,・・・のいずれかのスナップショット311を記憶する。スナップショットは、特定の時点における運用中の仮想マシンの状態を再現可能な情報である。例えばスナップショットには、運用中の仮想マシンのメモリ内の情報、ストレージ装置内容の情報、CPUのレジスタ内の情報が含まれる。
The
The
ハイパーバイザ320は、複数の仮想マシン331,332,・・・を管理する。具体的には、ハイパーバイザ320は、複数の仮想マシン331,332,・・・それぞれに割り当てるリソースを決定し、割り当てたリソースを用いて複数の仮想マシン331,332,・・・を稼働させる。例えばハイパーバイザ320は、仮想マシン331を生成する場合、サーバ300のリソースのなかから、仮想マシン331に割り当てるリソースの量を決定する。次にハイパーバイザ320は、決定した量のリソースにより、仮想CPU331a、仮想メモリ331b、および仮想ストレージ装置331cを生成する。ハイパーバイザ320は、これらの仮想的なリソースを有する仮想マシン331を生成する。仮想マシン331では、例えば業務アプリケーションソフトウェア331dを実行する。仮想マシン331は、業務アプリケーションソフトウェア331dを実行することで、例えばアプリケーションサーバとして機能する。そして仮想マシン331は、業務アプリケーションソフトウェア331dに基づいて、受信したリクエストに対する処理を実行し、処理結果を示すレスポンスを送信する。
The
複数の仮想マシン331,332,・・・には、運用中のものと、改善マシンとして利用されるものがある。例えば運用中の仮想マシンは、複数の端末装置31,32,・・・からのリクエストに応じてサービスを提供する。改善マシンには、割り当てリソースの量を変更予定の運用中の仮想マシンの、変更後のリソースと同じ量のリソースが割り当てられる。そして改善マシンは、変更後のリソース量で、サービスの要求品質が満たせるかどうかの検証に利用される。
The plurality of
このようなシステムにおいて、監視部120により、複数の仮想マシン331,332,・・・のリソース量の追加または削除が管理される。例えば監視部120は、ロードバランサ200から、リクエスト量とレスポンスタイムの計測結果を取得し、取得した計測結果をリクエスト監視テーブル111に記録する。そして監視部120は、過去に取得した計測結果と直近の計測結果とから、仮想マシンに対するリクエスト量の変動率を算出する。
In such a system, the
さらに監視部120は、サーバ300上で作動するハイパーバイザ320から、仮想マシンのリソースの種別ごとのリソース使用率を示す使用リソース情報を取得する。監視部120は、取得した使用リソース情報を、リソース優先度テーブル114に記録する。そして監視部120は、リソース種別間のリソース使用率の比較結果から、リソース種別ごとに、リソース変更の優先度を決定する。
Further, the
監視部120は、リクエスト量の変動率を元に、仮想マシンへの割り当てリソースの削減(コスト改善)、または、割り当てリソースの追加(レスポンス改善)処理を行う。監視部120は、コスト改善またはレスポンス改善の各処理を行う場合、ハイパーバイザ320から、仮想マシンのリソース構成情報を取得する。監視部120は、取得したリソース構成情報を、仮想マシン管理テーブル113に記録する。監視部120は、リソース構成情報を利用して、変更する仮想マシンへの割り当てリソースと変更量とを選定する。変更するリソースの選定は、リソース変更の優先度(順位)に基づき決定される。監視部120は、決定に基づいて、サーバ300内のハイパーバイザ320へ、仮想マシンに割り当てるリソース量の変更を指示する。
The
なお、図4に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
以下、図5〜図9を参照し、各装置に記憶される情報について詳細に説明する。
The function of each element shown in FIG. 4 can be realized, for example, by causing a computer to execute a program module corresponding to the element.
Hereinafter, the information stored in each device will be described in detail with reference to FIGS. 5 to 9.
図5は、リクエスト監視テーブルの一例を示す図である。リクエスト監視テーブル111には、インターバル期間、リクエスト量、レスポンスタイム、変動率、コスト改善、およびレスポンス改善の欄が設けられている。 FIG. 5 is a diagram showing an example of a request monitoring table. The request monitoring table 111 is provided with columns for interval period, request amount, response time, volatility, cost improvement, and response improvement.
インターバル期間の欄には、リクエスト量計測の単位間隔であるインターバル期間が設定される。図5の例では、インターバル期間は「24時間」であり、24時間ごとのリクエスト量が計測される。リクエスト量の欄は、前回と新規との欄に分かれている。リクエスト量の前回の欄には、前回のリクエスト量の計測時に計測されたリクエストの数が設定される。リクエスト量の新規の欄には、リクエスト量の最後の計測時に計測されたリクエストの数が設定される。レスポンスタイムの欄には、新規のリクエスト量の計測期間内でのレスポンスタイムの代表値(例えば平均値)が設定される。変動率の欄には、リクエスト量の変動率Rが設定される。変動率Rは、新規のリクエスト量を前回のリクエスト量で除算した値である。コスト改善の欄には、コスト改善処理を実行するか否かが設定される。例えば変動率がコスト改善の閾値(図5の例では「0.5」)未満の場合、コスト改善処理が実行される。レスポンス改善の欄には、レスポンス改善処理を実行するか否かが設定される。例えば変動率がレスポンス改善の閾値(図5の例では「1.5」)より大きい場合、レスポンス改善処理が実行される。 In the interval period column, the interval period, which is the unit interval for measuring the request amount, is set. In the example of FIG. 5, the interval period is "24 hours", and the request amount is measured every 24 hours. The request amount column is divided into the previous column and the new column. In the previous column of the request amount, the number of requests measured at the time of measuring the previous request amount is set. In the new field of request amount, the number of requests measured at the time of the last measurement of the request amount is set. In the response time column, a representative value (for example, an average value) of the response time within the measurement period of the new request amount is set. In the volatility column, the volatility R of the request amount is set. The volatility R is a value obtained by dividing the new request amount by the previous request amount. In the cost improvement column, whether or not to execute the cost improvement process is set. For example, if the volatility is less than the cost improvement threshold (“0.5” in the example of FIG. 5), the cost improvement process is executed. In the response improvement column, whether or not to execute the response improvement process is set. For example, when the volatility is larger than the response improvement threshold value (“1.5” in the example of FIG. 5), the response improvement process is executed.
図6は、リソース管理テーブルの一例を示す図である。リソース管理テーブル112には、リソース、Min、Max、増減単位、リソース単価、および優先度の欄が設けられている。 FIG. 6 is a diagram showing an example of a resource management table. The resource management table 112 is provided with columns for resource, Min, Max, increase / decrease unit, resource unit price, and priority.
リソースの欄には、リソースの種別が設定される。Minの欄には、仮想マシンに割り当て可能なリソースの量の最小値が設置される。Maxの欄には、仮想マシンに割り当て可能なリソースの量の最大値が設定される。なお、ストレージ装置の場合、リソースの量に代えて、ストレージ装置のタイプ別のランクが設定される。ストレージのタイプとして、例えば「タイプ1」〜「タイプ5」の5つのタイプが設けられる。タイプの右の数値がランクを示し、ランクを示す数値が小さいほどリソース量が少ないものとみなされる。例えば「タイプ1」のストレージ装置は、ハードディスクにより、RAID(Redundant Arrays of Inexpensive Disks)5のニアラインのストレージシステムである。「タイプ2」のストレージ装置は、ディスクの回転数が1万回転のハードティスクによる、RAID5のストレージシステムである。「タイプ3」のストレージ装置は、ディスクの回転数が1万回転のハードティスクによる、RAID1のストレージシステムである。「タイプ4」のストレージ装置は、SSDによる、RAID5のストレージシステムである。「タイプ5」のストレージ装置は、SSDによる、RAID1のストレージシステムである。
The resource type is set in the resource column. In the Min column, the minimum value of the amount of resources that can be allocated to the virtual machine is set. In the Max column, the maximum value of the amount of resources that can be allocated to the virtual machine is set. In the case of a storage device, a rank for each type of storage device is set instead of the amount of resources. As the storage type, for example, five types of "
増減単位の欄には、リソースの量を増減させる際の、増減可能な最小の単位が設置される。例えばメモリであれば、2GB単位で増減させることができる。またCPUであれば、2つのCPUコア(2コア)単位で増減させることができる。ストレージ装置であれば、ランクを1段階ずつ変更することができる。 In the increase / decrease unit column, the minimum unit that can be increased / decreased when increasing / decreasing the amount of resources is set. For example, in the case of memory, it can be increased or decreased in units of 2 GB. If it is a CPU, it can be increased or decreased in units of two CPU cores (2 cores). If it is a storage device, the rank can be changed step by step.
リソース単価の欄には、増減単位分のリソースの1ヶ月の使用量が設定される。例えば仮想マシンに割り当てるメモリを2GB増加させた場合、その仮想マシンを使用しているユーザが余分に支払う使用料は、$80である。また仮想マシンに割り当てるCPUコア数を2つ増加させた場合、その仮想マシンを使用しているユーザが余分に支払う使用料は、$100である。さらに、仮想マシンに割り当てるストレージ装置のランクを1だけ高くした場合、その仮想マシンを使用しているユーザが余分に支払う使用料は、$40である。 In the resource unit price column, the monthly usage amount of resources for the increase / decrease unit is set. For example, if the memory allocated to a virtual machine is increased by 2 GB, the extra usage fee paid by the user using the virtual machine is $ 80. If the number of CPU cores allocated to a virtual machine is increased by two, the extra usage fee paid by the user using the virtual machine is $ 100. Further, if the rank of the storage device assigned to the virtual machine is increased by 1, the extra usage fee paid by the user using the virtual machine is $ 40.
優先度の欄には、仮想マシンにリソースを追加または削除する際の、追加または削除の対象となるリソースの優先度である。最も優先度が高いリソースの優先度の欄には「High(高)」と設定され、次に優先度が高いリソースの優先度の欄には「Mid(中)」と設定され、最も優先度が低いリソースの優先度の欄には「Low(低)」と設定される。図6の例では、メモリが最も優先度が高く、次にCPUの優先度が高く、ストレージ装置の優先度が最も低い。 The priority column is the priority of the resource to be added or deleted when adding or deleting a resource to the virtual machine. "High" is set in the priority column of the resource with the highest priority, and "Mid (medium)" is set in the priority column of the resource with the next highest priority. "Low" is set in the priority column of the resource with low. In the example of FIG. 6, the memory has the highest priority, the CPU has the highest priority, and the storage device has the lowest priority.
図7は、仮想マシン管理テーブルの一例を示す図である。仮想マシン管理テーブル113には、仮想マシン、目的、リソース構成、利用コスト、およびレスポンスタイムの欄が設けられている。 FIG. 7 is a diagram showing an example of a virtual machine management table. The virtual machine management table 113 is provided with columns for virtual machine, purpose, resource configuration, usage cost, and response time.
仮想マシンの欄には、サーバ300内で動作している仮想マシンの名称が設定される。目的の欄には、仮想マシンの使用の目的が設定される。目的としては、「運用」、「コスト改善」、「レスポンス改善」がある。目的「運用」は、サービスの運用に利用する仮想マシンであることを示している。目的「コスト改善」は、コスト改善のための性能評価に用いる改善マシンとして仮想マシンを利用することを示している。目的「レスポンス改善」は、レスポンス改善のための性能評価に用いる改善マシンとして仮想マシンを利用することを示している。
In the virtual machine column, the name of the virtual machine operating in the
リソース構成の欄には、仮想マシンに割り当てられているリソースの量が設定される。例えばリソース構成の欄には、CPU、メモリ、ストレージ装置それぞれのリソース量が設定される。 In the resource configuration column, the amount of resources allocated to the virtual machine is set. For example, in the resource configuration column, the amount of resources for each of the CPU, memory, and storage device is set.
利用コストの欄には、仮想マシンの1月当たりの利用料が設定される。利用コストは、仮想マシンに割り当てられたリソースの量に基づいて算出される。
レスポンスタイムの欄には、仮想マシンのレスポンスタイムに関する情報が設定される。レスポンスタイムに関する情報としては、基準値、安全係数、計測値、および判定結果が含まれる。基準値(Cr)は、仮想マシンに要求されるレスポンスタイムである。安全係数(k)は、レスポンスタイムが基準値を超えないようにするためのレスポンスタイムの閾値の算出に使用する1以下の定数である。基準値に安全係数を乗算した値が、レスポンスタイムの閾値(k×Cr)となる。図7の例では、基準値(Cr)が「5ms」であり、安全係数が「0.85」であるため、「4.25ms(=0.85×5)」が閾値となる。
In the usage cost column, the monthly usage fee of the virtual machine is set. The usage cost is calculated based on the amount of resources allocated to the virtual machine.
Information about the response time of the virtual machine is set in the response time column. Information on response time includes reference values, safety factors, measured values, and determination results. The reference value (Cr) is the response time required for the virtual machine. The safety factor (k) is a constant of 1 or less used for calculating the response time threshold value so that the response time does not exceed the reference value. The value obtained by multiplying the reference value by the safety factor is the response time threshold value (k × Cr). In the example of FIG. 7, since the reference value (Cr) is “5 ms” and the safety factor is “0.85”, “4.25 ms (= 0.85 × 5)” is the threshold value.
計測値(RT)の欄には、仮想マシンのレスポンスタイムの計測結果(例えば所定期間内に計測したレスポンスタイムの平均値)が設定される。判定結果の欄には、仮想マシンのレスポンスタイムと閾値との比較結果が設定される。図7の例では、仮想マシン「VM A」は、計測値が閾値より小さいため、判定結果は「OK」となっている。仮想マシン「VM B」は、計測値が閾値以上であるため、判定結果は「NG」となっている。仮想マシン「VM C」は、計測値が閾値より小さいため、判定結果は「OK」となっている。 In the measurement value (RT) column, the measurement result of the response time of the virtual machine (for example, the average value of the response times measured within a predetermined period) is set. In the determination result column, the comparison result between the response time of the virtual machine and the threshold value is set. In the example of FIG. 7, since the measured value of the virtual machine "VM A" is smaller than the threshold value, the determination result is "OK". Since the measured value of the virtual machine "VM B" is equal to or greater than the threshold value, the determination result is "NG". Since the measured value of the virtual machine "VM C" is smaller than the threshold value, the determination result is "OK".
図8は、リソース優先度テーブルの一例を示す図である。リソース優先度テーブル114には、リソース、リソース使用率:平均値、リソース使用率:最大値、およびリソース変更の優先度判定値の欄が設けられている。 FIG. 8 is a diagram showing an example of a resource priority table. The resource priority table 114 is provided with columns for resources, resource usage rate: average value, resource usage rate: maximum value, and resource change priority determination value.
リソースの欄には、リソースの種別が設定される。
リソース使用率:平均値の欄内には、さらに使用率、順位(PA)、および係数(kA)の欄が設けられている。リソース使用率:平均値の使用率の欄には、対応するリソースの仮想マシンでの所定期間内の使用率の平均値が設定される。リソース使用率:平均値の順位の欄には、複数のリソースを使用率の平均値が高い順に並べたときの、対応するリソースの順位(PA)が設定される。リソース使用率:平均値の係数の欄には、対応するリソースの変更の優先度判定値を計算する際の、使用率の平均値の順位に対する重みを示す係数(kA)が設定される。
The resource type is set in the resource column.
Resource usage rate: In the column of average value, columns of usage rate, rank (PA), and coefficient (kA) are further provided. Resource usage rate: In the average value usage rate column, the average value of the usage rate of the corresponding resource in the virtual machine within a predetermined period is set. Resource usage rate: In the column of the ranking of the average value, the ranking (PA) of the corresponding resource when a plurality of resources are arranged in descending order of the average value of the usage rate is set. Resource usage rate: In the column of the coefficient of the average value, a coefficient (kA) indicating a weight with respect to the rank of the average value of the usage rate when calculating the priority determination value of the change of the corresponding resource is set.
リソース使用率:最大値の欄内には、さらに使用率、順位(PM)、および係数(kM)の欄が設けられている。リソース使用率:最大値の使用率の欄には、対応するリソースの仮想マシンでの所定期間内の使用率の最大値が設定される。リソース使用率:最大値の順位の欄には、複数のリソースを使用率の最大値が高い順に並べたときの、対応するリソースの順位(PM)が設定される。リソース使用率:最大値の係数の欄には、対応するリソースの変更の優先度判定値を計算する際の、使用率の最大値の順位に対する重みを示す係数(kM)が設定される。 Resource usage rate: In the column of maximum value, columns of usage rate, rank (PM), and coefficient (km) are further provided. Resource usage rate: In the maximum usage rate column, the maximum value of the usage rate of the corresponding resource in the virtual machine within a predetermined period is set. Resource usage rate: In the column of the ranking of the maximum value, the ranking (PM) of the corresponding resource when a plurality of resources are arranged in descending order of the maximum value of the usage rate is set. Resource utilization: In the coefficient column of the maximum value, a coefficient (km) indicating a weight with respect to the rank of the maximum value of the utilization rate when calculating the priority determination value of the change of the corresponding resource is set.
リソース変更の優先度判定値の欄には、対応するリソースの量の変更の優先度判定値が設定される。優先度判定値は、例えば「PA×kA+PM×kM」で計算される値である。優先度判定値の値が小さいリソースほど、リソース量を変更する優先度が高くなる。例えばリソースの種別が3つの場合、優先度判定値が小さい順にリソースを並べたとき、最初のリソースの優先度は「High(高)」となり、2番目のリソースの優先度は「Mid(中)」、3番目のリソースの優先度は「Low(低)」となる。 In the resource change priority determination value column, the priority determination value for changing the amount of the corresponding resource is set. The priority determination value is, for example, a value calculated by "PA × kA + PM × kM". The smaller the priority determination value, the higher the priority for changing the resource amount. For example, when there are three types of resources, when the resources are arranged in ascending order of priority judgment value, the priority of the first resource is "High" and the priority of the second resource is "Mid (medium)". The priority of the third resource is "Low".
なお、各リソースの平均値または最大値の係数は、リソースの性質に基づいて、ユーザにより予め決定されている。例えばメモリは、メモリに格納するデータがメモリ容量を超えても、スワップなどの技術で対処可能であるため、メモリは最大限利用されることが多い。すなわち、メモリの使用率の最大値は、100%近いことが多く、そのような状態であっても、仮想マシンが過負荷であるとは判断できない。そのため図8の例では、メモリの使用率の最大値に対する係数は、他のリソースよりも高く設定されている。これにより、リソース使用率の最大値に関するメモリの使用率の順位が高くても、優先度判定値が多めに見積もられる。 The coefficient of the average value or the maximum value of each resource is predetermined by the user based on the nature of the resource. For example, even if the data stored in the memory exceeds the memory capacity, the memory can be dealt with by a technique such as swapping, so that the memory is often used to the maximum extent. That is, the maximum value of the memory usage rate is often close to 100%, and even in such a state, it cannot be determined that the virtual machine is overloaded. Therefore, in the example of FIG. 8, the coefficient with respect to the maximum value of the memory usage rate is set higher than that of other resources. As a result, even if the memory usage rate ranks higher with respect to the maximum resource usage rate, the priority determination value is overestimated.
またストレージ装置は、コスト改善またはレスポンス改善を実現するには、ストレージの種別を変えることとなる。例えば仮想マシンに割り当てるストレージ装置が、RAID5のストレージ装置からRAID1のストレージ装置に変更される。このようなストレージの種別の変更処理は、データの移動を伴い、時間がかかる。そのため図8の例では、ストレージ装置についてのリソース使用率の平均値に対数する係数は、他のリソースよりも高く設定されている。これにより、リソース使用率の平均値に関するストレージ装置の使用率の順位が高くても、優先度判定値が多めに見積もられる。
In addition, the storage device will change the type of storage in order to realize cost improvement or response improvement. For example, the storage device assigned to the virtual machine is changed from the storage device of
図9は、ロードバランサが記憶するリクエスト管理テーブルの一例を示す図である。リクエスト管理テーブル211には、受信時刻、リクエスト、転送先仮想マシン、およびレスポンスタイムの欄が設けられている。 FIG. 9 is a diagram showing an example of a request management table stored in the load balancer. The request management table 211 is provided with columns for reception time, request, transfer destination virtual machine, and response time.
受信時刻の欄には、端末装置31,32,・・・から受信したリクエストの受信時刻が設定される。リクエストの欄には、受信したリクエストの内容が設定される。転送先仮想マシンの欄には、リクエストの転送先の仮想マシンの名称が設定される。レスポンスタイムの欄には、リクエストを仮想マシンに転送してから、その仮想マシンからレスポンスが返されるまでの時間(レスポンスタイム)が設定される。
In the reception time column, the reception time of the request received from the
次に、リソース量の自動変更処理について詳細に説明する。リソース量の自動変更処理は、大別するとリクエスト監視処理と最適化処理(コスト改善またはレスポンス改善処理)とに分けられる。以下、図10と図11とを参照して、リクエスト監視処理と最適化処理との概略を説明する。 Next, the automatic change processing of the resource amount will be described in detail. The automatic resource amount change process is roughly divided into request monitoring process and optimization process (cost improvement or response improvement process). Hereinafter, the outline of the request monitoring process and the optimization process will be described with reference to FIGS. 10 and 11.
図10は、リクエスト監視処理の手順の一例を示すシーケンス図である。リクエスト監視処理では、まず仮想マシン監視装置100は、サーバ300へ、運用中の仮想マシンのスナップショット生成指示を送信する(ステップS101)。スナップショット生成指示を受信したサーバ300は、仮想マシンのスナップショットを生成する(ステップS102)。
FIG. 10 is a sequence diagram showing an example of the procedure of the request monitoring process. In the request monitoring process, the virtual
次に仮想マシン監視装置100は、リクエスト量・レスポンスタイム計測指示を、ロードバランサ200に送信する(ステップS103)。ロードバランサ200は、リクエスト量・レスポンスタイム計測指示に応じて、サーバ300内の運用中の仮想マシンに転送したリクエスト量を計数し、各リクエストに対するレスポンスタイムの平均値を計算する(ステップS104)。そしてロードバランサ200は、リクエスト量とレスポンスタイムの平均値とを、計測結果として仮想マシン監視装置100に送信する(ステップS105)。
Next, the virtual
次に仮想マシン監視装置100は、運用中の仮想マシンのリソース使用率の要求を、サーバ300に送信する(ステップS106)。サーバ300は、仮想マシン監視装置100からの要求に応じて、仮想マシンのリソース利用率の情報を応答する(ステップS107)。例えばサーバ300では、仮想マシン331,332,・・・それぞれのOSが、リソース使用率を計測している。そしてハイパーバイザ320が、仮想マシン監視装置100からの要求に応じて、仮想マシン331,332,・・・それぞれのOSからリソース使用率の情報を取得し、仮想マシン監視装置100に送信する。
Next, the virtual
仮想マシン監視装置100は、仮想マシンのリソース使用率の情報に基づいて、リソースごとに優先度判定値を算出し、リソース変更の優先度を決定する(ステップS108)。次に仮想マシン監視装置100は、リクエスト量に基づいて、リクエスト量の変動率を算出する(ステップS109)。そして仮想マシン監視装置100は、取得した情報を解析し、最適化処理(コスト改善処理またはレスポンス改善処理)を選択する。
The virtual
図11は、最適化処理の手順の一例を示すシーケンス図である。最適化処理では、仮想マシン監視装置100は、運用中の仮想マシン(運用マシン)に割り当てられたリソースの構成の情報を、サーバ300に要求する(ステップS121)。するとサーバ300は、運用マシンに割り当てたリソースの構成を示す情報を、仮想マシン監視装置100に送信する(ステップS122)。
FIG. 11 is a sequence diagram showing an example of the procedure of the optimization process. In the optimization process, the virtual
仮想マシン監視装置100は、運用マシンに割り当てられたリソース量を格納する(ステップS123)。次に仮想マシン監視装置100は、運用マシンの最適なリソース量を決定する(ステップS124)。そして仮想マシン監視装置100は、サーバ300に対して改善マシンの生成を指示する(ステップS125)。サーバ300は、指示に従って改善マシンとして使用する仮想マシンを生成する(ステップS126)。
The virtual
次に仮想マシン監視装置100は、サーバ300へ、改善マシンへのスナップショット適用指示を送信する(ステップS127)。サーバ300は、指示に従って、運用マシンのスナップショットを改善マシンで復元する(ステップS128)。続けて、仮想マシン監視装置100は、サーバ300へ、ステップS124で決定した最適なリソース量を改善マシンに割り当てるように、改善マシンのリソース量変更指示を送信する(ステップS129)。サーバ300は、指示に従って改善マシンに割り当てるリソースの量を変更する(ステップS130)。
Next, the virtual
仮想マシン監視装置100は、ロードバランサ200に対して、改善マシンのレスポンスタイム計測指示を送信する(ステップS131)。ロードバランサ200は、過去に運用サーバに送信したリクエストのログを記録しており、仮想マシン監視装置100からのレスポンスタイム計測指示に応じて、記録しておいたリクエストを改善マシン宛てに送信する(ステップS132)。サーバ300では、改善マシンにより、リクエストに応じた処理が実行される。そしてサーバ300内の改善マシンは、ロードバランサ200にリクエストに対する応答を送信する(ステップS133)。ロードバランサ200は、リクエストの送信から応答までの時間を計測し、計測結果をレスポンスタイムとする。ロードバランサ200は、レスポンスタイムの計測結果を、仮想マシン監視装置100に送信する(ステップS134)。
The virtual
仮想マシン監視装置100は、改善マシンのレスポンスタイムが、運用マシンに求められるレスポンスタイムの要件を満たしているか否かを判定する(ステップS135)。仮想マシン監視装置100は、レスポンスタイムの要件が満たされると判定した場合、サーバ300に対して、運用マシンのリソース量を、ステップS124で決定した最適なリソース量に変更するように指示する(ステップS136)。サーバ300は、指示に従って運用マシンのリソース量を変更する(ステップS137)。
The virtual
このようにして、運用マシンのリソース量が自動で変更される。
次に、各装置が実行する処理を詳細に説明する。
図12は、仮想マシン監視装置におけるリクエスト監視処理の手順の一例を示すフローチャートの前半である。以下、図12に示す処理をステップ番号に沿って説明する。
In this way, the amount of resources of the production machine is automatically changed.
Next, the processing executed by each device will be described in detail.
FIG. 12 is the first half of a flowchart showing an example of the procedure of request monitoring processing in the virtual machine monitoring device. Hereinafter, the process shown in FIG. 12 will be described along with the step numbers.
[ステップS201]監視部120は、各種データテーブルを生成する。具体的には、監視部120は、リクエスト監視テーブル111、リソース管理テーブル112、およびリソース優先度テーブル114を新たに生成する。この時点では、リクエスト監視テーブル111には、インターバル期間のみが設定されている。インターバル期間は、リクエスト量を計数する期間である。インターバル期間は、ユーザにより予め指定されている。
[Step S201] The
なお、過去に実行したリクエスト監視処理により、リクエスト監視テーブル111とリソース管理テーブル112とリソース優先度テーブル114とが生成済みの場合、ステップS201の処理は省略される。 If the request monitoring table 111, the resource management table 112, and the resource priority table 114 have already been generated by the request monitoring process executed in the past, the process in step S201 is omitted.
[ステップS202]監視部120は、各種データテーブルに設定するデータの入力を受け付ける。例えば監視部120は、リソース管理テーブル112の各欄(図6参照)のうち、リソース、Min、Max、増減単位、リソース単価の欄に設定するデータの入力を受け付ける。そして監視部120は、ユーザにより入力されたデータを、リソース管理テーブル112に設定する。また監視部120は、リソース優先度テーブル114の各欄(図8参照)のうち、リソース使用率:平均値の係数の欄とリソース使用率:最大値の係数の欄とに設定する値の入力を受け付ける。そして監視部120は、ユーザにより入力されたデータを、リソース優先度テーブル114に設定する。
[Step S202] The
[ステップS203]監視部120は、ロードバランサ200内の負荷計測部230およびサーバ300内のハイパーバイザ320それぞれとの間で、管理ネットワーク20を介して通信を接続する。
[Step S203] The
[ステップS204]監視部120は、サーバ300内のハイパーバイザ320に対して、運用中の仮想マシンのスナップショット作成を指示する。
[ステップS205]監視部120は、ロードバランサ200内の負荷計測部230に対して、リクエスト量とレスポンスタイムとの計測指示を送信する。この計測指示に応じて、負荷計測部230において運用中の仮想マシンへのリクエストが監視され、リクエスト量とレスポンスタイムとの計測が開始される。
[Step S204] The
[Step S205] The
[ステップS206]監視部120は、所定時間待機する。待機する所定時間は、ユーザにより予め設定されている。
[ステップS207]監視部120は、ロードバランサ200内の負荷計測部230に対して、リクエスト量の監視終了と同時にリクエスト情報の計測終了を指示する。計測終了指示に応じて、負荷計測部230から、計測結果が応答される。計測結果には、例えば仮想マシンに所定期間内に送信したリクエスト量と、その期間の平均のレスポンスタイムとが含まれる。
[Step S206] The
[Step S207] The
[ステップS208]監視部120は、応答された計測結果に基づいて、リクエスト監視テーブル111を更新する。例えば監視部120は、最新の計測結果に含まれるリクエスト量を、リクエスト監視テーブル111のリクエスト量の新規の欄に設定する。この際、新規の欄に、前回の計測結果に示されていたリクエスト量が設定されている場合、そのリクエスト量を、リクエスト量の前回の欄にコピーした後に、新規の欄に最新のリクエスト量を書き込む。また監視部120は、最新の計測結果に含まれるレスポンスタイムを、リクエスト監視テーブル111のレスポンスタイムの欄に設定する。また監視部120は、新規のリクエスト量を前回のリクエスト量で除算することで、変動率を算出し、リクエスト監視テーブル111の変動率の欄に設定する。
[Step S208] The
[ステップS209]監視部120は、リクエスト監視テーブル111に前回のリクエスト量が設定されているか否かを判断する。監視部120は、前回のリクエスト量が設定されている場合、処理をステップS210に進める。また監視部120は、前回のリクエスト量が設定されていない場合、処理をステップS205に進める。
[Step S209] The
[ステップS210]監視部120は、仮想マシンのリソース使用率に関する情報を、サーバ300内のハイパーバイザ320に要求する。この要求に応じて、ハイパーバイザ320から、リソース使用率に関する情報が応答される。リソース使用率に関する情報には、CPU、メモリ、ストレージ装置それぞれの使用率の平均値と最大値とが含まれる。
[Step S210] The
[ステップS211]監視部120は、リソース使用率に関する情報に基づいて、リソース優先度テーブル114を更新する。例えば、監視部120は、リソース優先度テーブル114のリソース使用率:平均値の使用率の欄に、各リソースの使用率の平均値を設定し、リソース優先度テーブル114のリソース使用率:最大値の使用率の欄に、各リソースの使用率の最大値を設定する。監視部120は、その後、処理をステップS221(図13参照)に進める。
[Step S211] The
図13は、仮想マシン監視装置におけるリクエスト監視処理の手順の一例を示すフローチャートの後半である。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS221]監視部120は、各リソースのリソース使用率の順位を決定する。例えば監視部120は、リソース優先度テーブル114を参照し、まず、リソース使用率:平均値の使用率の欄に設定されている各リソースの使用率を比較し、使用率の高い順に順位を決定する。そして監視部120は、リソース使用率の平均値の順位を、リソース優先度テーブル114のリソース使用率:平均値の順位の欄に、各リソースに対応付けて設定する。次に監視部120は、リソース優先度テーブル114のリソース使用率:最大値の欄に設定されている各リソースの使用率を比較し、使用率の高い順に順位を決定する。そして監視部120は、リソース使用率の最大値の順位を、リソース優先度テーブル114のリソース使用率:最大値の順位の欄に、各リソースに対応付けて設定する。
FIG. 13 is the latter half of the flowchart showing an example of the procedure of the request monitoring process in the virtual machine monitoring device. Hereinafter, the process shown in FIG. 13 will be described along with the step numbers.
[Step S221] The
[ステップS222]監視部120は、リソースごとに、リソース変更の優先度を決定する。例えば監視部120は、使用率の平均値の順位(PA)に係数(kA)を乗算した値と、使用率の最大値の順位(PM)に係数(kM)を乗算した値との加算結果を、リソース変更の優先度判定値とする。監視部120は、各リソースについて算出したリソース変更の優先度判定値を、リソース優先度テーブル114のリソース変更の優先度判定値の欄に設定する。
[Step S222] The
さらに監視部120は、各リソースのリソース変更の優先度判定値に基づいて、各リソースの優先度を決定し、リソース管理テーブル112の優先度の欄に設定する。例えば監視部120は、リソース変更の優先度判定値が最も高いリソースの優先度を「High」、リソース変更の優先度判定値が2番目に高いリソースの優先度を「Mid」、リソース変更の優先度判定値が最も低いリソースの優先度を「Low」とする。
Further, the
[ステップS223]監視部120は、レスポンスタイムが閾値以上か否かを判断する。閾値は、仮想マシン管理テーブル113に設定されている基準値×安全係数である。監視部120は、レスポンスタイムが閾値以上の場合、処理をステップS228に進める。また監視部120は、レスポンスタイムが閾値未満の場合、処理をステップS224に進める。
[Step S223] The
[ステップS224]監視部120は、リクエスト監視テーブル111に設定されている変動率に基づいて、リクエスト量の増減の傾向を判定する。例えば監視部120は、変動率が、コスト改善の閾値(例えば「0.5」)未満の場合、リクエスト量が減少傾向にあると判定し、リクエスト監視テーブル111の”コスト改善の欄に「Yes」を書き込む。また監視部120は、変動率が、コスト改善の閾値以上の場合、リクエスト量が減少傾向にはないと判定し、リクエスト監視テーブル111のコスト改善の欄に「No」を書き込む。さらに監視部120は、変動率が、レスポンス改善の閾値(例えば「1.5」)より大きい場合、リクエスト量が増加傾向にあると判定し、リクエスト監視テーブル111のレスポンス改善の欄に「Yes」を書き込む。また監視部120は、変動率が、レスポンス改善の閾値以下の場合、リクエスト量が増加傾向にはないと判定し、リクエスト監視テーブル111のレスポンス改善の欄に「No」を書き込む。
[Step S224] The
[ステップS225]監視部120は、リクエスト監視テーブル111のコスト改善のステータスを照会する。例えば監視部120は、コスト改善の欄に「Yes」が設定されている場合、処理をステップS227に進める。監視部120は、コスト改善の欄に「No」が設定されている場合、処理をステップS226に進める。
[Step S225] The
[ステップS226]監視部120は、リクエスト監視テーブル111のレスポンス改善のステータスを照会する。監視部120は、レスポンス改善の欄に「Yes」が設定されている場合、処理をステップS228に進める。監視部120は、レスポンス改善の欄に「No」が設定されている場合、処理をステップS205(図12参照)に進める。
[Step S226] The
[ステップS227]監視部120は、コスト改善処理を行う。コスト改善処理の詳細は後述する(図15、図16参照)。監視部120は、コスト改善処理が終了すると、リクエスト監視処理を終了する。
[Step S227] The
[ステップS228]監視部120は、レスポンス改善処理を行う。レスポンス改善処理の詳細は後述する(図17、図18参照)。監視部120は、コスト改善処理が終了すると、リクエスト監視処理を終了する。
[Step S228] The
このようにして、リクエストを監視して、リクエスト量が急増していればレスポンス改善処理が行われ、リクエスト量が急減していればコスト改善処理が行われる。
ここで、コスト改善処理とレスポンス改善処理の詳細を説明する前に、ロードバランサ200によるリクエスト量・レスポンスタイム計測処理について詳細に説明する。
In this way, the request is monitored, and if the request amount suddenly increases, the response improvement process is performed, and if the request amount suddenly decreases, the cost improvement process is performed.
Here, before explaining the details of the cost improvement process and the response improvement process, the request amount / response time measurement process by the
図14は、リクエスト量・レスポンスタイム計測処理の手順の一例を示すフローチャートである。なおリクエスト量の監視処理は、仮想マシン監視装置100内の監視部120からリクエスト量・レスポンスタイム計測指示を受信したときに実行される。以下、図14に示す処理をステップ番号に沿って説明する。
FIG. 14 is a flowchart showing an example of the procedure for measuring the request amount and response time. The request amount monitoring process is executed when a request amount / response time measurement instruction is received from the
[ステップS301]ロードバランサ200の負荷計測部230は、負荷分散制御部220による負荷分散処理を監視し、端末装置31,32,・・・からのリクエストを仮想マシン331,332,・・・に転送したか否かを判断する。負荷計測部230は、リクエストの転送があった場合、処理をステップS302に進める。また負荷計測部230は、リクエストの転送がなければ、処理をステップS304に進める。
[Step S301] The
[ステップS302]負荷計測部230は、転送したリクエストに関するリクエスト情報を、リクエスト管理テーブル211に登録する。
[ステップS303]負荷計測部230は、転送したリクエストに対応する仮想マシンからの応答を待ち、そのリクエストに対するレスポンスタイムを計測する。そして負荷計測部230は、計測したレスポンスタイムを、ステップS302で登録したリクエスト情報に関連付けて、リクエスト管理テーブル211のレスポンスタイムの欄に設定する。
[Step S302] The
[Step S303] The
[ステップS304]負荷計測部230は、仮想マシン監視装置100内の監視部120から、計測終了指示を受信したか否かを判断する。負荷計測部230は、計測終了指示を受信した場合、処理をステップS305に進める。また負荷計測部230は、計測終了指示を受信していなければ、処理をステップS301に進める。
[Step S304] The
[ステップS305]負荷計測部230は、リクエスト管理テーブル211に格納したリクエスト情報に基づいて、リクエスト量を計数する。例えば負荷計測部230は、リクエスト量・レスポンスタイム計測指示を受信後、計測終了指示を受信するまでの期間内の時刻が受信時刻に設定されており、転送先仮想マシンが運用中の仮想マシンであるリクエストのリクエスト情報を特定する。そして負荷計測部230は特定したリクエスト情報の数を計数し、運用中の仮想マシンへのリクエスト量とする。
[Step S305] The
[ステップS306]負荷計測部230は、レスポンスタイムの平均値を計算する。例えばステップS305で特定したリクエスト情報それぞれのレスポンスタイムを合計し、合計をリクエスト量で除算した結果を、レスポンスタイムの平均値とする。
[Step S306] The
[ステップS307]負荷計測部230は、リクエスト量とレスポンスタイムの平均値とを、計測結果として仮想マシン監視装置100の監視部120に送信する。
このように、ロードバランサ200において計測されたリクエスト量とレスポンスタイム(平均値)とに基づいて、仮想マシン監視装置100においてコスト改善処理またはレスポンス改善処理を実行するか否かが決定され、決定された処理が実行される。
[Step S307] The
In this way, based on the request amount and the response time (average value) measured by the
図15は、コスト改善処理の手順の一例を示すフローチャートの前半である。運用中の仮想マシン331のコスト改善処理を実行するものとして、以下、図15に示す処理をステップ番号に沿って説明する。
FIG. 15 is the first half of a flowchart showing an example of the cost improvement processing procedure. Assuming that the cost improvement process of the
[ステップS401]仮想マシン監視装置100の監視部120は、仮想マシン331の情報を管理する仮想マシン管理テーブル113を生成する。なお、既に仮想マシン管理テーブル113が生成済みの場合、監視部120は、新たな仮想マシン管理テーブル113の生成は行わない。
[Step S401] The
例えば監視部120は、仮想マシン管理テーブル113に仮想マシン331のレコードを登録する。この時点では、登録されたレコードには、仮想マシン331の名称「VM A」に対応付けて、目的、利用コスト、レスポンスタイムの基準値・安全係数・判定結果が設定される。このとき設定される目的は「運用」である。レスポンスタイムの基準値・安全係数は、予めユーザにより指定されている値である。レスポンスタイムの計測値は、ロードバランサ200がステップS306(図14参照)で計算したレスポンスタイムの平均値である。レスポンスタイムの平均値は、リクエスト監視テーブル111のレスポンスタイムの欄から取得できる。運用マシンである仮想マシン331のレスポンスタイムの判定は、ステップS223(図13参照)において行われている。監視部120は、ステップS223の判定結果を、仮想マシン管理テーブル113のレスポンスタイムの判定結果の欄に設定する。
For example, the
なお、過去に実行したリクエスト監視処理により、仮想マシン管理テーブル113が生成済みの場合、ステップS401の処理は省略される。
[ステップS402]監視部120は、ハイパーバイザ320から、仮想マシン331のリソース構成(各リソースの割り当て量)を取得する。そして監視部120は、取得したリソース構成を、仮想マシン管理テーブル113に設定する。
If the virtual machine management table 113 has already been generated by the request monitoring process executed in the past, the process in step S401 is omitted.
[Step S402] The
[ステップS403]監視部120は、仮想マシン管理テーブル113に登録されている仮想マシン331のレコードのコピーを、改善マシンとして用いる仮想マシンのレコードとして、仮想マシン管理テーブル113に追加する。そして監視部120は、新たに追加したレコードにおける仮想マシンの名称を変更し、目的の欄に「コスト改善」と設定する。
[Step S403] The
次に、監視部120は、ステップS404〜S406の処理により、運用中の仮想マシン331に比べてロースペックのリソース構成を、改善マシンとして用いる仮想マシンに設定する。
Next, the
[ステップS404]監視部120は、仮想マシン管理テーブル113の改善マシンのレコードについて、リソース構成に示される各リソースの割り当て量のうち、優先度の高いリソースの割り当て量から、1単位分だけ減算する。なおリソースの優先度は、リソース管理テーブル112の優先度の欄を参照して判別できる。監視部120は、優先度の高いリソースの減算後の割り当て量を、仮想マシン管理テーブル113の改善マシンのレコードのリソース構成の欄に設定する。なお監視部120は、改善マシンに割り当てられた優先度の高いリソースが、そのリソースの利用可能な最小値の場合、次に優先度の高いリソースの割り当て量から、1単位分だけ減算する。各リソースの利用可能な最小値は、リソース管理テーブル112のMinの欄に設定されている。
[Step S404] The
図7の仮想マシン管理テーブル113の例では、仮想マシン「VM A」が運用中の仮想マシンである。図6に示したリソース管理テーブル112では、最も優先度が高いのはメモリである。仮想マシン「VM A」に割り当てられたメモリ量は4GBである。そこで監視部120は、仮想マシン管理テーブル113の目的が「コスト改善」の仮想マシン「VM B」のレコードのリソース構成のメモリの欄に、4GBから1単位分(2GB)減算した値「2GB」を書き込む。
In the example of the virtual machine management table 113 of FIG. 7, the virtual machine “VMA” is a virtual machine in operation. In the resource management table 112 shown in FIG. 6, the memory has the highest priority. The amount of memory allocated to the virtual machine "VM A" is 4 GB. Therefore, the
ここで、仮に運用中の仮想マシン「VM A」に割り当てられたメモリ容量が2GB(最小値)の場合、次に優先度の高いCPUの割り当て量が1単位分(2コア)だけ減算される。この際、監視部120は、割り当てられたリソース量が最小値で減算できないリソース(メモリ)について、1単位分だけ加算してもよい。
Here, if the memory capacity allocated to the operating virtual machine "VM A" is 2 GB (minimum value), the allocated amount of the CPU with the next highest priority is subtracted by 1 unit (2 cores). .. At this time, the
[ステップS405]監視部120は、運用中の仮想マシンの利用コストと、改善マシンの利用コストとを計算する。例えば、監視部120は、リソースごとの増減単価をリソース管理テーブル112から取得する。次に監視部120は、仮想マシン管理テーブル113に示される、仮想マシンへのリソースの割り当て量に増減単価を乗算し、その仮想マシンのリソースごとの利用コストを得る。そして監視部120は、リソースごとの利用コストを合計し、該当仮想マシンの利用コストとする。監視部120は、運用中の仮想マシンの利用コストと、改善マシンの利用コストとのそれぞれについて算出した利用コストを、仮想マシン管理テーブル113の利用コストの欄に設定する。
[Step S405] The
[ステップS406]監視部120は、改善マシンの方が利用コストが低いかどうかを判定する。監視部120は、改善マシンの方が利用コストが低い場合、処理をステップS411に進める。また監視部120は、運用中のマシンの方が利用コストが低いか、または利用コストが変わらない場合、処理をステップS404に進め、改善マシンのリソース量をさらに削減する。なお図15のフローチャートには示していないが、削減可能なリソースがない場合は、コスト改善処理は終了する。
[Step S406] The
図16は、コスト改善処理の手順の一例を示すフローチャートの後半である。以下、図16に示す処理をステップ番号に沿って説明する。
[ステップS411]監視部120は、サーバ300のハイパーバイザ320に対し、運用中の仮想マシン331のクローン生成を指示する。ハイパーバイザ320は、指示に従って仮想マシン331のクローンの仮想マシンを生成する。以下、クローンとして仮想マシン332が生成されたものとする。
FIG. 16 is the latter half of the flowchart showing an example of the procedure of the cost improvement process. Hereinafter, the process shown in FIG. 16 will be described along with the step numbers.
[Step S411] The
[ステップS412]監視部120は、ハイパーバイザ320に対し、生成した仮想マシン332へのスナップショットの適用を指示する。この指示に応じて、ハイパーバイザ320は、仮想マシン331のスナップショットを、仮想マシン332に適用する。これにより、仮想マシン331の動作状態が、仮想マシン332で再現される。
[Step S412] The
[ステップS413]監視部120は、ハイパーバイザ320に対し、運用中の仮想マシン331のクローンである仮想マシン332に割り当てるリソース量の削減を指示する。例えば監視部120は、仮想マシン管理テーブル113の目的「コスト改善」の仮想マシンのリソース構成をハイパーバイザ320に通知し、仮想マシン332のリソース構成を、通知したリソース構成とするようにハイパーバイザ320に指示する。
[Step S413] The
[ステップS414]監視部120は、ハイパーバイザ320に対し、運用中の仮想マシン331のクローンである仮想マシン332の名称(例えば「VM B」)を指定し、仮想マシン332の起動を指示する。ハイパーバイザ320は、指示に従って、仮想マシン332を起動する。
[Step S414] The
[ステップS415]監視部120は、ロードバランサ200の負荷計測部230に対し、仮想マシン332の名称「VM B」を指定して、仮想マシン332のレスポンスタイムの計測を指示する。負荷計測部230は、計測指示に応じて、記憶部210に蓄積してあるリクエスト情報に基づいて、リクエストを仮想マシン332に送信し、そのリクエストに対するレスポンスタイムを計測する。例えば負荷計測部230は、複数のリクエストを仮想マシン332に送信し、各リクエストに対するレスポンスタイムの平均値を、仮想マシン332のレスポンスタイムとする。
[Step S415] The
[ステップS416]監視部120は、負荷計測部230から、仮想マシン332のレスポンスタイムの計測結果を取得する。監視部120は、取得したレスポンスタイムを、仮想マシン管理テーブル113内の目的「コスト改善」のレコードのレスポンスタイムの計測値の欄に設定する。
[Step S416] The
[ステップS417]監視部120は、仮想マシン332のレスポンスタイムが、運用中の仮想マシン331に求められるレスポンスタイムの閾値(基準値×安全係数)未満か否かを判定する。監視部120は、レスポンスタイムが閾値未満の場合、仮想マシン管理テーブル113内の目的「コスト改善」のレコードのレスポンスタイムの判定結果の欄に「OK」と設定し、処理をステップS418に進める。また監視部120は、レスポンスタイムが閾値以上の場合、仮想マシン管理テーブル113内の目的「コスト改善」のレコードのレスポンスタイムの判定結果の欄に「NG」と設定し、コスト改善処理を終了する。
[Step S417] The
[ステップS418]監視部120は、サーバ300内のハイパーバイザ320に対し、運用中の仮想マシン331への割り当てリソース量の削減を指示する。例えば監視部120は、仮想マシン管理テーブル113の目的「コスト改善」の仮想マシンのリソース構成をハイパーバイザ320に通知し、運用中の仮想マシン331のリソース構成を、通知したリソース構成とするようにハイパーバイザ320に指示する。
[Step S418] The
[ステップS419]監視部120は、仮想マシン管理テーブル113における運用中の仮想マシン331のリソース構成を更新する。例えば監視部120は、目的「コスト改善」のレコードのリソース構成のコピーを、目的「運用」のレコードのリソース構成に上書きで書き込む。監視部120は、その後、処理をステップS402に進め、さらにリソース量の削減が可能かどうかを探索する。
[Step S419] The
このようにして、優先度の高いリソースから順に、運用中の仮想マシン331への割り当てリソース量が削減される。最終的には、運用中の仮想マシン331への割り当てリソース量は、レスポンスタイムの条件が満たされる最小限のリソース量となる。
In this way, the amount of resources allocated to the
次に、レスポンス改善処理について詳細に説明する。
図17は、レスポンス改善処理の手順の一例を示すフローチャートの前半である。運用中の仮想マシン331のコスト改善処理を実行するものとして、以下、図17に示す処理をステップ番号に沿って説明する。
Next, the response improvement process will be described in detail.
FIG. 17 is the first half of a flowchart showing an example of the procedure of the response improvement process. Assuming that the cost improvement process of the
[ステップS501]仮想マシン監視装置100の監視部120は、仮想マシン331の情報を管理する仮想マシン管理テーブル113を生成する。なお、過去に実行したリクエスト監視処理により、仮想マシン管理テーブル113が生成済みの場合、ステップS501の処理は省略される。仮想マシン管理テーブル113の生成処理の詳細は、図15のステップS401と同様である。
[Step S501] The
[ステップS502]ハイパーバイザ320から、仮想マシン331のリソース構成(各リソースの割り当て量)を取得する。そして監視部120は、取得したリソース構成を、仮想マシン管理テーブル113に設定する。
[Step S502] The resource configuration (allocation amount of each resource) of the
[ステップS503]監視部120は、仮想マシン管理テーブル113に登録されている仮想マシン331のレコードのコピーを、改善マシンとして用いる仮想マシンのレコードとして、仮想マシン管理テーブル113に追加する。そして監視部120は、新たに追加したレコードにおける仮想マシンの名称を変更し、目的の欄に「レスポンス改善」と設定する。
[Step S503] The
[ステップS504]監視部120は、仮想マシン管理テーブル113の改善マシンのレコードについて、リソース構成に示される各リソースの割り当て量のうち、優先度の高いリソースの割り当て量に、1単位分だけ加算する。監視部120は、優先度の高いリソースの加算後の割り当て量を、仮想マシン管理テーブル113の改善マシンのレコードのリソース構成の欄に設定する。なお監視部120は、改善マシンに割り当てられた優先度の高いリソースが、そのリソースの利用可能な最大値の場合、次に優先度の高いリソースの割り当て量に、1単位分だけ加算する。各リソースの利用可能な最大値は、リソース管理テーブル112のMaxの欄に設定されている。
[Step S504] The
例えば、優先度が最も高いリソースがメモリであり、運用中の仮想マシンに割り当てられたメモリ量が2GBの場合、目的「レスポンス改善」の仮想マシンのメモリ量には、1単位(2GB)分加算した、4GBとなる。 For example, if the resource with the highest priority is memory and the amount of memory allocated to the virtual machine in operation is 2 GB, 1 unit (2 GB) is added to the amount of memory of the virtual machine for the purpose "response improvement". It becomes 4GB.
また、運用中の仮想マシンに割り当てられたメモリの量が64GB(最大値)の場合、次に優先度の高いリソースであるCPUの割り当て量が1単位(2コア)分を加算される。この際、リソース使用量が最大値となっているリソース(メモリ)についての割り当て量を、1単位分だけ減算してもよい。 When the amount of memory allocated to the virtual machine in operation is 64 GB (maximum value), the amount allocated to the CPU, which is the next highest priority resource, is added by 1 unit (2 cores). At this time, the allocation amount for the resource (memory) whose resource usage amount is the maximum value may be subtracted by one unit.
リソース量の増加処理後、監視部120は、処理をステップS511(図18参照)に進める。
図18は、レスポンス改善処理の手順の一例を示すフローチャートの後半である。以下、図18に示す処理をステップ番号に沿って説明する。
After the resource amount increase processing, the
FIG. 18 is the latter half of the flowchart showing an example of the procedure of the response improvement process. Hereinafter, the process shown in FIG. 18 will be described along with the step numbers.
[ステップS511]監視部120は、サーバ300のハイパーバイザ320に対し、運用中の仮想マシン331のクローン生成を指示する。ハイパーバイザ320は、指示に従って仮想マシン331のクローンの仮想マシンを生成する。以下、クローンとして仮想マシン332が生成されたものとする。
[Step S511] The
[ステップS512]監視部120は、ハイパーバイザ320に対し、生成した仮想マシン332へのスナップショットの適用を指示する。この指示に応じて、ハイパーバイザ320は、仮想マシン331のスナップショットを、仮想マシン332に適用する。これにより、仮想マシン331の動作状態が、仮想マシン332で再現される。
[Step S512] The
[ステップS513]監視部120は、ハイパーバイザ320に対し、運用中の仮想マシン331のクローンである仮想マシン332に割り当てるリソース量の増強を指示する。例えば監視部120は、仮想マシン管理テーブル113の目的「レスポンス改善」の仮想マシンのリソース構成をハイパーバイザ320に通知し、仮想マシン332のリソース構成を、通知したリソース構成とするようにハイパーバイザ320に指示する。
[Step S513] The
[ステップS514]監視部120は、ハイパーバイザ320に対し、運用中の仮想マシン331のクローンである仮想マシン332の名称(例えば「VM C」)を指定し、仮想マシン332の起動を指示する。ハイパーバイザ320は、指示に従って、仮想マシン332を起動する。
[Step S514] The
[ステップS515]監視部120は、ロードバランサ200の負荷計測部230に対し、仮想マシン332の名称「VM C」を指定して、仮想マシン332のレスポンスタイムの計測を指示する。負荷計測部230は、計測指示に応じて、記憶部210に蓄積してあるリクエスト情報に基づいて、リクエストを仮想マシン332に送信し、そのリクエストに対するレスポンスタイムを計測する。例えば負荷計測部230は、複数のリクエストを仮想マシン332に送信し、各リクエストに対するレスポンスタイムの平均値を、仮想マシン332のレスポンスタイムとする。
[Step S515] The
[ステップS516]監視部120は、負荷計測部230から、仮想マシン332のレスポンスタイムの計測結果を取得する。監視部120は、取得したレスポンスタイムを、仮想マシン管理テーブル113内の目的「レスポンス改善」のレコードのレスポンスタイムの計測値の欄に設定する。
[Step S516] The
[ステップS517]監視部120は、仮想マシン332のレスポンスタイムが、運用中の仮想マシン331に求められるレスポンスタイムの閾値(基準値×安全係数)未満か否かを判定する。監視部120は、レスポンスタイムが閾値未満の場合、仮想マシン管理テーブル113内の目的「レスポンス改善」のレコードのレスポンスタイムの判定結果の欄に「OK」と設定し、処理をステップS518に進める。また監視部120は、レスポンスタイムが閾値以上の場合、仮想マシン管理テーブル113内の目的「レスポンス改善」のレコードのレスポンスタイムの判定結果の欄に「NG」と設定し、処理をステップS504(図17参照)に進める。
[Step S517] The
[ステップS518]監視部120は、サーバ300内のハイパーバイザ320に対し、運用中の仮想マシン331への割り当てリソース量の増強を指示する。例えば監視部120は、仮想マシン管理テーブル113の目的「レスポンス改善」の仮想マシンのリソース構成をハイパーバイザ320に通知し、運用中の仮想マシン331のリソース構成を、通知したリソース構成とするようにハイパーバイザ320に指示する。
[Step S518] The
[ステップS519]監視部120は、仮想マシン管理テーブル113における運用中の仮想マシン331のリソース構成を更新する。例えば監視部120は、目的「レスポンス改善」のレコードのリソース構成のコピーを、目的「運用」のレコードのリソース構成に上書きで書き込む。
[Step S519] The
このようにして、仮想マシンに対するリクエストの量の変化に応じて、仮想マシンに割り当てるリソースの量を変更することができる。例えば仮想マシンに対するリクエストの量が増加傾向にあれば、レスポンスタイムが悪化するのを待たずに、仮想マシンに割り当てるリソースの量を増加させることができる。その結果、仮想マシンのリソースの量の変更の遅延を抑止することができる。すなわち仮想マシンのレスポンスタイムが悪化したことを検知してから、その仮想マシンに割り当てるリソースの量を変更する場合に比べ、迅速にリソースの量を変更できる。その結果、仮想マシンの過負荷によりレスポンスタイムが悪化することが抑止される。 In this way, the amount of resources allocated to the virtual machine can be changed as the amount of requests to the virtual machine changes. For example, if the amount of requests to a virtual machine is on the rise, the amount of resources allocated to the virtual machine can be increased without waiting for the response time to deteriorate. As a result, it is possible to suppress the delay in changing the amount of resources of the virtual machine. That is, the amount of resources can be changed more quickly than when the amount of resources allocated to the virtual machine is changed after detecting that the response time of the virtual machine has deteriorated. As a result, it is possible to prevent the response time from deteriorating due to the overload of the virtual machine.
また仮想マシンに対するリクエストの量が減少傾向にあれば、仮想マシンに割り当てるリソースの量を減少させることができる。その結果、仮想マシンに過大にリソースを割り当ててしまうことを抑止し、システム全体のリソースの有効活用が可能となる。しかも、仮想マシンを使用しているユーザが、仮想マシンに割り当てられたリソース量に応じて費用を支払っている場合、リソースの量を最小限に抑えることで、仮想マシンの使用コストを低減させることができる。 If the amount of requests to the virtual machine is decreasing, the amount of resources allocated to the virtual machine can be reduced. As a result, it is possible to prevent excessive allocation of resources to the virtual machine and effectively utilize the resources of the entire system. Moreover, if the user using the virtual machine pays for the amount of resources allocated to the virtual machine, the cost of using the virtual machine can be reduced by minimizing the amount of resources. Can be done.
また第2の実施の形態では、運用中の仮想マシンに割り当てるリソースの量を変更する前に、改善マシンによって、レスポンスタイムに関する条件が満たされることを確認している。これにより、割り当てるリソースの量が過剰に削減されることが抑止されている。 Further, in the second embodiment, it is confirmed that the condition regarding the response time is satisfied by the improvement machine before changing the amount of resources allocated to the virtual machine in operation. This prevents the amount of resources allocated from being excessively reduced.
さらに第2の実施の形態では、リソースの種別ごとに、そのリソースの使用率に応じて、リソースの量を変更する際の優先度が定められている。そして優先度が高い種別のリソースから優先的にリソースの量の変更が決定され、改善マシンを用いてレスポンスタイムの条件が検証される。これにより、性能悪化の原因となる可能性の高い種別のリソースから順に、そのリソースを変更した場合のレスポンスタイムを検証でき、検証処理を効率的に行うことができる。 Further, in the second embodiment, the priority for changing the amount of resources is determined for each type of resource according to the usage rate of the resource. Then, the resource amount change is preferentially determined from the resource of the higher priority type, and the response time condition is verified using the improvement machine. As a result, the response time when the resource is changed can be verified in order from the type of resource that is likely to cause performance deterioration, and the verification process can be performed efficiently.
〔その他の実施の形態〕
第2の実施の形態では、リクエストとレスポンスとを中継するロードバランサが、リクエスト量とレスポンスタイムとを計測しているが、他の方法でリクエスト量とレスポンスタイムとを計測することもできる。例えば仮想マシン監視装置100が、業務ネットワーク41を介して通信されるパケットをキャプチャし、キャプチャしたパケットを解析して、特定の仮想マシンに関するリクエスト量とレスポンスタイムとを計測することもできる。
[Other embodiments]
In the second embodiment, the load balancer that relays the request and the response measures the request amount and the response time, but the request amount and the response time can also be measured by another method. For example, the virtual
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。 Although the embodiment has been illustrated above, the configuration of each part shown in the embodiment can be replaced with another having the same function. Further, any other components or processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.
1a,1b 端末装置
2 ネットワーク
3 サーバ
3a−1,3a−2,・・・ CPU
3b−1,3b−2,・・・ メモリ
3c 仮想マシン
10 情報処理装置
11 記憶部
12 処理部
1a,
3b-1, 3b-2, ... Memory 3c
Claims (6)
直近の第1の単位期間での前記リクエストの量が、前記第1の単位期間の直前の第2の単位期間での前記リクエストの量よりも減少しており、減少の度合いが第1の閾値を超えている場合、前記第1の仮想マシンの実行に使用可能なハードウェアリソースの量を減少させることを決定し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を減少させると決定した場合、前記ハードウェアリソースの削減後の量の決定、前記サーバへの、前記削減後の量と同量の前記ハードウェアリソースを使用可能な第2の仮想マシンの実行指示、および前記サーバからの前記第2の仮想マシンの性能情報の取得を、前記削減後の量を減少させながら、取得した前記性能情報が所定の条件を満たしている間繰り返し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を、前記第2の仮想マシンの性能が所定の条件を最後に満たしたときの前記削減後の量へ減少させることを、前記サーバに指示する処理部、
を有する情報処理装置。 Monitor the amount of requests sent per unit period to the first virtual machine running on the server ,
The amount of the request in the most recent first unit period is smaller than the amount of the request in the second unit period immediately before the first unit period, and the degree of decrease is the first threshold value. If it exceeds, the decision is made to reduce the amount of hardware resources available to run the first virtual machine.
When it is decided to reduce the amount of the hardware resource available for executing the first virtual machine, the amount after the reduction of the hardware resource is determined, which is the same as the amount after the reduction to the server. The acquisition of the execution instruction of the second virtual machine in which the amount of the hardware resource can be used and the performance information of the second virtual machine from the server are acquired while reducing the amount after the reduction. Repeatedly while the performance information meets the specified conditions,
Reducing the amount of the hardware resources available to execute the first virtual machine to the reduced amount when the performance of the second virtual machine finally meets a predetermined condition . Processing unit instructing the server,
Information processing device with.
前記第1の単位期間での前記リクエストの量が、前記第2の単位期間での前記リクエストの量よりも増加しており、増加の度合いが第2の閾値を超えている場合、前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を増加させることを決定し、
前記サーバへの指示では、前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を増加させることを、前記サーバに指示する、
請求項1記載の情報処理装置。 The processing unit
If the amount of the request in the previous SL first unit period, the has increased than the amount of the request in the second unit period, the degree of increase exceeds a second threshold value, the second Decided to increase the amount of said hardware resources available to run one virtual machine,
The instructions to the server instruct the server to increase the amount of hardware resources available to execute the first virtual machine.
The information processing device according to claim 1.
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を増加させると決定した場合、前記ハードウェアリソースの種別ごとに、前記第1の仮想マシンの実行に使用可能とする量の変更の優先度、前記第1の仮想マシンの実行に使用可能とする量の最小値、および前記第1の仮想マシンの実行に使用可能とする量の最大値が示されたリソース管理情報に基づいて、優先度が最も高い種別の前記ハードウェアリソースを、最大値を超えない範囲で増加させることを決定し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を減少させると決定した場合、前記リソース管理情報に基づいて、優先度が最も高い種別の前記ハードウェアリソースを、最小値を下回らない範囲で減少させることを決定する、
請求項1または2記載の情報処理装置。 The processing unit
If it decides to increase the amount of the hardware resources available to run the first virtual machine, for each type of said hardware resource, the amount that allows uses to execute the first VM Based on resource management information that indicates the priority of changes, the minimum amount available to run the first virtual machine, and the maximum amount available to run the first virtual machine. Therefore, it was decided to increase the hardware resource of the highest priority type within a range not exceeding the maximum value.
If it is determined to reduce the amount of the hardware resource available to execute the first virtual machine, the highest priority type of the hardware resource is set to the minimum value based on the resource management information. Decide to reduce within the range not below,
The information processing device according to claim 1 or 2.
前記サーバから前記ハードウェアリソースの種別ごとの前記第1の仮想マシンの使用率を取得し、使用率が高い種別の前記ハードウェアリソースほど高い優先度を、前記リソース管理情報に設定する、
請求項3記載の情報処理装置。 The processing unit
The usage rate of the first virtual machine for each type of the hardware resource is acquired from the server, and the higher priority of the hardware resource of the type with the higher usage rate is set in the resource management information.
The information processing device according to claim 3.
サーバが実行している第1の仮想マシンに送信された単位期間当たりのリクエストの量を監視し、
直近の第1の単位期間での前記リクエストの量が、前記第1の単位期間の直前の第2の単位期間での前記リクエストの量よりも減少しており、減少の度合いが第1の閾値を超えている場合、前記第1の仮想マシンの実行に使用可能なハードウェアリソースの量を減少させることを決定し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を減少させると決定した場合、前記ハードウェアリソースの削減後の量の決定、前記サーバへの、前記削減後の量と同量の前記ハードウェアリソースを使用可能な第2の仮想マシンの実行指示、および前記サーバからの前記第2の仮想マシンの性能情報の取得を、前記削減後の量を減少させながら、取得した前記性能情報が所定の条件を満たしている間繰り返し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を、前記第2の仮想マシンの性能が所定の条件を最後に満たしたときの前記削減後の量へ減少させることを、前記サーバに指示する、
処理を実行させる仮想マシン監視プログラム。 On the computer
Monitor the amount of requests sent per unit period to the first virtual machine running on the server,
The amount of the request in the most recent first unit period is smaller than the amount of the request in the second unit period immediately before the first unit period, and the degree of decrease is the first threshold value. If it exceeds, the decision is made to reduce the amount of hardware resources available to run the first virtual machine.
When it is decided to reduce the amount of the hardware resource available for executing the first virtual machine, the amount after the reduction of the hardware resource is determined, which is the same as the amount after the reduction to the server. The acquisition of the execution instruction of the second virtual machine in which the amount of the hardware resource can be used and the performance information of the second virtual machine from the server are acquired while reducing the amount after the reduction. Repeatedly while the performance information meets the specified conditions,
Reducing the amount of the hardware resources available to execute the first virtual machine to the reduced amount when the performance of the second virtual machine finally meets a predetermined condition . Instruct the server,
A virtual machine monitoring program that executes processing.
端末装置から送信されたリクエストを前記第1の仮想マシンに転送し、前記第1の仮想マシンに転送した単位期間当たりのリクエストの量を計数する中継装置と、
前記第1の仮想マシンに転送した単位期間当たりのリクエストの量を前記中継装置から取得し、直近の第1の単位期間での前記リクエストの量が、前記第1の単位期間の直前の第2の単位期間での前記リクエストの量よりも減少しており、減少の度合いが第1の閾値を超えている場合、前記第1の仮想マシンの実行に使用可能なハードウェアリソースの量を減少させることを決定し、前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を減少させると決定した場合、前記ハードウェアリソースの削減後の量の決定、前記サーバへの、前記削減後の量と同量の前記ハードウェアリソースを使用可能な第2の仮想マシンの実行指示、および前記サーバからの前記第2の仮想マシンの性能情報の取得を、前記削減後の量を減少させながら、取得した前記性能情報が所定の条件を満たしている間繰り返し、前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を、前記第2の仮想マシンの性能が所定の条件を最後に満たしたときの前記削減後の量へ減少させることを、前記サーバに指示する情報処理装置と、
を有する情報処理システム。
The server running the first virtual machine and
A relay device forwards the request transmitted from the terminal apparatus to the first virtual machine, counting the amount of requests per unit time that is transferred to the first virtual machine,
The amount of requests per unit period transferred to the first virtual machine is acquired from the relay device, and the amount of the requests in the most recent first unit period is the second immediately before the first unit period. If the amount of the request is less than the amount of the request in the unit period of, and the degree of the decrease exceeds the first threshold value, the amount of hardware resources available for executing the first virtual machine is reduced. If it is determined that the amount of the hardware resource available for execution of the first virtual machine is to be reduced, then the amount of the hardware resource after reduction is determined, the reduction to the server. The execution instruction of the second virtual machine that can use the same amount of the hardware resource as the later amount, and the acquisition of the performance information of the second virtual machine from the server are reduced by reducing the reduced amount. However, while the acquired performance information satisfies a predetermined condition, the amount of the hardware resource that can be used for executing the first virtual machine is repeatedly determined, and the performance of the second virtual machine is a predetermined condition. The information processing device instructing the server to reduce the amount to the amount after the reduction when is finally satisfied, and
Information processing system with.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017168719A JP6940761B2 (en) | 2017-09-01 | 2017-09-01 | Information processing equipment, virtual machine monitoring programs, and information processing systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017168719A JP6940761B2 (en) | 2017-09-01 | 2017-09-01 | Information processing equipment, virtual machine monitoring programs, and information processing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019046163A JP2019046163A (en) | 2019-03-22 |
JP6940761B2 true JP6940761B2 (en) | 2021-09-29 |
Family
ID=65815740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017168719A Active JP6940761B2 (en) | 2017-09-01 | 2017-09-01 | Information processing equipment, virtual machine monitoring programs, and information processing systems |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6940761B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7229888B2 (en) * | 2019-09-13 | 2023-02-28 | 株式会社日立製作所 | System and method for supporting optimization of resource utilization efficiency |
CN111522843B (en) * | 2020-06-01 | 2023-06-27 | 北京创鑫旅程网络技术有限公司 | Control method, system, equipment and storage medium of data platform |
CN117519956A (en) * | 2022-07-26 | 2024-02-06 | 北京穿杨科技有限公司 | Resource quota determination method, device, computing equipment and medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012198843A (en) * | 2011-03-23 | 2012-10-18 | Fuji Xerox Co Ltd | Virtual server regulating system, virtual server control device and program |
JP6099323B2 (en) * | 2012-06-13 | 2017-03-22 | 株式会社富士通マーケティング | Server control apparatus and server control program |
JP2014164425A (en) * | 2013-02-22 | 2014-09-08 | Sony Corp | Information processing apparatus, resource control method, and program |
JP6619938B2 (en) * | 2015-02-13 | 2019-12-11 | 株式会社日立システムズ | Resource control system and resource control method |
-
2017
- 2017-09-01 JP JP2017168719A patent/JP6940761B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019046163A (en) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10225333B2 (en) | Management method and apparatus | |
US9594585B2 (en) | Virtual machine control method, apparatus, and medium | |
JP6447329B2 (en) | Parallel computing controller, parallel computing system, and migration time estimation program | |
JP5834939B2 (en) | Program, virtual machine control method, information processing apparatus, and information processing system | |
JP5218390B2 (en) | Autonomous control server, virtual server control method and program | |
WO2014073046A1 (en) | Information processing device, program and virtual machine migration method | |
JP6940761B2 (en) | Information processing equipment, virtual machine monitoring programs, and information processing systems | |
US20140304306A1 (en) | Database Management System With Database Hibernation and Bursting | |
JP7011162B2 (en) | Performance adjustment program and performance adjustment method | |
AU2010319840A1 (en) | Allocating storage memory based on future use estimates | |
CN110196770B (en) | Cloud system memory data processing method, device, equipment and storage medium | |
JP6293683B2 (en) | Computer system and coping method for performance failure of computer system | |
US10754368B1 (en) | Method and system for load balancing backup resources | |
JP6394313B2 (en) | Storage management device, storage management method, and storage management program | |
JP6213148B2 (en) | Storage device, storage device control method, and storage device control program | |
JP6451308B2 (en) | Storage device and storage device control program | |
JP2012043098A (en) | Management device, file server system, processing method and management program | |
JP2019191886A (en) | Information processing apparatus, information processing method, and program | |
JP6679201B1 (en) | Information processing apparatus, information processing system, program, and information processing method | |
JP2016119020A (en) | Storage apparatus, control method of storage apparatus and storage apparatus control program | |
CN114896065A (en) | Cloud host computing power providing method and system, server, equipment and storage medium | |
JP5751372B2 (en) | Data processing system, computer program thereof, and data processing method | |
JP6885067B2 (en) | Information processing equipment and information processing system | |
CN111090627A (en) | Log storage method and device based on pooling, computer equipment and storage medium | |
US10459637B2 (en) | Storage device and information processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200611 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200625 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210402 |
|
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: 20210803 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210816 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6940761 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |