JP5079665B2 - 仮想計算機送信方法、システム、管理装置及びプログラム - Google Patents

仮想計算機送信方法、システム、管理装置及びプログラム Download PDF

Info

Publication number
JP5079665B2
JP5079665B2 JP2008294647A JP2008294647A JP5079665B2 JP 5079665 B2 JP5079665 B2 JP 5079665B2 JP 2008294647 A JP2008294647 A JP 2008294647A JP 2008294647 A JP2008294647 A JP 2008294647A JP 5079665 B2 JP5079665 B2 JP 5079665B2
Authority
JP
Japan
Prior art keywords
layer
address
physical
computer
physical computer
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
JP2008294647A
Other languages
English (en)
Other versions
JP2010124129A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2008294647A priority Critical patent/JP5079665B2/ja
Publication of JP2010124129A publication Critical patent/JP2010124129A/ja
Application granted granted Critical
Publication of JP5079665B2 publication Critical patent/JP5079665B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、仮想計算機送信方法、システム、管理装置及びプログラムに関する。
仮想計算機とは、仮想的に作り出された1台のコンピュータであって、物理計算機の中で稼働する。仮想計算機は、OS(Operating System)及びアプリケーションを包括した単位である。仮想計算機は、物理計算機に搭載されたプロセッサを時分割で利用し、物理計算機のディスクを領域分割で利用し、物理計算機のメモリを仮想記憶として利用する。
異なる物理計算機の間で、ネットワークを介して仮想計算機を移動させる技術がある(例えば特許文献1及び2参照)。この技術によれば、移動元の物理計算機で稼働中の仮想計算機を一時的に停止し、仮想資源状態情報を保持する。移動元の物理計算機は、仮想計算機と共に、その仮想資源状態情報を、移動先の物理計算機へ送信する。移動先の物理計算機は、移動元の物理計算機で停止された状態から、仮想計算機を再起動させる。これによって、仮想計算機が、移動後も継続して運用されることとなる。
また、仮想計算機を管理し、複数の物理計算機の間における仮想計算機の移動を管理する管理サーバを備える技術もある(例えば特許文献3参照)。この技術によれば、仮想計算機は、一時的に停止されることなく、動的マイグレーションによって移動される。「動的マイグレーション」とは、仮想計算機が、移動中に、一時的停止及び再起動されないことを意味する。これは、移動元の物理計算機と移動先の物理計算機との間で、稼働中の仮想計算機のメモリデータの差分コピーを繰り返すことによって実現される。
特開平10−283210号公報 特開2006−72591号公報 特表2007−536657号公報
仮想計算機を移動させた後、ネットワークに配置されたスイッチは、移動先の物理計算機の下における仮想計算機の仮想MACアドレスを、経路テーブルに既に学習し終えていることを前提としている。そうでない場合、仮想計算機が移動した後、仮想計算機を宛先とするパケットは、移動元の物理計算機へ転送されることとなる。
しかしながら、前述したいずれの従来技術であっても、移動元の物理計算機と移動先の物理計算機との間のネットワークに配置されたスイッチおける経路制御(ネットワークトポロジの変更)については、検討されていない。また、既存の仮想計算機は、広くともレイヤ3サブネット内での仮想計算機の移動のみを想定している。従って、レイヤ3サブネットを越えて仮想計算機が移動する場合についてまで検討されていない。
そこで、本発明は、仮想計算機が移動した後、ネットワークトポロジを制御することによって、仮想レイヤ2アドレス及びレイヤ3アドレスを宛先とするパケットが移動先の物理計算機へ転送される仮想計算機送信方法、システム、管理装置及びプログラムを提供することを目的とする。
本発明によれば、複数のスイッチによって論理的にツリー状に構成されたレイヤ2ネットワークに接続された複数の物理計算機と、該物理計算機で稼働している仮想計算機を管理する管理装置とを有するシステムについて、物理計算機は、レイヤ2ネットワークに接続される物理インタフェースに物理レイヤ2アドレス及びレイヤ3アドレスを有し、仮想計算機は、仮想インタフェースに仮想レイヤ2アドレス及びレイヤ3アドレスを有し、移動前となる第1の物理計算機で稼働している仮想計算機を、移動後となる第2の物理計算機へ移動させる仮想計算機送信方法であって、
第2の物理計算機が、当該第2の物理計算機の物理インタフェースに対して、仮想計算機の仮想レイヤ2アドレスを割り当てる第1のステップと、
第2の物理計算機が、レイヤ2ネットワークにおける第1の物理計算機との間の分岐スイッチへ向けてパケットを送信し、レイヤ2ネットワークを構成するスイッチに、仮想レイヤ2アドレスを学習させる第2のステップと、
第2の物理計算機が、第2の物理計算機の物理インタフェースに対して、物理レイヤ2アドレスに戻して割り当てる第3のステップと、
第1の物理計算機が、仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させる第4のステップと
を有することを特徴とする。
本発明の仮想計算機送信方法における他の実施形態によれば、
第1の物理計算機と第2の物理計算機とが、レイヤ3サブネットを越えて、異なるレイヤ2ネットワークに接続されている場合、
第1の物理計算機が、第2の物理計算機のレイヤ3アドレスとの間で、レイヤ3トンネルを生成するステップと、
第2の物理計算機が、第1の物理計算機のレイヤ3アドレスとの間で、レイヤ3トンネルを生成するステップと、
第2の物理計算機が、仮想計算機の仮想インタフェースを、レイヤ3トンネルに対応付けるステップと、
第1の物理計算機が、仮想計算機のレイヤ3アドレスへの経路制御を、レイヤ3トンネルの入口アドレスに対応付けるステップと、
第1の物理計算機が、仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させるステップと
を有することも好ましい。
本発明の仮想計算機送信方法における他の実施形態によれば、第2のステップについて、第2の物理計算機は、
分岐スイッチのレイヤ3アドレスが特定されている場合、該レイヤ3アドレスへ向けてping(Packet INternet Groper)パケットを送信し、
分岐スイッチのレイヤ3アドレスが特定されていない場合、該分岐スイッチの物理アドレスへ向けてEthernet OAM Continuity Check (CC)又はLoop Back (LB)のメッセージを送信することも好ましい。
本発明の仮想計算機送信方法における他の実施形態によれば、システムは、管理装置を更に有し、管理装置は、レイヤ2ネットワークにおける第1の物理計算機と第2の物理計算機との間の分岐スイッチを探索し、第1のステップから第4のステップを実行すべき制御メッセージを、第1の物理計算機及び第2の物理計算機へ送信することも好ましい。
本発明によれば、複数のスイッチによって論理的にツリー状に構成されたレイヤ2ネットワークに接続された複数の物理計算機を有するシステムについて、物理計算機は、レイヤ2ネットワークに接続される物理インタフェースに物理レイヤ2アドレス及びレイヤ3アドレスを有し、物理計算機で稼働する仮想計算機は、仮想インタフェースに仮想レイヤ2アドレス及びレイヤ3アドレスを有しており、移動前となる第1の物理計算機で稼働している仮想計算機を、移動後となる第2の物理計算機へ移動させる仮想計算機送信システムであって、
第2の物理計算機は、
当該第2の物理計算機の物理インタフェースに対して、仮想計算機の仮想レイヤ2アドレスを割り当てるアドレス詐称手段と、
レイヤ2ネットワークにおける第1の物理計算機との間の分岐スイッチへ向けてパケットを送信し、レイヤ2ネットワークを構成するスイッチに、仮想レイヤ2アドレスを学習させる学習パケット送信手段と、
第2の物理計算機の物理インタフェースに対して、物理レイヤ2アドレスに戻して割り当てるアドレス復旧手段と
を有し、
第1の物理計算機は、仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させる仮想計算機送信手段を有することを特徴とする。
本発明の仮想計算機送信システムにおける他の実施形態によれば、第1の物理計算機と第2の物理計算機とが、レイヤ3サブネットを越えて、異なるレイヤ2ネットワークに接続されている場合、
第1の物理計算機は、
第2の物理計算機のレイヤ3アドレスとの間で、レイヤ3トンネルを生成するトンネル生成手段と、
仮想計算機のレイヤ3アドレスへの経路制御を、レイヤ3トンネルの入口アドレスに対応付けるトンネル経路制御手段と
を更に有し、
第2の物理計算機は、
第1の物理計算機のレイヤ3アドレスとの間で、レイヤ3トンネルを生成するトンネル生成手段と、
仮想計算機の仮想インタフェースを、レイヤ3トンネルに対応付けるトンネル割当手段と
を更に有し、
仮想計算機送信手段は、仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させることも好ましい。
本発明の仮想計算機送信システムにおける他の実施形態によれば、
学習パケット送信手段は、
分岐スイッチのレイヤ3アドレスが特定されている場合、該レイヤ3アドレスへ向けてpingパケットを送信し、
分岐スイッチのレイヤ3アドレスが特定されていない場合、該分岐スイッチの物理レイヤ2アドレスへ向けてEthernet OAM Continuity Check (CC)又はLoop Back (LB)のメッセージを送信することも好ましい。
本発明によれば、複数のスイッチによって論理的にツリー状に構成されたレイヤ2ネットワークに接続された複数の物理計算機を有するシステムについて、物理計算機は、レイヤ2ネットワークに接続される物理インタフェースに物理レイヤ2アドレス及びレイヤ3アドレスを有し、物理計算機で稼働する仮想計算機は、仮想インタフェースに仮想レイヤ2アドレス及びレイヤ3アドレスを有しており、移動前となる第1の物理計算機で稼働している仮想計算機を、移動後となる第2の物理計算機へ移動させる管理装置であって、
レイヤ2ネットワークについて第1の物理計算機と第2の物理計算機との間の分岐スイッチを探索する分岐スイッチ探索手段と、
当該第2の物理計算機の物理インタフェースに対して、仮想計算機の仮想レイヤ2アドレスを割り当てるべく、第2の物理計算機へ制御メッセージを送信するアドレス詐称制御手段と、
第2の物理計算機が、分岐スイッチへ向けてパケットを送信し、レイヤ2ネットワークの中のスイッチに、仮想レイヤ2アドレスを学習させるべく、第2の物理計算機へ制御メッセージを送信するアドレス学習制御手段と、
第2の物理計算機の物理インタフェースに対して、物理レイヤ2アドレスに戻して割り当てるべく、第2の物理計算機へ制御メッセージを送信するアドレス復旧制御手段と、
第1の物理計算機が、仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させるべく、第1の物理計算機へ制御メッセージを送信する仮想計算機移動制御手段と
を有することを特徴とする。
本発明によれば、複数のスイッチによって論理的にツリー状に構成されたレイヤ2ネットワークに接続された複数の物理計算機を有するシステムについて、物理計算機は、レイヤ2ネットワークに接続される物理インタフェースに物理レイヤ2アドレス及びレイヤ3アドレスを有し、物理計算機で稼働する仮想計算機は、仮想インタフェースに仮想レイヤ2アドレス及びレイヤ3アドレスを有しており、移動前となる第1の物理計算機で稼働している仮想計算機を、移動後となる第2の物理計算機へ移動させる管理装置に搭載されるコンピュータを機能させるプログラムであって、
レイヤ2ネットワークについて第1の物理計算機と第2の物理計算機との間の分岐スイッチを探索する分岐スイッチ探索手段と、
当該第2の物理計算機の物理インタフェースに対して、仮想計算機の仮想レイヤ2アドレスを割り当てるべく、第2の物理計算機へ制御メッセージを送信するアドレス詐称制御手段と、
第2の物理計算機が、分岐スイッチへ向けてパケットを送信し、レイヤ2ネットワークの中のスイッチに、仮想レイヤ2アドレスを学習させるべく、第2の物理計算機へ制御メッセージを送信するアドレス学習制御手段と、
第2の物理計算機の物理インタフェースに対して、物理レイヤ2アドレスに戻して割り当てるべく、第2の物理計算機へ制御メッセージを送信するアドレス復旧制御手段と、
第1の物理計算機が、仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させるべく、第1の物理計算機へ制御メッセージを送信する仮想計算機移動制御手段と
してコンピュータを機能させることを特徴とする。
本発明の仮想計算機送信方法、システム、管理装置及びプログラムによれば、仮想計算機が移動した後、ネットワークトポロジを制御することによって、仮想レイヤ2アドレス及びレイヤ3アドレスを宛先とするパケットが、移動先の物理計算機へ転送される。
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
図1は、レイヤ3サブネット内で仮想計算機を移動させるシステム構成図である。
図1のシステムによれば、複数のスイッチ4によって構成されたレイヤ2ネットワークに、複数の物理計算機1が接続されている。レイヤ2ネットワークは、例えばイーサネット(登録商標)であって、ループを構成することのなく、論理的にツリー状に構成される。また、管理装置3も、レイヤ2ネットワークに接続されており、物理計算機1で稼働する仮想計算機2を管理する。
図1によれば、移動元の第1の物理計算機1の上で、仮想計算機2が稼働している。仮想計算機2には、仮想MAC(Media Access Control)アドレス(レイヤ2アドレス)及び仮想IP(Internet Protocol)アドレス(レイヤ3アドレス)が付与される。仮想MACアドレスは、ランダムに生成された24ビットのアドレスであり、上位12ビットは、仮想計算機のベンダIDである。
物理計算機1は、物理NIC(Network Interface Card)によって、スイッチ4に接続される。物理計算機1にも、物理MACアドレス及びIPアドレスが付与される。物理計算機1は、仮想インタフェース(vif: virtual interface)を有する仮想ブリッジ部を更に有し、仮想ブリッジ部は物理NICに接続される。そして、仮想計算機2の仮想MACアドレスは、仮想インタフェースにマッピングされる。仮想ブリッジ部は、仮想計算機2と物理NICとの間でスイッチとして機能する。
仮想計算機2は、移動元の第1の物理計算機1から移動先の第2の物理計算機1へ移動している。仮想計算機2は、移動後、仮想MACアドレスの接続先を、第2の物理計算機1の仮想インタフェースに切り替える。これによって、仮想計算機2は、第2の物理計算機1の上で、パケットを送受信することができる。
図2は、レイヤ3サブネット内で仮想計算機を移動させるシーケンス図である。
(S0)管理装置3は、ネットワークトポロジデータベースを有し、レイヤ2ネットワークにおけるスイッチのトポロジ情報を蓄積している。管理装置3は、ネットワークトポロジデータベースを用いて、レイヤ2ネットワークにおける第1の物理計算機と第2の物理計算機との間の分岐スイッチを探索することができる。「分岐スイッチ」とは、第1の物理計算機及び第2の物理計算機から見て、上層のスイッチを辿って、分岐点となるスイッチを意味する。管理装置3は、分岐スイッチのIPアドレス及びMACアドレスを探索する。
管理装置3が、ネットワークトポロジデータベースを有することなく、分岐スイッチを発見できない場合、そのツリー状の最上層のルートスイッチを、分岐スイッチとして選択してもよい。レイヤ2ネットワークがスパニングツリーによって構成されている場合、最小のブリッジIDのスイッチがルートスイッチである。
仮想計算機には、例えばXen(登録商標)及びVMware(登録商標)がある。Xenは、ケンブリッジ大学で研究された後、GNU(General Public License)の元で公開され、現在、XenSource社によって開発されている。Xenでは、仮想計算機の単位を「ドメイン」と称する。VMwareは、VMware社によって開発されており、物理計算機を「ホストOS」と称し、仮想計算機を「ゲストOS」と称する。
Xenの場合、以下のような設定ファイルに、仮想MACアドレスが登録されている。
kernel = '/boot/vmlinuz-2.6.24-19-xen'
ramdisk = '/boot/initrd.img-2.6.24-19-xen'
memory = '128'
root = '/dev/xvda2 ro'
disk = ['tap:aio:/vm/domains/vm001/swap.img,xvda1,w',
'tap:aio:/vm/domains/vm001/disk.img,xvda2,w',]
name = 'vm001'
vif = [ 'ip=192.168.10.111, mac=00:16:3E:A8:A0:88, bridge=xenbr1' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
extra = '2 console=xvc0'
ここで、"vif"は、仮想インタフェースを表し、"ip=192.168.10.111"は、仮想IPアドレスを表し、"mac=00:16:3E:A8:A0:88"は、仮想MACアドレスを表し、"bridge=xenbr1"は、仮想ブリッジの名前を表す。
また、VMwareの場合、以下のような設定ファイルに、仮想MACアドレスが登録されている。
ide0:0.redo = ""
ide1:0.startConnected = "TRUE"
ethernet0.addressType = "generated"
uuid.location = "56 4d ab 6d a7 e8 64 c2-c3 cc f8 35 65 f4 b9 1e"
uuid.bios = "56 4d ab 6d a7 e8 64 c2-c3 cc f8 35 65 f4 b9 1e"
ethernet0.generatedAddress = "00:0c:29:f4:b9:1e"
ethernet0.generatedAddressOffset = "0"
tools.syncTime = "FALSE"
ここで、ethernet0.generatedAddress = "00:0c:29:f4:b9:1e"が、仮想MACアドレスを表す。
仮想MACアドレスを含む設定ファイルは、仮想計算機が稼働している物理計算機の共有ディスクに記憶されていると共に、管理装置3によっても管理されている。
(S1)第2の物理計算機が、当該第2の物理計算機の物理インタフェースに対して、仮想計算機2の仮想MACアドレスを割り当てる。即ち、第2の物理計算機は、仮想MACアドレスに詐称される。尚、第2の物理計算機は、管理装置3からのアドレス詐称の制御メッセージを受信した際に、実行されるものであってもよい。
例えばLinux(登録商標)の場合、第2の物理計算機は、以下のようなコマンドを実行することによって、仮想MACアドレスに詐称することができる。
# ifdown eth0 (eth0インタフェースの停止)
# ifconfig eth0 hw ether 00:16:3E:A8:A0:88 (仮想MACアドレスに詐称)
# ifup eth0 (eth0インタフェースの起動)
(S2)第2の物理計算機が、分岐スイッチへ向けてパケットを送信する。このパケットの送信元MACアドレスは、仮想MACアドレスとなる。このパケットを中継するスイッチは、仮想MACアドレスに基づいて経路テーブルを更新する。これによって、レイヤ2ネットワークを構成するスイッチに、仮想MACアドレスを学習させることができる。尚、第2の物理計算機は、管理装置3からの学習パケット送信の制御メッセージを受信した際に、実行されるものであってもよい。
ここで、分岐スイッチのレイヤ3アドレスが特定されている場合、そのレイヤ3アドレスへ向けてping(Packet INternet Groper)パケットが送信される。pingパケットは、相手方物理計算機のIPアドレスへ向けて送信される、ICMPの32バイトのパケットであって、接続性及び応答時間等を診断する。一方、分岐スイッチのレイヤ3アドレスが特定されていない場合、その分岐スイッチの物理アドレスへ向けて、接続性確認のためのEthernet OAM Continuity Check (CC)又はLoop Back (LB)のメッセージが送信される。
(S3)第2の物理計算機が、第2の物理計算機の物理インタフェースに対して、物理MACアドレスに戻して割り当てる。尚、第2の物理計算機は、管理装置3からのアドレス復旧の制御メッセージを受信した際に、実行されるものであってもよい。
(S4)第1の物理計算機が、仮想計算機2を、第2の物理計算機のIPアドレス(レイヤ3アドレス)へ向けて移動させる。尚、第1の物理計算機は、管理装置3からの仮想計算機2の移動を指示する制御メッセージを受信した際に、実行されるものであってもよい。
例えばXenの場合、以下のようなコマンドを実行することによって、仮想計算機2を、第1の物理計算機(ip=192.168.10.2)から第2の物理計算機(ip=192.168.10.3)へ移動させることができる。
$ ssh -l root 192.168.10.2 (移動元の物理計算機へログイン)
# xm migrate --live vm01 192.168.10.3
(仮想計算機vm01を、第2の物理計算機へ移動)
本発明によれば、第2の物理計算機へ仮想計算機2が移動する前に、既に、レイヤ2ネットワークの各スイッチ4は、仮想計算機2の仮想MACアドレスを、経路テーブルに学習している。従って、仮想計算機2を宛先とするパケットは、レイヤ2ネットワークを介して、第2の物理計算機へ到達する。
図3は、レイヤ3サブネットを越えて仮想計算機を移動させるシステム構成図である。
図3のシステムによれば、第1の物理計算機は、複数のルータ5を介して、第2の物理計算機に接続される。従って、図2のシステムのように、レイヤ2ネットワークのスイッチに対する経路制御だけでは、仮想計算機の移動後のネットワークトポロジを変更することができない。そのために、本発明によれば、第1の物理計算機と第2の物理計算機との間に、レイヤ3のトンネルを生成する。そして、第1の物理計算機は、仮想計算機への経路制御を、そのレイヤ3トンネルの入口アドレスに対応付ける。
例えばLinuxの場合、第1の物理計算機は、以下のようなコマンドを実行することによって、IPトンネルを生成し、そのトンネルに入口アドレスを付与する。
# ip tunnel add netR2 mode gre remote 192.168.20.3 local 192.168.0.3
(GREトンネルを生成)
# ip link set netR2 up (トンネルを有効化)
# ip addr add 10.10.10.1 dev netR2 (トンネルにアドレスを付与)
ここで、トンネルnetR2には、アドレス"10.10.10.1"が付与される。
同様に、第2の物理計算機も、以下のようなコマンドを実行することによって、IPトンネルを生成し、そのトンネルに入口アドレスを付与する。
# ip tunnel add netR1 mode gre remote 192.168.0.3 local 192.168.20.3
(GREトンネルを生成)
# ip link set netR1 up (トンネルを有効化)
# ip addr add 10.10.10.2 dev netR1 (トンネルにアドレスを付与)
ここで、トンネルnetR1には、アドレス"10.10.10.2"が付与される。
次に、第1の物理計算機は、例えばXenの場合、以下のようなコマンドを実行することによって、仮想ブリッジxenbr1にそのトンネルを接続する。
# /etc/xen/scripts/network-bridge start vifnum=1 bridge=xenbr1 netdev=netR1
そして、第1の物理計算機が、仮想計算機2を、トンネルを介して、第2の物理計算機のレイヤ3アドレスへ向けて移動させる。例えばXenの場合、以下のようなコマンドを実行することによって、仮想計算機2を、第1の物理計算機(ip=192.168.10.2)から第2の物理計算機(ip=192.168.10.3)へ移動させることができる。
$ ssh -l root 192.168.10.2 (移動元の物理計算機へログイン)
# xm migrate --live vm01 192.168.10.3
(仮想計算機vm01を、第2の物理計算機へ移動)
図4は、本発明における物理計算機の機能構成図である。
図4によれば、物理計算機1は、スイッチ4に接続される通信インタフェース部10と、アドレス詐称部11と、学習パケット送信部12と、アドレス復旧部13と、仮想計算機送信部14と、仮想計算機受信部15と、トンネル生成部16と、トンネルアドレス割当部17と、仮想ブリッジ部18と、制御メッセージ受信部19と、トンネル経路制御部1Aとを有する。これら機能構成部は、物理計算機に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
アドレス詐称部11は、当該第2の物理計算機の物理インタフェースに対して、仮想計算機の仮想MACアドレスを割り当てる。尚、アドレス詐称部11は、制御メッセージ受信部19によって受信された管理装置3からの制御メッセージによって実行されてもよい。
学習パケット送信部12は、レイヤ2ネットワークにおける分岐スイッチへ向けてパケットを送信し、レイヤ2ネットワークを構成するスイッチに、仮想MACアドレスを学習させる。尚、学習パケット送信部12は、制御メッセージ受信部19によって受信された管理装置3からの制御メッセージによって実行されてもよい。
分岐スイッチのIPアドレス及び物理MACアドレスは、管理装置3から受信されるものであってもよい。分岐スイッチのIPアドレスが特定されている場合、そのIPアドレスへ向けてpingパケットが送信される。一方、分岐スイッチのレイヤ3アドレスが特定されていない場合、その分岐スイッチの物理MACアドレスへ向けてEthernet OAM Continuity Check (CC)又はLoop Back (LB)のメッセージが送信される。
アドレス復旧部13は、第2の物理計算機の物理インタフェースに対して、物理MACアドレスに戻して割り当てる。尚、学習パケット送信部12は、制御メッセージ受信部19によって受信された管理装置3からの制御メッセージによって実行されてもよい。
仮想計算機送信部14は、仮想計算機2を、移動先の物理計算機のIPアドレスへ向けて送信する。
仮想計算機送信部14は、仮想計算機2を、移動元の物理計算機から受信する。
トンネル生成部16は、相手方物理計算機との間でレイヤ3サブネットを越えて接続されている場合、レイヤ3(IP)トンネルを生成する。
トンネルアドレス割当部17は、トンネル生成部16によって生成されたトンネルの入口アドレスを、仮想ブリッジ部18に割り当てる。
仮想ブリッジ部18は、仮想インタフェースと物理NICとの間でスイッチとして機能する。仮想インタフェースは、仮想計算機2の仮想MACアドレスにマッピングされる。
制御メッセージ受信部19は、管理装置3から制御メッセージを受信し、アドレス詐称部11、学習パケット送信部12、アドレス復旧部13及びトンネル生成部16を制御する。
トンネル経路制御部1Aは、トンネル生成部16によって生成されたレイヤ3トンネルの入口アドレスに、仮想計算機への経路制御を、そのレイヤ3トンネルの入口アドレスに対応付ける。これによって、第1の物理計算機は、仮想計算機2に対するパケットを、レイヤ3トンネルを介して第2の物理計算機へ経路制御する。
図5は、本発明における管理装置の機能構成図である。
図5の管理装置3は、レイヤ3ネットワークに接続される通信インタフェース部30と、アドレス詐称制御部31と、学習パケット送信制御部32と、アドレス復旧制御部33と、仮想計算機移動制御部34と、分岐スイッチ探索部35と、ネットワークトポロジデータベース36と、トンネル生成制御部37と、トンネルアドレス割当制御部38とを有する。これら機能構成部は、管理装置3に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
アドレス詐称制御部31は、当該第2の物理計算機の物理インタフェースに対して、仮想計算機の仮想MACアドレスを割り当てるべく、第2の物理計算機へ制御メッセージを送信する。
学習パケット送信制御部32は、第2の物理計算機が、分岐スイッチへ向けてパケットを送信し、レイヤ2ネットワークの中のスイッチに、仮想MACアドレスを学習させるべく、第2の物理計算機へ制御メッセージを送信する。
アドレス復旧制御部33は、第2の物理計算機の物理インタフェースに対して、物理MACアドレスに戻して割り当てるべく、第2の物理計算機へ制御メッセージを送信する。
仮想計算機移動制御部34は、第1の物理計算機が、仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させるべく、第1の物理計算機へ制御メッセージを送信する。
分岐スイッチ探索部35は、第1の物理計算機と第2の物理計算機との間がレイヤ3サブネット内である場合、ネットワークトポロジデータベース36を用いて、レイヤ2ネットワークについて第1の物理計算機と第2の物理計算機との間の分岐スイッチを探索する。
ネットワークトポロジデータベース36は、第1の物理計算機と第2の物理計算機との間のスイッチのトポロジ情報を蓄積している。
トンネル生成制御部37は、第1の物理計算機と第2の物理計算機との間がレイヤ3サブネットを越えている場合に、両物理計算機に対してトンネルを生成するべく、制御メッセージを送信する。
トンネルアドレス割当制御部38は、生成したトンネルの入口アドレスを、仮想計算機に対応付けるべく、制御メッセージを送信する。
以上、詳細に説明したように、本発明の仮想計算機送信方法、システム、管理装置及びプログラムによれば、仮想計算機が移動した後、ネットワークトポロジを制御することによって、仮想アドレスを宛先とするパケットが、移動先の物理計算機へ転送される。
前述した本発明の種々の実施形態において、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
レイヤ3サブネット内で仮想計算機を移動させるシステム構成図である。 レイヤ3サブネット内で仮想計算機を移動させるシーケンス図である。 レイヤ3サブネットを越えて仮想計算機を移動させるシステム構成図である。 本発明における物理計算機の機能構成図である。 本発明における管理装置の機能構成図である。
符号の説明
1 物理計算機
10 通信インタフェース部
11 アドレス詐称部
12 学習パケット送信部
13 アドレス復旧部
14 仮想計算機送信部
15 仮想計算機受信部
16 トンネル生成部
17 トンネルアドレス割当部
18 仮想ブリッジ部
19 制御メッセージ受信部
1A トンネル経路制御部
2 仮想計算機
3 管理装置
30 通信インタフェース部
31 アドレス詐称制御部
32 学習パケット送信制御部
33 アドレス復旧制御部
34 仮想計算機移動制御部
35 分岐スイッチ探索部
36 ネットワークトポロジデータベース
37 トンネル生成制御部
38 トンネルアドレス割当制御部
4 スイッチ
5 ルータ

Claims (9)

  1. 複数のスイッチによって論理的にツリー状に構成されたレイヤ2ネットワークに接続された複数の物理計算機と、該物理計算機で稼働している仮想計算機を管理する管理装置とを有するシステムについて、前記物理計算機は、前記レイヤ2ネットワークに接続される物理インタフェースに物理レイヤ2アドレス及びレイヤ3アドレスを有し、前記仮想計算機は、仮想インタフェースに仮想レイヤ2アドレス及びレイヤ3アドレスを有し、移動前となる第1の物理計算機で稼働している仮想計算機を、移動後となる第2の物理計算機へ移動させる仮想計算機送信方法であって、
    第2の物理計算機が、当該第2の物理計算機の物理インタフェースに対して、前記仮想計算機の前記仮想レイヤ2アドレスを割り当てる第1のステップと、
    第2の物理計算機が、前記レイヤ2ネットワークにおける第1の物理計算機との間の分岐スイッチへ向けてパケットを送信し、前記レイヤ2ネットワークを構成する前記スイッチに、前記仮想レイヤ2アドレスを学習させる第2のステップと、
    第2の物理計算機が、第2の物理計算機の物理インタフェースに対して、前記物理レイヤ2アドレスに戻して割り当てる第3のステップと、
    第1の物理計算機が、前記仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させる第4のステップと
    を有することを特徴とする仮想計算機送信方法。
  2. 第1の物理計算機と第2の物理計算機とが、レイヤ3サブネットを越えて、異なるレイヤ2ネットワークに接続されている場合、
    第1の物理計算機が、第2の物理計算機のレイヤ3アドレスとの間で、レイヤ3トンネルを生成するステップと、
    第2の物理計算機が、第1の物理計算機のレイヤ3アドレスとの間で、レイヤ3トンネルを生成するステップと、
    第2の物理計算機が、前記仮想計算機の仮想インタフェースを、前記レイヤ3トンネルに対応付けるステップと、
    第1の物理計算機が、前記仮想計算機のレイヤ3アドレスへの経路制御を、前記レイヤ3トンネルの入口アドレスに対応付けるステップと、
    第1の物理計算機が、前記仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させるステップと
    を有することを特徴とする請求項1に記載の仮想計算機送信方法。
  3. 第2のステップについて、第2の物理計算機は、
    前記分岐スイッチのレイヤ3アドレスが特定されている場合、該レイヤ3アドレスへ向けてping(Packet INternet Groper)パケットを送信し、
    前記分岐スイッチのレイヤ3アドレスが特定されていない場合、該分岐スイッチの物理アドレスへ向けてEthernet OAM Continuity Check (CC)又はLoop Back (LB)のメッセージを送信する
    ことを特徴とする請求項1又は2に記載の仮想計算機送信方法。
  4. 前記システムは、管理装置を更に有し、
    前記管理装置は、
    前記レイヤ2ネットワークにおける第1の物理計算機と第2の物理計算機との間の分岐スイッチを探索し、
    第1のステップから第4のステップを実行すべき制御メッセージを、第1の物理計算機及び第2の物理計算機へ送信する
    ことを特徴とする請求項1から3のいずれか1項に記載の仮想計算機送信方法。
  5. 複数のスイッチによって論理的にツリー状に構成されたレイヤ2ネットワークに接続された複数の物理計算機を有するシステムについて、前記物理計算機は、前記レイヤ2ネットワークに接続される物理インタフェースに物理レイヤ2アドレス及びレイヤ3アドレスを有し、前記物理計算機で稼働する仮想計算機は、仮想インタフェースに仮想レイヤ2アドレス及びレイヤ3アドレスを有しており、移動前となる第1の物理計算機で稼働している仮想計算機を、移動後となる第2の物理計算機へ移動させる仮想計算機送信システムであって、
    第2の物理計算機は、
    当該第2の物理計算機の物理インタフェースに対して、前記仮想計算機の前記仮想レイヤ2アドレスを割り当てるアドレス詐称手段と、
    前記レイヤ2ネットワークにおける第1の物理計算機との間の分岐スイッチへ向けてパケットを送信し、前記レイヤ2ネットワークを構成する前記スイッチに、前記仮想レイヤ2アドレスを学習させる学習パケット送信手段と、
    第2の物理計算機の物理インタフェースに対して、前記物理レイヤ2アドレスに戻して割り当てるアドレス復旧手段と
    を有し、
    第1の物理計算機は、前記仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させる仮想計算機送信手段を有する
    ことを特徴とする仮想計算機送信システム。
  6. 第1の物理計算機と第2の物理計算機とが、レイヤ3サブネットを越えて、異なるレイヤ2ネットワークに接続されている場合、
    第1の物理計算機は、
    第2の物理計算機のレイヤ3アドレスとの間で、レイヤ3トンネルを生成するトンネル生成手段と、
    前記仮想計算機のレイヤ3アドレスへの経路制御を、前記レイヤ3トンネルの入口アドレスに対応付けるトンネル経路制御手段と
    を更に有し、
    第2の物理計算機は、
    第1の物理計算機のレイヤ3アドレスとの間で、レイヤ3トンネルを生成するトンネル生成手段と、
    前記仮想計算機の仮想インタフェースを、前記レイヤ3トンネルに対応付けるトンネル割当手段と
    を更に有し、
    前記仮想計算機送信手段は、前記仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させる
    ことを特徴とする請求項5に記載の仮想計算機送信システム。
  7. 前記学習パケット送信手段は、
    前記分岐スイッチのレイヤ3アドレスが特定されている場合、該レイヤ3アドレスへ向けてpingパケットを送信し、
    前記分岐スイッチのレイヤ3アドレスが特定されていない場合、該分岐スイッチの物理レイヤ2アドレスへ向けてEthernet OAM Continuity Check (CC)又はLoop Back (LB)のメッセージを送信する
    ことを特徴とする請求項5又は6に記載の仮想計算機送信システム。
  8. 複数のスイッチによって論理的にツリー状に構成されたレイヤ2ネットワークに接続された複数の物理計算機を有するシステムについて、前記物理計算機は、前記レイヤ2ネットワークに接続される物理インタフェースに物理レイヤ2アドレス及びレイヤ3アドレスを有し、前記物理計算機で稼働する仮想計算機は、仮想インタフェースに仮想レイヤ2アドレス及びレイヤ3アドレスを有しており、移動前となる第1の物理計算機で稼働している仮想計算機を、移動後となる第2の物理計算機へ移動させる管理装置であって、
    前記レイヤ2ネットワークについて第1の物理計算機と第2の物理計算機との間の分岐スイッチを探索する分岐スイッチ探索手段と、
    当該第2の物理計算機の物理インタフェースに対して、前記仮想計算機の前記仮想レイヤ2アドレスを割り当てるべく、第2の物理計算機へ制御メッセージを送信するアドレス詐称制御手段と、
    第2の物理計算機が、前記分岐スイッチへ向けてパケットを送信し、前記レイヤ2ネットワークの中の前記スイッチに、前記仮想レイヤ2アドレスを学習させるべく、第2の物理計算機へ制御メッセージを送信するアドレス学習制御手段と、
    第2の物理計算機の物理インタフェースに対して、前記物理レイヤ2アドレスに戻して割り当てるべく、第2の物理計算機へ制御メッセージを送信するアドレス復旧制御手段と、
    第1の物理計算機が、前記仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させるべく、第1の物理計算機へ制御メッセージを送信する仮想計算機移動制御手段と
    を有することを特徴とする管理装置。
  9. 複数のスイッチによって論理的にツリー状に構成されたレイヤ2ネットワークに接続された複数の物理計算機を有するシステムについて、前記物理計算機は、前記レイヤ2ネットワークに接続される物理インタフェースに物理レイヤ2アドレス及びレイヤ3アドレスを有し、前記物理計算機で稼働する仮想計算機は、仮想インタフェースに仮想レイヤ2アドレス及びレイヤ3アドレスを有しており、移動前となる第1の物理計算機で稼働している仮想計算機を、移動後となる第2の物理計算機へ移動させる管理装置に搭載されるコンピュータを機能させるプログラムであって、
    前記レイヤ2ネットワークについて第1の物理計算機と第2の物理計算機との間の分岐スイッチを探索する分岐スイッチ探索手段と、
    当該第2の物理計算機の物理インタフェースに対して、前記仮想計算機の前記仮想レイヤ2アドレスを割り当てるべく、第2の物理計算機へ制御メッセージを送信するアドレス詐称制御手段と、
    第2の物理計算機が、前記分岐スイッチへ向けてパケットを送信し、前記レイヤ2ネットワークの中の前記スイッチに、前記仮想レイヤ2アドレスを学習させるべく、第2の物理計算機へ制御メッセージを送信するアドレス学習制御手段と、
    第2の物理計算機の物理インタフェースに対して、前記物理レイヤ2アドレスに戻して割り当てるべく、第2の物理計算機へ制御メッセージを送信するアドレス復旧制御手段と、
    第1の物理計算機が、前記仮想計算機を、第2の物理計算機のレイヤ3アドレスへ向けて移動させるべく、第1の物理計算機へ制御メッセージを送信する仮想計算機移動制御手段と
    してコンピュータを機能させることを特徴とする管理装置用のプログラム。
JP2008294647A 2008-11-18 2008-11-18 仮想計算機送信方法、システム、管理装置及びプログラム Expired - Fee Related JP5079665B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008294647A JP5079665B2 (ja) 2008-11-18 2008-11-18 仮想計算機送信方法、システム、管理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008294647A JP5079665B2 (ja) 2008-11-18 2008-11-18 仮想計算機送信方法、システム、管理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2010124129A JP2010124129A (ja) 2010-06-03
JP5079665B2 true JP5079665B2 (ja) 2012-11-21

Family

ID=42325083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008294647A Expired - Fee Related JP5079665B2 (ja) 2008-11-18 2008-11-18 仮想計算機送信方法、システム、管理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5079665B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5500270B2 (ja) 2011-01-07 2014-05-21 富士通株式会社 プロファイル処理プログラム、データ中継装置およびプロファイル制御方法
JP5760647B2 (ja) * 2011-04-27 2015-08-12 日本電気株式会社 仮想環境における仮想ルーティング方法及び仮想ルーティングシステム
JP5906896B2 (ja) 2012-03-29 2016-04-20 富士通株式会社 ネットワークシステム及び通信制御方法
EP2687982A1 (en) * 2012-07-16 2014-01-22 NTT DoCoMo, Inc. Hierarchical system for managing a plurality of virtual machines, method and computer program
KR101503717B1 (ko) * 2013-01-31 2015-03-19 에스코어 주식회사 네트워크 장치 및 이에 이용되는 데이터 송수신 방법
JP6011401B2 (ja) 2013-03-18 2016-10-19 富士通株式会社 接続情報を生成するための情報処理装置及び方法
JP6079426B2 (ja) * 2013-05-16 2017-02-15 富士通株式会社 情報処理システム、方法、装置及びプログラム
JP6260310B2 (ja) 2014-02-03 2018-01-17 富士通株式会社 ネットワークスイッチ、ネットワークシステム及びネットワークシステムの制御方法

Also Published As

Publication number Publication date
JP2010124129A (ja) 2010-06-03

Similar Documents

Publication Publication Date Title
JP5079665B2 (ja) 仮想計算機送信方法、システム、管理装置及びプログラム
EP3430512B1 (en) Network virtualization of containers in computing systems
US11502950B2 (en) Universal customer premise equipment
US8549187B1 (en) System and method of MAC address assignment using IP addresses
JP6203943B2 (ja) デバイスのネットワークへのアクセス方法及び装置
US9026625B2 (en) System and method of MAC address assignment using dynamic MAC address protocol
US11941423B2 (en) Data processing method and related device
CN110995561B (zh) 基于容器技术的虚拟网络数据通信交互方法与系统
CN109861839B (zh) 业务不中断的虚拟交换机升级方法以及相关设备
JP2017520823A (ja) エンタープライズ・ベース・ネットワーク及びマルチテナント・ネットワーク間でのアプリケーションの移行
US9112769B1 (en) Programatically provisioning virtual networks
CN109587286B (zh) 一种设备接入控制方法及装置
WO2007065139A2 (en) Virtual tunnel network router
JP2012533253A (ja) 少なくとも1つの仮想ネットワークをオンザフライかつオンデマンドでデプロイする方法及びシステム
CN107645402B (zh) 一种路由管理方法和装置
WO2017137067A1 (en) Federated virtual datacenter apparatus
CN115686729A (zh) 容器集群网络系统、数据处理方法、设备及计算机程序产品
CN114422350A (zh) 一种公共云容器实例创建方法
US20190334862A1 (en) Seamless Network Characteristics For Hardware Isolated Virtualized Environments
EP3439249B1 (en) Network system, management method and device for same, and server
CN112667293B (zh) 一种部署操作系统的方法、装置及存储介质
US10171292B1 (en) Deploying a cloud infrastructure in a remote site
US20220103475A1 (en) Route Processing Method and Network Device
CN115550316A (zh) 容器化网络系统、容器化ipv6通信方法及装置、介质、设备
KR102660421B1 (ko) 가상네트워크관리장치 및 가상네트워크관리장치의 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120803

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120829

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees