前回の記事で、vDSを利用したMACラーニングについて書いてみましたが、今回はNested ESXiのvMotionを行った際の挙動について書いてみようと思います。
構成
vMotion時の動作について
vMotionが行われると、別のホストへVMが移動しますが、その際に通信が切断されないように、vMotion後に移動先ホストがRARPプロトコルを利用し、接続している物理スイッチに対して、vNICのアドレスに関するMACアドレステーブルの更新を行います。
Nested ESXiをvMotionした場合の動作について
Nested ESXiのVMをvMotionした場合、Nested ESXi自身はVMと同様となりますが、Nested ESXi上に稼働しているVMがどのように扱われるかあまり情報がないため、パケットキャプチャを行い確認してみました。
vMotion後の移動先ホストにログインし、pktcap-uwを使い、パケットキャプチャを行います。pktcap-uwのオプションで、--ethtype 0xEthertype
のようにEthertypeを指定できるため、RARPのEthertypeの8035を指定します。
pktcap-uw --uplink vmnic0 --ethtype 0x8035 -o /vmfs/volumes/datastore1/test.pcap
vMotionを実行し、パケットキャプチャを取得し、pcapファイルをデータストアのファイルブラウザからダウンロードします。 Wiresharkを起動し、pcapファイルを開きます。
Nested ESXiのMACアドレスのみを抽出すると以下のようになります。vMotionのタスクが14:45:31に開始し、14:46:14に終了していました。vMotion処理中にRARPのパケットが送出され、最初は2秒後、次は4秒後、次は6秒後、次は10秒後、次は16秒後といった具合に間隔を長くし、RARPを送出していることが分かります。間隔はフィボナッチ数列になってそうです。
No. Time Source Destination Protocol Length Info 14 2022-XX-XX 14:46:08.519875 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 17 2022-XX-XX 14:46:10.520016 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 18 2022-XX-XX 14:46:10.520016 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 21 2022-XX-XX 14:46:14.520214 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 22 2022-XX-XX 14:46:14.520215 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 25 2022-XX-XX 14:46:20.520509 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 26 2022-XX-XX 14:46:20.520509 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 29 2022-XX-XX 14:46:30.521139 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 30 2022-XX-XX 14:46:30.521139 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 34 2022-XX-XX 14:46:46.522160 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed 35 2022-XX-XX 14:46:46.522161 VMware_60:e5:ed Broadcast RARP 60 Who is 00:50:56:60:e5:ed? Tell 00:50:56:60:e5:ed
Nested ESXi上に稼働しているVMについては、vMotionのタスク後に1度だけRARPが送出されていることが分かります。
No. Time Source Destination Protocol Length Info 33 2022-XX-XX 14:46:46.522159 VMware_c6:07:20 Broadcast RARP 60 Who is 00:0c:29:c6:07:20? Tell 00:0c:29:c6:07:20
MACラーニングが無効なvDSにて、Nested ESXiのVMのvMotionを行った場合も確認しましたが、Nested ESXiのRARPは送出されていましたが、Nested ESXi上に稼働しているVMについては、RARPが送出は確認できませんでした。
物理スイッチ側の動作について確認
vMotion後に物理スイッチ側でNested ESXiのVMとNested ESXi内部にゲストOSのMACアドレスについて、MACアドレステーブルの確認します。
フレームがNested ESXiと同じポートから送出されていることが分かります。
#show mac address-table 50 0050.5660.e5ed DYNAMIC Gi0/6 #Eested ESXiのvmk0 50 000c.29c6.0720 DYNAMIC Gi0/6 #ゲストOSのeth0