JP6045397B2 - Virtual computer system, fault simulation method and fault simulation program for virtual computer system - Google Patents
Virtual computer system, fault simulation method and fault simulation program for virtual computer system Download PDFInfo
- Publication number
- JP6045397B2 JP6045397B2 JP2013038796A JP2013038796A JP6045397B2 JP 6045397 B2 JP6045397 B2 JP 6045397B2 JP 2013038796 A JP2013038796 A JP 2013038796A JP 2013038796 A JP2013038796 A JP 2013038796A JP 6045397 B2 JP6045397 B2 JP 6045397B2
- Authority
- JP
- Japan
- Prior art keywords
- failure
- virtual
- guest
- information
- simulation
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、準仮想化を利用した仮想計算機における仮想計算機システム及び仮想計算機システムの障害模擬方法及び障害模擬プログラムに関する。特に、準仮想化を利用したゲスト計算機においてハードウェア障害を模擬し、障害処理機能の動作確認を行う仮想計算機システム及び仮想計算機システムの障害模擬方法及び障害模擬プログラムに関する。 The present invention relates to a virtual machine system in a virtual machine using para-virtualization, a fault simulation method of a virtual machine system, and a fault simulation program. In particular, the present invention relates to a virtual computer system that simulates a hardware failure in a guest computer using para-virtualization and checks the operation of a failure processing function, a failure simulation method of the virtual computer system, and a failure simulation program.
仮想化技術を用いて複数の計算機を集約することはサーバリソースの有効活用や運用コストダウンの面で有用であり、近年、仮想化技術を用いてサーバの集約を行う事例が増加している。このような事例の増加に伴い、重要となるのが仮想計算機の信頼性である。 Aggregating a plurality of computers using virtualization technology is useful in terms of effective use of server resources and reducing operational costs, and in recent years, cases of server aggregation using virtualization technology are increasing. As the number of cases increases, the reliability of virtual machines becomes important.
1台の計算機上に複数の仮想計算機を集約した構成は、ホスト計算機の障害がゲスト計算機に大きな影響を与えることとなるため、ホスト計算機に障害が発生した場合のゲスト計算機及びゲスト計算機上のアプリケーションの動作検証を行うことは重要である。
このような背景のもと、仮想化環境上でハードウェア障害を模擬し、ゲストアプリケーションの動作確認が行われるようになってきている。
In a configuration in which multiple virtual machines are aggregated on a single computer, the failure of the host computer has a large effect on the guest computer, so the guest computer and the application on the guest computer when a failure occurs in the host computer It is important to verify the operation.
Against this background, it is becoming possible to check the operation of a guest application by simulating a hardware failure in a virtual environment.
仮想化環境において、I/Oポート、メモリマップドI/O、あるいは割り込みに関する情報を模擬し、仮想化環境に構築したシステムの障害処理機能の正常性を確認できるようにする技術がある(例えば、特許文献1参照)。 There is a technique for simulating information on I / O ports, memory-mapped I / O, or interrupts in a virtualized environment so that the normality of a fault processing function of a system built in the virtualized environment can be confirmed (for example, , See Patent Document 1).
仮想化環境では、デバイスエミュレーションの方式が2通りある。
1つ目は完全仮想化と呼ばれる方式で、実デバイスの動作をデバイスレジスタまで含めて全て再現するものである。完全仮想化では実デバイスが完全に再現されるため、ゲストOS(Operating・System)のデバイスドライバは実計算機で動作する時と同じものが使用可能である。しかし、デバイスエミュレーションが大きなオーバヘッドとなるため、ゲストOSのデバイスI/O性能は高くない。
In the virtual environment, there are two device emulation methods.
The first is a method called complete virtualization, which reproduces all the operations of the real device including the device registers. Since the real device is completely reproduced in the complete virtualization, the same device driver as that used in the real computer can be used as the guest OS (Operating System) device driver. However, since device emulation is a large overhead, the device I / O performance of the guest OS is not high.
それに対し、2つ目の準仮想化と呼ばれる方式では、デバイスエミュレーションを簡略化し、ホストOS−ゲストOS間のインタフェース(以下I/F)を仮想化環境に都合の良いように実装したものである。
準仮想化方式ではデバイスI/Oは、ホストOS−ゲストOS間の共有メモリを用いたアドレス渡しによるゼロコピーI/Oとなるため、完全仮想化方式に比べて高速なデバイスI/Oが可能となる。また、デバイスエミュレーションなどの処理が簡略化されるため、準仮想化方式ではCPU使用率を低減可能である。
On the other hand, in the second method called para-virtualization, device emulation is simplified and an interface between the host OS and the guest OS (hereinafter referred to as I / F) is mounted so as to be convenient for the virtual environment. .
In the para-virtualization method, device I / O is zero-copy I / O by address passing using shared memory between the host OS and guest OS, enabling faster device I / O than the full virtualization method. It becomes. In addition, since processing such as device emulation is simplified, the CPU usage rate can be reduced in the para-virtualization method.
特許文献1に示されている技術は、完全仮想化方式を対象としたものである。準仮想化技術を適用した仮想化環境においては、ゲストOSのデバイスドライバは、共有メモリを使用したデバイスI/Oに対応するための専用の実装となっている。そのため、準仮想化技術を適用した際のゲストOSのデバイスドライバでは、デバイスドライバ自体に障害を検出する機能が備わっていないため、模擬した障害をゲストOSにて検出することができないという課題がある。
The technique disclosed in
本発明は、このような課題を解決するためになされたもので、準仮想化を適用した仮想化環境において、仮想マシンモニタで模擬したハードウェア障害をゲストOS上のデバイスドライバで検出可能とし、検出したハードウェア障害をゲストOSまたはゲストのアプリケーションへと通知する仕組みを持つ仮想計算機システムを得ることを目的とする。 The present invention has been made to solve such problems. In a virtual environment to which paravirtualization is applied, a hardware failure simulated by a virtual machine monitor can be detected by a device driver on a guest OS. It is an object to obtain a virtual machine system having a mechanism for notifying a detected hardware failure to a guest OS or a guest application.
本発明に係る仮想計算機システムは、
仮想計算機モニタにより準仮想化方式を用いて実現されるゲスト計算機であって、前記仮想計算機モニタにより仮想ハードウェアが割り当てられるゲスト計算機が動作する仮想計算機システムにおいて、
前記仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を入力する障害模擬要求入力部を備え、
前記ゲスト計算機は、
前記仮想ハードウェアを操作するゲスト側ドライバを備え、
前記ゲスト側ドライバは、
記憶装置に記憶される障害情報テーブルであって、前記障害模擬要求入力部により入力された前記障害模擬要求に含まれる前記障害定義情報が設定される障害情報テーブルと、
前記障害情報テーブルに前記障害定義情報が設定されているか否かを処理装置により判定する障害判定部と、
前記障害判定部により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害情報テーブルに設定されている前記障害定義情報に基づいて、
前記仮想ハードウェアの障害を模擬する障害模擬部とを備えることを特徴とする。
The virtual machine system according to the present invention is
In a virtual computer system in which a guest computer that is realized using a para-virtualization method by a virtual computer monitor and the guest computer to which virtual hardware is allocated by the virtual computer monitor operates,
A fault simulation request for requesting simulation of a fault of the virtual hardware, comprising a fault simulation request input unit for inputting a fault simulation request including fault definition information in which fault information for which simulation is requested is defined;
The guest computer is
A guest side driver for operating the virtual hardware,
The guest driver is
A failure information table stored in a storage device, the failure information table in which the failure definition information included in the failure simulation request input by the failure simulation request input unit is set;
A failure determination unit that determines whether or not the failure definition information is set in the failure information table by a processing device;
When the failure determination unit determines that the failure definition information is set in the failure information table, based on the failure definition information set in the failure information table,
And a failure simulation unit that simulates a failure of the virtual hardware.
本発明の一の態様に係る仮想計算機システムによれば、準仮想化技術を適用した仮想計算機システムにおいても、模擬した障害をゲスト計算機の障害判定部により検出可能となり、障害が発生した際のゲスト計算機の動作確認を行うことが可能となるという効果を奏する。 According to the virtual computer system according to one aspect of the present invention, even in the virtual computer system to which the para-virtualization technology is applied, the simulated failure can be detected by the failure determination unit of the guest computer, and the guest when the failure occurs There is an effect that it is possible to check the operation of the computer.
実施の形態1.
本実施の形態に係る仮想計算機システム800は、準仮想化を利用した仮想計算機(ゲスト計算機)において模擬したハードウェア障害を、ゲストOSのデバイスドライバで検出し、ゲストOS及びゲストアプリケーションへの障害通知を行うものである。
The virtual computer system 800 according to the present embodiment detects a hardware failure simulated in a virtual computer (guest computer) using para-virtualization using a device driver of the guest OS, and notifies the guest OS and guest application of the failure. Is to do.
図1は、本実施の形態に係る仮想計算機システム800のシステム構成を示す図である。
図1を用いて、本実施の形態に係る仮想計算機システム800のシステム構成について説明する。
FIG. 1 is a diagram showing a system configuration of a virtual machine system 800 according to the present embodiment.
A system configuration of a virtual machine system 800 according to the present embodiment will be described with reference to FIG.
図1は、準仮想化技術を用いた仮想計算機システム800の構成例を示したものであり、ホストOS組み込み型のホストOS型仮想マシンモニタを用いた構成である。
仮想計算機システム800は、実計算機100、ホストOS200、仮想計算機300、ゲストOS400、ゲストAPP(Application)500(ゲストアプリケーション)を備える。
FIG. 1 shows a configuration example of a virtual computer system 800 using a para-virtualization technology, and uses a host OS embedded type host OS type virtual machine monitor.
The virtual machine system 800 includes a
実計算機100は、コンピュータであり、仮想計算機システム800を動作させるための物理ハードウェアである。実計算機100は、CPU、メモリ、割込みコントローラなどを備える。
The
ホストOS200(ホスト計算機)は、実計算機100上で動作するソフトウェアであり、CPUやメモリなどのハードウェア資源を抽象化してアプリケーションに提供する。本実施の形態に係るホストOS200には、仮想マシンモニタ210(仮想計算機モニタ)が組み込まれている。
The host OS 200 (host computer) is software that operates on the
仮想マシンモニタ210は、実計算機100上で複数のOSを動作させるためのソフトウェアであり、仮想計算機300を作成しゲストOS400に提供する。ゲストOS400が動作する仮想計算機300はゲスト計算機の一例である。
The
本実施の形態に係る仮想マシンモニタ210は、ホストOS型仮想マシンモニタである。
ホストOS型仮想マシンモニタとは、実計算機100上でホストOS200が動作しており、ホストOS200上で仮想マシンモニタ210及びゲストOS400が動作するものである。そして、ゲストOS400上においてゲストAPP500が動作する。
The virtual machine monitor 210 according to the present embodiment is a host OS type virtual machine monitor.
In the host OS type virtual machine monitor, the
特に本実施の形態では、仮想マシンモニタ210が、ホストOS200の中にCPUやメモリなどのハードウェア資源を直接コントロールするカーネルモジュールとして組み込まれた形態の仮想計算機システム800を一例として示す。
Particularly, in the present embodiment, a virtual machine system 800 in which the
本実施の形態では、仮想マシンモニタ210及びゲストOS400には準仮想化技術が適用されているものとする。
準仮想化技術とは、仮想計算機システム800向けのデバイスI/O高速化技術である。準仮想化技術を適用した環境では、ゲストOS400のデバイスドライバが仮想マシンモニタ210との間に共有メモリ430を備える。
In this embodiment, it is assumed that the para-virtualization technology is applied to the
The para-virtualization technology is a device I / O acceleration technology for the virtual computer system 800. In an environment to which the para-virtualization technology is applied, the device driver of the
準仮想化技術を適用した仮想計算機システム800では、この共有メモリ430を用いることで高速なデバイスI/Oが可能となる。
また、仮想マシンモニタ210でのデバイスエミュレーションが簡略化されるため、実計算機100のCPU負荷を低減することが可能である。
準仮想化技術では、仮想マシンモニタ210によりゲストOS400に対し、仮想H/W(仮想ハードウェア)が割り当てられる。準仮想化技術を利用するためには、ゲストOS400及び仮想マシンモニタ210が準仮想化に対応した専用のドライバであって、仮想H/Wを操作するためのドライバを備えていることが必要となる。
In the virtual computer system 800 to which the para-virtualization technology is applied, by using this shared
In addition, since device emulation in the
In the para-virtualization technology, a virtual H / W (virtual hardware) is assigned to the
図1に示すように、ゲストOS400には、準仮想化に対応したドライバとして、フロントエンドドライバ420(ゲスト側ドライバの一例)が組み込まれる。また、仮想マシンモニタ210には、準仮想化に対応したドライバとして、バックエンドドライバ220(モニタ側ドライバの一例)が組み込まれる。
As shown in FIG. 1, the
図2は、本実施の形態に係る仮想計算機システム800のブロック構成図である。図2を用いて、本実施の形態に係る仮想計算機システム800のブロック構成について説明する。 FIG. 2 is a block configuration diagram of the virtual machine system 800 according to the present embodiment. A block configuration of the virtual machine system 800 according to the present embodiment will be described with reference to FIG.
図2に示すように、仮想計算機システム800は、さらに、H/W障害操作ツール310、仮想マシンモニタ管理用API230、H/W障害情報設定部320、障害判定部450、障害模擬部451、障害通知部452、通常処理部453、H/W障害情報テーブル440を備える。H/W障害情報テーブル440は、共有メモリ430(共有記憶領域)に記憶されている。「H/W」とは、「Hardware(ハードウェア)」の略である。「API」とは、「Application・Programming・Interface」の略である。
As shown in FIG. 2, the virtual computer system 800 further includes an H / W
H/W障害操作ツール310は、ホストOS200上で動作するアプリケーションである。H/W障害操作ツール310は、ユーザがH/W障害を操作するときのユーザインタフェースとなる。
仮想計算機システム800は、H/W障害を模擬し、H/W障害に対するシステムの機能を確認する障害模擬システムの一例である。
H/W障害操作ツール310は、仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を、例えば、ユーザから入力する。H/W障害操作ツール310は、障害模擬要求入力部の一例である。
The H / W
The virtual computer system 800 is an example of a failure simulation system that simulates an H / W failure and confirms the function of the system against the H / W failure.
The H / W
仮想マシンモニタ管理用API230は、仮想計算機300(仮想マシン)の仮想メモリや仮想ネットワークを管理するライブラリである。
本実施の形態では、一例として仮想マシンモニタ管理用API230を使用するが、仮想マシンモニタ210を外部から操作可能なモジュールであれば仮想マシンモニタ管理用API230に限るものではない。
The virtual machine
In the present embodiment, the virtual machine
H/W障害情報設定部320(障害情報設定部)は、フロントエンドドライバ420−バックエンドドライバ220間で使用可能な共有メモリ430領域に構築されたH/W障害情報テーブル440(障害情報テーブル)に対し、H/W障害情報441(障害定義情報)を書き込む機能モジュールである。
本実施の形態では、H/W障害情報設定部320は、仮想マシンモニタ210のバックエンドドライバ220に搭載されている。
The H / W failure information setting unit 320 (failure information setting unit) is an H / W failure information table 440 (failure information table) constructed in a shared
In the present embodiment, the H / W failure
図3は、本実施の形態に係るH/W障害情報テーブル440の構成の一例を示す図である。図3を用いて、本実施の形態に係るH/W障害情報テーブル440の構成について説明する。 FIG. 3 is a diagram showing an example of the configuration of the H / W failure information table 440 according to the present embodiment. The configuration of the H / W failure information table 440 according to the present embodiment will be described with reference to FIG.
H/W障害情報テーブル440は、模擬を実行するH/W障害についての情報が設定されるテーブルである。H/W障害情報テーブル440には、H/W障害操作ツール310により入力された障害内容指示(障害模擬要求)に含まれるH/W障害情報441(障害定義情報)が設定される。H/W障害情報441には、障害の種別を特定する障害種別情報と、障害の内容を特定する障害内容情報とが含まれる。
The H / W failure information table 440 is a table in which information about an H / W failure for executing simulation is set. In the H / W failure information table 440, H / W failure information 441 (failure definition information) included in the failure content instruction (failure simulation request) input by the H / W
図3に示すように、H/W障害情報テーブル440には、デバイス毎にH/W障害情報441が設定されている。例えば、デバイスAのH/W障害情報441a、デバイスBのH/W障害情報441b、・・・等のように構成される。
As shown in FIG. 3, H / W failure information 441 is set for each device in the H / W failure information table 440. For example, H /
H/W障害情報441には、H/W情報、障害の種別、障害の内容、レジスタの値などの情報(H/W情報、障害の種別、障害の内容、レジスタの値などをまとめて、以下、H/W障害情報441とする)を持つ。このH/W障害情報441は、ゲストOS400の仮想デバイス1つにつき1つずつ存在する。
The H / W failure information 441 includes information such as H / W information, failure type, failure content, register value (H / W information, failure type, failure content, register value, etc. Hereinafter, it is referred to as H / W failure information 441). One H / W failure information 441 exists for each virtual device of the
「H/W情報」は、H/W障害を生成する対象の仮想デバイスを示す情報が設定される。設定されたH/W情報から、H/W障害を生成する対象のゲストOS400や仮想デバイスが特定される。
「H/W情報」には、例えば、ブロックデバイスであればホストOS200上でのファイルのパスなどが設定される。ネットワークデバイスであればMACアドレスなどの仮想H/Wを特定することのできる情報が設定される。
In “H / W information”, information indicating a virtual device that is a target for generating an H / W failure is set. From the set H / W information, the
In the “H / W information”, for example, a file path on the
「障害の種別」は、模擬を行う障害を示す情報である。「障害の種別」は、H/W障害生成が指示されていないときと、H/W障害生成が指示されているときと、を明確に区別することが可能なものとする。
本実施の形態では、例えば、「障害の種別」の値が0の場合はH/W障害の生成指示なし、0以外の場合をH/W障害生成の指示がある場合とする。また、0以外の値が設定されていた場合、設定されている値によって生成するH/W障害を判別可能であるものとする。例えば、「障害の種別」の値が1だった場合は仮想デバイスの応答遅延を模擬する、「障害の種別」の値が2だった場合は仮想デバイスの無応答状態を模擬するなどである。
“Fault type” is information indicating a fault to be simulated. The “failure type” can clearly distinguish between the case where H / W failure generation is not instructed and the case where H / W failure generation is instructed.
In the present embodiment, for example, when the value of “failure type” is 0, there is no H / W failure generation instruction, and when it is other than 0, there is an H / W failure generation instruction. Further, when a value other than 0 is set, it is assumed that the H / W failure generated by the set value can be determined. For example, when the value of “failure type” is 1, the response delay of the virtual device is simulated, and when the value of “failure type” is 2, the non-response state of the virtual device is simulated.
「障害の内容」は、「障害の種別」で指定したH/W障害を模擬するための具体的な処理方法を指示するための値である。
生成する(模擬する)H/W障害が仮想デバイスの応答遅延だった場合を例とする。この場合、「障害の内容」に応答を遅延させる時間を設定する。「障害の内容」に設定する遅延時間は、任意に指定可能とする。
また、生成するH/W障害が仮想デバイスの無応答だった場合を例とする。この場合は、「障害の内容」に仮想デバイスの応答を破棄する回数を指定することで、「障害の内容」で指定された回数分だけ仮想デバイスが無応答になるように障害を模擬する。
The “contents of failure” is a value for instructing a specific processing method for simulating the H / W failure specified by “type of failure”.
The case where the H / W failure to be generated (simulated) is a response delay of the virtual device is taken as an example. In this case, a time for delaying the response is set in “contents of failure”. The delay time set in “content of failure” can be arbitrarily specified.
Further, a case where the H / W failure to be generated is no response from the virtual device is taken as an example. In this case, by specifying the number of times the virtual device response is discarded in the “failure content”, the failure is simulated so that the virtual device becomes unresponsive for the number of times specified in the “failure content”.
「レジスタ値」は、仮想デバイスのデバイスレジスタの値として設定したい値を格納する。デバイスレジスタとは、ゲストOS400とデバイスとを通信させるための情報が格納されているレジスタである。
仮想計算機システム800に準仮想化を適用した場合は、仮想マシンモニタ210によってデバイスレジスタが模擬されないため、実際には仮想デバイスのデバイスレジスタは存在しない。しかし、後述する障害模擬部451あるいは障害通知部452等が、ゲストOS400またはゲストAPP500(ゲストアプリケーション)に対し、H/W障害を通知する際にデバイスレジスタの値を渡さなければならない場合がある。このような場合、障害模擬部451あるいは障害通知部452等は、「レジスタ値」に格納されている値を使用する。また、H/W障害発生時にゲストOS400からデバイスレジスタの参照依頼があった際にも、「レジスタ値」に任意の値を格納して渡すことが可能である。ゲストOS400からのデバイスレジスタの参照依頼とは、例えば、該デバイスにアクセスがあった場合などである。
The “register value” stores a value to be set as the value of the device register of the virtual device. The device register is a register in which information for communicating the
When para-virtualization is applied to the virtual machine system 800, the device register is not simulated by the
障害判定部450は、仮想マシンモニタ210からの仮想割込みが入った場合に、フロントエンドドライバ420内の割込みハンドラから呼び出される。障害判定部450は、共有メモリ430内のH/W障害情報テーブル440に従い、障害の模擬が指示されているかどうかの判定を行う。
障害判定部450は、H/W障害情報テーブル440内の「障害の種別」の値が0にクリアされているか、0以外の値が設定されているかを処理装置により判定することで、H/W障害生成の指示の有無の判定を実行する。
The
The
障害模擬部451は、共有メモリ430のH/W障害情報テーブル440の内容に基づいて、H/W障害を模擬する。障害模擬部451は、ゲストOS400及びゲストAPP500が必要とする障害内容、障害情報の模擬を行う。
The failure simulation unit 451 simulates an H / W failure based on the contents of the H / W failure information table 440 in the shared
障害通知部452は、H/Wで発生した障害をゲストOS400またはゲストAPP500に通知する。
The
通常処理部453は、デバイスI/O、デバイスI/O完了処理などのデバイスドライバとしての通常機能を果たす部分である。
The
図4は、実計算機100のハードウェア構成の一例を示す図である。
FIG. 4 is a diagram illustrating an example of a hardware configuration of the
図4において、実計算機100は、コンピュータであり、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
In FIG. 4, an
実計算機100は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive:磁気ディスク装置)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ、あるいは、その他の記録媒体が用いられてもよい。
The
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。
The
通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LANに限らず、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されていても構わない。LAN、WAN、インターネットは、ネットワークの一例である。
The
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記録媒体に記憶される。RAM914やHDD920等の記録媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
The
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
The arrows in the block diagrams and flowcharts used in the description of this embodiment mainly indicate input / output of data and signals. Data and signals are recorded in memory such as
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
In the description of the present embodiment, what is described as “to part” may be “to circuit”, “to device”, “to device”, and “to step”, “to process”, “to”. ~ Procedure "," ~ process ". That is, what is described as “˜unit” may be realized by firmware stored in the
次に、仮想計算機システム800におけるH/W障害模擬方式を実現するための動作について説明する。
図5は、本実施の形態に係る仮想計算機システム800のH/W障害模擬方式の動作を示すシーケンス図である。図5では、ユーザがH/W障害操作ツール310を使用してH/W障害情報テーブル440にH/W障害情報441をセットするまでのシーケンスを示す。
図6は、本実施の形態に係る仮想計算機システム800のH/W障害模擬方式の動作を示すシーケンス図である。図6は、H/W障害情報テーブル440にH/W障害情報441がセットされているときのゲストOS400の動作を示したものである。
図7は、本実施の形態に係る仮想計算機システム800のH/W障害模擬方式の動作を示すシーケンス図である。図7は、H/W障害情報テーブル440にH/W障害情報441がセットされていないときのゲストOS400の動作を示したものである。
Next, an operation for realizing the H / W failure simulation method in the virtual computer system 800 will be described.
FIG. 5 is a sequence diagram showing the operation of the H / W failure simulation method of the virtual machine system 800 according to this embodiment. FIG. 5 shows a sequence until the user sets the H / W failure information 441 in the H / W failure information table 440 using the H / W
FIG. 6 is a sequence diagram showing the operation of the H / W failure simulation method of the virtual machine system 800 according to this embodiment. FIG. 6 shows the operation of the
FIG. 7 is a sequence diagram showing the operation of the H / W failure simulation method of the virtual machine system 800 according to this embodiment. FIG. 7 shows the operation of the
図5を用いて、ユーザがH/W障害操作ツール310を使用してH/W障害情報テーブル440にH/W障害情報441をセットするまでのシーケンスについて説明する。
まず、仮想計算機システム800のユーザがH/W障害模擬方式を利用する場合、実計算機100のディスプレイ等(入力装置)から、H/W障害操作ツール310に対して、H/W情報、障害の種別、障害の内容などのH/W障害情報441の元となる情報を入力する。
つまり、ユーザがH/W障害操作ツール310を用いて仮想マシンモニタ管理用API230に対してH/W障害の生成を指示する。
A sequence until the user sets the H / W failure information 441 in the H / W failure information table 440 using the H / W
First, when the user of the virtual computer system 800 uses the H / W failure simulation method, H / W information and failure information are displayed on the H / W
That is, the user instructs the virtual machine
S100において、H/W障害操作ツール310は、仮想マシンモニタ管理用API230に対し、ユーザにより入力されたH/W障害の内容情報を出力し、H/W障害の生成を指示するH/W障害生成指示を出力する。このH/W障害生成指示には、H/W障害模擬の対象とするゲストOS400、仮想デバイス、H/W障害の種別、H/W障害の内容、デバイスレジスタの値などの情報が含まれる。
In S100, the H / W
S101において、仮想マシンモニタ管理用API230は、H/W障害操作ツール310からH/W障害生成指示を入力する。仮想マシンモニタ管理用API230は、H/W障害生成指示を入力すると、仮想マシンモニタ210内のH/W障害情報設定部320に対してH/W障害生成命令を発行(出力)する。
In S 101, the virtual machine
S102において、H/W障害情報設定部320は、仮想マシンモニタ管理用API230からH/W障害生成命令を入力する。このH/W障害生成命令には、H/W障害模擬の対象とするゲストOS400(以下、模擬対象ゲストOS400aとする)、仮想デバイス、H/W障害の種別、H/W障害の内容、デバイスレジスタの値などの情報が含まれる。
H/W障害情報設定部320は、H/W障害生成命令を入力すると、入力したH/W障害生成命令に基づいて、共有メモリ430のH/W障害情報テーブル440の模擬対象ゲストOS400aのH/W障害情報441aに、H/W障害の情報をセットする。
In S <b> 102, the H / W failure
When an H / W failure generation command is input, the H / W failure
H/W障害情報設定部320は、H/W障害生成命令により指定された模擬対象ゲストOS400aのH/W障害情報441aに、H/W障害の情報をセットする。
そして、H/W障害情報設定部320によるH/W障害情報441aへのH/W障害の情報のセットの直後、バックエンドドライバ220は、模擬対象ゲストOS400aに対して仮想割り込みを上げる。
つまり、H/W障害情報設定部320がH/W障害情報441aへH/W障害の情報の設定を実行するとともに、バックエンドドライバ220が模擬対象ゲストOS400aに対して仮想割り込み信号を送信する。
The H / W failure
Then, immediately after the H / W failure
That is, the H / W failure
S103に示すように、共有メモリ430のH/W障害情報テーブル440のH/W障害情報441aに、正常にH/W障害の情報がセットされると書込完了信号がH/W障害情報設定部320に出力される。
S104において、H/W障害情報設定部320は、共有メモリ430から書込完了信号を受信すると、H/W障害生成命令に対応するH/W障害生成応答を仮想マシンモニタ管理用API230に送信する。
S105において、仮想マシンモニタ管理用API230は、H/W障害情報設定部320からH/W障害生成応答を受信すると、H/W障害生成指示に対応するH/W障害生成指示応答をH/W障害操作ツール310に送信する。
H/W障害操作ツール310は、仮想マシンモニタ管理用API230からH/W障害生成指示応答を受信すると、ユーザからのH/W障害生成の指示に対応するH/W障害生成の完了通知を実計算機100のディスプレイなどに出力するとしてもよい。
As shown in S103, when the H / W failure information is normally set in the H /
In S104, upon receiving a write completion signal from the shared
In S105, when receiving the H / W failure generation response from the H / W failure
When the H / W
図6は、H/W障害情報テーブル440のH/W障害情報441がセットされているときのゲストOS400の動作を示したものである。
FIG. 6 shows the operation of the
まず、S200において、バックエンドドライバ220から模擬対象のゲストOS400のフロントエンドドライバ420に仮想割り込みが上がってくる(図5のS102の処理の記載を参照)と、まず、フロントエンドドライバ420内の割込みハンドラから障害判定部450に処理が入る。
First, in S200, when a virtual interrupt is raised from the back-
S201において、障害判定部450は、共有メモリ430内のH/W障害情報テーブル440を参照し、H/W障害情報441がセットされているかどうかを処理装置により判定する。
ここではH/W障害情報441がセットされているため、障害判定部450は、H/W障害情報テーブル440にH/W障害情報441がセットされていると判定し、H/W障害情報441を読み込む(S202)。
In S201, the
Since the H / W failure information 441 is set here, the
次に、処理は障害模擬部451及び障害通知部452に移る(S203及びS205)。 Next, the process proceeds to the failure simulation unit 451 and the failure notification unit 452 (S203 and S205).
S203において、障害判定部450は、例えば、読み込んだH/W障害情報441を含む障害模擬信号を障害模擬部451に送信する。
障害模擬部451は、障害判定部450から障害模擬信号を受信すると、障害模擬信号に含まれるH/W障害情報441に基づいて、H/W障害を模擬的に発生させる。
また、障害模擬部451は、ゲストOS400またはゲストAPP500から障害内容の参照があった場合には、障害判定部450から受信した障害模擬信号に含まれるH/W障害情報441を元にH/W障害の内容を模擬し、その内容をゲストOS400またはゲストAPP500へ返答する。この際模擬される内容は、例えばデバイスレジスタの内容などである。
In S203, the
When receiving the failure simulation signal from the
Further, the failure simulation unit 451, when there is a reference to the failure content from the
S204において、障害模擬部451は、H/W障害の模擬が完了すると、障害模擬信号に対する障害模擬完了信号を障害判定部450に送信する。
In S204, when the simulation of the H / W failure is completed, the failure simulation unit 451 transmits a failure simulation completion signal for the failure simulation signal to the
S205において、障害判定部450は、障害模擬部451から障害模擬完了信号を受信すると、ゲストOS400またはゲストAPP500に対してH/W障害の通知を指示する障害通知指示を、障害通知部452に送信する。
In S205, when the
S206において、障害通知部452は、障害判定部450から障害通知指示を受信すると、ゲストOS400またはゲストAPP500に対してH/W障害が発生したことを通知する。障害通知部452は、ゲストOS400に備えられた障害通知機能を用いて、H/W障害の通知を実行する。これにより、H/W障害が実際に発生していない場合であっても、ゲストOS400に備えられた障害通知機能が正常に機能するかどうかの検証をすることができる。
ここでは、模擬したH/W障害の通知を受けたゲストOS400またはゲストAPP500の動作については、特に言及しない。ゲストOS400に備えられた障害通知機能によるH/W障害の通知がドライバから上がってくるという構成は、実計算機システムでのH/W障害発生時の障害通知動作と同様である。ゲストOS400の障害通知機能は、例えば、ディスプレイなどにH/W障害メッセージを表示するなどの動作を行う。
In S206, when receiving the failure notification instruction from the
Here, the operation of the
S207において、ゲストOS400の障害通知機能は、ディスプレイなどにH/W障害メッセージを表示するなどの障害通知動作が完了したか否かについて、障害通知動作応答を障害通知部452に送信する。例えば、ゲストOS400の障害通知機能が正常に動作しなかった場合などには、ゲストOS400の障害通知機能は、エラーメッセージを表示したり、ゲストOS400をダウンさせるなどして、ゲストOS400の障害通知機能が正常に動作しないことを障害通知動作応答によりユーザに通知するなどしてもよい。
In S207, the failure notification function of the
S208において、障害通知部452は、ゲストOS400から障害通知動作応答を受信すると、障害判定部450に対して障害通知動作応答の内容に基づいて、障害判定部450に対して障害通知指示応答を送信する。
障害通知部452は、障害判定部450によりH/W障害情報テーブル440にH/W障害情報441が設定されていると判定された場合に、H/W障害情報441に含まれる障害種別情報と障害内容情報とを含む情報を通知する。
In S208, when receiving the failure notification operation response from the
When the
障害判定部450は、障害通知部452からの障害通知指示応答を受信する。障害判定部450は、例えば、受信した障害通知指示応答の内容に基づいて、ユーザに対してH/W障害時の動作についての結果を発行する。
例えば、障害判定部450は、模擬したH/W障害と、その後のゲストOS400あるいはゲストAPP500の動作を対応付けた一覧をディスプレイに表示するなどしてもよい。
The
For example, the
図7は、H/W障害情報テーブル440にH/W障害情報441がセットされていないときのゲストOS400の動作を示したものである。仮想計算機システム800において、H/W障害情報テーブル440にH/W障害情報441がセットされていない場合に、デバイスに対してアクセスなどがあった際には、通常動作を実行することになる。
FIG. 7 shows the operation of the
ここでは一例として、ゲストOS400がフロントエンドドライバ420に対してデバイスの操作を指示したときのゲストOS400(仮想計算機システム800)の動作について説明する。
Here, as an example, the operation of the guest OS 400 (virtual computer system 800) when the
S300において、ゲストOS400は、フロントエンドドライバ420に対して呼び出しがあると、まず障害判定部450に処理が入る。
S301において、障害判定部450は、共有メモリ430内のH/W障害情報テーブル440を参照し、H/W障害情報441がセットされているか否かを処理装置により判定(確認)する。
In S300, when the
In S301, the
ここでは、H/W障害情報テーブル440にH/W障害情報441がセットされていないものとする。
S302において、障害判定部450は、H/W障害情報テーブル440にH/W障害情報441がセットされていないと判定する。
Here, it is assumed that the H / W failure information 441 is not set in the H / W failure information table 440.
In S302, the
すると、障害判定部450は、S303において、処理を通常処理部453へ移す。通常処理部453は、フロントエンドドライバ420の通常の処理を実行する。ここでは、ゲストOS400から指示されたデバイス操作の処理を実行する。
Then, the
以上のように、本実施の形態に係る仮想計算機システム800のH/W障害模擬方式は、ホストOS型仮想マシンモニタ210を使用した仮想計算機システム800のH/W障害模擬方式であり、以下の(a)〜(e)の手段を備える。また、コンピュータである仮想計算機システム800上において、以下の(a)〜(e)の手順を備えるH/W障害模擬プログラムが実行される。
(a)H/W障害を模擬するためのH/W障害情報テーブル440が格納された共有メモリ430。
(b)H/W障害情報テーブル440を登録、更新するためのH/W障害情報設定部320。
(c)H/W障害情報テーブル440をもとにゲストOS400の準仮想化ドライバ内の処理を分岐させる障害判定部450。
(d)H/W障害情報テーブル440をもとにH/W障害の模擬を行う障害模擬部451。
(e)ゲストOS400またはゲストAPP500に対してH/W障害の通知を行う障害通知部452。
As described above, the H / W failure simulation method of the virtual computer system 800 according to the present embodiment is the H / W failure simulation method of the virtual computer system 800 using the host OS type
(A) A shared
(B) An H / W failure
(C) A
(D) A failure simulation unit 451 that simulates an H / W failure based on the H / W failure information table 440.
(E) A
以上のように、本実施の形態に係る仮想計算機システム800のH/W障害模擬方式によれば、フロントエンドドライバ420−バックエンドドライバ220間の共有メモリ430に作成したH/W障害情報テーブル440にH/W障害情報441をセットするかしないかによって、H/W障害の発生の有無をフロントエンドドライバ420に検知させることができる。そして、H/W障害情報テーブル440にH/W障害情報441がセットされていた場合に、障害模擬及び障害通知を行わせることで、準仮想化を適用した仮想環境においてH/W障害の検出及び障害通知を実現できる。これにより、準仮想化技術を適用した仮想化環境上において、H/W障害発生時のゲストOS400またはゲストAPP500の動作確認を行うことが可能となる。
As described above, according to the H / W failure simulation method of the virtual machine system 800 according to the present embodiment, the H / W failure information table 440 created in the shared
実施の形態2.
本実施の形態では、主に、実施の形態1との差異について説明する。
図8は、本実施の形態に係る仮想計算機システム801のブロック構成図である。
図8は、実施の形態1において説明した図2に対応する図であり、同様の機能を有する構成部については、同一の符号を付し、その説明を省略する場合もあるものとする。
Embodiment 2. FIG.
In the present embodiment, differences from the first embodiment will be mainly described.
FIG. 8 is a block configuration diagram of the virtual machine system 801 according to the present embodiment.
FIG. 8 is a diagram corresponding to FIG. 2 described in the first embodiment, and components having similar functions are denoted by the same reference numerals, and description thereof may be omitted.
本実施の形態では、図1に示す仮想マシンモニタ210がホストOS200に組み込まれた形態のホストOS型仮想マシンモニタ210を用いた仮想マシン環境を対象とする。
本実施の形態に係る仮想計算機システム801は、実施の形態1で説明した仮想計算機システム800の派生形である。実施の形態1で説明した仮想計算機システム800との差分は、H/W障害を生成する際の命令の経路から仮想マシン管理用API230(図2参照)を排したことである。
つまり、H/W障害操作ツール310は、H/W障害情報設定部320に対し、H/W障害生成命令を直接入力する。
In this embodiment, a virtual machine environment using the host OS type virtual machine monitor 210 in which the virtual machine monitor 210 shown in FIG.
The virtual machine system 801 according to the present embodiment is a derivative form of the virtual machine system 800 described in the first embodiment. The difference from the virtual computer system 800 described in the first embodiment is that the virtual machine management API 230 (see FIG. 2) is excluded from the instruction path when generating the H / W failure.
That is, the H / W
図9は、本実施の形態に係る仮想計算機システム801のH/W障害模擬方式の動作を示すシーケンス図である。図9では、ユーザがH/W障害操作ツール310を使用してH/W障害情報テーブル440にH/W障害情報441をセットするまでのシーケンスを示す。
FIG. 9 is a sequence diagram showing the operation of the H / W failure simulation method of the virtual computer system 801 according to this embodiment. FIG. 9 shows a sequence until the user sets the H / W failure information 441 in the H / W failure information table 440 using the H / W
図9に示すように、ユーザがH/W障害操作ツール310に対してH/W障害生成を指示した後のシーケンスが異なる。
S400において、H/W障害操作ツール310は、ユーザにより入力されたH/W障害の内容情報に基づいて、H/W障害情報設定部320に対してH/W障害生成命令を発行(出力)する。
本実施の形態では、H/W障害操作ツール310から仮想マシンモニタ210のH/W障害情報設定部320が直接呼び出される構成となる。
As shown in FIG. 9, the sequence after the user instructs the H / W
In S400, the H / W
In this embodiment, the H / W failure
その他の構成、処理シーケンス(S401,S402)は、実施の形態1(S102,S103)と同様である。
また、S405において、H/W障害情報設定部320は、共有メモリ430から書込完了信号を受信すると、H/W障害生成指示に対応するH/W障害生成指示応答をH/W障害操作ツール310に送信する。
Other configurations and processing sequences (S401, S402) are the same as those in the first embodiment (S102, S103).
In S405, when the H / W failure
本実施の形態に係る仮想計算機システム801のH/W障害模擬方式におけるその後(H/W障害情報設定後)のシーケンスは、実施の形態1と同様である。 The subsequent sequence (after setting the H / W failure information) in the H / W failure simulation method of the virtual computer system 801 according to the present embodiment is the same as that in the first embodiment.
以上のように、本実施の形態に係る仮想計算機システム801のH/W障害模擬方式は、ホストOS型仮想マシンモニタ210を使用した仮想計算機システム801のH/W障害模擬方式であり、以下の(a)の手段を備えることを特徴とする。また、コンピュータである仮想計算機システム801上において、以下の(a)の手順を備えるH/W障害模擬プログラムが実行される。
(a)H/W障害操作ツール310が仮想マシンモニタ管理用API230を経由せずに、H/W障害情報設定部320に対して直接H/W障害生成命令を発行する。
As described above, the H / W failure simulation method of the virtual computer system 801 according to the present embodiment is the H / W failure simulation method of the virtual computer system 801 using the host OS type
(A) The H / W
以上のように、本実施の形態に係る仮想計算機システム801によれば、フロントエンドドライバ420−バックエンドドライバ220間の共有メモリ430に作成したH/W障害情報テーブル440にH/W障害情報441をセットするかしないかによって、H/W障害の発生の有無をフロントエンドドライバ420に検知させる。そして、H/W障害情報テーブル440にH/W障害情報441がセットされていた場合に障害模擬および障害通知を行わせることで、準仮想化を適用した仮想環境においてH/W障害の検出および障害通知を実現できる。これにより、準仮想化技術を適用した仮想化環境上において、H/W障害発生時のゲストOS400またはゲストAPP500の動作確認を行うことが可能となる。
As described above, according to the virtual computer system 801 according to the present embodiment, the H / W failure information 441 is added to the H / W failure information table 440 created in the shared
また、本実施の形態に係る仮想計算機システム801によれば、仮想マシンモニタ管理用API230(実施の形態1参照)を通さず直接バックエンドドライバ220を操作することができる。したがって、仮想マシンモニタ管理用API230分の処理を省略することができ、H/W障害発生の処理を高速化することが可能となる。また、仮想マシン管理用API230を使用する場合に比べ、H/W障害操作ツール310およびH/W障害情報設定部320のインタフェースを自由に設計・実装することが可能となる。
Further, according to the virtual machine system 801 according to the present embodiment, the back-
実施の形態3.
本実施の形態では、主に、実施の形態1,2との差異について説明する。
図10は、本実施の形態に係る仮想計算機システム802のブロック構成図である。
図10は、実施の形態1において説明した図2に対応する図であり、同様の機能を有する構成部については、同一の符号を付し、その説明を省略する場合もあるものとする。
Embodiment 3 FIG.
In the present embodiment, differences from the first and second embodiments will be mainly described.
FIG. 10 is a block configuration diagram of the virtual machine system 802 according to the present embodiment.
FIG. 10 is a diagram corresponding to FIG. 2 described in the first embodiment, and components having similar functions are denoted by the same reference numerals, and description thereof may be omitted.
本実施の形態に係る仮想計算機システム802について図10を用いて説明する。
本実施の形態では、図1に示す仮想マシンモニタ210がホストOS200に組み込まれた形態のホストOS型仮想マシンモニタ210を用いた仮想マシン環境を対象とする。
A virtual machine system 802 according to the present embodiment will be described with reference to FIG.
In this embodiment, a virtual machine environment using the host OS type virtual machine monitor 210 in which the virtual machine monitor 210 shown in FIG.
実施の形態1で説明した仮想計算機システム800との差分は、H/W障害操作ツール310をゲストのアプリケーションとし、H/W障害情報設定部320をフロントエンドドライバ420の内部に配置(搭載)したことである。
H/W障害情報設定部320をフロントエンドドライバ420の内部に配置したことにより、H/W障害情報テーブル440(H/W障害情報441)は共有メモリ430上に置く必要がない。したがって、本実施の形態に係る仮想計算機システム802では、障害情報保持領域480(障害情報記憶領域)をフロントエンドドライバ420内で確保し、H/W障害情報テーブル440(H/W障害情報441)を障害情報保持領域480へ格納する。
The difference from the virtual machine system 800 described in the first embodiment is that the H / W
By arranging the H / W failure
図11は、本実施の形態に係る仮想計算機システム802のH/W障害模擬方式の動作を示すシーケンス図である。図11では、ユーザがH/W障害操作ツール310を使用して障害情報保持領域480のH/W障害情報テーブル440にH/W障害情報441を書き込むまでのシーケンスを示す。
FIG. 11 is a sequence diagram showing the operation of the H / W failure simulation method of the virtual computer system 802 according to the present embodiment. FIG. 11 shows a sequence until the user writes the H / W failure information 441 to the H / W failure information table 440 in the failure
S500の処理は、図9のS400の処理と同様である。ただし、本実施の形態では、H/W障害操作ツール310はゲストのアプリケーションであり、H/W障害情報設定部320はフロントエンドドライバ420の内部に配置されている。
The process of S500 is the same as the process of S400 of FIG. However, in this embodiment, the H / W
S501において、H/W障害情報設定部320は、H/W障害生成命令を受信すると、受信したH/W障害生成命令に基づいて、障害情報保持領域480のH/W障害情報テーブル440にH/W障害情報441をセットする。
S502,S503の処理は、S402,S403の処理と同様である。
In S501, when the H / W failure
The processes of S502 and S503 are the same as the processes of S402 and S403.
本実施の形態に係る仮想計算機システム802のH/W障害模擬方式におけるその後(H/W障害情報設定後)のシーケンスは、実施の形態1と同様である。 The subsequent sequence (after setting the H / W failure information) in the H / W failure simulation method of the virtual computer system 802 according to the present embodiment is the same as in the first embodiment.
以上のように、本実施の形態に係る仮想計算機システム802のH/W障害模擬方式は、ホストOS型仮想マシンモニタ210を使用した仮想計算機システム802のH/W障害模擬方式であり、以下の(a)〜(f)の手段を備える。また、コンピュータである仮想計算機システム802上において、以下の(a)〜(f)の手順を備えるH/W障害模擬プログラムが実行される。
(a)ユーザが入力したH/W障害に関する情報を元に、H/W障害情報設定部320に対してH/W障害生成を指示するH/W障害操作ツール310。
(b)H/W障害を模擬するためのH/W障害情報テーブル440が格納された障害情報保持領域480。
(c)H/W障害情報テーブル440を登録、更新するためのH/W障害情報設定部320。
(d)H/W障害情報テーブル440をもとにゲストOS400の準仮想化ドライバ内の処理を分岐させる障害判定部450。
(e)H/W障害情報テーブル440をもとにH/W障害の模擬を行う障害模擬部451。
(f)ゲストOS400またはゲストAPP500に対してH/W障害の通知を行う障害通知部452。
As described above, the H / W failure simulation method of the virtual computer system 802 according to the present embodiment is a H / W failure simulation method of the virtual computer system 802 using the host OS type
(A) An H / W
(B) A failure
(C) An H / W failure
(D) A
(E) A failure simulation unit 451 that simulates H / W failure based on the H / W failure information table 440.
(F) A
以上のように、本実施の形態に係る仮想計算機システム802のH/W障害模擬方式によれば、フロントエンドドライバ420内の障害情報保持領域480に作成したH/W障害情報テーブル440にH/W障害情報441をセットするかしないかによって、H/W障害の発生の有無をフロントエンドドライバ420に検知させることができる。そして、H/W障害情報テーブル440にH/W障害情報441がセットされていた場合に障害模擬および障害通知を行わせることで、準仮想化を適用した仮想環境においてH/W障害の検出および障害通知を実現できる。これにより、準仮想化技術を適用した仮想化環境上において、H/W障害発生時のゲストOS400またはゲストAPP500の動作確認を行うことが可能となる。
As described above, according to the H / W failure simulation method of the virtual machine system 802 according to the present embodiment, the H / W failure information table 440 created in the failure
また、本実施の形態に係る仮想計算機システム802のH/W障害模擬方式によれば、ゲストOS400側のみにH/W障害の模擬・検出・通知の処理を実装するため、ホストOS200側には変更の必要がない。また、ハイパーバイザ型やホストOS型などの仮想マシンモニタの方式によらず使用が可能である。
Further, according to the H / W failure simulation method of the virtual machine system 802 according to the present embodiment, since the simulation / detection / notification processing of H / W failure is implemented only on the
実施の形態4.
本実施の形態では、主に、実施の形態3との差異について説明する。
図12は、本実施の形態に係る仮想計算機システム803のブロック構成図である。
図12は、実施の形態3において説明した図10に対応する図であり、同様の機能を有する構成部については、同一の符号を付し、その説明を省略する場合もあるものとする。
Embodiment 4 FIG.
In the present embodiment, differences from the third embodiment will be mainly described.
FIG. 12 is a block configuration diagram of the
FIG. 12 is a diagram corresponding to FIG. 10 described in the third embodiment, and components having similar functions are denoted by the same reference numerals, and description thereof may be omitted.
本実施の形態では、図1に示す仮想マシンモニタ210がホストOS200に組み込まれた形態のホストOS型仮想マシンモニタ210を用いた仮想マシン環境を対象とする。
本実施の形態に係る仮想計算機システム803は、実施の形態3で説明した仮想計算機システム802の派生形である。
実施の形態3で説明した仮想計算機システム802との差分は、H/W障害情報設定部320がフロントエンドドライバ420ではなく、フロントエンドドライバ420とは別のカーネルモジュールであるH/W障害設定モジュール490(障害設定モジュール)に配置したことである。
その他の構成は、実施の形態3で説明したものと同様である。
In this embodiment, a virtual machine environment using the host OS type virtual machine monitor 210 in which the virtual machine monitor 210 shown in FIG.
The
The difference from the virtual machine system 802 described in the third embodiment is that the H / W failure
Other configurations are the same as those described in the third embodiment.
図13は、本実施の形態に係る仮想計算機システム803のH/W障害模擬方式の動作を示すシーケンス図である。図13では、ユーザがH/W障害操作ツール310を使用してH/W障害情報テーブル440にH/W障害情報441を書き込むまでのシーケンスを示す。
FIG. 13 is a sequence diagram showing the operation of the H / W failure simulation method of the
図13は、H/W障害操作ツール310に対してH/W障害生成の指示を与えてから、障害情報保持領域480にH/W障害情報441が設定されるまでのシーケンスを示すものである。
S600において、H/W障害操作ツール310は、H/W障害情報設定モジュール490に対してH/W障害生成の命令を発行する。
S601において、H/W障害情報設定モジュール490のH/W障害情報設定部320は、フロントエンドドライバ内の障害情報保持領域480に対してH/W障害情報を設定する。
FIG. 13 shows a sequence from when an H / W failure generation instruction is given to the H / W
In S600, the H / W
In S601, the H / W failure
このように、図13と、実施の形態3で説明した図11との差異は、H/W障害情報設定部320はH/W障害情報設定モジュール490内に配置されている点である。これ以外の処理(S600〜S603)は、実施の形態3で説明したS500〜S503と同様である。
As described above, the difference between FIG. 13 and FIG. 11 described in the third embodiment is that the H / W failure
本実施の形態に係る仮想計算機システム803のH/W障害模擬方式におけるその後(H/W障害情報設定後)のシーケンスは、実施の形態1〜3と同様である。
The subsequent sequence in the H / W failure simulation method of the
以上のように、本実施の形態に係る仮想計算機システム803のH/W障害模擬方式は、ホストOS型仮想マシンモニタ210を使用した仮想計算機システム803のH/W障害模擬方式であり、以下の(a)〜(c)の手段を備えることを特徴とする。また、コンピュータである仮想計算機システム803上において、以下の(a)〜(c)の手順を備えるH/W障害模擬プログラムが実行される。
(a)ゲストOS400に、H/W障害情報設定部320を含むH/W障害情報設定モジュール490がインストールされている。
(b)H/W障害操作ツール310が、ユーザが入力したH/W障害に関する情報を元に、H/W障害設定モジュール490内のH/W障害情報設定部320に対してH/W障害の生成を指示する。
(c)H/W障害設定モジュール490内のH/W障害情報設定部320が、フロントエンドドライバ420内の障害情報保持領域480に対してH/W障害情報441をセットする。
As described above, the H / W failure simulation method of the
(A) An H / W failure
(B) The H / W
(C) The H / W failure
以上のように、本実施の形態に係る仮想計算機システム803のH/W障害模擬方式によれば、フロントエンドドライバ420内の障害情報保持領域480に作成したH/W障害情報テーブル440にH/W障害情報441をセットするかしないかによって、H/W障害の発生の有無をフロントエンドドライバ420に検知させることができる。そして、H/W障害情報テーブル440にH/W障害情報441がセットされていた場合に、障害模擬および障害通知を行わせることで、準仮想化を適用した仮想環境においてH/W障害の検出および障害通知を実現できる。これにより、準仮想化技術を適用した仮想化環境上において、H/W障害発生時のゲストOS400またはゲストAPP500の動作確認を行うことが可能となる。
As described above, according to the H / W failure simulation method of the
また、本実施の形態に係る仮想計算機システム803のH/W障害模擬方式によれば、ゲストOS400側のみにH/W障害の模擬・検出・通知の処理を実装するため、ホストOS200側には変更の必要がない。また、ベアメタル型やホストOS型などの仮想マシンモニタ210の方式によらずに使用が可能である。
Further, according to the H / W failure simulation method of the
さらに、本実施の形態に係る仮想計算機システム803のH/W障害模擬方式によれば、H/W障害情報設定部320をフロントエンドドライバ420とは別のゲストOS400のカーネルモジュールとして分離したことにより、フロントエンドドライバ420の処理負荷の低減が可能となる。また、フロントエンドドライバ420にはブロックデバイス用、ネットワークデバイス用など複数の種類が存在する。本実施の形態を採用することで、各デバイス用のフロントエンドドライバ420で使用するH/W障害情報設定部320を、APIとして共用することができるようになるため、各フロントエンドドライバの実装を簡易化・容易化することが可能である。
Furthermore, according to the H / W failure simulation method of the
実施の形態5.
本実施の形態では、主に、実施の形態1〜4との差異について説明する。
図14は、本実施の形態に係る仮想計算機システム804のシステム構成を示す一例を示す図である。図14を用いて、本実施の形態に係る仮想計算機システム804のシステム構成について説明する。
Embodiment 5. FIG.
In the present embodiment, differences from the first to fourth embodiments will be mainly described.
FIG. 14 is a diagram showing an example of a system configuration of the virtual machine system 804 according to the present embodiment. The system configuration of the virtual machine system 804 according to this embodiment will be described with reference to FIG.
本実施の形態では、実施の形態1〜4において説明した構成と同様の機能を有する構成部については、同一の符号を付し、その説明を省略する場合もあるものとする。
In this embodiment, components having the same functions as those described in
図14は、準仮想化技術を用いた仮想計算機システム804の構成例を示したものである。図14に示す準仮想化技術を用いた仮想計算機システム804は、ホストOS組み込み型の仮想マシンモニタ210(実施の形態1で説明したもの)ではなく、ホストOS200上でアプリケーションとして動作するホストOS型仮想マシンモニタ210aを用いた構成である。
FIG. 14 shows an example of the configuration of a virtual computer system 804 using a para-virtualization technology. A virtual machine system 804 using the para-virtualization technology shown in FIG. 14 is not a host OS embedded virtual machine monitor 210 (described in the first embodiment), but a host OS type that operates as an application on the
実計算機100は、仮想計算機システム804を動作させるための物理ハードウェアであり、CPU、メモリ、割込みコントローラなどを備える。
ホストOS200は、実計算機100上で動作するソフトウェアであり、CPUやメモリなどのハードウェア資源を抽象化してアプリケーションに提供する。
The
The
仮想マシンモニタ210aは、実計算機100上で複数のOSを動作させるためのソフトウェアであり、仮想計算機300を作成しゲストOS400に提供する。ホストOS型仮想マシンモニタ210aとは、実計算機100上でホストOS200が動作しており、ホストOS200上で仮想マシンモニタ210aおよびゲストOS400が動作するものである。
特に、本実施の形態では、仮想マシンモニタ210aがホストOS200上のアプリケーションとして動作する仮想計算機システム804を例として示す。
The
In particular, in the present embodiment, a virtual machine system 804 in which the
本実施の形態においても、仮想マシンモニタ210aおよびゲストOS400には準仮想化技術が適用されているものとする。
準仮想化技術については、実施の形態1にて説明したため、ここでは、その説明を省略する。
Also in this embodiment, it is assumed that the para-virtualization technology is applied to the
Since the para-virtualization technology has been described in the first embodiment, the description thereof is omitted here.
図15は、本実施の形態に係る仮想計算機システム804のブロック構成を示す図である。
図15は、実施の形態2において説明した図8に対応する図であり、実施の形態2との差分は、仮想マシンモニタ210aがホストOS200上で動作するアプリケーションとなっている点である。仮想マシンモニタ210aは、バックエンドドライバ220aを備え、バックエンドドライバ220aには、H/W障害情報設定部320が搭載されている。バックエンドドライバ220a及びH/W障害情報設定部320の機能構成については、実施の形態2と同様である。また、その他の構成についても実施の形態2と同様である。
FIG. 15 is a diagram showing a block configuration of the virtual machine system 804 according to the present embodiment.
FIG. 15 is a diagram corresponding to FIG. 8 described in the second embodiment. The difference from the second embodiment is that the
図16は、本実施の形態に係る仮想計算機システム804のH/W障害模擬方式の動作を示すシーケンス図である。
図16に、H/W障害操作ツール310に対して障害生成の指示を与えてから共有メモリ430にH/W障害情報441がセットされるまでのシーケンスを示す。
まず、S700において、H/W障害操作ツール310に対して障害生成の指示を与えると、H/W障害操作ツール310から仮想マシンモニタ210aのH/W障害情報設定部320に対して、生成するH/W障害についての内容が指示される。
この際のプロセス間通信の方法については特に言及しないが、例えばメッセージパッシングやシグナル、ソケット通信などを利用する。
FIG. 16 is a sequence diagram showing the operation of the H / W failure simulation method of the virtual machine system 804 according to this embodiment.
FIG. 16 shows a sequence from when a failure generation instruction is given to the H / W
First, in S700, when a failure generation instruction is given to the H / W
The inter-process communication method in this case is not particularly mentioned, but for example, message passing, signal, socket communication, etc. are used.
S701において、H/W障害生成の指示を受けたH/W障害情報設定部320は、共有メモリ430に対してH/W障害情報441を設定し、ゲストOS400に対して仮想割り込みを上げる。
以降のシーケンスは、実施の形態1と同様であり、図6及び図7に示したシーケンスとなる。
また、S702〜S703のシーケンスは、図9に示すS402〜S403のシーケンスと同様である。
In step S <b> 701, the H / W failure
The subsequent sequence is the same as that in the first embodiment, and is the sequence shown in FIGS.
The sequence of S702 to S703 is the same as the sequence of S402 to S403 shown in FIG.
以上のように、本実施の形態に係る仮想計算機システム804のH/W障害模擬方式は、仮想マシンモニタ210aがホストOS200のアプリケーションとして動作するホストOS型仮想マシンモニタ210aを使用した仮想計算機システム804のH/W障害模擬方式である。仮想計算機システム804のH/W障害模擬方式は、以下の(a)〜(e)の手段を備える。また、コンピュータである仮想計算機システム804上において、以下の(a)〜(e)の手順を備えるH/W障害模擬プログラムが実行される。
(a)H/W障害を模擬するためのH/W障害情報テーブル440が格納された共有メモリ430。
(b)H/W障害情報テーブル440を登録、更新するためのH/W障害情報設定部320。
(c)H/W障害情報テーブル440をもとにゲストOS400の準仮想化ドライバ内の処理を分岐させる障害判定部450。
(d)H/W障害情報テーブル440をもとにH/W障害の模擬を行う障害模擬部451。
(e)ゲストOS400またはゲストAPP500に対してH/W障害の通知を行う障害通知部452。
As described above, the H / W failure simulation method of the virtual machine system 804 according to the present embodiment uses the virtual machine system 804 using the host OS type
(A) A shared
(B) An H / W failure
(C) A
(D) A failure simulation unit 451 that simulates an H / W failure based on the H / W failure information table 440.
(E) A
実施の形態1〜4では、ホストOS200に仮想マシンモニタ210が組み込まれた仮想化環境を対象としていたのに対し、本実施の形態では、以上のような構成とすることで、仮想マシンモニタ210aがホストOS200上のアプリケーションとして動作する仮想化環境においても、準仮想化技術を適用したゲストOS400上においてH/W障害の検出および通知が可能となる。これによって、準仮想化技術を適用した仮想化環境上において、H/W障害発生時のゲストOS400またはゲストAPP500の動作確認を行うことが可能となる。
In the first to fourth embodiments, a virtual environment in which the
実施の形態6.
本実施の形態では、主に、実施の形態1〜5との差異について説明する。
図17は、本実施の形態に係る仮想計算機システム805のシステム構成を示す一例を示す図である。図17を用いて、本実施の形態に係る仮想計算機システム805のシステム構成について説明する。
Embodiment 6 FIG.
In this embodiment, differences from
FIG. 17 is a diagram illustrating an example of a system configuration of the virtual machine system 805 according to the present embodiment. A system configuration of the virtual machine system 805 according to the present embodiment will be described with reference to FIG.
本実施の形態では、実施の形態1〜5において説明した構成と同様の機能を有する構成部については、同一の符号を付し、その説明を省略する場合もあるものとする。
In this embodiment, components having the same functions as those described in
本実施の形態に係る仮想計算機システム805は、ハイパーバイザ型仮想マシンモニタ210bを用いた構成である。
実計算機100は、仮想計算機システム805を動作させるための物理ハードウェアであり、CPU、メモリ、割込みコントローラなどを備える。
仮想マシンモニタ210bは、実計算機上で複数のOSを動作させるためのソフトウェアであり、仮想計算機300を作成しゲストOS400に提供する。
The virtual computer system 805 according to the present embodiment has a configuration using a hypervisor type
The
The
ハイパーバイザ型仮想マシンモニタ210bとは、実計算機100上で直接仮想マシンモニタが動作する形態の仮想マシンモニタ210bである。仮想マシンモニタ210bの模擬した仮想計算機300の上でゲストOS400が動作する。
The hypervisor type
本実施の形態においても、仮想マシンモニタ210bおよびゲストOS400には準仮想化技術が適用されているものとする。
準仮想化技術については、実施の形態1にて説明したため、ここでは、その説明を省略する。
Also in this embodiment, it is assumed that the para-virtualization technology is applied to the
Since the para-virtualization technology has been described in the first embodiment, the description thereof is omitted here.
図18は、本実施の形態に係る仮想計算機システム805のブロック構成図である。
本実施の形態に係る仮想計算機システム805は、上述したハイパーバイザ型仮想マシンモニタ210bを用いたシステムである。
FIG. 18 is a block configuration diagram of the virtual machine system 805 according to the present embodiment.
A virtual computer system 805 according to the present embodiment is a system using the hypervisor
図18は、実施の形態2において説明した図8に対応する図であり、実施の形態2との差分は、仮想マシンモニタ210bがハイパーバイザ型仮想マシンモニタである点である。仮想マシンモニタ210bは、バックエンドドライバ220bを備え、バックエンドドライバ220bには、H/W障害情報設定部320が搭載されている。バックエンドドライバ220a及びH/W障害情報設定部320の機能構成については、実施の形態2と同様である。
また、さらに実施の形態2と異なる点としては、本実施の形態に係る仮想計算機システム805は、試験対象とするゲストOS400の他に、H/W障害操作ツール310を使用してH/W障害を管理するためのゲストOSu400uを仮想マシンモニタ210b上に配置する点である。
FIG. 18 is a diagram corresponding to FIG. 8 described in the second embodiment, and the difference from the second embodiment is that the
Furthermore, as a point different from the second embodiment, the virtual machine system 805 according to the present embodiment uses the H / W
ゲストOSu400uには、アプリケーションとしてH/W障害操作ツール310を配置し、H/W障害操作用のユーザインタフェースとする。
その他の構成については、ホストOS200が存在しないこと以外は実施の形態2と同様である。
The
Other configurations are the same as those in the second embodiment except that the
図19は、本実施の形態に係る仮想計算機システム805のH/W障害模擬方式の動作を示すシーケンス図である。
図19に、H/W障害操作ツール310に対して障害生成の指示を与えてから共有メモリ430にH/W障害情報441がセットされるまでのシーケンスを示す。
FIG. 19 is a sequence diagram showing the operation of the H / W failure simulation method of the virtual machine system 805 according to this embodiment.
FIG. 19 shows a sequence from when a failure generation instruction is given to the H / W
まず、S800において、H/W障害操作ツール310に対して障害生成の指示を与えると、H/W障害操作ツール310から仮想マシンモニタ210bのH/W障害情報設定部320に対して、生成するH/W障害についての内容が指示される。
この際のゲストOS−ゲストOS1間のOS間通信の方法については特に言及しないが、例えば、パケット通信などを利用する。
First, in S800, when a failure generation instruction is given to the H / W
In this case, the method of inter-OS communication between the guest OS and the
S801において、H/W障害生成の指示を受けたH/W障害情報設定部320は、共有メモリ430に対してH/W障害情報441を設定し、ゲストOS400に対して仮想割り込みを上げる。
以降のシーケンスは、実施の形態1と同様であり、図6及び図7に示したシーケンスとなる。
また、S802〜S803のシーケンスは、図9に示すS402〜S403のシーケンスと同様である。
In step S <b> 801, the H / W failure
The subsequent sequence is the same as that in the first embodiment, and is the sequence shown in FIGS.
The sequence of S802 to S803 is the same as the sequence of S402 to S403 shown in FIG.
以上のように、本実施の形態に係る仮想計算機システム804のH/W障害模擬方式は、ハイパーバイザ型仮想マシンモニタ210bを使用した仮想計算機システム805のH/W障害模擬方式である。仮想計算機システム805のH/W障害模擬方式は、以下の(a)〜(e)の手段を備える。また、コンピュータである仮想計算機システム805上において、以下の(a)〜(e)の手順を備えるH/W障害模擬プログラムが実行される。
(a)H/W障害を模擬するためのH/W障害情報テーブル440が格納された共有メモリ430。
(b)H/W障害情報テーブル440を登録、更新するためのH/W障害情報設定部320。
(c)H/W障害情報テーブル440をもとにゲストOS400の準仮想化ドライバ内の処理を分岐させる障害判定部450。
(d)H/W障害情報テーブル440をもとにH/W障害の模擬を行う障害模擬部451。
(e)ゲストOS400またはゲストAPP500に対してH/W障害の通知を行う障害通知部452。
As described above, the H / W failure simulation method of the virtual computer system 804 according to the present embodiment is the H / W failure simulation method of the virtual computer system 805 using the hypervisor type
(A) A shared
(B) An H / W failure
(C) A
(D) A failure simulation unit 451 that simulates an H / W failure based on the H / W failure information table 440.
(E) A
以上のように、本実施の形態に係る仮想計算機システム805のH/W障害模擬方式によれば、実計算機100上で直接仮想マシンモニタ210bが動作する形態の仮想化環境においても、準仮想化技術を適用したゲストOS400上においてH/W障害の検出および通知が可能となる。
これによって、準仮想化技術を適用したハイパーバイザ型仮想マシンモニタ210bを用いた仮想化環境上においても、H/W障害発生時のゲストOS400またはゲストAPP500の動作確認を行うことが可能となる。
As described above, according to the H / W failure simulation method of the virtual computer system 805 according to the present embodiment, even in a virtual environment in which the
This makes it possible to check the operation of the
実施の形態1〜6に係る仮想計算機システム(仮想計算機障害模擬システム、仮想計算機障害模擬方法及び仮想計算機障害模擬プログラム)は、ゲストOS及びホストOSから参照可能な共有メモリにH/W障害に関する情報を格納し、ホストOS側から当該共有メモリに設定したH/W障害に関する情報に応じて、ゲストOS上で当該H/W障害を検出・通知を行うという構成を備えた。このような構成により、準仮想化技術を適用した仮想計算機環境において、仮想マシンモニタ内にて模擬したハードウェア障害をゲストOSのデバイスドライバから検出可能とし、ゲストOSのデバイスドライバは該ハードウェア障害に関する通知をゲストOSまたはゲストアプリケーションに対して行うことが可能となる。これによって、準仮想化技術を適用した仮想計算機環境上において、ハードウェア障害が発生した際のゲストアプリケーションの動作確認を行うことが可能となる。
The virtual machine system (virtual machine fault simulation system, virtual machine fault simulation method, and virtual machine fault simulation program) according to
また、実施の形態1〜6に係る仮想計算機システム(仮想計算機障害模擬システム、仮想計算機障害模擬方法及び仮想計算機障害模擬プログラム)は、準仮想化方式用のデバイスドライバを備えた仮想化環境であり、障害模擬の指示を与える手段を持つ構成であれば、仮想化環境の構築方式の違いによらず実現できる。例えば、ホストOS組み込み型の仮想マシンモニタだけではなく、ホストOSをアプリケーションとして動作させる種類の仮想マシンモニタや、ハードウェア上で直接動作させるハイパーバイザ型の仮想マシンモニタにも適用可能である。 The virtual computer system (virtual computer failure simulation system, virtual computer failure simulation method, and virtual computer failure simulation program) according to the first to sixth embodiments is a virtualization environment including a device driver for a semi-virtualization method. Any configuration having a means for giving a fault simulation instruction can be realized regardless of the difference in the construction method of the virtual environment. For example, the present invention can be applied not only to a host OS embedded type virtual machine monitor, but also to a type of virtual machine monitor that operates the host OS as an application, or a hypervisor type virtual machine monitor that directly operates on hardware.
上記実施の形態1〜6の説明では、例えば、「H/W障害情報設定部」、「障害判定部」、「障害模擬部」、「障害通知部」、「通常処理部」がそれぞれ独立した機能ブロックとして構成されている。しかし、これに限られるわけではなく、例えば、「障害判定部」、「障害模擬部」、「障害通知部」をひとつの機能ブロックで実現し、「通常処理部」をひとつの機能ブロックで実現しても良い。あるいは、これらの機能ブロックを、他のどのような組み合わせで構成しても構わない。 In the description of the first to sixth embodiments, for example, the “H / W failure information setting unit”, “failure determination unit”, “failure simulation unit”, “failure notification unit”, and “normal processing unit” are independent of each other. It is configured as a functional block. However, it is not limited to this. For example, "Fault determination unit", "Fault simulation unit" and "Fault notification unit" are realized with one functional block, and "Normal processing unit" is realized with one functional block. You may do it. Alternatively, these functional blocks may be configured in any other combination.
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。 As mentioned above, although embodiment of this invention was described, you may implement in combination of 2 or more among these embodiment. Alternatively, one of these embodiments may be partially implemented. Alternatively, two or more of these embodiments may be partially combined. In addition, this invention is not limited to these embodiment, A various change is possible as needed.
100 実計算機、200 ホストOS、210,210a,210b 仮想マシンモニタ、220 バックエンドドライバ、230 仮想マシンモニタ管理用API、300 仮想計算機、310 H/W障害操作ツール、320 H/W障害情報設定部、400 ゲストOS、420 フロントエンドドライバ、430 共有メモリ、440 H/W障害情報テーブル、441 H/W障害情報、450 障害判定部、451 障害模擬部、452 障害通知部、453 通常処理部、500 ゲストAPP、800,801,802,803,804,805 仮想計算機システム、901 LCD、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 HDD、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群。 100 real machine, 200 host OS, 210, 210a, 210b virtual machine monitor, 220 back-end driver, 230 virtual machine monitor management API, 300 virtual machine, 310 H / W failure operation tool, 320 H / W failure information setting unit , 400 guest OS, 420 front-end driver, 430 shared memory, 440 H / W failure information table, 441 H / W failure information, 450 failure determination unit, 451 failure simulation unit, 452 failure notification unit, 453 normal processing unit, 500 Guest APP, 800, 801, 802, 803, 804, 805 Virtual computer system, 901 LCD, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 HDD, 921 operating system, 922 window system, 923 programs, 924 files.
Claims (11)
前記仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を入力する障害模擬要求入力部を備え、
前記ゲスト計算機は、
前記仮想ハードウェアを操作するゲスト側ドライバを備え、
前記ゲスト側ドライバは、
記憶装置に記憶される障害情報テーブルであって、前記障害模擬要求入力部により入力された前記障害模擬要求に含まれる前記障害定義情報が設定される障害情報テーブルと、
前記障害情報テーブルに前記障害定義情報が設定されているか否かを処理装置により判定する障害判定部と、
前記障害判定部により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害情報テーブルに設定されている前記障害定義情報に基づいて、前記仮想ハードウェアの障害を模擬する障害模擬部と
を備えることを特徴とする仮想計算機システム。 In a virtual computer system in which a guest computer that is realized using a para-virtualization method by a virtual computer monitor and the guest computer to which virtual hardware is allocated by the virtual computer monitor operates,
A fault simulation request for requesting simulation of a fault of the virtual hardware, comprising a fault simulation request input unit for inputting a fault simulation request including fault definition information in which fault information for which simulation is requested is defined;
The guest computer is
A guest side driver for operating the virtual hardware,
The guest driver is
A failure information table stored in a storage device, the failure information table in which the failure definition information included in the failure simulation request input by the failure simulation request input unit is set;
A failure determination unit that determines whether or not the failure definition information is set in the failure information table by a processing device;
When the failure determination unit determines that the failure definition information is set in the failure information table, the failure of the virtual hardware is determined based on the failure definition information set in the failure information table. A virtual computer system comprising a failure simulation unit to simulate.
前記障害定義情報として、障害の種別を特定する障害種別情報と、障害の内容を特定する障害内容情報とを含み、
前記障害模擬部は、
前記障害情報テーブルに設定されている前記障害定義情報に含まれる前記障害種別情報と前記障害内容情報とにより特定される障害を模擬し、
前記ゲスト側ドライバは、さらに、
前記障害判定部により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害定義情報に含まれる前記障害種別情報と前記障害内容情報とを含む情報を通知する障害通知部を備える
ことを特徴とする請求項1に記載の仮想計算機システム。 The failure simulation request input unit
The failure definition information includes failure type information for specifying the type of failure, and failure content information for specifying the content of the failure,
The obstacle simulation part
Simulating a failure specified by the failure type information and the failure content information included in the failure definition information set in the failure information table,
The guest side driver further includes:
A failure for notifying information including the failure type information and the failure content information included in the failure definition information when the failure determination unit determines that the failure definition information is set in the failure information table The virtual machine system according to claim 1, further comprising a notification unit.
前記障害模擬要求入力部により入力された前記障害模擬要求に含まれる前記障害定義情報を入力し、入力した前記障害定義情報を前記障害情報テーブルに書き込む障害情報設定部を備えることを特徴とする請求項1または2に記載の仮想計算機システム。 The virtual machine system is
A failure information setting unit that inputs the failure definition information included in the failure simulation request input by the failure simulation request input unit and writes the input failure definition information in the failure information table is provided. Item 3. The virtual computer system according to Item 1 or 2.
前記仮想計算機モニタと共有する共有記憶領域を備え、
前記障害情報テーブルは、
前記共有記憶領域に記憶され、
前記仮想計算機モニタは、
前記ゲスト計算機に割り当てた前記仮想ハードウェアを操作するとともに前記障害情報設定部が搭載されたモニタ側ドライバを備え、
前記仮想計算機システムは、さらに、
前記仮想計算機モニタが組み込まれたホスト計算機を備え、
前記ホスト計算機は、
前記障害模擬要求入力部から前記障害模擬要求を入力し、入力した前記障害模擬要求を前記仮想計算機モニタの前記モニタ側ドライバに搭載された前記障害情報設定部に入力し、
前記障害情報設定部は、
入力した前記障害模擬要求に含まれる前記障害定義情報を、前記ゲスト側ドライバの前記共有記憶領域に記憶されている前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 The guest driver is
A shared storage area shared with the virtual machine monitor,
The failure information table is
Stored in the shared storage area,
The virtual machine monitor is
A monitor-side driver that operates the virtual hardware assigned to the guest computer and is equipped with the failure information setting unit,
The virtual computer system further includes:
A host computer having the virtual computer monitor incorporated therein;
The host computer
The failure simulation request is input from the failure simulation request input unit, and the input failure simulation request is input to the failure information setting unit mounted on the monitor driver of the virtual machine monitor,
The failure information setting unit
4. The virtual computer system according to claim 3, wherein the failure definition information included in the inputted failure simulation request is set in the failure information table stored in the shared storage area of the guest side driver. .
前記障害模擬要求入力部から入力された前記障害模擬要求を前記仮想計算機モニタに入力するインタフェース部を備え、
前記障害情報設定部は、
前記障害模擬要求入力部から入力された前記障害模擬要求を前記ホスト計算機の前記インタフェース部を介して入力する
ことを特徴とする請求項4に記載の仮想計算機システム。 The host computer
An interface unit for inputting the failure simulation request input from the failure simulation request input unit to the virtual machine monitor;
The failure information setting unit
5. The virtual computer system according to claim 4, wherein the failure simulation request input from the failure simulation request input unit is input via the interface unit of the host computer.
前記障害情報テーブルが記憶される障害情報記憶領域を備えるとともに、前記障害情報設定部を搭載し、
前記障害情報設定部は、
前記障害模擬要求入力部から前記障害模擬要求を入力し、入力した前記障害模擬要求に含まれる前記障害定義情報を、前記障害情報記憶領域に記憶された前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 The guest driver is
A failure information storage area for storing the failure information table is provided, and the failure information setting unit is mounted.
The failure information setting unit
The failure simulation request is input from the failure simulation request input unit, and the failure definition information included in the input failure simulation request is set in the failure information table stored in the failure information storage area. The virtual computer system according to claim 3.
前記障害情報設定部を備える障害設定モジュールを備え、
前記ゲスト側ドライバは、
前記障害情報テーブルが記憶される障害情報記憶領域を備え、
前記障害情報設定部は、
前記障害模擬要求入力部から前記障害模擬要求を入力し、入力した前記障害模擬要求に含まれる前記障害定義情報を、前記ゲスト側ドライバの備える前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 The guest computer is
A failure setting module including the failure information setting unit;
The guest driver is
A failure information storage area for storing the failure information table;
The failure information setting unit
The fault simulation request is input from the fault simulation request input unit, and the fault definition information included in the input fault simulation request is set in the fault information table provided in the guest side driver. 3. The virtual computer system according to 3.
前記仮想計算機モニタと共有する共有記憶領域を備え、
前記障害情報テーブルは、
前記共有記憶領域に記憶され、
前記仮想計算機モニタは、
前記ゲスト計算機に割り当てた前記仮想ハードウェアを操作するとともに前記障害情報設定部が搭載されたモニタ側ドライバを備え、
前記仮想計算機システムは、さらに、
前記仮想計算機モニタと前記障害模擬要求入力部とがアプリケーションプログラムとして動作するホスト計算機を備え、
前記ホスト計算機は、
前記障害模擬要求入力部により入力した前記障害模擬要求を前記仮想計算機モニタに入力し、
前記仮想計算機モニタの前記モニタ側ドライバに搭載された前記障害情報設定部は、
前記ホスト計算機から入力した前記障害模擬要求に含まれる前記障害定義情報を、前記ゲスト側ドライバの前記共有記憶領域に記憶されている前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 The guest driver is
A shared storage area shared with the virtual machine monitor,
The failure information table is
Stored in the shared storage area,
The virtual machine monitor is
A monitor-side driver that operates the virtual hardware assigned to the guest computer and is equipped with the failure information setting unit,
The virtual computer system further includes:
The virtual machine monitor and the failure simulation request input unit comprise a host computer that operates as an application program,
The host computer
The fault simulation request input by the fault simulation request input unit is input to the virtual machine monitor,
The failure information setting unit installed in the monitor side driver of the virtual machine monitor is:
4. The failure definition information included in the failure simulation request input from the host computer is set in the failure information table stored in the shared storage area of the guest driver. Virtual computer system.
前記仮想計算機モニタと共有する共有記憶領域を備え、
前記障害情報テーブルは、前記共有記憶領域に記憶され、
前記仮想計算機モニタは、
前記ゲスト計算機に割り当てた前記仮想ハードウェアを操作するとともに前記障害情報設定部が搭載されたモニタ側ドライバを備え、
前記仮想計算機システムは、さらに、
前記障害模擬要求入力部を動作させる入力用計算機を備え、
前記入力用計算機は、
前記障害模擬要求入力部により前記障害模擬要求を入力し、入力した前記障害模擬要求を前記仮想計算機モニタに入力し、
前記仮想計算機モニタの前記モニタ側ドライバに搭載された前記障害情報設定部は、
前記入力用計算機から入力した前記障害模擬要求に含まれる前記障害定義情報を、前記ゲスト側ドライバの前記共有記憶領域に記憶されている前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 The guest driver is
A shared storage area shared with the virtual machine monitor,
The failure information table is stored in the shared storage area,
The virtual machine monitor is
A monitor-side driver that operates the virtual hardware assigned to the guest computer and is equipped with the failure information setting unit,
The virtual computer system further includes:
An input computer for operating the fault simulation request input unit;
The input computer is
The failure simulation request input unit inputs the failure simulation request, and the input failure simulation request is input to the virtual machine monitor,
The failure information setting unit installed in the monitor side driver of the virtual machine monitor is:
4. The failure definition information included in the failure simulation request input from the input computer is set in the failure information table stored in the shared storage area of the guest side driver. The virtual computer system described.
障害模擬要求入力部が、前記仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を入力し、
障害情報設定部が、前記障害模擬要求入力部により入力された前記障害模擬要求に含まれる前記障害定義情報を入力し、入力した前記障害定義情報を、前記ゲスト計算機の備える障害情報テーブルに設定し、
障害判定部が、前記障害情報テーブルに前記障害定義情報が設定されているか否かを判定し、
障害模擬部が、前記障害判定部により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害情報テーブルに設定されている前記障害定義情報に基づいて、前記仮想ハードウェアの障害を模擬する
ことを特徴とする仮想計算機システムの障害模擬方法。 In a virtual machine system fault simulation method in which a guest computer that is realized by using a para-virtualization method by a virtual computer monitor and the guest computer to which virtual hardware is allocated by the virtual computer monitor operates,
The failure simulation request input unit is a failure simulation request for requesting simulation of a failure of the virtual hardware, and inputs a failure simulation request including failure definition information in which information on a failure to be simulated is defined,
The failure information setting unit inputs the failure definition information included in the failure simulation request input by the failure simulation request input unit, and sets the input failure definition information in a failure information table included in the guest computer. ,
The failure determination unit determines whether or not the failure definition information is set in the failure information table,
When the failure simulation unit determines that the failure definition information is set in the failure information table by the failure determination unit, based on the failure definition information set in the failure information table, the virtual simulation unit A fault simulation method for a virtual machine system, characterized by simulating a hardware fault.
障害模擬要求入力部が、前記仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を入力する障害模擬要求入力処理と、
障害情報設定部が、前記障害模擬要求入力処理により入力された前記障害模擬要求に含まれる前記障害定義情報を入力し、入力した前記障害定義情報を、前記ゲスト計算機の備える障害情報テーブルに設定する障害情報設定処理と、
障害判定部が、前記障害情報テーブルに前記障害定義情報が設定されているか否かを判定する障害判定処理と、
障害模擬部が、前記障害判定処理により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害情報テーブルに設定されている前記障害定義情報に基づいて、前記仮想ハードウェアの障害を模擬する障害模擬処理と
を前記仮想計算機システムが搭載されたコンピュータに実行させることを特徴とする障害模擬プログラム。 In a guest computer that is realized by a virtual computer monitor using a para-virtualization method, a computer simulation program in which a virtual computer system on which a guest computer to which virtual hardware is allocated by the virtual computer monitor operates is installed,
A fault simulation request input unit is a fault simulation request for requesting simulation of a fault of the virtual hardware, and inputs a fault simulation request including fault definition information in which information of a fault that is required to be simulated is defined Request input processing,
The failure information setting unit inputs the failure definition information included in the failure simulation request input by the failure simulation request input process, and sets the input failure definition information in a failure information table included in the guest computer Fault information setting processing,
A failure determination unit that determines whether the failure definition information is set in the failure information table;
When the failure simulation unit determines that the failure definition information is set in the failure information table by the failure determination process, the failure simulation unit performs the virtual processing based on the failure definition information set in the failure information table. A failure simulation program that causes a computer on which the virtual computer system is mounted to execute a failure simulation process that simulates a hardware failure.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013038796A JP6045397B2 (en) | 2013-02-28 | 2013-02-28 | Virtual computer system, fault simulation method and fault simulation program for virtual computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013038796A JP6045397B2 (en) | 2013-02-28 | 2013-02-28 | Virtual computer system, fault simulation method and fault simulation program for virtual computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014167683A JP2014167683A (en) | 2014-09-11 |
JP6045397B2 true JP6045397B2 (en) | 2016-12-14 |
Family
ID=51617348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013038796A Expired - Fee Related JP6045397B2 (en) | 2013-02-28 | 2013-02-28 | Virtual computer system, fault simulation method and fault simulation program for virtual computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6045397B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020117684A1 (en) * | 2018-12-03 | 2020-06-11 | Salesforce.Com, Inc. | Testing engine for automated operations management |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5419639B2 (en) * | 2009-11-06 | 2014-02-19 | 三菱電機株式会社 | Computer apparatus, information processing method, and program |
JP5452336B2 (en) * | 2010-04-20 | 2014-03-26 | 三菱電機株式会社 | Peripheral device failure simulation system, peripheral device failure simulation method, and peripheral device failure simulation program |
-
2013
- 2013-02-28 JP JP2013038796A patent/JP6045397B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014167683A (en) | 2014-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI779325B (en) | Systems and methods implementing high-speed data communication fabric for cloud gaming data storage and retrieval | |
US9921939B2 (en) | Creating a software performance testing environment on a virtual machine system | |
CN107209681B (en) | Storage device access method, device and system | |
US8683589B2 (en) | Providing protection against unauthorized network access | |
US8046641B2 (en) | Managing paging I/O errors during hypervisor page fault processing | |
US9524107B2 (en) | Host-based device drivers for enhancing operations in redundant array of independent disks systems | |
US8146082B2 (en) | Migrating virtual machines configured with pass-through devices | |
US8914684B2 (en) | Method and system for throttling log messages for multiple entities | |
CN111736945B (en) | Virtual machine thermomigration method, device, equipment and medium based on intelligent network card | |
JP5803502B2 (en) | Monitoring device, control method, and control program | |
JP2011154697A (en) | Method and system for execution of applications in conjunction with raid | |
US20140281304A1 (en) | Systems and methods for integrating compute resources in a storage area network | |
US11734430B2 (en) | Configuration of a memory controller for copy-on-write with a resource controller | |
US20160259578A1 (en) | Apparatus and method for detecting performance deterioration in a virtualization system | |
US20180157605A1 (en) | Configuration of a memory controller for copy-on-write | |
JP6045397B2 (en) | Virtual computer system, fault simulation method and fault simulation program for virtual computer system | |
JP6356822B2 (en) | Computer system and memory dump method | |
CN107861795B (en) | Method, system and device for simulating physical TCM chip and readable storage medium | |
US10452464B1 (en) | Automatic human configuration error detection for reoccurring events | |
JP5419639B2 (en) | Computer apparatus, information processing method, and program | |
JP5550581B2 (en) | Shared memory debugging device and program | |
US20150277945A1 (en) | Virtual computer system | |
JP6653786B2 (en) | I / O control method and I / O control system | |
US20240118838A1 (en) | Computer-readable recording medium having stored therein information processing program, information processing method, and information processing apparatus | |
JP2014078099A (en) | Virtual computer system and control method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160907 |
|
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: 20161018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161115 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6045397 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |