JP2014167683A - 仮想計算機システム及び仮想計算機システムの障害模擬方法及び障害模擬プログラム - Google Patents
仮想計算機システム及び仮想計算機システムの障害模擬方法及び障害模擬プログラム Download PDFInfo
- Publication number
- JP2014167683A JP2014167683A JP2013038796A JP2013038796A JP2014167683A JP 2014167683 A JP2014167683 A JP 2014167683A JP 2013038796 A JP2013038796 A JP 2013038796A JP 2013038796 A JP2013038796 A JP 2013038796A JP 2014167683 A JP2014167683 A JP 2014167683A
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【解決手段】模擬が要求される障害の情報が定義されたH/W障害情報441入力するH/W障害操作ツール310を備え、ゲストOS400のフロントエンドドライバ420は、仮想マシンモニタ210と共有する共有メモリ430と、共有メモリ430に記憶される障害情報テーブル440と、障害情報テーブル440にH/W障害情報441が設定されているか否かを判定する障害判定部450と、障害判定部450により設定されていると判定された場合に、H/W障害情報441に基づいて、障害を模擬する障害模擬部451とを備える。
【選択図】図2
Description
このような背景のもと、仮想化環境上でハードウェア障害を模擬し、ゲストアプリケーションの動作確認が行われるようになってきている。
1つ目は完全仮想化と呼ばれる方式で、実デバイスの動作をデバイスレジスタまで含めて全て再現するものである。完全仮想化では実デバイスが完全に再現されるため、ゲストOS(Operating・System)のデバイスドライバは実計算機で動作する時と同じものが使用可能である。しかし、デバイスエミュレーションが大きなオーバヘッドとなるため、ゲストOSのデバイスI/O性能は高くない。
準仮想化方式ではデバイスI/Oは、ホストOS−ゲストOS間の共有メモリを用いたアドレス渡しによるゼロコピーI/Oとなるため、完全仮想化方式に比べて高速なデバイスI/Oが可能となる。また、デバイスエミュレーションなどの処理が簡略化されるため、準仮想化方式ではCPU使用率を低減可能である。
仮想計算機モニタにより準仮想化方式を用いて実現されるゲスト計算機であって、前記仮想計算機モニタにより仮想ハードウェアが割り当てられるゲスト計算機が動作する仮想計算機システムにおいて、
前記仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を入力する障害模擬要求入力部を備え、
前記ゲスト計算機は、
前記仮想ハードウェアを操作するゲスト側ドライバを備え、
前記ゲスト側ドライバは、
記憶装置に記憶される障害情報テーブルであって、前記障害模擬要求入力部により入力された前記障害模擬要求に含まれる前記障害定義情報が設定される障害情報テーブルと、
前記障害情報テーブルに前記障害定義情報が設定されているか否かを処理装置により判定する障害判定部と、
前記障害判定部により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害情報テーブルに設定されている前記障害定義情報に基づいて、
前記仮想ハードウェアの障害を模擬する障害模擬部とを備えることを特徴とする。
本実施の形態に係る仮想計算機システム800は、準仮想化を利用した仮想計算機(ゲスト計算機)において模擬したハードウェア障害を、ゲストOSのデバイスドライバで検出し、ゲストOS及びゲストアプリケーションへの障害通知を行うものである。
図1を用いて、本実施の形態に係る仮想計算機システム800のシステム構成について説明する。
仮想計算機システム800は、実計算機100、ホストOS200、仮想計算機300、ゲストOS400、ゲストAPP(Application)500(ゲストアプリケーション)を備える。
ホストOS型仮想マシンモニタとは、実計算機100上でホストOS200が動作しており、ホストOS200上で仮想マシンモニタ210及びゲストOS400が動作するものである。そして、ゲストOS400上においてゲストAPP500が動作する。
準仮想化技術とは、仮想計算機システム800向けのデバイスI/O高速化技術である。準仮想化技術を適用した環境では、ゲストOS400のデバイスドライバが仮想マシンモニタ210との間に共有メモリ430を備える。
また、仮想マシンモニタ210でのデバイスエミュレーションが簡略化されるため、実計算機100のCPU負荷を低減することが可能である。
準仮想化技術では、仮想マシンモニタ210によりゲストOS400に対し、仮想H/W(仮想ハードウェア)が割り当てられる。準仮想化技術を利用するためには、ゲストOS400及び仮想マシンモニタ210が準仮想化に対応した専用のドライバであって、仮想H/Wを操作するためのドライバを備えていることが必要となる。
仮想計算機システム800は、H/W障害を模擬し、H/W障害に対するシステムの機能を確認する障害模擬システムの一例である。
H/W障害操作ツール310は、仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を、例えば、ユーザから入力する。H/W障害操作ツール310は、障害模擬要求入力部の一例である。
本実施の形態では、一例として仮想マシンモニタ管理用API230を使用するが、仮想マシンモニタ210を外部から操作可能なモジュールであれば仮想マシンモニタ管理用API230に限るものではない。
本実施の形態では、H/W障害情報設定部320は、仮想マシンモニタ210のバックエンドドライバ220に搭載されている。
「H/W情報」には、例えば、ブロックデバイスであればホストOS200上でのファイルのパスなどが設定される。ネットワークデバイスであればMACアドレスなどの仮想H/Wを特定することのできる情報が設定される。
本実施の形態では、例えば、「障害の種別」の値が0の場合はH/W障害の生成指示なし、0以外の場合をH/W障害生成の指示がある場合とする。また、0以外の値が設定されていた場合、設定されている値によって生成するH/W障害を判別可能であるものとする。例えば、「障害の種別」の値が1だった場合は仮想デバイスの応答遅延を模擬する、「障害の種別」の値が2だった場合は仮想デバイスの無応答状態を模擬するなどである。
生成する(模擬する)H/W障害が仮想デバイスの応答遅延だった場合を例とする。この場合、「障害の内容」に応答を遅延させる時間を設定する。「障害の内容」に設定する遅延時間は、任意に指定可能とする。
また、生成するH/W障害が仮想デバイスの無応答だった場合を例とする。この場合は、「障害の内容」に仮想デバイスの応答を破棄する回数を指定することで、「障害の内容」で指定された回数分だけ仮想デバイスが無応答になるように障害を模擬する。
仮想計算機システム800に準仮想化を適用した場合は、仮想マシンモニタ210によってデバイスレジスタが模擬されないため、実際には仮想デバイスのデバイスレジスタは存在しない。しかし、後述する障害模擬部451あるいは障害通知部452等が、ゲストOS400またはゲストAPP500(ゲストアプリケーション)に対し、H/W障害を通知する際にデバイスレジスタの値を渡さなければならない場合がある。このような場合、障害模擬部451あるいは障害通知部452等は、「レジスタ値」に格納されている値を使用する。また、H/W障害発生時にゲストOS400からデバイスレジスタの参照依頼があった際にも、「レジスタ値」に任意の値を格納して渡すことが可能である。ゲストOS400からのデバイスレジスタの参照依頼とは、例えば、該デバイスにアクセスがあった場合などである。
障害判定部450は、H/W障害情報テーブル440内の「障害の種別」の値が0にクリアされているか、0以外の値が設定されているかを処理装置により判定することで、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の動作を示したものである。
まず、仮想計算機システム800のユーザがH/W障害模擬方式を利用する場合、実計算機100のディスプレイ等(入力装置)から、H/W障害操作ツール310に対して、H/W情報、障害の種別、障害の内容などのH/W障害情報441の元となる情報を入力する。
つまり、ユーザがH/W障害操作ツール310を用いて仮想マシンモニタ管理用API230に対してH/W障害の生成を指示する。
H/W障害情報設定部320は、H/W障害生成命令を入力すると、入力したH/W障害生成命令に基づいて、共有メモリ430のH/W障害情報テーブル440の模擬対象ゲスト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に対して仮想割り込み信号を送信する。
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のディスプレイなどに出力するとしてもよい。
ここではH/W障害情報441がセットされているため、障害判定部450は、H/W障害情報テーブル440にH/W障害情報441がセットされていると判定し、H/W障害情報441を読み込む(S202)。
障害模擬部451は、障害判定部450から障害模擬信号を受信すると、障害模擬信号に含まれるH/W障害情報441に基づいて、H/W障害を模擬的に発生させる。
また、障害模擬部451は、ゲストOS400またはゲストAPP500から障害内容の参照があった場合には、障害判定部450から受信した障害模擬信号に含まれるH/W障害情報441を元にH/W障害の内容を模擬し、その内容をゲストOS400またはゲストAPP500へ返答する。この際模擬される内容は、例えばデバイスレジスタの内容などである。
ここでは、模擬したH/W障害の通知を受けたゲストOS400またはゲストAPP500の動作については、特に言及しない。ゲストOS400に備えられた障害通知機能によるH/W障害の通知がドライバから上がってくるという構成は、実計算機システムでのH/W障害発生時の障害通知動作と同様である。ゲストOS400の障害通知機能は、例えば、ディスプレイなどにH/W障害メッセージを表示するなどの動作を行う。
障害通知部452は、障害判定部450によりH/W障害情報テーブル440にH/W障害情報441が設定されていると判定された場合に、H/W障害情報441に含まれる障害種別情報と障害内容情報とを含む情報を通知する。
例えば、障害判定部450は、模擬したH/W障害と、その後のゲストOS400あるいはゲストAPP500の動作を対応付けた一覧をディスプレイに表示するなどしてもよい。
S301において、障害判定部450は、共有メモリ430内のH/W障害情報テーブル440を参照し、H/W障害情報441がセットされているか否かを処理装置により判定(確認)する。
S302において、障害判定部450は、H/W障害情報テーブル440にH/W障害情報441がセットされていないと判定する。
(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。
本実施の形態では、主に、実施の形態1との差異について説明する。
図8は、本実施の形態に係る仮想計算機システム801のブロック構成図である。
図8は、実施の形態1において説明した図2に対応する図であり、同様の機能を有する構成部については、同一の符号を付し、その説明を省略する場合もあるものとする。
本実施の形態に係る仮想計算機システム801は、実施の形態1で説明した仮想計算機システム800の派生形である。実施の形態1で説明した仮想計算機システム800との差分は、H/W障害を生成する際の命令の経路から仮想マシン管理用API230(図2参照)を排したことである。
つまり、H/W障害操作ツール310は、H/W障害情報設定部320に対し、H/W障害生成命令を直接入力する。
S400において、H/W障害操作ツール310は、ユーザにより入力されたH/W障害の内容情報に基づいて、H/W障害情報設定部320に対してH/W障害生成命令を発行(出力)する。
本実施の形態では、H/W障害操作ツール310から仮想マシンモニタ210のH/W障害情報設定部320が直接呼び出される構成となる。
また、S405において、H/W障害情報設定部320は、共有メモリ430から書込完了信号を受信すると、H/W障害生成指示に対応するH/W障害生成指示応答をH/W障害操作ツール310に送信する。
(a)H/W障害操作ツール310が仮想マシンモニタ管理用API230を経由せずに、H/W障害情報設定部320に対して直接H/W障害生成命令を発行する。
本実施の形態では、主に、実施の形態1,2との差異について説明する。
図10は、本実施の形態に係る仮想計算機システム802のブロック構成図である。
図10は、実施の形態1において説明した図2に対応する図であり、同様の機能を有する構成部については、同一の符号を付し、その説明を省略する場合もあるものとする。
本実施の形態では、図1に示す仮想マシンモニタ210がホストOS200に組み込まれた形態のホストOS型仮想マシンモニタ210を用いた仮想マシン環境を対象とする。
H/W障害情報設定部320をフロントエンドドライバ420の内部に配置したことにより、H/W障害情報テーブル440(H/W障害情報441)は共有メモリ430上に置く必要がない。したがって、本実施の形態に係る仮想計算機システム802では、障害情報保持領域480(障害情報記憶領域)をフロントエンドドライバ420内で確保し、H/W障害情報テーブル440(H/W障害情報441)を障害情報保持領域480へ格納する。
S502,S503の処理は、S402,S403の処理と同様である。
(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。
本実施の形態では、主に、実施の形態3との差異について説明する。
図12は、本実施の形態に係る仮想計算機システム803のブロック構成図である。
図12は、実施の形態3において説明した図10に対応する図であり、同様の機能を有する構成部については、同一の符号を付し、その説明を省略する場合もあるものとする。
本実施の形態に係る仮想計算機システム803は、実施の形態3で説明した仮想計算機システム802の派生形である。
実施の形態3で説明した仮想計算機システム802との差分は、H/W障害情報設定部320がフロントエンドドライバ420ではなく、フロントエンドドライバ420とは別のカーネルモジュールであるH/W障害設定モジュール490(障害設定モジュール)に配置したことである。
その他の構成は、実施の形態3で説明したものと同様である。
S600において、H/W障害操作ツール310は、H/W障害情報設定モジュール490に対してH/W障害生成の命令を発行する。
S601において、H/W障害情報設定モジュール490のH/W障害情報設定部320は、フロントエンドドライバ内の障害情報保持領域480に対して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をセットする。
本実施の形態では、主に、実施の形態1〜4との差異について説明する。
図14は、本実施の形態に係る仮想計算機システム804のシステム構成を示す一例を示す図である。図14を用いて、本実施の形態に係る仮想計算機システム804のシステム構成について説明する。
ホストOS200は、実計算機100上で動作するソフトウェアであり、CPUやメモリなどのハードウェア資源を抽象化してアプリケーションに提供する。
特に、本実施の形態では、仮想マシンモニタ210aがホストOS200上のアプリケーションとして動作する仮想計算機システム804を例として示す。
準仮想化技術については、実施の形態1にて説明したため、ここでは、その説明を省略する。
図15は、実施の形態2において説明した図8に対応する図であり、実施の形態2との差分は、仮想マシンモニタ210aがホストOS200上で動作するアプリケーションとなっている点である。仮想マシンモニタ210aは、バックエンドドライバ220aを備え、バックエンドドライバ220aには、H/W障害情報設定部320が搭載されている。バックエンドドライバ220a及びH/W障害情報設定部320の機能構成については、実施の形態2と同様である。また、その他の構成についても実施の形態2と同様である。
図16に、H/W障害操作ツール310に対して障害生成の指示を与えてから共有メモリ430にH/W障害情報441がセットされるまでのシーケンスを示す。
まず、S700において、H/W障害操作ツール310に対して障害生成の指示を与えると、H/W障害操作ツール310から仮想マシンモニタ210aのH/W障害情報設定部320に対して、生成するH/W障害についての内容が指示される。
この際のプロセス間通信の方法については特に言及しないが、例えばメッセージパッシングやシグナル、ソケット通信などを利用する。
以降のシーケンスは、実施の形態1と同様であり、図6及び図7に示したシーケンスとなる。
また、S702〜S703のシーケンスは、図9に示すS402〜S403のシーケンスと同様である。
(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。
本実施の形態では、主に、実施の形態1〜5との差異について説明する。
図17は、本実施の形態に係る仮想計算機システム805のシステム構成を示す一例を示す図である。図17を用いて、本実施の形態に係る仮想計算機システム805のシステム構成について説明する。
実計算機100は、仮想計算機システム805を動作させるための物理ハードウェアであり、CPU、メモリ、割込みコントローラなどを備える。
仮想マシンモニタ210bは、実計算機上で複数のOSを動作させるためのソフトウェアであり、仮想計算機300を作成しゲストOS400に提供する。
準仮想化技術については、実施の形態1にて説明したため、ここでは、その説明を省略する。
本実施の形態に係る仮想計算機システム805は、上述したハイパーバイザ型仮想マシンモニタ210bを用いたシステムである。
また、さらに実施の形態2と異なる点としては、本実施の形態に係る仮想計算機システム805は、試験対象とするゲストOS400の他に、H/W障害操作ツール310を使用してH/W障害を管理するためのゲストOSu400uを仮想マシンモニタ210b上に配置する点である。
その他の構成については、ホストOS200が存在しないこと以外は実施の形態2と同様である。
図19に、H/W障害操作ツール310に対して障害生成の指示を与えてから共有メモリ430にH/W障害情報441がセットされるまでのシーケンスを示す。
この際のゲストOS−ゲストOS1間のOS間通信の方法については特に言及しないが、例えば、パケット通信などを利用する。
以降のシーケンスは、実施の形態1と同様であり、図6及び図7に示したシーケンスとなる。
また、S802〜S803のシーケンスは、図9に示すS402〜S403のシーケンスと同様である。
(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。
これによって、準仮想化技術を適用したハイパーバイザ型仮想マシンモニタ210bを用いた仮想化環境上においても、H/W障害発生時のゲストOS400またはゲストAPP500の動作確認を行うことが可能となる。
Claims (11)
- 仮想計算機モニタにより準仮想化方式を用いて実現されるゲスト計算機であって、前記仮想計算機モニタにより仮想ハードウェアが割り当てられるゲスト計算機が動作する仮想計算機システムにおいて、
前記仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を入力する障害模擬要求入力部を備え、
前記ゲスト計算機は、
前記仮想ハードウェアを操作するゲスト側ドライバを備え、
前記ゲスト側ドライバは、
記憶装置に記憶される障害情報テーブルであって、前記障害模擬要求入力部により入力された前記障害模擬要求に含まれる前記障害定義情報が設定される障害情報テーブルと、
前記障害情報テーブルに前記障害定義情報が設定されているか否かを処理装置により判定する障害判定部と、
前記障害判定部により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害情報テーブルに設定されている前記障害定義情報に基づいて、前記仮想ハードウェアの障害を模擬する障害模擬部と
を備えることを特徴とする仮想計算機システム。 - 前記障害模擬要求入力部は、
前記障害定義情報として、障害の種別を特定する障害種別情報と、障害の内容を特定する障害内容情報とを含み、
前記障害模擬部は、
前記障害情報テーブルに設定されている前記障害定義情報に含まれる前記障害種別情報と前記障害内容情報とにより特定される障害を模擬し、
前記ゲスト側ドライバは、さらに、
前記障害判定部により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害定義情報に含まれる前記障害種別情報と前記障害内容情報とを含む情報を通知する障害通知部を備える
ことを特徴とする請求項1に記載の仮想計算機システム。 - 前記仮想計算機システムは、
前記障害模擬要求入力部により入力された前記障害模擬要求に含まれる前記障害定義情報を入力し、入力した前記障害定義情報を前記障害情報テーブルに書き込む障害情報設定部を備えることを特徴とする請求項1または2に記載の仮想計算機システム。 - 前記ゲスト側ドライバは、
前記仮想計算機モニタと共有する共有記憶領域を備え、
前記障害情報テーブルは、
前記共有記憶領域に記憶され、
前記仮想計算機モニタは、
前記ゲスト計算機に割り当てた前記仮想ハードウェアを操作するとともに前記障害情報設定部が搭載されたモニタ側ドライバを備え、
前記仮想計算機システムは、さらに、
前記仮想計算機モニタが組み込まれたホスト計算機を備え、
前記ホスト計算機は、
前記障害模擬要求入力部から前記障害模擬要求を入力し、入力した前記障害模擬要求を前記仮想計算機モニタの前記モニタ側ドライバに搭載された前記障害情報設定部に入力し、
前記障害情報設定部は、
入力した前記障害模擬要求に含まれる前記障害定義情報を、前記ゲスト側ドライバの前記共有記憶領域に記憶されている前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 - 前記ホスト計算機は、
前記障害模擬要求入力部から入力された前記障害模擬要求を前記仮想計算機モニタに入力するインタフェース部を備え、
前記障害情報設定部は、
前記障害模擬要求入力部から入力された前記障害模擬要求を前記ホスト計算機の前記インタフェース部を介して入力する
ことを特徴とする請求項4に記載の仮想計算機システム。 - 前記ゲスト側ドライバは、
前記障害情報テーブルが記憶される障害情報記憶領域を備えるとともに、前記障害情報設定部を搭載し、
前記障害情報設定部は、
前記障害模擬要求入力部から前記障害模擬要求を入力し、入力した前記障害模擬要求に含まれる前記障害定義情報を、前記障害情報記憶領域に記憶された前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 - 前記ゲスト計算機は、
前記障害情報設定部を備える障害設定モジュールを備え、
前記ゲスト側ドライバは、
前記障害情報テーブルが記憶される障害情報記憶領域を備え、
前記障害情報設定部は、
前記障害模擬要求入力部から前記障害模擬要求を入力し、入力した前記障害模擬要求に含まれる前記障害定義情報を、前記ゲスト側ドライバの備える前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 - 前記ゲスト側ドライバは、
前記仮想計算機モニタと共有する共有記憶領域を備え、
前記障害情報テーブルは、
前記共有記憶領域に記憶され、
前記仮想計算機モニタは、
前記ゲスト計算機に割り当てた前記仮想ハードウェアを操作するとともに前記障害情報設定部が搭載されたモニタ側ドライバを備え、
前記仮想計算機システムは、さらに、
前記仮想計算機モニタと前記障害模擬要求入力部とがアプリケーションプログラムとして動作するホスト計算機を備え、
前記ホスト計算機は、
前記障害模擬要求入力部により入力した前記障害模擬要求を前記仮想計算機モニタに入力し、
前記仮想計算機モニタの前記モニタ側ドライバに搭載された前記障害情報設定部は、
前記ホスト計算機から入力した前記障害模擬要求に含まれる前記障害定義情報を、前記ゲスト側ドライバの前記共有記憶領域に記憶されている前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 - 前記ゲスト側ドライバは、
前記仮想計算機モニタと共有する共有記憶領域を備え、
前記障害情報テーブルは、前記共有記憶領域に記憶され、
前記仮想計算機モニタは、
前記ゲスト計算機に割り当てた前記仮想ハードウェアを操作するとともに前記障害情報設定部が搭載されたモニタ側ドライバを備え、
前記仮想計算機システムは、さらに、
前記障害模擬要求入力部を動作させる入力用計算機を備え、
前記入力用計算機は、
前記障害模擬要求入力部により前記障害模擬要求を入力し、入力した前記障害模擬要求を前記仮想計算機モニタに入力し、
前記仮想計算機モニタの前記モニタ側ドライバに搭載された前記障害情報設定部は、
前記入力用計算機から入力した前記障害模擬要求に含まれる前記障害定義情報を、前記ゲスト側ドライバの前記共有記憶領域に記憶されている前記障害情報テーブルに設定する
ことを特徴とする請求項3に記載の仮想計算機システム。 - 仮想計算機モニタにより準仮想化方式を用いて実現されるゲスト計算機であって、前記仮想計算機モニタにより仮想ハードウェアが割り当てられるゲスト計算機が動作する仮想計算機システムの障害模擬方法において、
障害模擬要求入力部が、前記仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を入力し、
障害情報設定部が、前記障害模擬要求入力部により入力された前記障害模擬要求に含まれる前記障害定義情報を入力し、入力した前記障害定義情報を、前記ゲスト計算機の備える障害情報テーブルに設定し、
障害判定部が、前記障害情報テーブルに前記障害定義情報が設定されているか否かを判定し、
障害模擬部が、前記障害判定部により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害情報テーブルに設定されている前記障害定義情報に基づいて、前記仮想ハードウェアの障害を模擬する
ことを特徴とする仮想計算機システムの障害模擬方法。 - 仮想計算機モニタにより準仮想化方式を用いて実現されるゲスト計算機であって、前記仮想計算機モニタにより仮想ハードウェアが割り当てられるゲスト計算機が動作する仮想計算機システムが搭載されたコンピュータの障害模擬プログラムにおいて、
障害模擬要求入力部が、前記仮想ハードウェアの障害の模擬を要求する障害模擬要求であって、模擬が要求される障害の情報が定義された障害定義情報を含む障害模擬要求を入力する障害模擬要求入力処理と、
障害情報設定部が、前記障害模擬要求入力処理により入力された前記障害模擬要求に含まれる前記障害定義情報を入力し、入力した前記障害定義情報を、前記ゲスト計算機の備える障害情報テーブルに設定する障害情報設定処理と、
障害判定部が、前記障害情報テーブルに前記障害定義情報が設定されているか否かを判定する障害判定処理と、
障害模擬部が、前記障害判定処理により前記障害情報テーブルに前記障害定義情報が設定されていると判定された場合に、前記障害情報テーブルに設定されている前記障害定義情報に基づいて、前記仮想ハードウェアの障害を模擬する障害模擬処理と
を前記仮想計算機システムが搭載されたコンピュータに実行させることを特徴とする障害模擬プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013038796A JP6045397B2 (ja) | 2013-02-28 | 2013-02-28 | 仮想計算機システム及び仮想計算機システムの障害模擬方法及び障害模擬プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013038796A JP6045397B2 (ja) | 2013-02-28 | 2013-02-28 | 仮想計算機システム及び仮想計算機システムの障害模擬方法及び障害模擬プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014167683A true JP2014167683A (ja) | 2014-09-11 |
JP6045397B2 JP6045397B2 (ja) | 2016-12-14 |
Family
ID=51617348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013038796A Expired - Fee Related JP6045397B2 (ja) | 2013-02-28 | 2013-02-28 | 仮想計算機システム及び仮想計算機システムの障害模擬方法及び障害模擬プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6045397B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021533458A (ja) * | 2018-12-03 | 2021-12-02 | セールスフォース ドット コム インコーポレイティッド | 自動動作管理のためのテストエンジン |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011100300A (ja) * | 2009-11-06 | 2011-05-19 | Mitsubishi Electric Corp | 計算機装置及び情報処理方法及びプログラム |
JP2011227700A (ja) * | 2010-04-20 | 2011-11-10 | Mitsubishi Electric Corp | 周辺機器障害模擬システム、周辺機器障害模擬方法および周辺機器障害模擬プログラム |
-
2013
- 2013-02-28 JP JP2013038796A patent/JP6045397B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011100300A (ja) * | 2009-11-06 | 2011-05-19 | Mitsubishi Electric Corp | 計算機装置及び情報処理方法及びプログラム |
JP2011227700A (ja) * | 2010-04-20 | 2011-11-10 | Mitsubishi Electric Corp | 周辺機器障害模擬システム、周辺機器障害模擬方法および周辺機器障害模擬プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021533458A (ja) * | 2018-12-03 | 2021-12-02 | セールスフォース ドット コム インコーポレイティッド | 自動動作管理のためのテストエンジン |
JP7090797B2 (ja) | 2018-12-03 | 2022-06-24 | セールスフォース ドット コム インコーポレイティッド | 自動動作管理のためのテストエンジン |
Also Published As
Publication number | Publication date |
---|---|
JP6045397B2 (ja) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9921940B2 (en) | Creating a software performance testing environment on a virtual machine system | |
CN107209681B (zh) | 一种存储设备访问方法、装置和系统 | |
US8683589B2 (en) | Providing protection against unauthorized network access | |
US8046641B2 (en) | Managing paging I/O errors during hypervisor page fault processing | |
JP4434235B2 (ja) | 計算機システムまたは計算機システムの性能管理方法 | |
US8914684B2 (en) | Method and system for throttling log messages for multiple entities | |
US8943284B2 (en) | Systems and methods for integrating compute resources in a storage area network | |
JP2020091835A (ja) | 情報を処理するための方法及び装置 | |
CN111736945B (zh) | 基于智能网卡的虚拟机热迁移方法、装置、设备及介质 | |
JP2011154697A (ja) | Raidと関連するアプリケーションの実行のための方法およびシステム | |
US20150089011A1 (en) | Event Driven Remote Direct Memory Access Snapshots | |
JP2013073405A (ja) | 監視装置、制御方法及び制御プログラム | |
CN101599005A (zh) | 分配存储设备的逻辑存储实体的方法和系统 | |
US11734430B2 (en) | Configuration of a memory controller for copy-on-write with a resource controller | |
US20180157605A1 (en) | Configuration of a memory controller for copy-on-write | |
US20160259578A1 (en) | Apparatus and method for detecting performance deterioration in a virtualization system | |
US20150039834A1 (en) | Sharing local cache from a failover node | |
JP6045397B2 (ja) | 仮想計算機システム及び仮想計算機システムの障害模擬方法及び障害模擬プログラム | |
JP6356822B2 (ja) | 計算機システム及びメモリダンプ方法 | |
JP5419639B2 (ja) | 計算機装置及び情報処理方法及びプログラム | |
US20150277945A1 (en) | Virtual computer system | |
WO2018173300A1 (ja) | I/o制御方法およびi/o制御システム | |
JP5832408B2 (ja) | 仮想計算機システム及びその制御方法 | |
TWI813283B (zh) | 用於使用緩衝概要群組之系統間處理之電腦程式產品、電腦系統及電腦實施方法 | |
JP2012173804A (ja) | 共有メモリデバッグ装置及びプログラム |
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 |