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 PDF

Info

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
Application number
JP2013038796A
Other languages
Japanese (ja)
Other versions
JP2014167683A (en
Inventor
泰公 渡邉
泰公 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013038796A priority Critical patent/JP6045397B2/en
Publication of JP2014167683A publication Critical patent/JP2014167683A/en
Application granted granted Critical
Publication of JP6045397B2 publication Critical patent/JP6045397B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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).

特開2011−227700号公報JP 2011-227700 A

仮想化環境では、デバイスエミュレーションの方式が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 Patent Document 1 is intended for a complete virtualization system. In the virtualization environment to which the para-virtualization technology is applied, the device driver of the guest OS is a dedicated implementation for supporting device I / O using a shared memory. For this reason, the device driver of the guest OS when the para-virtualization technology is applied has a problem that the simulated failure cannot be detected by the guest OS because the device driver itself does not have a function of detecting the failure. .

本発明は、このような課題を解決するためになされたもので、準仮想化を適用した仮想化環境において、仮想マシンモニタで模擬したハードウェア障害をゲスト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のシステム構成を示す図である。2 is a diagram showing a system configuration of a virtual machine system 800 according to Embodiment 1. FIG. 実施の形態1に係る仮想計算機システム800のブロック構成図である。2 is a block configuration diagram of a virtual machine system 800 according to Embodiment 1. FIG. 実施の形態1に係るH/W障害情報テーブル440の構成の一例を示す図である。6 is a diagram illustrating an example of a configuration of an H / W failure information table 440 according to Embodiment 1. FIG. 実施の形態1に係る実計算機100のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a real computer 100 according to the first embodiment. FIG. 実施の形態1に係る仮想計算機システム800のH/W障害模擬方式の動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing an operation of the H / W failure simulation method of the virtual computer system 800 according to the first embodiment. 実施の形態1に係る仮想計算機システム800のH/W障害模擬方式の動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing an operation of the H / W failure simulation method of the virtual computer system 800 according to the first embodiment. 実施の形態1に係る仮想計算機システム800のH/W障害模擬方式の動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing an operation of the H / W failure simulation method of the virtual computer system 800 according to the first embodiment. 実施の形態2に係る仮想計算機システム801のブロック構成図である。6 is a block configuration diagram of a virtual machine system 801 according to a second embodiment. FIG. 実施の形態2に係る仮想計算機システム801のH/W障害模擬方式の動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing the operation of the H / W failure simulation method of the virtual machine system 801 according to the second embodiment. 実施の形態3に係る仮想計算機システム802のブロック構成図である。FIG. 10 is a block configuration diagram of a virtual computer system 802 according to a third embodiment. 実施の形態3に係る仮想計算機システム802のH/W障害模擬方式の動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing an operation of the H / W failure simulation method of the virtual machine system 802 according to the third embodiment. 実施の形態4に係る仮想計算機システム803のブロック構成図である。FIG. 10 is a block configuration diagram of a virtual computer system 803 according to a fourth embodiment. 実施の形態4に係る仮想計算機システム803のH/W障害模擬方式の動作を示すシーケンス図である。FIG. 20 is a sequence diagram illustrating an operation of the H / W failure simulation method of the virtual machine system 803 according to the fourth embodiment. 実施の形態5に係る仮想計算機システム804のシステム構成を示す一例を示す図である。FIG. 20 is a diagram illustrating an example of a system configuration of a virtual machine system 804 according to a fifth embodiment. 実施の形態5に係る仮想計算機システム804のブロック構成を示す図である。FIG. 10 illustrates a block configuration of a virtual machine system 804 according to a fifth embodiment. 実施の形態5に係る仮想計算機システム804のH/W障害模擬方式の動作を示すシーケンス図である。FIG. 20 is a sequence diagram illustrating an operation of the H / W failure simulation method of the virtual computer system 804 according to the fifth embodiment. 実施の形態6に係る仮想計算機システム805のシステム構成を示す一例を示す図である。FIG. 20 illustrates an example of a system configuration of a virtual machine system 805 according to a sixth embodiment. 実施の形態6に係る仮想計算機システム805のブロック構成図である。FIG. 20 is a block configuration diagram of a virtual computer system 805 according to a sixth embodiment. 実施の形態6に係る仮想計算機システム805のH/W障害模擬方式の動作を示すシーケンス図である。FIG. 20 is a sequence diagram illustrating the operation of the H / W failure simulation method of the virtual machine system 805 according to the sixth embodiment.

実施の形態1.
本実施の形態に係る仮想計算機システム800は、準仮想化を利用した仮想計算機(ゲスト計算機)において模擬したハードウェア障害を、ゲストOSのデバイスドライバで検出し、ゲストOS及びゲストアプリケーションへの障害通知を行うものである。
Embodiment 1 FIG.
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 real machine 100, a host OS 200, a virtual machine 300, a guest OS 400, and a guest APP (Application) 500 (guest application).

実計算機100は、コンピュータであり、仮想計算機システム800を動作させるための物理ハードウェアである。実計算機100は、CPU、メモリ、割込みコントローラなどを備える。   The real computer 100 is a computer and physical hardware for operating the virtual computer system 800. The real computer 100 includes a CPU, a memory, an interrupt controller, and the like.

ホストOS200(ホスト計算機)は、実計算機100上で動作するソフトウェアであり、CPUやメモリなどのハードウェア資源を抽象化してアプリケーションに提供する。本実施の形態に係るホストOS200には、仮想マシンモニタ210(仮想計算機モニタ)が組み込まれている。   The host OS 200 (host computer) is software that operates on the real computer 100, and abstracts hardware resources such as a CPU and a memory and provides them to an application. A virtual machine monitor 210 (virtual machine monitor) is incorporated in the host OS 200 according to the present embodiment.

仮想マシンモニタ210は、実計算機100上で複数のOSを動作させるためのソフトウェアであり、仮想計算機300を作成しゲストOS400に提供する。ゲストOS400が動作する仮想計算機300はゲスト計算機の一例である。   The virtual machine monitor 210 is software for operating a plurality of OSs on the real computer 100, and creates the virtual computer 300 and provides it to the guest OS 400. The virtual computer 300 on which the guest OS 400 operates is an example of a guest computer.

本実施の形態に係る仮想マシンモニタ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 host OS 200 operates on the real computer 100, and the virtual machine monitor 210 and the guest OS 400 operate on the host OS 200. Then, the guest APP 500 operates on the guest OS 400.

特に本実施の形態では、仮想マシンモニタ210が、ホストOS200の中にCPUやメモリなどのハードウェア資源を直接コントロールするカーネルモジュールとして組み込まれた形態の仮想計算機システム800を一例として示す。   Particularly, in the present embodiment, a virtual machine system 800 in which the virtual machine monitor 210 is incorporated as a kernel module that directly controls hardware resources such as a CPU and a memory in the host OS 200 is shown as an example.

本実施の形態では、仮想マシンモニタ210及びゲストOS400には準仮想化技術が適用されているものとする。
準仮想化技術とは、仮想計算機システム800向けのデバイスI/O高速化技術である。準仮想化技術を適用した環境では、ゲストOS400のデバイスドライバが仮想マシンモニタ210との間に共有メモリ430を備える。
In this embodiment, it is assumed that the para-virtualization technology is applied to the virtual machine monitor 210 and the guest OS 400.
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 guest OS 400 includes the shared memory 430 between the virtual machine monitor 210 and the device driver.

準仮想化技術を適用した仮想計算機システム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 memory 430, high-speed device I / O is possible.
In addition, since device emulation in the virtual machine monitor 210 is simplified, the CPU load on the real computer 100 can be reduced.
In the para-virtualization technology, a virtual H / W (virtual hardware) is assigned to the guest OS 400 by the virtual machine monitor 210. In order to use the para-virtualization technology, it is necessary that the guest OS 400 and the virtual machine monitor 210 are dedicated drivers corresponding to the para-virtualization and have a driver for operating the virtual H / W. Become.

図1に示すように、ゲストOS400には、準仮想化に対応したドライバとして、フロントエンドドライバ420(ゲスト側ドライバの一例)が組み込まれる。また、仮想マシンモニタ210には、準仮想化に対応したドライバとして、バックエンドドライバ220(モニタ側ドライバの一例)が組み込まれる。   As shown in FIG. 1, the guest OS 400 incorporates a front-end driver 420 (an example of a guest-side driver) as a driver corresponding to paravirtualization. The virtual machine monitor 210 incorporates a back-end driver 220 (an example of a monitor-side driver) as a driver corresponding to paravirtualization.

図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 failure operation tool 310, a virtual machine monitor management API 230, an H / W failure information setting unit 320, a failure determination unit 450, a failure simulation unit 451, a failure A notification unit 452, a normal processing unit 453, and an H / W failure information table 440 are provided. The H / W failure information table 440 is stored in the shared memory 430 (shared storage area). “H / W” is an abbreviation for “Hardware (hardware)”. “API” is an abbreviation for “Application / Programming / Interface”.

H/W障害操作ツール310は、ホストOS200上で動作するアプリケーションである。H/W障害操作ツール310は、ユーザがH/W障害を操作するときのユーザインタフェースとなる。
仮想計算機システム800は、H/W障害を模擬し、H/W障害に対するシステムの機能を確認する障害模擬システムの一例である。
H/W障害操作ツール310は、仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を、例えば、ユーザから入力する。H/W障害操作ツール310は、障害模擬要求入力部の一例である。
The H / W failure operation tool 310 is an application that operates on the host OS 200. The H / W failure operation tool 310 serves as a user interface when the user operates the H / W failure.
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 fault operation tool 310 is a fault simulation request for requesting simulation of a virtual hardware fault, and includes a fault simulation request including fault definition information in which fault information for which simulation is required is defined. Input from the user. The H / W failure operation tool 310 is an example of a failure simulation request input unit.

仮想マシンモニタ管理用API230は、仮想計算機300(仮想マシン)の仮想メモリや仮想ネットワークを管理するライブラリである。
本実施の形態では、一例として仮想マシンモニタ管理用API230を使用するが、仮想マシンモニタ210を外部から操作可能なモジュールであれば仮想マシンモニタ管理用API230に限るものではない。
The virtual machine monitor management API 230 is a library that manages the virtual memory and virtual network of the virtual machine 300 (virtual machine).
In the present embodiment, the virtual machine monitor management API 230 is used as an example, but the virtual machine monitor 210 is not limited to the virtual machine monitor management API 230 as long as the virtual machine monitor 210 can be operated from the outside.

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 memory 430 area that can be used between the front-end driver 420 and the back-end driver 220. On the other hand, it is a functional module for writing H / W failure information 441 (failure definition information).
In the present embodiment, the H / W failure information setting unit 320 is mounted on the back-end driver 220 of the virtual machine monitor 210.

図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 failure operation tool 310 is set. The H / W failure information 441 includes failure type information that specifies the type of failure and failure content information that specifies the content of the failure.

図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 / W failure information 441a of device A, H / W failure information 441b of device B, and the like are configured.

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 guest OS 400.

「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 guest OS 400 or the virtual device that is the target for generating the H / W failure is specified.
In the “H / W information”, for example, a file path on the host OS 200 is set for a block device. In the case of a network device, information that can specify a virtual H / W such as a MAC address is set.

「障害の種別」は、模擬を行う障害を示す情報である。「障害の種別」は、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 guest OS 400 and the device is stored.
When para-virtualization is applied to the virtual machine system 800, the device register is not simulated by the virtual machine monitor 210, and thus the device register of the virtual device does not actually exist. However, when a failure simulation unit 451 or a failure notification unit 452 to be described later notifies the guest OS 400 or the guest APP 500 (guest application) of the H / W failure, it may be necessary to pass the value of the device register. In such a case, the failure simulation unit 451 or the failure notification unit 452 uses the value stored in the “register value”. Further, even when a request for referring to a device register is issued from the guest OS 400 when an H / W failure occurs, an arbitrary value can be stored and passed to the “register value”. The device register reference request from the guest OS 400 is, for example, when the device is accessed.

障害判定部450は、仮想マシンモニタ210からの仮想割込みが入った場合に、フロントエンドドライバ420内の割込みハンドラから呼び出される。障害判定部450は、共有メモリ430内のH/W障害情報テーブル440に従い、障害の模擬が指示されているかどうかの判定を行う。
障害判定部450は、H/W障害情報テーブル440内の「障害の種別」の値が0にクリアされているか、0以外の値が設定されているかを処理装置により判定することで、H/W障害生成の指示の有無の判定を実行する。
The failure determination unit 450 is called from an interrupt handler in the front-end driver 420 when a virtual interrupt from the virtual machine monitor 210 is input. The failure determination unit 450 determines whether failure simulation is instructed according to the H / W failure information table 440 in the shared memory 430.
The failure determination unit 450 determines whether the value of the “failure type” in the H / W failure information table 440 is cleared to 0 or a value other than 0 is set by the processing device. It is determined whether or not there is an instruction for generating a W fault.

障害模擬部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 memory 430. The failure simulation unit 451 simulates failure details and failure information required by the guest OS 400 and the guest APP 500.

障害通知部452は、H/Wで発生した障害をゲストOS400またはゲストAPP500に通知する。   The failure notification unit 452 notifies the guest OS 400 or the guest APP 500 of a failure that has occurred in H / W.

通常処理部453は、デバイスI/O、デバイスI/O完了処理などのデバイスドライバとしての通常機能を果たす部分である。   The normal processing unit 453 is a part that performs normal functions as a device driver such as device I / O and device I / O completion processing.

図4は、実計算機100のハードウェア構成の一例を示す図である。   FIG. 4 is a diagram illustrating an example of a hardware configuration of the real computer 100.

図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 actual computer 100 is a computer, and includes an LCD 901 (Liquid / Crystal / Display), a keyboard 902 (K / B), a mouse 903, an FDD 904 (Flexible / Disk / Drive), and a CDD 905 (Compact / Disc / Drive). , A hardware device such as a printer 906 is provided. These hardware devices are connected by cables and signal lines. Instead of the LCD 901, a CRT (Cathode / Ray / Tube) or other display device may be used. Instead of the mouse 903, a touch panel, a touch pad, a trackball, a pen tablet, or other pointing devices may be used.

実計算機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 real computer 100 includes a CPU 911 (Central Processing Unit) that executes a program. The CPU 911 is an example of a processing device. The CPU 911 includes a ROM 913 (Read / Only / Memory), a RAM 914 (Random / Access / Memory), a communication board 915, an LCD 901, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, a printer 906, and an HDD 920 (Hard / Disk) via a bus 912. A drive is connected to the magnetic disk device to control these hardware devices. Instead of the HDD 920, a flash memory, an optical disk device, a memory card reader / writer, or other recording medium may be used.

RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。   The RAM 914 is an example of a volatile memory. The ROM 913, the FDD 904, the CDD 905, and the HDD 920 are examples of nonvolatile memories. These are examples of the storage device. The communication board 915, the keyboard 902, the mouse 903, the FDD 904, and the CDD 905 are examples of input devices. The communication board 915, the LCD 901, and the printer 906 are examples of output devices.

通信ボード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 communication board 915 is connected to a LAN (Local / Area / Network) or the like. The communication board 915 is not limited to a LAN, but is an IP-VPN (Internet, Protocol, Private, Network), a wide area LAN, an ATM (Asynchronous / Transfer / Mode) network, a WAN (Wide / Area / Network), or the Internet. It does not matter if it is connected to. LAN, WAN, and the Internet are examples of networks.

HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記録媒体に記憶される。RAM914やHDD920等の記録媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。   The HDD 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922. The program group 923 includes programs that execute the functions described as “˜units” in the description of the present embodiment. The program is read and executed by the CPU 911. The file group 924 includes data, information, and signal values described as “˜data”, “˜information”, “˜ID (identifier)”, “˜flag”, and “˜result” in the description of this embodiment. And variable values and parameters are included as items of “˜file”, “˜database”, and “˜table”. The “˜file”, “˜database”, and “˜table” are stored in a recording medium such as the RAM 914 or the HDD 920. Data, information, signal values, variable values, and parameters stored in a recording medium such as the RAM 914 and the HDD 920 are read out to the main memory and the cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. It is used for processing (operation) of the CPU 911 such as calculation, control, output, printing, and display. During the processing of the CPU 911 such as extraction, search, reference, comparison, calculation, calculation, control, output, printing, and display, data, information, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory. Remembered.

本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、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 RAM 914, FDD904 flexible disk (FD), CDD905 compact disk (CD), HDD920 magnetic disk, optical disk, DVD (Digital Versatile Disc), or other recording media Is done. Data and signals are transmitted by a bus 912, a signal line, a cable, or other transmission media.

本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、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 ROM 913. Alternatively, what is described as “˜unit” may be realized only by software, or only by hardware such as an element, a device, a board, and wiring. Alternatively, what is described as “to part” may be realized by a combination of software and hardware, or a combination of software, hardware and firmware. Firmware and software are stored as programs in a recording medium such as a flexible disk, a compact disk, a magnetic disk, an optical disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described in the description of the present embodiment. Or a program makes a computer perform the procedure and method of "-part" described by description of this Embodiment.

次に、仮想計算機システム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 failure operation tool 310.
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 guest OS 400 when the H / W failure information 441 is set in the H / W failure information table 440.
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 guest OS 400 when the H / W failure information 441 is not set in the H / W failure information table 440.

