JP6582785B2 - Virtual machine management system, virtual machine management method and program - Google Patents
Virtual machine management system, virtual machine management method and program Download PDFInfo
- Publication number
- JP6582785B2 JP6582785B2 JP2015183660A JP2015183660A JP6582785B2 JP 6582785 B2 JP6582785 B2 JP 6582785B2 JP 2015183660 A JP2015183660 A JP 2015183660A JP 2015183660 A JP2015183660 A JP 2015183660A JP 6582785 B2 JP6582785 B2 JP 6582785B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- fault tolerant
- tolerant function
- service
- communication
- 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)
Description
本発明は、仮想マシン管理システム、仮想マシン管理方法及びプログラムに関する。 The present invention relates to a virtual machine management system, a virtual machine management method, and a program.
システムの可用性や信頼性を高めるために、様々な技術が開発されている。仮想マシンにおいては、可用性を高めることを目的の一つとして、フォールトトレラント(Fault Torelant:以下「FT」と称する場合がある)機能と呼ばれる技術が用いられつつある。フォールトトレラント機能により、例えば、仮想マシンを実行するホストに障害が生じた場合に、予め用意された他のホストに当該仮想マシンの処理が引き継がれて当該仮想マシンの処理が継続する。フォールトトレラント機能の一例が、非特許文献1に記載されている。 Various techniques have been developed to increase the availability and reliability of the system. In a virtual machine, a technique called a fault tolerant (hereinafter, sometimes referred to as “FT”) function is being used as one of the purposes for improving availability. By the fault tolerant function, for example, when a failure occurs in a host that executes a virtual machine, the process of the virtual machine is taken over by another host prepared in advance, and the process of the virtual machine is continued. An example of the fault tolerant function is described in Non-Patent Document 1.
特許文献1には、特別なハードウェアを使用せずに、簡便、高速に系の切り替えが可能な低消費電力のフォールトトレラント計算機システム等が記載されている。 Patent Document 1 describes a low-power consumption fault-tolerant computer system that can easily and quickly switch a system without using special hardware.
特許文献2には、仮想マシンのマイグレーション先を決定する方法が記載されている。特許文献2に記載の技術では、システム全体の最適化のためのマイグレーションポリシーだけでなく、アプリケーションに依存するマイグレーションポリシーをユーザが定義できる。そして、特許文献2に記載の技術では、両ポリシーを考慮しながら、アプリケーションが稼働する仮想マシンを稼働させたまま、他のサーバに移動することを制御する。 Patent Document 2 describes a method for determining a migration destination of a virtual machine. With the technique described in Patent Document 2, a user can define not only a migration policy for optimizing the entire system but also a migration policy depending on an application. In the technique described in Patent Document 2, it is controlled to move to another server while the virtual machine on which the application is operating is operating while considering both policies.
フォールトトレラント機能を備える仮想マシンにおいては、フォールトトレラント機能に関連して、負荷の大きな処理が行われる場合がある。そのため、フォールトトレラント機能は、当該仮想マシンによって実行されるサービスの外部への提供等、仮想マシンの動作に影響を及ぼす可能性がある。しかしながら、各特許文献等に記載の技術では、フォールトトレラント機能に起因する仮想マシンの動作への影響を軽減することが困難である。 In a virtual machine having a fault tolerant function, processing with a large load may be performed in relation to the fault tolerant function. Therefore, the fault-tolerant function may affect the operation of the virtual machine, such as providing the service executed by the virtual machine to the outside. However, with the techniques described in each patent document or the like, it is difficult to reduce the influence on the operation of the virtual machine due to the fault tolerant function.
本発明は、上記課題を解決するためになされたものであって、フォールトトレラント機能に起因する仮想マシンの動作への影響が小さい仮想マシン管理システム等を提供することを主たる目的とする。 The present invention has been made to solve the above-described problems, and has as its main object to provide a virtual machine management system and the like that have a small influence on the operation of the virtual machine due to the fault tolerant function.
本発明の一態様における仮想マシン管理システムは、 仮想マシンのフォールトトレラント機能の対象となる少なくとも一つのサービスの各々について、前記フォールトトレラント機能の状態に関する条件を保持するサービス管理表と、
前記条件に基づいて、前記仮想マシンの前記フォールトトレラント機能の状態を制御する制御手段とを備える、仮想マシン管理システム。
また、本発明の一態様における仮想マシン管理方法は、仮想マシンのフォールトトレラント機能の対象となる少なくとも一つのサービスの各々に対するフォールトトレラント機能を有効にすべき条件に基づいて、サービスの少なくとも一つが条件を満たすか否かを判定し、判定の結果に基づいて、仮想マシンのフォールトトレラント機能に関する状態を変更するように制御する。
The virtual machine management system according to an aspect of the present invention includes a service management table that holds conditions regarding the state of the fault tolerant function for each of at least one service that is a target of the fault tolerant function of the virtual machine;
A virtual machine management system comprising: control means for controlling the state of the fault tolerant function of the virtual machine based on the condition.
In the virtual machine management method according to one aspect of the present invention, at least one of the services is a condition based on a condition for enabling the fault tolerant function for each of at least one service that is a target of the fault tolerant function of the virtual machine. Whether the condition is satisfied is determined, and control is performed to change the state related to the fault tolerant function of the virtual machine based on the determination result.
また、本発明の一態様におけるプログラムは、コンピュータに、仮想マシンのフォールトトレラント機能の対象となる少なくとも一つのサービスの各々に対するフォールトトレラント機能を有効にすべき条件に基づいて、前記サービスの少なくとも一つが前記条件を満たすか否かを判定する処理と、判定の結果に基づいて、仮想マシンのフォールトトレラント機能に関する状態を変更するように制御する処理とを実行させる。 Further, the program according to one aspect of the present invention is based on the condition that the fault tolerant function for each of at least one service that is the target of the fault tolerant function of the virtual machine is enabled in the computer. A process for determining whether or not the condition is satisfied and a process for controlling to change the state related to the fault tolerant function of the virtual machine based on the determination result are executed.
本発明によると、フォールトトレラント機能に起因する仮想マシンの動作への影響が小さい仮想マシン管理システム等を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the virtual machine management system etc. with a small influence on operation | movement of the virtual machine resulting from a fault tolerant function can be provided.
本発明の各実施形態について、添付の図面を参照して説明する。なお、本発明の各実施形態において、各システムの各構成要素は、機能単位のブロックを示している。各システムの各構成要素は、例えば図6に示すような情報処理装置500とプログラムとの任意の組み合わせにより実現される。情報処理装置500は、一例として、以下のような構成を含む。
Embodiments of the present invention will be described with reference to the accompanying drawings. In each embodiment of the present invention, each component of each system represents a functional unit block. Each component of each system is realized by, for example, an arbitrary combination of an
・CPU(Central Processing Unit)501
・ROM(Read Only Memory)502
・RAM(Ramdom Access Memory)503
・RAM503にロードされるプログラム504
・プログラム504を格納する記憶装置505
・記録媒体506の読み書きを行うドライブ装置507
・通信ネットワーク509と接続する通信インターフェース508
・データの入出力を行う入出力インターフェース510
・各構成要素を接続するバス511
各実施形態における各システムの各構成要素は、これらの機能を実現するプログラム504をCPU501が取得して実行することで実現される。各装置の各構成要素の機能を実現するプログラム504は、例えば、予め記憶装置505やRAM503に格納されており、必要に応じてCPU501が読み出す。なお、プログラム504は、通信ネットワーク509を介してCPU501に供給されてもよいし、予め記録媒体506に格納されており、ドライブ装置507が当該プログラムを読み出してCPU501に供給してもよい。また、各装置の実現方法には、様々な変形例がある。例えば、各実施形態における各システムは、情報処理装置500とは異なる回路等を含む様々なハードウェアとプログラムとの任意の組み合わせにより実現され得る。
CPU (Central Processing Unit) 501
ROM (Read Only Memory) 502
-RAM (Random Access Memory) 503
A
A
A
An input /
-
Each component of each system in each embodiment is realized by the
本発明の各実施形態に関する説明に先立って、各実施形態の前提となる仮想マシンにおけるフォールトトレラント機能やその動作を説明する。図1は、各実施形態の前提となる仮想マシン等の構成を示す図である。 Prior to the description of each embodiment of the present invention, a fault tolerant function and its operation in a virtual machine which is a premise of each embodiment will be described. FIG. 1 is a diagram illustrating a configuration of a virtual machine or the like that is a premise of each embodiment.
フォールトトレラント機能は、仮想マシンを実行するハードウェア等に障害が生じた場合等に、当該仮想マシンが行っていた処理を他のハードウェア等にて実行される他の仮想マシンが継続して行う機能である。本発明の各実施形態においては、フォールトトレラント機能を実現する動作の一つとして、次のような動作が想定される。 In the fault tolerant function, when a failure occurs in the hardware that executes the virtual machine, other virtual machines that are executed by other hardware continue to perform the processing that the virtual machine is performing. It is a function. In each embodiment of the present invention, the following operation is assumed as one of the operations for realizing the fault tolerant function.
まず、チェックポイントと呼ばれる一定間隔のタイミング毎等に、待機中の仮想マシンに稼働中の仮想マシンの状態が他のハードウェア等にて実行される他の仮想マシンに保存される。そして、稼働中の仮想マシンを実行するハードウェア等に障害が発生した場合には、待機中の仮想マシンは、保存された情報を用いて、稼働中の仮想マシンが実行していた処理を引き継いで実行する。一般的なフォールトトレラント機能においては、処理の引き継ぎの際には、仮想マシンの実行がそのまま継続される。このようなフォールトトレラント機能を用いることで、仮想マシンの可用性を高めることが可能となる。 First, the state of a virtual machine that is running in a standby virtual machine is stored in another virtual machine that is executed by other hardware or the like at every predetermined interval called a checkpoint. When a failure occurs in the hardware that executes the operating virtual machine, the standby virtual machine takes over the processing performed by the operating virtual machine using the stored information. Run with. In a general fault-tolerant function, execution of a virtual machine is continued as it is when processing is taken over. By using such a fault tolerant function, the availability of the virtual machine can be increased.
なお、以降においては、チェックポイントにおいて仮想マシンの状態が保存され、障害が発生した際に他の仮想マシンによる処理の引き継ぎが可能な状態を、フォールトトレラント機能が有効であると称する。また、仮想マシンの状態の保存が行われず、障害が発生した際に他の仮想マシンによる処理の引き継ぎが行われない状態を、フォールトトレラント機能が無効であると称する。 Hereinafter, a state in which the state of the virtual machine is stored at the checkpoint and processing can be taken over by another virtual machine when a failure occurs is referred to as a fault tolerant function being effective. In addition, a state in which the state of the virtual machine is not saved and a process is not taken over by another virtual machine when a failure occurs is referred to as an invalid fault tolerant function.
フォールトトレラント機能を実現する動作の一例は、具体的には以下のようになる。図1に示す例においては、ホスト10−1及び10−2が通信ネットワーク50を介して接続されている。ホスト10−1及び10−2は、例えば上述した図6に示す情報処理装置500であるが、これに限られない。また、通信ネットワーク50は、ホスト10−1と10−2との間でデータの転送を可能にする任意の構成のネットワークである。
An example of the operation for realizing the fault tolerant function is specifically as follows. In the example shown in FIG. 1, hosts 10-1 and 10-2 are connected via a
ホスト10−1及び10−2においては、仮想マシン管理システム100−1及び100−2がそれぞれ実行されている。仮想マシン管理システム100−1及び100−2は、ホスト10−1又は10−2のそれぞれにおいて仮想マシンを実現する一般的なシステムである。仮想マシン管理システム100−1及び100−2は、VMM(Virtual Machine Management)、又はハイパーバイザ(Hypervisor)とも呼ばれる。仮想マシン管理システム100−1及び100−2は、一般的なフォールトトレラント機能の実行に必要となる構成を備える。 In the hosts 10-1 and 10-2, virtual machine management systems 100-1 and 100-2 are executed, respectively. The virtual machine management systems 100-1 and 100-2 are general systems that realize a virtual machine in each of the hosts 10-1 and 10-2. The virtual machine management systems 100-1 and 100-2 are also referred to as a virtual machine management (VMM) or a hypervisor. The virtual machine management systems 100-1 and 100-2 have a configuration necessary for executing a general fault-tolerant function.
仮想マシン20又は40は、それぞれ、仮想化された計算機システムである。仮想マシン20は、仮想マシン管理システム100−1にて実行される。また、仮想マシン40は、仮想マシン管理システム100−2にて実行される。仮想マシン20又は40は、それぞれゲスト物理メモリ21又は41を備える。ゲスト物理メモリ21又は41は、それぞれ仮想マシン20又は40の物理メモリとして機能する。それぞれゲスト物理メモリ21又は41のそれぞれは、ホスト10−1又は10−2が備える物理的なメモリ等を用いて実現される。
Each of the
図1に示す例では、仮想マシン20は稼働しており、仮想マシン20においてゲストOS(Operating System)30が動作する。また、仮想マシン40は待機しており、ゲストOS30の動作を引き継ぐことが可能である。すなわち、仮想マシン40は、仮想マシン20においてゲストOS30が正常に動作している場合には、特段の動作を行わない。そして、ホスト10−1又は仮想マシン管理システム100−1の少なくとも一方に問題が生じた場合には、仮想マシン40は動作を開始する。この場合には、ゲストOS30は、仮想マシン管理システム100−2が備えるフォールトトレラント機能により、仮想マシン40に動作が引き継がれる。そして、ゲストOS30は、仮想マシン40にて継続して動作する。
In the example illustrated in FIG. 1, the
フォールトトレラント機能を有効とするために、仮想マシン管理システム100−1及び100−2は、仮想マシン20の状態を保存する。仮想マシン管理システム100−1は、仮想マシン20の状態を、上述したチェックポイントと呼ばれるタイミングで仮想マシン管理システム100−2を介して仮想マシン40に保存する。チェックポイントは、例えば一定の間隔で設定される。上述したチェックポイントの間隔は、仮想マシン20にて実行されるサービスの種類等に応じて適宜定められる。仮想マシン管理システム100−1は、仮想マシン20の状態の保存に際して、仮想マシン20の動作を一時的に停止してその状態を保存する。
In order to enable the fault tolerant function, the virtual machine management systems 100-1 and 100-2 store the state of the
仮想マシン管理システム100−1は、仮想マシン20の状態として、例えば、仮想マシン20が備えるゲスト物理メモリ21の内容を仮想マシン40のゲスト物理メモリ41に保存する。仮想マシン20の状態として、仮想マシン20が仮想的に備えるCPUの状態や、仮想マシン20が仮想的に備える記憶装置の内容等が保存されてもよい。仮想マシン20の状態としてゲスト物理メモリ21の内容が保存される場合、仮想マシン管理システム100−1は、直近のチェックポイントにて仮想マシン20の状態が保存された後に更新されたゲスト物理メモリ21の内容を保存する。すなわち、直近のチェックポイントにて仮想マシン20の状態が保存された後に書き込みが行われたメモリ21の領域が、次のチェックポイントにおいて保存の対象となる。
The virtual machine management system 100-1 stores, for example, the contents of the guest
一般に、仮想マシン20又は40においては、ゲスト物理メモリ21又は41のそれぞれの内容は、ページと呼ばれる一定の単位にて管理される。したがって、ゲスト物理メモリ21において、書き込みが行われたか否かの判定は、ページ単位で行われる。また、仮想マシン管理システム100−1は、ページ単位でゲスト物理メモリ21の内容を保存する。書き込みが行われ、次のチェックポイントにおいて保存の対象となるページは、ダーティページと呼ばれる。
In general, in the
図1に示す例では、ゲスト物理メモリ21として囲われる領域に含まれる複数の四角形状の図形は、ゲスト物理メモリ21におけるページの各々を表す。図1に示す例では、当該図形のうち、黒色で塗られた図形の各々は、ダーティページを表す。また、転送バッファ121として囲われる領域に含まれる複数の四角形状の図形は、チェックポイントにおいて保存の対象となるダーティページを表す。
In the example shown in FIG. 1, a plurality of quadrangular figures included in an area enclosed as the guest
上述のように、フォールトトレラント機能が有効であり、仮想マシン20の状態の保存が行われる場合、仮想マシン20は動作を一時的に停止する。仮想マシン20の動作は、仮想マシン20の状態の仮想マシン40への保存が完了した後に再開される。すなわち、仮想マシン20の動作は、仮想マシン20の状態が仮想マシン40に保存されるまで保留される。仮想マシン20の状態を仮想マシン40がゲスト物理メモリ41へ保存する際には、ホスト10−1からホスト10−2への仮想マシン20の状態に関するデータの転送が必要となる。これに対して、ホスト10−1が備えるメモリにおけるデータのコピーは、ホスト10−1からホスト10−2へのデータの転送と比較して高速に実行される。
As described above, when the fault tolerant function is valid and the state of the
そこで、仮想マシン20の動作が一時的に停止する期間を短くするために、仮想マシン管理システム100−1は、仮想マシン20の状態を最初に転送バッファ121に保存する。転送バッファ121は、後述のように、例えば仮想マシン管理システム100−1が備えるメモリである。仮想マシン20の状態が転送バッファ121に保存に保存されると、仮想マシン20は、動作を再開する。仮想マシン20の動作の再開と併せて、仮想マシン管理システム100−1は、転送バッファ121に保存された仮想マシン20の状態を仮想マシン40のゲスト物理メモリ41へ保存する。このようにすることで、仮想マシン20の動作が一時的に停止する期間は、仮想マシン20の状態がゲスト物理メモリ41へ直接に転送されてゲスト物理メモリ41に保存される場合と比較して短い期間となる。なお、同じページが繰り返しダーティページとなる場合は、仮想マシン管理システム100−1は、当該ダーティページに関して、その時点における内容と直近のチェックポイントにおける内容との差分を仮想マシン40へ転送してもよい。
Therefore, in order to shorten the period during which the operation of the
また、上述のように仮想マシン20の状態が保存される場合には、仮想マシン20から外部への通信は、仮想マシン20の状態の仮想マシン40への保存が完了するまで保留される。すなわち、直近のチェックポイントにて仮想マシン20の状態が保存された後に生じた後に生じた外部への通信は、次のチェックポイントにおいて仮想マシン20の状態が保存されるまで外部へ送信されずに保留される。保留された通信は、仮想マシン20の状態の仮想マシン40への保存が完了した後に実際に実行される。
Further, when the state of the
この動作は、下記の理由に基づく。ホスト10等に障害などが発生し、仮想マシン20の処理が仮想マシン40へ引き継がれた場合には、直近のチェックポイントにて保存された仮想マシン20の状態が仮想マシン40へ引き継がれる。したがって、直近のチェックポイントにて仮想マシン20の状態が保存された後に仮想マシン20にて通信が行われると、その後に仮想マシン40へ引き継がれた場合に、通信が重複して行われる可能性が生じる。そして、仮想マシン20にて行われた通信と仮想マシン40にて行われた通信との間で矛盾が発生する可能性が存在する。このことから、上述のような通信の保留が行われる。
This operation is based on the following reason. When a failure or the like occurs in the host 10 or the like, and the processing of the
ところで、仮想マシン20の状態が保存される場合においては、ダーティページの数に応じて、仮想マシン20が一時的に停止する期間が長くなる場合がある。また、仮想マシン20にて実行され、何らかのサービスを提供するプログラムは、仮想マシン20のゲスト物理メモリ21へ規模の大きなデータを格納した後にサービスの提供を開始する場合がある。このようなプログラムによって実行されるサービスとして、データベース、Webサービス等のデータキャッシュを作成するサービスが含まれる。
By the way, when the state of the
この場合には、仮想マシン20の状態が保存される際に、多くのダーティページが保存の対象となる。したがって、仮想マシン20の状態の保存に伴い、仮想マシン20の動作が一時的に停止する期間が長くなる。この結果として、仮想マシン20にて実行されるプログラムによるサービスの提供の開始が遅れるという問題が生じる場合がある。すなわち、フォールトトレラント機能に起因して、仮想マシン20を用いた外部へのサービスの提供の開始が遅延する等の悪影響が生じる可能性がある。本発明の各実施形態における仮想マシン管理システムは、上述した悪影響の軽減を可能等する。
In this case, when the state of the
(第1の実施形態)
次に、本発明の第1の実施形態について説明する。図2は、本発明の第1の実施形態における仮想マシン管理システムを示す図である。図3は、本発明の第1の実施形態における仮想マシン管理システムの一動作例を示すフローチャートである。図4は、本発明の第1の実施形態における仮想マシン管理システムの動作の変形例を示すフローチャートである。
(First embodiment)
Next, a first embodiment of the present invention will be described. FIG. 2 is a diagram showing a virtual machine management system according to the first embodiment of the present invention. FIG. 3 is a flowchart illustrating an operation example of the virtual machine management system according to the first embodiment of the present invention. FIG. 4 is a flowchart illustrating a modified example of the operation of the virtual machine management system according to the first embodiment of the present invention.
図2に示すとおり、本発明の第1の実施形態における仮想マシン管理システム100は、少なくとも、制御部110と、サービス管理表111と、チェックポイント制御部112とを備える。また、本発明の第1の実施形態における仮想マシン管理システム100は、メモリ転送制御部120と、転送バッファ121と、ネットワーク制御部130と、通信解析部131と、保留バッファ132とを備える。
As shown in FIG. 2, the virtual
本実施形態における仮想マシン管理システム100は、例えば、図1に示す仮想マシン管理システム100−1又は100−2として用いられる。すなわち、仮想マシン管理システム100は、図1に示すホスト10−1又は10−2等にて実行される。また、仮想マシン管理システム100は、仮想マシン20又は40等の仮想マシンの実行を管理する。
The virtual
以下、仮想マシン管理システム100において、仮想マシン20と同様の仮想マシンが実行されることを想定する。仮想マシン管理システム100において、仮想マシン40と同様の仮想マシンが実行されてもよい。以下の仮想マシン管理システム100の各構成要素に関する説明においては、「仮想マシン」との記載は、仮想マシン管理システム100において実行される仮想マシンを指す。
Hereinafter, it is assumed that a virtual machine similar to the
また、以下の説明においては、任意の種類のサービスを提供するプログラムが仮想マシンのゲストOSにてアプリケーションプログラムとして実行されることを、サービスが仮想マシンにて実行されると称する場合がある。さらに、当該サービスが外部のサーバ等や外部のユーザ等から利用可能になることを、サービスが外部へ提供される等と称する場合がある。 Further, in the following description, execution of a program that provides an arbitrary type of service as an application program in the guest OS of the virtual machine may be referred to as execution of the service in the virtual machine. Furthermore, the availability of the service from an external server or the like or an external user may be referred to as providing the service to the outside.
続いて、本発明の第1の実施形態における仮想マシン管理システム100の各構成要素について説明する。
Next, each component of the virtual
制御部110は、サービスを提供するプログラムの少なくとも一つがサービス管理表111にて保持される条件を満たすか否かを判断して、仮想マシンの状態を制御する。制御部110は、仮想マシンにおいて実行されるサービスの少なくとも一つが後述するサービス管理表111にて保持される条件を満たす場合に、仮想マシンのフォールトトレラント機能を有効とするよう仮想マシンの状態を制御する。また、制御部110は、仮想マシンの状態の保存等、フォールトトレラント機能を実現する場合に必要となる制御を行う。
The
また、制御部110は、例えば上述のサービスのいずれもが停止する場合や、上述のサービスがサービス管理表111にて保持される条件を満たさない場合等に、フォールトトレラント機能を無効とするよう仮想マシンの状態を制御する。
In addition, the
フォールトトレラント機能を有効にすべき条件としては、サービスを提供するプログラムの動作に関連する任意の条件が含まれる。条件の詳細は後述する。 The condition for enabling the fault tolerant function includes any condition related to the operation of the program that provides the service. Details of the conditions will be described later.
制御部110は、任意の手順にてサービスの少なくとも一つがサービス管理表111にて保持される条件を満たすか否かを判断する。制御部110は、例えば、サービスを提供するプログラムの動作を監視する仮想マシン管理システム100の他の構成要素による監視の結果に基づいて、サービスの少なくとも一つが上述の条件を満たすかを判断する。
The
例えば、制御部110は、サービスを提供するプログラムの動作を監視する他の構成要素からのフォールトトレラント機能を有効にすべき旨の要求に基づいて、サービスの少なくとも一つが上述の条件を満たすと判断してもよい。また、上述のサービスを提供するプログラムの動作を監視する他の構成要素がサービス管理表111に監視の結果を書込み、制御部110は、当該結果を参照して、サービスの少なくとも一つが上述の条件を満たすかを判断してもよい。
また、制御部110は、仮想マシンにて実行されるサービスを提供するプログラムの動作を直接に監視して、サービスが上述の条件を満たすかを判断してもよい。
For example, the
In addition, the
別の一例として、制御部110は、後述する通信解析部131にて解析されるサービスを提供するプログラムの通信に関する動作の状況に基づいて、サービスが上述の条件を満たすか否かを判断してもよい。
As another example, the
サービスが上述の条件を満たすと判定した場合に、制御部110は、メモリ転送制御部120やネットワーク制御部130等を適宜制御して、フォールトトレラント機能を有効にする。この制御が行われることで、チェックポイントとして予め指定された間隔で仮想マシンの状態が別のホストにて実行される待機中の仮想マシンに保存される。
When it is determined that the service satisfies the above-described condition, the
また、フォールトトレラント機能が有効である場合に、サービスが上述の条件を満たさないと判定すると、制御部110は、フォールトトレラント機能を無効にするように制御する。例えば、制御部110は、メモリ転送制御部120やネットワーク制御部130等を適宜制御してフォールトトレラント機能を無効にする。すなわち、チェックポイントとして指定された間隔で行われていた仮想マシンの状態の保存に関する処理が停止される。
If the fault tolerant function is valid and the
フォールトトレラント機能の実行には、大きな負荷が必要となる場合がある。したがって、仮想マシン管理システム100においてフォールトトレラント機能が有効である場合には、上述のように、仮想マシンにて実行されるサービスの外部への提供の開始が遅延する等の悪影響が生じる可能性がある。
Executing a fault tolerant function may require a large load. Therefore, when the fault tolerant function is effective in the virtual
一方で、フォールトトレラント機能の必要性は、外部へのサービスの提供が行われている場合には高いが、それ以外の場合には必要性が小さい場合もある。そこで、フォールトトレラント機能は、必要性と、サービスを提供するプログラムが動作する際の負荷の大きさとに基づいて有効とされることが好ましいと考えられる。 On the other hand, the necessity of the fault tolerant function is high when a service is provided to the outside, but the necessity is sometimes small in other cases. Therefore, it is considered that the fault tolerant function is preferably made effective based on the necessity and the magnitude of the load when the program providing the service operates.
そこで、本実施形態における仮想マシン管理システム100では、制御部110は、サービスの少なくとも一つがサービス管理表111にて保持される条件を満たすか否かを判断して、仮想マシンの状態を制御する。条件が適切に設定されることで、制御部110は、フォールトトレラント機能の必要性が高い場合に限って有効にすることを可能にする。すなわち、制御部110による制御によって、負荷が大きいが、フォールトトレラント機能の必要性が小さい処理が仮想マシンにて実行されている場合には、フォールトトレラント機能を無効にすることが可能となる。
Therefore, in the virtual
したがって、制御部110が上述の制御を行うことで、仮想マシンの可用性を高めつつ、フォールトトレラント機能に起因する仮想マシンの動作への影響を小さくすることが可能となる。
Therefore, when the
サービス管理表111は、仮想マシンのフォールトトレラント機能の対象となる少なくとも一つのサービスの各々について、前記フォールトトレラント機能の有効又は無効との状態に関する条件を保持する。 The service management table 111 holds a condition regarding the status of whether the fault tolerant function is valid or invalid for each of at least one service that is a target of the fault tolerant function of the virtual machine.
一例として、サービス管理表111は、仮想マシンのフォールトトレラント機能の対象となる少なくとも一つのサービスの各々について、フォールトトレラント機能を有効にすべき条件を保持する。 As an example, the service management table 111 holds conditions for enabling the fault tolerant function for each of at least one service that is a target of the fault tolerant function of the virtual machine.
上述のように、フォールトトレラント機能を有効にすべき条件としては、サービスを提供するプログラムの実行に関連する任意の条件が含まれる。この条件には、例えば、サービスを提供するプログラムの実行に関する条件や、外部へのサービスの提供の有無に関する条件等が含まれる。これらの条件は、具体的な例としては、サービスを提供するプログラムの実行に際して必要となるメモリの使用量や、サービスの外部への提供に関して行われる通信の種類等の形式で規定される。 As described above, the condition for enabling the fault tolerant function includes any condition related to the execution of the program that provides the service. This condition includes, for example, a condition related to execution of a program that provides a service, a condition related to whether or not a service is provided to the outside, and the like. As specific examples, these conditions are defined in the form of the amount of memory required for executing the program that provides the service, the type of communication performed for providing the service to the outside, and the like.
なお、サービス管理表111は、仮想マシンのフォールトトレラント機能の対象となる少なくとも一つのサービスの各々について、フォールトトレラント機能を無効にすべき条件を保持してもよい。 Note that the service management table 111 may hold conditions for disabling the fault tolerant function for each of at least one service that is a target of the fault tolerant function of the virtual machine.
本実施形態においては、サービス管理表111は、一例として、仮想マシンにて実行されるサービスの各々について、外部へのサービスの提供の有無に関する条件を保持する。サービスの外部への提供の有無に関する条件としては、外部へのサービスの提供に関して行われる通信の種類等が用いられる。 In the present embodiment, as an example, the service management table 111 holds a condition regarding whether or not a service is provided to the outside for each service executed in a virtual machine. As a condition regarding whether or not the service is provided to the outside, the type of communication performed regarding the provision of the service to the outside is used.
すなわち、サービス管理表111は、フォールトトレラント機能を有効にすべき条件として、外部へのサービスの提供を開始する際にサービスに関して送受信される通信に関する情報を保持する。例えば、この情報には、外部へのサービスの提供を開始する場合に行われる通信のプロトコルやパケットの種類、これらの通信に関するアドレスやポート番号等が含まれる。 That is, the service management table 111 holds information related to communication transmitted / received with respect to the service when the provision of the service to the outside is started as a condition for enabling the fault tolerant function. For example, this information includes a protocol for communication performed when starting provision of a service to the outside, a packet type, an address and a port number related to the communication, and the like.
通信のプロトコルとしてTCP/IP(Transmission Control Protocol/Internet Protocol)が用いられる場合には、サービス管理表111は、プロトコルの種類として、例えばTCP又はUDP(User Datagram Protocol)のいずれであるかを保持する。また、この場合には、サービス管理表111は、アドレスとして、サービスの要求元又は提供先等のIP(Internet Protocol)アドレスを保持する。 When TCP / IP (Transmission Control Protocol / Internet Protocol) is used as a communication protocol, the service management table 111 holds, for example, either TCP or UDP (User Datagram Protocol) as the protocol type. . In this case, the service management table 111 holds an IP (Internet Protocol) address such as a service request source or a service destination as an address.
また、サービス管理表111は、フォールトトレラント機能の有効または無効の状態を保持してもよい。サービス管理表111は、フォールトトレラント機能が有効とされる場合に、フォールトトレラント機能が有効となった要因となるサービスや条件に関する情報を保持してもよい。すなわち、この情報は、例えばどのサービスに起因してフォールトトレラント機能が有効となったかを示す情報である。 Further, the service management table 111 may hold a valid or invalid state of the fault tolerant function. The service management table 111 may hold information on services and conditions that cause the fault tolerant function to be effective when the fault tolerant function is enabled. That is, this information is information indicating, for example, which service caused the fault tolerant function to be effective.
更に、サービス管理表111は、後述するチェックポイント制御部112にてチェックポイントの間隔の変更が行われる場合には、チェックポイントに関する情報を保持してもよい。チェックポイントに関する情報としては、仮想マシンのフォールトトレラント機能の対象となる一つのサービスについて、各々のサービスに適したチェックポイントの間隔に関する情報が含まれる。
Furthermore, the service management table 111 may hold information on checkpoints when the
適切なチェックポイントの間隔は、仮想マシンにおいて実行されるサービスに応じて異なる場合がある。仮想マシンの状態が保存される場合には、上述のように、外部への通信が保留される。通信が保留されている期間が長くなることで、外部への通信の頻度が高い場合等には外部への通信に支障が生じる可能性がある。したがって、例えば外部への通信の頻度が高い場合等には、一般には、短いチェックポイントの間隔が設定されることが好ましい。 The appropriate checkpoint interval may vary depending on the services running on the virtual machine. When the state of the virtual machine is saved, communication to the outside is suspended as described above. Since the period during which communication is suspended becomes longer, there is a possibility that trouble may occur in communication to the outside when the frequency of communication to the outside is high. Therefore, for example, when the frequency of external communication is high, it is generally preferable to set a short checkpoint interval.
これに対して、プログラムの実行時におけるページの更新には、一般に、時間局所性があることが知られている。すなわち、プログラムの実行時に、ある期間においては、同一のページに対して繰り返し更新が行われる場合がある。このような場合には、長いチェックポイントの間隔が設定されることで、仮想マシンの状態の保存において、ダーティページとして更新の対象となるページの総量を削減することが可能となる。すなわち、メモリへの書込みの頻度が高い場合等には、一般には、長いチェックポイントの間隔が設定されることが好ましい。 On the other hand, it is generally known that there is a time locality in updating a page when a program is executed. In other words, when the program is executed, the same page may be repeatedly updated during a certain period. In such a case, by setting a long checkpoint interval, it is possible to reduce the total amount of pages to be updated as dirty pages when saving the state of the virtual machine. That is, when the frequency of writing to the memory is high, it is generally preferable to set a long checkpoint interval.
チェックポイント制御部112は、フォールトトレラント機能が有効である場合に、必要に応じてチェックポイントの間隔やチェックポイントにおける処理を制御する。チェックポイント制御部112は、例えば、制御部110からの指示に応じて、サービス管理表111に規定されたサービスの各々について規定されたチェックポイントの間隔に応じて、チェックポイントの間隔を変更する制御を行う。
When the fault tolerant function is valid, the
メモリ転送制御部120は、チェックポイントにおいて、稼働している仮想マシンから待機している仮想マシンへのゲスト物理メモリの内容の転送を制御する。また、メモリ転送制御部120は、仮想マシンにおけるゲスト物理メモリへのアクセスの制御など、仮想マシンの実現に必要となる一般的な制御を行ってもよい。
The memory
転送バッファ121は、仮想マシン管理システム100において実行する仮想マシンが稼働している場合に、当該仮想マシンが有するゲスト物理メモリの内容を一時的に保持するバッファである。メモリ転送制御部120及び転送バッファ121は、一般的なフォールトトレラント機能を実現可能な仮想マシン管理システムが備える構成要素と同様の要素である。
The
ネットワーク制御部130は、フォールトトレラント機能が有効である場合において、上述した通信の保留の動作等を制御する。また、ネットワーク制御部130は、仮想マシンにおいて実行されるゲストOSでの通信の制御等、仮想マシンを実現する際に必要となる一般的な制御を行ってもよい。
When the fault tolerant function is valid, the
通信解析部131は、上述のサービス管理表111においてフォールトトレラント機能を有効にすべき条件として通信に関する条件が規定されている場合に、仮想マシンにて実行されるゲストOSにおける通信の内容を解析する。通信解析部131は、通信の内容の解析として、例えば、通信がゲストOSにおいて実行されるサービスの開始または終了に関連するか否かを解析する。ゲストOSにおける通信がTCP(Transmission Control Protocol)による通信である場合には、通信解析部131は、パケットの種類を判別する等によって通信の内容を解析する。
The
保留バッファ132は、フォールトトレラント機能が有効である場合において通信が保留される場合に、保留された通信に関する情報を保持するバッファである。
The
続いて、本発明の第1の実施形態における仮想マシン管理システム100の動作を説明する。なお、この動作例においては、フォールトトレラント機能を有効にすべき条件の一例として、通信に関する条件がサービス管理表111に規定されていることを想定する。すなわち、制御部110は、通信解析部131における解析の結果に基づいてフォールトトレラント機能を有効にすべき条件を満たすか否かを判定する。
Next, the operation of the virtual
最初に、通信解析部131は、ゲストOSにて行われる通信を解析する(ステップS101)。例えば、通信解析部131は、ネットワーク制御部130を介してゲストOSにて行われる通信の内容を解析する。
First, the
次に、通信解析部131は、ステップS101にて解析した通信が、仮想マシンのゲストOSにて行われる外部へのサービス提供の開始に関する通信である否かを判定する(ステップS102)。例えば、当該通信がTCPによる通信である場合には、通信解析部131は、解析対象となるゲストOSからの通信のプロトコルタイプがTCP_SYN_ACKである場合に、外部へのサービス提供の開始に関する通信であると判定する。また、当該通信がUDPによる通信である場合には、通信解析部131は、判定が困難であることから、本ステップの段階では外部へのサービス提供の開始に関する通信であると判定する。
Next, the
ステップS102において、解析対象となる通信が外部へのサービス提供の開始に関する通信であると判定された場合(ステップS102:Yes)には、制御部110及び通信解析部131は、ステップS103の処理を実行する。ステップS103では、制御部110は、フォールトトレラント機能を有効にすべき条件を満たすか否かを判定する。この動作例においては、制御部110は、通信解析部131における解析結果に基づいて判定を行う。
In step S102, when it is determined that the communication to be analyzed is communication related to the start of service provision to the outside (step S102: Yes), the
フォールトトレラント機能を有効にすべき条件を満たしているか否かの判定は、ステップS101又はステップS102にて解析等が行われた通信が、サービス管理表111に保持される条件に該当するか否かを判定することで行われる。すなわち、当該通信に関するアドレスやポート番号が、サービス管理表111に保持されている、フォールトトレラント機能を有効にすべき条件に該当するか比較することで行われる。 Whether or not the condition for enabling the fault tolerant function is satisfied is determined by whether or not the communication analyzed in step S101 or step S102 corresponds to the condition held in the service management table 111 It is done by judging. That is, it is performed by comparing whether the address and port number related to the communication correspond to the conditions for enabling the fault tolerant function held in the service management table 111.
ステップS103における一つの動作例として、通信解析部131は、上述の通信が、サービス管理表111に保持される条件に該当するか否かを比較する。条件に該当する場合には、通信解析部131は、制御部110にフォールトトレラント機能を有効にすべき旨の要求を行う。そして、制御部110は、要求を受けた場合に、フォールトトレラント機能を有効にすべき条件を満たすと判断する。
As an example of the operation in step S103, the
また、ステップS103における別の動作例として、通信解析部131は、上述の通信に関する情報を制御部110に送信してもよい。この場合には、制御部110が、当該送信がサービス管理表111に保持される条件に該当するか比較してもよい。
As another operation example in step S <b> 103, the
ステップS103においてフォールトトレラント機能を有効にすべき条件を満たすと判定された場合(ステップS103:Yes)には、制御部110は、サービス管理表120を更新する(ステップS104)。例えば、制御部110は、ステップS103における比較の結果に基づいて、フォールトトレラント機能が有効となった要因となるサービスや条件に関する情報を保持するようにサービス管理表120を更新する。また、制御部110は、フォールトトレラント機能が有効である旨を示すようにサービス管理表120を更新してもよい。
When it is determined in step S103 that the condition for enabling the fault tolerant function is satisfied (step S103: Yes), the
制御部110は、フォールトトレラント機能が既に有効とされているかを確認する(ステップS105)。フォールトトレラント機能が有効とされていない場合(ステップS105:No)には、制御部110は、フォールトトレラント機能を有効にするよう制御を行う(ステップS106)。
The
フォールトトレラント機能が既に有効とされている場合(ステップS105:Yes)には、チェックポイント制御部112は、チェックポイントの間隔を変更するよう制御する(ステップS107)。この場合には、チェックポイント制御部112は、例えばサービス管理表111を参照し、ステップS103等で比較の対象となった通信に関連するサービスに適したチェックポイントの間隔に関する情報を取得する。そして、そのサービスに適したチェックポイントの間隔が、その時点におけるチェックポイントの間隔と比較して長い場合には、チェックポイント制御部112は、チェックポイントの間隔を上述のサービスに適した間隔に変更する。
When the fault tolerant function is already enabled (step S105: Yes), the
なお、ステップS107においてチェックポイントの間隔が変更される場合には、チェックポイント制御部112は、上述の手順と異なる手順にてチェックポイントの間隔を変更するよう制御してもよい。例えば、チェックポイント制御部112は、仮想マシンにて実行されているサービスに対して定められた任意の優先度等に応じて、優先度が最も高いサービスに適した間隔となるようにチェックポイント間隔を制御してもよい。
When the checkpoint interval is changed in step S107, the
ステップS106又はS107における処理に引き続いて、ネットワーク制御部130は、必要に応じて通信に関する処理を実行する(ステップS108)。ネットワーク制御部130は、フォールトトレラント機能が有効である場合における通信の保留等、フォールトトレラント機能が有効である場合に必要となる処理を含む通信に関する処理を実行する。
Subsequent to the processing in step S106 or S107, the
また、ステップS103においてステップS103においてフォールトトレラント機能を有効にすべき条件を満たさないと判定された場合(ステップS103:No)にも、ネットワーク制御部130は、必要に応じてステップS108の処理を実行する。
In step S103, also when it is determined in step S103 that the conditions for enabling the fault tolerant function are not satisfied (step S103: No), the
ステップS102において、解析対象となる通信が外部へのサービス提供の開始に関する通信ではないと判定された場合(ステップS102:No)には、ステップS109の処理が行われる。ステップS109においては、通信解析部131は、ステップS101にて解析した通信が、仮想マシンのゲストOSにて行われる外部へのサービス提供の終了に関する通信である否かを判定する。当該通信がTCPによる通信である場合には、通信解析部131は、例えばプロトコルタイプがTCP_RST又はTCP_FINである場合に、外部へのサービス提供の終了に関する通信であると判定する。
If it is determined in step S102 that the communication to be analyzed is not communication related to the start of service provision to the outside (step S102: No), the process of step S109 is performed. In step S109, the
ステップS109において、解析対象となる通信が外部へのサービス提供の終了に関する通信であると判定された場合(ステップS109:Yes)には、制御部110及び通信解析部131は、ステップS110の処理を実行する。ステップS103では、制御部110は、フォールトトレラント機能を無効にすべき条件を満たすか否かを判定する。
In step S109, when it is determined that the communication to be analyzed is communication related to termination of service provision to the outside (step S109: Yes), the
この動作例においては、制御部110は、ステップS110の処理として、ステップS103における処理と同様にして、通信解析部131における解析結果に基づいて判定を行う。すなわち、当該通信に関するアドレスやポート番号が、サービス管理表111に保持されるフォールトトレラント機能を無効にすべき条件に該当するか比較することで行われる。
In this operation example, the
ステップS110においてフォールトトレラント機能を有効にすべき条件を満たすと判定された場合(ステップS110:Yes)には、制御部110は、サービス管理表120を更新する(ステップS111)。例えば、制御部110は、ステップS110における比較の結果に基づいて、フォールトトレラント機能が無効とすべきと判断された要因となるサービスや条件に関する情報を保持するようにサービス管理表120を更新する。
When it is determined in step S110 that the condition for enabling the fault tolerant function is satisfied (step S110: Yes), the
続いて、制御部110は、サービス管理表111を参照する等によって、フォールトトレラント機能を有効とすべき他のサービスの外部への提供が行われているかを確認する(ステップS112)。他のサービスが提供されている場合(ステップS112:Yes)には、制御部110は、フォールトトレラント機能を有効としたままの状態とする。そして、チェックポイント制御部112は、ステップS107の処理として、必要に応じてチェックポイントの間隔を変更するよう制御する。
Subsequently, the
フォールトトレラント機能を有効とすべき他のサービスの外部への提供が行われていない場合には、制御部110は、フォールトトレラント機能を無効にするよう制御を行う(ステップS113)。ステップS113の処理と併せて、制御部110は、フォールトトレラント機能が無効である旨を示すようにサービス管理表120を更新してもよい。ステップS113の処理の後には、必要に応じて、ネットワーク制御部130は、ステップS108の通信に関する処理を実行する。
In the case where provision of other services that should enable the fault tolerant function is not performed outside, the
以上のとおり、本発明の第1の実施形態における仮想マシン管理システム100は、フォールトトレラント機能を有効にすべき条件を満たす場合にフォールトトレラント機能を有効にするように仮想マシンを制御する。すなわち、本実施形態においては仮想マシン管理システム100の制御部110は、サービス管理表111に予め規定された条件を満たす場合にフォールトトレラント機能を有効とするように仮想マシンを制御する。サービス管理表111にて規定される条件は、例えば、仮想マシンにおいてサービスの外部への提供が行われることを示す条件である。
As described above, the virtual
つまり、本実施形態の仮想マシン管理システム100においては、サービス管理表111に保持される条件に応じ、仮想マシンにおいてサービスの外部への提供が行われる場合にフォールトトレラント機能を有効とすることが可能となる。言い換えると、本実施形態の仮想マシン管理システム100においては、負荷が大きく、かつ、外部に対して影響を及ぼす可能性の小さい処理が行われている場合にはフォールトトレラント機能を無効とすることが可能となる。
That is, in the virtual
したがって、仮想マシンの状態の保存等に伴う仮想マシンの一時的な停止等、フォールトトレラント機能に起因する仮想マシンへの負荷を軽減することが可能となる。これにより、仮想マシンの状態の保存が行われることに起因して、外部へのサービス提供が遅延すること等が回避される。 Therefore, it is possible to reduce the load on the virtual machine due to the fault tolerant function, such as temporary stop of the virtual machine accompanying the storage of the state of the virtual machine. As a result, it is possible to avoid delaying the provision of services to the outside due to the storage of the state of the virtual machine.
すなわち、本実施形態における仮想マシン管理システム100は、フォールトトレラント機能に起因する仮想マシンの動作への影響が小さい仮想マシン管理システム等を提供することを可能とする。
That is, the virtual
(第1の実施形態の変形例)
本発明の第1の実施形態においては、種々の変形例が考えられる。
(Modification of the first embodiment)
Various modifications are conceivable in the first embodiment of the present invention.
本実施形態における仮想マシン管理システム100は、仮想マシンを実現する際に必要となる構成として、図2に示す構成とは異なる構成を備えてもよい。また、仮想マシン管理システム100は、一般的なフォールトトレラント機能を実現する際に必要となる構成として、図2に示す構成とは異なる構成を備えてもよい。仮想マシン管理システム100は、少なくとも制御部110及びサービス管理表111を備えることで、フォールトトレラント機能に起因する仮想マシンの動作への影響を軽減することが可能となる。
The virtual
また、別の一例として、本実施形態における仮想マシン管理システム100は、チェックポイントの間隔を変更しなくてもよい。この場合には、仮想マシン管理システム100は、フォールトトレラント機能が有効である場合には、予め定められたチェックポイントの間隔にて仮想マシンの状態を保存する。すなわち、この場合における仮想マシン管理システム100は、図4に示すフローチャートのように動作してもよい。
As another example, the virtual
図4に示すフローチャートにおいては、図3に示すフローチャートのS107にて規定されるチェックポイント間隔の調整に関する動作が省略される。そして、ステップS105又はステップS112にて規定される分岐が“Yes”である場合には、引き続いてステップS108にて規定される通信に関する処理が行われる。図4に示すフローチャートの動作は、上述の点を除き、図3に示すフローチャートと同様に動作する。 In the flowchart shown in FIG. 4, the operation relating to the adjustment of the checkpoint interval defined in S107 of the flowchart shown in FIG. 3 is omitted. If the branch defined in step S105 or step S112 is “Yes”, processing relating to communication defined in step S108 is subsequently performed. The operation of the flowchart shown in FIG. 4 is the same as that of the flowchart shown in FIG. 3 except for the points described above.
また、この場合には、仮想マシン管理システム100のチェックポイント制御部は、チェックポイントにおける仮想マシンの情報の保存についての制御を行う。
In this case, the checkpoint control unit of the virtual
このような場合であっても、仮想マシン管理システム100は、制御部110がサービス管理表111に規定される条件を満たす場合にフォールトトレラント機能を有効にすることで、仮想マシンの動作への影響の軽減が可能となる。
Even in such a case, the virtual
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。図5は、本発明の第2の実施形態における仮想マシン管理システム200の構成を示す図である。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. FIG. 5 is a diagram showing a configuration of the virtual machine management system 200 in the second exemplary embodiment of the present invention.
図5に示すように、本発明の第2の実施形態における仮想マシン管理システム200は、本発明の第1の実施形態における仮想マシン管理システム100と同様の構成を備える。仮想マシン管理システム200において、制御部110は、サービス監視部240における仮想マシンの監視結果に基づいて、仮想マシンの記フォールトトレラント機能に関する状態を制御する。
As shown in FIG. 5, the virtual machine management system 200 according to the second embodiment of the present invention has the same configuration as the virtual
仮想マシンのゲストOSにおいては、一般的に、仮想マシン管理システムや仮想マシンを支援するプログラムが導入される場合がある。本実施形態においては、サービス監視部240は、そのようなプログラムの例である。仮想マシン管理システム200は、サービス監視部240における監視結果を用いて仮想マシンの制御を行う。 In general, a guest OS of a virtual machine may introduce a virtual machine management system or a program that supports the virtual machine. In the present embodiment, the service monitoring unit 240 is an example of such a program. The virtual machine management system 200 controls the virtual machine using the monitoring result in the service monitoring unit 240.
本実施形態においては、サービス監視部240は、一つの動作例として、ゲストOSにて実行されるサービスに関連するプロセスの状態を監視する。すなわち、サービス監視部240は、これらのプロセスの起動や終了等を監視する。サービス監視部240が監視の対象とするプロセスに関連するサービス等は、サービス管理表111にて適宜規定されてもよい。 In the present embodiment, the service monitoring unit 240 monitors the state of a process related to a service executed on the guest OS as one example of operation. That is, the service monitoring unit 240 monitors the start and end of these processes. A service or the like related to a process to be monitored by the service monitoring unit 240 may be appropriately defined in the service management table 111.
監視の対象となるプロセスが起動した場合には、サービス監視部240は、制御部110にフォールトトレラント機能を有効にすべき旨の要求を行う。そして、制御部110は、要求を受けた場合に、フォールトトレラント機能を有効にすべき条件を満たすと判断する。
When the process to be monitored is activated, the service monitoring unit 240 requests the
または、サービス監視部240は、仮想マシンにおいてプロセスが起動した場合に、その旨を制御部110に通知してもよい。この場合には、制御部110は、通知の対象であるプロセスがサービス管理表111に保持される条件に関連するプロセスであるかを比較し、フォールトトレラント機能を有効にすべき条件を満たすと判断してもよい。
Alternatively, the service monitoring unit 240 may notify the
同様に、サービス監視部240は、監視の対象となるプロセスが終了した場合には、サービス監視部240は、制御部111は、フォールトトレラント機能を無効にすべき旨の要求を行う。そして、制御部110は、要求を受けた場合に、他のフォールトトレラント機能を有効とすべき条件を参照しつつ、必要に応じてフォールトトレラント機能を無効にすべき条件を満たすと判断する。または、サービス監視部240は、仮想マシンにおいてプロセスが終了した場合に、その旨を制御部110に通知してもよい。制御部110は、当該通知に基づき、必要に応じてフォールトトレラント機能を有効にすべき条件を満たすと判断してもよい。
Similarly, when the process to be monitored is completed, the service monitoring unit 240 requests that the
別の例として、サービス監視部240は、ゲストOSにて実行されるサービスに関連するプロセスの状態として、当該プロセスのメモリの使用量を監視する。
この場合には、サービス監視部240は、例えば、サービス管理表111に予め定められたメモリの使用量を超えたか否かを監視する。そして、制御部110は、サービス監視部240の監視の結果に基づいて、上述の例における手順と同様の手順等にてフォールトトレラント機能を有効にすべき(又は無効にすべき)条件を満たすと判断する。
As another example, the service monitoring unit 240 monitors the memory usage of the process as the state of the process related to the service executed in the guest OS.
In this case, the service monitoring unit 240 monitors, for example, whether or not a memory usage predetermined in the service management table 111 has been exceeded. Then, based on the monitoring result of the service monitoring unit 240, the
本実施形態においては、仮想マシン管理システム200の通信解析部131は、第1の実施形態において説明した例と同様に、仮想マシンにて実行されるゲストOSにおける通信の内容を解析する。この場合には、制御部110の動作としていくつかの動作が想定される。
In the present embodiment, the
一つの動作として、制御部110は、サービス監視部240における監視の結果に基づいてフォールトトレラント機能の状態に関する制御を行う。制御部110は、フォールトトレラント機能の状態に関する制御においては、通信解析部131による通信を解析した結果を用いない。そして、通信解析部131は、フォールトトレラント機能が無効である場合には、外部へのサービスの提供に関わるパケットを破棄する。このような制御を行うことで、制御部110は、フォールトトレラント機能が有効である場合に限って仮想マシンによる外部へのサービスの提供を行うことを可能にする。
As one operation, the
また、制御部110は、通信解析部131又はサービス監視部240のいずれかからの通知等に基づいてフォールトトレラント機能の状態を制御してもよい。例えば、通信解析部131又はサービス監視部240のいずれかからの通知等がフォールトトレラント機能を有効にすべき条件に関する場合、制御部110は、フォールトトレラント機能を有効にすべき条件を満たすと判断してもよい。この場合には、制御部110は、フォールトトレラント機能を有効にするように制御する。
The
以上のとおり、本発明の第2の実施形態における仮想マシン管理システム200は、制御部110は、フォールトトレラント機能の状態の制御に際して、サービス監視部240における監視の結果を用いる。サービス監視部240は、仮想マシンのゲストOSにて実行されるプロセスの状況を監視する。このことから、制御部110は、そのプロセスの状況に基づいて、フォールトトレラント機能の状態を制御することが可能となる。したがって、本実施形態における仮想マシン管理システム200は、第1の実施形態における仮想マシン管理システム100と同様の効果を奏する。
As described above, in the virtual machine management system 200 according to the second embodiment of the present invention, the
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本発明のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。 The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. The configurations in the embodiments can be combined with each other without departing from the scope of the present invention.
10 ホスト
20、40 仮想マシン
21、41 ゲスト物理メモリ
30 ゲストOS
50 通信ネットワーク
100、200 仮想マシン管理システム
110 制御部
111 サービス管理表
112 チェックポイント制御部
120 メモリ転送制御部
121 転送バッファ
130 ネットワーク制御部
131 通信解析部
132 保留バッファ
500 情報処理装置
501 CPU
502 ROM
503 RAM
504 プログラム
505 記憶装置
506 記憶媒体
507 ドライブ装置
508 通信インターフェース
509 通信ネットワーク
510 入出力インターフェース
511 バス
10
DESCRIPTION OF
502 ROM
503 RAM
504
Claims (8)
前記条件に基づいて、前記仮想マシンの前記フォールトトレラント機能の状態を制御する制御手段と、
前記仮想マシンにおける通信の内容を解析する通信解析手段と、を備え、
前記制御手段は、前記通信解析手段における前記通信の内容の解析結果に基づいて、前記仮想マシンの前記フォールトトレラント機能の状態を制御する、仮想マシン管理システム。 A service management table that holds conditions relating to the state of the fault tolerant function for each of at least one service that is a target of the fault tolerant function of the virtual machine;
Control means for controlling the state of the fault tolerant function of the virtual machine based on the condition ;
E Bei and a communication analysis means for analyzing the contents of the communication in the virtual machines,
The virtual machine management system , wherein the control unit controls a state of the fault tolerant function of the virtual machine based on an analysis result of the communication content in the communication analysis unit .
前記判定の結果に基づいて、前記仮想マシンの前記フォールトトレラント機能に関する状態を変更するように制御し、
前記仮想マシンにおける通信の内容を解析し、
前記通信の内容の解析結果に基づいて、前記仮想マシンの前記フォールトトレラント機能の状態を制御する、仮想マシンの管理方法。 Determining whether at least one of the services satisfies the condition based on a condition for enabling the fault tolerant function for each of at least one service that is a target of the fault tolerant function of the virtual machine;
Based on the result of the determination, control to change the state related to the fault tolerant function of the virtual machine ,
Analyzing the content of communication in the virtual machine,
A virtual machine management method for controlling a state of the fault tolerant function of the virtual machine based on an analysis result of the communication content .
仮想マシンのフォールトトレラント機能の対象となる少なくとも一つのサービスの各々に対する前記フォールトトレラント機能を有効にすべき条件に基づいて、前記サービスの少なくとも一つが前記条件を満たすか否かを判定する処理と、
前記判定の結果に基づいて、前記仮想マシンの前記フォールトトレラント機能に関する状態を変更するように制御する処理と、
前記仮想マシンにおける通信の内容を解析する処理と、を実行させ、
前記制御する処理は、前記解析する処理における前記通信の内容の解析結果に基づいて、前記仮想マシンの前記フォールトトレラント機能の状態を制御する、プログラム。 On the computer,
A process of determining whether at least one of the services satisfies the condition based on a condition for enabling the fault tolerant function for each of at least one service to be a target of the fault tolerant function of the virtual machine;
Based on the result of the determination, a process for controlling the virtual machine to change a state related to the fault tolerant function ;
Processing to analyze the content of communication in the virtual machine ,
The control process is a program that controls a state of the fault tolerant function of the virtual machine based on an analysis result of the content of the communication in the analysis process .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015183660A JP6582785B2 (en) | 2015-09-17 | 2015-09-17 | Virtual machine management system, virtual machine management method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015183660A JP6582785B2 (en) | 2015-09-17 | 2015-09-17 | Virtual machine management system, virtual machine management method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017058997A JP2017058997A (en) | 2017-03-23 |
JP6582785B2 true JP6582785B2 (en) | 2019-10-02 |
Family
ID=58390998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015183660A Active JP6582785B2 (en) | 2015-09-17 | 2015-09-17 | Virtual machine management system, virtual machine management method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6582785B2 (en) |
-
2015
- 2015-09-17 JP JP2015183660A patent/JP6582785B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017058997A (en) | 2017-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9183099B2 (en) | Replication of a write-back cache using a placeholder virtual machine for resource management | |
US10255147B2 (en) | Fault tolerance for containers in a virtualized computing environment | |
US9256464B2 (en) | Method and apparatus to replicate stateful virtual machines between clouds | |
US9158578B1 (en) | System and method for migrating virtual machines | |
US8713362B2 (en) | Obviation of recovery of data store consistency for application I/O errors | |
US20150058520A1 (en) | Detection of hot pages for partition migration | |
US9588844B2 (en) | Checkpointing systems and methods using data forwarding | |
CN110224871A (en) | A kind of high availability method and device of Redis cluster | |
JP2010044613A (en) | Anti-virus method, computer, and program | |
Deshpande et al. | Scatter-gather live migration of virtual machines | |
WO2012004902A1 (en) | Computer system and system switch control method for computer system | |
JP6123626B2 (en) | Process resumption method, process resumption program, and information processing system | |
WO2015024475A1 (en) | Detection of hot pages for partition hibernation | |
WO2012063334A1 (en) | Memory control device and i/o switch for assisting live migration of virtual machine | |
JP2004234114A (en) | Computer system, computer device, and method and program for migrating operating system | |
JP5437556B2 (en) | Information processing apparatus and processor function changing method | |
Su et al. | Rpff: A remote page-fault filter for post-copy live migration | |
JP2012243096A (en) | Guest os management device, guest os management method, and guest os management program | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
JP6582785B2 (en) | Virtual machine management system, virtual machine management method and program | |
WO2016056074A1 (en) | Computer system and memory dump method | |
CN113032091B (en) | Method, system and medium for improving storage performance of virtual machine by adopting AEP | |
Eswaran et al. | Tackling memory footprint expansion during live migration of virtual machines,” | |
US20180052703A1 (en) | Maintaining security system information in virtualized computing environments | |
JP5478372B2 (en) | Guest OS control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190625 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190731 |
|
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: 20190806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190819 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6582785 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |