JP6079426B2 - 情報処理システム、方法、装置及びプログラム - Google Patents

情報処理システム、方法、装置及びプログラム Download PDF

Info

Publication number
JP6079426B2
JP6079426B2 JP2013103968A JP2013103968A JP6079426B2 JP 6079426 B2 JP6079426 B2 JP 6079426B2 JP 2013103968 A JP2013103968 A JP 2013103968A JP 2013103968 A JP2013103968 A JP 2013103968A JP 6079426 B2 JP6079426 B2 JP 6079426B2
Authority
JP
Japan
Prior art keywords
information processing
virtual
server
address
switch
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
JP2013103968A
Other languages
English (en)
Other versions
JP2014225774A (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 JP2013103968A priority Critical patent/JP6079426B2/ja
Priority to US14/266,986 priority patent/US9634887B2/en
Publication of JP2014225774A publication Critical patent/JP2014225774A/ja
Application granted granted Critical
Publication of JP6079426B2 publication Critical patent/JP6079426B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Description

本発明は、冗長構成の制御技術に関する。
VRRP(Virtual Router Redundancy Protocol)は、ネットワークにおけるノードを冗長化するためのプロトコルである。VRRPにおいては、特定のVRRPグループに属する複数のノードのうち1つのノードをマスタノード(すなわち現用のノード)とし、残りのノードをバックアップノード(すなわち待機のノード)とする。通常はマスタノードのみが処理を行い、マスタノードに障害が発生するとバックアップノードのうちの一つが代わりに処理を行う。
各VRRPグループには、1つの仮想MACアドレス及び仮想IPアドレスが割り当てられる。VRRPを利用するネットワークにおいては、この仮想MACアドレス及び仮想IPアドレス宛のデータがマスタノードに転送されるように、ネットワークにおけるスイッチ等の設定が行われる。
ところで、VRRPは、物理マシンだけではなく仮想マシンに対しても適用される。そのため、VRRPグループにおけるマスタノードが仮想マシンである場合、マスタノードがライブマイグレーション(Live Migration)によって別のサーバ等に移動することがある。
たとえマスタノードが別のサーバ等に移動したとしても、それに対する対処を行わない限りVRRPグループ宛のデータは元のサーバに転送される。しかし、マスタノードは元のサーバには存在しないため、通信障害が発生する。従来の技術においては、このような問題には着目されていない。
特表2010−518710号公報
従って、本発明の目的は、1つの側面では、冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが移動する場合において、通信障害の発生を抑制するための技術を提供することである。
本発明に係る情報処理システムは、中継装置と、中継装置に接続されている第1の情報処理装置及び第2の情報処理装置とを有する。そして、上で述べた第2の情報処理装置は、冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが第1の情報処理装置から第2の情報処理装置に移動してきたことを検出する第1処理部と、現用の仮想マシンが第2の情報処理装置に移動してきたことが第1処理部により検出された場合、中継装置に、複数の仮想マシンが属するグループのアドレスを送信する第2処理部とを有する。そして、上で述べた中継装置は、アドレスとポートの識別情報とを対応付けて格納するデータ格納部と、データ格納部における、受信したグループのアドレスに対応付けて格納されているポートの識別情報を、第1の情報処理装置が接続されているポートの識別情報から第2の情報処理装置が接続されているポートの識別情報に変更する第3処理部とを有する。
冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが移動する場合において、通信障害の発生を抑制できるようになる。
図1は、仮想環境におけるVRRPの設定について説明するための図である。 図2は、VMのライブマイグレーションについて説明するための図である。 図3は、VRRPグループの仮想MACアドレスが更新されないことによる問題について説明するための図である。 図4は、本実施の形態におけるシステム概要を示す図である。 図5は、仮想スイッチの機能ブロック図である。 図6は、レイヤ2スイッチの機能ブロック図である。 図7は、管理テーブル格納部に格納されるデータの一例を示す図である。 図8は、FDBに格納されるデータの一例を示す図である。 図9は、VRRP Advertisementメッセージの一例を示す図である。 図10は、VRRPセグメントを示す図である。 図11は、データ通信用セグメントを示す図である。 図12は、マスタノードの移動を検出する方法について説明するための図である。 図13は、マスタノードの移動を検出する方法について説明するための図である。 図14は、メインの処理フローを示す図である。 図15は、システムの動作の具体例を示す図である。 図16は、システムの動作の具体例を示す図である。 図17は、システムの動作の具体例を示す図である。 図18は、システムの動作の具体例を示す図である。 図19は、システムの動作の具体例を示す図である。 図20は、システムの動作の具体例を示す図である。 図21は、システムの動作の具体例を示す図である。 図22は、システムの動作の具体例を示す図である。 図23は、システムの動作の具体例を示す図である。 図24は、コンピュータの機能ブロック図である。
図1乃至図3を用いて、ライブマイグレーションによるマスタノードの移動について簡単に説明する。
まず、図1を用いて、仮想環境におけるVRRPの設定について説明する。図1の例においては、ホスト#1と、サーバ#1と、サーバ#2とがL(Layer)2スイッチに接続されている。サーバ#1及びサーバ#2においては、仮想スイッチが実行されている。サーバ#1においては、VM(Virtual Machine)#1及びVM#2が実行されている。VM#1及びVM#2は、サーバ#1における仮想スイッチに接続されている。ここで、VM#1及びVM#2は同じVLAN(Virtual Local Area Network)(ここではVLAN1)に属し、VM#1、VM#2及びホスト#1は同じVLAN(ここではVLAN2)に属する。VLAN1はVRRP Advertisementメッセージを送受信するためのVLANであり、VLAN2はホスト#1とVM#1及びVM#2との間でデータを送受信するためのVLANである。
VM#1及びVM#2は同一のVRRPグループに属しており、VM#1の優先度がVM#2の優先度より高いため、VM#1がマスタノード(すなわち、現用のノード)であり、VM#2がバックアップノード(すなわち、待機のノード)である。VM#1及びVM#2が属するVRRPグループの仮想MACアドレスは「A」であり、仮想IPアドレスは「1.1.1.1」である。このように、各VRRPグループに対して1つの仮想MACアドレス及び仮想IPアドレスが割り当てられているので、ホスト#1は、たとえマスタノードが変わったとしても宛先アドレスの変更をしなくてもよい。
図2を用いて、VM#1のライブマイグレーションについて説明する。図2において、VM#1はライブマイグレーションによってサーバ#2に移動している。VM#1が移動すると、サーバ#2の仮想スイッチは移動を検出し、VM#1のMACアドレス「a」を含むGARP(Gratuitous Address Resolution Protocol)パケットをL2スイッチに送信する。L2スイッチは、送信元のMACアドレスが「a」であるパケットをポート「P2」から受け取り、FDB(Forwarding DataBase)のデータを更新する。すなわち、FDBにおいてMACアドレス「a」に対応付けられている出力IF(InterFace)(ここではポート)の識別子を「P1」から「P2」に変更する。なお、ライブマイグレーションとは、特定の物理サーバ等において稼働しているVMを、OS(Operating System)等のソフトウェアを停止させることなく別の物理サーバ等に移動させることである。
図2を用いて説明した処理は、従来より行われている処理である。このような処理を行えば、VM#1のMACアドレス「a」についてはFDBに格納されている出力IFを更新することができる。しかしながら、VM#1及びVM#2が属するVRRPグループの仮想MACアドレス「A」に対応付けられている出力IFは更新されない。
図3を用いて、VRRPグループの仮想MACアドレスが更新されないことによる問題を説明する。図3においては、VRRPグループの仮想MACアドレス「A」及び仮想IPアドレス「1.1.1.1」を宛先とするデータをホスト#1がL2スイッチに送信している。L2スイッチにおけるFDBにおいては、仮想MACアドレス「A」を宛先とするデータを出力IF「P1」に出力することを示すデータが格納されているので、ホスト#1が送信したデータはポート「P1」を介してサーバ#1に送信される。しかしながら、VRRPグループのマスタノードであるVM#1はサーバ#1には存在しないため、データに対する処理を行うことができない。
そこで、以下では、マスタノードがライブマイグレーションによって移動した場合にレイヤ2スイッチの設定を迅速に行うことで、通信障害が発生するのを抑制する方法について説明する。
図4に、本実施の形態におけるシステム概要を示す。レイヤ2スイッチ3には、物理サーバであるサーバ100と、物理サーバであるサーバ110と、物理サーバと通信を行うホスト5とが接続されている。サーバ100においては、VM101と、VM102と、仮想スイッチ103とが実行されている。仮想スイッチ103は、サーバ100内でデータの中継を行う。また、サーバ110においては、VM111と、VM112と、仮想スイッチ113とが実行されている。仮想スイッチ113は、サーバ110内でデータの中継を行う。図4において、サーバ100及びサーバ110において実行されるVMの数は2であるが、数に限定は無い。
図5に、仮想スイッチ103及び113の機能ブロック図を示す。仮想スイッチ103及び113においては、I/O(Input/Output)インタフェース1001と、ブリッジング部1002と、監視部1003と、スヌーピング部1004と、GARP管理部1006とが実行される。また、例えばサーバ100及び110におけるハードディスク等の記憶装置には、管理テーブル格納部1005のための領域が確保される。
I/Oインタフェース1001は、データの入出力を行うためのインタフェース(例えば仮想ポート)である。ブリッジング部1002は、仮想スイッチ内においてデータの中継を行う。監視部1003は、同じサーバ内にマスタノードであるVMが移動してきたことを検出する。また、VRRP Advertisementメッセージを受信したポートの識別子を管理テーブル格納部1005に格納する。スヌーピング部1004は、VRRP Advertisementメッセージから仮想MACアドレス及び仮想IPアドレスを取得し、管理テーブル格納部1005に格納する。GARP管理部1006は、マスタノードが同じサーバに移動してきた場合に、VRRPグループの仮想MACアドレス及び仮想IPアドレスを含むGARPのパケットをレイヤ2スイッチ3に送信する。
図6に、レイヤ2スイッチ3の機能ブロック図を示す。レイヤ2スイッチ3は、処理部31と、FDB32とを含む。処理部31は、FDB32に格納されているデータを管理する処理等を実行する。
図7に、仮想スイッチ103及び113における管理テーブル格納部1005に格納されるデータの一例を示す。図7の例では、仮想MACアドレス及び仮想IPアドレスと、接続IFの識別子(ここでは、ポートの識別子)とが格納される。
図8に、レイヤ2スイッチ3のFDB32に格納されるデータの一例を示す。図8の例では、宛先アドレスと、出力IFの識別子(ここでは、ポートの識別子)とが格納される。図8に示したようなデータは、VLAN毎に用意される。
図9に、VRRPにおけるVRRP Advertisementメッセージの一例を示す。図9の例では、VRRP Advertisementメッセージには、宛先MACアドレス及び送信元MACアドレスを含むイーサネット(登録商標)ヘッダと、宛先IPアドレス及び送信元IPアドレスを含むIPヘッダと、優先度と仮想IPアドレスとを含むデータとが含まれる。図9に示すように、宛先には専用のマルチキャストアドレス(IPアドレスは「224.0.0.18」、MACアドレスは「01:00:5e:00:00:12」)が設定される。送信元MACアドレスは、VRRPグループに割り当てられた仮想MACアドレスである。送信元IPアドレスは、送信元のVMの送信ポートに割り当てられた物理IPアドレスである。データには、優先度及びVRRPグループに割り当てられた仮想IPアドレスが含まれる。
図10及び図11に、本実施の形態におけるシステムの論理ネットワークを示す。まず、図10に、システムにおけるVRRPセグメント(本実施の形態においては、VLAN1とする)を示す。VRRPセグメントには、サーバ100と、サーバ110とが属する。VRRPセグメントは、VRRP Advertisementメッセージが通過するネットワークである。
一方、図11に示すように、データ通信用セグメントには、サーバ100と、サーバ110と、ホスト5とが属する。データ通信用セグメントを、VLAN2とする。データ通信用セグメントは、ホストとサーバとの間における通信データが通過するネットワークである。
このように、VRRPセグメントとデータ通信用セグメントとを分離して構築する理由は、VRRP Advertisementメッセージがホストに到達することを防ぐためである。
図12及び図13を用いて、マスタノードの移動を検出する方法について説明する。まず、図12に、移動前の状態の一例を示す。マスタノードであるVM101はサーバ100に存在し、仮想スイッチのポート「p1」に接続されている。マスタノードがVRRP Advertisementメッセージをマルチキャストで送信すると、VRRP AdvertisementメッセージはバックアップノードであるVM102に到達すると共に、サーバ100内の仮想スイッチを経由してサーバ110内の仮想スイッチまで到達する。ここで、サーバ100内の仮想スイッチは、管理テーブル格納部1005に、VRRP Advertisementメッセージの受信ポートの識別子「p1」を登録する。また、VRRP Advertisementメッセージをスヌーピングし、仮想MACアドレス及び仮想IPアドレスを管理テーブル格納部1005に登録する。サーバ110内の仮想スイッチも、管理テーブル格納部1005への登録を行う。図12の例の場合、VRRP Advertisementメッセージの受信ポートの識別子は「p4」である。
図13に、移動後の状態を示す。サーバ100内のマスタノードはライブマイグレーションによってサーバ110に移動する。移動完了後、マスタノードはVRRP Advertisementメッセージを送信する。VRRP Advertisementメッセージはサーバ110内の仮想スイッチを通過し、サーバ100内の仮想スイッチに到達する。VRRP Advertisementメッセージはバックアップノードに転送される。各仮想スイッチが受信するVRRP Advertisementメッセージの受信ポートは、移動前と移動後とで異なるため、管理テーブル格納部1005に格納されているデータが更新される。サーバ100内の仮想スイッチは「p3」を登録し、サーバ110内の仮想スイッチは「p5」を登録する。また、更新後のポートがL2スイッチ側ではなくVM側であるか否かを確認することで、同じ物理サーバ内にマスタノードが移動してきたか否かを判断する。サーバ100においては、ポート「p3」はVMに接続されていないため、同じサーバ以外にマスタノードが移動したことを検出する。サーバ110においては、ポート「p5」はVMに接続されているため、同じサーバ内にマスタノードが移動してきたことを検出する。
次に、図14を用いて、本実施の形態におけるシステムの動作を詳細に説明する。まず、仮想スイッチにおけるI/Oインタフェース1001は、パケットを受信する(図14:ステップS1)。I/Oインタフェース1001は、受信したパケットをブリッジング部1002に出力する。ブリッジング部1002は、I/Oインタフェース1001から受け取ったパケットを監視部1003に出力する。
監視部1003は、宛先アドレスが所定のマルチキャストアドレスであるか判断する(ステップS3)。所定のマルチキャストアドレスとは、VRRP Advertisementメッセージの宛先アドレスに設定される専用のマルチキャストアドレスである。上で述べたように、IPアドレスは「224.0.0.18」であり、MACアドレスは「01:00:5e:00:00:12」である。
宛先アドレスが所定のマルチキャストアドレスではない場合(ステップS3:Noルート)、VRRP Advertisementメッセージではないため、処理を終了する。一方、宛先アドレスが所定のマルチキャストアドレスである場合(ステップS3:Yesルート)、監視部1003は、パケットの受信ポートが前回の受信ポートと同じであるか判断する(ステップS5)。前回の受信ポートの識別子は、管理テーブル格納部1005に格納されている。
前回の受信ポートと同じである場合(ステップS5:Yesルート)、VMは移動していないので、処理を終了する。一方、前回の受信ポートと同じではない場合(ステップS5:Noルート)、監視部1003は、受信ポートの識別子を管理テーブル格納部1005に格納する(ステップS7)。すなわち、ステップS7においては、既に格納されている識別子を、今回の受信ポートの識別子で更新する。監視部1003は、パケットをスヌーピング部1004に出力する。
スヌーピング部1004は、パケットから仮想MACアドレス及び仮想IPアドレスを取得する(ステップS9)。そして、スヌーピング部1004は、取得された仮想MACアドレス及び仮想IPアドレスを管理テーブル格納部1005に格納する(ステップS11)。ステップS11においては、ステップS7において格納された受信ポートの識別子に対応付けて仮想MACアドレス及び仮想IPアドレスを格納する。
監視部1003は、今回の受信ポートはVMが接続されるポートであるか判断する(ステップS13)。仮想スイッチは各ポートの接続先を管理する情報を保持しているため、監視部1003は、その情報を用いてステップS13の処理を行う。
受信ポートはVMが接続されるポートではない場合(ステップS13:Noルート)、仮想スイッチが実行されているサーバと同じサーバにVMが移動してきたわけではないので、処理を終了する。一方、受信ポートはVMが接続されるポートである場合(ステップS13:Yesルート)、監視部1003は、GARP管理部1006に処理の実行を要求する。GARP管理部1006は、パケットから取得された仮想MACアドレス及び仮想IPアドレスを含むGARPパケットを生成し、レイヤ2スイッチ3に送信する。具体的には、生成されたGARPパケットをブリッジング部1002に出力し、ブリッジング部1002はそのGARPパケットをI/Oインタフェース1001に出力する。I/Oインタフェース1001は、ブリッジング部1002から受け取ったGARPパケットをレイヤ2スイッチ3に送信する(ステップS15)。そして処理を終了する。
なお、レイヤ2スイッチ3における処理部31は、FDB32においてGARPパケットに含まれる仮想MACアドレスに対応付けて格納されているポートの識別子を、今回GARPパケットを受信したポートの識別子に変更する。
以上のような処理を実行すれば、マスタノードであるVMが移動した後VRRP Advertisementメッセージを送信したタイミングにおいて、レイヤ2スイッチ3のFDB32が更新される。これによって、VRRPグループ宛のデータが元のサーバに送信されてしまうことを抑制できるので、通信障害の発生を抑制することにつながる。
次に、図15乃至図23を用いて、本実施の形態におけるシステムの動作を具体的に説明する。図15に、ネットワークトポロジを示す。図15においては、ホスト#1と、サーバ#1と、サーバ#2とがL2スイッチに接続されている。サーバ#1及びサーバ#2は仮想化環境として使用される。サーバ#1においてはVM#1とVM#2とが実行されている。VM#1の仮想NIC(Network Interface Card)に割り当てられるMACアドレスを「a」、VM#2の仮想NICに割り当てられるMACアドレスを「b」とする。ホスト#1の物理NICのMACアドレスは「c」とする。
VM#1とVM#2との間にVRRPを設定し、VM#1をマスタノードとする。VRRPで使用する仮想IPアドレスは「1.1.1.1」とし、仮想MACアドレスは「A」とする。VRRP Advertisementメッセージが通過するセグメントをVLAN1とし、ホスト#1とVM#1及びVM#2との間において通信データが通過するセグメントをVLAN2とする。この段階において、仮想スイッチにおける管理テーブル格納部1005及びL2スイッチにおけるFDB32にはデータが格納されていない。
図16に、管理テーブル格納部1005におけるエントリを生成する動作を示す。VRRPが設定されると、マスタノードからVRRP Advertisementメッセージがマルチキャストで定期的に送信される。VRRP Advertisementメッセージを受信した、サーバ#1の仮想スイッチは、受信ポートが前回の受信ポートと異なる場合に、管理テーブル格納部1005にエントリを生成する。具体的には、サーバ#1の仮想スイッチは、管理テーブル格納部1005における接続IFにVRRP Advertisementメッセージの受信ポートの識別子「p1」を登録する。また、VRRP Advertisementメッセージをスヌーピングし、「A」及び「1.1.1.1」を仮想MACアドレス及び仮想IPアドレスとして管理テーブル格納部1005に登録する。一方、サーバ#2の仮想スイッチは、管理テーブル格納部1005における接続IFにVRRP Advertisementメッセージの受信ポートの識別子「p4」を登録する。また、VRRP Advertisementメッセージをスヌーピングし、「A」及び「1.1.1.1」を仮想MACアドレス及び仮想IPアドレスとして管理テーブル格納部1005に登録する。
L2スイッチは、VRRP Advertisementメッセージを受信すると、送信元MACアドレスである「A」と受信ポートの識別子である「P1」とを対応付けてFDB32に登録する。VRRP AdvertisementメッセージはVLAN1のセグメントを通過するため、FDB32におけるVLAN1用のデータを更新する。
図17に、ホスト#1がARP要求を送信した場合における動作を示す。ホスト#1は、VRRPグループの仮想IPアドレスである「1.1.1.1」に対応するMACアドレスを調べるため、ARP要求をブロードキャストで送信する。ARP要求を受信したレイヤ2スイッチは、ARP要求をサーバ#1に転送し、サーバ#1における仮想スイッチは、VM#1及びVM#2に対してARP要求を送信する。ARP要求を受信したVMのうちマスタノードであるVM#1は、ARP応答を送信する。
L2スイッチは、ARP要求については送信元MACアドレスである「c」と受信ポートの識別子である「P3」とを対応付けてFDB32に登録し、ARP応答については送信元MACアドレスである「A」と受信ポートの識別子であるである「P1」とを対応付けてFDB32に登録する。なお、ARP要求及びARP応答はVLAN2のセグメントを通過するため、FDB32におけるVLAN2用のデータを更新する。
ARPの処理が完了すると、図18で示すように、ホスト#1とマスタノードであるVM#1との間ではユニキャストで通信が行われる。すなわち、ホスト#1が宛先MACアドレスを「A」とし宛先IPアドレスを「1.1.1.1」とするユニキャストのデータを送信する。L2スイッチは、ユニキャストのデータを受信すると、FDB32におけるエントリに従い、ユニキャストのデータをポート「P1」から出力する。サーバ#1は、ユニキャストのデータを受信すると、管理テーブル格納部1005に格納されているデータに従い、ユニキャストのデータをポート「p1」から出力する。そして、VM#1がユニキャストのデータを受信する。なお、VM#1がホスト#1にユニキャストのデータを送信する場合にも同様の中継が行われる。
図19に、マスタノードがライブマイグレーションによってサーバ#2に移動した場合における動作を示す。マスタノードがサーバ#2に移動すると、サーバ#2の仮想スイッチは、VM#1の仮想NICのMACアドレスである「a」を含むGARPパケットを、VLAN1及びVLAN2に対して送信する。GARPパケットを受信したL2スイッチは、FDB32におけるVLAN1及びVLAN2用のデータの各々について「a」を含むエントリを更新する。具体的には、VLAN1については出力IFが「P1」から「P2」に変更され、VLAN2については新規にエントリが追加される。
図20に、マスタノード移動後におけるVRRP Advertisementメッセージの転送を示す。ライブマイグレーション完了後、VRRP Advertisementメッセージはサーバ#2におけるマスタノードから送信され、サーバ#2における仮想スイッチを通過し、サーバ#1における仮想スイッチに到達する。サーバ#1の仮想スイッチに到達したVRRP Advertisementメッセージは、バックアップノードに転送される。
サーバ#2の管理テーブル格納部1005における接続IFは「p4」から「p5」に変更され、サーバ#1の管理テーブル格納部1005における接続IFは「p1」から「p3」に変更される。L2スイッチは、VRRP Advertisementメッセージを受信した後、FDB32におけるVLAN1用のデータにおいて、「A」を含むエントリを更新する。具体的には、出力IFが「P1」から「P2」に変更される。
サーバ#2の管理テーブル格納部1005における接続IFは「p5」に変更されるが、「p5」の接続先はVMであるため、仮想スイッチは、仮想MACアドレスである「A」を含むGARPパケットをL2スイッチに送信する。このGARPパケットは、VLAN2に対してのみ送信される。GARPパケットを受信したL2スイッチは、FDB32におけるVLAN2用のデータについて、「A」を含むエントリを更新する。具体的には、出力IFが「P1」から「P2」に変更される。
図21に、ライブマイグレーション後におけるデータ通信を示す。ホスト#1が宛先MACアドレスを「A」とし宛先IPアドレスを「1.1.1.1」とするユニキャストのデータを送信する。L2スイッチは、ユニキャストのデータを受信すると、FDB32におけるエントリに従い、ユニキャストのデータをポート「P2」から出力する。サーバ#2における仮想スイッチは、ユニキャストのデータを受信すると、管理テーブル格納部1005に格納されているデータに従い、ユニキャストのデータをポート「p5」から出力する。そして、VM#1がユニキャストのデータを受信する。なお、VM#1がホスト#1にユニキャストのデータを送信する場合にも同様の中継が行われる。
図22に、図18の状態においてバックアップノードがライブマイグレーションによってサーバ#2に移動した場合における動作を示す。バックアップノードがサーバ#2に移動すると、仮想スイッチは、VM#2の仮想NICのMACアドレス「b」を含むGARPパケットをVLAN1及びVLAN2に対して送信する。GARPパケットを受信したL2スイッチは、FDB32におけるVLAN1用のデータ及びVLAN2用のデータについて「b」を含むエントリを更新する。具体的には、VLAN1及びVLAN2について新規のエントリが追加される。
図23に、バックアップノード移動後におけるVRRP Advertisementメッセージの転送を示す。ライブマイグレーション完了後、VRRP Advertisementメッセージはサーバ#1におけるマスタノードから送信され、サーバ#1における仮想スイッチを通過し、サーバ#2における仮想スイッチに到達する。サーバ#2の仮想スイッチに到達したVRRP Advertisementメッセージは、バックアップノードに転送される。但し、マスタノードが移動したわけではないため、各仮想スイッチにおける管理テーブル格納部1005のデータは更新されない。
以上のような処理を実行すれば、ライブマイグレーションによってマスタノードの配置が変更されたとしても迅速にFDB32を更新できるので、通信障害の発生を抑制できるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したレイヤ2スイッチ3並びにサーバ100及び110の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
例えば、ステップS15においてはGARPのパケットを送信する例を説明したが、GARPのパケットに限られるわけではない。VRRPグループの仮想MACアドレスを含むパケットを送信し、レイヤ2スイッチ3がそのパケットの受信に応じてFDB32を更新してもよい。
なお、上で述べたサーバ100及び110は、コンピュータ装置であって、図24に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る情報処理システムは、(A)中継装置と、(B)中継装置に接続されている第1の情報処理装置及び第2の情報処理装置とを有する。そして、上で述べた第2の情報処理装置は、(b1)冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが第1の情報処理装置から第2の情報処理装置に移動してきたことを検出する第1処理部と、(b2)現用の仮想マシンが第2の情報処理装置に移動してきたことが第1処理部により検出された場合、中継装置に、複数の仮想マシンが属するグループのアドレスを送信する第2処理部とを有する。そして、上で述べた中継装置は、(a1)アドレスとポートの識別情報とを対応付けて格納するデータ格納部と、(a2)データ格納部における、受信したグループのアドレスに対応付けて格納されているポートの識別情報を、第1の情報処理装置が接続されているポートの識別情報から第2の情報処理装置が接続されているポートの識別情報に変更する第3処理部とを有する。
このようにすれば、現用の仮想マシンが移動した場合において、グループ宛のデータが移動後の現用の仮想マシンに中継されるように迅速に中継装置を設定できるので、通信障害の発生を抑制できるようになる。
また、上で述べた第1処理部は、(b11)現用の仮想マシンが送信する所定のメッセージの転送元が中継装置から第2の情報処理装置内の仮想マシンに変化したことを検出することによって、現用の仮想マシンが移動してきたことを検出してもよい。このようにすれば、上記のグループが、現用系の仮想マシンが所定のメッセージを送ることを特徴とするグループ(例えばVRRPグループ)である場合に、現用の仮想マシンの移動を効率的に検出できるようになる。
また、上で述べた第2処理部は、(b21)複数の仮想マシンが属するグループのアドレスを含むアドレス解決プロトコルのパケットを中継装置に送信してもよい。上記ような情報処理システムにおいてアドレス解決プロトコルは通常使用されるプロトコルであるので、アドレス解決プロトコルを利用すれば、情報処理システムに対する改変を少なくできるようになる。
また、上で述べたグループのアドレスは、グループの仮想MACアドレスを含んでもよい。このようにすれば、中継装置が例えばレイヤ2のスイッチである場合においても、設定を適切に行えるようになる。
また、上で述べた所定のメッセージは、VRRP(Virtual Router Redundancy Protocol)におけるAdvertisementメッセージであってもよい。VRRPにおけるAdvertisementメッセージは定期的に送信されるので、Advertisementメッセージを利用すれば、上記のグループがVRRPグループである場合において確実に設定の変更を行えるようになる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
中継装置と、
前記中継装置に接続されている第1の情報処理装置及び第2の情報処理装置と、
を有し、
前記第2の情報処理装置は、
冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが前記第1の情報処理装置から前記第2の情報処理装置に移動してきたことを検出する第1処理部と、
前記現用の仮想マシンが第2の情報処理装置に移動してきたことが前記第1処理部により検出された場合、前記中継装置に、前記複数の仮想マシンが属するグループのアドレスを送信する第2処理部と、
を有し、
前記中継装置は、
アドレスとポートの識別情報とを対応付けて格納するデータ格納部と、
前記データ格納部における、受信した前記グループのアドレスに対応付けて格納されているポートの識別情報を、前記第1の情報処理装置が接続されているポートの識別情報から前記第2の情報処理装置が接続されているポートの識別情報に変更する第3処理部と、
を有する情報処理システム。
(付記2)
前記第1処理部は、
前記現用の仮想マシンが送信する所定のメッセージの転送元が前記中継装置から前記第2の情報処理装置内の仮想マシンに変化したことを検出することによって、前記現用の仮想マシンが移動してきたことを検出する
ことを特徴とする付記1記載の情報処理システム。
(付記3)
前記第2処理部は、
前記複数の仮想マシンが属するグループのアドレスを含むアドレス解決プロトコルのパケットを前記中継装置に送信する
ことを特徴とする付記1又は2記載の情報処理システム。
(付記4)
前記グループのアドレスは、前記グループの仮想MACアドレスを含む
ことを特徴とする付記1乃至3のいずれか1つ記載の情報処理システム。
(付記5)
前記所定のメッセージは、VRRP(Virtual Router Redundancy Protocol)におけるAdvertisementメッセージである
ことを特徴とする付記2記載の情報処理システム。
(付記6)
冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが他の情報処理装置から移動してきたことを検出する第1処理部と、
前記現用の仮想マシンが移動してきたことが前記第1処理部により検出された場合、前記複数の仮想マシンが属するグループのアドレスを中継装置に送信する第2処理部と、
を有する情報処理装置。
(付記7)
冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが他の情報処理装置から移動してきたことを検出し、
前記現用の仮想マシンが移動してきたことが検出された場合、前記複数の仮想マシンが属するグループのアドレスを中継装置に送信する
処理をコンピュータに実行させるためのプログラム。
(付記8)
冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが他の情報処理装置から移動してきたことを検出し、
前記現用の仮想マシンが移動してきたことが検出された場合、前記複数の仮想マシンが属するグループのアドレスを中継装置に送信する
処理をコンピュータが実行する情報処理方法。
100,110 サーバ 101,102,111,112 VM
103,113 仮想スイッチ 3 レイヤ2スイッチ
5 ホスト 1001 I/Oインタフェース
1002 ブリッジング部 1003 監視部
1004 スヌーピング部 1005 管理テーブル格納部
1006 GARP管理部 31 処理部
32 FDB

Claims (4)

  1. 中継装置と、
    前記中継装置に接続されている第1の情報処理装置及び第2の情報処理装置と、
    を有し、
    前記第2の情報処理装置は、
    冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが前記第1の情報処理装置から前記第2の情報処理装置に移動してきたことを検出する第1処理部と、
    前記現用の仮想マシンが第2の情報処理装置に移動してきたことが前記第1処理部により検出された場合、前記中継装置に、前記複数の仮想マシンが属するグループのアドレスを送信する第2処理部と、
    を有し、
    前記中継装置は、
    アドレスとポートの識別情報とを対応付けて格納するデータ格納部と、
    前記データ格納部における、受信した前記グループのアドレスに対応付けて格納されているポートの識別情報を、前記第1の情報処理装置が接続されているポートの識別情報から前記第2の情報処理装置が接続されているポートの識別情報に変更する第3処理部と、
    を有する情報処理システム。
  2. 前記第1処理部は、
    前記現用の仮想マシンが送信する所定のメッセージの転送元が前記中継装置から前記第2の情報処理装置内の仮想マシンに変化したことを検出することによって、前記現用の仮想マシンが移動してきたことを検出する
    ことを特徴とする請求項1記載の情報処理システム。
  3. 冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが他の情報処理装置から移動してきたことを検出する第1処理部と、
    前記現用の仮想マシンが移動してきたことが前記第1処理部により検出された場合、前記複数の仮想マシンが属するグループのアドレスを中継装置に送信する第2処理部と、
    を有する情報処理装置。
  4. 冗長構成を実現する複数の仮想マシンのうち現用の仮想マシンが他の情報処理装置から移動してきたことを検出し、
    前記現用の仮想マシンが移動してきたことが検出された場合、前記複数の仮想マシンが属するグループのアドレスを中継装置に送信する
    処理をコンピュータに実行させるためのプログラム。
JP2013103968A 2013-05-16 2013-05-16 情報処理システム、方法、装置及びプログラム Expired - Fee Related JP6079426B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013103968A JP6079426B2 (ja) 2013-05-16 2013-05-16 情報処理システム、方法、装置及びプログラム
US14/266,986 US9634887B2 (en) 2013-05-16 2014-05-01 System, method and computer-readable medium for using a plurality of virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013103968A JP6079426B2 (ja) 2013-05-16 2013-05-16 情報処理システム、方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2014225774A JP2014225774A (ja) 2014-12-04
JP6079426B2 true JP6079426B2 (ja) 2017-02-15

Family

ID=51896701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013103968A Expired - Fee Related JP6079426B2 (ja) 2013-05-16 2013-05-16 情報処理システム、方法、装置及びプログラム

Country Status (2)

Country Link
US (1) US9634887B2 (ja)
JP (1) JP6079426B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9282033B2 (en) * 2013-08-06 2016-03-08 Cisco Technology, Inc. Intelligent handling of virtual machine mobility in large data center environments
US10324743B2 (en) * 2014-08-27 2019-06-18 Red Hat Israel, Ltd. Announcing virtual machine migration
CN106034037B (zh) * 2015-03-13 2019-04-16 腾讯科技(深圳)有限公司 一种基于虚拟机的容灾切换方法及装置
CN108259629B (zh) * 2016-12-28 2021-07-23 阿里巴巴集团控股有限公司 虚拟互联网协议地址的切换方法及装置
JP2018137643A (ja) * 2017-02-22 2018-08-30 日本電信電話株式会社 管理装置および管理方法
US10812374B2 (en) * 2018-09-21 2020-10-20 Cisco Technology, Inc. Segment routing with fast reroute for container networking
CN109660615A (zh) * 2018-12-13 2019-04-19 网易(杭州)网络有限公司 数据处理方法、装置、介质及电子设备
US11184824B2 (en) * 2019-01-24 2021-11-23 Hewlett Packard Enterprise Development Lp Wireless device upgrade
US11050746B2 (en) * 2019-01-29 2021-06-29 Cisco Technology, Inc. Media access control (MAC) address anonymization based on allocations by network controller elements
US11876709B2 (en) * 2019-06-14 2024-01-16 Nippon Telegraph And Telephone Corporation Monitoring device, redundancy switching method, redundancy switching program, and network system
US11245660B1 (en) * 2019-09-26 2022-02-08 Cisco Technology, Inc. Communication of endpoint information among virtual switches
US11706162B2 (en) * 2019-10-21 2023-07-18 Sap Se Dynamic, distributed, and scalable single endpoint solution for a service in cloud platform

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100558111C (zh) 2007-02-05 2009-11-04 华为技术有限公司 城域以太网提供多业务组网下的可靠性处理方法及系统
US7840839B2 (en) * 2007-11-06 2010-11-23 Vmware, Inc. Storage handling for fault tolerance in virtual machines
JP2009146106A (ja) * 2007-12-13 2009-07-02 Hitachi Ltd 物理的な通信ポートに付加される仮想的な通信ポートを移行する機能を有したストレージシステム
CN101727331B (zh) * 2008-10-24 2013-03-20 国际商业机器公司 升级活动虚拟机的客户操作系统的方法和设备
JP5079665B2 (ja) * 2008-11-18 2012-11-21 Kddi株式会社 仮想計算機送信方法、システム、管理装置及びプログラム
US8532116B2 (en) * 2009-07-21 2013-09-10 Cisco Technology, Inc. Extended subnets
JP5446040B2 (ja) * 2009-09-28 2014-03-19 日本電気株式会社 コンピュータシステム、及び仮想マシンのマイグレーション方法
US8650299B1 (en) * 2010-02-03 2014-02-11 Citrix Systems, Inc. Scalable cloud computing
JP5392137B2 (ja) * 2010-02-17 2014-01-22 富士通株式会社 通信処理のためのプログラム、コンピュータ及び方法
JP2011198299A (ja) * 2010-03-23 2011-10-06 Fujitsu Ltd プログラム、コンピュータ、通信装置および通信制御システム
JP5190084B2 (ja) * 2010-03-30 2013-04-24 株式会社日立製作所 仮想マシンのマイグレーション方法およびシステム
US8601133B1 (en) * 2010-12-14 2013-12-03 Juniper Networks, Inc. Highly scalable data center architecture with address resolution protocol (ARP)-free servers
US8670450B2 (en) * 2011-05-13 2014-03-11 International Business Machines Corporation Efficient software-based private VLAN solution for distributed virtual switches
US8793685B2 (en) * 2011-05-13 2014-07-29 International Business Machines Corporation Techniques for operating virtual switches in a virtualized computing environment
US8656389B2 (en) * 2011-08-22 2014-02-18 Vmware, Inc. Virtual port command processing during migration of virtual machine
US9021459B1 (en) * 2011-09-28 2015-04-28 Juniper Networks, Inc. High availability in-service software upgrade using virtual machine instances in dual control units of a network device
JP2014007681A (ja) * 2012-06-27 2014-01-16 Hitachi Ltd ネットワークシステム、および、その管理装置、そのスイッチ
US9100274B1 (en) * 2012-08-14 2015-08-04 Juniper Networks, Inc. Enhanced virtual router redundancy protocol having inherit groups and advertisement count

Also Published As

Publication number Publication date
JP2014225774A (ja) 2014-12-04
US9634887B2 (en) 2017-04-25
US20140344424A1 (en) 2014-11-20

Similar Documents

Publication Publication Date Title
JP6079426B2 (ja) 情報処理システム、方法、装置及びプログラム
US11398921B2 (en) SDN facilitated multicast in data center
JP6160446B2 (ja) 情報処理装置、情報処理システム及び情報処理方法
US9674139B2 (en) Detection of a misconfigured duplicate IP address in a distributed data center network fabric
EP2982097B1 (en) Method and apparatus for exchanging ip packets among network layer 2 peers
US8423639B2 (en) Switching API
CN112910750B (zh) 使用逻辑路由器进行地址解析的方法、设备、系统及介质
US9716687B2 (en) Distributed gateways for overlay networks
US20180083861A1 (en) Transferring data in a gateway
US9806996B2 (en) Information processing system and control method for information processing system
US8908702B2 (en) Information processing apparatus, communication apparatus, information processing method, and relay processing method
CN111736958A (zh) 虚拟机迁移方法、系统、计算机设备及存储介质
US20160205033A1 (en) Pool element status information synchronization method, pool register, and pool element
JP6299745B2 (ja) 通信システム、制御装置、通信方法及びプログラム
US9559937B2 (en) Apparatus and method for relaying communication between nodes coupled through relay devices
JP5157685B2 (ja) 通信システム、ネットワーク機器及びそれらに用いる通信復旧方法並びにそのプログラム
US11582095B2 (en) Systems and methods for convergence of network traffic after an interruption of a network device's link
WO2017073033A1 (ja) フロー処理装置、通信システム及びフロー処理方法
JP2014003451A (ja) 通信装置及び通信方法
JP2019161257A (ja) パケット転送装置、パケット転送システム、パケット転送プログラムおよびパケット転送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170102

R150 Certificate of patent or registration of utility model

Ref document number: 6079426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees