JP7044971B2 - Cluster system, autoscale server monitoring device, autoscale server monitoring program and autoscale server monitoring method - Google Patents
Cluster system, autoscale server monitoring device, autoscale server monitoring program and autoscale server monitoring method Download PDFInfo
- Publication number
- JP7044971B2 JP7044971B2 JP2018077371A JP2018077371A JP7044971B2 JP 7044971 B2 JP7044971 B2 JP 7044971B2 JP 2018077371 A JP2018077371 A JP 2018077371A JP 2018077371 A JP2018077371 A JP 2018077371A JP 7044971 B2 JP7044971 B2 JP 7044971B2
- Authority
- JP
- Japan
- Prior art keywords
- autoscale
- server
- virtual machine
- monitoring
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Description
本発明はクラスタシステム、オートスケールサーバ監視装置、オートスケールサーバ監視プログラムおよびオートスケールサーバ監視方法に関する。 The present invention relates to a cluster system, an autoscale server monitoring device, an autoscale server monitoring program, and an autoscale server monitoring method.
情報処理の分野では、物理的なコンピュータ(物理マシンや物理ホストと呼ぶことがある)上で、複数の仮想的なコンピュータ(仮想マシンや仮想ホストと呼ぶことがある)を動作させる仮想化技術が利用されている。各仮想マシン上では、OS(Operating System)などのソフトウェアを実行できる。仮想化技術を利用する物理マシンは、複数の仮想マシンを管理するためのソフトウェアを実行する。例えば、ハイパーバイザと呼ばれるソフトウェアが、CPU(Central Processing Unit)の処理能力やRAM(Random Access Memory)の記憶領域を、演算のリソースとして複数の仮想マシンに割り振ることがある。 In the field of information processing, virtualization technology that operates multiple virtual computers (sometimes called virtual machines or virtual hosts) on a physical computer (sometimes called a physical machine or physical host) is available. It's being used. Software such as an OS (Operating System) can be executed on each virtual machine. Physical machines that utilize virtualization technology run software to manage multiple virtual machines. For example, software called a hypervisor may allocate the processing power of a CPU (Central Processing Unit) and the storage area of a RAM (Random Access Memory) to a plurality of virtual machines as operation resources.
ところで、情報処理システムでは、演算を行うマシン(仮想マシンや物理マシン)を増やしたり、減らしたりすることがある。例えば、マシンを増やすことをスケールアウトと言う。一方、マシンを減らすことをスケールインと言う。ここで、スケールアウトやスケールインを行うシステムの運用を支援する技術が考えられている。 By the way, in an information processing system, the number of machines (virtual machines and physical machines) that perform operations may be increased or decreased. For example, increasing the number of machines is called scale-out. On the other hand, reducing the number of machines is called scale-in. Here, technologies that support the operation of systems that perform scale-out and scale-in are being considered.
例えば、自動スケールアウトおよび自動スケールインによるスケール用の待機サーバの正常動作を障害として誤通知することを防止する障害監視装置の提案がある。障害監視装置は、監視対象の各サーバが、常時稼動するのか、あるいは、スケールアウト時のみ稼動するのかを示すサーバ用途情報と各サーバが待機中であるか稼働中かを示す稼動状態情報を記憶する。障害監視装置は、監視システムが検知したイベントについて、イベント発生元のサーバのサーバ用途情報と稼動状態情報とを確認することで、イベントが障害により発生したか、自動スケールアウトおよび自動スケールインにより発生したかを判定する。 For example, there is a proposal of a failure monitoring device that prevents erroneous notification of the normal operation of the standby server for scaling by automatic scale-out and automatic scale-in as a failure. The fault monitoring device stores server usage information indicating whether each server to be monitored is always operating or operating only at scale-out, and operating status information indicating whether each server is waiting or operating. do. For the event detected by the monitoring system, the fault monitoring device checks the server usage information and operating status information of the server from which the event occurred, and whether the event occurred due to a failure or occurred by automatic scale-out and automatic scale-in. Determine if it has been done.
また、クラウド環境上で、オートスケール機能により自動的に台数が増減する仮想サーバによって構築される情報処理システムにおいて、ログの消失を回避してこれを監視可能にする基盤運用管理システムの提案もある。基盤運用管理システムでは、オートスケール機能の対象である仮想サーバが、当該仮想サーバに係るログのうち、リアルタイム監視が必要な所定のものをオートスケール機能の対象外の仮想サーバに転送する。 There is also a proposal for a basic operation management system that can avoid the loss of logs and monitor them in an information processing system built by virtual servers that automatically increase or decrease the number of units by the autoscale function in a cloud environment. .. In the infrastructure operation management system, the virtual server that is the target of the autoscale function transfers a predetermined log related to the virtual server that requires real-time monitoring to a virtual server that is not the target of the autoscale function.
上記のように、オートスケール機能を有するオートスケールサーバを用いて、システムに属する仮想マシンの台数を自動的に増減させることが考えられる。しかし、オートスケールサーバは、障害などが原因で停止することがある。この場合、オートスケールサーバが停止している間に仮想マシンの起動状態の変化(例えば、起動していた仮想マシンが障害などで停止するなど)が生じ得る。すると、オートスケールサーバが復旧したときに、オートスケールサーバが保持する仮想マシンの稼動状態を示す情報が、実際の仮想マシンの稼動状態に対して不整合となる可能性がある。このような不整合は、オートスケールサーバが、復旧後にオートスケール機能を適切に実行できない要因になり得る。 As described above, it is conceivable to automatically increase or decrease the number of virtual machines belonging to the system by using an autoscale server having an autoscale function. However, the autoscale server may stop due to a failure or the like. In this case, a change in the startup state of the virtual machine (for example, the started virtual machine may stop due to a failure or the like) may occur while the autoscale server is stopped. Then, when the autoscale server is restored, the information indicating the operating status of the virtual machine held by the autoscale server may be inconsistent with the operating status of the actual virtual machine. Such inconsistencies can cause the autoscale server to not properly perform the autoscale function after recovery.
1つの側面では、本発明は、オートスケールサーバが停止し、復旧したときに仮想マシンの最新の情報を基に復旧することができるクラスタシステム、オートスケールサーバ監視装置、オートスケールサーバ監視プログラムおよびオートスケールサーバ監視方法を提供することを目的とする。 In one aspect, the present invention is a cluster system, an autoscale server monitoring device, an autoscale server monitoring program and an auto that can recover based on the latest information of a virtual machine when the autoscale server is stopped and recovered. The purpose is to provide a scale server monitoring method.
1つの態様では、クラスタシステムが提供される。クラスタシステムは、物理サーバとオートスケールサーバとオートスケールサーバ監視装置とを有する。物理サーバは、複数の仮想マシンを実行可能である。オートスケールサーバは、物理サーバにおける仮想マシンのスケールインおよびスケールアウトを行う。オートスケールサーバ監視装置は、オートスケールサーバと定期的に通信し、オートスケールサーバが管理する仮想マシンの情報を記憶し、オートスケールサーバが停止したことを検知した後に、停止中の状態から起動したオートスケールサーバの要求に応じて、仮想マシンの情報を送信する。 In one aspect, a cluster system is provided. The cluster system has a physical server, an autoscale server, and an autoscale server monitoring device. A physical server can run multiple virtual machines. The autoscale server scales in and out of virtual machines on the physical server. The autoscale server monitoring device periodically communicates with the autoscale server, stores information on virtual machines managed by the autoscale server, detects that the autoscale server has stopped, and then starts from the stopped state. Sends virtual machine information at the request of the autoscale server.
また、1つの態様では、オートスケールサーバ監視装置が提供される。オートスケールサーバ監視装置は、記憶部と処理部とを有する。記憶部は、オートスケールサーバが管理する仮想マシンの情報を記憶する。処理部は、オートスケールサーバと定期的に通信し、オートスケールサーバが停止したことを検知した後に、停止中の状態から起動したオートスケールサーバの要求に応じて、仮想マシンの情報を送信する。 Also, in one aspect, an autoscale server monitoring device is provided. The autoscale server monitoring device has a storage unit and a processing unit. The storage unit stores information on virtual machines managed by the autoscale server. The processing unit periodically communicates with the autoscale server, detects that the autoscale server has stopped, and then transmits information about the virtual machine in response to a request from the autoscale server started from the stopped state .
また、1つの態様では、オートスケールサーバ監視プログラムが提供される。
また、1つの態様では、オートスケールサーバ監視方法が提供される。
Also, in one aspect, an autoscale server monitoring program is provided.
Also, in one aspect, an autoscale server monitoring method is provided.
1つの側面では、オートスケールサーバが停止し、復旧したときに仮想マシンの最新の情報を基に復旧することができる。 On one side, when the autoscale server goes down and recovers, it can be recovered based on the latest information on the virtual machine.
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
The first embodiment will be described.
図1は、第1の実施の形態のクラスタシステムを示す図である。
クラスタシステム1は、オートスケールサーバ監視装置10、オートスケールサーバ20および物理サーバ30,40を有する。オートスケールサーバ監視装置10、オートスケールサーバ20および物理サーバ30,40は、ネットワーク50に接続されている。
FIG. 1 is a diagram showing a cluster system according to the first embodiment.
The
物理サーバ30,40は、複数の仮想マシンを実行可能である。例えば、物理サーバ30は、仮想マシン31,32を実行可能である。物理サーバ40は、仮想マシン41,42を実行可能である。仮想マシンは、スケールアウトやスケールインが可能である。
The
オートスケールサーバ20は、各仮想マシンの負荷を収集し、各仮想マシンの負荷に基づいて、仮想マシンのスケールアウトやスケールインを制御する。例えば、オートスケールサーバ20は、仮想マシン32が停止しているときに、仮想マシン31の負荷が第1の閾値を超えた状態が継続すると、物理サーバ30上で仮想マシン32を起動させ、仮想マシン31だけでなく仮想マシン32にも負荷を分散させる。また、オートスケールサーバ20は、仮想マシン31,32が稼動しているときに、仮想マシン31,32の負荷(平均の負荷または一方の負荷)が第2の閾値(第2の閾値<第1の閾値)を下回ると、仮想マシン32を停止させ、リソース使用量を減少させる。オートスケールサーバ20は、物理サーバ40における仮想マシン41,42のスケールアウトやスケールインも同様に制御する。負荷の判定を行う仮想マシンのグループは、運用に応じて決定される(例えば、仮想マシン31,41,42の負荷に応じて、仮想マシン32を起動させてもよい)。
The
オートスケールサーバ監視装置10は、オートスケールサーバ20を監視する。また、オートスケールサーバ監視装置10は、オートスケール対象である仮想マシン31,32,41,42を監視する。具体的には、オートスケールサーバ監視装置10は、稼働中の仮想マシンと定期的に通信することで、該当の仮想マシンの死活監視を行う。オートスケールサーバ監視装置10は、何れかの仮想マシンの異常を検知すると、異常を検知したことをユーザに通知する。
The autoscale
ただし、オートスケール対象の仮想マシンは、オートスケールサーバ20によるオートスケール制御によって起動されたり、停止されたりする。このため、オートスケールサーバ監視装置10は、オートスケール対象の仮想マシンの何れかで定期通信の途絶を検知したとき、当該仮想マシンがスケールインによって停止されたか否かを、オートスケールサーバ20に問い合わせる。定期通信の途絶がスケールインに起因するのであれば、当該途絶は異常ではない。一方、定期通信の途絶がスケールインに起因するのでなければ、当該途絶は異常とみなされる。ただし、オートスケールサーバ20が異常などにより停止することもある。オートスケールサーバ監視装置10は、オートスケールサーバ20の稼動状態を監視し、オートスケールサーバ20の復旧を支援する機能を提供する。
However, the virtual machine to be autoscaled is started or stopped by the autoscale control by the
オートスケールサーバ監視装置10は、記憶部11および処理部12を有する。また、オートスケールサーバ20は、記憶部21および処理部22を有する。
記憶部11,21は、RAMなどの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12,22は、CPU、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12,22はプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
The autoscale
The
記憶部11は、オートスケールサーバ20が管理する仮想マシン31,32,41,42の情報を記憶する。例えば、記憶部11は、テーブル61を記憶する。テーブル61は、オートスケールサーバ監視装置10による仮想マシン31,32,41,42それぞれの死活監視の状況(定期通信の成否)を示す。ここで、仮想マシン31の識別情報は「VM(Virtual Machine)1」である。仮想マシン32の識別情報は「VM2」である。仮想マシン41の識別情報は「VM3」である。仮想マシン42の識別情報は「VM4」である。また、テーブル61では、(例えば、最新の定期通信のタイミングにおいて)該当の仮想マシンと定期通信を行えたことを「ON」、定期通信を行えなかったことを「OFF」で表す。
The
ここで、記憶部21も、仮想マシン31,32,41,42の状態を示す情報を記憶する。例えば、記憶部21は、テーブル71を記憶する。テーブル71は、記憶部21のうち、不揮発性の記憶領域に格納される。テーブル71は、オートスケール制御に用いられる情報であり、仮想マシン31,32,41,42それぞれの状態を示す状態情報である。例えば、「normal」は正常稼働中を示す。「scale-in」は、スケールインにより停止されていることを示す。「error」は、異常により停止されていることを示す。処理部22は、仮想マシン31,32,41,42の稼動状態の収集やオートスケールの結果に応じて、テーブル71の各仮想マシンの状態を更新する。
Here, the
処理部12は、オートスケール対象の仮想マシンを示す情報をオートスケールサーバ20から取得してテーブル61を生成し、オートスケールサーバ監視装置10による死活監視の対象の仮想マシンを決定してもよい。
The
処理部12は、オートスケールサーバ20と定期的に通信し、オートスケールサーバ20が停止したことを検知すると、オートスケールサーバ20の要求に応じて、仮想マシンの情報をオートスケールサーバ20に送信する。
The
まず、オートスケールサーバ20が稼働中の場合を考える(ステップST1)。このとき、処理部12は、仮想マシン31,41,42との定期通信を行えたが、仮想マシン32との定期通信を行えなかった(通信不可になった)とする。処理部12は、仮想マシン31,41,42(「VM1,VM3,VM4」)について「ON」、仮想マシン32(「VM2」)について、「OFF」をテーブル61に記録する。処理部12は、仮想マシン32のオートスケールの状況を、オートスケールサーバ20に問い合わせる。
First, consider the case where the
このとき、オートスケールサーバ20では、テーブル71に示されるように、仮想マシン31,41,42については「normal」であり、仮想マシン32については「scale-in」と管理されている。すなわち、仮想マシン32は、スケールインによって停止された状態である。このため、処理部22は、仮想マシン32がスケールインによって停止された状態である旨をオートスケールサーバ監視装置10に応答する。
At this time, in the
処理部12は、オートスケールサーバ20による応答を受信し、当該応答により、仮想マシン32がスケールインによって停止された状態であることを検知する。このため、処理部12は、仮想マシン32との通信不可(定期通信の途絶)を異常とみなさない。処理部12は、仮想マシン31,41,42に対する死活監視を継続する。
The
次に、オートスケールサーバ20が異常などによって停止中の場合を考える(ステップST2)。処理部12は、オートスケールサーバ20との定期通信を正常に行えなかった場合に、オートスケールサーバ20が停止中であることを検知する。処理部12は、オートスケールサーバ20が停止中である間も、稼働中の仮想マシン31,41,42と定期的に通信し、仮想マシン31,41,42の死活監視を継続する。そして、処理部12は、仮想マシン42(「VM4」)との通信不可(定期通信の途絶)を検出する。すると、処理部12は、テーブル61をテーブル62に更新する。具体的には、処理部12は、「VM4」を「ON」から「OFF」に変更する。
Next, consider the case where the
次に、オートスケールサーバ20が停止中の状態から復旧した場合を考える(ステップST3)。処理部12は、オートスケールサーバ20からの要求を受け付けると、オートスケールサーバ20が起動したことを検知する。オートスケールサーバ20からの要求は、仮想マシンの情報の要求でもよいし、オートスケールサーバ監視装置10に対する定期通信に関する所定の要求(あるいは応答)でもよい。すると、処理部12は、テーブル62に基づいて、オートスケールサーバ20が停止していた間に、仮想マシン42との定期通信の途絶を検知したことをオートスケールサーバ20に送信する。仮想マシン42との定期通信の途絶は、オートスケールサーバ20の停止中に発生している。このため、当該途絶は、仮想マシン42のスケールインに起因するものではない。したがって、処理部22は、オートスケールサーバ監視装置10から仮想マシン42の定期通信の途絶の通知を受信すると、テーブル71をテーブル72に更新する。具体的には、処理部22は、「VM4」を「normal」から「error」に変更する。
Next, consider the case where the
処理部12は、仮想マシン42が「error」として管理されていることをオートスケールサーバ20から取得して、仮想マシン42の異常をユーザに通知してもよい。
なお、ステップST3では、処理部12は、テーブル62における各仮想マシンの情報を、オートスケールサーバ20に送信してもよい。処理部22は、テーブル62の仮想マシンの情報と、テーブル72の仮想マシンの情報とを照合することで、何れの仮想マシンで異常が生じているかを判定できる。例えば、処理部22は、テーブル62で「OFF」かつテーブル71で「normal」である仮想マシンを異常(「error」)と判定し、それ以外の仮想マシンを異常なし(「normal」や「scale-in」など)と判定してもよい。
The
In step ST3, the
オートスケールサーバ監視装置10によれば、オートスケールサーバ20と定期的に通信され、オートスケールサーバ20が管理する仮想マシンの情報が記憶される。オートスケールサーバ20が停止したことが検知されると、オートスケールサーバ20の要求に応じて、仮想マシンの情報が送信される。
According to the autoscale
これにより、オートスケールサーバ20が停止し、復旧したときに仮想マシンの最新の情報を基に復旧することができる。
ここで、オートスケールサーバ監視装置10の機能を用いない場合を考える。この場合、オートスケールサーバ20の停止中に、仮に、仮想マシン41が異常などによって停止しても、オートスケールサーバ20が起動した後に、オートスケールサーバ20は当該仮想マシンの停止を把握できていない。オートスケールサーバ20は、テーブル71によって各仮想マシンのオートスケール制御を行うことになる。すなわち、オートスケールサーバ20が管理する仮想マシンの情報と、現実の仮想マシンの稼働状況とに不整合が生じた状態になる。この場合、オートスケールサーバ20は、仮想マシン41,42に対する適切なオートスケール制御を行えない。また、オートスケールサーバ20が仮想マシン42の停止を検知するまでに、比較的長い時間(例えば、10分から数十分など)を要することもある。この間に、仮想マシン41の負荷が高まると、オートスケール制御を適切に行えずに、仮想マシン41で実行されるアプリケーションなどの処理に影響を及ぼす可能性もある。
As a result, when the
Here, consider a case where the function of the autoscale
そこで、オートスケールサーバ監視装置10により、オートスケールサーバ20の停止中の仮想マシンの情報を取得し、オートスケールサーバ20の復旧時に、当該仮想マシンの情報をオートスケールサーバ20に提供する。これにより、オートスケールサーバ20において管理されている仮想マシンの情報と、現実の仮想マシンの稼働状況との不整合を解消した状態で、オートスケールサーバ20を復旧させることができる。このため、オートスケールサーバ20は、復旧した直後から、オートスケール制御を正常に再開することができる。その結果、各仮想マシンの負荷をオートスケール制御により適切に分散でき、各仮想マシンで実行されるアプリケーションなどの処理への影響を抑えられる。
Therefore, the autoscale
なお、クラスタシステム1の例では、オートスケールサーバ監視装置10による監視の対象を、オートスケールサーバ20およびオートスケールサーバ20によるオートスケール対象の仮想マシン(仮想マシン31,32,41,42)とした。一方、オートスケールサーバ監視装置10による監視対象の仮想マシンはこれに限られない。オートスケールサーバ監視装置10は、オートスケール対象の仮想マシンおよびオートスケール対象ではない仮想マシンの死活監視を行ってもよい。オートスケールサーバ監視装置10は、オートスケール対象ではない仮想マシンについて定期通信の途絶を検出すると、オートスケールサーバ20への問い合わせを省略して、当該仮想マシンで異常が発生したことをユーザに通知することができる。
In the example of the
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態のクラスタシステムの例を示す図である。
[Second Embodiment]
Next, a second embodiment will be described.
FIG. 2 is a diagram showing an example of a cluster system according to a second embodiment.
第2の実施の形態のクラスタシステムは、ユーザに対して仮想マシンの利用環境を提供する情報処理システムである。第2の実施の形態のクラスタシステムは、監視サーバ100、オートスケールサーバ200および物理サーバ300,400を有する。
The cluster system of the second embodiment is an information processing system that provides a user with a virtual machine usage environment. The cluster system of the second embodiment has a
監視サーバ100、オートスケールサーバ200および物理サーバ300,400は、ネットワーク60に接続される。ネットワーク60は、例えば、データセンタなどに敷設されたLAN(Local Area Network)である。ネットワーク60は、ネットワーク70に接続される。ネットワーク70は、例えば、インターネットやWAN(Wide Area Network)である。ネットワーク70には、ユーザ端末500,600が接続される。
The
監視サーバ100は、オートスケールサーバ200の監視を行うサーバコンピュータである。また、監視サーバ100は、物理サーバ300,400で動作する仮想マシンの監視を行う。監視サーバ100は、第1の実施の形態のオートスケールサーバ監視装置10の一例である。
The
オートスケールサーバ200は、物理サーバ300,400で動作する仮想マシンのオートスケール(自動スケール)制御を行うサーバコンピュータである。オートスケールサーバ200は、第1の実施の形態のオートスケールサーバ20の一例である。
The
物理サーバ300,400は、複数の仮想マシンを実行可能なサーバコンピュータである。例えば、物理サーバ300は、ハイパーバイザと呼ばれるソフトウェアを実行し、物理サーバ300におけるCPUやRAMなどのハードウェアリソースを物理サーバ300上の仮想マシンに割り振る。同様に、物理サーバ400は、ハイパーバイザを実行し、物理サーバ400におけるCPUやRAMなどのハードウェアリソースを物理サーバ400上の仮想マシンに割り振る。物理サーバ300,400は、第1の実施の形態の物理サーバ30,40の一例である。
The
ユーザ端末500,600は、ユーザが利用するクライアントコンピュータである。ユーザ端末500,600は、物理サーバ300,400上の仮想マシンで実行されるアプリケーションに対する処理要求を送信する。また、ユーザ端末500,600は、仮想マシンによる処理結果を受信する。
The
第2の実施の形態のクラスタシステムでは、ユーザにより円滑に仮想マシンを利用できるように、オートスケールサーバ200による仮想マシンのオートスケール制御が行われる。ただし、オートスケールサーバ200が、異常などによって停止することもある。そこで、監視サーバ100により、オートスケールサーバ200が停止した場合でも、オートスケール制御への影響を低減する機能を提供する。以下の説明では、仮想マシンを、VMと略記することがある。また、オートスケールを、AS(Auto Scaling)と略記することがある。
In the cluster system of the second embodiment, the autoscale control of the virtual machine is performed by the
図3は、監視サーバのハードウェア例を示すブロック図である。
監視サーバ100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
FIG. 3 is a block diagram showing a hardware example of the monitoring server.
The
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、監視サーバ100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
The
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、監視サーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
The
HDD103は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、監視サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
The
画像信号処理部104は、CPU101からの命令に従って、監視サーバ100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
The image
入力信号処理部105は、監視サーバ100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、監視サーバ100に、複数の種類の入力デバイスが接続されていてもよい。
The input
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
The
媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
The
NIC107は、ネットワーク60に接続され、ネットワーク60を介して他のコンピュータと通信を行うインタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。
The
図4は、スケールアウトおよびスケールインの例を示す図である。
図4(A)は、スケールアウトを例示する。物理サーバ300が仮想マシン310,320を実行し、物理サーバ400が仮想マシン410,420を実行している場合を考える。例えば、仮想マシン310,320,410,420は、オートスケールの対象となる仮想マシンの1つのグループに属し、ユーザが利用するアプリケーション(あるいはアプリケーション群)の処理を分散して実行する。
FIG. 4 is a diagram showing examples of scale-out and scale-in.
FIG. 4 (A) illustrates scale-out. Consider a case where the
オートスケールサーバ200は、仮想マシン310,320,410,420の負荷を定期的に収集する。例えば、オートスケールサーバ200は、仮想マシン310,320,410,420の平均の負荷が所定期間継続して第1閾値を上回った場合、仮想マシン310,320,410,420の負荷が高まっていると判断し、仮想マシンのスケールアウトを行う。例えば、オートスケールサーバ200は、物理サーバ300により仮想マシン330を起動させ、仮想マシン310,320,410,420の負荷の一部を、仮想マシン330に分散させる。
The
図4(B)は、スケールインを例示する。物理サーバ300が仮想マシン310,320を実行し、物理サーバ400が仮想マシン410,420を実行している場合を考える。オートスケールサーバ200は、仮想マシン310,320,410,420の負荷を定期的に収集する。例えば、オートスケールサーバ200は、仮想マシン310,320,410,420の平均の負荷が所定期間継続して第2閾値を下回った場合、仮想マシン310,320,410,420の負荷が低くなっていると判断し、仮想マシンのスケールインを行う。ここで、第2閾値は、第1閾値よりも小さい。例えば、オートスケールサーバ200は、物理サーバ400における仮想マシン420を停止させ、仮想マシン420に割り当てていたリソースを解放する。
FIG. 4B illustrates scale-in. Consider a case where the
図5は、クラスタシステムの機能例を示すブロック図である。
監視サーバ100は、記憶部120および監視部130を有する。記憶部120は、RAM102やHDD103の記憶領域により実現される。監視部130は、CPU101がRAM102に記憶されたプログラムを実行することで実現される。
FIG. 5 is a block diagram showing a functional example of the cluster system.
The
記憶部120は、オートスケールサーバ管理テーブルおよびVM管理テーブルを記憶する。オートスケールサーバ管理テーブルは、オートスケールサーバ200の稼動状態を示す情報である。VM管理テーブルは、各仮想マシンに対する定期通信の成否を示す情報である。
The
監視部130は、物理サーバ300,400上の各仮想マシンおよびオートスケールサーバ200の監視を行う。監視部130は、VM監視部131およびASサーバ連携部132を有する。
The
VM監視部131は、物理サーバ300,400上の各仮想マシンと定期的に通信し、各仮想マシンとの疎通確認を行う。例えば、VM監視部131は、各仮想マシンから疎通確認用のパケットを受信することで、疎通確認を行う。疎通確認用のパケットは、例えば、ICMP(Internet Control Message Protocol)のエコー要求でもよいし、VM監視部131により送信されたエコー要求に対する仮想マシンからのエコー応答でもよい。あるいは、VM監視部131は、SNMP(Simple Network Management Protocol)などのその他のプロトコルを用いて疎通確認を行ってもよい。VM監視部131による監視対象の仮想マシンは、何れもオートスケールの制御対象の仮想マシンである。VM監視部131は、監視対象とする仮想マシンを、オートスケールサーバ200に問い合わせてもよい。
The
ASサーバ連携部132は、オートスケールサーバ(ASサーバ)200と連携する。ASサーバ連携部132は、オートスケールサーバ200と定期的に通信し、オートスケールサーバ200の死活監視を行う。例えば、ASサーバ連携部132は、オートスケールサーバ200に対して、定期的に仮想マシンの状態を問い合わせることで、オートスケールサーバ200の死活監視を行ってもよい。問い合わせに対してオートスケールサーバ200から応答があれば、オートスケールサーバ200は稼動している。一方、問い合わせに対してオートスケールサーバ200から応答がなければ、オートスケールサーバ200は停止している。
The AS
オートスケールサーバ200が稼動している場合、ASサーバ連携部132は、監視対象の仮想マシンのうち、疎通確認を行えなかった仮想マシンがスケールインにより停止されたか否かを、オートスケールサーバ200に問い合わせる。該当の仮想マシンがスケールインにより停止された場合、ASサーバ連携部132は、疎通確認を行えなかったことを異常としない。該当の仮想マシンがスケールインにより停止されていない場合、ASサーバ連携部132は、疎通確認を行えなかった仮想マシンを異常と判断し、システム管理者に通知する。例えば、ASサーバ連携部132は、該当の仮想マシンの異常発生を示す画面をディスプレイ111に表示させてもよい。または、ASサーバ連携部132は、該当の仮想マシンの異常発生を示すメッセージを、ネットワーク50に接続された、システム管理者が使用する端末装置(図示を省略している)に送信してもよい。
When the
オートスケールサーバ200が停止している場合、ASサーバ連携部132は、疎通確認を行えなかった仮想マシンがスケールインにより停止されたか否かを、オートスケールサーバ200に問い合わせることはできない。このため、ASサーバ連携部132は、問い合わせを保留する。その後、オートスケールサーバ200が起動すると、疎通確認の再開により、ASサーバ連携部132は、オートスケールサーバ200の起動を検知する。そして、ASサーバ連携部132は、オートスケールサーバ200の停止中に、疎通確認が途絶えた仮想マシンが存在する場合、当該仮想マシンの情報を、オートスケールサーバ200に送信する。
When the
オートスケールサーバ200は、記憶部210およびAS制御部220を有する。記憶部210は、オートスケールサーバ200のRAMやHDDの記憶領域を用いて実現される。AS制御部220は、オートスケールサーバ200のCPUがオートスケールサーバ200のRAMに記憶されたプログラムを実行することで実現される。
The
記憶部210は、オートスケール制御に用いられる情報を記憶する。具体的には、記憶部210は、オートスケールグループテーブル、VMテーブルおよびオートスケールポリシーテーブルを記憶する。
The
オートスケールグループテーブルは、オートスケールグループを示す情報である。オートスケールグループは、オートスケール制御の対象となる仮想マシンのグループである。1つのオートスケールグループに属する仮想マシンの負荷に応じて、当該オートスケールグループに属する仮想マシンのオートスケール制御が行われる。VMテーブルは、オートスケール制御の対象の仮想マシンを示す情報である。VMテーブルは、仮想マシンの状態を含む。仮想マシンの状態には、(1)仮想マシンが正常に稼動している、(2)仮想マシンに異常あり、(3)スケールインにより縮退している(スケールインのために停止している)、(4)スケールアウトのために起動中、などが考えられる。オートスケールポリシーテーブルは、オートスケール制御のポリシー(スケールインやスケールアウトを行うための条件)を示す情報である。 The autoscale group table is information indicating an autoscale group. An autoscale group is a group of virtual machines that are subject to autoscale control. According to the load of the virtual machines belonging to one autoscale group, the autoscale control of the virtual machines belonging to the autoscale group is performed. The VM table is information indicating a virtual machine subject to autoscale control. The VM table contains the state of the virtual machine. The state of the virtual machine is (1) the virtual machine is operating normally, (2) the virtual machine is abnormal, and (3) it is degraded due to scale-in (stopped due to scale-in). , (4) Starting up for scale-out, etc. are conceivable. The autoscale policy table is information indicating the autoscale control policy (conditions for scaling in and scale out).
ここで、オートスケールグループテーブル、VMテーブルおよびオートスケールポリシーテーブルは、記憶部210のうち、不揮発性の記憶領域(例えば、HDDの記憶領域)に格納される。また、オートスケールグループテーブル、VMテーブルおよびオートスケールポリシーテーブルは、オートスケール制御に用いられる場合、複製されて、記憶部210のうち、揮発性の記憶領域(例えば、RAMの記憶領域)に一時的に格納されることもある。この場合、揮発性の記憶領域に保持されているときの各テーブルの更新内容は、AS制御部220により不揮発性の記憶領域に格納された複製元の各テーブルにも反映される。
Here, the autoscale group table, the VM table, and the autoscale policy table are stored in the non-volatile storage area (for example, the storage area of the HDD) in the
AS制御部220は、物理サーバ300,400上の仮想マシン(例えば、仮想マシン310,320,410,420を含む複数の仮想マシン)のオートスケール制御(AS制御)を行う。AS制御部220は、仮想マシンの負荷の情報を定期的に収集する。例えば、AS制御部220は、SNMPなどのプロトコルを用いて仮想マシンの負荷を収集してもよい。AS制御部220は、収集した負荷と、当該仮想マシンが属するオートスケールグループのオートスケールポリシーとに基づいて、スケールインやスケールアウトを物理サーバ300,400に指示する。
The
ここで、障害などによりオートスケールサーバ200が停止することがある。オートスケールサーバ200の停止中は、AS制御部220によるオートスケール制御も停止する。AS制御部220は、オートスケールサーバ200の停止後、オートスケールサーバ200が起動した際に、オートスケールサーバ200が停止していた間の疎通確認に応じた仮想マシンの情報を監視サーバ100から取得する。AS制御部220は、取得した仮想マシンの情報に基づいて、記憶部210に記憶されたVMテーブルにおける仮想マシンの状態を更新する。AS制御部220は、更新後のVMテーブルに基づいて、仮想マシンの負荷の収集を再開し、オートスケール制御を再開する。
Here, the
図6は、オートスケールサーバ管理テーブルの例を示す図である。
オートスケールサーバ管理テーブル121は、記憶部120に格納される。オートスケールサーバ管理テーブル121は、オートスケールサーバID(IDentifier)および稼働中フラグの項目を含む。
FIG. 6 is a diagram showing an example of an autoscale server management table.
The autoscale server management table 121 is stored in the
オートスケールサーバIDの項目には、オートスケールサーバ200の識別情報(オートスケールサーバID)が登録される。オートスケールサーバ200のオートスケールサーバIDは、例えば、「装置A」である。稼働中フラグの項目には、オートスケールサーバ200が稼働しているか否かを示す稼働中フラグが登録される。稼働中フラグ「True」は稼働していることを示す。稼働中フラグ「False」は稼動していない(すなわち、停止している)ことを示す。例えば、オートスケールサーバ管理テーブル121には、オートスケールサーバIDが「装置A」、稼働中フラグが「True」というレコードが登録される。
The identification information (autoscale server ID) of the
図7は、VM管理テーブルの例を示す図である。
VM管理テーブル122は、記憶部120に格納される。VM管理テーブル122は、VM名、通信用IP(Internet Protocol)アドレス、オートスケールVM動作中フラグおよびオートスケール情報更新フラグの項目を含む。
FIG. 7 is a diagram showing an example of a VM management table.
The VM management table 122 is stored in the
VM名の項目には、仮想マシンの名称(仮想マシンのID)が登録される。通信用IPアドレスの項目には、仮想マシンのIPアドレスが登録される。オートスケールVM動作中フラグの項目には、死活監視の成否(すなわち、該当の仮想マシンが動作しているか否か)を示すオートスケールVM動作中フラグが登録される。オートスケールVM動作中フラグ「True」は、該当の仮想マシンとの定期通信が正常に行われた(すなわち、該当の仮想マシンが動作している)ことを示す。オートスケールVM動作中フラグ「False」は、該当の仮想マシンとの定期通信が正常に行われなかった(すなわち、該当の仮想マシンが停止している)ことを示す。オートスケール情報更新フラグの項目には、オートスケールサーバ200の停止中に、該当の仮想マシンに関してオートスケールVM動作中フラグの更新が発生したか否かを示すオートスケール情報更新フラグが登録される。オートスケール情報更新フラグ「True」は、当該更新が発生したことを示す。オートスケール情報更新フラグ「False」は、当該更新が発生しなかったことを示す。オートスケール情報更新フラグの初期値は「False」である。
The name of the virtual machine (ID of the virtual machine) is registered in the item of VM name. The IP address of the virtual machine is registered in the item of IP address for communication. In the item of the autoscale VM operating flag, the autoscale VM operating flag indicating the success or failure of the alive monitoring (that is, whether or not the corresponding virtual machine is operating) is registered. The autoscale VM operating flag "True" indicates that periodic communication with the corresponding virtual machine has been normally performed (that is, the corresponding virtual machine is operating). The autoscale VM operating flag "False" indicates that the periodic communication with the corresponding virtual machine has not been performed normally (that is, the corresponding virtual machine is stopped). In the item of the autoscale information update flag, an autoscale information update flag indicating whether or not an update of the autoscale VM operating flag has occurred for the corresponding virtual machine is registered while the
例えば、VM管理テーブル122には、VM名が「Grp1_VM1」、通信用IPアドレスが「100.10.99.1」、オートスケールVM動作中フラグが「True」、オートスケール情報更新フラグが「False」というレコードが登録される。このレコードは、VM名「Grp1_VM1」の仮想マシンの通信用IPアドレスが「100.10.99.1」であることを示す。また、当該仮想マシンが稼動しており、オートスケールサーバ200の停止中におけるオートスケールVM動作中フラグの更新が発生していないことを示す。
For example, in the VM management table 122, the VM name is "Grp1_VM1", the communication IP address is "100.10.99.1", the autoscale VM operating flag is "True", and the autoscale information update flag is "False". The record is registered. This record indicates that the communication IP address of the virtual machine with the VM name "Grp1_VM1" is "100.10.99.1". Further, it is shown that the virtual machine is operating and the autoscale VM operating flag is not updated while the
また、例えば、VM管理テーブル122には、VM名が「SampleVM」、通信用IPアドレスが「200.200.200.2」、オートスケールVM動作中フラグが「False」、オートスケール情報更新フラグが「True」というレコードが登録される。このレコードは、VM名「SampleVM」の仮想マシンの通信用IPアドレスが「200.200.200.2」であることを示す。また、当該仮想マシンが停止しており、オートスケールサーバ200の停止中におけるオートスケールVM動作中フラグの更新が発生したことを示す。
Further, for example, in the VM management table 122, the VM name is "SimpleVM", the communication IP address is "200.200.200.2", the autoscale VM operating flag is "False", and the autoscale information update flag is displayed. A record called "True" is registered. This record indicates that the communication IP address of the virtual machine with the VM name "SimpleVM" is "200.200.200.2". Further, it indicates that the virtual machine is stopped and the autoscale VM operating flag is updated while the
図8は、オートスケールグループテーブルの例を示す図である。
オートスケールグループテーブル211は、記憶部210に格納される。オートスケールグループテーブル211は、オートスケールグループID、利用可能CIDR(Classless Inter-Domain Routing)、オートスケールポリシーID、最小台数および最大台数の項目を含む。
FIG. 8 is a diagram showing an example of an autoscale group table.
The autoscale group table 211 is stored in the
オートスケールグループIDの項目には、オートスケールグループの識別情報(オートスケールグループID)が登録される。利用可能CIDRの項目には、利用可能なCIDRが登録される。オートスケールポリシーIDの項目には、該当のオートスケールグループに対して適用されるオートスケールポリシーの識別情報(オートスケールポリシーID)が登録される。ここで、オートスケールポリシーIDに対応するオートスケールポリシーの具体的な内容は、後述するオートスケールポリシーテーブルに予め登録されている。最小台数の項目には、該当のオートスケールグループにおける仮想マシンの最小数が登録される。最大台数の項目には、該当のオートスケールグループにおける仮想マシンの最大数が登録される。 Identification information (autoscale group ID) of the autoscale group is registered in the item of the autoscale group ID. Available CIDRs are registered in the Available CIDR items. In the autoscale policy ID item, the identification information (autoscale policy ID) of the autoscale policy applied to the corresponding autoscale group is registered. Here, the specific contents of the autoscale policy corresponding to the autoscale policy ID are registered in advance in the autoscale policy table described later. In the item of minimum number, the minimum number of virtual machines in the corresponding autoscale group is registered. In the item of maximum number, the maximum number of virtual machines in the corresponding autoscale group is registered.
例えば、オートスケールグループテーブル211には、オートスケールグループIDが「グループ1」、利用可能CIDRが「100.10.99.0/24」、オートスケールポリシーIDが「ルール1,3」、最小台数が「1」、最大台数が「10」というレコードが登録される。このレコードは、オートスケールグループID「グループ1」のオートスケールグループでは、利用可能CIDRが「100.10.99.0/24」であり、オートスケールポリシーID「ルール1,3」のオートスケールポリシーが適用され、仮想マシンの最小数が1個、最大数が10個であることを示す。
For example, in the autoscale group table 211, the autoscale group ID is "
図9は、VMテーブルの例を示す図である。
VMテーブル212は、記憶部210に格納される。VMテーブル212は、VM名、オートスケールグループID、通信用IPアドレスおよびVM状態の項目を含む。
FIG. 9 is a diagram showing an example of a VM table.
The VM table 212 is stored in the
VM名の項目には、仮想マシンのVM名が登録される。オートスケールグループIDの項目には、当該仮想マシンが属するオートスケールグループのオートスケールグループIDが登録される。通信用IPアドレスの項目には、仮想マシンのIPアドレスが登録される。VM状態の項目には、仮想マシンの状態が登録される。前述のように、仮想マシンの状態には、仮想マシンが正常に稼動している、仮想マシンに異常あり(ERROR)、スケールインにより縮退している(スケールインのために停止している)、スケールアウトのために起動中、などが考えられる。 The VM name of the virtual machine is registered in the item of VM name. In the autoscale group ID item, the autoscale group ID of the autoscale group to which the virtual machine belongs is registered. The IP address of the virtual machine is registered in the item of IP address for communication. The state of the virtual machine is registered in the item of VM state. As mentioned above, the state of the virtual machine is that the virtual machine is running normally, the virtual machine is abnormal (ERROR), degenerate due to scale-in (stopped due to scale-in), It may be running due to scale-out.
例えば、VMテーブル212には、VM名が「Grp1_VM1」、オートスケールグループIDが「グループ1」、通信用IPアドレスが「100.10.99.1」、VM状態が「正常」というレコードが登録される。このレコードは、VM名「Grp1_VM1」の仮想マシンがオートスケールグループID「グループ1」のオートスケールグループに属し、当該仮想マシンのIPアドレスが「100.10.99.1」であり、当該仮想マシンが正常に稼動していることを示す。
For example, in the VM table 212, a record having a VM name of "Grp1_VM1", an autoscale group ID of "
また、例えば、VMテーブル212には、VM名が「Grp1_VM2」、オートスケールグループIDが「グループ1」、通信用IPアドレスが「100.10.99.2」、VM状態が「ERROR」というレコードが登録される。このレコードは、VM名「Grp1_VM2」の仮想マシンがオートスケールグループID「グループ1」のオートスケールグループに属し、当該仮想マシンのIPアドレスが「100.10.99.2」であり、当該仮想マシンで異常が発生していることを示す。
Further, for example, in the VM table 212, a record having a VM name of "Grp1_VM2", an autoscale group ID of "
また、例えば、VMテーブル212には、VM名が「Grp1_VM3」、オートスケールグループIDが「グループ1」、通信用IPアドレスが「100.10.99.3」、VM状態が「スケールイン縮退」というレコードが登録される。このレコードは、VM名「Grp1_VM3」の仮想マシンがオートスケールグループID「グループ1」のオートスケールグループに属し、当該仮想マシンのIPアドレスが「100.10.99.3」であり、スケールインにより停止していることを示す。 Further, for example, in the VM table 212, the VM name is "Grp1_VM3", the autoscale group ID is "Group1", the communication IP address is "100.10.99.3", and the VM state is "scale-in degenerate". Record is registered. In this record, the virtual machine with the VM name "Grp1_VM3" belongs to the autoscale group with the autoscale group ID "Group1", the IP address of the virtual machine is "100.10.99.3", and by scale-in. Indicates that it is stopped.
また、例えば、VMテーブル212には、VM名が「Grp2_VM3」、オートスケールグループIDが「グループ2」、通信用IPアドレスが「100.11.0.32」、VM状態が「スケールアウト中」というレコードが登録される。このレコードは、VM名「Grp2_VM3」の仮想マシンがオートスケールグループID「グループ2」のオートスケールグループに属し、当該仮想マシンのIPアドレスが「100.11.0.32」であり、スケールアウトのため起動中であることを示す。 Further, for example, in the VM table 212, the VM name is "Grp2_VM3", the autoscale group ID is "Group2", the communication IP address is "100.11.0.32", and the VM state is "scaling out". Record is registered. In this record, the virtual machine with the VM name "Grp2_VM3" belongs to the autoscale group with the autoscale group ID "Group2", the IP address of the virtual machine is "100.11.0.32", and the scale is out. Therefore, it indicates that it is starting up.
図10は、オートスケールポリシーテーブルの例を示す図である。オートスケールポリシーテーブル213は、記憶部210に格納される。オートスケールポリシーテーブル213は、オートスケールポリシーID、トリガーおよびトリガー詳細の項目を含む。
FIG. 10 is a diagram showing an example of an autoscale policy table. The autoscale policy table 213 is stored in the
オートスケールポリシーIDの項目には、オートスケールポリシーの識別情報(オートスケールポリシーID)が登録される。トリガーの項目には、オートスケール制御のトリガーとなる監視対象のリソース(仮想マシンにより認識される論理的なリソースでもよい)が登録される。トリガー詳細の項目には、オートスケール制御のトリガーに関する条件が登録される。 The identification information (autoscale policy ID) of the autoscale policy is registered in the item of the autoscale policy ID. In the trigger item, the monitored resource (which may be a logical resource recognized by the virtual machine) that triggers the autoscale control is registered. Conditions related to triggers for autoscale control are registered in the trigger details item.
例えば、オートスケールポリシーテーブル213には、オートスケールポリシーIDが「ルール1」、トリガーが「CPU使用率」、トリガー詳細が「1分毎のCPU平均使用率を取得し、連続5回80%を上回るとスケールアウト」というレコードが登録される。
For example, in the autoscale policy table 213, the autoscale policy ID is "
このレコードは、オートスケールポリシーID「ルール1」のオートスケールポリシーでは、仮想マシンのCPU使用率をトリガーとしており、1分毎のCPU平均使用率が連続5回80%を上回った場合に、スケールアウトを行うことを示す。ここで、「1分毎のCPU平均使用率」は、該当のオートスケールグループに属する複数の仮想マシンに関する平均でもよいし、該当のオートスケールグループに属する仮想マシン単位の平均でもよい。後者の場合、該当のオートスケールグループに属する少なくとも何れかの仮想マシンにおいて、1分毎のCPU平均使用率が連続5回80%を上回るとスケールアウトを行う。なお、所定時間毎の「CPU平均使用率」(あるいは、「メモリ平均使用率」)の考え方は、他のオートスケールポリシーについても同様である。
This record is triggered by the CPU usage rate of the virtual machine in the autoscale policy of the autoscale policy ID "
また、例えば、オートスケールポリシーテーブル213には、オートスケールポリシーIDが「ルール2」、トリガーが「メモリ使用率」、トリガー詳細が「5分毎のメモリ平均使用率を取得し、連続3回95%を上回るとスケールアウト」というレコードが登録される。このレコードは、オートスケールポリシーID「ルール2」のオートスケールポリシーでは、仮想マシンのメモリ使用率をトリガーとしており、5分毎のメモリ平均使用率が連続3回95%を上回った場合に、スケールアウトを行うことを示す。
Further, for example, in the autoscale policy table 213, the autoscale policy ID is "
また、例えば、オートスケールポリシーテーブル213には、オートスケールポリシーIDが「ルール3」、トリガーが「CPU使用率」、トリガー詳細が「1分毎のCPU平均使用率を取得し、連続5回10%を下回るとスケールイン」というレコードが登録される。このレコードは、オートスケールポリシーID「ルール3」のオートスケールポリシーでは、仮想マシンのCPU使用率をトリガーとしており、1分毎のCPU平均使用率が連続5回10%を下回った場合に、スケールインを行うことを示す。
Further, for example, in the autoscale policy table 213, the autoscale policy ID is "rule 3", the trigger is "CPU usage rate", and the trigger details are "CPU average usage rate per minute", and 10 times in a
また、例えば、オートスケールポリシーテーブル213には、オートスケールポリシーIDが「ルール4」、トリガーが「メモリ使用率」、トリガー詳細が「5分毎のメモリ平均使用率を取得し、連続5回30%を下回るとスケールイン」というレコードが登録される。このレコードは、オートスケールポリシーID「ルール4」のオートスケールポリシーでは、仮想マシンのメモリ使用率をトリガーとしており、5分毎のメモリ平均使用率が連続5回30%を下回った場合に、スケールインを行うことを示す。 Further, for example, in the autoscale policy table 213, the autoscale policy ID is "rule 4", the trigger is "memory usage rate", and the trigger details are "memory average usage rate every 5 minutes. If it falls below%, a record called "scale in" is registered. This record is triggered by the memory usage of the virtual machine in the autoscale policy of the autoscale policy ID "Rule 4", and scales when the average memory usage every 5 minutes falls below 30% 5 times in a row. Indicates that the inn is to be performed.
次に、上記のクラスタシステムにおける監視サーバ100の処理手順を説明する。
図11は、VM監視の例を示すフローチャートである。
VM監視部131は下記の処理を定期的に実行する。実行の周期は、運用に応じて定められる。周期は、数秒から数十秒程度でもよいし、1分から数分程度でもよい。
Next, the processing procedure of the
FIG. 11 is a flowchart showing an example of VM monitoring.
The
(S10)VM監視部131は、監視対象の仮想マシン(監視対象VM)の監視情報を収集する。例えば、VM監視部131は、監視対象の仮想マシンから死活監視用の所定のパケットを受信することで、監視情報を収集する。
(S10) The
(S11)VM監視部131は、監視対象VMの動作状況を更新する。具体的には、VM監視部131は、ステップS10の監視情報の収集結果に基づいて、VM管理テーブル122を更新する。すなわち、VM監視部131は、監視情報を収集できた(死活監視用のパケットを受信できた)仮想マシンのオートスケールVM動作中フラグを「True」に設定する。なお、元々「True」の場合はそのままでよい。
(S11) The
(S12)VM監視部131は、前回の監視情報の収集時から所定時間内に監視情報が届いていない監視対象VMがあるか否かを判定する。所定時間とは、当該監視の周期、または、当該周期に比較的短い時間(当該周期よりも短い時間)を加算した時間である。所定時間内に監視情報が届いていない監視対象VMがある場合、ステップS13に処理が進む。所定時間内に監視情報が届いていない監視対象VMがない場合、ステップS16に処理が進む。
(S12) The
(S13)VM監視部131は、ステップS12で前回の監視情報の収集時から所定時間内に監視情報が届いていないと判断された監視対象VMについて、VM管理テーブル122のオートスケールVM動作中フラグを「False」に設定する。なお、元々「False」の場合はそのままでよい。
(S13) The
(S14)VM監視部131は、オートスケールサーバ管理テーブル121を参照して、稼働中フラグが「True」であるか否かを判定する。稼働中フラグが「True」の場合、ステップS16に処理が進む。稼働中フラグが「False」の場合、ステップS15に処理が進む。
(S14) The
(S15)VM監視部131は、ステップS13でオートスケールVM動作中フラグを「False」に設定した監視対象VMについて、VM管理テーブル122のオートスケール情報更新フラグを「True」に設定する。
(S15) The
(S16)VM監視部131は、監視を継続するか否を判定する。監視を継続する場合、監視の周期の分だけ待機して、ステップS10に処理が進む。監視を継続しない場合、VM監視の処理が終了する。例えば、VM監視部131は、システム管理者による監視の終了の入力を受け付けた場合、監視を継続しないと判定し、それ以外の場合に監視を継続すると判定する。
(S16) The
図12は、オートスケールサーバ監視の例を示すフローチャートである。
ASサーバ連携部132は下記の処理を定期的に実行する。実行の周期は、運用に応じて定められる。周期は、数秒から数十秒程度でもよいし、1分から数分程度でもよい。
FIG. 12 is a flowchart showing an example of autoscale server monitoring.
The AS
(S20)ASサーバ連携部132は、オートスケールサーバ200のVM状態を参照する。具体的には、ASサーバ連携部132は、オートスケールサーバ200に、VMテーブル212における各仮想マシンのVM状態を問い合わせる。
(S20) The AS
(S21)ASサーバ連携部132は、オートスケールサーバ200が動作中であるか否かを判定する。オートスケールサーバ200が動作中である場合、ステップS23に処理が進む。オートスケールサーバ200が動作中でない、すなわち、停止している場合、ステップS22に処理が進む。例えば、ASサーバ連携部132は、ステップS20の問い合わせに対するオートスケールサーバ200の応答がある場合、オートスケールサーバ200が動作中であると判定する。また、ASサーバ連携部132は、ステップS20の問い合わせに対するオートスケールサーバ200の応答がない場合、オートスケールサーバ200が停止していると判定する。
(S21) The AS
(S22)ASサーバ連携部132は、オートスケールサーバ管理テーブル121の稼働中フラグを「False」に設定する。元々「False」の場合はそのままでよい。そして、ステップS27に処理が進む。
(S22) The AS
(S23)ASサーバ連携部132は、オートスケールサーバ管理テーブル121の稼働中フラグを「True」に設定する。元々「True」の場合はそのままでよい。
(S24)ASサーバ連携部132は、VM管理テーブル122のオートスケール情報更新フラグが「True」である監視対象VMがあるか否かを判定する。オートスケール情報更新フラグが「True」である監視対象VMがある場合、ステップS25に処理が進む。オートスケール情報更新フラグが「True」である監視対象VMがない場合、ステップS27に処理が進む。
(S23) The AS
(S24) The AS
(S25)ASサーバ連携部132は、オートスケールサーバ200が管理するVM状態を、監視サーバ100のVM管理テーブル122におけるオートスケールVM動作中フラグを基に更新する。具体的には、ASサーバ連携部132は、オートスケール情報更新フラグが「True」である監視対象VMの情報(オートスケールVM動作中フラグ「False」を示す情報)を、オートスケールサーバ200に送信する。
(S25) The AS
(S26)ASサーバ連携部132は、VM管理テーブル122におけるオートスケール情報更新フラグを「False」に設定する。具体的には、ASサーバ連携部132は、ステップS24でオートスケール情報更新フラグが「True」であった箇所を、「False」に変更する。
(S26) The AS
(S27)ASサーバ連携部132は、オートスケールサーバ200から取得した各監視対象VMのVM状態に応じて異常の発生を検知し、システム管理者に異常を通知する。例えば、ASサーバ連携部132は、VM管理テーブル122においてオートスケールVM動作中フラグが「False」で、かつ、オートスケールサーバ200に確認したVM状態が「スケールインによる停止」でない仮想マシンを異常と判定する。例えば、ASサーバ連携部132は、ディスプレイ111に異常を示す画像を表示させてもよい。あるいは、ASサーバ連携部132は、システム管理者が利用する端末装置に、異常を示すメッセージを送信してもよい。なお、ステップS22を経由してステップS27が実行される場合、ASサーバ連携部132はオートスケールサーバ200からVM状態を取得できないことになる。この場合、ASサーバ連携部132は、ステップS27をスキップしてステップS28を実行してもよい。あるいは、ASサーバ連携部132は、例外的にオートスケールサーバ200への確認なしに、オートスケールVM動作中フラグが「False」の仮想マシンを異常とみなして、システム管理者に当該仮想マシンの異常を通知してもよい。
(S27) The AS
(S28)ASサーバ連携部132は、監視を継続するか否かを判定する。監視を継続する場合、監視の周期の分だけ待機して、ステップS20に処理が進む。監視を継続しない場合、オートスケールサーバ監視の処理が終了する。例えば、ASサーバ連携部132は、システム管理者による監視の終了の入力を受け付けた場合、監視を継続しないと判定し、それ以外の場合に監視を継続すると判定する。
(S28) The AS
次に、監視サーバ100による監視の例を説明する。
図13は、監視サーバによる監視の例を示す図である。
説明を簡単にするため、VM管理テーブル122の各項目のうち、VM名とVM動作中フラグ(オートスケールVM動作中フラグに相当)とを図示し、他の項目の図示を省略する。また、VMテーブル212の各項目のうち、VM名とVM状態とを図示し、他の項目の図示を省略する。また、VM名「VM1」の仮想マシンを、仮想マシンVM1のように表記する(他のVM名についても同様に表記する)。
Next, an example of monitoring by the
FIG. 13 is a diagram showing an example of monitoring by the monitoring server.
For the sake of simplicity, among the items of the VM management table 122, the VM name and the VM operating flag (corresponding to the autoscale VM operating flag) are shown, and the other items are omitted. Further, among the items of the VM table 212, the VM name and the VM state are shown, and the illustration of other items is omitted. Further, the virtual machine having the VM name "VM1" is described as the virtual machine VM1 (the other VM names are also described in the same manner).
まず、オートスケールサーバ200が稼働中の場合を考える(ステップST11)。VM管理テーブル122によれば、この段階において、仮想マシンVM1のVM動作中フラグは「True」である。仮想マシンVM2のVM動作中フラグは「False」である。仮想マシンVM3のVM動作中フラグは「True」である。仮想マシンVM4のVM動作中フラグは「True」である。一方、VMテーブル212によれば、仮想マシンVM1のVM状態は「正常」である。仮想マシンVM2のVM状態は「スケールイン縮退」である。仮想マシンVM3のVM状態は「正常」である。仮想マシンVM4のVM状態は「正常」である。VM管理テーブル122で、仮想マシンVM2のVM動作中フラグが「False」なので、監視サーバ100は、オートスケールサーバ200に仮想マシンVM2のVM状態を問い合わせる。オートスケールサーバ200は、VMテーブル212に基づいて、仮想マシンVM2のVM状態「スケールイン縮退」を監視サーバ100に応答する。この場合、監視サーバ100は、仮想マシンVM2から監視情報を取得できなかったことを異常とみなさない。
First, consider the case where the
その後、オートスケールサーバ200が停止した場合を考える(ステップST12)。VMテーブル212は、オートスケールサーバ200が停止している間も、オートスケールサーバ200の不揮発性の記憶装置(例えば、HDD)に保持されている。監視サーバ100は、オートスケールサーバ200に対するVM状態の定期的な問い合わせに対して、オートスケールサーバ200からの応答がないことを検知することで、オートスケールサーバ200が停止したことを検知する。
After that, consider the case where the
監視サーバ100は、仮想マシンVM4との通信不可を検知する。すると、監視サーバ100は、VM管理テーブル122において、仮想マシンVM4のVM動作中フラグを「False」に変更することで、VM管理テーブル122をVM管理テーブル123に更新する。監視サーバ100は、仮想マシンVM4について、オートスケールサーバ200が停止している間にVM動作中フラグを「True」から「False」に変更したので、オートスケール情報更新フラグ(図13では図示を省略している)を「True」に設定する。
The
更にその後、オートスケールサーバ200が復旧した場合を考える(ステップST13)。例えば、監視サーバ100は、オートスケールサーバ200に対するVM状態の定期的な問い合わせに対してオートスケールサーバ200からの応答が再開されたことを検知することで、オートスケールサーバ200の起動を検知する。当該応答は、仮想マシンVM4が「正常」(ただし、実際の状態とは異なる)である旨を含む。監視サーバ100は、オートスケールサーバ200からVM状態の応答を受け付けると、仮想マシンVM4の停止がスケールインによる停止ではないことを検知し、仮想マシンVM4の異常をシステム管理者に通知する。
Further, after that, consider the case where the
そして、監視サーバ100は、VM管理テーブル123に基づいて、オートスケールサーバ200が停止している間に仮想マシンVM4との通信不可を検知したことを、オートスケールサーバ200に通知する。オートスケールサーバ200は、当該通知に応じて、VMテーブル212の仮想マシンVM4のVM状態を「ERROR」に変更することで、VMテーブル212をVMテーブル214に更新する。そして、オートスケールサーバ200は、VMテーブル214により各仮想マシンのオートスケール制御を再開する。
Then, the
なお、監視サーバ100は、オートスケールサーバ200の起動を検知したタイミングではなく、オートスケールサーバ200から仮想マシンVM4のVM状態として「ERROR」を取得したタイミングで仮想マシンVM4の異常を検知し、システム管理者に通知してもよい。
The
次に、監視の比較例を説明する。
図14は、監視の比較例を示す図である。
比較例では、仮想マシンを監視する監視サーバ700と、仮想マシンに対するオートスケール制御を行うオートスケールサーバ800とを含むシステムを考える。ただし、監視サーバ700は、オートスケールサーバ800と連携する機能を有していない。
Next, a comparative example of monitoring will be described.
FIG. 14 is a diagram showing a comparative example of monitoring.
In the comparative example, consider a system including a monitoring server 700 that monitors a virtual machine and an autoscale server 800 that performs autoscale control for the virtual machine. However, the monitoring server 700 does not have a function of linking with the autoscale server 800.
監視サーバ700は、各仮想マシンの死活監視の状況を管理するVM監視テーブル701を記憶する。VM監視テーブル701には、VM名とVM動作フラグとが記録される。VM動作フラグは、「True」が動作中、「False」が停止を示す。 The monitoring server 700 stores a VM monitoring table 701 that manages the status of life-and-death monitoring of each virtual machine. The VM name and the VM operation flag are recorded in the VM monitoring table 701. As for the VM operation flag, "True" indicates that the operation is in progress, and "False" indicates that the operation is stopped.
オートスケールサーバ800は、各仮想マシンの状態を管理するVM状態テーブル801を記憶する。VM状態テーブル801には、VM名とVM状態とが記録される。
まず、オートスケールサーバ800が稼働中の場合を考える(ステップST21)。VM監視テーブル701によれば、この段階において、仮想マシンVM1のVM動作中フラグは「True」である。仮想マシンVM2のVM動作中フラグは「False」である。仮想マシンVM3のVM動作中フラグは「True」である。仮想マシンVM4のVM動作中フラグは「True」である。一方、VM状態テーブル801によれば、仮想マシンVM1のVM状態は「正常」である。仮想マシンVM2のVM状態は「スケールイン縮退」である。仮想マシンVM3のVM状態は「正常」である。仮想マシンVM4のVM状態は「正常」である。VM監視テーブル701で、仮想マシンVM2のVM動作中フラグが「False」なので、監視サーバ700は、オートスケールサーバ800に仮想マシンVM2のVM状態を問い合わせる。オートスケールサーバ800は、VM状態テーブル801に基づいて、仮想マシンVM2のVM状態「スケールイン縮退」を監視サーバ700に応答する。この場合、監視サーバ700は、仮想マシンVM2から監視情報を取得できなかったことを異常とみなさない。
The autoscale server 800 stores a VM status table 801 that manages the status of each virtual machine. The VM name and the VM state are recorded in the VM state table 801.
First, consider the case where the autoscale server 800 is in operation (step ST21). According to the VM monitoring table 701, the VM operating flag of the virtual machine VM1 is "True" at this stage. The VM operating flag of the virtual machine VM2 is "False". The VM operating flag of the virtual machine VM3 is "True". The VM operating flag of the virtual machine VM4 is "True". On the other hand, according to the VM state table 801, the VM state of the virtual machine VM1 is "normal". The VM state of the virtual machine VM2 is "scale-in degenerate". The VM state of the virtual machine VM3 is "normal". The VM state of the virtual machine VM4 is "normal". Since the VM operating flag of the virtual machine VM2 is "False" in the VM monitoring table 701, the monitoring server 700 inquires the autoscale server 800 about the VM status of the virtual machine VM2. The autoscale server 800 responds to the monitoring server 700 with the VM state "scale-in degenerate" of the virtual machine VM2 based on the VM state table 801. In this case, the monitoring server 700 does not consider that the monitoring information could not be acquired from the virtual machine VM2 as an abnormality.
その後、オートスケールサーバ800が停止した場合を考える(ステップST22)。VM状態テーブル801は、オートスケールサーバ800が停止している間も、オートスケールサーバ800の不揮発性の記憶装置(例えば、HDD)に保持されている。監視サーバ700は、オートスケールサーバ800に対するVM状態の定期的な問い合わせに対して、オートスケールサーバ800からの応答がないことを検知することで、オートスケールサーバ800が停止したことを検知する。 After that, consider the case where the autoscale server 800 is stopped (step ST22). The VM state table 801 is held in the non-volatile storage device (for example, HDD) of the autoscale server 800 even while the autoscale server 800 is stopped. The monitoring server 700 detects that the autoscale server 800 has stopped by detecting that there is no response from the autoscale server 800 in response to a periodic inquiry of the VM state to the autoscale server 800.
監視サーバ700は、仮想マシンVM4との通信不可を検知する。すると、監視サーバ700は、VM監視テーブル701において、仮想マシンVM4のVM動作中フラグを「False」に変更することで、VM監視テーブル701をVM監視テーブル702に更新する。 The monitoring server 700 detects that communication with the virtual machine VM4 is not possible. Then, the monitoring server 700 updates the VM monitoring table 701 to the VM monitoring table 702 by changing the VM operating flag of the virtual machine VM4 to "False" in the VM monitoring table 701.
更にその後、オートスケールサーバ800が復旧した場合を考える(ステップST23)。例えば、監視サーバ700は、オートスケールサーバ800に対するVM状態の定期的な問い合わせに対してオートスケールサーバ800からの応答が再開されたことを検知することで、オートスケールサーバ800の起動を検知する。監視サーバ700は、VM状態の応答に基づいて、仮想マシンVM4のVM状態が「正常」(ただし、実際の状態とは異なる)であり、スケールインによる停止ではないことを検知すると、システム管理者に仮想マシンVM4の異常を通知する。 Further, after that, consider the case where the autoscale server 800 is restored (step ST23). For example, the monitoring server 700 detects the startup of the autoscale server 800 by detecting that the response from the autoscale server 800 is resumed in response to the periodic inquiry of the VM state to the autoscale server 800. When the monitoring server 700 detects that the VM state of the virtual machine VM4 is "normal" (but different from the actual state) based on the response of the VM state, and it is not stopped due to scale-in, the system administrator Is notified of the abnormality of the virtual machine VM4.
オートスケールサーバ800は、VM状態テーブル801によりオートスケール制御を再開する。VM状態テーブル801は、仮想マシンVM4が「正常」として管理されている。このため、オートスケールサーバ800は、仮想マシンVM4が属するオートスケールグループに関してオートスケール制御を適切に行うことができない。また、オートスケールサーバ800が仮想マシンVM4の異常を検知するまでに、10分から数十分かかることもある。この間、ユーザが利用するアプリケーションなどの処理負荷が高まると、適切なスケールアウトを行えず、当該処理に遅延が生じるおそれがある。 The autoscale server 800 restarts the autoscale control according to the VM status table 801. In the VM status table 801 the virtual machine VM4 is managed as "normal". Therefore, the autoscale server 800 cannot properly perform autoscale control with respect to the autoscale group to which the virtual machine VM4 belongs. In addition, it may take 10 minutes to several tens of minutes for the autoscale server 800 to detect an abnormality in the virtual machine VM4. During this period, if the processing load of the application used by the user increases, appropriate scale-out cannot be performed, and the processing may be delayed.
一方、第2の実施の形態のクラスタシステムによれば、監視サーバ100とオートスケールサーバ200とを連携させ、オートスケールサーバ200が起動すると、監視サーバ100により最新の仮想マシンの情報をオートスケールサーバ200に提供する。このため、オートスケールサーバ200は、最新の仮想マシンの情報で復旧し、オートスケール制御を再開することができる。このため、オートスケールサーバ200が停止している間に停止した仮想マシンを、オートスケールサーバ200に適切に把握させ、オートスケール制御を適切に再開させることができる。その結果、ユーザが利用するアプリケーションの処理への影響を抑えられる。
On the other hand, according to the cluster system of the second embodiment, when the
[第3の実施の形態]
次に、第3の実施の形態を説明する。前述の第2の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
[Third Embodiment]
Next, a third embodiment will be described. Matters that differ from the second embodiment described above will be mainly described, and explanations of common matters will be omitted.
第2の実施の形態の例では、オートスケールサーバ200によるオートスケールの制御対象の仮想マシンと、監視サーバ100による監視対象の仮想マシンとが一致していたが、監視サーバ100は、オートスケールの制御対象以外の仮想マシンの監視も行える。
In the example of the second embodiment, the virtual machine to be controlled by the
図15は、第3の実施の形態の仮想マシンの例を示す図である。
例えば、物理サーバ300が仮想マシン310,320を実行し、物理サーバ400が仮想マシン410,420,430を実行することを考える。このうち、オートスケールサーバ200によるオートスケールの制御対象は、仮想マシン310,320,410,420である。仮想マシン430は、オートスケールサーバ200によるオートスケールの制御の対象外である。一方、監視サーバ100による監視対象は、仮想マシン310,320,410,420,430である。
FIG. 15 is a diagram showing an example of a virtual machine according to a third embodiment.
For example, consider that the
このように、オートスケールサーバ200によるオートスケールの制御対象の仮想マシンの範囲と、監視サーバ100による監視対象の仮想マシンの範囲とは一致していなくてもよい。監視サーバ100は、オートスケールの制御対象でない仮想マシンに対する死活監視により、当該仮想マシンとの通信不可を検知すると、当該仮想マシンについてのオートスケール状況の確認を行わずに、当該仮想マシンの異常を検知し、システム管理者に通知する。監視サーバ100は、監視対象の仮想マシンがオートスケールの制御対象であるか否かをVM管理テーブルにより管理する。
As described above, the range of the virtual machines to be controlled by the
図16は、VM管理テーブルの例を示す図である。
VM管理テーブル124は、記憶部120に格納される。VM管理テーブル124は、オートスケール可否フラグ、VM名、通信用IPアドレス、オートスケールVM動作中フラグおよびオートスケール情報更新フラグの項目を含む。
FIG. 16 is a diagram showing an example of a VM management table.
The VM management table 124 is stored in the
オートスケール可否フラグの項目には、該当の仮想マシンがオートスケール制御の対象であるか否かを示す情報が登録される。該当の仮想マシンがオートスケール制御の対象の場合、オートスケール可否フラグは「対象」である。該当の仮想マシンがオートスケール制御の対象外の場合、オートスケール可否フラグは「対象外」である。 Information indicating whether or not the corresponding virtual machine is subject to autoscale control is registered in the item of the autoscale enable / disable flag. When the corresponding virtual machine is the target of autoscale control, the autoscale enable / disable flag is "target". If the virtual machine is not subject to autoscale control, the autoscale enable / disable flag is "not subject".
VM名、通信用IPアドレス、オートスケールVM動作中フラグおよびオートスケール情報更新フラグの項目に登録される情報は、VM管理テーブル122における同名の項目に登録される情報と同様である。ただし、オートスケールVM動作中フラグおよびオートスケール情報更新フラグの項目は、オートスケール可否フラグが「対象外」の場合、設定なし(図では設定なしをハイフン記号「-」で示す)となる。 The information registered in the items of the VM name, the communication IP address, the autoscale VM operating flag, and the autoscale information update flag is the same as the information registered in the items of the same name in the VM management table 122. However, the items of the autoscale VM operation flag and the autoscale information update flag are not set when the autoscale enable / disable flag is "not applicable" (in the figure, no setting is indicated by a hyphen symbol "-").
例えば、VM管理テーブル124には、オートスケール可否フラグが「対象外」、VM名が「VMnormal」、通信用IPアドレスが「110.10.1.1」、オートスケールVM動作中フラグが設定なし(「-」)、オートスケール情報更新フラグが設定なし(「-」)というレコードが登録される。このレコードは、VM名「VMnormal」の仮想マシンがオートスケールの制御対象外であり、当該仮想マシンのIPアドレスが「110.10.1.1」であることを示す。 For example, in the VM management table 124, the autoscale enable / disable flag is "not applicable", the VM name is "VMNormal", the communication IP address is "110.10.1.1", and the autoscale VM operating flag is not set. ("-"), The record that the autoscale information update flag is not set ("-") is registered. This record indicates that the virtual machine with the VM name "VMNormal" is out of the control of autoscale and the IP address of the virtual machine is "110.10.1.1".
また、例えば、VM管理テーブル124には、オートスケール可否フラグが「対象」、VM名が「Grp1_VM1」、通信用IPアドレスが「100.10.99.1」、オートスケールVM動作中フラグが「True」、オートスケール情報更新フラグが「False」というレコードが登録される。このレコードは、VM名「Grp1_VM1」の仮想マシンがオートスケールの制御対象であることを示す。また、当該仮想マシンの通信用IPアドレスが「100.10.99.1」であることを示す。更に、当該仮想マシンが稼動しており、オートスケールサーバ200の停止中におけるオートスケールVM動作中フラグの更新が発生していないことを示す。
Further, for example, in the VM management table 124, the autoscale enable / disable flag is "target", the VM name is "Grp1_VM1", the communication IP address is "100.10.99.1", and the autoscale VM operating flag is "100.19.9.1". A record with "True" and the autoscale information update flag "False" is registered. This record indicates that the virtual machine with the VM name "Grp1_VM1" is subject to autoscale control. It also indicates that the communication IP address of the virtual machine is "100.10.99.1". Further, it is shown that the virtual machine is running and the autoscale VM operating flag is not updated while the
次に、VM管理テーブル124を用いた、VM監視部131によるVM監視の処理手順を説明する。第3の実施の形態では、VM監視部131は、図11で説明したVM監視の手順に代えて、下記の手順を実行する。
Next, the processing procedure of VM monitoring by the
図17は、VM監視の例を示すフローチャートである。
VM監視部131は下記の処理を定期的に実行する。実行の周期は、運用に応じて定められる。周期は、数秒から数十秒程度でもよいし、1分から数分程度でもよい。
FIG. 17 is a flowchart showing an example of VM monitoring.
The
(S30)VM監視部131は、監視対象の仮想マシン(監視対象VM)の監視情報を収集する。例えば、VM監視部131は、監視対象の仮想マシンから死活監視用の所定のパケットを受信することで、監視情報を収集する。
(S30) The
(S31)VM監視部131は、監視対象VMの動作状況を更新する。具体的には、VM監視部131は、ステップS30の監視情報の収集結果に基づいて、VM管理テーブル124を更新する。すなわち、VM監視部131は、監視情報を収集できた(死活監視用のパケットを受信できた)仮想マシンのオートスケールVM動作中フラグを「True」に設定する。なお、元々「True」の場合はそのままでよい。
(S31) The
(S32)VM監視部131は、前回の監視情報の収集時から所定時間内に監視情報が届いていない監視対象VMがあるか否かを判定する。所定時間とは、当該監視の周期、または、当該周期に比較的短い時間(当該周期よりも短い時間)を加算した時間である。所定時間内に監視情報が届いていない監視対象VMがある場合、ステップS33に処理が進む。所定時間内に監視情報が届いていない監視対象VMがない場合、ステップS38に処理が進む。
(S32) The
(S33)VM監視部131は、VM管理テーブル124を参照して、前回の監視情報の収集時から所定時間内に監視情報が届いていない監視対象VMのオートスケール可否フラグが「対象」であるか否かを判定する。「対象」である場合、ステップS35に処理が進む。「対象」でない場合(すなわち、「対象外」である場合)、ステップS34に処理が進む。
(S33) The
(S34)VM監視部131は、該当の仮想マシンの異常をシステム管理者に通知する。例えば、VM監視部131は、ディスプレイ111に異常を示す画像を表示させてもよい。あるいは、VM監視部131は、システム管理者が利用する端末装置に、異常を示すメッセージを送信してもよい。そして、ステップS38に処理が進む。
(S34) The
(S35)VM監視部131は、ステップS32で前回の監視情報の収集時から所定時間内に監視情報が届いていないと判断された監視対象VMについて、VM管理テーブル124のオートスケールVM動作中フラグを「False」に設定する。なお、元々「False」の場合はそのままでよい。
(S35) The
(S36)VM監視部131は、オートスケールサーバ管理テーブル121を参照して、稼働中フラグが「True」であるか否かを判定する。稼働中フラグが「True」の場合、ステップS38に処理が進む。稼働中フラグが「False」の場合、ステップS37に処理が進む。
(S36) The
(S37)VM監視部131は、ステップS35でオートスケールVM動作中フラグを「False」に設定した監視対象VMについて、VM管理テーブル124のオートスケール情報更新フラグを「True」に設定する。
(S37) The
(S38)VM監視部131は、監視を継続するか否を判定する。監視を継続する場合、監視の周期の分だけ待機して、ステップS30に処理が進む。監視を継続しない場合、VM監視の処理が終了する。例えば、VM監視部131は、システム管理者による監視の終了の入力を受け付けた場合、監視を継続しないと判定し、それ以外の場合に監視を継続すると判定する。
(S38) The
なお、第3の実施の形態でもASサーバ連携部132は、図12のオートスケールサーバ監視の手順により、オートスケールサーバ200と連携する。
これにより、オートスケールサーバ200が停止し、復旧したときに仮想マシンの最新の情報を基にオートスケールサーバ200を復旧することができる。
Also in the third embodiment, the AS
As a result, when the
更に、監視サーバ100は、VM管理テーブル124のオートスケール可否フラグに基づいて、オートスケール制御の対象の仮想マシンと、オートスケール制御の対象外の仮想マシンとを区別した監視を行うことができる。監視サーバ100は、オートスケール制御の対象外の仮想マシンについては、オートスケールサーバ200に対するオートスケールに関する問い合わせを省略して、当該仮想マシンの異常を迅速に通知することができる。
Further, the
なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2,第3の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体113に記録できる。
The information processing of the first embodiment can be realized by causing the
例えば、プログラムを記録した記録媒体113を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体113に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
For example, the program can be distributed by distributing the
1 クラスタシステム
10 オートスケールサーバ監視装置
11,21 記憶部
12,22 処理部
20 オートスケールサーバ
30,40 物理サーバ
31,32,41,42 仮想マシン
50 ネットワーク
61,62,71,72 テーブル
1
Claims (8)
前記物理サーバにおける仮想マシンのスケールインおよびスケールアウトを行うオートスケールサーバと、
前記オートスケールサーバと定期的に通信し、前記オートスケールサーバが管理する前記仮想マシンの情報を記憶し、前記オートスケールサーバが停止したことを検知した後に、停止中の状態から起動した前記オートスケールサーバの要求に応じて、前記仮想マシンの情報を送信するオートスケールサーバ監視装置と、
を有するクラスタシステム。 A physical server that can run multiple virtual machines and
An autoscale server that scales in and out of virtual machines on the physical server,
The autoscale that periodically communicates with the autoscale server, stores the information of the virtual machine managed by the autoscale server, detects that the autoscale server has stopped, and then starts from the stopped state. An autoscale server monitoring device that sends information about the virtual machine in response to a server request,
Cluster system with.
請求項1記載のクラスタシステム。 The autoscale server monitoring device detects the inability to communicate with the virtual machine while the autoscale server is stopped, and when the autoscale server starts, the information indicating that communication with the virtual machine is impossible is given to the auto. Send to scale server,
The cluster system according to claim 1.
請求項1記載のクラスタシステム。 The autoscale server stores state information indicating the state of the virtual machine, updates the state information according to the information of the virtual machine transmitted by the autoscale server monitoring device, and updates the state information. Resume control of the scale-in and scale-out based on
The cluster system according to claim 1.
請求項1記載のクラスタシステム。 When the autoscale server monitoring device detects that communication with the virtual machine is impossible, the autoscale server monitoring device causes an abnormality in the virtual machine in response to an inquiry to the autoscale server as to whether or not the virtual machine has been stopped by the scale-in. Detect,
The cluster system according to claim 1.
前記オートスケールサーバ監視装置は、前記他の仮想マシンとの通信不可を検知すると、前記オートスケールサーバへの前記問い合わせを省略して、前記他の仮想マシンの異常を検知する、
請求項4記載のクラスタシステム。 The plurality of virtual machines include other virtual machines that are not subject to the scale-in and scale-out control by the autoscale server.
When the autoscale server monitoring device detects that communication with the other virtual machine is impossible, the autoscale server monitoring device omits the inquiry to the autoscale server and detects an abnormality in the other virtual machine.
The cluster system according to claim 4.
前記オートスケールサーバと定期的に通信し、前記オートスケールサーバが停止したことを検知した後に、停止中の状態から起動した前記オートスケールサーバの要求に応じて、前記仮想マシンの情報を送信する処理部と、
を有するオートスケールサーバ監視装置。 A storage unit that stores virtual machine information managed by the autoscale server,
A process of periodically communicating with the autoscale server, detecting that the autoscale server has stopped, and then transmitting information about the virtual machine in response to a request from the autoscale server started from the stopped state. Department and
Autoscale server monitoring device with.
前記オートスケールサーバが停止したことを検知した後に、停止中の状態から起動した前記オートスケールサーバの要求に応じて、前記仮想マシンの情報を送信する、
処理をコンピュータに実行させるオートスケールサーバ監視プログラム。 It communicates with the autoscale server on a regular basis and stores the information of the virtual machine managed by the autoscale server.
After detecting that the autoscale server has stopped, the information of the virtual machine is transmitted in response to the request of the autoscale server started from the stopped state .
An autoscale server monitoring program that causes a computer to perform processing.
オートスケールサーバと定期的に通信し、前記オートスケールサーバが管理する仮想マシンの情報を記憶し、
前記オートスケールサーバが停止したことを検知した後に、停止中の状態から起動した前記オートスケールサーバの要求に応じて、前記仮想マシンの情報を送信する、
オートスケールサーバ監視方法。 The computer
It communicates with the autoscale server on a regular basis and stores the information of the virtual machine managed by the autoscale server.
After detecting that the autoscale server has stopped, the information of the virtual machine is transmitted in response to the request of the autoscale server started from the stopped state .
Autoscale server monitoring method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018077371A JP7044971B2 (en) | 2018-04-13 | 2018-04-13 | Cluster system, autoscale server monitoring device, autoscale server monitoring program and autoscale server monitoring method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018077371A JP7044971B2 (en) | 2018-04-13 | 2018-04-13 | Cluster system, autoscale server monitoring device, autoscale server monitoring program and autoscale server monitoring method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019185511A JP2019185511A (en) | 2019-10-24 |
JP7044971B2 true JP7044971B2 (en) | 2022-03-31 |
Family
ID=68341379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018077371A Active JP7044971B2 (en) | 2018-04-13 | 2018-04-13 | Cluster system, autoscale server monitoring device, autoscale server monitoring program and autoscale server monitoring method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7044971B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11983572B2 (en) * | 2021-06-03 | 2024-05-14 | Hewlett Packard Enterprise Development Lp | Accessing purged workloads |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011108093A (en) | 2009-11-19 | 2011-06-02 | Nippon Telegr & Teleph Corp <Ntt> | Highly available server system, fault recovery method of highly available server system, and highly available server |
US20160103717A1 (en) | 2014-10-10 | 2016-04-14 | International Business Machines Corporation | Autoscaling applications in shared cloud resources |
JP2016184370A (en) | 2015-03-27 | 2016-10-20 | 株式会社日立製作所 | Monitoring system, monitoring device and monitoring method |
-
2018
- 2018-04-13 JP JP2018077371A patent/JP7044971B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011108093A (en) | 2009-11-19 | 2011-06-02 | Nippon Telegr & Teleph Corp <Ntt> | Highly available server system, fault recovery method of highly available server system, and highly available server |
US20160103717A1 (en) | 2014-10-10 | 2016-04-14 | International Business Machines Corporation | Autoscaling applications in shared cloud resources |
JP2016184370A (en) | 2015-03-27 | 2016-10-20 | 株式会社日立製作所 | Monitoring system, monitoring device and monitoring method |
Also Published As
Publication number | Publication date |
---|---|
JP2019185511A (en) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9110717B2 (en) | Managing use of lease resources allocated on fallover in a high availability computing environment | |
JP5851503B2 (en) | Providing high availability for applications in highly available virtual machine environments | |
JP5834939B2 (en) | Program, virtual machine control method, information processing apparatus, and information processing system | |
US10810096B2 (en) | Deferred server recovery in computing systems | |
US8713362B2 (en) | Obviation of recovery of data store consistency for application I/O errors | |
JP4572250B2 (en) | Computer switching method, computer switching program, and computer system | |
JP2011128967A (en) | Method for moving virtual machine, virtual machine system and program | |
JP2014186652A (en) | Data transfer device, data transfer system, data transfer method and program | |
US11604806B2 (en) | System and method for highly available database service | |
WO2018003031A1 (en) | Virtualization management program, virtualization management device, and virtualization management method | |
EP2645635B1 (en) | Cluster monitor, method for monitoring a cluster, and computer-readable recording medium | |
JP2009080704A (en) | Virtual machine system and service taking-over control method for same system | |
WO2013190694A1 (en) | Computer recovery method, computer system, and storage medium | |
JP7044971B2 (en) | Cluster system, autoscale server monitoring device, autoscale server monitoring program and autoscale server monitoring method | |
US8819481B2 (en) | Managing storage providers in a clustered appliance environment | |
US11494217B1 (en) | Transparent reboot interception migration to facilitate virtualization host updates | |
US11748176B2 (en) | Event message management in hyper-converged infrastructure environment | |
JP2023114665A (en) | Program, information processing method, and information processing system | |
JP4485560B2 (en) | Computer system and system management program | |
US11074120B2 (en) | Preventing corruption by blocking requests | |
WO2024013828A1 (en) | Signal processing resource switching device, signal processing resource switching system, signal processing resource switching method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210113 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210122 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220201 |
|
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: 20220215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7044971 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |