説明

仮想マシン環境におけるネットワーク障害検知方法、装置、およびプログラム

【課題】仮想サーバを宛先として実施するとともに、組み合わせ数を削減することにある。
【解決手段】それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得処理と、各物理サーバにおいて、他物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を、他物理サーバに要求して取得する物理サーバ間測定結果取得処理と、各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得して、他物理サーバに応答する物理サーバ間測定結果送受信処理とを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、大規模なデータセンターにおいて、仮想サーバ間のネットワーク通信障害を検出する仮想マシン環境におけるネットワーク障害検知方法、装置、およびプログラムに関する。
【背景技術】
【0002】
近年、クラウドコンピューティングの発展により、大量のサーバがデータセンターに配置され、複数サーバを利用してサービスを提供する形態がとられている。このような形態において、1台の物理サーバ上に複数台の仮想サーバを動作させるサーバ仮想化技術が知られている。1つのデータセンター内に数千、数万台規模の仮想サーバが配備され、仮想サーバ同士が通信を行うことにより膨大な量の処理を実現している。仮想サーバは、必要に応じ短時間で生成や削除を行うことが可能であり、また、別の物理サーバ上に移動することも可能である。
【0003】
仮想サーバを含むネットワークシステムでは、ネットワーク構成が頻繁に変化するため、通信ができなくなるなど不安定な状態に陥る危険性が高まっている。このため、サーバ間ネットワークの通信正常性を周期的に確認し異常を早期に検出することでサービス停止時間の短縮を実現する、ネットワークの通信到達性確認技術が求められている。
【0004】
ネットワークの通信到達性確認のための従来技術として、次のような技術が知られている(例えば特許文献1に記載の技術)。複数のセグメントが複数の中継ノードによって中継されるコンピュータネットワークの隣接するセグメント間の通信におけるコンピュータ及び中継ノードの異常を管理する方法において、ネットワークを構成する全てのコンピュータ及び中継ノードの異常の有無を管理するネットワーク管理装置を設け、各中継ノードは当該中継ノードが属するセグメントに属するコンピュータ及び当該セグメントに属する他の中継ノードに対してポーリングを行ってコンピュータ及び他の中継ノードの異常の有無を監視し、異常を発見した時はその旨をネットワーク管理装置に通知する技術である。
【0005】
また、他の従来技術として、次のような技術が知られている(例えば特許文献2に記載の技術)。管理コンソールと複数の計算機とが通信路を介して相互に接続され、前記複数の計算機は、一または複数の計算機グループを構成し、前記一または複数の計算機グループは、管理コンソールをルートとする木構造により論理的に関連付けられている計算機監視方式であって、前記複数の計算機のそれぞれは、アドレスリストに登録されている計算機の計算機アドレスに基づいて、自計算機グループ内の計算機と相互に通信することにより相互監視する監視手段と、障害を検出する障害検出手段と、障害の検出結果を親ノードにあたる計算機グループに属する全ての計算機に通知する障害通知手段とを備えることを特徴とする技術である。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−88399号公報
【特許文献2】特開2003−271471号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述の従来技術はいずれも、サーバ間の通信正常性を確認する技術であり、通信正常性を確認する組み合わせ数を削減することが可能ではある。しかし、これらの従来技術では、宛先数も削減されてしまうため、全ての宛先に対して通信の正常性を確認することは不可能であるという問題点を有していた。
【0008】
そこで、本発明の課題は、仮想サーバを宛先として実施するとともに、組み合わせ数を削減することにある。
【課題を解決するための手段】
【0009】
態様の一例では、それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得ステップと、前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得ステップと、前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送受信ステップとを実行する。
【発明の効果】
【0010】
自他物理サーバに含まれる全ての仮想サーバに関する通信到達性の情報を取得することが可能となる。
これにより、測定パケットを送受信する組み合わせ数を削減することが可能となり、ネットワーク負荷およびサーバの処理負荷を軽減することが可能となる。
【図面の簡単な説明】
【0011】
【図1】一般的に考えられる通信到達性確認方式のネットワーク構成図である。
【図2】実施形態のネットワーク構成図である。
【図3】実施形態の機能ブロック図である。
【図4】実施形態における仮想サーバ情報テーブルのデータ構成例を示す図である。
【図5】実施形態における物理サーバ内測定処理のフローチャートである。
【図6】実施形態における物理サーバ間測定処理の送信側のフローチャートである。
【図7】実施形態における物理サーバ間測定処理の受信側のフローチャートである。
【図8】実施形態における物理サーバ間の測定パケットフォーマットの例を示す図である。
【図9】実施形態における物理サーバ間の測定応答パケットフォーマットの例を示す図である。
【図10】実施形態における物理サーバのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
まず、ネットワークの通信到達性確認のための一般的に考えられる技術について説明し、その後、実施形態について説明する。
【0013】
ネットワークの通信到達性を確認する技術として、プローブ装置を用いてIPネットワークの通信障害を検出する技術が一般に知られている。
図1は、一般的に考えられる通信到達性確認方式のネットワーク構成図である。図1において、複数の物理的なコンピュータであるサーバ101は、サブネットワーク104と呼ばれる幾つかのネットワークグループ#1〜#4に分割され、それぞれのサブネットワーク104は、IP(インターネットプロトコル)パケットのルーティングを行う装置であるルータ102によって相互に接続される。
【0014】
このようなネットワークシステムにおいて一般的な通信到達性確認方式として、各サブネットワーク104内に1台ずつプローブ専用装置103(以下単に「プローブ103」と呼ぶ)を配置する構成が考えられる。サブネットワーク104毎に配置されたプローブ103間で、ルータ102を介して、全てのプローブ103の組合せで相互に完全に接続するフルメッシュ通信を行うことで、サブネットワーク104間の通信到達性を確認するものである。
【0015】
しかし、課題1として、この方式は、サブネットワーク104間の通信到達性は確認することができても、サーバ101間の通信到達性の確認まではできなかった。
さらに近年では、1台の物理的なサーバ101上に複数台の仮想サーバを動作させるサーバ仮想化技術が普及してきている。この場合には、物理的なサーバ101にとどまらず、仮想サーバ同士で通信到達性の確認する技術も必要になる。このような背景において、仮想サーバにプローブ機能を内蔵し、仮想サーバ間でフルメッシュ通信を行うことも考えられる。しかし、課題2として、このような方式を採用した場合、物理的なサーバ101およびその上で動作する仮想サーバの数が多くなるにつれ、到達性確認の通信の組み合わせが膨大となり、通信量が大量となる。このような状況は、ネットワークの輻輳を誘発しかねない。
【0016】
図2は、上述の課題を解決するための実施形態におけるネットワーク構成を示す図である。
物理サーバ201は、ルータ207によって接続される。物理サーバ201上では、所定のオペレーティングシステムのもとで動くソフトウェアシステムである仮想サーバ202が複数稼働する。
【0017】
ハイパーバイザー203は、物理サーバ201上で稼働する複数の仮想サーバ202を統括的に制御する。具体的には、ハイパーバイザー203は、各仮想サーバ202を、それらが物理サーバ201のCPU(中央演算処理装置)やメモリ等のリソースを共用し、物理サーバ201のオペレーティングシステムと連携して動作できるように制御する。また、ハイパーバイザー203は、仮想スイッチ205の機能を有する。仮想スイッチ205は、物理サーバ201が搭載するネットワークインタフェースカード(NIC:Network Interface Card)206に対して入出力するパケットデータを、その物理サーバ201上の各仮想サーバ202に振り分ける。この機能により、物理サーバ201上の各仮想サーバ202は、NIC206を介して、他の物理サーバ201上の仮想サーバ202や、ルータ207、その他、インターネット上のクライアントコンピュータなどと通信することができる。
【0018】
また、本実施形態では、1つの物理サーバ201上のハイパーバイザー203は、その物理サーバ201に対応するプローブ204の機能を実装する。プローブ204は、自物理サーバ201内の各仮想サーバ202に疎通確認パケットを送信し、返信結果を保存する。また、プローブ204は、他物理サーバ201内の各仮想サーバ202宛にも疎通確認パケットを送信する。プローブ204は、他物理サーバ201からの自物理サーバ201内仮想サーバ202宛疎通確認パケットを受信すると、その仮想サーバ202の疎通状態を検索し、OKならOK、NGならNGを、他物理サーバ201に対して代理応答する。
【0019】
以上のように、本実施形態では、プローブ204の機能が、仮想サーバ202の個々には配置されず、物理サーバ201に対応させてハイパーバイザー203内に配置される。このプローブ204の機能により、自他物理サーバ201内の全仮想サーバ202宛の通信正常性の確認を可能とするものである。この構成により、測定パケットを送受信する組み合わせ数を削減することを可能として、ネットワーク負荷およびサーバの処理負荷を軽減することを可能とする。
【0020】
図3は、以上の効果を実現するための本実施形態の機能ブロック図であり、図2のプローブ204の機能ブロック構成を示す図である。
図3において、物理サーバ内測定結果取得部300−1は、自物理サーバ201で稼働する各仮想サーバ202に関する通信到達性に関する情報を取得して管理する。より具体的には、物理サーバ内測定結果取得部300−1は、自物理サーバ201で稼働する仮想サーバ202に対する通信到達性に関する測定結果および応答時間を取得し、測定結果314として蓄積する。このとき、物理サーバ内測定結果取得部300−1は、仮想サーバ情報312のデータベーステーブルを参照して、自物理サーバ201で稼働する仮想サーバ202を特定する。
【0021】
物理サーバ間測定結果取得部300−2は、他物理サーバ201で稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する。より具体的には、物理サーバ間測定結果取得部300−2は、他物理サーバ201に1台ずつ配置されるプローブ204に対して、その物理サーバ201に含まれる仮想サーバ202の通信到達性に関する測定結果および応答時間を測定パケットとして要求する。このとき、物理サーバ間測定結果取得部300−2は、ネットワーク内サーバ情報313を参照して、他物理サーバ201で稼働する仮想サーバ202を特定する。物理サーバ間測定結果取得部300−2は、他物理サーバ201に1台ずつ配置されるプローブ204から、その物理サーバ201に含まれる仮想サーバ202に関する通信到達性に関する測定結果および応答時間を、測定応答パケットとして受信する。そして、物理サーバ間測定結果取得部300−2は、受信した測定結果および応答時間を、測定結果314として蓄積する。
【0022】
物理サーバ間測定結果送信部300−3は、他物理サーバ201に1台ずつ配置されるプローブ204からの測定パケットによる測定結果要求を受信し、自物理サーバ201に含まれる仮想サーバ202の通信到達性に関する測定結果と応答時間を取得する。このとき、物理サーバ間測定結果送信部300−3は、測定結果314のデータベーステーブルを参照して、対象となる仮想サーバ202の測定結果を取得する。そして、物理サーバ間測定結果送信部300−3は、その取得した測定結果および応答時間を、測定応答パケットとして、測定パケットを送信した物理サーバ201に返信する。
【0023】
以上のようにして、本実施形態では、物理サーバ201毎に1台ずつ配置された図3に示される構成を有するプローブ204によって、物理サーバ201同士のみで測定パケットと測定応答パケットを送受信する。これにより、自他物理サーバ201に含まれる全ての仮想サーバ202に関する通信到達性の測定結果と応答時間を取得することが可能となる。
【0024】
図3において、物理サーバ内測定結果取得部300−1は、仮想サーバ情報取得部301と、対仮想サーバ測定パケット送信部302と、対仮想サーバ応答パケット受信部303と、対仮想サーバ測定結果蓄積部304を備える。物理サーバ内測定結果取得部300−1は、仮想サーバ情報312のデータベーステーブルを参照して、自物理サーバ201で稼働する仮想サーバ202を特定する。対仮想サーバ測定パケット送信部302は、仮想サーバ情報取得部301が特定した仮想サーバ202に対して、pingリクエストを送信する。そして、対仮想サーバ応答パケット受信部303は、そのpingリクエストに対応するping応答を監視することにより、自物理サーバ201で稼働する仮想サーバ202に対する測定結果および応答時間を取得する。対仮想サーバ測定結果蓄積部304は、上記取得された自物理サーバ201で稼働する仮想サーバ202に対する測定結果および応答時間を測定結果314として蓄積する。
【0025】
以上のようにして、自物理サーバ201で稼働する仮想サーバ202に対しては、仮想サーバ情報312から得た仮想サーバ202に対してpingリクエストを送信するだけで、通信到達性の測定結果および応答時間を取得することが可能となる。
【0026】
図3において、物理サーバ間測定結果取得部300−2は、ネットワーク内サーバ情報取得部305と、対向サーバ測定パケット送信部306と、対向サーバ応答パケット受信部307と、対向サーバ測定結果蓄積部308を備える。ネットワーク内サーバ情報取得部305は、ネットワーク内サーバ情報313を参照して、他物理サーバ201で稼働する仮想サーバ202を特定する。対向サーバ測定パケット送信部306は、上記特定した他物理サーバ201で稼働する仮想サーバ202に向けて、通信到達性の測定結果等を要求する測定パケットを送信する。対向サーバ応答パケット受信部307は、上記測定パケットに対して対象となる物理サーバ201内のプローブ204が送信した通信到達性の測定結果が格納された測定応答パケットの返信を監視し受信する。対向サーバ測定結果蓄積部308は、上記受信した測定応答パケットから測定結果を取得すると共に、測定パケットを送信してから測定応答パケットを受信するまでの応答時間を算出する。そして、対向サーバ測定結果蓄積部308は、そのようにして取得した他物理サーバ201で稼働する仮想サーバ202に対応する測定結果および応答時間を、測定結果314として蓄積する。
【0027】
以上のようにして、物理サーバ201に1台ずつ配置されたプローブ204は、他物理サーバ201内に複数の仮想サーバ202があっても、それらを含む1台の物理サーバ201のプローブ204と通信を行うだけで、それら複数の仮想サーバ202に関する通信到達性の測定結果および応答時間を取得することが可能となる。これにより、他物理サーバ201内の各仮想サーバ202の情報を効率的に収集することが可能となる。
【0028】
図3において、物理サーバ間測定結果送信部300−3は、対向サーバ測定パケット受信部309と、対向サーバ測定結果取得部310と、対向サーバ応答パケット送信部311を備える。対向サーバ測定パケット受信部309は、他物理サーバ201に1台ずつ配置されるプローブ204からの測定パケットによる自物理サーバ201で稼働する仮想サーバ202宛の測定結果要求を受信する。対向サーバ測定結果取得部310は、受信した測定パケットによって要求されている仮想サーバ202に関する測定結果を、測定結果314のデータベーステーブルから取得する。対向サーバ応答パケット送信部311は、取得した測定結果を格納した測定応答パケットを、受信した測定パケットを送信した物理サーバ201に向けて返信する。
【0029】
以上のようにして、物理サーバ間測定結果送信部300−3は、他の物理サーバ201に1台配置されるプローブ204からの要求に従って、自物理サーバ201で稼働する仮想サーバ202に関する通信到達性の測定結果を応答することが可能となる。
【0030】
図4は、図3の仮想サーバ情報312、ネットワーク内サーバ情報313、および測定結果314の各データベーステーブルのデータ構成例を示す図である。
仮想サーバ情報312は、自物理サーバ201内の全仮想サーバ202に関する情報である。仮想サーバ情報312のテーブルは、“仮想サーバ名”、“仮想サーバMACアドレス”、および“仮想サーバIPアドレス”の3つの情報からなるレコードを、自物理サーバ201内の各仮想サーバ202に対応して複数レコード記憶する。図4のNo.1のテーブル構造である。“仮想サーバ名”は、仮想サーバ202のホスト名である。“仮想サーバMAC(Media Access Control)アドレス”は、仮想サーバ202が他サーバとの通信に使用するMACアドレスである。“仮想サーバIPアドレス”は、仮想サーバ202に割り当てられるインターネットプロトコルアドレスである。
【0031】
ネットワーク内サーバ情報313は、他物理サーバ201内の全仮想サーバ202に関する情報である。ネットワーク内サーバ情報313のテーブルは、仮想サーバ情報312のテーブルと同様のレコード構成を有する。ネットワーク内サーバ情報313のテーブルは、“仮想サーバ名”、“仮想サーバMACアドレス”、および“仮想サーバIPアドレス”の3つの情報からなるレコードを、把握できている他物理サーバ201内の各仮想サーバ202に対応して複数レコード記憶する。図4のNo.2のテーブル構造である。
【0032】
測定結果314は、自他物理サーバ201内の各仮想サーバ202の通信到達性に関する情報である。測定結果314のテーブルは、“仮想サーバ名”、“仮想サーバMACアドレス”、“仮想サーバIPアドレス”、応答の有無を示す“測定結果”、“遅延時間算出結果”からなるレコードを、確認した自他物理サーバ201の各仮想サーバ202に対応して複数レコード記憶する。図4のNo.3のテーブル構造である。
【0033】
図3の機能ブロック構成および図4のテーブル構成例を有する本実施形態の動作について以下に説明する。本実施形態は、大きく3つの処理に分類される。物理サーバ内測定処理、物理サーバ間測定処理の送信側の処理、物理サーバ間測定処理の受信側の処理である。以下順次、図5〜図7のフローチャートを使って説明する。これらの処理は、例えば後述する図10の物理サーバ201のハードウェア構成で、CPU1001が、ハードディスク等の外部記憶装置1005に記憶されているハイパーバイザー203の制御プログラムをメモリ1002に読み出し実行する処理である。なお、以下の処理の説明においては随時、図2の物理サーバ201、仮想サーバ202、ハイパーバイザー203、プローブ204、仮想スイッチ205、NIC206、ルータ207等を参照することとする。また、図3の各処理部301〜311と、仮想サーバ情報312、ネットワーク内サーバ情報313、および測定結果314の各データベースも参照することとする。
【0034】
図5は、物理サーバ内測定処理の流れを示すフローチャートである。この処理は、図3の物理サーバ内測定結果取得部300−1の機能に対応する処理である。
まず、仮想サーバ情報取得部301が、自物理サーバ201内に存在する仮想サーバ群202に関する仮想サーバ情報312をデータベーステーブルより取得する(ステップS501)。この仮想サーバ情報312のデータベーステーブルは、例えば後述する図10の物理サーバ201のハードウェア構成におけるメモリ1002または外部記憶装置1005上に保持される。仮想サーバ情報312のテーブルは、仮想サーバ202を制御するハイパーバイザー203の機能にあらかじめ具備されているデータベースである。図4のNo.1として例示したように、仮想サーバ情報312のテーブルは例えば、“仮想サーバ名”、“仮想サーバMACアドレス”、“仮想サーバIPアドレス”などから構成される。なお、仮想サーバ情報312は、その他の仮想サーバ202に関する管理情報を含んでもよい。
【0035】
次に、対仮想サーバ測定パケット送信部302の処理として、ステップS501で取得した仮想サーバ群202の個々の“仮想サーバIPアドレス”宛に、測定パケットが送信される(ステップS503)。この送信処理は、“仮想サーバIPアドレス”毎の繰り返し処理となる(ステップS502とS504によるループ処理)。仮想サーバ202には特別な機能を具備させないため、測定パケットとしては一般的なサーバが応答可能なパケットである、pingソフトウェアによるICMPエコーリクエスト(以下、「pingリクエスト」と呼ぶ)を使用する。インターネット制御通知プロトコル(Internet Control Message Protocol)ICMPは、インターネットプロトコルにおける通信状態の診断を行ったりエラー通知を行ったりするために使われるプロトコルである。pingソフトウェアは、ICMPエコーリクエストであるpingリクエストを宛先サーバに投げ、宛先サーバからICMPエコーリプライ(以下、「ping応答」と呼ぶ)が返ってくることで到達性の確認を行うことができる。
【0036】
一連のpingリクエストが送信された後、対仮想サーバ応答パケット受信部303の処理として、ping応答待ちタイマが開始される(ステップS505)。このタイマとしては、例えば物理サーバ201に備わっているタイマ機能を使用する。
【0037】
次に、対仮想サーバ応答パケット受信部303の処理として、ping応答待ちタイマの計時が満了したか否かが判定される(ステップS506)。
ping応答待ちタイマの計時が満了せずステップS506の判定がNO(図中「[N]」と表示。以下同じ。)ならば、対仮想サーバ応答パケット受信部303の処理として、ping応答の返信が検出されたか否かが判定される(ステップS507)。
【0038】
ping応答の返信が検出されずステップS507の判定がNOならば、対仮想サーバ応答パケット受信部303の処理として、ステップS506、S507の判定処理が繰り返される。
【0039】
仮想サーバ202が正常に動作しており、物理サーバ201内の仮想スイッチ205を経由して正常に通信が可能であれば、仮想サーバ202からping応答が返信される。対仮想サーバ応答パケット受信部303の処理として、ping応答の返信が検出されステップS507の判定がYES(図中「[Y]」と表示。以下同じ。)となると、そのping応答が受信される(ステップS508)。
【0040】
次に、対仮想サーバ測定結果蓄積部304の処理として、まず受信したping応答から送信元の仮想サーバIPアドレスが抽出される(ステップS509)。
続いて、対仮想サーバ測定結果蓄積部304の処理として、測定結果314のデータベーステーブルのステップS509で抽出した仮想サーバIPアドレスに対応するレコードに、以下の情報が書き込まれる(ステップS510)。このレコードは、図4のNO.3のテーブル構造を有する。なお、該当するレコードがない場合には、新たにレコードが作成されて、“仮想サーバ名”、“仮想サーバMACアドレス”、および“仮想サーバIPアドレス”がまず書き込まれる。そして、そのレコードに、“測定結果”として“正常”(“OK”)、および遅延時間算出結果としてpingの応答時間、すなわち現在のping応答待ちタイマのタイマ値が記録される。
【0041】
その後、対仮想サーバ測定結果蓄積部304の処理として、pingリクエストを送信した全ての仮想サーバ202からping応答の返信があったか否かが判定される(ステップS511)。対仮想サーバ測定結果蓄積部304は、対仮想サーバ測定パケット送信部302から送信されたpingリクエストの送信先の仮想サーバ202の仮想サーバIPアドレスを受け取って保持している。そして、ステップS509でping応答の仮想サーバIPアドレスを抽出する毎に、保持している仮想サーバIPアドレスのリストから削除してゆく。そして、ステップS511において、このリストが空になったか否かを判定することにより、pingリクエストを送信した全ての仮想サーバ202からping応答の返信があったか否かを判定する。
【0042】
pingリクエストを送信した全ての仮想サーバ202からのping応答の返信がまだ完了しておらずステップS511の判定がNOならば、ステップS506に戻る。この結果、対仮想サーバ応答パケット受信部303の処理として再び、ping応答待ちタイマの満了と次のping応答の返信の判定が繰り返される。
【0043】
pingリクエストを送信した全ての仮想サーバ202からのping応答の返信が完了しステップS511の判定がYESになると、図5の物理サーバ内測定処理を終了する。
【0044】
一方、pingリクエストを送信した全ての仮想サーバ202からのping応答の返信がまだ完了しないうちにping応答待ちタイマが満了しステップS506の判定がYESになると、次の処理が実行される。対仮想サーバ測定結果蓄積部304の処理として、まだping応答を受信していない仮想サーバ202の仮想サーバIPアドレスをリストから抽出する。そして、それらの仮想サーバIPアドレスに対応する各レコードに、以下の情報が書き込まれる。このレコードは、図4のNO.3のテーブル構造を有する。なお、該当するレコードがない場合には、新たにレコードが作成されて、“仮想サーバ名”、“仮想サーバMACアドレス”、および“仮想サーバIPアドレス”がまず書き込まれる。そして、そのレコードに、“測定結果”として“異常”(“NG”)が記録される。
【0045】
以上のようにして、本実施形態では、1台の物理サーバ201に対してハイパーバイザー203の機能として1台配置されるプローブ204によって、次のような動作が実現される。自物理サーバ201で稼働する仮想サーバ202の通信到達性に関する測定結果および応答時間を取得することが可能となる。
【0046】
次に、図6は、物理サーバ間測定処理の送信側の流れを示すフローチャートである。この処理は、図3の物理サーバ間測定結果取得部300−2の機能に対応する処理である。
まず、ネットワーク内サーバ情報取得部305が、他物理サーバ201内に存在する全仮想サーバ群202に関するネットワーク内サーバ情報313をデータベーステーブルから取得する(ステップS601)。このネットワーク内サーバ情報313のデータベーステーブルは、例えば後述する図10の物理サーバ201のハードウェア構成におけるメモリ1002に保持される。または外部記憶装置1005上に保持される。図4のNo.2として例示したように、ネットワーク内サーバ情報313は例えば、“仮想サーバ名”、“仮想サーバMACアドレス”、“仮想サーバIPアドレス”などから構成される。なお、ネットワーク内サーバ情報313は、その他の仮想サーバ202に関する管理情報を含んでもよい。ネットワーク内サーバ情報313の生成方式については、本実施形態では言及しない。保守者による静的作成でもよいし、ネットワーク内のサーバ群全体を管理する管理マネージャのような装置による動的生成でもよい。例えば、管理マネージャが各物理サーバ201に問い合わせて、各物理サーバ201が自分の中の全仮想サーバ202の情報を管理マネージャに返すような構成である。
【0047】
次に、対向サーバ測定パケット送信部306の処理として、ステップS601で取得したネットワーク内サーバ情報313内の個々の“仮想サーバIPアドレス”宛に、測定パケットが送信される(ステップS603)。ここで、測定パケット内のパケット種別を示すフィールドに、リクエスト(すなわち測定パケット)であることを示す値が設定される。次に、測定パケット内の送信元アドレスを示すフィールドには、自物理サーバ201の物理サーバIPアドレスが設定される。また、測定パケット内の宛先ポート番号を示すフィールドには測定パケットの処理に対応する番号が設定される。さらに、パケットの中には送信時刻情報(ミリ秒の単位まで)を含む。測定パケットのパケットフォーマット例の詳細については、図8で後述する。以上の送信処理は、“仮想サーバIPアドレス”毎の繰り返し処理となる(ステップS602とS604によるループ処理)。
【0048】
一連の測定パケットが送信された後、対向サーバ応答パケット受信部307の処理として、測定応答パケット待ちタイマが開始される(ステップS605)。このタイマとしては、例えば物理サーバ201に備わっているタイマ機能を使用する。
【0049】
次に、対向サーバ応答パケット受信部307の処理として、測定応答パケット待ちタイマの計時が満了したか否かが判定される(ステップS606)。
測定応答パケット待ちタイマの計時が満了せずステップS606の判定がNOならば、対向サーバ応答パケット受信部307の処理として、測定応答パケットの返信が検出されたか否かが判定される(ステップS607)。具体的には、受信されたパケットの宛先ポート番号が測定応答パケットの処理に対応する番号であるか否かが判定される。
【0050】
測定応答パケットの返信が検出されずステップS607の判定がNOならば、対向サーバ応答パケット受信部307の処理として、ステップS606、S607の判定処理が繰り返される。
【0051】
対向サーバ応答パケット受信部307の処理として、測定応答パケットの返信が検出されステップS607の判定がYESとなると、その測定応答パケットが受信処理される(ステップS608)。
【0052】
次に、対向サーバ測定結果蓄積部308の処理として、まず受信した測定応答パケットから送信元の仮想サーバIPアドレスが抽出される(ステップS609)。対向サーバ測定結果蓄積部308は、対向サーバ測定パケット送信部306から送信された測定パケットの送信先の仮想サーバ202の仮想サーバIPアドレスを受け取って保持している。そして、ステップS609で測定応答パケットの仮想サーバIPアドレスを抽出する毎に、保持している仮想サーバIPアドレスのリストから削除してゆく。
【0053】
続いて、対仮想サーバ測定結果蓄積部304の処理として、測定結果314のデータベーステーブルのステップS609で抽出した仮想サーバIPアドレスに対応するレコードに、以下の情報が書き込まれる(ステップS610)。このレコードは、図4のNo.3のテーブル構造を有する。なお、該当するレコードがない場合には、新たにレコードが作成されて、“仮想サーバ名”、“仮想サーバMACアドレス”、および“仮想サーバIPアドレス”がまず書き込まれる。そして、そのレコードに、“測定結果”として、ステップS608で受信された測定応答パケット内に格納されている応答結果“正常”(“OK”)/“異常”(“NG”)が記録される。また、上記レコードに、“応答時間”として、ステップS608での測定応答パケットの受信時刻情報とその測定応答パケット内に含まれる送信元の時刻情報との差分の時間が記録される。
【0054】
その後、ステップS606に戻る。この結果、対向サーバ応答パケット受信部307の処理として再び、測定応答パケット待ちタイマの満了と次の測定応答パケットの返信の判定が繰り返される。
【0055】
そして、測定応答パケット待ちタイマが満了しステップS606の判定がYESになると、次の処理が実行される。対向サーバ測定結果蓄積部308の処理として、まだ測定応答パケットを受信していない仮想サーバ202の仮想サーバIPアドレスをリストから抽出する。そして、それらの仮想サーバIPアドレスに対応する各レコードに、以下の情報が書き込まれる。このレコードは、図4のNO.3のテーブル構造を有する。なお、該当するレコードがない場合には、新たにレコードが作成されて、“仮想サーバ名”、“仮想サーバMACアドレス”、および“仮想サーバIPアドレス”がまず書き込まれる。そして、そのレコードに、“測定結果”として“未受信”が記録される。
【0056】
以上のようにして、本実施形態では、1台の物理サーバ201に対してハイパーバイザー203の機能として1台配置されるプローブ204によって、次のような動作が実現される。他物理サーバ201に1台ずつ配置されるプローブ204に対して、その物理サーバ201に含まれる仮想サーバ202の通信到達性に関する測定結果および応答時間を要求することが可能となる。
【0057】
最後に、図7は、物理サーバ間測定処理の受信側の流れを示すフローチャートである。この処理は、図3の物理サーバ間測定結果送信部300−3の機能に対応する処理である。
【0058】
まず、物理サーバ201に搭載されているLANインタフェースであるNIC206を経由して、対向サーバ測定パケット受信部309の処理として、任意のパケットを受信する待ち状態となっている(ステップS701の判定の繰り返し)。
【0059】
任意のパケットが受信されてステップS701の判定がYESになると、対向サーバ測定パケット受信部309の処理として、そのパケットの宛先アドレスが自物理サーバ201で稼働する仮想サーバ202宛であるか否かが判定される(ステップS702)。
【0060】
受信されたパケットの宛先アドレスが自物理サーバ201で稼働する仮想サーバ202宛ではなくステップS702の判定がNOならば、ステップS701のパケット受信待ち状態に戻る。
【0061】
ステップS702の判定がYESになると、対向サーバ測定パケット受信部309の処理として、測定パケットが受信されたか否かが判定される(ステップS703)。具体的には、受信されたパケットの宛先ポート番号が測定パケットの処理に対応する番号であるか否かが判定される。
【0062】
受信されたパケットが測定パケットを示してなくステップS703の判定がNOならば、ステップS701のパケット受信待ち状態に戻る。
受信されたパケットが測定パケットを示しておりステップS703の判定がYESならば、対向サーバ測定パケット受信部309の処理として、その測定パケットが受信処理される(ステップS704)。
【0063】
次に、対向サーバ測定結果取得部310の処理として、測定結果314のデータベーステーブルより、ステップS704で受信された測定パケットの宛先アドレスに設定されている仮想サーバIPアドレスに対応するレコードの“測定結果”の値が取得される。すなわち、図4のNo.3の測定結果314のテーブル構造から“測定結果”の値が取り出される(ステップS705)。
【0064】
そして、対向サーバ応答パケット送信部311の処理として、次のような測定応答パケットが生成される(ステップS706)。まず、ステップS705で取得された測定結果と、ステップS704で受信された測定パケットに含まれていた送信元の時刻情報が格納された測定応答パケットが生成される。次に、測定応答パケット内のパケット種別を示すフィールドに、リプライ(すなわち測定応答パケット)であることを示す値が設定される。また、測定応答パケットの宛先アドレスには、ステップS704で受信された測定パケットの送信元アドレスとして設定されていた送信元の物理サーバ201の物理サーバIPアドレスが設定される。また、測定応答パケットの送信元アドレスには、ステップS704で受信された測定パケットの宛先アドレスとして設定されていた測定対象の仮想サーバ202の仮想サーバIPアドレスが設定される。さらに、測定応答パケット内の宛先ポート番号を示すフィールドには測定応答パケットの処理に対応する番号が設定される。測定応答パケットのパケットフォーマット例の詳細については、図9で後述する。
【0065】
測定応答パケットの送信が完了したら、ステップS701のパケット受信待ち状態に戻る。
以上のようにして、本実施形態では、1台の物理サーバ201に対してハイパーバイザー203の機能として1台配置されるプローブ204によって、次のような動作が実現される。他物理サーバ201に1台ずつ配置されるプローブ204からの要求を受信して、自物理サーバ201に含まれる仮想サーバ202の通信到達性に関する測定結果および応答時間を、その物理サーバ201に応答することが可能となる。
【0066】
図8は、本実施形態における物理サーバ間の測定パケットフォーマットの例を示す図である。図8は、測定パケットを、UDP(User Datagram Protocol)データグラムフォーマットを使用して転送する例について示している。
【0067】
図8において、先頭の14バイトは、イーサネット(登録商標)等の物理層に対応するヘッダ部である。6バイトからなる“Destination MAC Address”フィールドには、宛先物理アドレス情報として、測定結果が取得される仮想サーバ202の仮想サーバMACアドレスが格納される。この情報を使って、イーサネット等の物理ネットワーク上での宛先サーバへのルーティングが実行される。物理層ヘッダ部の2番目の6バイトからなる“Source MAC Address”フィールドには、測定パケットの送信元物理アドレス情報として、自物理サーバ201の物理サーバMACアドレスが格納される。この情報を使って、測定応答パケットの返信時に、イーサネット等の物理ネットワーク上での自物理サーバ201への帰りのルーティングが実行される。物理層ヘッダ部の3番目の4バイトからなる“Ether Type”フィールドには、イーサネットタイプとしてIPv4(インターネットプロトコルバージョン4)を使用することを指定する値“0x0800”が格納される。ここで、“0x”は、それに続く値“0800”が16進数であることを示している。なお、IPv6(インターネットプロトコルバージョン6)が採用されてもよい。
【0068】
次に、14バイトの物理層ヘッダ部に続く20バイトのIPヘッダ部(図中「IP Header」で始まる領域)は、インターネットプロトコルに基づくIPパケットのヘッダ部である。先頭の1バイトからなる“Protocol”フィールドには、UDPパケットであることを示す値“0x11”が格納される。IPヘッダ部の2番目の4バイトからなる「Source IP Address」フィールドには、測定パケットの送信元IPアドレス情報として、自物理サーバ201の物理サーバIPアドレスが格納される。IPヘッダ部の3番目の4バイトからなる「Destination IP Address」フィールドには、宛先IPアドレス情報として、測定結果が取得される物理サーバ201で稼働する仮想サーバ202の仮想サーバIPアドレスが格納される。これにより、IPネットワークを経由して、宛先の仮想サーバ202まで、このパケットがルーティングされる。
【0069】
次に、20バイトのIPヘッダ部に続く8バイトのUDPヘッダ部(図中「UDP Header」で始まる領域)は、UDPプロトコルに基づくUDPデータグラムのヘッダ部である。先頭の2バイトからなる“Source Port Number”フィールドには、任意の値が格納される。UDPヘッダ部の2番目の2バイトからなる「Destination Port Number」フィールドには、通信到達性確認のための測定パケットの処理であることを示す特定の値が決定されて格納される。
【0070】
8バイトのUDPヘッダ部に続く部分(図中「UDP Data」で始まる領域)は、UDPプロトコルに基づくUDPデータグラムのデータ部である。この部分は、本実施形態により規定される情報が格納される。先頭の1バイトからなる領域には、パケット種別としてリクエスト(すなわち測定パケット)であることを示す値“0x01”が格納される。上記1バイトに続く領域には、測定パケットの送信元の物理サーバ201のプローブ204が測定パケットを送信したときの時刻情報がミリ秒(ms)まで含む値として格納される。
【0071】
以上の図8に示されるパケットフォーマットを有する測定パケットは、物理サーバ201のプローブ204の機能である、図3の対向サーバ測定パケット送信部306の機能または図6のステップS603の処理によって、生成され送信される。そして、この測定パケットは、宛先の物理サーバ201のプローブ204の機能である、図3の対向サーバ測定パケット受信部309の機能または図7のステップS704の処理によって受信される。受信側の物理サーバ201は、測定パケットのIPヘッダ部の「Destination IP Address」フィールドの仮想サーバIPアドレスから、図7のステップS702で、自サーバで稼働する仮想サーバ202宛てのパケットを認識できる。また、受信側の物理サーバ201は、測定パケットのUDPヘッダ部の「Destination Port Number」と、UDPデータ部の「パケット種別」から、図7のステップS703で、測定パケットを認識できる。
【0072】
図9は、本実施形態における物理サーバ間の測定応答パケットフォーマットの例を示す図である。図9も、図8と同様に、測定応答パケットを、UDPデータグラムフォーマットを使用して転送する例について示している。
【0073】
図9において、先頭の14バイトは、イーサネット等の物理層に対応するヘッダ部である。6バイトからなる“Destination MAC Address”フィールドには、宛先物理アドレス情報として、測定応答パケットの宛先の測定結果を要求した物理サーバ201の物理サーバMACアドレスが格納される。受信側の物理サーバ201のプローブ204の機能は、受信した測定パケットの物理層ヘッダ部の「Source MAC Address」フィールド(図8)に格納されていた測定パケットの送信元物理サーバMACアドレスを、上記フィールドに格納する。この情報を使って、イーサネット等の物理ネットワーク上での測定結果の要求元の物理サーバ201への帰りのルーティングが実行される。物理層ヘッダ部の2番目の6バイトからなる“Source MAC Address”フィールドには、測定応答パケットの送信元物理アドレス情報として、測定結果が取得された仮想サーバ202の仮想サーバMACアドレスが格納される。物理層ヘッダ部の3番目の4バイトからなる“Ether Type”フィールドには、イーサネットタイプとしてIPv4を使用することを指定する値“0x0800”が格納される。なお、IPv6(インターネットプロトコルバージョン6)が採用されてもよい。
【0074】
次に、14バイトの物理層ヘッダ部に続く20バイトのIPヘッダ部(図中「IP Header」で始まる領域)は、インターネットプロトコルに基づくIPパケットのヘッダ部である。先頭の1バイトからなる“Protocol”フィールドには、UDPパケットであることを示す値“0x11”が格納される。IPヘッダ部の2番目の4バイトからなる「Source IP Address」フィールドには、測定結果が取得された仮想サーバ202の仮想サーバIPアドレスが格納される。受信側の物理サーバ201は、受信した測定パケットのIPヘッダ部の「Destination IP Address」フィールドに格納されていた測定結果が取得された仮想サーバ202の仮想サーバIPアドレスを、上記フィールドに格納する。IPヘッダ部の3番目の4バイトからなる「Destination IP Address」フィールドには、宛先IPアドレス情報として、測定結果を要求した物理サーバ201の物理サーバIPアドレスが格納される。受信側の物理サーバ201は、受信した測定パケットのIPヘッダ部の「Source IP Address」フィールド(図8)に格納されていた物理サーバIPアドレスを、上記フィールドに格納する。これにより、IPネットワークを経由して、測定結果を要求した物理サーバ201まで、このパケットがルーティングされる。
【0075】
次に、20バイトのIPヘッダ部に続く8バイトのUDPヘッダ部(図中「UDP Header」で始まる領域)は、UDPプロトコルに基づくUDPデータグラムのヘッダ部である。先頭の2バイトからなる“Source Port Number”フィールドには、通信到達性確認のための測定応答パケットの処理であることを示す特定の値が決定されて格納される。UDPヘッダ部の2番目の2バイトからなる「Destination Port Number」フィールドには、任意の値が格納される。
【0076】
8バイトのUDPヘッダ部に続く部分(図中「UDP Data」で始まる領域)は、UDPプロトコルに基づくUDPデータグラムのデータ部である。この部分は、本実施形態により規定される情報が格納される。先頭の1バイトからなる領域には、パケット種別としてリプライ(すなわち測定応答パケット)であることを示す値“0x02”が格納される。上記1バイトに続く1バイトの領域には、応答結果すなわち測定結果として“正常”(“OK”)を示す値“0x00”または“異常”(“NG”)を示す値“0x01”が格納される。さらにその1バイトに続く領域には、測定結果を要求した物理サーバ201のプローブ204が測定パケットを送信したときの時刻情報がミリ秒(ms)まで含む値として格納される。受信側の物理サーバ201は、受信した測定パケットのUDPデータ部に格納されていた測定結果要求時の時刻情報(図8)を、そのまま上記フィールドに格納する。
【0077】
以上の図9に示されるパケットフォーマットを有する測定応答パケットは、物理サーバ201のプローブ204の機能である、図3の対向サーバ応答パケット送信部311の機能または図7のステップS706の処理によって送信される。そして、この測定応答パケットは、測定結果の要求元の物理サーバ201のプローブ204の機能である、図3の対向サーバ応答パケット受信部307の機能または図6のステップS608の処理によって受信される。測定結果の要求元の物理サーバ201は、測定応答パケットのIPヘッダ部の「Destination IP Address」フィールドの物理サーバIPアドレスから、図6のステップS607で、自物理サーバ201宛てのパケットを認識できる。また、測定結果の要求元の物理サーバ201は、測定応答パケットのUDPヘッダ部の「Source Port Number」と、UDPデータ部の「パケット種別」から、図6のステップS607で、測定応答パケットを認識できる。さらに、測定結果の要求元の物理サーバ201は、測定応答パケットの受信時刻情報とその測定応答パケットのUDPデータ部に含まれる送信元の時刻情報との差分の時間として、測定結果を要求した仮想サーバ202の応答時間を算出できる。
【0078】
以上説明した実施形態において、例えば図2の各物理サーバ201内で稼働する仮想サーバ202が増設、廃止、または移動されるような場合がある。そのような場合には、図2の仮想サーバ202自身が持つ機能にて図2のハイパーバイザー203内に保持されている図3の仮想サーバ情報312のデータベーステーブルの該当レコードの登録内容が更新されることになる。そこで、本実施形態では、図3の構成を有するプローブ204で稼働する仮想サーバ情報取得部301が定期的に仮想サーバ情報312を監視し変更を検出する。これによりにより、測定パケットを送信する対象仮想サーバ群202の一覧を自動で更新する。そして、その更新結果に基づいて、対仮想サーバ測定パケット送信部302、対仮想サーバ応答パケット受信部303、対仮想サーバ測定結果蓄積部304を再度動作させ、測定結果314を更新させるように構成することが可能となる。
【0079】
以上の実施形態におけるプローブ204を使用することにより、以下の効果が得られる。
プローブ機能を仮想サーバ202の個々に配置せず、物理サーバ201に配置するだけで、全仮想サーバ202宛の通信正常性を確認することが可能となる。
【0080】
測定パケットを送受信する組み合わせ数を削減することが可能となり、ネットワーク負荷およびサーバの処理負荷を軽減することが可能となる。
例えば、1台の物理サーバ201に30台の仮想サーバ202が配備されている物理サーバ201が100台で構成されているネットワークを考える。
【0081】
一般的に考えられる方式として、仮想サーバ202上に1台ずつプローブ機能を配置し、全ての対向仮想サーバ202に対して通信到達性の確認を実施する場合と考える。この場合の通信回数は、
3,000×2,999=8,997,000回
となる。これに対して、本実施形態の方式による通信回数は、
物理サーバ内通信数=30×100=3,000回
物理サーバ間通信数=99×30×100=297,000回
合計=3,000+297,000=300,000回
となる。よってこの例では、300,000/8,997,000=0.033=3%程度に通信量を削減することが可能となる。
【0082】
図10は、上記実施形態における図2の物理サーバ201のハードウェア構成例を示す図である。
図10に示されるコンピュータは、CPU1001、メモリ1002、入力装置1003、出力装置1004、外部記憶装置1005、可搬記録媒体1009が挿入される可搬記録媒体駆動装置1006、及び通信インタフェース1007を有し、これらがバス1008によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【0083】
CPU1001は、当該コンピュータ全体の制御を行う。メモリ1002は、プログラムの実行、データ更新等の際に、外部記憶装置1005(或いは可搬記録媒体1009)に記憶されているプログラム又はデータを一時的に格納するRAM等のメモリである。CUP1001は、プログラムをメモリ1002に読み出して実行することにより、全体の制御を行う。
【0084】
入出力装置1003は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU1001に通知し、CPU1001の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【0085】
外部記憶装置1005は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置1006は、光ディスクやSDRAM、コンパクトフラッシュ(登録商標)等の可搬記録媒体1009を収容するもので、外部記憶装置1005の補助の役割を有する。
【0086】
通信インターフェース1007は、例えばLAN(ローカルエリアネットワーク)又はWAN(ワイドエリアネットワーク)の通信回線を接続するための装置である。
本実施形態によるシステムは、図5、図6、図7のフローチャート等で実現される機能を搭載したプログラムをCPU1001が実行することで実現される。そのプログラムは、例えば外部記憶装置1005や可搬記録媒体1009に記録して配布してもよく、或いはネットワーク接続装置1007によりネットワークから取得できるようにしてもよい。
【0087】
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得ステップと、
前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得ステップと、
前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送受信ステップと、
を実行することを特徴とする仮想マシン環境におけるネットワーク障害検知方法。
(付記2)
前記物理サーバ内測定結果取得ステップにおいて、
前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果取得ステップにおいて、前記他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果ステップにおいて、前記他物理サーバから受信した前記測定パケットによる要求に従って、前記自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして返信する、
ことを特徴とする付記1に記載の仮想マシン環境におけるネットワーク障害検知方法。
(付記3)
前記物理サーバ内測定結果取得ステップにおいて、
前記仮想サーバ情報のデータベーステーブルを参照して、前記自物理サーバで稼働する仮想サーバを特定する仮想サーバ情報取得し、
前記特定した仮想サーバに対して、エコーリクエストを送信する対仮想サーバ測定パケット送信し、
前記エコーリクエストに対応するエコーリプライを監視することにより、前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を取得する対仮想サーバ応答パケット受信し、
前記取得された前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を前記測定結果のデータベーステーブルに蓄積する対仮想サーバ測定結果蓄積すること、
を実行することを特徴とする付記2に記載の仮想マシン環境におけるネットワーク障害検知方法。
(付記4)
前記物理サーバ間測定結果取得ステップにおいて、
前記ネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定するネットワーク内サーバ情報取得し、
前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記通信到達性の情報を要求する前記測定パケットを送信する対向サーバ測定パケット送信し、
前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された前記測定応答パケットの返信を監視し受信する対向サーバ応答パケット受信(307)し、
前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する対向サーバ測定結果蓄積すること、
を実行することを特徴とする付記2または3のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
(付記5)
前記物理サーバ間測定結果送信ステップにおいて、
前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信する対向サーバ測定パケット受信し、
前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得する対向サーバ測定結果取得し、
前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する対向サーバ応答パケット送信すること、
を実行することを特徴とする付記2ないし4のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
(付記6)
前記各物理サーバにおいて、前記自物理サーバでの仮想サーバの稼働状況を監視し、
前記仮想サーバの稼働状況に応じて、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を更新する、
ことを特徴とする付記1ないし5のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
(付記7)
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバで稼働し、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得部と、
前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得部と、
前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送信部と、
を含むことを特徴とする仮想マシン環境におけるネットワーク障害検知装置。
(付記8)
前記物理サーバ内測定結果取得部は、
前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果取得部において、前記他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果部において、前記他物理サーバから受信した前記測定パケットによる要求に従って、前記自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして返信する、
ことを特徴とする付記7に記載の仮想マシン環境におけるネットワーク障害検知装置。
(付記9)
前記物理サーバ内測定結果取得部は、
前記仮想サーバ情報のデータベーステーブルを参照して、前記自物理サーバで稼働する仮想サーバを特定する仮想サーバ情報取得部と、
前記特定した仮想サーバに対して、エコーリクエストを送信する対仮想サーバ測定パケット送信部と、
前記エコーリクエストに対応するエコーリプライを監視することにより、前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を取得する対仮想サーバ応答パケット受信部と、
前記取得された前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を前記測定結果のデータベーステーブルに蓄積する対仮想サーバ測定結果蓄積部と、
を含むことを特徴とする付記8に記載の仮想マシン環境におけるネットワーク障害検知装置。
(付記10)
前記物理サーバ間測定結果取得部は、
前記ネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定するネットワーク内サーバ情報取得部と、
前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記通信到達性の情報を要求する前記測定パケットを送信する対向サーバ測定パケット送信部と、
前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された前記測定応答パケットの返信を監視し受信する対向サーバ応答パケット受信部と、
前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する対向サーバ測定結果蓄積部と、
を含むことを特徴とする付記8または9のいずれかに記載の仮想マシン環境におけるネットワーク障害検知装置。
(付記11)
前記物理サーバ間測定結果送信部は、
前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信する対向サーバ測定パケット受信部と、
前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得する対向サーバ測定結果取得部と、
前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する対向サーバ応答パケット送信部と、
を含むことを特徴とする付記8ないし10のいずれかに記載の仮想マシン環境におけるネットワーク障害検知装置。
(付記12)
前記各物理サーバにおいて、前記自物理サーバでの仮想サーバの稼働状況を監視し、
前記仮想サーバの稼働状況に応じて、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を更新する、
ことを特徴とする付記7ないし11のいずれかに記載の仮想マシン環境におけるネットワーク障害検知装置。
(付記13)
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバのコンピュータにおいて、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得処理と、
前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得処理(300−2)と、
前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送信処理と、
を実行させるためのプログラム。
(付記14)
前記物理サーバ内測定結果取得処理において、
前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果取得処理において、前記他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果処理において、前記他物理サーバから受信した前記測定パケットによる要求に従って、前記自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして返信する、
処理を実行させるためのプログラム。
(付記15)
前記物理サーバ内測定結果取得処理において、
前記仮想サーバ情報のデータベーステーブルを参照して、前記自物理サーバで稼働する仮想サーバを特定する仮想サーバ情報取得処理と、
前記特定した仮想サーバに対して、エコーリクエストを送信する対仮想サーバ測定パケット送信処理と、
前記エコーリクエストに対応するエコーリプライを監視することにより、前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を取得する対仮想サーバ応答パケット受信処理、
前記取得された前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を前記測定結果のデータベーステーブルに蓄積する対仮想サーバ測定結果蓄積処理と、
を実行させるためのプログラム。
(付記16)
前記物理サーバ間測定結果取得処理において、
前記ネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定するネットワーク内サーバ情報取得処理と、
前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記通信到達性の情報を要求する前記測定パケットを送信する対向サーバ測定パケット送信処理と、
前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された前記測定応答パケットの返信を監視し受信する対向サーバ応答パケット受信処理と、
前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する対向サーバ測定結果蓄積処理と、
を実行させるためのプログラム。
(付記17)
前記物理サーバ間測定結果送信処理において、
前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信する対向サーバ測定パケット受信処理と、
前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得する対向サーバ測定結果取得処理と、
前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する対向サーバ応答パケット送信処理と、
を実行させるためのプログラム。
(付記18)
前記各物理サーバにおいて、前記自物理サーバでの仮想サーバの稼働状況を監視し、
前記仮想サーバの稼働状況に応じて、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を更新する、
処理を実行させるためのプログラム。
【符号の説明】
【0088】
201 物理サーバ
202 仮想サーバ
203 ハイパーバイザー
204 プローブ
205 仮想スイッチ
206 NIC
207 ルータ
300−1 物理サーバ内測定結果取得部
300−2 物理サーバ間測定結果取得部
300−3 物理サーバ間測定結果送信部
301 仮想サーバ情報取得部
302 対仮想サーバ測定パケット送信部
303 対仮想サーバ応答パケット受信部
304 対仮想サーバ測定結果蓄積部
305 ネットワーク内サーバ情報取得部
306 対向サーバ測定パケット送信部
307 対向サーバ応答パケット受信部
308 対向サーバ測定結果蓄積部
309 対向サーバ測定パケット受信部
310 対向サーバ測定結果取得部
311 対向サーバ応答パケット送信部
312 仮想サーバ情報
313 ネットワーク内サーバ情報
314 測定結果

【特許請求の範囲】
【請求項1】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得ステップと、
前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得ステップと、
前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送受信ステップと、
を実行することを特徴とする仮想マシン環境におけるネットワーク障害検知方法。
【請求項2】
前記物理サーバ内測定結果取得ステップにおいて、
前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果取得ステップにおいて、前記他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果ステップにおいて、前記他物理サーバから受信した前記測定パケットによる要求に従って、前記自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして返信する、
ことを特徴とする請求項1に記載の仮想マシン環境におけるネットワーク障害検知方法。
【請求項3】
前記物理サーバ内測定結果取得ステップにおいて、
前記仮想サーバ情報のデータベーステーブルを参照して、前記自物理サーバで稼働する仮想サーバを特定する仮想サーバ情報取得し、
前記特定した仮想サーバに対して、エコーリクエストを送信する対仮想サーバ測定パケット送信し、
前記エコーリクエストに対応するエコーリプライを監視することにより、前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を取得する対仮想サーバ応答パケット受信し、
前記取得された前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を前記測定結果のデータベーステーブルに蓄積する対仮想サーバ測定結果蓄積すること
を実行することを特徴とする請求項2に記載の仮想マシン環境におけるネットワーク障害検知方法。
【請求項4】
前記物理サーバ間測定結果取得ステップにおいて、
前記ネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定するネットワーク内サーバ情報取得し、
前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記通信到達性の情報を要求する前記測定パケットを送信する対向サーバ測定パケット送信し、
前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された前記測定応答パケットの返信を監視し受信する対向サーバ応答パケット受信し、
前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する対向サーバ測定結果蓄積すること
を実行することを特徴とする請求項2または3のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
【請求項5】
前記物理サーバ間測定結果送信ステップにおいて、
前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信する対向サーバ測定パケット受信し、
前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得する対向サーバ測定結果取得し、
前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する対向サーバ応答パケット送信すること
を実行することを特徴とする請求項2ないし4のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
【請求項6】
前記各物理サーバにおいて、前記自物理サーバでの仮想サーバの稼働状況を監視し、
前記仮想サーバの稼働状況に応じて、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を更新する、
ことを特徴とする請求項1ないし5のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
【請求項7】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバで稼働し、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得部と、
前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得部と、
前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送信部と、
を含むことを特徴とする仮想マシン環境におけるネットワーク障害検知装置。
【請求項8】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバのコンピュータにおいて、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得処理と、
前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得処理と、
前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送信処理と、
を実行させるためのプログラム。

【図4】
image rotate

【図10】
image rotate

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−221175(P2012−221175A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−85673(P2011−85673)
【出願日】平成23年4月7日(2011.4.7)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】