みなさん、こんにちは。今回は 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