図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 failure operation tool 310 will be described with reference to FIG.
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 failure operation tool 310 from the display or the like (input device) of the actual computer 100. Information that is the basis of the H / W failure information 441 such as the type and the content of the failure is input.
That is, the user instructs the virtual machine monitor management API 230 to generate an H / W failure using the H / W failure operation tool 310.

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 failure operation tool 310 outputs the content information of the H / W failure input by the user to the virtual machine monitor management API 230, and instructs the generation of the H / W failure. Output generation instructions. This H / W failure generation instruction includes information such as the guest OS 400 to be simulated for the H / W failure, virtual device, H / W failure type, H / W failure content, and device register value.

S101において、仮想マシンモニタ管理用API230は、H/W障害操作ツール310からH/W障害生成指示を入力する。仮想マシンモニタ管理用API230は、H/W障害生成指示を入力すると、仮想マシンモニタ210内のH/W障害情報設定部320に対してH/W障害生成命令を発行(出力)する。   In S 101, the virtual machine monitor management API 230 inputs an H / W failure generation instruction from the H / W failure operation tool 310. When the H / W failure generation instruction is input, the virtual machine monitor management API 230 issues (outputs) an H / W failure generation command to the H / W failure information setting unit 320 in the virtual machine monitor 210.

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 information setting unit 320 inputs an H / W failure generation command from the virtual machine monitor management API 230. The H / W failure generation command includes a guest OS 400 (hereinafter referred to as a simulation target guest OS 400a), a virtual device, a type of H / W failure, a content of the H / W failure, a device Contains information such as register values.
When an H / W failure generation command is input, the H / W failure information setting unit 320 receives the H of the simulation target guest OS 400a in the H / W failure information table 440 of the shared memory 430 based on the input H / W failure generation command. H / W failure information is set in the / W failure information 441a.

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 information setting unit 320 sets H / W failure information in the H / W failure information 441a of the simulation target guest OS 400a specified by the H / W failure generation command.
Then, immediately after the H / W failure information setting unit 320 sets the H / W failure information in the H / W failure information 441a, the back-end driver 220 raises a virtual interrupt to the simulation target guest OS 400a.
That is, the H / W failure information setting unit 320 executes setting of H / W failure information in the H / W failure information 441a, and the back-end driver 220 transmits a virtual interrupt signal to the simulation target guest OS 400a.

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 / W failure information 441a of the H / W failure information table 440 of the shared memory 430, the write completion signal is set to the H / W failure information setting. Is output to the unit 320.
In S104, upon receiving a write completion signal from the shared memory 430, the H / W failure information setting unit 320 transmits an H / W failure generation response corresponding to the H / W failure generation command to the virtual machine monitor management API 230. .
In S105, when receiving the H / W failure generation response from the H / W failure information setting unit 320, the virtual machine monitor management API 230 sends an H / W failure generation instruction response corresponding to the H / W failure generation instruction to the H / W. It transmits to the failure operation tool 310.
When the H / W failure operation tool 310 receives the H / W failure generation instruction response from the virtual machine monitor management API 230, the H / W failure operation tool 310 issues a notification of completion of H / W failure generation corresponding to the H / W failure generation instruction from the user. You may output to the display etc. of the computer 100. FIG.

図6は、H/W障害情報テーブル440のH/W障害情報441がセットされているときのゲストOS400の動作を示したものである。   FIG. 6 shows the operation of the guest OS 400 when the H / W failure information 441 of the H / W failure information table 440 is set.

まず、S200において、バックエンドドライバ220から模擬対象のゲストOS400のフロントエンドドライバ420に仮想割り込みが上がってくる(図5のS102の処理の記載を参照)と、まず、フロントエンドドライバ420内の割込みハンドラから障害判定部450に処理が入る。   First, in S200, when a virtual interrupt is raised from the back-end driver 220 to the front-end driver 420 of the guest OS 400 to be simulated (see the description of the processing in S102 in FIG. 5), first, an interrupt in the front-end driver 420 is obtained. Processing enters the fault determination unit 450 from the handler.

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 failure determination unit 450 refers to the H / W failure information table 440 in the shared memory 430 and determines whether the H / W failure information 441 is set by the processing device.
Since the H / W failure information 441 is set here, the failure determination unit 450 determines that the H / W failure information 441 is set in the H / W failure information table 440, and the H / W failure information 441 is determined. Is read (S202).

次に、処理は障害模擬部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 failure determination unit 450 transmits, for example, a failure simulation signal including the read H / W failure information 441 to the failure simulation unit 451.
When receiving the failure simulation signal from the failure determination unit 450, the failure simulation unit 451 generates a H / W failure in a simulated manner based on the H / W failure information 441 included in the failure simulation signal.
Further, the failure simulation unit 451, when there is a reference to the failure content from the guest OS 400 or the guest APP 500, performs H / W based on the H / W failure information 441 included in the failure simulation signal received from the failure determination unit 450. The contents of the failure are simulated, and the contents are returned to the guest OS 400 or the guest APP 500. The contents simulated at this time are, for example, the contents of the device register.

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 failure determination unit 450.

S205において、障害判定部450は、障害模擬部451から障害模擬完了信号を受信すると、ゲストOS400またはゲストAPP500に対してH/W障害の通知を指示する障害通知指示を、障害通知部452に送信する。   In S205, when the failure determination unit 450 receives the failure simulation completion signal from the failure simulation unit 451, the failure determination unit 450 transmits a failure notification instruction to the guest OS 400 or the guest APP 500 to notify the H / W failure notification to the failure notification unit 452. To do.

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 failure determination unit 450, the failure notification unit 452 notifies the guest OS 400 or the guest APP 500 that an H / W failure has occurred. The failure notification unit 452 uses the failure notification function provided in the guest OS 400 to perform H / W failure notification. Thereby, even when the H / W failure does not actually occur, it is possible to verify whether or not the failure notification function provided in the guest OS 400 functions normally.
Here, the operation of the guest OS 400 or the guest APP 500 that has received the notification of the simulated H / W failure is not particularly mentioned. The configuration in which the notification of the H / W failure by the failure notification function provided in the guest OS 400 is raised from the driver is the same as the failure notification operation when the H / W failure occurs in the real computer system. The failure notification function of the guest OS 400 performs an operation such as displaying an H / W failure message on a display, for example.

S207において、ゲストOS400の障害通知機能は、ディスプレイなどにH/W障害メッセージを表示するなどの障害通知動作が完了したか否かについて、障害通知動作応答を障害通知部452に送信する。例えば、ゲストOS400の障害通知機能が正常に動作しなかった場合などには、ゲストOS400の障害通知機能は、エラーメッセージを表示したり、ゲストOS400をダウンさせるなどして、ゲストOS400の障害通知機能が正常に動作しないことを障害通知動作応答によりユーザに通知するなどしてもよい。   In S207, the failure notification function of the guest OS 400 transmits a failure notification operation response to the failure notification unit 452 regarding whether or not the failure notification operation such as displaying an H / W failure message on a display or the like is completed. For example, when the failure notification function of the guest OS 400 does not operate normally, the failure notification function of the guest OS 400 displays an error message, or brings down the guest OS 400, etc. May be notified to the user by a failure notification operation response.

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 guest OS 400, the failure notification unit 452 transmits a failure notification instruction response to the failure determination unit 450 based on the content of the failure notification operation response to the failure determination unit 450. To do.
When the failure determination unit 450 determines that the H / W failure information 441 is set in the H / W failure information table 440, the failure notification unit 452 includes the failure type information included in the H / W failure information 441 and Information including failure content information is notified.

障害判定部450は、障害通知部452からの障害通知指示応答を受信する。障害判定部450は、例えば、受信した障害通知指示応答の内容に基づいて、ユーザに対してH/W障害時の動作についての結果を発行する。
例えば、障害判定部450は、模擬したH/W障害と、その後のゲストOS400あるいはゲストAPP500の動作を対応付けた一覧をディスプレイに表示するなどしてもよい。
The failure determination unit 450 receives the failure notification instruction response from the failure notification unit 452. For example, the failure determination unit 450 issues a result of the operation at the time of the H / W failure to the user based on the content of the received failure notification instruction response.
For example, the failure determination unit 450 may display a list in which the simulated H / W failure is associated with the subsequent operation of the guest OS 400 or the guest APP 500 on the display.

図7は、H/W障害情報テーブル440にH/W障害情報441がセットされていないときのゲストOS400の動作を示したものである。仮想計算機システム800において、H/W障害情報テーブル440にH/W障害情報441がセットされていない場合に、デバイスに対してアクセスなどがあった際には、通常動作を実行することになる。   FIG. 7 shows the operation of the guest OS 400 when the H / W failure information 441 is not set in the H / W failure information table 440. In the virtual computer system 800, when the H / W failure information 441 is not set in the H / W failure information table 440, when the device is accessed, a normal operation is executed.

ここでは一例として、ゲストOS400がフロントエンドドライバ420に対してデバイスの操作を指示したときのゲストOS400(仮想計算機システム800)の動作について説明する。   Here, as an example, the operation of the guest OS 400 (virtual computer system 800) when the guest OS 400 instructs the front-end driver 420 to operate the device will be described.

S300において、ゲストOS400は、フロントエンドドライバ420に対して呼び出しがあると、まず障害判定部450に処理が入る。
S301において、障害判定部450は、共有メモリ430内のH/W障害情報テーブル440を参照し、H/W障害情報441がセットされているか否かを処理装置により判定(確認)する。
In S300, when the guest OS 400 is called to the front-end driver 420, the failure determination unit 450 is first processed.
In S301, the failure determination unit 450 refers to the H / W failure information table 440 in the shared memory 430, and determines (confirms) whether or not the H / W failure information 441 is set.

ここでは、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 failure determination unit 450 determines that the H / W failure information 441 is not set in the H / W failure information table 440.

すると、障害判定部450は、S303において、処理を通常処理部453へ移す。通常処理部453は、フロントエンドドライバ420の通常の処理を実行する。ここでは、ゲストOS400から指示されたデバイス操作の処理を実行する。   Then, the failure determination unit 450 moves the process to the normal processing unit 453 in S303. The normal processing unit 453 executes normal processing of the front end driver 420. Here, the device operation process instructed by the guest OS 400 is executed.

以上のように、本実施の形態に係る仮想計算機システム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 virtual machine monitor 210. Means (a) to (e) are provided. Further, an H / W failure simulation program including the following procedures (a) to (e) is executed on the virtual computer system 800 that is a computer.
(A) A shared memory 430 in which an H / W failure information table 440 for simulating an H / W failure is stored.
(B) An H / W failure information setting unit 320 for registering and updating the H / W failure information table 440.
(C) A failure determination unit 450 that branches processing in the para-virtualized driver of the guest OS 400 based on the H / W failure information table 440.
(D) A failure simulation unit 451 that simulates an H / W failure based on the H / W failure information table 440.
(E) A failure notification unit 452 that notifies the guest OS 400 or the guest APP 500 of an H / W failure.

以上のように、本実施の形態に係る仮想計算機システム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 memory 430 between the front-end driver 420 and the back-end driver 220. Depending on whether or not the H / W failure information 441 is set, the front end driver 420 can detect whether or not an H / W failure has occurred. Then, when the H / W failure information 441 is set in the H / W failure information table 440, the failure simulation and the failure notification are performed, thereby detecting the H / W failure in the virtual environment to which the para-virtualization is applied. And failure notification can be realized. This makes it possible to check the operation of the guest OS 400 or the guest APP 500 when an H / W failure occurs in a virtual environment to which the para-virtualization technology is applied.

実施の形態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 failure operation tool 310 directly inputs an H / W failure generation command to the H / W failure information setting unit 320.

図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 failure operation tool 310.

図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 failure operation tool 310 to generate an H / W failure is different.
In S400, the H / W failure operation tool 310 issues (outputs) an H / W failure generation command to the H / W failure information setting unit 320 based on the content information of the H / W failure input by the user. To do.
In this embodiment, the H / W failure information setting unit 320 of the virtual machine monitor 210 is directly called from the H / W failure operation tool 310.

その他の構成、処理シーケンス(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 information setting unit 320 receives the write completion signal from the shared memory 430, the H / W failure generation instruction response corresponding to the H / W failure generation instruction is sent to the H / W failure operation tool. To 310.

本実施の形態に係る仮想計算機システム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 virtual machine monitor 210. (A) means is provided. In addition, an H / W failure simulation program including the following procedure (a) is executed on the virtual computer system 801 that is a computer.
(A) The H / W failure operation tool 310 issues a H / W failure generation command directly to the H / W failure information setting unit 320 without going through the virtual machine monitor management API 230.

以上のように、本実施の形態に係る仮想計算機システム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 memory 430 between the front-end driver 420 and the back-end driver 220. Whether or not an H / W failure has occurred is detected by the front-end driver 420 depending on whether or not is set. Then, when H / W failure information 441 is set in the H / W failure information table 440, failure simulation and failure notification are performed, thereby detecting H / W failure in a virtual environment to which paravirtualization is applied. Failure notification can be realized. This makes it possible to check the operation of the guest OS 400 or the guest APP 500 when an H / W failure occurs in a virtual environment to which the para-virtualization technology is applied.

また、本実施の形態に係る仮想計算機システム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-end driver 220 can be directly operated without passing through the virtual machine monitor management API 230 (see the first embodiment). Therefore, the processing for the virtual machine monitor management API 230 can be omitted, and the processing for generating an H / W failure can be speeded up. Further, compared to the case where the virtual machine management API 230 is used, the interfaces of the H / W failure operation tool 310 and the H / W failure information setting unit 320 can be freely designed and implemented.

実施の形態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 failure operation tool 310 is a guest application and the H / W failure information setting unit 320 is arranged (mounted) inside the front-end driver 420. That is.
By arranging the H / W failure information setting unit 320 inside the front-end driver 420, the H / W failure information table 440 (H / W failure information 441) does not need to be placed on the shared memory 430. Therefore, in the virtual machine system 802 according to the present embodiment, the failure information holding area 480 (failure information storage area) is secured in the front-end driver 420, and the H / W failure information table 440 (H / W failure information 441). Is stored in the failure information holding area 480.

図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 information holding area 480 using the H / W failure operation tool 310.

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 failure operation tool 310 is a guest application, and the H / W failure information setting unit 320 is disposed inside the front-end driver 420.

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 information setting unit 320 receives the H / W failure generation command, the H / W failure information setting unit 320 stores H in the H / W failure information table 440 of the failure information holding area 480 based on the received H / W failure generation command. / W failure information 441 is set.
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 virtual machine monitor 210. Means (a) to (f) are provided. In addition, on the virtual computer system 802 that is a computer, an H / W failure simulation program having the following procedures (a) to (f) is executed.
(A) An H / W failure operation tool 310 that instructs the H / W failure information setting unit 320 to generate an H / W failure based on information on the H / W failure input by the user.
(B) A failure information holding area 480 in which an H / W failure information table 440 for simulating an H / W failure is stored.
(C) An H / W failure information setting unit 320 for registering and updating the H / W failure information table 440.
(D) A failure determination unit 450 that branches processing in the para-virtualized driver of the guest OS 400 based on the H / W failure information table 440.
(E) A failure simulation unit 451 that simulates H / W failure based on the H / W failure information table 440.
(F) A failure notification unit 452 that notifies the guest OS 400 or the guest APP 500 of an H / W failure.

以上のように、本実施の形態に係る仮想計算機システム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 information holding area 480 in the front-end driver 420 has the H / W failure information table 440. Depending on whether or not the W failure information 441 is set, the front end driver 420 can detect whether or not an H / W failure has occurred. Then, when H / W failure information 441 is set in the H / W failure information table 440, failure simulation and failure notification are performed, thereby detecting H / W failure in a virtual environment to which paravirtualization is applied. Failure notification can be realized. This makes it possible to check the operation of the guest OS 400 or the guest APP 500 when an H / W failure occurs in a virtual environment to which the para-virtualization technology is applied.

また、本実施の形態に係る仮想計算機システム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 guest OS 400 side, the host OS 200 side There is no need to change. Further, it can be used regardless of a virtual machine monitor method such as a hypervisor type or a host OS type.

実施の形態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 virtual machine system 803 according to the present embodiment.
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 virtual machine system 803 according to the present embodiment is a derivative form of the virtual machine system 802 described in the third embodiment.
The difference from the virtual machine system 802 described in the third embodiment is that the H / W failure information setting unit 320 is not the front end driver 420 but is a kernel module different from the front end driver 420. 490 (failure setting module).
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 virtual machine system 803 according to the present embodiment. FIG. 13 shows a sequence until the user writes the H / W failure information 441 into the H / W failure information table 440 using the H / W failure operation tool 310.

図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 failure operation tool 310 until the H / W failure information 441 is set in the failure information holding area 480. .
In S600, the H / W failure operation tool 310 issues an H / W failure generation command to the H / W failure information setting module 490.
In S601, the H / W failure information setting unit 320 of the H / W failure information setting module 490 sets H / W failure information for the failure information holding area 480 in the front-end driver.

このように、図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 information setting unit 320 is arranged in the H / W failure information setting module 490. Other processes (S600 to S603) are the same as S500 to S503 described in the third embodiment.

本実施の形態に係る仮想計算機システム803のH/W障害模擬方式におけるその後(H/W障害情報設定後)のシーケンスは、実施の形態1〜3と同様である。   The subsequent sequence in the H / W failure simulation method of the virtual computer system 803 according to the present embodiment (after setting the H / W failure information) is the same as in the first to third embodiments.

以上のように、本実施の形態に係る仮想計算機システム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 virtual computer system 803 according to the present embodiment is a H / W failure simulation method of the virtual computer system 803 using the host OS type virtual machine monitor 210. (A) to (c) are provided. Further, an H / W failure simulation program including the following procedures (a) to (c) is executed on the virtual computer system 803 that is a computer.
(A) An H / W failure information setting module 490 including an H / W failure information setting unit 320 is installed in the guest OS 400.
(B) The H / W failure operation tool 310 provides an H / W failure to the H / W failure information setting unit 320 in the H / W failure setting module 490 based on information on the H / W failure input by the user. Instruct the generation of.
(C) The H / W failure information setting unit 320 in the H / W failure setting module 490 sets the H / W failure information 441 in the failure information holding area 480 in the front end driver 420.

以上のように、本実施の形態に係る仮想計算機システム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 virtual machine system 803 according to the present embodiment, the H / W failure information table 440 created in the failure information holding area 480 in the front-end driver 420 is stored in the H / W failure information table 440. Depending on whether or not the W failure information 441 is set, the front end driver 420 can detect whether or not an H / W failure has occurred. Then, when the H / W failure information 441 is set in the H / W failure information table 440, the failure simulation and the failure notification are performed to detect the H / W failure in the virtual environment to which the para-virtualization is applied. And failure notification can be realized. This makes it possible to check the operation of the guest OS 400 or the guest APP 500 when an H / W failure occurs in a virtual environment to which the para-virtualization technology is applied.

また、本実施の形態に係る仮想計算機システム803のH/W障害模擬方式によれば、ゲストOS400側のみにH/W障害の模擬・検出・通知の処理を実装するため、ホストOS200側には変更の必要がない。また、ベアメタル型やホストOS型などの仮想マシンモニタ210の方式によらずに使用が可能である。   Further, according to the H / W failure simulation method of the virtual machine system 803 according to the present embodiment, since the simulation / detection / notification process of the H / W failure is implemented only on the guest OS 400 side, the host OS 200 side There is no need to change. Further, it can be used regardless of the method of the virtual machine monitor 210 such as a bare metal type or a host OS type.

さらに、本実施の形態に係る仮想計算機システム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 virtual machine system 803 according to the present embodiment, the H / W failure information setting unit 320 is separated as a kernel module of the guest OS 400 different from the front-end driver 420. The processing load of the front end driver 420 can be reduced. Further, there are a plurality of types of front-end drivers 420 such as for block devices and for network devices. By adopting the present embodiment, the H / W failure information setting unit 320 used in the front-end driver 420 for each device can be shared as an API. It can be simplified and facilitated.

実施の形態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 Embodiments 1 to 4 are denoted by the same reference numerals, and the description thereof may be omitted.

図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 host OS 200. This is a configuration using the virtual machine monitor 210a.

実計算機100は、仮想計算機システム804を動作させるための物理ハードウェアであり、CPU、メモリ、割込みコントローラなどを備える。
ホストOS200は、実計算機100上で動作するソフトウェアであり、CPUやメモリなどのハードウェア資源を抽象化してアプリケーションに提供する。
The real computer 100 is physical hardware for operating the virtual computer system 804, and includes a CPU, a memory, an interrupt controller, and the like.
The host OS 200 is software that operates on the real computer 100 and abstracts hardware resources such as a CPU and a memory and provides them to an application.

仮想マシンモニタ210aは、実計算機100上で複数のOSを動作させるためのソフトウェアであり、仮想計算機300を作成しゲストOS400に提供する。ホストOS型仮想マシンモニタ210aとは、実計算機100上でホストOS200が動作しており、ホストOS200上で仮想マシンモニタ210aおよびゲストOS400が動作するものである。
特に、本実施の形態では、仮想マシンモニタ210aがホストOS200上のアプリケーションとして動作する仮想計算機システム804を例として示す。
The virtual machine monitor 210a is software for operating a plurality of OSs on the real computer 100, and creates the virtual computer 300 and provides it to the guest OS 400. The host OS type virtual machine monitor 210a is one in which the host OS 200 operates on the real computer 100, and the virtual machine monitor 210a and the guest OS 400 operate on the host OS 200.
In particular, in the present embodiment, a virtual machine system 804 in which the virtual machine monitor 210a operates as an application on the host OS 200 is shown as an example.

本実施の形態においても、仮想マシンモニタ210aおよびゲストOS400には準仮想化技術が適用されているものとする。
準仮想化技術については、実施の形態1にて説明したため、ここでは、その説明を省略する。
Also in this embodiment, it is assumed that the para-virtualization technology is applied to the virtual machine monitor 210a and the guest OS 400.
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 virtual machine monitor 210a is an application that operates on the host OS 200. The virtual machine monitor 210a includes a back-end driver 220a, and an H / W failure information setting unit 320 is mounted on the back-end driver 220a. The functional configurations of the back-end driver 220a and the H / W failure information setting unit 320 are the same as those in the second embodiment. Other configurations are the same as those in the second embodiment.

図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 failure operation tool 310 until the H / W failure information 441 is set in the shared memory 430.
First, in S700, when a failure generation instruction is given to the H / W failure operation tool 310, the failure is generated from the H / W failure operation tool 310 to the H / W failure information setting unit 320 of the virtual machine monitor 210a. The contents about the H / W failure are instructed.
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 information setting unit 320 that has received an instruction to generate an H / W failure sets the H / W failure information 441 for the shared memory 430 and raises a virtual interrupt for the guest OS 400.
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 virtual machine monitor 210a in which the virtual machine monitor 210a operates as an application of the host OS 200. H / W failure simulation method. The H / W failure simulation method of the virtual computer system 804 includes the following means (a) to (e). Further, an H / W failure simulation program including the following procedures (a) to (e) is executed on the virtual computer system 804 that is a computer.
(A) A shared memory 430 in which an H / W failure information table 440 for simulating an H / W failure is stored.
(B) An H / W failure information setting unit 320 for registering and updating the H / W failure information table 440.
(C) A failure determination unit 450 that branches processing in the para-virtualized driver of the guest OS 400 based on the H / W failure information table 440.
(D) A failure simulation unit 451 that simulates an H / W failure based on the H / W failure information table 440.
(E) A failure notification unit 452 that notifies the guest OS 400 or the guest APP 500 of an H / W failure.

実施の形態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 virtual machine monitor 210 is incorporated in the host OS 200 is targeted. In the present embodiment, the virtual machine monitor 210a is configured as described above. Even in a virtual environment in which the OS operates as an application on the host OS 200, it is possible to detect and notify an H / W failure on the guest OS 400 to which the para-virtualization technology is applied. Accordingly, it is possible to check the operation of the guest OS 400 or the guest APP 500 when an H / W failure occurs in a virtual environment to which the para-virtualization technology is applied.

実施の形態6.
本実施の形態では、主に、実施の形態1〜5との差異について説明する。
図17は、本実施の形態に係る仮想計算機システム805のシステム構成を示す一例を示す図である。図17を用いて、本実施の形態に係る仮想計算機システム805のシステム構成について説明する。
Embodiment 6 FIG.
In this embodiment, differences from Embodiments 1 to 5 will be mainly described.
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 Embodiments 1 to 5 are denoted by the same reference numerals, and the description thereof may be omitted.

本実施の形態に係る仮想計算機システム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 virtual machine monitor 210b.
The real computer 100 is physical hardware for operating the virtual computer system 805, and includes a CPU, a memory, an interrupt controller, and the like.
The virtual machine monitor 210b is software for operating a plurality of OSs on a real computer, and creates the virtual computer 300 and provides it to the guest OS 400.

ハイパーバイザ型仮想マシンモニタ210bとは、実計算機100上で直接仮想マシンモニタが動作する形態の仮想マシンモニタ210bである。仮想マシンモニタ210bの模擬した仮想計算機300の上でゲストOS400が動作する。   The hypervisor type virtual machine monitor 210b is a virtual machine monitor 210b in a form in which a virtual machine monitor directly operates on the real computer 100. The guest OS 400 operates on the virtual machine 300 simulated by the virtual machine monitor 210b.

本実施の形態においても、仮想マシンモニタ210bおよびゲストOS400には準仮想化技術が適用されているものとする。
準仮想化技術については、実施の形態1にて説明したため、ここでは、その説明を省略する。
Also in this embodiment, it is assumed that the para-virtualization technology is applied to the virtual machine monitor 210b and the guest OS 400.
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 virtual machine monitor 210b described above.

図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 virtual machine monitor 210b is a hypervisor type virtual machine monitor. The virtual machine monitor 210b includes a back-end driver 220b, and an H / W failure information setting unit 320 is mounted on the back-end driver 220b. The functional configurations of the back-end driver 220a and the H / W failure information setting unit 320 are the same as those in the second embodiment.
Furthermore, as a point different from the second embodiment, the virtual machine system 805 according to the present embodiment uses the H / W failure operation tool 310 in addition to the guest OS 400 to be tested as an H / W failure. The guest OSu 400u for managing the virtual machine monitor 210b is arranged on the virtual machine monitor 210b.

ゲストOSu400uには、アプリケーションとしてH/W障害操作ツール310を配置し、H/W障害操作用のユーザインタフェースとする。
その他の構成については、ホストOS200が存在しないこと以外は実施の形態2と同様である。
The guest OSu 400u is provided with an H / W failure operation tool 310 as an application, and serves as a user interface for H / W failure operation.
Other configurations are the same as those in the second embodiment except that the host OS 200 does not exist.

図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 failure operation tool 310 until the H / W failure information 441 is set in the shared memory 430.

まず、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 failure operation tool 310, the H / W failure operation tool 310 generates the failure to the H / W failure information setting unit 320 of the virtual machine monitor 210b. The contents about the H / W failure are instructed.
In this case, the method of inter-OS communication between the guest OS and the guest OS 1 is not particularly mentioned, but for example, packet communication is used.

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 information setting unit 320 that has received an instruction to generate an H / W failure sets the H / W failure information 441 for the shared memory 430 and raises a virtual interrupt for the guest OS 400.
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 virtual machine monitor 210b. The H / W failure simulation method of the virtual computer system 805 includes the following means (a) to (e). In addition, on the virtual computer system 805 that is a computer, an H / W failure simulation program including the following procedures (a) to (e) is executed.
(A) A shared memory 430 in which an H / W failure information table 440 for simulating an H / W failure is stored.
(B) An H / W failure information setting unit 320 for registering and updating the H / W failure information table 440.
(C) A failure determination unit 450 that branches processing in the para-virtualized driver of the guest OS 400 based on the H / W failure information table 440.
(D) A failure simulation unit 451 that simulates an H / W failure based on the H / W failure information table 440.
(E) A failure notification unit 452 that notifies the guest OS 400 or the guest APP 500 of an H / W failure.

以上のように、本実施の形態に係る仮想計算機システム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 virtual machine monitor 210b directly operates on the real computer 100, para-virtualization is performed. It is possible to detect and notify an H / W failure on the guest OS 400 to which the technology is applied.
This makes it possible to check the operation of the guest OS 400 or the guest APP 500 when an H / W failure occurs even in a virtual environment using the hypervisor type virtual machine monitor 210b to which the para-virtualization technology is applied.

実施の形態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 Embodiments 1 to 6 is information on H / W faults in a shared memory that can be referenced from the guest OS and host OS. Is stored, and the H / W failure is detected and notified on the guest OS in accordance with information on the H / W failure set in the shared memory from the host OS side. With this configuration, a hardware failure simulated in the virtual machine monitor can be detected from the guest OS device driver in the virtual machine environment to which the para-virtualization technology is applied, and the guest OS device driver can detect the hardware failure. Can be notified to the guest OS or guest application. This makes it possible to check the operation of the guest application when a hardware failure occurs on the virtual machine environment to which the para-virtualization technology is applied.

また、実施の形態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.
JP2013038796A 2013-02-28 2013-02-28 Virtual computer system, fault simulation method and fault simulation program for virtual computer system Expired - Fee Related JP6045397B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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