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.
Best answer by diegodcoView original
You can use Network Visualization:
Is it the only way ? No cli commands ?
I don’t know any matching command to esxtop on AHV.
Thank you for answering !
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 firstname.lastname@example.org ovs-appctl bond/show
You’ll see output like:
$ ssh email@example.com ovs-appctl bond/show
---- br0-up ----
next rebalance: 4762 ms
active slave mac: 00:e0:ed:73:f3:5f(eth3)
slave eth2: enabled
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
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:
There are other drawbacks to balance-slb around multicast handling, highlighted in the AHV Networking Best Practices Guide - which is worth a look.