Skip to main content

vSwitch Load Balancing Policies in VMware



vSwitch Load Balancing Policies in VMware 

It is important to understand the Network Load balancing policies that we have in ESXi and How the vSwitch is going to handle the Load across the Physical Network card that we configured in a NIC team.


To start with the same, there were about 5 Network Load balancing policies we have in ESXi, as listed below.
  • Route based on originating virtual port ID
  • Route based on IP hash
  • Route based on source MAC hash
  • Use Explicit fail-over order
  • Route based on physical NIC load (Only available for Distributed Switch) 

Its very important to understand how each of these policies work when multiple physical configured in a NIC team for a given vSwitch or a dvSwitch. So lets get started.

Route based on originating virtual port ID

This  Route based on originating virtual port ID is the default policy. The virtual machine outbound traffic is mapped to a specific physical Network Card based on the virtual port ID to which this virtual machine is connected to. The Virtual Port ID is nothing but the port where the virtual maching is plugged into. So the Port ID is taken into consideration to select the particular physical NIC card to send and receive the traffic untill that physical card is failed. When configured, only one VMNIC (physical NIC) is used per virtual NIC or VMkernel port. If a NIC's link goes down, the virtual NICs and VMkernel ports are reassigned to the remaining NICs in the team, and the host sends out advertisements to the physical switch to ensure the MAC address table is updated.
 This load balancing technique is very simple and fast, and does not require any external physical switch configuration. The Network Detection policies like "Link Status or Beacon Probing" can be used with this  load balancing Policy. This load balancing policy can be set both at vSwitch or PortGroup level.

 Route based on IP hash

Route based on IP Hash works by taking the hash of both the source and destination IP addresses and this algorithm helps in choosing the appropriate uplink in the team to send and receive the traffic.  If the  virtual machine is communicating with multiple IP addresses then the traffic can use all the Phsycial network cards in the team.  Route based on IP Hash load balancing requires that the physical switch configuration, the ports has to be configured as EtherChannel. Beacon probing is not supported when vSwitch is configured with the Route based on the IP Hash . Only link status mechansim can be used as a to detect the link failures. This policy has got the higher CPU overhead and is not compatible with all the Physical switches that you use in your environment. This load balancing policy can be set both at vSwitch or PortGroup level.

 Route based on source MAC hash

This Route based on source MAC hash algorithm chooses Physical NIC to utilize for sending and receiving the traffic based on the source Virtual Machine MAC address. No Physical Switch Configuration is required for this Load balancing policy. This load balancing policy can be set both at vSwitch or PortGroup level. When used, traffic from a given virtual machine vNIC is consistently sent to the same physical adapter unless there is a failover happens to the another adapter in the NIC team and the Replies are also received on the same physical adapter, as the physical switch learns about the port association.

Use Explicit fail-over order

Always use the highest order uplink from the list of Active adapters which passes failover detection criteria, and is an equivalent to a fail over policy.  Its not really a Load balancing policy

Route based on physical NIC load 

Its available only with the Distributed Switches, hence we need to have a Enterprise Plus license. 
The Route based on Physical NIC load is also know as the Load Based Teaming (LBT). This the most efficient load balancing algorithm which calculates the work loads of the actual Physical NICs. When this policy is configured the portgroup actively monitors the uplink utilization, when an uplink reaches 75% utilization for 30 seconds, the load based teaming tries to move the virtual machine traffic to  the other free uplinks. 

So based on the requirements select the load balancing policy that works for you.

Comments

Popular posts from this blog

Quick Guide to VCF Automation for VCD Administrators

  Quick Guide to VCF Automation for VCD Administrators VMware Cloud Foundation 9 (VCF 9) has been  released  and with it comes brand new Cloud Management Platform –  VCF Automation (VCFA)  which supercedes both Aria Automation and VMware Cloud Director (VCD). This blog post is intended for those people that know VCD quite well and want to understand how is VCFA similar or different to help them quickly orient in the new direction. It should be emphasized that VCFA is a new solution and not just rebranding of an old one. However it reuses a lot of components from its predecessors. The provider part of VCFA called Tenenat Manager is based on VCD code and the UI and APIs will be familiar to VCD admins, while the tenant part inherist a lot from Aria Automation and especially for VCD end-users will look brand new. Deployment and Architecture VCFA is generaly deployed from VCF Operations Fleet Management (former Aria Suite LCM embeded in VCF Ops. Fleet Management...
  Issue with Aria Automation Custom form Multi Value Picker and Data Grid https://knowledge.broadcom.com/external/article?articleNumber=345960 Products VMware Aria Suite Issue/Introduction Symptoms: Getting  error " Expected Type String but was Object ", w hen trying to use Complex Types in MultiValue Picker on the Aria for Automation Custom Form. Environment VMware vRealize Automation 8.x Cause This issue has been identified where the problem appears when a single column Multi Value Picker or Data Grid is used. Resolution This is a known issue. There is a workaround.  Workaround: As a workaround, try adding one empty column in the Multivalue picker without filling the options. So we can add one more column without filling the value which will be hidden(there is a button in the designer page that will hide the column). This way the end user will receive the same view.  
  "Cloud zone insights not available yet, please check after some time" message on Aria Automation https://knowledge.broadcom.com/external/article?articleNumber=314894 Products VMware Aria Suite Issue/Introduction Symptoms: The certificate for Aria operations has been replaced since it was initially added to Aria Automation as an integration. When accessing the Insights pane under  Cloud Assembly  ->  Infrastructure  ->  Cloud Zone  ->  Insights  the following message is displayed:   "Cloud zone insights not available yet, please check after some time." The  /var/log/services-logs/prelude/hcmp-service-app/file-logs/hcmp-service-app.log  file contains ssl errors similar to:   2022-08-25T20:06:43.989Z ERROR hcmp-service [host='hcmp-service-app-xxxxxxx-xxxx' thread='Thread-56' user='' org='<org_id>' trace='<trace_id>' parent='<parent_id>' span='<span_id>'] c.v.a.h.a.common.AlertEnu...