How to Configure Jumbo Frames for an iSCSI Port Group – ESXi 4.1
Posted: September 29, 2011 Filed under: Networking, VMware | Tags: 4.1, esxcfg, esxcfg-vmknic, esxcfg-vswitch, esxi, frames, iscsi, jumbo, jumbo frames, portgroup, vmkernel, vmknic Leave a commentIf you want to enable jumbo frames on an iSCSI port group in ESXi 4.1, you’ll need to make configuration changes at the vSwitch and VMkernel NIC level. Through trial and error, I found that I had to create the iSCSI port group from the command line instead of just enabling jumbo frames on an already existing port group. At first, I already had an iSCSI port group created. I did this via the vSphere Client. But then enabling jumbo frames from the CLI didn’t work. I had to delete the iSCSI port group first, then recreate from the CLI. Note that these commands are case sensitive, including the names of vSwitches, port groups, and VMkernel NICs. These command were completed via an SSH session directly to an ESXi 4.1 host.
One other note is that I had to complete these commands one at a time. I tried, for example, creating the vSwitch and adding the port group along with specifying a VLAN all at the same time. Of course, it failed and a message told me I had to complete one at a time.
Enable jumbo frames on the vSwitch
esxcfg-vswitch –m 9000 vSwitch_Name
The -m sets the maximum transmission unit, MTU, size.
Example: esxcfg-vswitch -m 9000 vSwitch1
Create an iSCSI port group
esxcfg-vswitch –A iSCSI_Port_Group_Name vSwitch_Name
The -A is case sensitive and adds a port group to the designated vSwitch.
Example: esxcfg-vswitch -A iSCSI_1 vSwitch1
Add iSCSI VLAN to iSCSI port group
esxcfg-vswtich –p iSCSI_Portgroup_Name –v VLAN_Number vSwitch_Name
The -p specifies the port group on which you’re operating. The -v adds a VLAN by VLAN number.
Example: esxcfg-vswitch -p iSCSI_1 -v 100 vSwitch1
Add VMkernel NIC to iSCSI portgroup
esxcfg-vmknic –a –i ip_address –n netmask –m 9000 iSCSI_Portgroup_Name
The -a is again case sensitive and means that you’re adding a VMkernel NIC. The -i means you’re specifying an IP address, -n a subnet mask, and again the -m specifies MTU size.
Example: esxcfg-vmknic -a -i 192.168.1.100 -n 255.255.255.0 -m 9000 iSCSI_1
Verify vSwitch has jumbo frames enabled
esxcfg-vswitch –l
The -l is a lowercase L, for list, just like Linux. Sample output from the list command is shown below. Note the 9000 MTU size.
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch0 128 5 128 1500 vmnic1,vmnic2
PortGroup Name VLAN ID Used Ports Uplinks
vMotion 12 1 vmnic2,vmnic1
Management Network 13 1 vmnic1,vmnic2
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch1 128 8 128 9000 vmnic4,vmnic5
PortGroup Name VLAN ID Used Ports Uplinks
VM Network 10 2 vmnic4,vmnic5
iSCSI_1 100 1 vmnic4,vmnic5
Verify VMkernel NIC has jumbo frames enabled
esxcfg-vmknic –l
Again, the -l is a lowercase L. Sample output is below. Ensure you see 9000 for MTU size.
Interface Port Group/DVPort IP Family IP Address Netmask Broadcast MAC Address MTU TSO MSS Enabled Type
vmk0 Mgmt Network IPv4 xx.xx.xx.xx 255.255.255.0 xx.xx.xx.xx yy:yy:yy:yy:yy:yy 1500 65535 true STATIC
vmk1 vMotion IPv4 xx.xx.xx.xx 255.255.255.224 xx.xx.xx.xx yy:yy:yy:yy:yy:yy 1500 65535 true STATIC
vmk2 iSCSI_1 IPv4 xx.xx.xx.xx 255.255.255.224 xx.xx.xx.xxyy:yy:yy:yy:yy:yy 9000 65535 true STATIC