Receive Side Scaling on UCS Blades

To implement enterprise application like SAP, Oracle or SQL on UCS virtualization environment. Default setting of UCS blades may not suitable for the application. We always expect highest performance by optimize hardware and ESXi. In my UCS training session, I noticed one “hidden” parameter may helpful for performance.

Receive Side Scaling – So called RSS, it’s a feature that allows you to utilize multiple CPUs and multiple cores per CPU to process the receiving network load. Without RSS, all of the receive network traffic is processed by one CPU and by only one core of the CPU. Essentially, RSS distributes receiving network load to all of the CPUs and their cores.

The parameter is an option in BIOS, but it’s not under BIOS policy in UCS Manager. You should go to Servers tab, extend Policies node, and check an Eth Adapter Policy under Adapter Policy node, Receive Side Scaling (RSS) is available in Options section of right frame. Blade should be rebooted to leverage the option.

Please keep in mind that do not enable RSS if your adapters more than your CPUs, it will cause unexpected network transmit failed. RSS option must be enabled on UCS policy before enable it on OS layer (I confirmed with Cisco TAC, is that true?). Regarding OS layer, please refer to those articles.

Receive side scaling on Intel® Network Adapters

How to enable Receive Side Scaling on Microsoft Windows Server 2008 R2

You don’t have to enable the option if network traffic is not a concern.

How to Install Proper Drivers for 3rd Party Network Adapter on ESXi 5.x

Most company use HP, Cisco, IBM network adapter, most of their network adapter drivers include in ESXi 5.x images. But what if your network adapter is other vender? I’m going to show you how to identify and install proper drivers for 3rd party network adapter on ESXi 5.x.

My ESX 4.0 server (HP DL380G7) was working properly for VDI environment. I upgraded the hosts to ESXi 5.x to leverage by new features, but unfortunately 3rd party network adapter didn’t work after installed ESXi 5.1. vmnic0, 1, 2, 3 belong to embedded HP NIC, vmnic4, 5, 6, 7 disappeared in vSphere Client. I’m going to use vmnic4 for example.

Identify network adapter model

The additional NICs model shows as ServerEngine Corp. OneConnect 10Gb NIC on vSphere Client. It doesn’t give me more information.

The two NICs show Unknown PCI device in BIOS, it indicates not a HP NIC.

Search keyword vmnic4 in vmkernel log by command less /var/log/vmkernel | grep vmnic4, you will see ESXi cannot load the driver.

Run command vmkchdev -l |grep vmnic4 to get similar output below:

002:01.0 19a2: 0700 10df: e622 vmkernel vmnic0

In this example, the values are:

VID = 19a2

DID = 0700

SVID = 10df

SDID = e622

Match the IDs in VMware hardware compatibility guide – IO device.

It indicates the network adapter is Emulex OneConnect OCe10102-N

Upgrade firmware and drivers

Looks like that’s a native Emulex network adapter, so let’s search Emulex website….

Driver downloads for VMware vSphere 5.1 states “You must update the firmware and boot code on the OCe11102 and the OCe10102 UCNAs when you install the driver.”

Go to firmware downloads page and download the Off-line One Connect Flash ISO version 4.6.142.0, mount to HP server via iLO and reboot.

Flash Utility finds the network adapters and ask continue, press Y button to start firmware upgrading.

Run command reboot after upgrading complete.

Driver of network adapter actually already includes in ESXi 5.1, so you don’t have to upgrade again, you can run command esxcli software vib list | grep be2net to find out the installed driver version.