(58)【調査した分野】(Int.Cl.,DB名)
仮想ネットワークの制御信号を転送する制御プレーン、及び、前記仮想ネットワークのパケットを転送するデータプレーンを含む、仮想ネットワーク監視システムであって、
物理環境における仮想ノードと前記仮想ネットワークとの間の接続構成を取得するエージェント手段と、
仮想環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成を取得する仮想ネットワーク管理手段と、
前記物理環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成、及び、前記仮想環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成を基に、前記データプレーン上で前記仮想ネットワークを監視する仮想ネットワーク監視手段と、を包含する仮想ネットワーク監視システム。
前記物理環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成、及び、前記仮想環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成を可視化する可視化手段を更に備える、請求項1に記載の仮想ネットワーク監視システム。
前記仮想ネットワーク監視手段が、前記物理環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成、及び、前記仮想環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成を基に、障害箇所を検出し、
前記可視化手段が、前記障害箇所を可視化する、請求項2に記載の仮想ネットワーク監視システム。
前記物理環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成、及び、前記仮想環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成を可視化する、請求項5に記載の仮想ネットワーク監視方法。
前記物理環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成、及び、前記仮想環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成を基に、障害箇所を検出し、
前記障害箇所を可視化する、請求項6に記載の仮想ネットワーク監視方法。
前記物理環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成、及び、前記仮想環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成を可視化する処理を前記コンピュータに実行させる請求項8に記載のプログラム。
前記物理環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成、及び、前記仮想環境における前記仮想ノードと前記仮想ネットワークとの間の接続構成を基に、障害箇所を検出する処理と、
前記障害箇所を可視化する処理と、を前記コンピュータに実行させる請求項9に記載のプログラム。
【発明を実施するための形態】
【0015】
<第一の実施形態>
本発明の第一の実施の形態について、図面を参照して詳細に説明する。
【0016】
図1は、仮想ネットワーク監視システム10の構成の一例を示すブロック図である。
【0017】
仮想ネットワーク監視システム10は、物理サーバ20A、20B、仮想ネットワーク管理部30(以下、OpenStack(登録商標)30とも記載)、制御プレーン40、データプレーン50、仮想ネットワーク監視部60、及び、可視化部70(以下、GUI(Graphical User Interface)70とも記載)を含む。なお、
図1では、2台の物理サーバ、すなわち、物理サーバ20A、20Bの構成について示しているが、物理サーバ20の数量は、2以上の任意の数量であってもよい。
【0018】
物理サーバ20A、20Bは、仮想ノード21A、21B、及び、エージェント部22A、22B(以下、Agent22A、22Bとも記載)を含む。物理サーバ20A、20Bは、例えば、少なくとも1つのプロセッサとメモリを含むコンピュータ装置で構成される。
【0019】
なお、以下の説明では、各構成要素が、物理サーバ20A、または、物理サーバ20Bのいずれに含まれるか限定されない場合、例えば、仮想ノード21のようにアルファベット「A」「B」を省略して記述するものとする。同様の記述は、仮想ノード21A、21Bとエージェント部22A、22Bと仮想ネットワーク51A、51B、51Cを含む
図1の構成要素に適用される。
【0020】
仮想ノード21A、21Bは、物理サーバ20A、20Bの上に構築された仮想サーバである。
【0021】
エージェント部22A、22Bは、物理サーバ20A、20Bの物理環境における仮想ノード21A、21Bと仮想ネットワーク51A、51B、51C(もしくは、データプレーン50)との間の接続構成を取得する。エージェント部22は、論理回路等のハードウェアで構成される。また、エージェント部22は、コンピュータである物理サーバ20のプロセッサが、図示されないメモリ上のプログラムを実行することで実現されても良い。
【0022】
VNIC(仮想ネットワーク・インタフェース・カード:Virtual Network Interface Card)23A、23Bは、それぞれ1つ以上の仮想的なネットワーク・インタフェース・カードである。なお、
図1には、VNIC23Aが3個、VNIC23Bが2個の場合の例を示したが、各々の数量は、これらに限定されるものではなく任意の数量であってもよい。仮想ノード21A、21Bは、VNIC23A、23Bを介してデータの入出力を行う。
【0023】
仮想ノード21Aは、仮想ネットワーク51A、51Bを構成するVXLAN(Virtual eXtensive Local Area Network)24、及び、仮想ネットワーク51Cを構成するFLAT(Flat)25Aに接続する。
【0024】
VXLAN24は、VNIC23Aを起点に、2つのInternal Bridge26、2つのVTEP(VXLAN Tunnel End Point)27、External Bridge28A1、及び、物理NIC(Network Interface Card)29A1を介して仮想ネットワーク51Aまたは仮想ネットワーク51Bに接続される。VXLAN24は、例えば、レイヤー3(L3)のネットワーク上にレイヤー2(L2)のネットワークを構築できるトンネリングプロトコルを用いて構成される。
【0025】
Internal Bridge26は、VNIC23AとVTEP27を接続する、仮想環境の内部ブリッジである。
【0026】
VTEP27は、VXLAN24において、物理サーバ20単位で設けられる、トンネル終端ポイントである。
【0027】
External Bridge28A1は、VTEP27を物理NIC29A1に接続する仮想環境の外部(物理環境)のブリッジである。なお、External Bridge28A1は、
図1の構成では、2つのVXLAN24の経路を結合し物理NIC29A1に接続する。
【0028】
物理NIC29A1は、物理サーバ20Aと外部を接続する、物理的なネットワーク・インタフェース・カードである。
【0029】
FLAT25Aは、VNIC23Aを起点に、External Bridge28A2を経て、物理NIC29A2を介して仮想ネットワーク51Cに接続される。FLAT25Aの場合、External Bridge28A2は、直接、VNIC23Aを物理NIC29A2に接続する。FLAT25Aは、例えば、グローバルIPアドレスで直接通信できるプラットフォームで構成される。
【0030】
仮想ノード21Bは、仮想ネットワーク51Cを構成するFLAT25B、及び、PASS THROUGH80に接続する。
【0031】
FLAT25Bは、VNIC23Bを起点に、External Bridge28Bを経て、物理NIC29B1を介して仮想ネットワーク51Cに接続される。
【0032】
External Bridge28Bは、VNIC23Bを物理NIC29B1に接続する仮想環境の外部(物理環境)のブリッジである。
【0033】
PASS THROUGH80は、VNIC23Bを起点に、直接、物理NIC29B2に接続される。PASS THROUGH80は、例えば、直接、物理環境を仮想環境に接続する手法である、パススルー(PASS THROUGH)で構成される。
【0034】
物理NIC29B2は、物理サーバ20Bと外部を接続する、物理的なネットワーク・インタフェース・カードである。
【0035】
なお、
図1で、実線は、物理環境のデータの経路を示し、点線は、仮想環境でのデータの経路を示す。
【0036】
仮想ネットワーク管理部30は、仮想環境における仮想ノード21A、21Bと仮想ネットワーク51A、51B、51Cとの間の接続構成を取得する。仮想ネットワーク管理部30は、例えば、OpenStack30で構成される。以下、仮想ネットワーク管理部30は、OpenStack30とも記載する。OpenStack30は、クラウドコンピューティングの基盤を構築するための
ソフトウェアであり、IaaS(Infrastructure as a Service)サービスの展開に必要な一通りの機能を提供する。OpenStack30は、各機能がモジュール化されており、必要なモジュールだけを組み合わせて用いることができる。OpenStack30を構成するモジュールには、仮想化基盤の構築や制御を行うOpenStack−Compute(Nova)31や、ネットワークの仮想化や管理を行うOpenStack−Controller(Neutron)32、等がある。仮想ネットワーク管理部30は、仮想ネットワーク監視システム10のプロセッサが、図示されないメモリ上のプログラムを実行することで実現される。
【0037】
制御プレーン40は、仮想ネットワーク51の制御信号を転送する。
【0038】
データプレーン50は、仮想ネットワーク51のパケットを転送する。データプレーン50には、例えば、仮想ネットワーク(VXLAN)51A、仮想ネットワーク(VXLAN)51B、及び、仮想ネットワーク(FLAT)51Cが、構成される。
【0039】
仮想ネットワーク監視部60は、データプレーン50と接続し、エージェント部22から物理サーバ20の物理環境における仮想ノード21と仮想ネットワーク51との間の接続構成を取得する。また、仮想ネットワーク監視部60は、OpenStack30のイベントをフックして、仮想環境における仮想ノード21と仮想ネットワーク51との間の接続構成を取得する。そして、仮想ネットワーク監視部60は、取得した各々の接続構成(
図4)を基に、データプレーン50上で仮想ネットワーク51を監視する。仮想ネットワーク監視部60は、論理回路等のハードウェアで構成される。また、仮想ネットワーク監視部60は、仮想ネットワーク監視システム10のプロセッサが、図示されないメモリ上のプログラムを実行することで実現されても良い。
【0040】
可視化部(GUI)70は、仮想ネットワーク監視部60が取得した上記の接続情報をAPI(Application Programming Interface)として提供し、可視化する。可視化部(GUI)70は、例えば、ディスプレイで構成される。可視化部70は、保守者端末700の機能の一部であってもよい。
【0041】
なお、本実施形態の仮想ネットワーク監視システム10は、例えば、VXLAN24のように、トンネリングプロトコルを用いたオーバレイの仮想ネットワークを対象とする。トンネリングプロトコルとは、例えば、インターネットなどの公衆回線網上に仮想的にトンネルを生成し、そこを通じてPPP(Point to Point Protocol)接続を確立することにより、VPN(Virtual Private Network)を構築するためのプロトコルである。オーバレイとは、コンピュータネットワークの下層のトポロジーとは関係なく構築された上層のネットワークであり、オーバレイ・ネットワークとも呼ぶ。
【0042】
また、本実施形態の仮想ネットワーク監視システム10は、仮想化されたネットワークの保守のために、pingやSNMPTrap(Simple Network Management Protocol Trap)等の機能によって実現されるスイッチおよびスイッチ間の障害を監視する機能を有する。さらに仮想ネットワーク監視システム10は、その機能に加えて、仮想ネットワーク51を構成するアプリケーション層で障害の監視を行う。
【0043】
図2は、仮想ネットワーク監視システム10において、仮想ノード21と仮想ネットワーク51の接続情報を可視化する動作の一例を示す図である。
【0044】
図2に示すように、
図1に示した仮想ネットワーク監視システム10の構成において、仮想ネットワーク監視システム10は、以下の1)〜6)の動作を行う。
【0045】
1)仮想ネットワーク監視システム10は、各物理サーバ20にエージェント部22を搭載する。
【0046】
2)仮想ネットワーク監視システム10は、物理インフラ内に仮想ネットワーク監視部60を配置する。
【0047】
3)エージェント部22は、例えば、物理サーバ20が保有するハードウェア接続に関する情報を基に、物理サーバ20の物理環境における仮想ノード21と仮想ネットワーク51との間の接続構成を取得する。
【0048】
4)仮想ネットワーク監視部60は、OpenStack30のイベントをフックし、例えば、OpenStack30が行うイベントの情報を基に、仮想環境における仮想ノード21と仮想ネットワーク51との間の接続構成を取得する。
【0049】
5)仮想ネットワーク監視部60は、3)4)の情報を基に、仮想ノード21と仮想ネットワーク51との間の接続情報(後述する
図4)を作成する。
【0050】
6)可視化部70は、5)の情報を基に、ネットワーク構成を可視化する。
【0051】
図3は、仮想ネットワーク監視システム10における、仮想ネットワーク51の導通監視の動作の一例を示す図である。
【0052】
なお、仮想ネットワーク監視システム10の構成は、
図1および
図2と同一であるものとする。
【0053】
図3に示すように、
図1に示した仮想ネットワーク監視システム10の構成において、仮想ネットワーク監視システム10は、以下の1)〜6)の動作を行う。
【0054】
1)エージェント部22は、物理サーバ20の物理環境における仮想ノード21と仮想ネットワーク51との間の接続構成を監視する。
【0055】
2)仮想ネットワーク監視部60は、エージェント部22から最新の接続構成を取得する。
【0056】
3)仮想ネットワーク監視部60は、2)の情報(
図4)を基に、導通監視の対象区間(
図5)を設定し、複数の仮想ノード21の間、例えば、仮想ノード21Aと仮想ノード21Bの間(
図3において点線で囲った経路)の導通監視を行う。
【0057】
4)仮想ネットワーク監視部60は、障害の発生等により、接続構成または導通状態の変化を検出した時に、仮想ノード21と仮想ネットワーク50間の接続情報(
図4)を更新する。なお、障害の箇所は、
図3に示すように、例えば、仮想ネットワーク(VXLAN)51A、または、仮想ネットワーク(FLAT)51Cであるとする。
【0058】
5)仮想ネットワーク監視部60は、接続情報の更新を保守者へ通知するために、可視化部70に接続情報を出力する。
【0059】
6)可視化部70は、5)の情報を基に、仮想ネットワーク51の障害箇所を可視化する。
【0060】
図3では、仮想ネットワーク51のデータプレーン50上に仮想ネットワーク監視部60を挿入し、仮想ネットワーク監視部60を起点に仮想ノード21間の導通(
図5参照)を監視することが特徴である。
【0061】
図4は、仮想ノード21と仮想ネットワーク50の接続情報の一例を示す図である。
【0062】
仮想ネットワーク監視部60は、Agent22およびOpenStack30から取得した情報を基に、
図4に示す接続情報を作成する。
【0063】
図4の上段は、Agent22から取得した、物理サーバ20の物理環境における仮想ノード21と仮想ネットワーク51との間の接続構成を示す。情報提供元のAgent22は、VXLAN24、FLAT25、PASS THROUGH80の各々の場合の接続構成を提供する。
【0064】
また、
図4の下段は、OpenStack30から取得した、仮想環境における仮想ノード21と仮想ネットワーク51との間の接続構成を示す。情報提供元のOpenStack30は、VXLAN24、FLAT25の各々の場合の接続構成を提供する。
【0065】
図5は、導通監視の対象区間の一例を示す図である。
【0066】
仮想ネットワーク監視部60は、
図4に示した情報を基に、
図5に示す、導通監視の対象区間を設定する。
【0067】
例えば、
図5の上段は、接続構成がVXLAN24の場合の導通監視の対象区間を示す。この場合の対象区間は、一方のVTEP27−仮想ネットワーク監視部60−他のVTEP27間である。すなわち、
図4において、VXLAN24は、一方のVTEP27を起点とする接続構成を示している。このため、仮想ネットワーク監視部60は、一方のVTEP27を起点として、仮想ネットワーク監視部60を経て、接続先となる他のVTEP27に至るまでの区間を導通監視の対象区間として設定する。
【0068】
また、例えば、
図5の下段は、接続構成がFLAT25、または、PASS THROUGH80の場合の導通監視の対象区間を示す。この場合の対象区間は、一方のVNIC23−仮想ネットワーク監視部60−他のVNIC23間である。
【0069】
図6は、仮想ネットワーク監視システム10の動作の一例を示すシーケンス図である。
【0070】
まず、保守者端末700(保守者端末700を以降、保守者という)は、OpenStack30の初期設定を行う(ステップS1)。そして、OpenStack−Compute31は、OpenStack30で使用するExternal Bridge28を設定する(ステップS2)。
【0071】
次に、保守者は、仮想ネットワーク51に関する情報を作成する(ステップS3)。そして、OpenStack−Controller32は、その情報を基に仮想ネットワーク51を生成する(ステップS4)。また、仮想ネットワーク監視部60は、生成された仮想ネットワーク51に関する情報を保存する(ステップS5)。
【0072】
さらに、保守者は、仮想ノード21に関する情報を作成する(ステップS6)。そして、OpenStack−Controller32は、その情報を基に仮想ポート(仮想ノード21)を生成する(ステップS7)。また、仮想ネットワーク監視部60は、仮想ノード21に関する情報を保存する(ステップS8)。
【0073】
保守者は、仮想ノード21と仮想ネットワーク51との間の接続構成を参照する(ステップS9)。このために、GUI(可視化部)70は、仮想ノード21と仮想ネットワーク51の接続情報を読み出す(ステップS10)。これを受け、仮想ネットワーク監視部60は、仮想ノード21と仮想ネットワーク51の接続情報を取得する(ステップS11)。そして、GUI(可視化部)70は、仮想ノード21と仮想ネットワーク51の接続情報を可視化する(ステップS12)。
【0074】
これにより、保守者は、GUI(可視化部)70の表示に基づいて、仮想ノード21、仮想ネットワーク51の設定の妥当性を確認する(ステップS13)ことができる。
【0075】
ところで、エージェント部22は、随時、所定の時間(XX秒)毎に、接続構成の要素の状態監視を行うため(ステップS14)、OpenStack−Compute31から、VNIC23、VTEP27、External Bridge28、及び、物理NIC29の情報を読み出す(ステップS15)。そして、エージェント部22は、VNIC23、VTEP27、External Bridge28、及び、物理NIC29の情報を更新する(ステップS16)。
【0076】
また、仮想ネットワーク監視部60は、随時、所定の時間(YY秒)毎に、物理サーバ20内の接続情報を取得するために(ステップS17)、エージェント部22から、VNIC23、VTEP27、External Bridge28、及び、物理NIC29の情報を読み出す(ステップS18)。そして、仮想ネットワーク監視部60は、読み出された情報に応じて、仮想ノード21と仮想ネットワーク51の接続情報を更新する(ステップS19)。
【0077】
図7は、障害発生時の仮想ネットワーク監視システム10の動作の一例を示すシーケンス図である。
【0078】
まず、仮想ネットワーク監視部60は、エージェント部22で保持している接続構成の情報を取得する(ステップT1)。このため、エージェント部22は、接続構成の状態を読み出す(ステップT2)。
【0079】
次に、仮想ネットワーク監視部60は、仮想ノード21の間の導通を監視する(ステップT3)。そして、仮想ネットワーク監視部60は、監視結果に基づいて仮想ノード21と仮想ネットワーク51の間の接続情報を更新する(ステップT4)。なお、仮想ネットワーク監視部60は、ステップT3、ステップT4において、適宜、情報の更新を行う。
【0080】
ここで、保守者が、仮想ネットワーク51の通信の異常通知を受信する(ステップT5)場合を想定する。保守者は、GUI(可視化部)70において、仮想ノード21と仮想ネットワーク51の接続情報を参照する(ステップT6)。このため、GUI(可視化部)70は、仮想ノード21と仮想ネットワーク51の接続情報を読み出す(ステップT7)。これを受け、仮想ネットワーク監視部60は、仮想ノード21と仮想ネットワーク51の接続情報を取得する(ステップT8)。そして、GUI(可視化部)70は、仮想ネットワーク51の障害箇所を可視化する(ステップT9)。
【0081】
最後に、保守者は、被疑装置の故障診断、装置交換等の対応を実施する(ステップT10)。
【0082】
本実施形態に係る仮想ネットワーク監視システム10は、以下に記載するような効果を奏する。
【0083】
仮想ノード21と仮想ネットワーク51との間の接続構成に基づく仮想ネットワーク51の監視を容易にする。
【0084】
その理由は、物理環境における仮想ノード21と仮想ネットワーク51との間の接続構成、及び、仮想環境における仮想ノード21と仮想ネットワーク51との間の接続構成を基に、データプレーン50上で仮想ネットワーク51を監視するからである。
<第二の実施形態>
次に、本発明の第二の実施の形態について図面を参照して詳細に説明する。
【0085】
図8は、第二の実施形態に係る、仮想ネットワーク監視システム90の構成の一例を示すブロック図である。
【0086】
仮想ネットワーク監視システム90は、仮想ネットワーク92の制御信号を転送する制御プレーン93、及び、仮想ネットワーク92のパケットを転送するデータプレーン94を含む。
【0087】
仮想ネットワーク監視システム90は、エージェント部95、仮想ネットワーク管理部96、及び、仮想ネットワーク監視部97を包含する
エージェント部95は、物理環境における仮想ノード91と仮想ネットワーク92との間の接続構成を取得する。
【0088】
仮想ネットワーク管理部96は、仮想環境における仮想ノード91と仮想ネットワーク92との間の接続構成を取得する。
【0089】
仮想ネットワーク監視部97は、物理環境における仮想ノード91と仮想ネットワーク92との間の接続構成、及び、仮想環境における仮想ノード91と仮想ネットワーク92との間の接続構成を基に、データプレーン94上で仮想ネットワークを監視する。
【0090】
本実施形態に係る仮想ネットワーク監視システム90は、以下に記載するような効果を奏する。
【0091】
仮想ノード91と仮想ネットワーク92との間の接続構成に基づく仮想ネットワーク92の監視を容易にする。
【0092】
その理由は、物理環境における仮想ノード91と仮想ネットワーク92との間の接続構成、及び、仮想環境における仮想ノード91と仮想ネットワーク92との間の接続構成を基に、データプレーン94上で仮想ネットワーク92を監視するからである。
【0093】
以上、図面を参照して本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。