Search This Blog

Monday, May 16, 2011

speed and duplex of an ESX / ESXi

Configuring the speed and duplex of an ESX / ESXi host network adapter

Purpose

Configuring the speed and duplex of a network link is important for reliable network operation. This article shows how to configure these parameters on an ESXi / ESX host.

Resolution

ESX/ESXi recommended settings for Gigabit-Ethernet speed and duplex while connecting to a physical switch port are as follows:
  • Auto Negotiate <-> Auto Negotiate (For 1Gbps)
  • Auto Negotiate <-> Auto Negotiate (For 10Gbps, supported only by ESX / ESXi 3.5 Update 1 and above)
  • 1000 MB /Full Duplex <-> 1000 MB /Full Duplex
  • VMware does not recommend mixing a hard-coded setting with Auto-negotiate.
  • Fast Ethernet – 100 MB /Full Duplex <-> 100 MB /Full Duplex
  • For more information on Virtual Switch properties, see the ESX Server 3 configuration guide.
    • Section: Advance Networking > Virtual Switch properties > Editing Virtual Switch properties
    Duplex Mismatch
    • A common issue with speed/duplex is when the duplex settings are mismatched between two switches, between a switch and a router or between the switch and a workstation or server.
    • This can occur when manually hardcoding the speed and duplex or from autonegotiation issues between the two devices.

     



    The advantages of utilizing AUTO-NEGOTIATION on Gigabit-Ethernet Interfaces:
  • AUTO-NEGOTIATION is highly recommended on ESX/ESXi Gigabit-Ethernet Interface cards and physical Gig switch ports for the following reasons:
    • Even though hard coding the speed and duplex will work and is in the documentation - In some cases there are performance
      issues after
      an ESX/ESXi upgrade 3.5 – setting the configuration to Auto-negotiate seems to resolve performance issues.
    • It resolves issues with ISCSI, VMOTION, NETWORK PERFORMANCE, and related network issues.
    • Duplex settings—while Cisco devices only support full-duplex, the IEEE 802.3z standard does have support for half-duplex Gigabit-Ethernet.
      Because of this, duplex is negotiated between Gigabit-Ethernet
      devices.
    • Flow Control—Because of the amount of traffic that can be generated by Gigabit-Ethernet, there is a PAUSE functionality built into Gigabit-Ethernet.
      The PAUSE frame is a packet that tells the far-end device to
      stop the transmission of packets until the sender is able to handle all the traffic and clear its buffers.
      The PAUSE frame has a timer included, which tells the far-end device when to start to send packets again. If that
      timer expires without getting another PAUSE frame,
      the far-end device can then send packets again. Flow-
      Control is an optional item and must be negotiated. Devices can be capable of sending or responding to a PAUSE frame, and they possibly do not agree to the flow-control request of the far-end.
  • FAST ETHERNET – 100/full <–> 100/full - VMware recommends forcing the network adapter on the ESX Server host and the physical switch port to which
    it connects to 100/Full when using 100 MB links with ESX
    Server host.

Configuring the speed and duplex of the ESX/ESXi Server network adapter using the vSphere / Virtual Infrastructure Client:

To configure the speed and duplex of the ESX/ESXi host network adapter using the vSphere Client:
  1. Log in to the ESX/ESXi host using vSphere as the root user or a user with equivalent permissions.
  2. Highlight the ESX/ESXi server host and click the Configuration tab.
  3. Click the Networking link.
  4. Click Properties next to the appropriate virtual switch.
  5. Click the Network Adapters tab.
  6. Highlight the desired network adapter, and click Edit.
  7. Select appropriate speed and duplex from the dropdown box.
The following ESX command is utilized to configure Network Interface Cards:
  • esxcfg-nics <options> [nic]
The following is a description of esxcfg-nics.The command esxcfg-nics provides information about the Physical NICs in use by the VMkernel.
This will print the VMkernel name for the NIC, its PCI ID, Driver, Link state, Speed, Duplex, and a short PCI description of the card.
It also allows users to set speed and duplex settings for a specific NIC.
 
OPTIONS-s --speed speed
Set the speed at which a given card should run. It must be one of 10, 100, 1000, or 10000.-d --duplex duplex
Set the duplex value which a given card should run.-a --autoSet the given NIC to auto-negotiate its speed and duplex settings .-l --listList the NICs in the system, and print their current and configured speed and duplex.
-r --restore
Restore NIC settings from persistent storage. This should only be used only on system startup and should not be used by users.
 
Note: For information on ESX 2.5 and earlier, see Setting Network Adapter Speed in ESX Server (813).   

Configuring the speed and duplex of the ESX/ESXi host network adapter at the service console

To configure the speed and duplex of the host network adapter using the service console:
  1. Log into the VMware ESX/ESXi host as the root user.
  2. Type the following command and press Enter to list the available network adapters and their current settings:

    [root@server root]# esxcfg-nics -l
    Name PCI Driver Link Speed Duplex Description
    vmnic0 04:04.00 tg3 Up 1000Mbps Full BCM5780 Gigabit Ethernet
    vmnic1 04:04.01 tg3 Up 1000Mbps Full BCM5780 Gigabit Ethernet
  3. The following examples illustrate how to change the speed and duplex of a host network adapter.

    Configure vmnic1 for autonegotiation:

    [root@server root]# esxcfg-nics -a vmnic1

    Force vmnic1 to operate at 100/Full:
    [root@server root]# esxcfg-nics -s 100 -d full vmnic1

    Type esxcfg-nics without parameters to get full usage information.

1 comment:

  1. that's great but when I do this on my servers I get an error message. The switch port that the server is connected to is 100Mbps. The server and switch are currently auto/auto and are running at 100 full we want to set them both to 100 full but the server returns the error Call "HostNetworkSystem.UpdatePhysicalNicLinkSpeed" for opbject "networkSystem" Operation Failed, Dianostics report: Invalid argument: Invalid argument.

    ReplyDelete