JP6604218B2 - 試験装置、ネットワークシステム、及び試験方法 - Google Patents

試験装置、ネットワークシステム、及び試験方法 Download PDF

Info

Publication number
JP6604218B2
JP6604218B2 JP2016016039A JP2016016039A JP6604218B2 JP 6604218 B2 JP6604218 B2 JP 6604218B2 JP 2016016039 A JP2016016039 A JP 2016016039A JP 2016016039 A JP2016016039 A JP 2016016039A JP 6604218 B2 JP6604218 B2 JP 6604218B2
Authority
JP
Japan
Prior art keywords
test
virtual machine
snapshot
tested
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016016039A
Other languages
English (en)
Other versions
JP2017135653A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016016039A priority Critical patent/JP6604218B2/ja
Priority to US15/392,447 priority patent/US10180898B2/en
Publication of JP2017135653A publication Critical patent/JP2017135653A/ja
Application granted granted Critical
Publication of JP6604218B2 publication Critical patent/JP6604218B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本件は、試験装置、ネットワークシステム、及び試験方法に関する。
例えばサーバ仮想化技術やネットワーク仮想化技術の普及に伴い、ネットワークが複雑化している。サーバ仮想化技術は、1台のサーバに複数台のコンピュータを仮想的に形成し、各コンピュータに個別のOS(Operating System)やアプリケーションを実装するものである。また、ネットワーク仮想化技術は、各種のネットワーク機能を、アプリケーションを用いてサーバなどに仮想的に形成するものである。
さらに、上記のような仮想マシン(VM: Virtual Machine)に加え、例えばOSS(Open Source Software)の利用や新旧のシステムの連携などが必要となる場合、ネットワークはいっそう複雑化する。ネットワークが複雑化すると、潜在的な問題がネットワークの運用中に発生し、そのネットワークで提供中の通信サービスに影響を与えるおそれがある。
これに対し、運用中のネットワークに対し、例えば試験用トラフィックの入力や疑似的な障害の発生などの自動試験を実行するソフトウェアが研究開発されている。このようなソフトウェアとしては、例えばNetflix(登録商標)社が中心となって開発を進めるオープンソースソフトウェア製の「Chaos Monkey」が挙げられる。「Chaos Monkey」によると、登録されたクラウド上の仮想マシン群から試験対象の仮想マシンを無作為に選択し、その仮想マシンの停止などを強制的に実行して、障害からの復旧性能を試験することができる。なお、特許文献1及び2には、情報処理装置及び計算機の試験に関する技術がそれぞれ開示されている。
特開2002−182944号公報 特開2005−301438号公報
しかし、運用中のネットワークに対し試験を実行した場合、上記の潜在的な問題が発生することによって、そのネットワークで提供中の通信サービスの品質が低下することが懸念される。例えば、運用中のネットワーク内に、仮想ロードバランサにより負荷分散された3台の仮想ファイアウォールが存在する場合、1台の仮想ファイアウォールに疑似的に障害を発生させる試験を行うと、負荷分散処理が正常であれば、2台の仮想ファイアウォールの縮退運用となり、障害が発生した仮想ファイアウォールのトラフィック処理が他の2台に分散される。
しかし、負荷分散処理が異常であれば、トラフィック処理が他の2台に負荷分散されず、トラフィックの廃棄が発生してしまう。全体の仮想ファイアウォールのトラフィック処理性能が約3分の2に低下することが考え得る。さらに悪い場合では、仮想ロードバランサの負荷分散処理自体が停止し、他の2台の仮想ファイアウォールのトラフィック処理も停止してしまうことも考え得る。
そこで本件は上記の課題に鑑みてなされたものであり、通信サービスの品質に対する運用中のネットワークの試験の影響を低減させた試験装置、ネットワークシステム、及び試験方法を提供することを目的とする。
本明細書に記載の試験装置は、運用中のネットワークに接続された複数の仮想マシンのうち、試験対象の仮想マシンに対し試験を実行する実行部と、前記実行部が前記試験を実行する前に前記試験対象の仮想マシンのスナップショットを生成し保存する保存処理部と、前記試験の成否を判定する判定部と、前記判定部の判定結果に応じ、前記保存処理部により保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験対象の仮想マシンを置換する置換処理部とを有し、前記保存処理部は、前記複数の仮想マシンの間の冗長構成の形態を特定し、特定した前記冗長構成の形態に基づき、前記複数の仮想マシンのうち、前記試験対象の仮想マシンから前記試験の影響を受ける仮想マシンを抽出し、前記実行部が前記試験を実行する前に前記試験の影響を受ける仮想マシンのスナップショットを生成して保存し、前記置換処理部は、前記保存処理部により保存された前記スナップショットから、前記試験の影響を受ける仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験の影響を受ける仮想マシンを置換する
本明細書に記載のネットワークシステムは、運用中のネットワークに接続された複数の仮想マシンと、前記ネットワークの試験を実行する試験装置とを有し、前記試験装置は、前記複数の仮想マシンのうち、試験対象の仮想マシンに対し前記試験を実行する実行部と、前記実行部が前記試験を実行する前に前記試験対象の仮想マシンのスナップショットを生成し保存する保存処理部と、前記試験の成否を判定する判定部と、前記判定部の判定結果に応じ、前記保存処理部により保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験対象の仮想マシンを置換する置換処理部とを有し、前記保存処理部は、前記複数の仮想マシンの間の冗長構成の形態を特定し、特定した前記冗長構成の形態に基づき、前記複数の仮想マシンのうち、前記試験対象の仮想マシンから前記試験の影響を受ける仮想マシンを抽出し、前記実行部が前記試験を実行する前に前記試験の影響を受ける仮想マシンのスナップショットを生成して保存し、前記置換処理部は、前記保存処理部により保存された前記スナップショットから、前記試験の影響を受ける仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験の影響を受ける仮想マシンを置換する
本明細書に記載の試験方法は、運用中のネットワークに接続された複数の仮想マシンのうち、試験対象の仮想マシンに対し試験を実行し、前記複数の仮想マシンの間の冗長構成の形態を特定し、特定した前記冗長構成の形態に基づき、前記複数の仮想マシンのうち、前記試験対象の仮想マシンから前記試験の影響を受ける仮想マシンを抽出し、前記試験を実行する前に前記試験対象の仮想マシン及び前記試験の影響を受ける仮想マシンのスナップショットを生成して保存し、前記試験の成否を判定し、該判定結果に応じ、保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシン、及び前記試験の影響を受ける仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験対象の仮想マシン、及び前記試験の影響を受ける仮想マシンを置換する方法である。
運用中の通信サービスの品質に対する試験の影響を低減することができる。
ネットワークシステムの一例を示す構成図である。 ネットワーク機能部の一例を示す構成図である。 試験実行サーバの一例を示す構成図である。 冗長構成定義情報の一例を示す図である。 試験実行サーバの処理の一例を示すフローチャートである。 試験実行サーバの処理の他例を示すフローチャートである。 ネットワーク機能部の置換処理の一例を示す図である。 試験実行サーバの処理の他例を示すフローチャートである。 試験実行サーバの処理の他例を示すフローチャートである。 冗長構成のタイプの特定の例を示す図である。 スナップショットの生成対象のネットワーク機能部の範囲の一例を示す図である。 ネットワーク機能部の置換処理の他例を示す図である。
図1は、ネットワークシステムの一例を示す構成図である。ネットワークシステムは、試験装置の一例である試験実行サーバ1と、ネットワーク管理サーバ2と、情報を記憶するストレージ装置4と、ネットワーク3が仮想的に形成された複数台の物理サーバ30とを有する。ネットワーク3には、互いに接続された各種のネットワーク機能部(「NW機能」参照)A1,B1〜B3,C1〜C4,D1〜D3,E1,E2が接続されている。なお、ネットワーク3は、1台の物理サーバ30により形成されてもよい。
複数台の物理サーバ30は、所定のアプリケーションを実行することにより、例えば仮想マシンとしてNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2を構成する。NW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2は仮想的な通信装置として機能する。
NW機能部B1〜B3,C1〜C4,D1〜D3,E1,E2は、グループB〜Eに分かれている。グループBにはNW機能部B1〜B3が属し、グループCにはNW機能部C1〜C4が属し、グループDにはNW機能部D1〜D3が属し、グループEにはNW機能部E1,E2が属する。
通信のトラフィックTrは、NW機能部A1、グループB、グループC、グループD、及びグループEを、この順に通って転送される(ネットワーク3内の矢印参照)。NW機能部B1〜B3,C1〜C4,D1〜D3,E1,E2は、入力されたトラフィックTrに対し、グループB〜Eごとに、例えばファイアウォール、プロキシーサーバ、及びロードバランサなどの機能を実行する。なお、NW機能部A1も同様に所定の機能を実行する。
各グループB〜Eの間において、NW機能部B1〜B3,C1〜C4,D1〜D3,E1,E2は個別の冗長構成の形態で動作する。なお、冗長構成の形態は、後述する「タイプ」により定義される。
ネットワーク管理サーバ2はネットワーク3を管理する。ネットワーク管理サーバ2は、NW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の接続構成、冗長構成、トラフィックTrの経路、トラフィックTrの処理性能、及びリソースの管理などを行う。
試験実行サーバ1は、運用中のネットワーク3に対し所定の試験を実行する。これにより、ネットワーク3に存在する潜在的な問題を検出して解決する。しかし、上記の潜在的な問題が発生することによって、そのネットワークで提供中の通信サービスの品質(以下、「サービス品質」と表記)が低下することが懸念される。
一例として、NW機能部A1が仮想ロードバランサであり、NW機能部B1〜B3が仮想ファイアウォールである場合を挙げる。この場合、NW機能部A1は、トラフィックTrの処理の負荷をNW機能部B1〜B3に分散させる。
このため、試験実行サーバ1が、NW機能部B1に疑似的に障害を発生させる試験を行ったとき、NW機能部A1の負荷分散処理が正常であれば、障害が発生したNW機能部B1のトラフィック処理が他のNW機能部B2,B3に分散される。
しかし、NW機能部A1の負荷分散処理が異常であれば、トラフィック処理がNW機能部B2,B3に負荷分散されず、一部のトラフィックが中継されずに廃棄される。さらに悪い場合では、NW機能部A1の負荷分散処理自体が停止し、NW機能部B2,B3のトラフィック処理も停止してしまうことも考え得る。
そこで、試験実行サーバ1は、試験実行前にネットワーク3内の障害発生対象のNW機能部B1のスナップショットを保存し、試験の成否に応じ、スナップショットから代わりのNW機能部を生成することで、サービス品質に対する試験の影響を低減する。
スナップショットとは、特定の一時点に仮想マシンのシステム状態を記憶しているストレージ中の仮想ディスクイメージや、特定の一時点に仮想マシンのシステム状態を記憶している仮想マシンが起動中に書き込んだメモリ上のデータや、特定の一時点に仮想マシンのシステム状態を記憶している仮想マシンのシステム構成情報が格納されたファイルなどを指す。
より具体的には、試験実行サーバ1は、試験の実行に先立ち、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2のスナップショットを生成して、ハードディスクドライブ(HDD: Hard Disk Drive)またはメモリなどの記憶手段を備えたストレージ装置4に保存する。なお、スナップショットの保存先は、ストレージ装置4に限定されず、試験実行サーバ1に備えられたHDDまたはメモリなどの記憶手段であってもよい。
試験実行サーバ1は、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に対し試験を実行し、その成否を判定する。ネットワーク3に対する試験としては、例えば、NW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に疑似的な障害を発生させるもの、及び試験用のトラフィックを入力するものが挙げられる。
試験実行サーバ1は、その判定の結果、試験が失敗であると判定した場合、つまりネットワーク3がサービス品質に影響する異常な動作を行った場合(エラーや不具合などの発生)、保存したスナップショットから試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に代わる新たなNW機能部を当該物理サーバ30上に生成する。そして、試験実行サーバ1は、ネットワーク3において、新たなNW機能部を試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2と置換する。
試験実行サーバ1は、新たなNW機能部を起動することにより、スナップショットの生成時点の状態から試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の動作を再開させることができる。このため、試験実行サーバ1は、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2を試験実行前の状態に復元することができる。
したがって、試験実行サーバ1は、ネットワーク3の試験の実行により潜在的な問題が生じた場合でも、サービス品質に対する試験の影響を低減することができる。なお、後述するように、スナップショットの生成対象には、試験対象のNW機能部だけでなく、そのNW機能部を含む冗長構成の他のNW機能部、及びそのNW機能部に隣接する他のNW機能部も含まれてよい。
図2は、NW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の一例を示す構成図である。NW機能部A1,B1〜B3は、一例として共通の物理サーバ30に形成されている。なお、図示を省略するが、他のNW機能部C1〜C4,D1〜D3,E1,E2も、NW機能部A1,B1〜B3と同様に、他の物理サーバ30に形成されている。
NW機能部A1,B1〜B3は、物理サーバ30のCPU(Central Processing Unit)を駆動するホストOS(Operating System)35上で動作する仮想マシンモニタ34により形成されている。NW機能部A1,B1〜B3は、仮想マシンモニタ34上で疑似的に動作する仮想マシンである。
仮想マシンモニタ34は、デバイス構成情報33と仮想ディスクイメージ32を用いてNW機能部A1,B1〜B3を構成し、NW機能部A1,B1〜B3が動作するときにメモリ状態を、他のNW機能部A1,B1〜B3及びホストOS35上の領域から独立した仮想メモリイメージ31として物理メモリ上に展開している。
デバイス構成情報33には、NW機能部A1,B1〜B3を構成するCPUの種別やその処理速度、入出力デバイスなどの情報、及び使用する仮想ディスクイメージ32や仮想メモリイメージ31が記述されている。また、仮想ディスクイメージ32は、HDDなどの記憶デバイスを模したファイルであり、HDDなどに格納されるデータが記憶されている。
試験実行サーバ1は、仮想マシンモニタ34を介し、仮想メモリイメージ31、仮想ディスクイメージ32、及びデバイス構成情報33を複製することによりNW機能部A1,B1〜B3のスナップショットを生成する。また、試験実行サーバ1は、仮想ディスクイメージ32及びデバイス構成情報33を複製することによりNW機能部A1,B1〜B3のスナップショットを生成してもよい。
また、ある時刻以降のNW機能部A1,B1〜B3の更新状態を仮想メモリイメージ31や仮想ディスクイメージ32に分割して記憶し、ある時刻の仮想メモリイメージ31や仮想ディスクイメージ32を、NW機能部A1,B1〜B3を動作させたまま、スナップショットとして生成してもよい。スナップショットの生成手法は、NW機能部A1,B1〜B3の復元の条件やスナップショットの生成処理の負荷に応じて決定されてもよいが、限定はない。
試験実行サーバ1は、生成したスナップショットを例えばストレージ装置4に保存する。試験実行サーバ1は、保存されたスナップショットをストレージ装置4から読み出し、スナップショットを構成する仮想メモリイメージ31、仮想ディスクイメージ32、及びデバイス構成情報33などを物理サーバ30の物理メモリ上に展開する。これにより、NW機能部A1,B1〜B3を、スナップショットの生成時点の状態から動作させることが可能となる。
図3は、試験実行サーバ1の一例を示す構成図である。試験実行サーバ1は、CPU10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、HDD(Hard Disk Drive)13、複数の通信ポート14、入力装置15、及び出力装置16を有する。CPU10は、互いに信号の入出力ができるように、ROM11、RAM12、HDD13、複数の通信ポート14、入力装置15、及び出力装置16と、バス19を介して接続されている。
ROM11は、CPU10を駆動するプログラムが格納されている。RAM12は、CPU10のワーキングメモリとして機能する。通信ポート14は、例えば無線LAN(Local Area Network)カードやNIC(Network Interface Card)であり、ネットワーク管理サーバ2及びネットワーク3との間でそれぞれパケットを送受信する。なお、パケットとしてIP(Internet Protocol)パケットが挙げられるが、これに限定されない。
入力装置15は、試験実行サーバ1に情報を入力する装置である。入力装置15としては、例えばキーボード、マウス、及びタッチパネルなどが挙げられる。入力装置15は、入力された情報を、バス19を介しCPU10に出力する。
出力装置16は、試験実行サーバ1の情報を出力する装置である。出力装置16としては、例えばディスプレイ、タッチパネル、及びプリンタなどが挙げられる。出力装置16は、CPU10からバス19を介して情報を取得して出力する。
CPU10は、ROM11からプログラムを読み込むと、機能として、ネットワーク情報取得部105、試験対象決定部101、スナップショット(SS)保存処理部102、試験実行部104、試験結果判定部103、及び復元処理部100が形成される。また、HDD13には、ネットワーク構成情報130及び冗長構成定義情報131が記憶されている。なお、ネットワーク構成情報130及び冗長構成定義情報131の記憶手段としては、HDD13に代えて、EPROM(Erasable Programmable ROM)などの不揮発性メモリなどが用いられてもよい。
ネットワーク情報取得部105は、例えば、通信ポート14を介し、ネットワーク管理サーバ2からネットワーク構成情報130及び冗長構成定義情報131を取得する。ネットワーク構成情報130は、ネットワーク3内のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の構成に関する情報であり、例えば、接続構成、グループB〜Eの構成の情報などが含まれる。
冗長構成定義情報131は、NW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の間の冗長構成のタイプの定義を示す。より具体的には、冗長構成定義情報131は、グループB〜Eの間の冗長構成のタイプを示す。
試験対象決定部101は、例えば、ネットワーク情報取得部105から情報の取得の完了が通知されると、NW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2から試験対象のNW機能部を決定する。試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2は、ランダムに決定されてもよいし、所定の規則に従って決定されてもよい。試験対象決定部101は、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2をSS保存処理部102に通知する。
SS保存処理部102は、保存処理部の一例であり、試験実行部104が試験を実行する前に試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2のスナップショットを生成しストレージ装置4に保存する。より具体的には、SS保存処理部102は、通信ポート14を介して、物理サーバ30の仮想マシンモニタ34にアクセスすることにより、例えば、仮想メモリイメージ31、仮想ディスクイメージ32、及びデバイス構成情報33を読み出して複製する。SS保存処理部102は、複製した仮想メモリイメージ31、仮想ディスクイメージ32、及びデバイス構成情報33を、スナップショットとして、通信ポート14を介して、ストレージ装置4に送信してストレージ装置4内の記憶手段に記憶させる。
また、SS保存処理部102は、試験実行部104が試験を実行する前に、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に加え、その試験対象のNW機能部から試験の影響を受けるNW機能部のスナップショットを生成し保存してもよい。この場合、SS保存処理部102は、冗長構成定義情報131に基づいてNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の間の冗長構成のタイプを特定し、特定した冗長構成のタイプに基づき、試験対象の仮想マシンから試験の影響を受けるNW機能部を抽出する。
図4には、冗長構成定義情報131の一例が示されている。冗長構成定義情報131は、振り分け機能部(「振り分け機能」参照)X1,X2と処理機能部(「処理機能」)Y1〜Y3,Z1〜Z3と制御機能部W(「制御機能」参照)の関係に基づき冗長構成を、一例として6つのタイプ1S〜3S,1M〜3Mに分けて定義する。なお、処理機能部Y1〜Y3と処理機能部Z1〜Z3は、同数であるとは限られず、また、固定的に接続されているとは限らない。処理機能部Y1〜Y3と処理機能部Z1〜Z3の接続関係は、例えばトラフィックTrの種別やネットワークの制御手段により動的に変更される。
振り分け機能部X1,X2は、処理対象であるトラフィックTrを処理機能部Y1〜Y3,Z1〜Z3に振り分け、処理機能部Y1〜Y3,Z1〜Z3は、振り分けられたトラフィックTrを処理する。なお、トラフィックTrは、矢印で示されるように、振り分け機能部X1,X2から、処理機能部Y1〜Y3のグループ、処理機能部Z1〜Z3の順に転送される。
また、制御機能部Wは、振り分け機能部X1,X2または処理機能部Y1〜Y3からトラフィックTrの処理の振り分け先の問い合わせに応じ、振り分け機能部X1,X2または処理機能部Y1〜Y3に振り分け先を指示する。以下に各タイプ1S〜3S,1M〜3Mについて述べる。
タイプ1S,1Mは転送先切り替えモデルに分類される。転送先切り替えモデルでは、振り分け機能部X1,X2が選択した処理機能部Y1〜Y3,Z1〜Z3だけにトラフィックTrが転送される。タイプ1Sの場合、複数の振り分け機能部X1,X2が、自ら振り分け先として選択した処理機能部Y1,Z1だけにトラフィックTrの処理を振り分ける。タイプ1Mの場合、複数の振り分け機能部X1,X2が、制御機能部Wから指示された振り分け先の処理機能部Y1,Z1だけにトラフィックTrの処理を振り分ける。
タイプ2S,2Mは転送先振り分けモデルに分類される。転送先振り分けモデルでは、複数の処理機能部Y1〜Y3,Z1〜Z3にトラフィックTrが振り分けられる。タイプ2Sの場合、振り分け機能部X1が、所定の制御に従い処理機能部Y1〜Y3,Z1〜Z3の各々にトラフィックTrの処理を振り分ける。タイプ2Mの場合、複数の振り分け機能部X1,X2が、それぞれ、制御機能部Wから指示された振り分け先に従い処理機能部Y1〜Y3,Z1〜Z3の各々にトラフィックTrの処理を振り分ける。
タイプ3S,3Mは振り分け機能内蔵モデルに分類される。振り分け機能内蔵モデルでは、処理機能部Y1〜Y3,Z1〜Z3自体がトラフィックTrの処理を振り分けることが可能であるため、振り分け機能部X1,X2は不要である。タイプ3Sの場合、処理機能部Y1が、グループ内の他の処理機能部Y2,Y3と処理機能部Z1〜Z3に処理を振り分ける。タイプ3Mの場合、複数の処理機能部Y1,Y2が、制御機能部Wから指示された振り分け先に従い、グループ内の他の処理機能部Y1〜Y3と処理機能部Z1〜Z3に処理を振り分ける。
再び図3を参照すると、SS保存処理部102は、冗長構成定義情報131に基づいて、図1に示されるNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の間の冗長構成のタイプを特定する。なお、冗長構成のタイプの特定処理については、例を挙げて後述する。
また、SS保存処理部102は、試験実行部104が試験を実行する前に、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に加え、そのNW機能部に隣接するNW機能部のスナップショットを生成し保存してもよい。この場合、SS保存処理部102は、ネットワーク構成情報130に基づき、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に隣接するNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2を抽出する。
なお、SS保存処理部102によるスナップショットの生成処理及び保存処理のタイミングには、試験の実行前であれば限定はない。例えば、SS保存処理部102は、試験の実行前、一定の時間間隔でスナップショットの生成処理及び保存処理を行ってもよし、入力装置15からのオペレータの指示に応じて上記の各処理を行ってもよい。SS保存処理部102は、スナップショットの保存処理が完了すると、その旨を試験実行部104に通知する。
試験実行部104は、実行部の一例であり、SS保存処理部102から通知を受けると、運用中のネットワーク#に接続された複数のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2のうち、試験対象の仮想マシンに対し試験を実行する。試験としては、上述したように、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に障害を疑似的に発生させる試験(以下、「障害試験」と表記)、及びネットワーク3に、負荷として試験用のトラフィックを入力する試験(以下、「負荷試験」と表記)が挙げられる。試験実行部104は、試験が完了すると、その旨を試験結果判定部103に通知する。
試験結果判定部103は、判定部の一例であり、試験実行部104から通知を受けると、NW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の状態を検出することにより、試験の成否を判定する。障害試験の場合、試験結果判定部103は、例えば、トラフィックTrが始点のNW機能部A1から終点のNW機能部E1,E2まで転送されている場合、試験結果が成功であると判定し、トラフィックTrが転送されていない場合、試験結果が失敗であると判定する。
また、負荷試験の場合、試験結果判定部103は、例えば、始点のNW機能部A1から終点のNW機能部E1,E2までのトラフィックTrの転送レートを検出し、転送レートが閾値以上である場合、試験結果が成功であると判定し、転送レートが閾値未満である場合、試験結果が失敗であると判定する。試験結果判定部103は、判定結果を復元処理部100に通知する。
復元処理部100は、置換処理部の一例であり、試験結果判定部103の判定結果に応じ、SS保存処理部102により保存されたスナップショットから、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の代わりのNW機能部を生成する。さらに、復元処理部100は、その生成した仮想マシンで試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2を置換する。
より具体的には、復元処理部100は、ストレージ装置4から保存済みのスナップショットを読み出し、上述したように物理サーバ30上で展開することにより、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の代わりのNW機能部を生成する。
そして、復元処理部100は、元の試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2を物理サーバ30から削除して、生成した試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に置換する。なお、復元処理部100は、元の試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の削除に代え、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2がネットワーク3から切り離されるように、物理サーバ30を制御してもよい。
試験実行サーバ1は、生成したNW機能部を起動することにより、スナップショットの生成時点の状態から試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の動作を再開させることができる。その結果、試験実行サーバ1は、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2を試験実行前の状態に復元することができる。
したがって、試験実行サーバ1は、ネットワーク3の試験の実行により潜在的な問題が生じた場合でも、サービス品質に対する試験の影響を低減することができる。また、復元処理部100は、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に加え、他のNW機能部のスナップショットも保存されていた場合、上記の内容と同様の手法で、そのNW機能部の代わりのNW機能部を生成する。
つまり、復元処理部100は、SS保存処理部102により保存されたスナップショットから、試験の影響を受けるNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の代わりの仮想マシンを生成し、その生成した仮想マシンで試験の影響を受ける仮想マシンを置換する。さらに、復元処理部100は、SS保存処理部102により保存されたスナップショットから試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2に隣接する仮想マシンの代わりの仮想マシンを生成し、その生成した仮想マシンで該隣接する仮想マシンを置換する。
図5Aは、試験実行サーバ1の処理の一例を示すフローチャートである。本例では、試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2のみのスナップショットが生成される場合を挙げる。
ネットワーク情報取得部105は、ネットワーク構成情報130を取得して登録する(ステップSt1)。ネットワーク構成情報130は、入力装置15を介して取得されてもよいし、ネットワーク管理サーバ2から取得されてもよい。取得されたネットワーク構成情報130は、HDD13に保持される。なお、ネットワーク構成情報130としては、例えば、ETSI NFV ISGが定義する「Network Descriptor」やOpen Stackソフトウェアで用いられる「Heat Template」が挙げられる。ETSI NFV ISGは、European Telecommunication Standards Institute Network Function Virtualization Industry Specification Groupの略称である。
次に、試験対象決定部101は、ネットワーク構成情報130に基づいて、ランダムに、あるいは所定の規則に従い試験対象のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2を決定する(ステップSt2)。例えば、障害試験の場合、疑似的な障害が発生するNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2が決定され、負荷試験の場合、負荷としての試験用のトラフィックが入力されるNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2が決定される。なお、以下の例では、NW機能部D1が試験対象として決定されたと仮定する。
次に、SS保存処理部102は、試験対象のNW機能部D1のスナップショットを生成し、例えばストレージ装置4に保存する(ステップSt3)。このとき、SS保存処理部102は、NW機能部D1が形成された物理サーバ30の仮想マシンモニタ34にアクセスして、例えば、NW機能部D1に対応する仮想メモリイメージ31、仮想ディスクイメージ32、及びデバイス構成情報33を複製する。
複製された仮想メモリイメージ31、仮想ディスクイメージ32、及びデバイス構成情報33は、スナップショットとして保存される。なお、スナップショットの保存先は、ストレージ装置4に限定されず、試験実行サーバ1内の記憶手段でもよい。また、スナップショットの保存のタイミングは、上述したように、試験実行部104の試験実行前であれば限定されない。
次に、試験実行部104は、試験対象のNW機能部D1に対し試験を実行する(ステップSt4)。例えば、障害試験の場合、NW機能部D1に疑似的な障害を発生させる試験が実行され、負荷試験の場合、NW機能部D1に、負荷としての試験用のトラフィックを入力する試験が実行される。
次に、試験結果判定部103は、試験の成否を判定する(ステップSt5)。上述したように、障害試験の場合、試験結果判定部103は、例えば、トラフィックTrが始点のNW機能部A1から終点のNW機能部E1,E2まで転送されている場合、試験結果が成功であると判定し、トラフィックTrが転送されていない場合、試験結果が失敗であると判定する。
また、負荷試験の場合、試験結果判定部103は、例えば、始点のNW機能部A1から終点のNW機能部E1,E2までのトラフィックTrの転送レートを検出し、転送レートが閾値以上である場合、試験結果が成功であると判定し、転送レートが閾値未満である場合、試験結果が失敗であると判定する。
試験結果判定部103は、試験が成功と判定された場合(ステップSt5のYes)、その試験結果を試験実行サーバ1のオペレータに通知する(ステップSt10)。このとき、試験結果判定部103は、例えば、試験成功の情報を出力装置16に出力する。その後、上記のステップSt2の処理が再び実行される。
また、試験が失敗であると判定された場合(ステップSt5のNo)、復元処理部100は、保存済みのスナップショットをストレージ装置4から読み出す(ステップSt6)。次に、復元処理部100は、読み出したスナップショットから試験対象のNW機能部D1に代わるNW機能部D1nを生成し起動する(ステップSt7)。
図6には、NW機能部D1の置換処理の一例が示されている。復元処理部100は、NW機能部D1が形成されている物理サーバ30の仮想マシンモニタ34に対し、NW機能部D1を削除する制御、またはネットワーク3から切り離す制御を行う。
また、復元処理部100は、スナップショットから生成したNW機能部D1nが、ネットワーク3内におけるNW機能部D1と同じ位置に配置されるように、仮想マシンモニタ34に対し制御する。このため、NW機能部D1nは、NW機能部D1と同様の形態で他のNW機能部C1〜C4,E1と接続される。このようにして、復元処理部100は、NW機能部D1を代わりのNW機能部D1nに置換する。
復元処理部100は、NW機能部D1を代わりのNW機能部D1nに置換することにより、スナップショットの生成時点の状態から試験対象のNW機能部D1の動作を再開させることができる。このため、復元処理部100は、結果として、試験対象のNW機能部D1を試験実行前の状態に復元することができる。
したがって、試験実行サーバ1は、ネットワーク3の試験の実行により潜在的な問題が生じた場合でも、サービス品質に対する試験の影響を低減することができる。
次に、試験結果判定部103は、NW機能部D1の情報を含む試験結果を試験実行サーバ1のオペレータに通知する(ステップSt9)。このとき、試験結果判定部103は、例えば、試験失敗の情報を出力装置16に出力する。このようにして、試験実行サーバ1の処理は実行される。
本例において、試験実行サーバ1は、試験結果が失敗である判定された後(ステップSt5のNo)、スナップショットを読み出して(ステップSt6)、NW機能部D1nを生成・起動する(ステップSt7)が、これに限定されない。試験実行サーバ1は、以下の例のように、サービス品質に対する試験の失敗の影響をさらに低減するため、試験の失敗に備えて、予めNW機能部D1nを生成・起動しておいてもよい。
図5Bは、試験実行サーバ1の処理の他例を示すフローチャートである。図5Bにおいて、図5Aと共通する処理については、同一の符号を付し、その説明を省略する。
スナップショットの保存後(ステップSt3)、復元処理部100は、保存済みのスナップショットをストレージ装置4から読み出す(ステップSt6)。次に、復元処理部100は、読み出したスナップショットから試験対象のNW機能部D1に代わるNW機能部D1nを生成し、起動する(ステップSt7)。
次に、試験実行部104は、試験対象のNW機能部D1に対し試験を実行する(ステップSt4)。試験結果判定部103は、試験が成功と判定された場合(ステップSt5のYes)、その試験結果を試験実行サーバ1のオペレータに通知する(ステップSt10)。次に、復元処理部100は、試験対象のNW機能部D1に代わるNW機能部D1nを削除する(ステップSt10a)。その後、ステップSt2の処理が再び実行される。
また、試験が失敗であると判定された場合(ステップSt5のNo)、復元処理部100は、試験対象のNW機能部D1をNW機能部D1nに置換する(ステップSt5a)。より具体的には、復元処理部100は、試験対象のNW機能部D1を削除する。
次に、試験結果判定部103は、試験結果を試験実行サーバ1のオペレータに通知する(ステップSt9)。このようにして、試験実行サーバ1の処理は実行される。
本例において、試験実行サーバ1は、試験の失敗に備えて、試験の実行前に試験対象のNW機能部D1に代わるNW機能部D1nの生成及び起動を行う。このため、試験実行サーバ1は、試験が失敗した場合、迅速に試験対象のNW機能部D1をNW機能部D1nに置換できる。したがって、サービス品質に対する試験の失敗の影響が低減される。
本例において、SS保存処理部102は、障害発生時に取得されるようなスナップショットとは異なり、ネットワーク3内の全てのNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2ではなく、試験対象のNW機能部D1のスナップショットだけを生成し保存する。このため、その保存先のストレージ装置4の記憶容量が低減され、試験実行に必要なコストが低減される。
また、本例では、スナップショットの生成時間も、ネットワーク3内の全てのNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2のスナップショットを生成し保存する場合より短縮できる。このため、スナップショットの生成時刻から試験の実行時刻までの時間間隔の短縮が可能となり、スナップショットの生成時点と試験対象のNW機能部D1の復元時点の間のNW機能部D1の状態の差分を小さくすることができる。したがって、状態の差分を埋める作業の手間が低減される。
次に、試験実行サーバ1が、試験対象のNW機能部D1に加え、そのNW機能部D1に関連するNW機能部A1,B1〜B3,C1〜C4,D2,D3,E1,E2のスナップショットを保存する場合の処理を例に挙げて説明する。
図7Aは、試験実行サーバ1の処理の他例を示すフローチャートである。図7Aにおいて、図5Aと共通する処理については同一の符号を付し、その詳細な説明を省略する。
ネットワーク情報取得部105は、冗長構成定義情報131を取得して登録する(ステップSt1a)。冗長構成定義情報131は、入力装置15を介して取得されてもよいし、ネットワーク管理サーバ2から取得されてもよい。取得された冗長構成定義情報131は、HDD13に保持される。
次に、ネットワーク情報取得部105は、ネットワーク構成情報130を取得して登録する(ステップSt1)。次に、SS保存処理部102は、ネットワーク構成情報130と冗長構成定義情報131を参照して、NW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の間の冗長構成のタイプ1S〜3S,1M〜3Mを特定する(ステップSt1b)。
このとき、SS保存処理部102は、冗長構成定義情報131に基づいて、図1に示されるNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の間の冗長構成のタイプを特定する。より具体的には、SS保存処理部102は、NW機能部A1及びグループB〜Eの間にそれぞれ冗長構成のタイプ1S〜3S,1M〜3Mを対応付ける。対応付けは、例えば、試験実行サーバ1のオペレータによる入力装置15からの入力、またはNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2の属性情報に従い行われる。なお、冗長構成が存在しないNW機能の場合、本処理は行われない。
図8には、冗長構成のタイプの特定の例が示されている。例えば、NW機能部A1とグループBのNW機能部B1〜B3の間はタイプ2Sの冗長構成として特定され、グループBのNW機能部B1〜B3とグループCのNW機能部C1〜C4の間はタイプ2Mの冗長構成として特定される。また、グループCのNW機能部C1〜C4とグループDのNW機能部D1〜D3の間はタイプ2Mの冗長構成として特定される。
なお、グループDのNW機能部D1〜D3とグループEのNW機能部E1,E2の間は、冗長構成されていないため、タイプの特定が行われない。また、グループEのNW機能部E1,E2とネットワーク3外のNW機能部の間はタイプ3Mの冗長構成として特定される。
再び図7Aを参照すると、試験対象決定部101は、試験対象のNW機能部D1を決定する(ステップSt2)。次に、SS保存処理部102は、特定した冗長構成のタイプに基づき、試験対象のNW機能部D1から試験の影響を受けるNW機能部として、試験対象のNW機能部D1が含まれる冗長構成の他のNW機能部C1〜C4,D2,D3を抽出する(ステップSt2a)。次に、SS保存処理部102は、ネットワーク構成情報130に基づいて、試験対象のNW機能部D1に隣接するNW機能部E1を抽出する(ステップSt2b)。
次に、SS保存処理部102は、試験対象のNW機能部D1とステップSt2a及びステップSt2bで抽出されたNW機能部C1〜C4,D2,D3,E1の各スナップショットを、例えばストレージ装置4に保存する(ステップSt3a)。
図9には、スナップショットの生成対象のNW機能部の範囲L1,L2の一例が示されている。SS保存処理部102は、試験対象のNW機能部D1のグループD内の他のNW機能部D1に対してタイプ2Mで冗長構成されたグループCのNW機能部C1〜C4を特定する。
このため、SS保存処理部102は、グループCのNW機能部C1〜C4及びグループDのNW機能部D1〜D3を含む範囲L1を、スナップショットの生成対象とする。ここで、NW機能部C1〜C4及びNW機能部D2,D3は、試験対象のNW機能部D1から試験の影響を受けるNW機能部として抽出される。
また、SS保存処理部102は、範囲L2で示されるように、NW機能部D1に隣接するNW機能部E1を、スナップショットの生成対象として抽出する。
再び図7Aを参照すると、試験の成否の判定処理(ステップSt5)の後、復元処理部100は、ストレージ装置4からNW機能部C1〜C4,D1〜D3,E1の各スナップショットを読み出す(ステップSt6a)。次に、復元処理部100は、読み出した各スナップショットから各NW機能部C1〜C4,D1〜D3,E1に代わるNW機能部C1n〜C4n,D1n〜D3n,E1nを生成し、起動する(ステップSt7a)。
図10には、NW機能部C1〜C4,D1〜D3,E1の置換処理の他例が示されている。復元処理部100は、図9の範囲L1内のNW機能部C1〜C4,D1〜D3を、スナップショットから生成したNW機能部C1n〜C4n,D1n〜D3nで置換する。このとき、復元処理部100は、NW機能部C1〜C4,D1〜D3が形成されている物理サーバ30の仮想マシンモニタ34に対し、NW機能部C1〜C4,D1〜D3を削除する制御、またはネットワーク3から切り離す制御を行う。
また、復元処理部100は、スナップショットから生成したNW機能部C1n〜C4n,D1n〜D3nが、ネットワーク3内におけるNW機能部C1〜C4,D1〜D3と同じ位置にそれぞれ配置されるように、仮想マシンモニタ34に対し制御する。このため、NW機能部C1n〜C4n,D1n〜D3nは、NW機能部C1〜C4,D1〜D3と同様の形態で他のNW機能部B1〜B3,E2と接続される。また、範囲L2のNW機能部E1も、上記と同様にNW機能部E1nに置換される。このようにして、復元処理部100は、NW機能部C1〜C4,D1〜D3,E1を代わりのNW機能部C1n〜C4n,D1n〜D3n,E1nに置換する。
復元処理部100は、NW機能部C1〜C4,D1〜D3,E1を代わりのNW機能部C1n〜C4n,D1n〜D3n,E1nに置換することにより、スナップショットの生成時点の状態から試験対象のNW機能部D1だけでなく、試験対象のNW機能部D1に関連する他のNW機能部C1〜C4,D2,D3,E1の動作を再開させることができる。このため、復元処理部100は、NW機能部C1〜C4,D2,D3,E1を試験実行前の状態に復元することができる。
したがって、試験実行サーバ1は、ネットワーク3の試験の実行により潜在的な問題が生じた場合でも、サービス品質に対する試験の影響を低減することができる。例えば、トラフィックTrの経路切り替え処理や負荷分散処理を連動して行う複数のNW機能部C1〜C4,D2,D3,E1の間において、試験の実行により制御データのエラーなどが生じた場合でも、NW機能部C1〜C4,D2,D3,E1を試験前の状態に復旧させることができる。
本例において、試験実行サーバ1は、試験結果が失敗である判定された後(ステップSt5のNo)、スナップショットを読み出して(ステップSt6a)、NW機能部C1n〜C4n,D1n〜D3n,E1nを生成・起動する(ステップSt7a)が、これに限定されない。試験実行サーバ1は、図5Bの例と同様に、以下の例のように、サービス品質に対する試験の失敗の影響をさらに低減するため、試験の失敗に備えて、予めNW機能部C1n〜C4n,D1n〜D3n,E1nを生成・起動しておいてもよい。
図7Bは、試験実行サーバ1の処理の他例を示すフローチャートである。図7Bにおいて、図7Aと共通する処理については、同一の符号を付し、その説明を省略する。
スナップショットの保存後(ステップSt3a)、復元処理部100は、保存済みのスナップショットをストレージ装置4から読み出す(ステップSt6a)。次に、復元処理部100は、読み出したスナップショットから、各NW機能部C1〜C4,D1〜D3,E1に代わるNW機能部C1n〜C4n,D1n〜D3n,E1nをそれぞれ生成し、起動する(ステップSt7a)。
次に、試験実行部104は、試験対象のNW機能部D1に対し試験を実行する(ステップSt4)。試験結果判定部103は、試験が成功と判定された場合(ステップSt5のYes)、その試験結果を試験実行サーバ1のオペレータに通知する(ステップSt10)。次に、復元処理部100は、各NW機能部C1〜C4,D1〜D3,E1に代わるNW機能部C1n〜C4n,D1n〜D3n,E1nを削除する(ステップSt10b)。その後、ステップSt2の処理が再び実行される。
また、試験が失敗であると判定された場合(ステップSt5のNo)、復元処理部100は、NW機能部C1〜C4,D1〜D3,E1をNW機能部C1n〜C4n,D1n〜D3n,E1nにそれぞれ置換する(ステップSt5b)。より具体的には、復元処理部100は、NW機能部C1〜C4,D1〜D3,E1を削除する。
次に、試験結果判定部103は、試験結果を試験実行サーバ1のオペレータに通知する(ステップSt9)。このようにして、試験実行サーバ1の処理は実行される。
本例において、試験実行サーバ1は、試験の失敗に備えて、試験の実行前に各NW機能部C1〜C4,D1〜D3,E1に代わるNW機能部C1n〜C4n,D1n〜D3n,E1nの生成及び起動を行う。このため、試験実行サーバ1は、試験が失敗した場合、迅速にNW機能部C1〜C4,D1〜D3,E1をNW機能部C1n〜C4n,D1n〜D3n,E1nにそれぞれ置換できる。したがって、サービス品質に対する試験の失敗の影響が低減される。
これまで述べたように、実施例の試験実行サーバ1は、試験実行部104と、SS保存処理部102と、試験結果判定部103と、復元処理部100とを有する。試験実行部104は、運用中のネットワーク3に接続された複数のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2のうち、試験対象のNW機能部D1に対し試験を実行する。
SS保存処理部102は、試験実行部104が試験を実行する前に試験対象のNW機能部D1のスナップショットを生成し保存する。試験結果判定部103は、試験の成否を判定する。復元処理部100は、試験結果判定部103の判定結果に応じ、SS保存処理部102により保存されたスナップショットから、試験対象のNW機能部D1の代わりのNW機能部D1nを生成し、その生成したNW機能部D1nで試験対象のNW機能部D1を置換する。
上記の構成によると、復元処理部100は、スナップショットから、試験対象のNW機能部D1の代わりのNW機能部D1nを生成し、その生成したNW機能部D1nで試験対象のNW機能部D1を置換する。このため、試験実行サーバ1は、生成したNW機能部D1nを起動することにより、スナップショットの生成時点の状態から試験対象のNW機能部D1の動作を再開させることができる。このため、試験実行サーバ1は、試験対象のNW機能部D1を試験実行前の状態に復元することができる。
したがって、試験実行サーバ1は、ネットワーク3の試験の実行により潜在的な問題が生じた場合でも、サービス品質に対する試験の影響を低減することができる。よって、実施例の試験実行サーバ1によると、運用中の通信サービスの品質に対する試験の影響を低減することができる。
また、実施例のネットワークシステムは、運用中のネットワーク3に接続された複数のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2と、ネットワーク3の試験を実行する試験実行サーバ1とを有する。試験実行サーバ1は、試験実行部104と、SS保存処理部102と、試験結果判定部103と、復元処理部100とを有する。試験実行部104は、運用中のネットワーク3に接続された複数のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2のうち、試験対象のNW機能部D1に対し試験を実行する。
SS保存処理部102は、試験実行部104が試験を実行する前に試験対象のNW機能部D1のスナップショットを生成し保存する。試験結果判定部103は、試験の成否を判定する。復元処理部100は、試験結果判定部103の判定結果に応じ、SS保存処理部102により保存されたスナップショットから、試験対象のNW機能部D1の代わりのNW機能部D1nを生成し、その生成したNW機能部D1nで試験対象のNW機能部D1を置換する。
実施例のネットワークシステムは、上記の試験実行サーバ1と同様の構成を含むので、上述した内容と同様の作用効果を奏する。
また、実施例の試験方法は以下のステップを含む。
ステップ(1):運用中のネットワーク3に接続された複数のNW機能部A1,B1〜B3,C1〜C4,D1〜D3,E1,E2のうち、試験対象のNW機能部D1に対し試験を実行する。
ステップ(2):試験を実行する前に試験対象のNW機能部D1のスナップショットを生成して保存する。
ステップ(3):試験の成否を判定する。
ステップ(4):その判定結果に応じ、保存されたスナップショットから、試験対象のNW機能部D1の代わりのNW機能部D1nを生成する。
ステップ(5):その生成したNW機能部D1nで試験対象のNW機能部D1を置換する。
実施例の試験方法は、上記の試験実行サーバ1と同様の構成を含むので、上述した内容と同様の作用効果を奏する。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 運用中のネットワークに接続された複数の仮想マシンのうち、試験対象の仮想マシンに対し試験を実行する実行部と、
前記実行部が前記試験を実行する前に前記試験対象の仮想マシンのスナップショットを生成し保存する保存処理部と、
前記試験の成否を判定する判定部と、
前記判定部の判定結果に応じ、前記保存処理部により保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験対象の仮想マシンを置換する置換処理部とを有することを特徴とする試験装置。
(付記2) 前記保存処理部は、
前記複数の仮想マシンの間の冗長構成の形態を特定し、
特定した前記冗長構成の形態に基づき、前記複数の仮想マシンのうち、前記試験対象の仮想マシンから前記試験の影響を受ける仮想マシンを抽出し、
前記実行部が前記試験を実行する前に前記試験の影響を受ける仮想マシンのスナップショットを生成して保存し、
前記置換処理部は、
前記保存処理部により保存された前記スナップショットから、前記試験の影響を受ける仮想マシンの代わりの仮想マシンを生成し、
該生成した仮想マシンで前記試験の影響を受ける仮想マシンを置換することを特徴とする付記1に記載の試験装置。
(付記3) 前記保存処理部は、
前記複数の仮想マシンのうち、前記試験対象の仮想マシンに隣接する仮想マシンを抽出し、
前記実行部が前記試験を実行する前に前記隣接する仮想マシンのスナップショットを生成して保存し、
前記置換処理部は、
前記保存処理部により保存された前記スナップショットから前記隣接する仮想マシンの代わりの仮想マシンを生成し、
該生成した仮想マシンで前記隣接する仮想マシンを置換することを特徴とする付記1または2に記載の試験装置。
(付記4) 運用中のネットワークに接続された複数の仮想マシンと、
前記ネットワークの試験を実行する試験装置とを有し、
前記試験装置は、
前記複数の仮想マシンのうち、試験対象の仮想マシンに対し前記試験を実行する実行部と、
前記実行部が前記試験を実行する前に前記試験対象の仮想マシンのスナップショットを生成し保存する保存処理部と、
前記試験の成否を判定する判定部と、
前記判定部の判定結果に応じ、前記保存処理部により保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験対象の仮想マシンを置換する置換処理部とを有することを特徴とするネットワークシステム。
(付記5) 前記保存処理部は、
前記複数の仮想マシンの間の冗長構成の形態を特定し、
特定した前記冗長構成の形態に基づき、前記複数の仮想マシンのうち、前記試験対象の仮想マシンから前記試験の影響を受ける仮想マシンを抽出し、
前記実行部が前記試験を実行する前に前記試験の影響を受ける仮想マシンのスナップショットを生成して保存し、
前記置換処理部は、
前記保存処理部により保存された前記スナップショットから、前記試験の影響を受ける仮想マシンの代わりの仮想マシンを生成し、
該生成した仮想マシンで前記試験の影響を受ける仮想マシンを置換することを特徴とする付記4に記載のネットワークシステム。
(付記6) 前記保存処理部は、
前記複数の仮想マシンのうち、前記試験対象の仮想マシンに隣接する仮想マシンを抽出し、
前記実行部が前記試験を実行する前に前記隣接する仮想マシンのスナップショットを生成して保存し、
前記置換処理部は、
前記保存処理部により保存された前記スナップショットから前記隣接する仮想マシンの代わりの仮想マシンを生成し、
該生成した仮想マシンで前記隣接する仮想マシンを置換することを特徴とする付記4または5に記載のネットワークシステム。
(付記7) 運用中のネットワークに接続された複数の仮想マシンのうち、試験対象の仮想マシンに対し試験を実行し、
前記試験を実行する前に前記試験対象の仮想マシンのスナップショットを生成して保存し、
前記試験の成否を判定し、
該判定結果に応じ、保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシンを生成し、
該生成した仮想マシンで前記試験対象の仮想マシンを置換することを特徴とする試験方法。
(付記8) さらに、前記複数の仮想マシンの間の冗長構成の形態を特定し、
特定した前記冗長構成の形態に基づき、前記複数の仮想マシンのうち、前記試験対象の仮想マシンから前記試験の影響を受ける仮想マシンを抽出し、
前記試験を実行する前に前記試験の影響を受ける仮想マシンのスナップショットを生成して保存し、
該保存された前記スナップショットから、前記試験の影響を受ける仮想マシンの代わりの仮想マシンを生成し、
該生成した仮想マシンで前記試験の影響を受ける仮想マシンを置換することを特徴とする付記7に記載の試験方法。
(付記9) さらに、前記複数の仮想マシンのうち、前記試験対象の仮想マシンに隣接する仮想マシンを抽出し、
前記試験を実行する前に前記隣接する仮想マシンのスナップショットを生成して保存し、
該保存された前記スナップショットから前記隣接する仮想マシンの代わりの仮想マシンを生成し、
該生成した仮想マシンで前記隣接する仮想マシンを置換することを特徴とする付記7または8に記載の試験方法。
1 試験実行サーバ
100 復元処理部
102 スナップショット保存処理部
103 試験結果判定部
104 試験実行部

Claims (6)

  1. 運用中のネットワークに接続された複数の仮想マシンのうち、試験対象の仮想マシンに対し試験を実行する実行部と、
    前記実行部が前記試験を実行する前に前記試験対象の仮想マシンのスナップショットを生成し保存する保存処理部と、
    前記試験の成否を判定する判定部と、
    前記判定部の判定結果に応じ、前記保存処理部により保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験対象の仮想マシンを置換する置換処理部とを有し、
    前記保存処理部は、
    前記複数の仮想マシンの間の冗長構成の形態を特定し、
    特定した前記冗長構成の形態に基づき、前記複数の仮想マシンのうち、前記試験対象の仮想マシンから前記試験の影響を受ける仮想マシンを抽出し、
    前記実行部が前記試験を実行する前に前記試験の影響を受ける仮想マシンのスナップショットを生成して保存し、
    前記置換処理部は、
    前記保存処理部により保存された前記スナップショットから、前記試験の影響を受ける仮想マシンの代わりの仮想マシンを生成し、
    該生成した仮想マシンで前記試験の影響を受ける仮想マシンを置換することを特徴とする試験装置。
  2. 運用中のネットワークに接続された複数の仮想マシンのうち、試験対象の仮想マシンに対し試験を実行する実行部と、
    前記実行部が前記試験を実行する前に前記試験対象の仮想マシンのスナップショットを生成し保存する保存処理部と、
    前記試験の成否を判定する判定部と、
    前記判定部の判定結果に応じ、前記保存処理部により保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験対象の仮想マシンを置換する置換処理部とを有し、
    前記保存処理部は、
    前記複数の仮想マシンのうち、前記試験対象の仮想マシンに隣接する仮想マシンを抽出し、
    前記実行部が前記試験を実行する前に前記隣接する仮想マシンのスナップショットを生成して保存し、
    前記置換処理部は、
    前記保存処理部により保存された前記スナップショットから前記隣接する仮想マシンの代わりの仮想マシンを生成し、
    該生成した仮想マシンで前記隣接する仮想マシンを置換することを特徴とする試験装置。
  3. 運用中のネットワークに接続された複数の仮想マシンと、
    前記ネットワークの試験を実行する試験装置とを有し、
    前記試験装置は、
    前記複数の仮想マシンのうち、試験対象の仮想マシンに対し前記試験を実行する実行部と、
    前記実行部が前記試験を実行する前に前記試験対象の仮想マシンのスナップショットを生成し保存する保存処理部と、
    前記試験の成否を判定する判定部と、
    前記判定部の判定結果に応じ、前記保存処理部により保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験対象の仮想マシンを置換する置換処理部とを有し、
    前記保存処理部は、
    前記複数の仮想マシンの間の冗長構成の形態を特定し、
    特定した前記冗長構成の形態に基づき、前記複数の仮想マシンのうち、前記試験対象の仮想マシンから前記試験の影響を受ける仮想マシンを抽出し、
    前記実行部が前記試験を実行する前に前記試験の影響を受ける仮想マシンのスナップショットを生成して保存し、
    前記置換処理部は、
    前記保存処理部により保存された前記スナップショットから、前記試験の影響を受ける仮想マシンの代わりの仮想マシンを生成し、
    該生成した仮想マシンで前記試験の影響を受ける仮想マシンを置換することを特徴とするネットワークシステム。
  4. 運用中のネットワークに接続された複数の仮想マシンと、
    前記ネットワークの試験を実行する試験装置とを有し、
    前記試験装置は、
    前記複数の仮想マシンのうち、試験対象の仮想マシンに対し前記試験を実行する実行部と、
    前記実行部が前記試験を実行する前に前記試験対象の仮想マシンのスナップショットを生成し保存する保存処理部と、
    前記試験の成否を判定する判定部と、
    前記判定部の判定結果に応じ、前記保存処理部により保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシンを生成し、該生成した仮想マシンで前記試験対象の仮想マシンを置換する置換処理部とを有し、
    前記保存処理部は、
    前記複数の仮想マシンのうち、前記試験対象の仮想マシンに隣接する仮想マシンを抽出し、
    前記実行部が前記試験を実行する前に前記隣接する仮想マシンのスナップショットを生成して保存し、
    前記置換処理部は、
    前記保存処理部により保存された前記スナップショットから前記隣接する仮想マシンの代わりの仮想マシンを生成し、
    該生成した仮想マシンで前記隣接する仮想マシンを置換することを特徴とするネットワークシステム。
  5. 運用中のネットワークに接続された複数の仮想マシンのうち、試験対象の仮想マシンに対し試験を実行し、
    前記複数の仮想マシンの間の冗長構成の形態を特定し、
    特定した前記冗長構成の形態に基づき、前記複数の仮想マシンのうち、前記試験対象の仮想マシンから前記試験の影響を受ける仮想マシンを抽出し、
    前記試験を実行する前に前記試験対象の仮想マシン及び前記試験の影響を受ける仮想マシンのスナップショットを生成して保存し、
    前記試験の成否を判定し、
    該判定結果に応じ、保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシン、及び前記試験の影響を受ける仮想マシンの代わりの仮想マシンを生成し、
    該生成した仮想マシンで前記試験対象の仮想マシン、及び前記試験の影響を受ける仮想マシンを置換することを特徴とする試験方法。
  6. 運用中のネットワークに接続された複数の仮想マシンのうち、試験対象の仮想マシンに対し試験を実行し、
    前記複数の仮想マシンのうち、前記試験対象の仮想マシンに隣接する仮想マシンを抽出し、
    前記試験を実行する前に前記試験対象の仮想マシン及び前記隣接する仮想マシンのスナップショットを生成して保存し、
    前記試験の成否を判定し、
    該判定結果に応じ、保存された前記スナップショットから、前記試験対象の仮想マシンの代わりの仮想マシン、及び前記隣接する仮想マシンの代わりの仮想マシンを生成し、
    該生成した仮想マシンで前記試験対象の仮想マシン及び前記隣接する仮想マシンを置換することを特徴とする試験方法。
