<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gavin Adams Information Blog &#187; jumbo frames</title>
	<atom:link href="http://www.gavinadams.org/blog/tag/jumbo-frames/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gavinadams.org/blog</link>
	<description>Musings on hobbies, technology and topics of interest</description>
	<lastBuildDate>Sat, 25 Jun 2011 14:22:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>ESXi 4.1 and the 9000 Byte MTU (on vmk0)</title>
		<link>http://www.gavinadams.org/blog/2010/07/19/esxi-41-and-the-9000-byte-mtu-on-vmk0/</link>
		<comments>http://www.gavinadams.org/blog/2010/07/19/esxi-41-and-the-9000-byte-mtu-on-vmk0/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 19:04:54 +0000</pubDate>
		<dc:creator>me@gavinadams.org</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[jumbo frames]]></category>
		<category><![CDATA[vSphere]]></category>

		<guid isPermaLink="false">http://www.gavinadams.org/blog/?p=190</guid>
		<description><![CDATA[<p>Recently I did a &#8220;few&#8221; upgrades to the home lab. Besides an upgrade to enhance shared storage for vSphere (my old NAS was at 502 days uptime), I took the opportunity to enable jumbo packets on my Dell PowerConnect 5324 and the new fire-and-forget Thecus N7700PRO NAS. As the basis for new lab infrastructure to [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I did a &#8220;few&#8221; upgrades to the home lab. Besides an upgrade to enhance shared storage for vSphere (my old NAS was at 502 days uptime), I took the opportunity to enable jumbo packets on my <a href="http://www.dell.com/us/en/gen/networking/pwcnt_5324/pd.aspx?refid=pwcnt_5324&amp;s=gen">Dell PowerConnect 5324</a> and the new fire-and-forget <a href="http://www.amazon.com/gp/product/B002RW0A0E?ie=UTF8&amp;tag=gavada-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B002RW0A0E">Thecus N7700PRO</a> NAS. As the basis for new lab infrastructure to test VMware, Hyper-V and Xen, it&#8217;s a good improvement.</p>
<p>Since the first use was to test some of the new features of vSphere / vCenter 4.1, I also took the opportunity to change over to ESXi from ESX. According to VMware, 4.1 is the last release of ESX, so time to get cracking with ESXi, vMA, and the differences in managing the hosts.</p>
<p>I wanted to take advantage of jumbo frames on my ESXi systems. However, I didn&#8217;t decide this until I&#8217;d already installed the hosts (and didn&#8217;t see an advanced option to set the management interface MTU).</p>
<p><span id="more-190"></span></p>
<h1>The Problem</h1>
<p>I couldn&#8217;t provision my NAS storage into a different VLAN / physical network, which would be best practices for storage for the ESXi hosts. And I didn&#8217;t realize that with ESXi there is no way to set tell the hypervisor which port group / vmk to use for NFS access. It&#8217;s based on the configured network of the NAS device or based on the lowest numbered vmk of the machine. And since vmk0, Management Network, is created by default with an MTU of 1500 bytes, getting that to 9000 bytes is a problem.</p>
<h1>The Solution</h1>
<p>So what we&#8217;re going to do is use two vmk&#8217;s to set each to an MTU of 9000 while in maintenance mode. We&#8217;ll also change the port group names to reflect the one that deals with vMotion.</p>
<h1>Prerequisites</h1>
<p>So we have a cluster of hosts with multiple vmnics, but with managment, vMotion and storage all in the same network. The host we are going to change is in the following environment:</p>
<ol>
<li>Switch and NFS storage both configured for jumbo frames and an MTU of 9000 bytes</li>
<li>vMA4.0.0 (or 4.1 &#8212; I&#8217;m using 4.0 for ghettovcbg2 compatibility) and vCenter 4.1 on installed dedicated systems (or one not affected by the host we are converting)</li>
<li>ESXi 4.1 configured with default MTU (1500 bytes) managed by vCenter</li>
<li>VLAN is the management and storage network, VMware hosts are trunked to the the switch</li>
<li>Ability to migrate guests to other cluster members</li>
<li>Full permissions to the vSphere</li>
<li>Working knowledge of making changes to networking and storage</li>
</ol>
<h1>The Process</h1>
<h2>Prep the ESXi Host</h2>
<p>Our host, esx03.peanuts.local has two IP addresses, 172.16.200.90 assigned to vmk0 and 172.16.200.91 assigned to vmk1. Do the following to get the host ready:</p>
<ul>
<li>Migrate all running VM&#8217;s to other hosts</li>
<li>Migrate powered down VM&#8217;s to another host</li>
<li>Place the host into maintenance mode</li>
<li>Optional &#8211; You may wish to disable HA. I found that the various connectivity changes forced HA scans that caused alerts to rise. No issues, but beware.</li>
</ul>
<p>At this point we can do almost anything we wish to the host without affecting the rest of the environment.</p>
<h2>Remove vmk1</h2>
<p>At the start, vSwitch0 looks like this:</p>
<p><a href="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vSwitch-before-changes.png"><img class="alignnone size-full wp-image-205" title="vSwitch before changes" src="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vSwitch-before-changes.png" alt="" width="431" height="357" /></a></p>
<p>Edit the properties of the switch and remove the port group <strong>VMKernel Primary</strong>. At this point, there will be a single vmkernel, vmk0, that we&#8217;ll use to connect via the vMA.</p>
<p><a href="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vmkernel-removed.png"><img class="alignnone size-full wp-image-204" title="vmkernel removed" src="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vmkernel-removed.png" alt="" width="432" height="321" /></a></p>
<h2>Connect to the host via vMA</h2>
<p>Login as the vi-admin and add the host via the IP address of vmk0, and connect. You will need the root account password for the ESXi box.</p>
<pre>[vi-admin@vma ~]$ <strong>sudo vifp addserver 172.16.200.90</strong>
root@esx03.peanuts.local's password:
[vi-admin@vma ~]$ <strong>vifpinit 172.16.200.90
</strong></pre>
<h2>Convert vSwitch0 to Support Jumbo Frames</h2>
<p>After connecting, modify the switch and verify the settings. Note, this may cause a connectivity outage. For one host, it took 30-40 seconds to complete the command.</p>
<pre>[vi-admin@vma ~][172.16.200.90]$ <strong>esxcfg-vswitch -m 9000 vSwitch0</strong>
[vi-admin@vma ~][172.16.200.90]$ <strong>esxcfg-vswitch -l</strong>
Switch Name     Num Ports       Used Ports      Configured Ports    <span style="color: #993300;"><strong>MTU</strong></span>     Uplinks
vSwitch0        128             5               128                 <span style="color: #993300;"><strong>9000</strong></span>    vmnic2,vmnic1,vmnic0

   PortGroup Name                VLAN ID   Used Ports      Uplinks
   ISP - Comcast                 502       0               vmnic2,vmnic1,vmnic0
   Development LAN               30        0               vmnic2,vmnic1,vmnic0
   VM Network                    10        0               vmnic2,vmnic1,vmnic0
   Management Network            10        1               vmnic0,vmnic1,vmnic2</pre>
<p>Look to ensure this the vSwitch shows 9000 under MTU.</p>
<h2>Create the New vmk1</h2>
<p>Create a new port group and assign it to the proper VLAN. I used a name that would be more specific to the purpose once we&#8217;re done (vMotion).</p>
<pre>[vi-admin@vma ~][172.16.200.90]$ <strong>esxcfg-vmknic -a -i 172.16.200.91 -n 255.255.255.0 -m 9000 "vMotion"</strong>
Added the VMkernel NIC successfully
[vi-admin@vma ~][172.16.200.90]$ <strong>esxcfg-vmknic -l</strong>
Interface  Port Group/DVPort             IP Family IP Address                        Netmask           <span style="color: #993300;"><strong>MTU</strong></span>     Type
vmk0       Management Network            IPv4      172.16.200.90                     255.255.255.0     <span style="color: #000000;">1500</span>    STATIC
vmk0       Management Network            IPv6      fe80::21b:21ff:fe0f:82b           64                1500    STATIC
vmk1       vMotion                       IPv4      172.16.200.91                     255.255.255.0     <span style="color: #993300;"><strong>9000</strong></span>    STATIC
vmk1       vMotion                       IPv6      fe80::250:56ff:fe77:3517          64                <span style="color: #993300;"><strong>9000</strong></span>    STATIC</pre>
<p>Verify that vmk1 has 9000 for the MTU (I removed the MAC address field so it would show here). Note that vmk0, how we&#8217;re connected and where NFS traffic transits, is still at 1500 bytes. Not for long!</p>
<h2>Remove vmk0</h2>
<p>Prior to removing vmk0, use the GUI to enabled Management traffic on the new vmk1 (vMotion), then select OK:</p>
<p><a href="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vmk1-mgmt.png"><img class="alignnone size-full wp-image-202" title="vmk1-mgmt" src="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vmk1-mgmt.png" alt="" width="536" height="663" /></a></p>
<p>At the vSwitch0 properties page, select and Remove the Management Network port group (vmk0):</p>
<p><a href="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/remove-vmk0.png"><img class="alignnone size-full wp-image-200" title="remove-vmk0" src="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/remove-vmk0.png" alt="" width="293" height="469" /></a></p>
<p>Note: when you hit Remove and confirm, connectivity to the host will be lost until the next step. What this does is starts the process of removing the vmkernel. However, since removal of that breaks connectivity, the actual removal of the port group doesn&#8217;t take place. At least it didn&#8217;t for me.</p>
<h2>Create New vmk0</h2>
<p>From the vMA, forcibly remove the host by IP address (vmk0&#8242;s), then add the host via the vmk1 IP address. Verify that the vSwitch has the port group <strong>Management Network </strong>still there and assigned to VLAN 10:</p>
<pre>[vi-admin@vma ~][172.16.200.90]$ <strong>sudo vifp removeserver 172.16.200.90 --force</strong>
root@172.16.200.90's password:
[vi-admin@vma ~][172.16.200.90]$ <strong>sudo vifp addserver 172.16.200.91</strong>
root@esx03-vmk.peanuts.local's password:
[vi-admin@vma ~][172.16.200.90]$ <strong>vifpinit 172.16.200.91</strong>
[vi-admin@vma ~][172.16.200.91]$<strong> esxcfg-vswitch -l</strong>
Switch Name     Num Ports       Used Ports      Configured Ports    MTU     Uplinks
vSwitch0        128             5               128                 9000    vmnic2,vmnic1,vmnic0

   PortGroup Name                VLAN ID   Used Ports      Uplinks
   VM Network                    10        0               vmnic2,vmnic1,vmnic0
   ISP - Comcast                 502       0               vmnic2,vmnic1,vmnic0
   Development LAN               30        0               vmnic2,vmnic1,vmnic0
   vMotion                       10        1               vmnic2,vmnic1,vmnic0
   <span style="color: #993300;"><strong>Management Network</strong></span>            <span style="color: #993300;"><strong>10</strong></span>        0               vmnic0,vmnic1,vmnic2</pre>
<p>If the port gorup isn&#8217;t there, use the steps above to create the port group and assign it to the VLAN. Now create the new vmk0 with jumbo frames and verify both vmk&#8217;s are correctly made:</p>
<pre>[vi-admin@vma ~][172.16.200.91]$<strong> esxcfg-vmknic -a -i 172.16.200.90 -n 255.255.255.0 -m 9000 "Management Network"</strong>
Added the VMkernel NIC successfully
[vi-admin@vma ~][172.16.200.91]$ <strong>esxcfg-vmknic -l</strong>
Interface  Port Group/DVPort             IP Family IP Address                        Netmask           MAC Address       <span style="color: #993300;"><strong>MTU</strong></span>     Type
vmk1       vMotion                       IPv4      172.16.200.91                     255.255.255.0     00:50:56:77:35:17 <span style="color: #993300;"><strong>9000</strong></span>    STATIC
vmk1       vMotion                       IPv6      fe80::250:56ff:fe77:3517          64                00:50:56:77:35:17 <span style="color: #993300;"><strong>9000</strong></span>    STATIC
vmk0       Management Network            IPv4      172.16.200.90                     255.255.255.0     00:50:56:71:f8:b6 <span style="color: #993300;"><strong>9000</strong></span>    STATIC
vmk0       Management Network            IPv6      fe80::250:56ff:fe71:f8b6          64                00:50:56:71:f8:b6 <span style="color: #993300;"><strong>9000</strong></span>    STATIC</pre>
<p>You can see that the MTU is correct for both vmk&#8217;s (scroll over, I  left the MAC address in this time).  At this point, vCenter will see the host.</p>
<h2>Final Restart</h2>
<p>One last reboot of the host will ensure everything is in proper order. I do this from vCenter once the host is reachable:</p>
<p><a href="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/reboot.png"><img class="alignnone size-full wp-image-199" title="reboot" src="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/reboot.png" alt="" width="297" height="408" /></a></p>
<p>After the host comes back up in vCenter, we&#8217;ll clean up the networking config and storage.</p>
<h2>Reassign Services to Proper vmk&#8217;s</h2>
<p>Go into the vSwitch0 properties and set the port properties for each vmkernel:</p>
<p><a href="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vmk0-props.png"><img class="alignnone size-full wp-image-201" title="vmk0-props" src="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vmk0-props.png" alt="" width="470" height="210" /></a></p>
<p><strong>Management Network </strong>- vmk0 &#8211; <em>Management traffic </em>- managed via vCenter / vMA, and as lowest vmk, used by NFS for storage on the same subnet.</p>
<p><a href="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vmk1-props.png"><img class="alignnone size-full wp-image-203" title="vmk1-props" src="http://www.gavinadams.org/blog/wp-content/uploads/2010/07/vmk1-props.png" alt="" width="438" height="196" /></a></p>
<p><strong>vMotion </strong>- vmk1 &#8211; <em>vMotion and FT</em> (fault tolerance logging). Deselect <em>Management traffic</em>.</p>
<p>When you select OK, this will finalize the port group settings.</p>
<h2>Clean Up</h2>
<p>At this point, all NFS traffic (actually any traffic) can now use jumbo frames. I&#8217;d go over to Storage and refresh to make sure the store populates as expected. Finally, we&#8217;ll clear out the host entry in the vMA and add using the FQDN (a topic for another posting!):</p>
<pre>[vi-admin@vma ~][172.16.200.91]$ <strong>sudo vifp removeserver 172.16.200.91</strong>
root@172.16.200.91's password:
[vi-admin@vma ~][172.16.200.91]$ <strong>sudo vifp addserver esx03.peanuts.local</strong>
root@esx03.peanuts.local's password:
[vi-admin@vma ~][172.16.200.91]$ <strong>vifpinit esx03</strong>
[vi-admin@vma ~][esx03]$<strong> esxcfg-vmknic -l</strong>
Interface  Port Group/DVPort             IP Family IP Address                        Netmask           MAC Address       MTU     Type
vmk0       Management Network            IPv4      172.16.200.90                     255.255.255.0     00:50:56:71:f8:b6 9000    STATIC
vmk0       Management Network            IPv6      fe80::250:56ff:fe71:f8b6          64                00:50:56:71:f8:b6 9000    STATIC
vmk1       vMotion                       IPv4      172.16.200.91                     255.255.255.0     00:50:56:77:35:17 9000    STATIC
vmk1       vMotion                       IPv6      fe80::250:56ff:fe77:3517          64                00:50:56:77:35:17 9000    STATIC</pre>
<p>And the server is now reachable via the FQDN and the vmk&#8217;s appear in proper order. If you have the ability, perform a <strong>netstat -na</strong> on the NAS to verify connections are coming from the vmk0 address.</p>
<h2>Problems and Resolution</h2>
<p>I&#8217;ll update the post with corrections, but with different configurations, we may run into different issues.</p>
<table border="0">
<caption><span style="font-size: large;"><strong>Observed Problems and Resolutions</strong></span></caption>
<tbody>
<tr>
<td style="text-align: center;">Problem</td>
<td style="text-align: center;">Resolution</td>
</tr>
<tr>
<td>NAS shows connections from both vmk0 and vmk1 addresses</td>
<td>This may require one final reboot to clear. The reboot completed after creating vmk0 still had vmk1 as designated for management traffic. Those connections may live until no longer used or another reboot. This should only be an issue if NFS permissions are set to specific IP addresses.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.gavinadams.org/blog/2010/07/19/esxi-41-and-the-9000-byte-mtu-on-vmk0/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

