It sounds like a misalignment between your vSwitch and pSwitch load-balancing algorithms, or perhaps the method used to team the pSwitch ports.
Use the following process to check / resolve the problem. It assumes that you are using Virtual Switch Tagging (VST) as described in
http://www.vmware.com/vmtn/resources/412...
1. Determine what load balancing algorithm is in use on the pSwitch.
In IOS this is usually something like "show etherchannel load-bal..."
If possible use a load-balancing algorithm of src-dst-ip - this provides the greatest flexibility.
Most low-end Cisco switches default to src-mac, whereas higher-end switches usually default to src-dst-ip.
In any case, note the algorithm you are using.
2. Ensure that the vSwitch is using a complimentary algorithm.
If you can't get to the ESX host using the VIC, either unlug all ports (except one - usually vmnic0) or shut them down on the
pSwitch.
This will ensure that you are "load-balancing" on a single port. Make sense?
Then:
For *-mac configure the vSwitch to use the MAC hash option.
For *-ip configure the vSwitch to use the IP hash option.
3. Configure the pSwitch to properly team and trunk VLANs.
In IOS this would include:
a) The creation of an EtherChannel port group (aka IEEE 802.3ad
Static);
b) The addition of all teamed ports to this FEC/GEC port group;
c) The addition of the following commands to
boththe FEC/GEC port group (int poN) and all switch ports (int x/x):
switchport mode trunk
switchport trunk encapsualtion dot1q
switchport trunk allowed vlan x,y,z
optional: switchport trunk native vlan xx
spanning-tree portfast trunk
4. Add the appropriate vmnics to the vSwitch using:
esxcfg-vswitch -L vmnicX vSwitchY...
5. Re-enable all pSwitch ports you may have disabled in step 2 above...
... and you should have peace, hapiness & joy
Hope this helps.
Ben