Hyper-V ライブマイグレーション時のネットワーク切り替えの仕組み
みなさん、こんにちは。
今回は Hyper-V のライブマイグレーション時のネットワークの切り替えの仕組みをご説明します。
ご存知のようにライブマイグレーションは、仮想マシン(ゲスト OS )を動作させたまま別の Hyper-V ホストへ移動することができ、仮想マシンと外部のコンピュータとのセッションは切れません。実際には仮想マシンの移動の前後でネットワークスイッチの接続ポートなど物理的な経路が変わってしまいますが、その影響を回避する仕組みを備えています。
下図はライブマイグレーション時の動きを図解したものです。
<移動前、移動中>
・仮想マシン(仮想 NIC:ここでは vNIC-A)は、は外部スイッチの Port-1に接続
・移動処理が終わるまでは、Port-1 経由で外部機器と通信
・外部スイッチの MAC アドレステープルは、vNIC-A は Port-1 に接続されていると学習
<移動直後>
・仮想マシン(vNIC-A)は 外部スイッチ Port-2 に物理的に接続される
・vNIC-A の MAC アドレスは、移動前後で不変
・外部スイッチの MAC アドレステープルを書き換え、vNIC-A が Port-2 になるよう、ARP パケットが送信される
実際の ARP パケットを Network Monitor で採取したものが下記です。
<環境>
・vNIC の MAC アドレス:00 15 5D 00 29 0C
・ゲストOS:Windows Server 2008 R2(192.168.0.201)
<キャプチャパケット>
- Ethernet: Etype = ARP,DestinationAddress:[FF-FF-FF-FF-FF-FF],SourceAddress:[00-15-5D-00-29-0C]
+ DestinationAddress: *BROADCAST [FF-FF-FF-FF-FF-FF]
+ SourceAddress: Microsoft Corporation 00290C [00-15-5D-00-29-0C]
EthernetType: ARP, 2054(0x806)
UnknownData: Binary Large Object (18 Bytes)
- Arp: Request, 192.168.0.201 asks for 192.168.0.201
HardwareType: Ethernet
ProtocolType: Internet IP (IPv4)
HardwareAddressLen: 6 (0x6)
ProtocolAddressLen: 4 (0x4)
OpCode: Request, 1(0x1)
SendersMacAddress: 00-15-5D-00-29-0C
SendersIp4Address: 192.168.0.201
TargetMacAddress: FF-FF-FF-FF-FF-FF
TargetIp4Address: 192.168.0.201
MAC レベルでのブロードキャストなので、スイッチにミラーポート設定しなくとも空きポートに繋げばパケットを採取できます。
ご興味ある方は、お試しください。
Network Monitor は下記より無償ダウンロードできます。
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f
参考情報:
Network Monitor 3 を使用したパケットの採取(マイクロソフト Network & AD サポートチーム公式ブログ)
http://blogs.technet.com/b/jpntsblog/archive/2010/05/07/network-monitor-3.aspx