JP2016016039A 2016-01-29 2016-01-29 試験装置、ネットワークシステム、及び試験方法 Active JP6604218B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016016039A JP6604218B2 (ja) 2016-01-29 2016-01-29 試験装置、ネットワークシステム、及び試験方法
US15/392,447 US10180898B2 (en) 2016-01-29 2016-12-28 Test device, network system, and test method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016016039A JP6604218B2 (ja) 2016-01-29 2016-01-29 試験装置、ネットワークシステム、及び試験方法

Publications (2)

Publication Number Publication Date
JP2017135653A JP2017135653A (ja) 2017-08-03
JP6604218B2 true JP6604218B2 (ja) 2019-11-13

Family

ID=59386156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016016039A Active JP6604218B2 (ja) 2016-01-29 2016-01-29 試験装置、ネットワークシステム、及び試験方法

Country Status (2)

Country Link
US (1) US10180898B2 (ja)
JP (1) JP6604218B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110618903A (zh) * 2018-06-19 2019-12-27 北京忆恒创源科技有限公司 电子设备测试方法与装置
JP7193722B2 (ja) 2019-02-05 2022-12-21 日本電信電話株式会社 障害通知システム、障害通知方法、障害通知装置および障害通知プログラム
CN112583653A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 压力测试方法、装置及计算机存储介质
WO2023032116A1 (ja) * 2021-09-02 2023-03-09 楽天モバイル株式会社 スクリプト判別装置、スクリプト判別方法およびスクリプト判別システム
WO2023032115A1 (ja) * 2021-09-02 2023-03-09 楽天モバイル株式会社 ネットワーク管理装置、ネットワーク管理方法およびネットワーク管理システム
WO2024004174A1 (ja) * 2022-06-30 2024-01-04 楽天モバイル株式会社 テストマシンでの自動的なプロファイルの生成

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182944A (ja) 2000-12-11 2002-06-28 Hitachi Ltd 情報処理装置試験方式
JP2005301438A (ja) 2004-04-07 2005-10-27 Hitachi Ltd 分散監視制御システム
US8615757B2 (en) * 2007-12-26 2013-12-24 Intel Corporation Negotiated assignment of resources to a virtual machine in a multi-virtual machine environment
US8713556B2 (en) * 2008-02-25 2014-04-29 Sap Ag Virtual appliance update method
CN101986280A (zh) * 2010-11-29 2011-03-16 浙江大学 虚拟计算系统的自动化测试平台
US8732665B2 (en) * 2011-06-28 2014-05-20 Microsoft Corporation Deploying environments for testing by providing instantaneous availability of prebuilt environments
JP5835846B2 (ja) * 2012-08-29 2015-12-24 株式会社日立製作所 ネットワークシステム及び仮想ノードのマイグレーション方法
CN103684827B (zh) 2012-09-18 2017-04-26 中兴通讯股份有限公司 基于业务的通信网络评估方法和装置
US9372731B1 (en) * 2012-12-06 2016-06-21 Amazon Technologies, Inc. Automated firmware settings framework
US9792187B2 (en) * 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot

