woensdag, november 22, 2006

VMware: physical switch load balancing

One of the most difficult (and almost undocument) features of ESX is to configure your switch for assisted load balancing for a VM Network vswitch with more then 1 pNICs. You should be aware of the fact that ESX supports 802.3ad Static only (EtherChannel).

In essence, you need 2 things:
1. A load balancing schema on your switch port group, based on the switch configuration. The trick here is to setup your vSwitch load balancing policy to be compatible.

  • src-mac, dst-mac, src-dst-mac = MAC hash
  • src-ip, dst-ip, src-dst-ip = IP hash
For Cisco catalyst switches, issue the show etherchannel load-balance command. This should result in something like src-dst-ip.

2. VLAN trunk port on your switch when using different VLANs (VST mode) for your Virtual Machines

To achive this, you need to configure your switch(example for a catalyst running on IOS creating an etherchannel for 3 pNICs):

----------------------------------------------------------
interface port-channel1
description VMware ESX - Trunk A
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 100,200 (= VLANs to be assigned)
switchport mode trunk
switchport nonegotiate (=ESX does not support DTP (dynamic trunking protocol). So when you configure a trunk port, set it to nonegotiate)
spanning-tree portfast trunk
!
exit
!
interface GigabitEthernet1/1
description VMware ESX - Trunk A - NIC 0
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 100,200 (= VLANs to be assigned)
switchport mode trunk
switchport nonegotiate (=ESX does not support DTP (dynamic trunking protocol). So when you configure a trunk port, set it to nonegotiate)
spanning-tree portfast trunk
channel-group 1 mode on
!
exit
!
interface GigabitEthernet1/2
description VMware ESX - Trunk A - NIC 1
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 100,200 (= VLANs to be assigned)
switchport mode trunk
switchport nonegotiate (=ESX does not support DTP (dynamic trunking protocol). So when you configure a trunk port, set it to nonegotiate)
spanning-tree portfast trunk
channel-group 1 mode on
exit
!
interface GigabitEthernet1/3
description VMware ESX - Trunk A - NIC 2
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 100,200 (= VLANs to be assigned)
switchport mode trunk
switchport nonegotiate (=ESX does not support DTP (dynamic trunking protocol). So when you configure a trunk port, set it to nonegotiate)
spanning-tree portfast trunk
channel-group 1 mode on
----------------------------------------------------------

There is however a whitepaper available on the VMware site. Download it here

2 opmerkingen:

tony1kenobi zei

Hi,

Its good ro that I am not the only blogger talking about high tech load balancing switch solutions, vmware etc.

excellent detail provided in your post.

My blog is a combo of detail and basic material that anyone could read - I hope :-)

cheers
Tony

Michael zei

I notice that you have the

spanning-tree portfast trunk

setting set for your load balancing setup. What does this do?

My setup looks like this

interface Port-channel1
switchport
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate