borzaya - Fotolia


Change VMkernel port MTU size to reduce packet fragmentation

A high maximum transmission unit size creates fewer frames, which lowers the risk of collisions and reduces overhead. The key is figuring out how high an MTU size is too high.

A VMkernel port is a port that connects a vSphere host's VMkernel to a virtual switch to filter different types...

of system traffic, such as vMotion traffic, Fault Tolerance logging or storage traffic. The primary goal of a VMkernel port -- also known as a VMkernel adaptor or a VMkernel network interface -- is to provide Layer 2 or Layer 3 services to a vSphere host. A VMware administrator can change the maximum transmission unit size of a VMkernel port to achieve better performance and reduce network packet fragmentation. Maximum transmission unit (MTU) refers to the largest size packet or frame that can be sent in a packet- or frame-based network. A normal network splits data in 1,500 byte segments and wraps a frame around the data to tell it where to go. If you split that data into 9,000 byte segments, the network will create fewer frames. Fewer frames lead to fewer collisions and less overhead, which contributes to higher performance levels. It's important to be careful when changing MTU size because, if the MTU size is too large, certain routers might not be able to handle the packet.

You can change a VMkernel's MTU size with either the vSphere Web Client or PowerCLI. PowerCLI is more suited to mass changes, while the vSphere Web Client is more granular. In this article, we'll look at how to adjust MTU size via the vSphere Web Client.

Before you begin, be sure to change MTU settings from the physical switch level all the way up to the virtual NIC (vNIC) level. If you don't address every component in a chain, you'll end up with worse performance. Typically, you need to change MTU settings on different elements, such as the switch, the host computer and the client system. Most of the time, the host is a SAN or an iSCSI tape driver. The client is usually a server that accesses the SAN or tape drive.

Change MTU size at the vNIC level

First, use the vSphere Web Client to connect to your vCenter Server, and then select "Expand your data center and cluster" to get a view of the individual hosts within your cluster. Select the host, then locate the Configure tab. Under the Configure tab, click Virtual switches > vSwitch1 and select the vmk2 VMkernel port, then click the pencil icon shown in Figure A.

Change MTU size at the vNIC level.
Figure A. Change the VMkernel port MTU size at the vNIC level.

This brings up an overlay window, which you can see in Figure B. Under vNIC settings, change the MTU value to 9,000 to activate jumbo frames.

Change the MTU value.
Figure B. Change the MTU value to 9,000.

Change MTU size at the vSwitch level

The process to change VMkernel port MTU size at the vSwitch level is similar. Once again, select "Expand your data center and cluster." Select the host and then, under the Configure tab, go to Virtual switches > vSwitch1. Click the pencil icon and, in the overlay window under Properties, change the MTU (bytes) value to 9,000.

Change MTU size at the vSwitch level.
Figure C. Change VMkernel port MTU size at the vSwitch level.

Once you change MTU settings, be sure to test them. Make sure a 9,000 byte packet can reach its destination across the whole chain. If you can't ping a 9,000 byte packet from end to end, there's something wrong with your configuration and you'll need to go back and identify the issue.

Next Steps

Configure a VMkernel connection for better ESXi traffic

The difference between a vSwitch and a distributed vSwitch

Protect the VMkernel by protecting ESXi

Dig Deeper on VMware networking

Virtual Desktop
Data Center
Cloud Computing