Also Published As

Publication number Publication date
US20170220454A1 (en) 2017-08-03
US10180898B2 (en) 2019-01-15
JP2017135653A (ja) 2017-08-03

Similar Documents

Publication Publication Date Title
JP6604218B2 (ja) 試験装置、ネットワークシステム、及び試験方法
US8984330B2 (en) Fault-tolerant replication architecture
JP5384467B2 (ja) 再目的化可能回復環境
JP5745077B2 (ja) 根本原因を解析する管理計算機及び方法
CN104956332B (zh) 一种用于管理计算资源的方法、存储媒体和计算系统
CN112099918A (zh) 容器化环境中的集群的实时迁移
US9423956B2 (en) Emulating a stretched storage device using a shared storage device
US9575785B2 (en) Cluster system and method for providing service availability in cluster system
JP2016062596A5 (ja)
CN109861839B (zh) 业务不中断的虚拟交换机升级方法以及相关设备
CN103761166A (zh) 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法
US20150264117A1 (en) Processes for a highly scalable, distributed, multi-cloud application deployment, orchestration and delivery fabric
JP2009258978A (ja) 計算機システム及び通信経路の監視方法
CA2621249A1 (en) Application of virtual servers to high availability and disaster recovery solutions
US10387279B2 (en) System and method for providing failovers for a cloud-based computing environment
US9442811B2 (en) Emulating a stretched storage device using a shared replicated storage device
US11546224B2 (en) Virtual network layer for distributed systems
JP5285045B2 (ja) 仮想環境における故障復旧方法及びサーバ及びプログラム
Caesar et al. Building bug-tolerant routers with virtualization
Guay et al. Early experiences with live migration of SR-IOV enabled InfiniBand
US11762741B2 (en) Storage system, storage node virtual machine restore method, and recording medium
TW202001556A (zh) 虛擬機器群組的容錯方法及其容錯系統
JP2015114952A (ja) ネットワークシステム、監視制御装置およびソフトウェア検証方法
JP6818654B2 (ja) 試験自動化装置、試験方法、及びプログラム
JP5938495B2 (ja) 根本原因を解析する管理計算機、方法及び計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190904

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: 20190917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190930

R150 Certificate of patent or registration of utility model

Ref document number: 6604218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150