JP5558422B2 - ネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラム - Google Patents

ネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラム Download PDF

Info

Publication number
JP5558422B2
JP5558422B2 JP2011142198A JP2011142198A JP5558422B2 JP 5558422 B2 JP5558422 B2 JP 5558422B2 JP 2011142198 A JP2011142198 A JP 2011142198A JP 2011142198 A JP2011142198 A JP 2011142198A JP 5558422 B2 JP5558422 B2 JP 5558422B2
Authority
JP
Japan
Prior art keywords
virtual
physical machine
virtual environment
failure
migration
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
JP2011142198A
Other languages
English (en)
Other versions
JP2013008320A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011142198A priority Critical patent/JP5558422B2/ja
Publication of JP2013008320A publication Critical patent/JP2013008320A/ja
Application granted granted Critical
Publication of JP5558422B2 publication Critical patent/JP5558422B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラムに関する。
近年、複数の拠点間を相互に接続する技術(例えば、「次世代企業網連携技術」等)が提案されている。かかる技術によれば、例えば、各企業のVPN(Virtual Private Network)同士が相互に接続され、異なる企業間に協働空間が形成される。また、最近では、クラウドコンピューティング(Cloud Computing)と呼ばれる技術が登場している。クラウドコンピューティングでは、ソフトウェア、ハードウェア及びデータ等の各種資源をネットワーク上のサーバ装置に保管させ、利用者は、このサーバ装置にアクセスすることでサービスの提供を受ける。
また、クラウドコンピューティングには、物理マシン上で少なくとも一つの仮想マシンを動作させる仮想化技術が適用されることがある。つまり、ネットワークに複数接続されることがあるサーバ装置それぞれは、一つの様態として、複数の仮想マシン環境を含むことになる。かかる仮想マシンを動作させる仮想化技術とは、物理的なハードウェアを論理的に分割し、分割したハードウェア毎にOS(Operating System)を動作させることで、1台の物理マシンをあたかも複数台の物理マシンであるかのように動作させる技術である。例えば、ネットワーク上のサーバ装置に仮想化技術を適用することで、複数のサーバ装置であるかのように動作させることができ、複数の企業に個別にサービスを提供することができる。
図9は、従来技術に係る仮想化技術を適用した物理ネットワークの構成例を示す図である。また、図10は、従来技術に係る仮想化技術を適用した論理ネットワークの構成例を示す図である。
例えば、図9に示すように、従来技術に係る物理ネットワークでは、物理マシンXと、物理マシンYと、仮想スイッチコントローラと、仮想マシンコントローラと、スイッチと、ルータとが接続される。なお、物理マシン、スイッチ及びルータ等の数は、図示のものに限られるものではない。
各物理マシンには、例えば、少なくとも一つの仮想マシンと、仮想スイッチと、ハイパーバイザ(又は、仮想マシンモニタ、仮想モニタ、仮想化OS)とが含まれる。例を挙げると、物理マシンXには、仮想マシンAと、仮想マシンBと、仮想スイッチXと、ハイパーバイザとが含まれる。同様に、物理マシンYには、仮想マシンAと、仮想マシンBと、仮想スイッチYと、ハイパーバイザとが含まれる。
上記構成において、各物理マシンは、利用者に対してサービスを提供する仮想環境を含んだサーバ装置等である。例えば、仮想マシンAと仮想マシンAとは、利用者「A」に対してサービスを提供する仮想環境であり、仮想マシンBと仮想マシンBとは、利用者「B」に対してサービスを提供する仮想環境である。各仮想スイッチは、例えば、自己の仮想スイッチが含まれる物理マシン上の仮想マシンによる通信を切り替える、仮想L2スイッチ等のソフトウェアである。各ハイパーバイザは、例えば、自己のハイパーバイザが含まれる物理マシン上の仮想マシンの制御を行なう。
また、仮想スイッチコントローラは、例えば、各物理マシン上の仮想スイッチのソフトウェアを一元管理するとともに仮想スイッチを監視する。また、仮想マシンコントローラは、例えば、各物理マシン上の仮想マシンのリソースを一元管理するとともに仮想マシンを監視する。かかる仮想マシンコントローラの監視対象には、さらにハイパーバイザも含まれていても良い。また、各スイッチは、ネットワーク上の通信を切り替える物理L2スイッチ等である。また、各ルータは、ネットワーク上のパケットをルーティングする物理ルータ等である。
これらにより、クラウドコンピューティングを提供する提供者は、図10に示すように、各利用者用に論理スイッチを定義し、顧客単位で隔離された通信となるように、物理層に設定を反映させて運用している。例えば、利用者「A」に対しては、図10の左方に示すように、論理スイッチAを定義し、利用者「A」用に隔離された通信となるように、仮想マシンA、仮想マシンA、論理スイッチA及びルータAが構成される。同様に、利用者「B」に対しては、図10の右方に示すように、論理スイッチBを定義し、利用者「B」用に隔離された通信となるように、仮想マシンB、仮想マシンB、論理スイッチB及びルータBが構成される。
このような従来技術に係るネットワークに関する故障について、例えば、仮想スイッチと仮想マシンとの間のリンクが切断した場合、又は、仮想スイッチ自体が停止した場合等の障害については、仮想スイッチコントローラによって検知される。
しかしながら、従来技術では、ネットワークに関する故障について検知できない場合があるという問題がある。従来技術において、仮想スイッチコントローラは、利用者単位の仮想マシン内のトラヒックまで監視していない。このため、従来技術では、仮想スイッチコントローラで検知できない仮想スイッチのソフトウェアバグやホストOSバグ等によって、仮想マシンの通信が切断されるサイレント故障が発生した場合に、仮想マシンの利用者から申告があるまで故障を検知することができない。
そこで、本発明は、上記に鑑みてなされたものであって、ネットワークに関する故障について迅速に検知することが可能であるネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明に係るネットワークシステムは、仮想マシン及び/又は仮想スイッチを含んだ仮想環境を含む物理マシンと、該物理マシンを管理するコントローラとを有するネットワークシステムであって、前記物理マシンは、自己の物理マシンと、前記自己の物理マシンに接続されたネットワーク機器との間の導通確認のための制御メッセージを、前記仮想環境を介して前記ネットワーク機器に対して送信する制御メッセージ送信部と、前記制御メッセージ送信部によって送信された制御メッセージに対する前記ネットワーク機器からの応答が所定条件を満たした場合に、前記仮想環境を含んだ前記自己の物理マシンと前記ネットワーク機器との間の通信経路に障害が発生したことを検知して、障害の発生を検知したことを前記コントローラに対して通知する障害検知通知部とを有し、前記コントローラは、前記物理マシンによって障害発生の検知を通知された場合に、前記自己の物理マシンに含まれる仮想環境をマイグレーション元とし、前記自己の物理マシンとは異なる他の物理マシンに含まれる仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行するマイグレーション実行部と、前記マイグレーション実行部によって実行されたマイグレーションに応じて、前記マイグレーション元の仮想環境の設定情報を、前記マイグレーション先の仮想環境に反映する設定情報反映部とを有する。
本発明に係るネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラムの一つの様態によれば、ネットワークに関する故障について迅速に検知することができるという効果を奏する。
図1は、実施例1に係る障害検知の手法について説明する図である。 図2は、実施例1に係る仮想マシン型のネットワークシステム構成例について説明する図である。 図3は、実施例1に係る仮想マシン型の論理ネットワークの構成例を示す図である。 図4は、障害検知処理及びマイグレーション処理について説明するための図である。 図5は、実施例1に係る障害検知処理及びマイグレーション処理の流れの例を示すシーケンス図である。 図6は、Linux(登録商標) module型のネットワークシステム構成例について説明する図である。 図7は、Linux(登録商標) module型の論理ネットワークの構成例を示す図である。 図8は、本発明に係る障害検知プログラムがコンピュータを用いて具体的に実現されることを示す図である。 図9は、従来技術に係る仮想化技術を適用した物理ネットワークの構成例を示す図である。 図10は、従来技術に係る仮想化技術を適用した論理ネットワークの構成例を示す図である。
以下に添付図面を参照して、本発明に係るネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラムの実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
[障害検知の手法]
図1を用いて、実施例1に係る障害検知の手法について説明する。図1は、実施例1に係る障害検知の手法について説明する図である。
例えば、図1に示すように、実施例1に係る障害検知の手法では、障害検知用監視機能が利用される。例えば、図1の実線矢印で示すように、障害検知用監視機能は、物理マシンと、物理マシンに接続されたスイッチやルータ等のネットワーク機器との間の導通確認のための制御メッセージを送信する。
詳細には、物理マシンは、仮想スイッチ、ハイパーバイザ、ホストOS等を含み、かかる制御メッセージの送信では、接続される仮想スイッチの仮想ポート、仮想スイッチ、物理マシンのNIC(Network Interface Card)、物理L2(Layer 2)スイッチ、物理L3スイッチ、物理ルータ等を介する。また、制御メッセージの送信では、一つの様態として、ping(Packet INternet Groper)等が実行される。なお、図1において、ハイパーバイザとホストOSとの機能は、一体化されていても良い。
そして、障害検知用監視機能は、送信した制御メッセージに対して、ネットワーク機器からの応答が所定条件を満たした場合に、物理マシンとネットワーク機器との間の通信経路に障害が発生したことを検知して、障害の発生を検知したことを仮想スイッチコントローラ等に通知する。所定条件としては、例えば、一定時間以上応答がないこと、応答間隔が通常とは極端に異なる(例えば、極端に応答時間が遅い等)こと、断続した応答になっていること等が挙げられる。すなわち、完全に不通でなくても、上記所定条件に含まれるような不通の予兆があるとみなされれば、通信経路に障害が発生したとして検知されるように、この所定条件を設定しても良い。また例えば、図示しない記憶部等に設定された所定条件を読み込むことで検知に用いても良い。
なお、図1において、障害検知用監視機能は、物理マシン上の各仮想マシン内に配置されていても良い。かかる場合に、制御メッセージの送信では、さらに仮想マシンの仮想NICを介することになる。これにより、障害検知用監視機能による監視対象は、例えば、仮想マシンの仮想NIC、仮想スイッチの仮想ポート、仮想スイッチ、物理マシンのNIC、物理L2スイッチ、物理L3スイッチ、物理ルータ等になる。
つまり、実施例1に係る障害検知の手法では、物理マシン上の仮想マシンによる通信の経路に対して、導通確認用の制御メッセージを送信することにより、障害の発生を検知するので、サイレント故障を検知することができない従来技術と比較して、迅速に故障検知することができる。換言すると、実施例1に係る障害検知の手法では、サイレント故障等を検知するために、仮想マシンによる通信を切り替える仮想スイッチを介した制御メッセージを、物理マシンに接続されるネットワーク機器に対して送信するので、迅速に故障検知することができる。また、実施例1に係る障害検知の手法では、物理スイッチ、ルータ、物理マシンのNICが正常であると仮定すれば、物理マシン内の仮想的な通信路、つまり、物理マシン内の障害検知用監視機能と物理マシンのNICとの間の仮想的な通信路の故障を検知できる。
[実施例1に係る仮想マシン型のネットワークシステム構成]
次に、図2及び図3を用いて、実施例1に係る仮想マシン型のネットワークシステム構成について説明する。図2は、実施例1に係る仮想マシン型の物理ネットワークの構成例を示す図である。また、図3は、実施例1に係る仮想マシン型の論理ネットワークの構成例を示す図である。
例えば、図2に示すように、実施例1に係る仮想マシン型ネットワークでは、物理マシン100と、物理マシン110と、コントローラ150と、スイッチ10と、ルータ11と、スイッチ12と、ルータ13とが接続される。以下では、スイッチ10、ルータ11、スイッチ12及びルータ13について、「ネットワーク機器」と呼ぶことがある。なお、物理マシン、スイッチ及びルータ等の数は、図示のものに限られるものではない。
物理マシン100には、例えば、仮想マシンA101と、仮想マシンB102と、監視仮想マシン103と、仮想スイッチ104と、ハイパーバイザ105とが含まれる。同様に、物理マシン110には、例えば、仮想マシンA111と、仮想マシンB112と、監視仮想マシン113と、仮想スイッチ114と、ハイパーバイザ115とが含まれる。また、コントローラ150は、例えば、仮想スイッチコントローラ151と、仮想マシンコントローラ152とを有する。なお、監視仮想マシン103や監視仮想マシン113は、図1で示した障害検知用監視機能の一例である。
上記構成において、スイッチ10又はスイッチ12は、例えば、ネットワーク上の通信を切り替える物理L2スイッチ等である。ルータ11又はルータ13は、例えば、ネットワーク上のパケットをルーティングする物理ルータ等である。
物理マシン100又は物理マシン110は、利用者に対してサービスを提供する仮想環境を含んだサーバ装置等である。例えば、仮想マシンA101と仮想マシンA111とは、利用者「A」に対してサービスを提供する仮想環境であり、仮想マシンB102と仮想マシンB112とは、利用者「B」に対してサービスを提供する仮想環境である。
監視仮想マシン103は、例えば、仮想マシンA101又は仮想マシンB102による通信の経路の導通確認のために、所定の時間間隔でpingを実行する。詳細には、何れの仮想マシンによる通信の経路に障害が発生したかを検知するために、監視仮想マシン103は、仮想マシンごとに使用されるIP(Internet Protocol)アドレスを送信元とするpingを実行する。なお、この仮想マシンごとに使用されるIPアドレスを送信元とするpingを実行する処理は、各仮想マシン内に障害検知用監視機能を備える場合に適用されるものである。一方、障害検知用監視機能が独立している図1や後述する図6等の構成においては、各利用者に対応して保有されるサブネットのうち、未使用の空いている一つのIPアドレスを利用して導通確認が行われる。要するに、障害検知用監視機能が仮想マシンとは独立して存在する場合には、仮想マシンのアドレスと異なるアドレスが使用されることが好ましい。
そして、監視仮想マシン103は、実行したpingに対して、ネットワーク機器からの応答が所定条件を満たした場合に、仮想マシンA101又は仮想マシンB102による通信の経路に障害が発生したことを検知する。かかる所定条件としては、例えば、一定時間以上応答がないこと、応答間隔が通常とは極端に異なること、断続した応答になっていること等が挙げられる。その後、監視仮想マシン103は、障害の発生を検知したことをコントローラ150に対して通知する。なお、監視仮想マシン113による処理は、監視仮想マシン103による処理と同様であるため、ここではその説明を省略する。また、以下では、監視仮想マシン103によって障害が検知された場合を例に挙げて説明する。
仮想スイッチ104又は仮想スイッチ114は、例えば、自己の仮想スイッチが含まれる物理マシン上の仮想マシンによる通信を切り替える、仮想L2スイッチ等のソフトウェアである。ハイパーバイザ105又はハイパーバイザ115は、例えば、自己のハイパーバイザが含まれる物理マシン上の仮想マシンの制御を行なう。
仮想スイッチコントローラ151は、例えば、仮想スイッチ104や仮想スイッチ114のソフトウェアを一元管理するとともにこれらの仮想スイッチを監視する。また、仮想スイッチコントローラ151は、例えば、監視仮想マシン103又は監視仮想マシン113から障害発生の検知を通知された場合に、仮想マシンコントローラ152に対して障害発生検知の通知を転送する。加えて、仮想スイッチコントローラ151は、物理マシン100に含まれる仮想スイッチ104等の仮想環境をマイグレーション元とし、物理マシン110に含まれる仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行する。ここで、マイグレーション先は、コントローラ150によって管理される物理マシン、すなわち、コントローラ150の管理下にある図示されていないどの物理マシンであっても良い。また、仮想スイッチコントローラ151は、仮想環境のマイグレーションに応じて、マイグレーション元である仮想スイッチ104等の仮想環境の設定情報を、マイグレーション先である物理マシン110の仮想環境に反映する。なお、仮想スイッチコントローラ151によるマイグレーションは、一つの様態として、ストレージ用の通信回線を利用して行なわれる。
仮想マシンコントローラ152は、例えば、仮想スイッチコントローラ151から障害発生検知の通知の転送を受け付ける。そして、仮想マシンコントローラ152は、物理マシン100に含まれる仮想マシンA101及び仮想マシンB102等の仮想環境をマイグレーション元とし、物理マシン110に含まれる仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行する。ここで、マイグレーション先は、コントローラ150によって管理される物理マシン、すなわち、コントローラ150の管理下にある図示されていないどの物理マシンであっても良い。また、仮想マシンコントローラ152は、仮想環境のマイグレーションに応じて、マイグレーション元である仮想マシンA101及び仮想マシンB102等の仮想環境の設定情報を、マイグレーション先である物理マシン110の仮想環境に反映する。その後、仮想マシンコントローラ152は、障害発生の通知元である物理マシン100をシャットダウンする。なお、仮想マシンコントローラ152によるマイグレーションは、一つの様態として、ストレージ用の通信回線を利用して行なわれる。また、物理マシン100のシャットダウン後には、システム管理者等によって故障箇所の修理が行なわれる。故障箇所の修理の際には、何れの仮想マシンによる通信の経路で障害が発生したかの情報を利用すれば良い。
また、仮想スイッチコントローラ151と仮想マシンコントローラ152によるマイグレーション処理は、仮想マシンコントローラ152による管理下の他の物理マシンに対して実行される。このようなマイグレーション処理において、同一の物理マシン上に含まれる仮想マシン及び仮想スイッチの組み合わせは、そのマイグレーション先も同一の物理マシン上となる。
上記物理ネットワークの構成により、クラウドコンピューティングを提供する提供者は、図3に示すように、各利用者用に論理スイッチを定義し、顧客単位で隔離された通信となるように、物理層に設定を反映させて運用しているとともに、仮想マシンが含まれる物理マシンごとに障害検知用監視機能を導入する。
例えば、利用者「A」に対しては、図3の左方に示すように、論理スイッチAを定義し、利用者「A」用に隔離された通信となるように、仮想マシンA、仮想マシンA、論理スイッチA及びルータAが構成されるとともに、障害検知用監視機能Aも構成される。同様に、利用者「B」に対しては、図3の右方に示すように、論理スイッチBを定義し、利用者「B」用に隔離された通信となるように、仮想マシンB、仮想マシンB、論理スイッチB及びルータBが構成されるとともに、障害検知用監視機能Bも構成される。
[障害検知処理及びマイグレーション処理]
次に、図4を用いて、障害検知処理及びマイグレーション処理について説明する。図4は、障害検知処理及びマイグレーション処理について説明するための図である。なお、障害検知処理とは、主に障害検知用監視機能としての監視仮想マシンによる処理を指し、マイグレーション処理とは、主にコントローラ150による処理を指す。また、以下では、物理マシン100に含まれる仮想マシンA101又は仮想マシンB102による通信の経路で障害が発生する場合を例に挙げて説明する。
(障害検知処理)
例えば、図4の(1)に示すように、監視仮想マシン103は、仮想マシンA101と仮想マシンB102とによる仮想スイッチ104を介した、物理L2スイッチや物理ルータ等のネットワーク機器との間の通信の経路の導通確認のために、所定の時間間隔で、仮想マシンA101と仮想マシンB102とのそれぞれで使用されるIPアドレスを送信元とするpingを実行する。そして、監視仮想マシン103は、実行したpingに対して、ネットワーク機器からの応答が所定条件を満たした場合に、仮想マシンA101又は仮想マシンB102による通信の経路に障害が発生したことを検知し、障害の発生を検知したことを仮想スイッチコントローラ151に対して通知する。なお、所定条件としては、例えば、一定時間以上応答がないこと、応答間隔が通常とは極端に異なること、断続した応答になっていること等が挙げられる。
(マイグレーション処理)
また、仮想スイッチコントローラ151は、図4の(2)に示すように、監視仮想マシン103から障害発生検知の通知を受け付けると、障害発生検知の通知を、仮想マシンコントローラ152に対して転送する。また、仮想マシンコントローラ152は、図4の(3)に示すように、仮想スイッチコントローラ151から障害発生検知の通知を転送されると、仮想マシンA101及び仮想マシンB102の仮想環境をマイグレーション元とし、物理マシン110に含まれる仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行する。これにより、物理マシン110には、仮想マシンA101と仮想マシンB102との仮想環境が新たに構成される。加えて、仮想マシンコントローラ152は、仮想環境のマイグレーションに応じて、マイグレーション元である仮想マシンA101及び仮想マシンB102の仮想環境の設定情報を、マイグレーション先である物理マシン110の仮想環境に反映する。
また、仮想スイッチコントローラ151は、図4の(4)に示すように、仮想スイッチ104の仮想環境をマイグレーション元とし、物理マシン110に含まれる仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行する。また、仮想スイッチコントローラ151は、仮想環境のマイグレーションに応じて、マイグレーション元である仮想スイッチ104の仮想環境の設定情報を、マイグレーション先である物理マシン110の仮想環境に反映する。また、仮想マシンコントローラ152は、図4の(5)に示すように、障害発生の通知元である物理マシン100をシャットダウンする。
[実施例1に係る処理シーケンス]
次に、図5を用いて、実施例1に係る障害検知処理及びマイグレーション処理の流れについて説明する。図5は、実施例1に係る障害検知処理及びマイグレーション処理の流れの例を示すシーケンス図である。
例えば、図5に示すように、監視仮想マシン103は、物理マシン100とネットワーク機器との間の導通確認のための制御メッセージを送信する(ステップS101)。制御メッセージの送信においては、一つの様態として、仮想スイッチ104を介して、仮想マシンA101と仮想マシンB102とによる通信で使用されるIPアドレスを送信元とするpingが実行される。そして、監視仮想マシン103は、制御メッセージの送信に対し、ネットワーク機器からの応答が所定条件を満たした場合に、通信の経路に障害が発生したことを検知して、障害の発生を検知したことを仮想スイッチコントローラ151に対して通知する(ステップS102)。なお、所定条件としては、例えば、一定時間以上応答がないこと、応答間隔が通常とは極端に異なること、断続した応答になっていること等が挙げられる。
また、仮想スイッチコントローラ151は、監視仮想マシン103から障害検知の通知を受け付けた場合に、受け付けた障害検知の通知を、仮想マシンコントローラ152に対して転送する(ステップS103)。そして、仮想スイッチコントローラ151は、仮想スイッチ104等の仮想環境をマイグレーション元とし、物理マシン110に含まれる仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行する(ステップS104)。その後、仮想スイッチコントローラ151は、仮想スイッチ104等の仮想環境のマイグレーションに応じて、マイグレーション元である仮想スイッチ104の仮想環境の設定情報を、マイグレーション先である物理マシン110の仮想環境に反映する(ステップS105)。
また、仮想マシンコントローラ152は、仮想スイッチコントローラ151から障害検知の通知を転送された場合に、仮想マシンA101及び仮想マシンB102等の仮想環境をマイグレーション元とし、物理マシン110に含まれる仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行する(ステップS106)。そして、仮想マシンコントローラ152は、仮想マシンA101及び仮想マシンB102の仮想環境のマイグレーションに応じて、マイグレーション元である仮想マシンA101及び仮想マシンB102の仮想環境の設定情報を、マイグレーション先である物理マシン110の仮想環境に反映する(ステップS107)。その後、仮想マシンコントローラ152は、障害検知された物理マシン100をシャットダウンする(ステップS108)。
[実施例1による効果]
上述したように、ネットワークシステムにおいて、物理マシン100は、仮想マシンによる通信経路でpingを実行し、応答がない場合に仮想マシンによる通信の経路で障害が発生したことを検知し、障害発生を検知したことをコントローラ150に対して通知する。また、コントローラ150は、物理マシン100から障害発生の検知を通知された場合に、物理マシン100に含まれる仮想マシン及び仮想スイッチ等の仮想環境をマイグレーション元とし、コントローラ150の管理下にある他の物理マシンの仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行し、各種設定情報の反映を行なう。これらの結果、ネットワークシステムは、ネットワークに関する故障について迅速に検知することができるとともに、利用者に対するサービスの停滞を抑制することができる。
さて、これまで本発明に係る物理マシンとコントローラとを含むネットワークシステムの実施例について説明したが、上述した実施例以外にも種々の異なる形態にて実施されてよいものである。そこで、(1)Linux(登録商標) module型、(2)構成、(3)プログラム、において異なる実施例を説明する。
(1)Linux(登録商標) module型
上記実施例では、仮想マシン型のネットワーク(物理ネットワーク)システムや論理ネットワークを例に挙げて説明したが、Linux(登録商標) module型により実現することもできる。
図6は、Linux(登録商標) module型のネットワークシステム構成例について説明する図である。また、図7は、Linux(登録商標) module型の論理ネットワークの構成例を示す図である。なお、図6では、実施例1に係る仮想マシン型のネットワークシステム構成と同様の構成要素については、同一の符号を付している。すなわち、各構成要素による処理は実施例1と同様であるため詳細な説明を省略する。また、監視モジュール103は、監視仮想マシン103に対応し、監視モジュール113は、監視仮想マシン113に対応する。
例えば、図6における各仮想マシンは、実施例1と同様に、各仮想スイッチを介して通信を行なう。これに伴い、監視モジュール103又は監視モジュール113は、例えば、各仮想マシンによる通信の経路の導通確認のために、所定の時間間隔でpingを実行する。なお、実施例1と同様に、pingの実行では、各利用者に対応して保有されるサブネットのうち、未使用の空いている一つのIPアドレスを利用して導通確認が行われる。そして、監視モジュール103又は監視モジュール113は、実行したpingに対して、ネットワーク機器からの応答が所定条件を満たした場合に、該当する仮想マシンによる通信の経路に障害が発生したことを検知する。所定条件としては、例えば、一定時間以上応答がないこと、応答間隔が通常とは極端に異なること、断続した応答になっていること等が挙げられる。かかる検知では、実施例1と同様に、各仮想スイッチにおけるサイレント故障等も検知することが可能である。その後、監視モジュール103又は監視モジュール113は、障害の発生を検知したことをコントローラ150に対して通知する。
上記物理ネットワークの構成により、クラウドコンピューティングを提供する提供者は、図7に示すように、各利用者用に論理スイッチを定義し、顧客単位で隔離された通信となるように、物理層に設定を反映させて運用しているとともに、仮想マシンが含まれる物理マシンごとに障害検知用監視機能を導入する。また、論理ネットワークの構成ついても、実施例1と同様であるためその説明を省略する。
(2)構成
また、上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメタ等を含む情報(例えば、コントローラ150で実行される処理手順等)については、特記する場合を除いて任意に変更することができる。例えば、仮想スイッチコントローラ151及び仮想マシンコントローラ152によって実行されるマイグレーション処理は、それらの処理手順の順序を適宜変更しても良い。図5を例に挙げると、ステップS104及びステップS105と、ステップS106及びステップS107とは、どちらが先に処理されても良い。但し、ステップS108は、ステップS104〜ステップS107の処理の終了後に実行される。かかるマイグレーションは、例えば、ライブマイグレーション(LM:Live Migration)であることが好ましい。ライブマイグレーションについては、“森若 和雄,鶴野 龍一郎,まえだ こうへい、「KVM徹底入門 Linux(登録商標)カーネル仮想化基盤構築ガイド」、2010年7月7日、P.162”等に掲載されている。
また、図示した物理マシン100やコントローラ150の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。例えば、仮想スイッチを管理・監視する仮想スイッチコントローラ151と、物理マシンを管理・監視する仮想マシンコントローラ152とを、仮想スイッチ及び仮想マシンを管理・監視する「仮想環境コントローラ」として統合しても良い。
また、仮想マシンコントローラ152によって管理される物理マシンが3台以上である場合に、マイグレーション処理は、各物理マシンの負荷状態を考慮し、複数の物理マシン上に仮想マシンを分散させるように実行される。このとき、仮想スイッチコントローラ151と仮想マシンコントローラ152とは、連携して、仮想マシン及び仮想スイッチの組み合わせを同一の物理マシン上にマイグレーションする。
また、本発明は、障害検知時にマイグレーションによって仮想環境のサービスの提供を停止させないようにすることに限られるものではない。例えば、コントローラ150は、物理マシンによって障害発生の検知を通知された場合に、該物理マシンに含まれる仮想環境を代替手段に切り替え、切り替えた仮想環境に応じて、切り替え前の仮想環境の設定情報を、切り替え後の仮想環境に反映しても良い。例を挙げると、コントローラは、障害検知時に、仮想スイッチを再生成する等、又は予め代替仮想スイッチを用意しておく等して仮想スイッチを交換し、切り替え前の設定情報を切り替え後の仮想スイッチの設定情報として反映する。
また、物理マシン100やコントローラ150にて行われる各処理機能は、その全部又は任意の一部が、CPU及び該CPUにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。
(3)プログラム
図8は、本発明に係る障害検知プログラムがコンピュータを用いて具体的に実現されることを示す図である。図8に例示するように、コンピュータ1000は、例えば、メモリ1001と、CPU1002と、ハードディスクドライブインタフェース1003と、ディスクドライブインタフェース1004と、シリアルポートインタフェース1005と、ビデオアダプタ1006と、ネットワークインタフェース1007とを有し、これらの各部はバス1008によって接続される。
メモリ1001は、図8に例示するように、ROM1001a及びRAM1001bを含む。ROM1001aは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1003は、図8に例示するように、ハードディスクドライブ1009に接続される。ディスクドライブインタフェース1004は、図8に例示するように、ディスクドライブ1010に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1010に挿入される。シリアルポートインタフェース1005は、図8に例示するように、例えばマウス1011、キーボード1012に接続される。ビデオアダプタ1006は、図8に例示するように、例えばディスプレイ1013に接続される。
ここで、図8に例示するように、ハードディスクドライブ1009は、例えば、OS(Operating System)1009a、アプリケーションプログラム1009b、プログラムモジュール1009c、プログラムデータ1009dを記憶する。すなわち、本発明に係る障害検知プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1009cとして、例えばハードディスクドライブ1009に記憶される。具体的には、上記実施例で説明した監視仮想マシン103等と同様の処理を実行する制御メッセージ送信手順と、障害検知通知手順とが記述されたプログラムモジュール1009cが、ハードディスクドライブ1009に記憶される。また、物理マシンの所定の記憶部に記憶されるデータのように、障害検知プログラムによる処理に用いられるデータは、プログラムデータ1009dとして、例えばハードディスクドライブ1009に記憶される。そして、CPU1002が、ハードディスクドライブ1009に記憶されたプログラムモジュール1009cやプログラムデータ1009dを必要に応じてRAM1001bに読み出し、制御メッセージ送信手順、障害検知通知手順を実行する。
なお、障害検知プログラムに係るプログラムモジュール1009cやプログラムデータ1009dは、ハードディスクドライブ1009に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1010等を介してCPU1002によって読み出されてもよい。あるいは、障害検知プログラムに係るプログラムモジュール1009cやプログラムデータ1009dは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1007を介してCPU1002によって読み出されてもよい。
100 物理マシン
101 仮想マシンA
102 仮想マシンB
103 監視仮想マシン
104 仮想スイッチ
105 ハイパーバイザ
150 コントローラ
151 仮想スイッチコントローラ
152 仮想マシンコントローラ

Claims (6)

  1. 仮想マシン及び/又は仮想スイッチを含んだ仮想環境を含む物理マシンと、該物理マシンを管理するコントローラとを有するネットワークシステムであって、
    前記物理マシンは、
    自己の物理マシンと、前記自己の物理マシンに接続されたネットワーク機器との間の導通確認のための制御メッセージを、前記仮想環境を介して前記ネットワーク機器に対して送信する制御メッセージ送信部と、
    前記制御メッセージ送信部によって送信された制御メッセージに対する前記ネットワーク機器からの応答が所定条件を満たした場合に、前記仮想環境を含んだ前記自己の物理マシンと前記ネットワーク機器との間の通信経路に障害が発生したことを検知して、障害の発生を検知したことを前記コントローラに対して通知する障害検知通知部と
    を有し、
    前記コントローラは、
    前記物理マシンによって障害発生の検知を通知された場合に、前記自己の物理マシンに含まれる仮想環境をマイグレーション元とし、前記自己の物理マシンとは異なる他の物理マシンに含まれる仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行するマイグレーション実行部と、
    前記マイグレーション実行部によって実行されたマイグレーションに応じて、前記マイグレーション元の仮想環境の設定情報を、前記マイグレーション先の仮想環境に反映する設定情報反映部と
    を有することを特徴とするネットワークシステム。
  2. 前記制御メッセージ送信部は、前記自己の物理マシンに含まれる仮想環境ごとに使用されるIPアドレスを送信元とする前記制御メッセージを前記ネットワーク機器に対して送信することを特徴とする請求項1に記載のネットワークシステム。
  3. 仮想マシン及び/又は仮想スイッチを含んだ仮想環境を含む物理マシンと、該物理マシンを管理するコントローラとで実行される冗長化方法であって、
    前記物理マシンにおいて、
    自己の物理マシンと、前記自己の物理マシンに接続されたネットワーク機器との間の導通確認のための制御メッセージを、前記仮想環境を介して前記ネットワーク機器に対して送信する制御メッセージ送信工程と、
    前記制御メッセージ送信工程によって送信された制御メッセージに対する前記ネットワーク機器からの応答が所定条件を満たした場合に、前記仮想環境を含んだ前記自己の物理マシンと前記ネットワーク機器との間の通信経路に障害が発生したことを検知して、障害の発生を検知したことを前記コントローラに対して通知する障害検知通知工程と
    を含み、
    前記コントローラにおいて、
    前記物理マシンによって障害発生の検知を通知された場合に、前記自己の物理マシンに含まれる仮想環境をマイグレーション元とし、前記自己の物理マシンとは異なる他の物理マシンに含まれる仮想環境をマイグレーション先として、仮想環境のマイグレーションを実行するマイグレーション実行工程と、
    前記マイグレーション実行工程によって実行されたマイグレーションに応じて、前記マイグレーション元の仮想環境の設定情報を、前記マイグレーション先の仮想環境に反映する設定情報反映工程と
    を含んだことを特徴とする冗長化方法。
  4. 仮想マシン及び/又は仮想スイッチを含んだ仮想環境を含む障害検知装置であって、
    自己の障害検知装置と、前記自己の障害検知装置に接続されたネットワーク機器との間の導通確認のための制御メッセージを、前記仮想環境を介して前記ネットワーク機器に対して送信する制御メッセージ送信部と、
    前記制御メッセージ送信部によって送信された制御メッセージに対する前記ネットワーク機器からの応答が所定条件を満たした場合に、前記仮想環境を含んだ前記自己の障害検知装置と前記ネットワーク機器との間の通信経路に障害が発生したことを検知し、前記自己の障害検知装置を管理するコントローラに対して、障害の発生を検知したことを通知する障害検知通知部と
    を有することを特徴とする障害検知装置。
  5. コンピュータを請求項4に記載の障害検知装置として機能させるための障害検知プログラム。
  6. 仮想マシン及び/又は仮想スイッチを含んだ仮想環境を含む物理マシンと、該物理マシンを管理するコントローラとを有するネットワークシステムであって、
    前記物理マシンは、
    自己の物理マシンと、前記自己の物理マシンに接続されたネットワーク機器との間の導通確認のための制御メッセージを、前記仮想環境を介して前記ネットワーク機器に対して送信する制御メッセージ送信部と、
    前記制御メッセージ送信部によって送信された制御メッセージに対する前記ネットワーク機器からの応答が所定条件を満たした場合に、前記仮想環境を含んだ前記自己の物理マシンと前記ネットワーク機器との間の通信経路に障害が発生したことを検知して、障害の発生を検知したことを前記コントローラに対して通知する障害検知通知部と
    を有し、
    前記コントローラは、
    前記物理マシンによって障害発生の検知を通知された場合に、前記自己の物理マシンに含まれる仮想環境を代替手段に切り替える仮想環境切替部と、
    前記仮想環境切替部によって切り替えられた仮想環境に応じて、切り替え前の仮想環境の設定情報を、切り替え後の仮想環境に反映する設定情報反映部と
    を有することを特徴とするネットワークシステム。
JP2011142198A 2011-06-27 2011-06-27 ネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラム Expired - Fee Related JP5558422B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011142198A JP5558422B2 (ja) 2011-06-27 2011-06-27 ネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011142198A JP5558422B2 (ja) 2011-06-27 2011-06-27 ネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラム

Publications (2)

Publication Number Publication Date
JP2013008320A JP2013008320A (ja) 2013-01-10
JP5558422B2 true JP5558422B2 (ja) 2014-07-23

Family

ID=47675591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011142198A Expired - Fee Related JP5558422B2 (ja) 2011-06-27 2011-06-27 ネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラム

Country Status (1)

Country Link
JP (1) JP5558422B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015088268A1 (ko) * 2013-12-11 2015-06-18 주식회사 케이티 Sdn 환경에서 네트워크 장치에 대한 장애를 처리하는 방법
JP6278868B2 (ja) * 2014-08-28 2018-02-14 三菱電機株式会社 通信制御装置および計算装置
JP6356599B2 (ja) * 2014-12-26 2018-07-11 株式会社日立製作所 監視支援システム、監視支援方法、および監視支援プログラム
CN109286583B (zh) * 2018-10-23 2021-08-10 郑州云海信息技术有限公司 一种控制器网络端口管理方法、装置、设备及存储介质
CN110321197A (zh) * 2019-05-17 2019-10-11 广东睿江云计算股份有限公司 一种基于kvm的虚拟网卡管理方法
CN115242688A (zh) * 2022-07-27 2022-10-25 济南浪潮数据技术有限公司 一种网络故障检测方法、装置以及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
JP2010103695A (ja) * 2008-10-22 2010-05-06 Ntt Data Corp クラスタシステム、クラスタサーバ及びクラスタ制御方法
JP2010198491A (ja) * 2009-02-26 2010-09-09 Yokogawa Electric Corp 仮想メシンサーバおよびこれを用いた仮想マシンネットワーク監視システム

Also Published As

Publication number Publication date
JP2013008320A (ja) 2013-01-10

Similar Documents

Publication Publication Date Title
US9690683B2 (en) Detection and handling of virtual network appliance failures
US11895016B2 (en) Methods and apparatus to configure and manage network resources for use in network-based computing
US8224957B2 (en) Migrating virtual machines among networked servers upon detection of degrading network link operation
US9503371B2 (en) High availability L3 gateways for logical networks
JP5558422B2 (ja) ネットワークシステム、冗長化方法、障害検知装置及び障害検知プログラム
US10411948B2 (en) Cooperative active-standby failover between network systems
US20170142012A1 (en) Multiple Active L3 Gateways for Logical Networks
US8943489B1 (en) High availability in-service software upgrade using virtual machine instances in dual computing appliances
US11743097B2 (en) Method and system for sharing state between network elements
US9185053B2 (en) Virtual fault tolerant ethernet appliance and method of operation
US20180241610A1 (en) Port mirroring in a virtualized computing environment
US20120240117A1 (en) Virtual Machine Management Among Networked Servers
AU2004306913A1 (en) Redundant routing capabilities for a network node cluster
WO2018137520A1 (zh) 一种业务恢复方法及装置
CN111835685B (zh) 一种监控Nginx网络隔离空间的运行状态的方法和服务器
US10733067B1 (en) Apparatus, system, and method for efficiently deploying backup virtual network devices
US11088934B2 (en) Dynamic discovery of service nodes in a network
JP2009187090A (ja) クラスタシステムおよび情報処理方法
CN107950013B (zh) 计算机网络中的后备通信方案
CN103546556B (zh) 一种在未来网络xia中虚拟机在线迁移方法
KR101644678B1 (ko) 네크워크 입출력 가상화 환경에서 가상 머신의 이동성 지원 방법 및 이를 수행하는 장치
US20150334019A1 (en) Routing control method and non-transitory computer-readable recording medium storing routing control program
US11418382B2 (en) Method of cooperative active-standby failover between logical routers based on health of attached services
WO2016117302A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
WO2020032169A1 (ja) 障害復旧制御方法、通信装置、通信システム、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140530

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140604

R150 Certificate of patent or registration of utility model

Ref document number: 5558422

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees