Solved

VM network Troubleshooting

  • 12 May 2020
  • 5 replies
  • 989 views

Hello, 

If you use balance-slb, how does one figure out which physical is being used by one VM ?

For instance, with ESXi I’d run esxtop, and I can see which physical nic is being “mapped” to my virtual nic. Is it possible with AHV? If yes how ? 

I think it is important when you troubleshoot.


This topic has been closed for comments

5 replies

Hi

You can use Network Visualization:

https://portal.nutanix.com/page/documents/kbs/details/?targetId=kA032000000TVfiCAG

https://next.nutanix.com/how-it-works-22/network-visualization-and-network-switch-information-37473

Is it the only way ? No cli commands ? 

I don’t know any matching command to esxtop on AHV.

Thank you for answering !

Userlevel 3
Badge +14

If you use balance-slb, your VM source MAC addresses are converted to a hash (1-255) by OVS. This hash value is then balanced between the active physical adapters in the bond at the bond_rebalance_interval (10 second by default, Nutanix recommends 30 seconds).

You can view the active hashes on each adapter by using the following command from the CVM:

ssh root@192.168.5.1 ovs-appctl bond/show

 

You’ll see output like:

$ ssh root@192.168.5.1 ovs-appctl bond/show

---- br0-up ----

bond_mode: balance-slb

next rebalance: 4762 ms

active slave mac: 00:e0:ed:73:f3:5f(eth3)

 

slave eth2: enabled

may_enable: true

hash 10: 5 kB load

hash 22: 1 kB load

hash 34: 1 kB load

hash 58: 1 kB load

hash 60: 6 kB load

hash 68: 6 kB load

hash 78: 21 kB load

hash 81: 1 kB load

hash 83: 1574 kB load

...

 

slave eth3: enabled

active slave

may_enable: true

hash 2: 2 kB load

hash 3: 11 kB load

hash 4: 23 kB load

hash 8: 3 kB load

hash 13: 48 kB load

hash 17: 25 kB load

hash 19: 1 kB load

 

As far as I know, there is no easy way to determine which MAC addresses belong to which hash value. Since there are a maximum of 255 hash values, and hash collision is not avoided, it’s possible that more than one VM gets hashed to the same value.

 

The goal of balance-slb is to attempt to evenly distribute traffic from a number of source MAC addresses among a set of bond interfaces, and maintain that balance over time as traffic patterns change, which the above strategy accomplishes.

 

The drawbacks are as follows:

  1. You cannot easily map a single VM to the currently active link.
  2. You cannot guarantee that any two VMs are mapped to opposing bond member interfaces.

 

There are other drawbacks to balance-slb around multicast handling, highlighted in the AHV Networking Best Practices Guide - which is worth a look.