JP2012037935A - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP2012037935A JP2012037935A JP2010174743A JP2010174743A JP2012037935A JP 2012037935 A JP2012037935 A JP 2012037935A JP 2010174743 A JP2010174743 A JP 2010174743A JP 2010174743 A JP2010174743 A JP 2010174743A JP 2012037935 A JP2012037935 A JP 2012037935A
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- load
- virtual
- server
- virtual 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
Description
本発明は、情報処理装置に関し、特にネットワークを介して所定のサービスを提供する情報処理装置に関する。 The present invention relates to an information processing apparatus, and more particularly to an information processing apparatus that provides a predetermined service via a network.
インターネットの普及により、ネットワークを介して各種のサービスが提供されている。斯かるサービスの提供に利用されるサーバコンピュータ(以下、単に「サーバ」という。)には、高い負荷がかかる一方、高い信頼性が要求される。そこで、従来、サーバの負荷軽減や、信頼性の向上等を目的とした技術が検討されている(例えば、特許文献1、特許文献2)。 With the spread of the Internet, various services are provided through networks. A server computer (hereinafter simply referred to as “server”) used for providing such a service is required to have high reliability while being subjected to a high load. Therefore, techniques aimed at reducing the load on the server and improving the reliability have been studied (for example, Patent Document 1 and Patent Document 2).
斯かる技術の共通的な点として、予め冗長的なサーバが設置される点が挙げられる。 A common point of such technology is that redundant servers are installed in advance.
しかしながら、サーバに対する負荷は、必ずしも一定ではない。したがって、冗長的なサーバは、常に必要であるとは限らない。それにも拘わらず、冗長的なサーバを設置しておくことは、費用の増加を固定的にもたらすという問題がある。 However, the load on the server is not always constant. Therefore, redundant servers are not always necessary. Nevertheless, there is a problem that installing redundant servers brings a fixed increase in cost.
また、もし、冗長的なサーバを必要に応じて事後的に設置することを考えた場合、設置後の複数のサーバ間での負荷を分散させる設定を行わなければ、冗長的なサーバを設置しても既存サーバに対する負荷軽減を果たせない。 Also, if you consider installing redundant servers later if necessary, install redundant servers if you do not configure settings to distribute the load among multiple servers after installation. However, the load on the existing server cannot be reduced.
本発明は、上記の点に鑑みてなされたものであって、サービスに関する負荷の変化に柔軟に対応することのできる情報処理装置の提供を目的とする。 The present invention has been made in view of the above points, and an object thereof is to provide an information processing apparatus that can flexibly cope with a change in a load related to a service.
そこで上記課題を解決するため、ネットワークを介して提供される所定のサービスを仮想マシンに実行させる情報処理装置であって、前記所定のサービスに関する負荷の変化に応じて、前記所定のサービスを第一の仮想マシンに実行させるためのサービス実行環境に基づいて、第二の仮想マシンを起動させる動的起動部と、前記第二の仮想マシンのアドレス情報を、前記第二の仮想マシンに設定する仮想マシン設定部と、前記第二の仮想マシンの前記アドレス情報を、複数の前記仮想マシンに関する負荷分散部に、負荷分散の対象として設定する負荷分散対象変更部とを有する。 Accordingly, in order to solve the above problem, an information processing apparatus that causes a virtual machine to execute a predetermined service provided via a network, wherein the predetermined service is first changed according to a change in a load related to the predetermined service. Based on the service execution environment for causing the virtual machine to execute, a dynamic start unit that starts the second virtual machine, and a virtual that sets address information of the second virtual machine in the second virtual machine A machine setting unit; and a load balancing target changing unit that sets the address information of the second virtual machine as a load balancing target in a load balancing unit related to the plurality of virtual machines.
サービスに関する負荷の変化に柔軟に対応することができる。 It is possible to respond flexibly to changes in the service load.
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態のシステム構成例を示す図である。同図において、サーバ装置10は、インターネット等のネットワーク30を介して、一以上のクライアント装置20と通信可能に接続されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a system configuration example according to an embodiment of the present invention. In the figure, a
サーバ装置10は、ネットワーク30を介して、所定のサービスを提供するコンピュータである。本実施の形態において、サーバ装置10は、情報処理装置の一例である。
The
クライアント装置20は、サーバ装置10によって提供される所定のサービスのユーザインタフェースをユーザに提供するPC(Personal Computer)、PDA(Personal Digital Assistance)、又は携帯電話等である。
The
図2は、本発明の実施の形態におけるサーバ装置のハードウェア構成例を示す図である。図2のサーバ装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105とを有する。
FIG. 2 is a diagram illustrating a hardware configuration example of the server device according to the embodiment of the present invention. The
サーバ装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
A program for realizing processing in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってサーバ装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
The
図3は、本発明の実施の形態におけるサーバ装置のソフトウェア構成例を示す図である。同図に示される各ブロックは、サーバ装置10にインストールされたプログラムがCPU104に実行させる処理により実現される。
FIG. 3 is a diagram illustrating a software configuration example of the server apparatus according to the embodiment of the present invention. Each block shown in the figure is realized by a process executed by the
同図において、サーバ装置10は、VM(Virtual Machine)マネージャ11を有する。VMマネージャ11は、ハイパーバイザ又は仮想マシンモニタ等とも呼ばれるソフトウェアである。VMマネージャ11によって、一以上の仮想マシンがサーバ装置10において起動される。
In FIG. 1, the
同図では、仮想サーバ12、仮想ロードバランサ13、及び仮想ファイアウォール14の3種類の仮想マシンが起動された状態が示されている。仮想サーバ12は、サービス実行環境121がロードされる、サービス実行環境(サービス実行手段)として機能する仮想マシンである。サービス実行環境121とは、仮想サーバ12が、クライアント装置20にサービスを提供するために必要な処理を実行するプログラム群の集合をいう。必要に応じて、当該プログラムが利用するデータ群等もサービス実行環境121に含まれうる。仮想サーバ12は、起動中の仮想サーバ12に対する負荷、すなわち、当該仮想サーバ12が提供するサービスに関する負荷の変化に応じて、自動的にスケールアウト又はスケールシュリンクされる。
In the figure, a state in which three types of virtual machines of the
すなわち、一般的に、スケールアウト及びスケールシュリンクは、物理的なリソースの増減が必要とされ、人手による作業を除去するのが困難である。一方、仮想化技術によれば、工夫することにより、人手の介入を除去できる可能性が有ることに、本願発明者は着眼した。そこで、本願発明者は、仮想サーバ12をスケールアウト又はスケールシュリンクさせることにより、負荷の変化に柔軟に対応せることに着想したのである。
That is, generally, scale-out and scale shrink require physical resource increase / decrease, and it is difficult to eliminate manual work. On the other hand, according to the virtualization technology, the inventor of the present application has focused on the possibility of removing human intervention by devising. Therefore, the inventor of the present application has come up with the idea of flexibly responding to a change in load by scaling out or shrinking the
仮想ロードバランサ13は、ロードバランサ131がロードされる、ロードバランサ(負荷分散装置)として機能する仮想マシンである。仮想ロードバランサ13(ロードバランサ131)は、負荷分散手段の一例である。ロードバランサ131は、仮想サーバ12間の負荷分散を制御する。
The
仮想ファイアウォール14は、ファイアウォール141がロードされる、ファイアウォールとして機能する仮想マシンである。本実施の形態において、仮想ファイアウォール14は、ファイアウォールとして機能すると共に、仮想サーバ12等のデフォルトゲートウェイとして位置付けられる。
The
同図において、VMマネージャ11は、負荷監視部111、動的起動部112、動的停止部113、仮想サーバ設定部114、負荷分散対象変更部115、及びスクリプト実行部116等を有する。負荷監視部111は、サーバ装置10に関する負荷として、例えば仮想サーバ12によって提供されるサービスに関する負荷を監視する。負荷監視部111は、例えば、負荷の値が予め設定された第一の閾値を超えたこと、又は第二の閾値を下回ったことを検知する。第一の閾値と第二の閾値とは同じであってもよいし、異なっていてもよい。
In the figure, the
負荷を示す指標の一例として、サーバ装置10におけるパケット通信量、CPU104の負荷、各仮想サーバ12に割り当てられた仮想的なCPUの負荷、補助記憶装置102へのアクセス負荷、セッション数、及びレスポンス時間等が挙げられる。閾値は、監視対象とされる負荷に応じて、適切な値が設定されればよい。
As an example of an index indicating the load, the amount of packet communication in the
パケット通信量は、VMマネージャ11が把握することができる。例えば、VMマネージャ11は、インタフェース装置105と、各仮想マシンの仮想的なネットワークインタフェースとの中継を行っている。したがって、VMマネージャ11の一部である負荷監視部111は、当該中継に係るパケットを監視することで、パケット通信量を把握することができる。
The
CPU1104の負荷は、サーバ装置10上で動作するプログラムであれば、容易に取得可能である。VMマネージャ11の負荷監視部111は、サーバ装置10上で動作するプログラムである。したがって、負荷監視部111は、CPU104の負荷を監視することができる。
The load of the CPU 1104 can be easily acquired as long as it is a program that runs on the
各仮想サーバ12に割り当てられた仮想的なCPUの負荷は、VMマネージャ11の公知の機能によって取得可能である。すなわち、VMマネージャ11は、全ての仮想マシンの状態等を管理している。したがって、VMマネージャ11の一部である負荷監視部111は、当該仮想的なCPUの負荷を監視することができる。
The virtual CPU load assigned to each
補助記憶装置102へのアクセス負荷は、VMマネージャ11が把握することができる。例えば、各仮想マシンによる補助記憶装置102へのアクセスは、VMマネージャ11によって中継される通信(例えば、IP通信)によって実現される。したがって、VMマネージャ11の一部である負荷監視部111は、当該通信を監視することにより、補助記憶装置102へのアクセス負荷を監視することができる。
The
セッション数とは、仮想サーバ12がクライアント装置20へのサービスの提供のために開設しているセッションの数である。当該セッション数は、仮想ロードバランサ13が把握している。したがって、負荷監視部111は、仮想ロードバランサ13に対してセッション数を問い合わせることにより、セッション数を監視することができる。但し、仮想ロードバランサ13から負荷監視部111に対してセッション数が通知されてもよい。
The number of sessions is the number of sessions established by the
レスポンス時間とは、例えば、仮想ロードバランサ13が、クライアント装置20からのリクエストを仮想マシン12に振り分けてから、当該リクエストに対する応答が仮想ロードバランサ13に返信されるまでの時間である。当該レスポンス時間は、仮想ロードバランサ13が把握(計測)することができる。したがって、負荷監視部111は、仮想ロードバランサ13に対してレスポンス時間を問い合わせることにより、レスポンス時間を監視することができる。但し、仮想ロードバランサ13から負荷監視部111に対してレスポンス時間が通知されてもよい。
The response time is, for example, the time from when the
なお、いずれか一つの負荷が監視対象とされてもよいし、複数の負荷が監視対象とされてもよい。また、上記に例示した以外のパラメータであって、負荷を示すものとして適切なものが監視対象とされてもよい。 Note that any one load may be a monitoring target, or a plurality of loads may be a monitoring target. In addition, parameters other than those exemplified above, which are appropriate for indicating the load, may be monitored.
複数の負荷が監視対象とされる場合、負荷ごとの閾値が設定されればよい。この場合、どのような状態を「サービスに関する負荷の値が第一の閾値を超えた」とするか、又は「サービスに関する負荷の値が第二の閾値を下回った」とするかについては、適宜定めればよい。例えば、複数の負荷の値の全てがそれぞれの第一閾値を超えた場合に、「サービスに関する負荷の値が第一の閾値を超えた」と判定してもよい。又は、いずれか一つの負荷の値が当該負荷に対する第一の閾値を超えた場合に、「サービスに関する負荷の値が第一の閾値を超えた」と判定してもよい。第二の閾値との比較についても同様である。 When a plurality of loads are to be monitored, a threshold value for each load may be set. In this case, as to what kind of state “the load value related to the service exceeds the first threshold value” or “the load value related to the service falls below the second threshold value” You just have to decide. For example, when all of a plurality of load values exceed the respective first threshold values, it may be determined that “the load value related to the service exceeds the first threshold value”. Alternatively, when any one load value exceeds the first threshold value for the load, it may be determined that “the load value related to the service exceeds the first threshold value”. The same applies to the comparison with the second threshold value.
動的起動部112は、サービスに関する負荷が第一の閾値を超えたことが負荷監視部111によって検知された場合に、仮想サーバ12を自動的にスケールアウトさせる。すなわち、新たに仮想サーバ12が起動される。
The
動的停止部113は、サービスに関する負荷が第二の閾値を下回ったことが負荷監視部111によって検知された場合に、仮想サーバ12を自動的にスケールシュリンクさせる。すなわち、既に起動されている仮想サーバ12のいずれかが停止される。
The
仮想サーバ設定部114は、スケールアウトにより新たに起動された仮想サーバ12を、ネットワーク30を介して通信可能とするための各種のパラメータを当該仮想サーバ12に設定する。
The virtual
負荷分散対象変更部115は、仮想サーバ12のスケールアウト又はスケールシュリンクに応じて、仮想ロードバランサ13による負荷分散の対象を変更する。すなわち、スケールアウトが発生した場合、新たに起動された仮想サーバ12が、負荷分散の対象として追加される。スケールシュリンクが発生した場合、停止された仮想サーバ12が、負荷分散の対象から除外される。
The load distribution
スクリプト実行部116は、仮想サーバ12のスケールアウト時に、予め決められたファイル名によって生成されているスクリプトファイルに記述されたスクリプトプログラムを実行する。例えば、スクリプトファイルによって、特定のサービス実行環境121に特化した処理をVMマネージャ11に実行させることができる。すなわち、VMマネージャ11は、特定のサービス実行環境121を意識せずに汎用的に実装されていることが望ましい。換言すれば、VMマネージャ11に、特定のサービス実行環境121に特化した実装が行われるのは望ましくない。そこで、斯かる実装をVMマネージャ11の外部ファイルであるスクリプトファイル内に定義し、VMマネージャ11には、当該スクリプトファイル内の定義(スクリプトプログラム)を実行させる。そうすることにより、VMマネージャ11に対する、特定のサービス実行環境121に特化した実装を回避することができる。
The
続いて、仮想サーバ12、仮想ロードバランサ13、及び仮想ファイアウォール14の論理的な関係について説明する。
Next, the logical relationship between the
図4は、仮想サーバ、仮想ロードバランサ、及び仮想ファイアウォールの論理的な関係を説明するための図である。 FIG. 4 is a diagram for explaining a logical relationship among the virtual server, the virtual load balancer, and the virtual firewall.
それぞれ仮想マシンとして、VMマネージャ11上において並列的な関係にある仮想サーバ12、仮想ロードバランサ13、及び仮想ファイアウォール14は、それぞれの機能に基づいて図4に示されるような関係を有する。
As virtual machines, the
仮想ファイアウォール14は、仮想サーバ12とクライアント装置20との通信経路上に、いわゆるファイアウォール141を形成する。ロードバランサ131は、クライアント装置20からリクエスト(サービスに関する要求)を、各仮想サーバ12に振り分けることにより、仮想サーバ12間の負荷分散を実現する。
The
リクエストを振り分けられた仮想サーバ12は、サービスの一環又は一部として、リクエストに応じた処理を実行し、当該処理結果に基づく応答を返信する。当該応答は、仮想ロードバランサ13及び仮想ファイアウォール14を経て、リクエストの送信元のクライアント装置20に返信される。
The
続いて、参考として、サービス実行環境121の構成例を示す。図5は、サービス実行環境の構成例を示す図である。
Next, a configuration example of the
同図において、サービス実行環境121は、OS1211、Webサーバプログラム1212、及びWebアプリケーション1213等を含む。OS1211は、いわゆるOS1211(Operating System)である。Webサーバプログラム1212は、httpdとも呼ばれるプログラムである。Webサーバプログラム1212は、クライアント装置10より送信されるHTTPリクエストを受信すると、当該HTTPリクエストに対応するWebアプリケーション1213を起動する。Webアプリケーション1213は、HTTPリクエストに応じた処理を実行し、当該処理結果としてのHTML(HyperText Markup Language)データをWebサーバプログラム1212に出力する。Webサーバプログラム1212は、Webアプリケーション1213より出力されたHTMLデータを、HTTPリクエストの送信元のクライアント装置20宛に返信する。
In the figure, a
以下、サーバ装置10の処理手順について説明する。図6は、サーバ装置が実行する処理手順を説明するためのフローチャートである。同図の処理の実行前に、サーバ装置10上には、サービスを提供するための初期状態が構築されていることとする。すなわち、サーバ装置10上では、仮想サーバ12、仮想ロードバランサ13、及び仮想ファイアウォール14が起動されていることとする。なお、初期状態における仮想サーバ12の数は、予め設定された数に従えばよい。すなわち、初期状態における仮想サーバ12の数は、一つでもよいし、二以上でもよい。なお、初期状態において当初より起動される仮想サーバ12を、特に、「親仮想サーバ12」という。また、スケールアウトにより起動される仮想サーバ12を、特に、「子仮想サーバ12」という。
Hereinafter, a processing procedure of the
ステップS101において、負荷監視部111は、サーバ装置10が提供するサービスに関する負荷を監視する。負荷の値が第一の閾値を超えた場合(S102でYes)、動的起動部112は、親仮想サーバ12のサービス実行環境121のディスクイメージのスナップショットを補助記憶装置102に生成する(S103)。サービス実行環境121のディスクイメージとは、補助記憶装置102に保存されている状態のサービス実行環境121をいう。すなわち、ここで生成されるスナップショットは、サービス実行環境121に含まれるファイル群がメモリ装置104にロードされた状態のスナップショットではない。したがって、ステップS103では、補助記憶装置102に保存されている、親仮想サーバ12のサービス実行環境121のコピーが補助記憶装置102内に生成される。
In step S <b> 101, the load monitoring unit 111 monitors a load related to a service provided by the
続いて、動的起動部112は、生成されたスナップショットに基づいて、新たな仮想マシン(子仮想サーバ12)を起動する(S104)。すなわち、スナップショットとしてのサービス実行環境121が展開された新たな仮想マシン(子仮想サーバ12)が起動される。
Subsequently, the
図7は、サービス実行環境のスナップショットの生成及び子仮想サーバの起動を説明するための図である。図7中、図6に対応するステップには同一ステップ番号を付している。 FIG. 7 is a diagram for explaining generation of a snapshot of a service execution environment and activation of a child virtual server. In FIG. 7, the steps corresponding to FIG. 6 are given the same step numbers.
同図に示されるように、ステップS103では、補助記憶装置102内のサービス実行環境121(のディスクイメージ)のスナップショットが、補助記憶装置102内に生成される。ステップS104では、当該スナップショットをロード対象として、新たな仮想マシンが起動される。したがって、当該仮想マシンは、仮想サーバ12(子仮想サーバ12)として機能する。
As shown in the figure, in step S103, a snapshot of the service execution environment 121 (disk image thereof) in the
なお、一度に起動される子仮想サーバ12は、一つでなくてもよい。例えば、二つずつ起動するという規則が補助記憶装置102に記録されている場合、二つの仮想サーバ12が起動されてもよい。その場合、ステップS103では、二つのスナップショットが生成される。ここでは、説明の便宜上、一つの子仮想サーバ12が起動されたこととする。
Note that the number of child
続いて、スクリプト実行部116は、スクリプトファイルに記述されているスクリプトプログラムに基づいて、新たに起動された子仮想サーバ12に対する設定等を行う(S105)。例えば、サービス実行環境121に、Webアプリケーション1213の設定ファイル(コンフィギュレーションファイル)等が含まれている場合、スクリプト実行部116は、当該設定ファイルの所定のパラメータを、当該スクリプトプログラムに従って更新する。そうすることにより、当該子仮想サーバ12の振る舞いを、親仮想サーバ12と多少異なるもとのすることができる。
Subsequently, the
続いて、仮想サーバ設定部114は、新たに起動された子仮想サーバ12に対して、アドレス情報を設定する(S106)。アドレス情報は、例えば、IPアドレス、MACアドレス等である。設定される値は、例えば、DHCP(Dynamic HOS1211t Configuration Protocol)に基づいて決定さればよい。例えば、補助記憶装置102には、予め設定可能なIPアドレス及びMACアドレスの範囲又は候補が記録されている。仮想サーバ設定部114は、当該範囲又は候補の中から未使用の一つのIPアドレス、一つのMACアドレスを選択し、選択されたIPアドレス、MACアドレスを、新たに起動された子仮想サーバ12に設定する。IPアドレス及びMACアドレスを子仮想サーバ12に設定するのは、例えば、子仮想サーバ12が、パケット又はフレームの送出する際に、送信元のIPアドレス又はMACアドレスを指定可能するためである。
Subsequently, the virtual
仮想サーバ設定部114は、また、ルーティング情報、子仮想サーバ12のハードウェアリソースのスペック情報等を子仮想サーバ12に設定する。ルーティング情報とは、いわゆるデフォルトゲートウェイのIPアドレスである。本実施の形態において、仮想ファイアウォール14がデフォルトゲートウェイに相当する。したがって、仮想ファイアウォール14サーバのIPアドレスがルーティング情報として子仮想サーバ12に設定される。子仮想サーバ12に起動時に、ルーティング情報が設定されることにより、仮想ファイアウォール14のIPアドレスもDHCPによって付与される場合であっても、子仮想サーバ12は、適切に通信を行うことができる。
The virtual
子仮想サーバ12のハードウェアリソースのペック情報とは、例えば、子仮想サーバ12上の仮想的なCPUのスペック(性能)、仮想的なディスクの容量等を示す情報である。当該スペック情報が、子仮想サーバ12に設定されることにより、子仮想サーバ12の性能等を親仮想サーバ12と異なるものとすることができる。なお、子仮想サーバ12に設定されるスペック情報は、予め定められていればよい。
The hardware resource peck information of the child
続いて、負荷分散対象変更部115は、新たに起動された子仮想サーバ12のアドレス情報(IPアドレス)を、仮想ロードバランサ13に設定する(S107)。これにより、子仮想サーバ12を、負荷分散の対象(制御対象又は管理対象)として仮想ロードバランサ13に認識させることができる。
Subsequently, the load distribution
以上で、仮想サーバ12が実質的にスケールアウトされたことになる。したがって、今まで親仮想サーバ12にかかっていた負荷が、子仮想サーバ12に分散される。その結果、サーバ装置10全体として、クライアント装置20に対する応答性を向上させることができる。
Thus, the
なお、ステップS105〜S107に関しては、親仮想サーバ12の起動時においても、親仮想サーバ12を対象として実行される。
Note that steps S105 to S107 are executed for the parent
一方、負荷の値が第一の閾値以下である場合(S102でNo)、負荷監視部111は、負荷の値が第二の閾値未満であるか否かを判定する(S111)、負荷の値が第二の閾値未満である場合(S111でYes)、動的停止部113は、子仮想サーバ12は起動されているか否かを判定する(S112)。当該判定は、VMマネージャ11によって仮想マシンごとに管理されている管理情報を参照することにより行われてもよい。又は、子仮想サーバ12の起動数を記憶するカウンタをメモリ装置103に設け、当該カウンタを参照することにより当該判定が行われてもよい。更に、子仮想サーバ12に対応するサービス実行環境121のスナップショットが補助記憶装置102内に存在するか否かに基づいて、当該判定が行われてもよい。
On the other hand, when the load value is equal to or less than the first threshold value (No in S102), the load monitoring unit 111 determines whether the load value is less than the second threshold value (S111). Is less than the second threshold (Yes in S111), the
子仮想サーバ12が起動している場合(S112でYes)、負荷分散対象変更部115は、停止対象とする子仮想サーバ12を所定の規則に従って選択し、選択された子仮想サーバ12のアドレス情報(IPアドレス)の設定の解除を仮想ロードバランサ13に実行させる(S113)。これにより、当該子仮想サーバ12は、負荷分散の対象から除去される。所定の規則とは、例えば、起動時期の昇順又は降順等である。また、一度に停止される子仮想サーバ12は、2以上であってもよい。
When the child
続いて、動的停止部113は、停止対象として選択された子仮想サーバ12を停止させる(S114)。停止された子仮想サーバ12に対して設定された(割り当てられた)アドレス情報(IPアドレス、MACアドレス等)は、回収される。すなわち、当該アドレス情報は、未使用の状態とされる。したがって、当該アドレス情報は、以降に子仮想サーバ12が起動される場合に、当該子仮想サーバ12に対して設定可能となる。
Subsequently, the
続いて、動的停止部113は、当該子仮想サーバ12に対応するサービス実行環境121のディスクイメージ(スナップショット)を補助記憶装置102より削除する(S115)。
Subsequently, the
以上で、仮想サーバ12が実質的にスケールシュリンクされたことになる。したがって、リソースの消費量が削減された状態でサービスが提供することができる。
Thus, the
なお、ステップS113及びS114は、親仮想サーバ12の停止時にも実行される。
Note that steps S113 and S114 are also executed when the parent
また、上記では、便宜上、親仮想サーバ12と子仮想サーバ12とを区別したが、停止対象として、親仮想サーバ12が選択されてもよい。但し、この場合、最後に停止対象とされる、子仮想サーバ12のサービス実行環境121のディスクイメージは削除されないようにしなければならない。当該ディスクイメージが削除されてしまうと、仮想サーバ12を起動することができなくなってしまうからである。
In the above description, the parent
また、新たな子仮想サーバ12の起動に際し、サービス実行環境121のスナップショットの生成は、必ずしも実行されなくてもよい。この場合、各子仮想サーバ12は、親仮想サーバ12と同じサービス実行環境121のディスクイメージに基づいて起動されればよい。これは、一つの実行ファイルに関して、複数のプロセスを起動可能であることと類似する。但し、例えば、仮想サーバ12のが、状態の変化(処理の進行)等に応じて、当該サービス実行環境121のディスクイメージを更新する場合は注意が必要である。この場合、複数の仮想サーバ12によって、同一のデータに対して更新が行われ、各仮想サーバ12が認識している状態と、当該ディスクイメージの内容との間に不整合が発生する可能性がある。したがって、このような場合は、斯かる不整合が発生しないようにする工夫が必要である。本実施の形態のように、スナップショットを生成することも一つの解決策である。換言すれば、本実施の形態では、斯かる不整合の発生を防止することを考慮して、スナップショットが生成されている。
Further, when the new child
また、スクリプト実行部116によるスクリプトの実行において、実行すべきスクリプトファイルが存在しない場合には、S105の処理ステップを実行しなくても良い。
Further, in the execution of the script by the
更に、負荷の値と閾値との比較は、瞬間的なものでなくてもよい。例えば、ステップS102又はS111の判定は、負荷の値が第一の閾値を超える状態、又は第二の閾値未満である状態が一定期間継続するか否かによって行われてもよい。又は、一定期間に対おいて、負荷の値が第一の閾値を超える時間の割合、若しくは負荷の値が第二の閾値未満である時間の割合が所定値を超えるか否か等によって、当該判定が行われてもよい。 Furthermore, the comparison between the load value and the threshold value may not be instantaneous. For example, the determination in step S102 or S111 may be performed based on whether or not a state where the load value exceeds the first threshold value or a state where the load value is less than the second threshold value continues for a certain period. Or, for a certain period, the ratio of the time when the load value exceeds the first threshold, or the ratio of the time when the load value is less than the second threshold exceeds a predetermined value, etc. A determination may be made.
上述したように、本実施の形態によれば、仮想サーバ12のスケールアウト又はスケールシュリンクを自動的に実行することにより、サーバ装置10が提供するサービスに関する負荷の変化に対して柔軟に対応することができる。
As described above, according to the present embodiment, by automatically executing the scale-out or the scale shrink of the
すなわち、負荷が高くなると、仮想サーバ12がスケールアウトされ、負荷分散の効果が大きくなる。したがって、高負荷による、応答性の劣化を低減させることができる。また、負荷が低くなると、仮想サーバ12がスケールシュリンクされ、リソースの消費量を削減することができる。
That is, when the load increases, the
このような動作は、例えば、サーバ装置10におけるハードウェアリソースの使用に関して、従量制によって課金する場合に、ユーザ(当該ハードウェアリソースのレンタルを受ける者)にとって好都合である。すなわち、固定的にサーバ装置10がスケールアウトされた場合、スケールアウト分において消費されるリソース量に対する課金は固定的に発生する。一方、本実施の形態によれば、負荷の変化に応じて必要性が高いときにスケールアウトが行われる。したがって、リソースの消費量が変動的なものとなる。その結果、リソースの消費量が固定的な場合に比べて、課金量が減少する可能性を高めることができる。
Such an operation is convenient for the user (the person who receives the rental of the hardware resource) when, for example, the usage of the hardware resource in the
なお、本実施の形態では、ロードバランサ131及びファイアウォール141についても仮想化されている例を示したが、これらは、サーバ装置10とは別のハードウェアであってもよい。
In the present embodiment, the
図8は、本発明の実施の形態の第二のシステム構成例を示す図である。同図において、ロードバランサ131a及びファイアウォール141aは、それぞれ、サーバ装置10とは別のハードウェアである。ロードバランサ131aは、サーバ装置10において動作する仮想サーバ12間の負荷分散を制御する。この場合、ロードバランサ131aに対する子仮想サーバ12のアドレス情報の設定又は解除は、ネットワーク通信を介して行われればよい。
FIG. 8 is a diagram illustrating a second system configuration example according to the embodiment of this invention. In the figure, a
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
10 サーバ装置
11 VMマネージャ
12 仮想サーバ
13 仮想ロードバランサ
14 仮想ファイアウォール
20 クライアント装置
30 ネットワーク
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
111 負荷監視部
112 動的起動部
113 動的停止部
114 仮想サーバ設定部
115 負荷分散対象変更部
116 スクリプト実行部
121 サービス実行環境
131 ロードバランサ
141 ファイアウォール
1211 OS
1212 Webサーバプログラム
1213 Webアプリケーション
B バス
10
105 interface device 111
1212
Claims (4)
前記所定のサービスに関する負荷の変化に応じて、前記所定のサービスを第一の仮想マシンに実行させるためのサービス実行環境に基づいて、第二の仮想マシンを起動させる動的起動部と、
前記第二の仮想マシンのアドレス情報を、前記第二の仮想マシンに設定する仮想マシン設定部と、
前記第二の仮想マシンの前記アドレス情報を、複数の前記仮想マシンに関する負荷分散手段に、負荷分散の対象として設定する負荷分散対象変更部と
を有する情報処理装置。 An information processing apparatus that causes a virtual machine to execute a predetermined service provided via a network,
A dynamic activation unit that activates the second virtual machine based on a service execution environment for causing the first virtual machine to execute the predetermined service according to a change in a load related to the predetermined service;
A virtual machine setting unit that sets address information of the second virtual machine in the second virtual machine;
An information processing apparatus comprising: a load distribution target changing unit configured to set the address information of the second virtual machine as a load distribution target in a load distribution unit related to the plurality of virtual machines.
前記負荷分散対象変更部は、停止対象とされた前記仮想マシンの前記アドレス情報の設定の解除を前記負荷分散手段に実行させる請求項1記載の情報処理装置。 A dynamic stop unit that stops the first virtual machine or the second virtual machine in response to a change in a load related to the predetermined service;
The information processing apparatus according to claim 1, wherein the load distribution target changing unit causes the load distribution unit to cancel the setting of the address information of the virtual machine that is a stop target.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010174743A JP2012037935A (en) | 2010-08-03 | 2010-08-03 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010174743A JP2012037935A (en) | 2010-08-03 | 2010-08-03 | Information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012037935A true JP2012037935A (en) | 2012-02-23 |
Family
ID=45849911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010174743A Pending JP2012037935A (en) | 2010-08-03 | 2010-08-03 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012037935A (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014130591A (en) * | 2012-12-28 | 2014-07-10 | Hon Hai Precision Industry Co Ltd | Computing system for virtual machine and method therefor |
JP2014130597A (en) * | 2012-12-27 | 2014-07-10 | Hon Hai Precision Industry Co Ltd | Virtual machine management system and management method therefor |
EP2775400A1 (en) | 2013-03-06 | 2014-09-10 | Fujitsu Limited | Ressource management system and method |
JP2015060491A (en) * | 2013-09-20 | 2015-03-30 | 株式会社エクサ | Batch process control program, batch process system |
WO2015133125A1 (en) * | 2014-03-04 | 2015-09-11 | 日本電気株式会社 | Server, control device, management device, communication system, communication method, control method, management method, and program |
JPWO2014118961A1 (en) * | 2013-01-31 | 2017-01-26 | 富士通株式会社 | Virtual computer management program, virtual computer management method, and virtual computer system |
JP2017505483A (en) * | 2014-02-07 | 2017-02-16 | オラクル・インターナショナル・コーポレイション | Cloud service custom execution environment |
JP2018536345A (en) * | 2015-10-28 | 2018-12-06 | ニュー エイチ3シー テクノロジーズ カンパニー,リミティド | Firewall cluster |
WO2019130435A1 (en) * | 2017-12-26 | 2019-07-04 | 株式会社ウフル | Signage evaluation system, signage effectiveness evaluation method, and program |
JP2020009246A (en) * | 2018-07-10 | 2020-01-16 | 富士ゼロックス株式会社 | Information processing device and information processing program |
JP2020536319A (en) * | 2017-09-30 | 2020-12-10 | オラクル・インターナショナル・コーポレイション | Dynamic migration of groups of containers |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009034760A1 (en) * | 2007-09-12 | 2009-03-19 | Mitsubishi Electric Corporation | Information processor |
JP2009277186A (en) * | 2008-05-19 | 2009-11-26 | Hitachi Ltd | Device and method for distributing program |
-
2010
- 2010-08-03 JP JP2010174743A patent/JP2012037935A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009034760A1 (en) * | 2007-09-12 | 2009-03-19 | Mitsubishi Electric Corporation | Information processor |
JP2009277186A (en) * | 2008-05-19 | 2009-11-26 | Hitachi Ltd | Device and method for distributing program |
Non-Patent Citations (2)
Title |
---|
CSNG201000474020; 森川 泰揮,外6名: 'クラウドを考慮したWebサーバ負荷に応じた動的リソース割当て機構の提案' 電子情報通信学会技術研究報告 Vol.109,No.437, 20100222, p.113-118, 社団法人 電子情報通信学会 * |
JPN6014006511; 森川 泰揮,外6名: 'クラウドを考慮したWebサーバ負荷に応じた動的リソース割当て機構の提案' 電子情報通信学会技術研究報告 Vol.109,No.437, 20100222, p.113-118, 社団法人 電子情報通信学会 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014130597A (en) * | 2012-12-27 | 2014-07-10 | Hon Hai Precision Industry Co Ltd | Virtual machine management system and management method therefor |
JP2014130591A (en) * | 2012-12-28 | 2014-07-10 | Hon Hai Precision Industry Co Ltd | Computing system for virtual machine and method therefor |
JPWO2014118961A1 (en) * | 2013-01-31 | 2017-01-26 | 富士通株式会社 | Virtual computer management program, virtual computer management method, and virtual computer system |
EP2775400A1 (en) | 2013-03-06 | 2014-09-10 | Fujitsu Limited | Ressource management system and method |
CN104035821A (en) * | 2013-03-06 | 2014-09-10 | 富士通株式会社 | Management system and method |
JP2014174593A (en) * | 2013-03-06 | 2014-09-22 | Fujitsu Ltd | Management system, management method, management program, and management device |
US9742687B2 (en) | 2013-03-06 | 2017-08-22 | Fujitsu Limited | Management system and method for execution of virtual machines |
JP2015060491A (en) * | 2013-09-20 | 2015-03-30 | 株式会社エクサ | Batch process control program, batch process system |
JP2017505483A (en) * | 2014-02-07 | 2017-02-16 | オラクル・インターナショナル・コーポレイション | Cloud service custom execution environment |
WO2015133125A1 (en) * | 2014-03-04 | 2015-09-11 | 日本電気株式会社 | Server, control device, management device, communication system, communication method, control method, management method, and program |
JP2018536345A (en) * | 2015-10-28 | 2018-12-06 | ニュー エイチ3シー テクノロジーズ カンパニー,リミティド | Firewall cluster |
US10715490B2 (en) | 2015-10-28 | 2020-07-14 | New H3C Technologies Co., Ltd | Firewall cluster |
JP2020536319A (en) * | 2017-09-30 | 2020-12-10 | オラクル・インターナショナル・コーポレイション | Dynamic migration of groups of containers |
US11755393B2 (en) | 2017-09-30 | 2023-09-12 | Oracle International Corporation | API registry in a container platform for automatically generating client code libraries |
JP7493450B2 (en) | 2017-09-30 | 2024-05-31 | オラクル・インターナショナル・コーポレイション | Dynamic migration of groups of containers |
WO2019130435A1 (en) * | 2017-12-26 | 2019-07-04 | 株式会社ウフル | Signage evaluation system, signage effectiveness evaluation method, and program |
JP2020009246A (en) * | 2018-07-10 | 2020-01-16 | 富士ゼロックス株式会社 | Information processing device and information processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012037935A (en) | Information processing device | |
US11983082B2 (en) | Server clustering in a computing-on-demand system | |
US9154549B2 (en) | Dynamic server farms | |
US8863138B2 (en) | Application service performance in cloud computing | |
CN108255497B (en) | Application deployment method and device | |
US20120158806A1 (en) | Provisioning network-attached storage | |
US8463882B2 (en) | Server cloning in a computing-on-demand system | |
US20140351395A1 (en) | Load balancing for single-address tenants | |
JP4677813B2 (en) | Server performance measurement method, server performance measurement system, and computer program used therefor | |
US9934059B2 (en) | Flow migration between virtual network appliances in a cloud computing network | |
US9703540B2 (en) | Dynamic configuration of virtual appliances | |
US20160156567A1 (en) | Allocation method of a computer resource and computer system | |
US20170111457A1 (en) | Browser Server Session Transfer | |
CN109313577B (en) | Data plane API in a distributed computing network | |
JP2013171582A (en) | Method for increasing number of configuration of virtual machine for server | |
CN109167702A (en) | A kind of distributed test method and device based on load balancing | |
KR20160136489A (en) | Method for Resource Management base of Virtualization for cloud service | |
WO2017049997A1 (en) | Virtual machine monitoring method, apparatus and system based on cloud computing service | |
JP2018180591A (en) | Information processing apparatus, information processing system, information processing method, and information processing program | |
Kecskemeti et al. | Automatic service deployment using virtualisation | |
US11385973B1 (en) | High-availability for power-managed virtual desktop access | |
CN118034588A (en) | Data migration method, device, computer equipment and readable storage medium | |
WO2018143235A1 (en) | Management system, management device, and management method and program | |
CN105335234A (en) | Method for immediately migrating virtual machine | |
Chinnaiah et al. | A cloud resource allocation strategy based on fitness based live migration and clustering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130604 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140812 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141014 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20141209 |