Monday, February 11, 2013

Traceroute and vMotion Traffic on vSphere

Recently I received a question about the behavior of the traceroute command.

Now here is the situation.

User has vMotion Network and Management Network on the separate subnets.

vSwitch0 has 2 x 1 GB nics (uplinks) for Management Network

esxcfg-vswitch -l
Switch Name      Num Ports   Used Ports  Configured Ports  MTU     Uplinks
vSwitch0         128         6           128               1500    vmnic1,vmnic0

  PortGroup Name        VLAN ID  Used Ports  Uplinks
  Management Network    56       1           vmnic0,vmnic1


vSwtich1 has 1 x 10 GB nic for Virtual Machine traffic and also for vMotion traffic.

Switch Name      Num Ports   Used Ports  Configured Ports  MTU     Uplinks
vSwitch1         128         41          128               1500    vmnic4

PortGroup Name        VLAN ID  Used Ports  Uplinks
  VLAN10                10       21          vmnic4
  VLAN11                11       7           vmnic4
  vMotion-01            80       1           vmnic4


Management vmkernel IP is 172.16.56  subnet and vMotion vmkernel IP is on 172.16.20 subnet


The default route is 172.16.56.1

 esxcfg-route -l
VMkernel Routes:
Network          Netmask          Gateway          Interface
172.16.83.32     255.255.255.224  Local Subnet     vmk2
172.16.20.0      255.255.255.0    Local Subnet     vmk5
172.16.37.0      255.255.255.0    Local Subnet     vmk3
172.16.56.0      255.255.255.0    Local Subnet     vmk0
default          0.0.0.0          172.16.56.1      vmk0



Output is truncated for other vmkernel ports and just focusing on Management and vMotion Network vmkernel interfaces.

esxcfg-vmknic -l
Interface  Port Group/DVPort   IP Family IP Address                              Netmask         Broadcast       MAC Address       MTU     TSO MSS   Enabled Type
vmk0       Management Network  IPv4      172.16.56.109                           255.255.255.0   172.16.56.255   2c:76:8a:4e:7c:8c 1500    65535     true    STATIC
vmk5       vMotion-01          IPv4      172.16.20.109                           255.255.255.0   172.16.20.255   00:50:56:64:de:cc 1500    65535     true    STATIC
Now if you see the result of traceroute command you will see that its going through the vmk0 interface which does not mean that the vMotion traffic will route through the vSwitch0 uplinks viz. vmnic0 and vmnic1

~ # traceroute 172.16.20.110traceroute: Warning: Multiple interfaces found; using 172.16.56.109 @ vmk0
traceroute to 172.16.20.110 (172.16.20.110), 30 hops max, 40 byte packets
 1  172.16.20.110 (172.16.20.110)  0.546 ms  0.265 ms  0.196 ms

So if you want to test the connectivity between the vMotion vmkernel interfaces then you can use the vmkping command

On the source host

#vmkping -i

Now lets say you want to see if the vMotion traffic is flowing through the expected interface or not so you can initiate the vMotion of a virtual machine from one host to another use following command:

'tcpdump-uw -i '



The above command will show you the real time traffic.

@FrankDenneman has recently blogged about the vMotion using the Management Network with two different scenarios.

There is a change in the ICMP behavior on ESXi 5.1 so please refer the KB 2042189 for more information as well.

Now this blog is just for information purpose only and do not include other scenarios with various types of configuration such as Jumbo Frames, Multi-nic vMotion etc. etc. so use the information accordingly.


Thanks for your time and please share !!



No comments:

Post a Comment