<?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>BeyondVM</title>
	<atom:link href="http://www.beyondvm.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.beyondvm.com</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Mon, 04 Aug 2014 23:40:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.6</generator>
	<item>
		<title>How To: ThinApp Firefox 29 and Plugins for vCloud Director 5.1.x</title>
		<link>http://www.beyondvm.com/2014/08/how-to-thinapp-firefox-29-and-plugins-for-vcloud-director-5-1-x/</link>
		<comments>http://www.beyondvm.com/2014/08/how-to-thinapp-firefox-29-and-plugins-for-vcloud-director-5-1-x/#comments</comments>
		<pubDate>Mon, 04 Aug 2014 23:38:04 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[vCloud]]></category>

		<guid isPermaLink="false">http://www.beyondvm.com/?p=478</guid>
		<description><![CDATA[In response to this article about Firefox 30 and vCloud 5.1.x and this article about Java updates breaking everything I decided to throw together a quick How-to on using ThinApp to create a sandboxed version of Firefox and Java that solves both of these problems pretty well. This ThinApp setup includes a legacy version of Java (7u25) which [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>In response to <a title="Alert: Firefox 30 is not a supported browser for vCloud 5.1.x" href="http://www.beyondvm.com/2014/06/alert-firefox-30-is-not-a-supported-browser-for-vcloud-5-1-x/">this article</a> about Firefox 30 and vCloud 5.1.x and <a title="Alert: Java JRE 7u51 breaks vCloud Uploads Everything" href="http://www.beyondvm.com/2014/01/alert-java-jre-7u51-breaks-vcloud-uploads/">this article</a> about Java updates breaking <strong>everything</strong> I decided to throw together a quick How-to on using ThinApp to create a sandboxed version of Firefox and Java that solves both of these problems pretty well.</p>
<p>This ThinApp setup includes a legacy version of Java (7u25) which is super old but it should help with accessing the following (not exhaustive list, just things I have run into, please help expand list):</p>
<ul>
<li>UCS Manager 2.1.x</li>
<li>vCloud Director 5.1.x Uploads</li>
<li>HP iLO 2.x</li>
<li>Legacy DRAC</li>
<li>vCloud VPN</li>
<li>EMC Unisphere</li>
</ul>
<p>Onward, but first an important caveat:</p>
<h1><strong>*****************************************************</strong></h1>
<h1><strong>This process creates an insecure browser installation, DO NOT browse the internet with this configuration&#8230;ever.  </strong></h1>
<h1><strong>You have been warned.</strong></h1>
<h1><strong>*****************************************************</strong></h1>
<p><strong>Note:</strong> I am not a ThinApp expert (and I usually avoid windows, hah!) so there may be a more elegant way to do this, if anyone has tips let me know!</p>
<p>First, collect the correct tools, I attached the versions that I used at the end of the post:</p>
<ol>
<li>Firefox 29.0.1 (<a href="https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/29.0.1/win32/en-US/">Link</a>)</li>
<li>Java 7u25 (<strong>32 bit</strong>) (<a href="http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jre-7u25-oth-JPR">Link</a>)</li>
<li>Flash Installer (for correct OS, I used Win8) (<a href="http://get.adobe.com/flashplayer/otherversions/">Link</a>)</li>
<li>VMRC Installer for 5.1.x from your instance (or mine from 5.1.x below)</li>
<li>VMware ThinApp 5.x (<a href="http://www.vmware.com/go/trythinapp">Trial</a>)</li>
<li><strong>Clean</strong> Windows 7 or 8 Capture VM (Base install without security software is best)</li>
</ol>
<p>After Windows is installed, the following are steps to take to create the package:</p>
<ol>
<li><strong>Take snapshot</strong> of base VM</li>
<li><strong>Install</strong> ThinApp 5.x</li>
<li><strong>Take</strong> <strong>snapshot</strong> (this is a theme, I have found a successful ThinApp capture is snapshot heavy)</li>
<li><strong>Start</strong> &#8220;ThinApp Setup Capture&#8221; utility, <strong>Click </strong>Next<strong><br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_01.png"><img class="alignnone size-medium wp-image-490" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_01-300x276.png" alt="ff_thin_01" width="300" height="276" /></a></strong></li>
<li><strong>Click </strong>Prescan<strong><br />
</strong></li>
<li><strong>Install</strong> Firefox
<ul>
<li><strong>Choose</strong> Custom</li>
<li><strong>De-select</strong> &#8220;Maintenance Service&#8221;</li>
</ul>
</li>
<li><strong>Install</strong> Flash (Latest version is fine)</li>
<li><strong>Install</strong> Java
<ul>
<li><strong>Choose</strong> &#8220;Change Destination Location&#8221;</li>
<li>Install to &#8220;c:\java&#8221;</li>
</ul>
</li>
<li><strong>Install</strong> VMRC Plugin</li>
<li><strong>Launch</strong> Firefox, perform the following tasks
<ol>
<li><strong>Navigate</strong> to about:config in Firefox, <strong>Click</strong> &#8220;I&#8217;ll be careful, I promise!&#8221;</li>
<li><strong>Change</strong> the following settings
<ul>
<li>app.update.auto &#8211; false</li>
<li>app.update.enabled &#8211; false</li>
<li>app.update.silent &#8211; false</li>
<li>app.update.mode &#8211; 2</li>
<li>extensions.update.autoUpdateDefault &#8211; false</li>
<li>extensions.update.enabled &#8211; false</li>
<li>(optional, disables login remembering) signon.rememberSignons &#8211; false</li>
<li>(optional, enables pop-ups since vCD uses these) dom.disable_open_during_load &#8211; false</li>
</ul>
</li>
<li><strong>Verify</strong> plugin updating is disabled:
<ol>
<li><strong>Navigate</strong> to Menu -&gt; Addons</li>
<li><strong>Click</strong> Plugins</li>
<li><strong>Click</strong> the gear icon and make sure this option is not selected<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_02.png"><img class="alignnone size-medium wp-image-491" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_02-300x273.png" alt="ff_thin_02" width="300" height="273" /></a></li>
</ol>
</li>
<li>Perform the following tasks to verify that Java is installed
<ol>
<li><strong>Navigate</strong> to <a href="https://www.java.com/en/download/installed.jsp">this link</a>.</li>
<li><strong>Click</strong> &#8220;Activate&#8221;<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_03.png"><img class="alignnone size-medium wp-image-493" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_03-300x208.png" alt="ff_thin_03" width="300" height="208" /></a></li>
<li><strong>Click</strong> to &#8220;Allow and Remember&#8221;<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_04.png"><img class="alignnone size-medium wp-image-495" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_04-300x174.png" alt="ff_thin_04" width="300" height="174" /></a></li>
<li><strong>Check</strong> the &#8220;Don&#8217;t Ask Again&#8230;&#8221; Checkbox and <strong>Click</strong> Later<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_05.png"><img class="alignnone size-medium wp-image-496" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_05-300x185.png" alt="ff_thin_05" width="300" height="185" /></a></li>
<li><strong>Click</strong> the Run button at the prompt to verify the Java applet loads</li>
</ol>
</li>
</ol>
</li>
<li><strong>Take</strong> Snapshot (just in case)</li>
<li>Back to the ThinApp Capture Utility, <strong>click </strong>Postscan<strong><br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_06.png"><img class="alignnone size-medium wp-image-498" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_06-300x276.png" alt="ff_thin_06" width="300" height="276" /></a><br />
</strong></li>
<li><strong>Click</strong> OK<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_07.png"><img class="alignnone size-full wp-image-499" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_07.png" alt="ff_thin_07" width="256" height="171" /></a></li>
<li>This will take some time, if(Time.current &gt; 17:00) { Fridge.get(&#8216;beer&#8217;); } else { Counter.get(&#8216;coffee&#8217;); }</li>
<li><strong>De-select</strong> all entry points other than Firefox, <strong>click</strong> Next<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_08.png"><img class="alignnone size-medium wp-image-500" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_08-300x274.png" alt="ff_thin_08" width="300" height="274" /></a></li>
<li><strong>Click</strong> Next<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_09.png"><img class="alignnone size-medium wp-image-501" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_09-300x275.png" alt="ff_thin_09" width="300" height="275" /></a></li>
<li><strong>Click</strong> Next<strong><br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_10.png"><img class="alignnone size-medium wp-image-502" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_10-300x274.png" alt="ff_thin_10" width="300" height="274" /></a><br />
</strong></li>
<li><strong>Select</strong> &#8220;Restricted write access&#8221;, <strong>click</strong> Next.<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_11.png"><img class="alignnone size-medium wp-image-503" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_11-300x275.png" alt="ff_thin_11" width="300" height="275" /></a></li>
<li><strong>Select</strong> &#8220;Same Directory&#8230;&#8221;, <strong>click</strong> Next.<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_12.png"><img class="alignnone size-medium wp-image-504" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_12-300x275.png" alt="ff_thin_12" width="300" height="275" /></a></li>
<li><strong>Select</strong> No (unless you want to share), <strong>click</strong> next<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_131.png"><img class="alignnone size-medium wp-image-507" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_131-300x273.png" alt="ff_thin_13" width="300" height="273" /></a></li>
<li><strong>Click</strong> next (I don&#8217;t use the ThinDirect feature because it only works with IE)<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_141.png"><img class="alignnone size-medium wp-image-508" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_141-300x276.png" alt="ff_thin_14" width="300" height="276" /></a></li>
<li><strong>Update</strong> inventory name to &#8220;Firefox 29.0.1&#8243; to differentiate it.<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_15.png"><img class="alignnone size-medium wp-image-509" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_15-300x275.png" alt="ff_thin_15" width="300" height="275" /></a></li>
<li><strong>Select</strong> &#8220;Use one of the entry points&#8221; then pick &#8220;Mozilla Firefox.exe&#8221;, <strong>Check</strong> &#8220;Compress virtual package&#8221;, <strong>Click<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_16.png"><img class="alignnone size-medium wp-image-510" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_16-300x276.png" alt="ff_thin_16" width="300" height="276" /></a><br />
</strong></li>
<li><strong>Click</strong> OK<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_17.png"><img class="alignnone size-medium wp-image-511" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_17-300x125.png" alt="ff_thin_17" width="300" height="125" /></a></li>
<li><strong>Ignore</strong> warnings (like a boss) and <strong>click</strong> Next<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_18.png"><br />
<img class="alignnone size-medium wp-image-512" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_18-300x274.png" alt="ff_thin_18" width="300" height="274" /></a></li>
<li><strong>Click</strong> &#8220;Edit Package.ini&#8221;<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_19.png"><img class="alignnone size-medium wp-image-513" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_19-300x276.png" alt="ff_thin_19" width="300" height="276" /></a></li>
<li>In Package.ini, <strong>Locate</strong> the block &#8220;[Mozilla Firefox.exe]&#8221; and perform the following changes to the block
<ol>
<li><strong>Add</strong> &#8220;StatusbarDisplayName=BeyondVM Firefox 29.0.1 Build &#8220;</li>
<li><strong>Add</strong>  &#8220;CommandLine=%ProgramFilesDir%\Mozilla Firefox\firefox.exe -no-remote&#8221;</li>
<li><strong>Rename</strong> block from [Mozilla Firefox.exe] to [Mozilla Firefox 29.0.1.exe]</li>
</ol>
</li>
<li><strong>Save</strong> Package.ini</li>
<li><strong>Click</strong> Build</li>
<li><strong>Wait</strong>, this will also take some time.  Refer to previous formula: if(Time.current &gt; 17:00) { Fridge.get(&#8216;beer&#8217;); } else { Counter.get(&#8216;coffee&#8217;); }</li>
<li><strong>Click</strong> Finish<br />
<a href="http://www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_21.png"><img class="alignnone size-medium wp-image-515" src="//www.beyondvm.com/wp-content/uploads/2014/08/ff_thin_21-300x275.png" alt="ff_thin_21" width="300" height="275" /></a></li>
</ol>
<p>At this point you will have a functioning ThinApp package file all bundled up in the single exe file in the bin directory.  You might notice that this package is quite large, I performed the following additional steps to my package to get it down to about 350MB from over 800.</p>
<ol>
<li><strong>Edit</strong> Package.ini and perform the following modifications
<ol>
<li>Add the following section below the compression type<br />
[FileList]<br />
ExcludePattern=*.bak,*.msi,*.mst,*.cab,*.msp</li>
<li>Delete all entry points other than [Mozilla Firefox 29.0.1.exe]</li>
</ol>
</li>
<li><strong>Delete</strong> the following directories from the package (<em><strong>note</strong>: I have not exhaustively tested this, some of these may be required but it worked for me</em>)
<ol>
<li>%drive_C%\Users\All Users\Microsoft\Windows Defender</li>
<li>%ProgramFilesDir(x64)%</li>
<li>%SystemRoot%\WinSxS</li>
<li>%SystemRoot%\assembly</li>
<li>%SystemRoot%\Installer</li>
<li>%SystemRoot%\Logs</li>
</ol>
</li>
<li><strong>Run</strong> build.bat as an Administrator</li>
</ol>
<p>After that the package is pretty snappy and should be good to go.  It will create a profile directory next to the EXE to save settings in, this will include popup allowing and certificate exceptions.  The first time I logged into my vCloud instance I had to tell it to run the JRE again, I was unable to figure out how to get it to never ask during the build process but it wasn&#8217;t that bad to just do it the first time.</p>
<p>These are all of the files required to do this as well as the package I created following these directions. My pre-built package will expire in about 60d unless I can get VMware to give me a community license (hint hint).</p>
<p><img src="//www.beyondvm.com/wp-includes/images/crystal/archive.png" style="height:20px;vertical-align:middle;" /> <a href="http://www.beyondvm.com/files/ff-thinapp/BeyondVM%20Firefox%2029.0.1.zip" title="Download BeyondVM Firefox 29 Bundle">BeyondVM Firefox 29 Bundle</a> (215.8 MiB)</p><p><img src="//www.beyondvm.com/wp-includes/images/crystal/interactive.png" style="height:20px;vertical-align:middle;" /> <a href="http://www.beyondvm.com/files/ff-thinapp/Firefox%20Setup%2029.0.exe" title="Download Firefox Setup 29.0">Firefox Setup 29.0</a> (27.7 MiB)</p><p><img src="//www.beyondvm.com/wp-includes/images/crystal/interactive.png" style="height:20px;vertical-align:middle;" /> <a href="http://www.beyondvm.com/files/ff-thinapp/FirefoxPortableESR_24.7.0_English.paf.exe" title="Download FirefoxPortableESR 24.7.0 English Paf">FirefoxPortableESR 24.7.0 English Paf</a> (23.8 MiB)</p><p><img src="//www.beyondvm.com/wp-includes/images/crystal/interactive.png" style="height:20px;vertical-align:middle;" /> <a href="http://www.beyondvm.com/files/ff-thinapp/vmware-vmrc-win32-x86.exe" title="Download VMware VMRC Plugin">VMware VMRC Plugin</a> (34.3 MiB)</p>
<p>Please leave a comment if there is anything I can improve!</p>
<p>Lastly, the caveat we started with:</p>
<h1><strong>*****************************************************</strong></h1>
<h1><strong>This process creates an insecure browser installation, DO NOT browse the internet with this configuration&#8230;ever.  </strong></h1>
<h1><strong>You have been warned.</strong></h1>
<h1><strong>*****************************************************</strong></h1>
<p>Goodnight and Good Luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2014/08/how-to-thinapp-firefox-29-and-plugins-for-vcloud-director-5-1-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UCS Networking Adventure: A tale of CoS and The Vanishing Frames</title>
		<link>http://www.beyondvm.com/2014/07/ucs-networking-adventure-a-tale-of-cos-and-the-vanishing-frames/</link>
		<comments>http://www.beyondvm.com/2014/07/ucs-networking-adventure-a-tale-of-cos-and-the-vanishing-frames/#comments</comments>
		<pubDate>Tue, 15 Jul 2014 23:24:48 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[ESXi]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[UCS]]></category>

		<guid isPermaLink="false">http://www.beyondvm.com/?p=442</guid>
		<description><![CDATA[The Problem This week I had to connect an additional NetApp Storage System to my existing UCS environment through a different path than a similar shared storage platform that we utilize here.  This shouldn&#8217;t be a big deal but there were a few caveats: The Storage System was attached to a dedicated Nexus 5k for this customer [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2>The Problem</h2>
<p>This week I had to connect an additional NetApp Storage System to my existing UCS environment through a different path than a similar shared storage platform that we utilize here.  This shouldn&#8217;t be a big deal but there were a few caveats:</p>
<ul>
<li>The Storage System was attached to a dedicated Nexus 5k for this customer</li>
<li>The VLAN configured on the customer switch collided with one configured in UCS so VLAN translation was necessary through access ports.</li>
<li>The traffic takes a different switching path from normal NFS traffic in this environment</li>
</ul>
<p>I configured everything as one normally does when connecting to IP storage, jumbo frames and all.  There was only one problem:</p><pre class="crayon-plain-tag"># Standard Frames
~ # vmkping -s 1400 -d 10.0.0.253
PING 10.0.0.253 (10.0.0.253): 1400 data bytes
2508 bytes from 10.0.0.253: icmp_seq=0 ttl=255 time=0.232 ms
2508 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.198 ms
2508 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.265 ms

--- 10.0.0.253 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.198/0.232/0.265 ms
~ #

#Jumbo Frames
~ # vmkping -s 2500 -d 10.0.0.253
PING 10.0.0.253 (10.0.0.253): 2500 data bytes

--- 10.0.0.253 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
~ #</pre><p><strong>DOH!</strong></p>
<p>Now, normally this is just a simple issue of the MTU being set incorrectly somewhere along the traffic path but as I dug deeper into this issue that turned out to not be the case, it was something much stranger and more interesting.  The IPs, VLANs and hostnames have been changed or obscured to protect the innocent.  Onward!</p>
<blockquote><p><strong>Note: </strong>To test pinging with Jumbo Frames in ESXi use the following command:</p>
<p>vmkping -s 2500 -d &lt;ip of endpoint&gt;</p></blockquote>
<h2>Background</h2>
<p>I checked to make sure jumbo frames where configured correctly all along the traffic path (ESX, UCS vif and customer switch) but I was still not able to ping the Storage System from the ESXi host using jumbo frames.</p>
<p>For reference the configurations were as follows:</p>
<h3>The Network</h3>
<p>A little about the relevant network topology now, this is a basic diagram of how the network is laid out.  There is quite a bit more going on in this network but this diagram shows the relevant parts to this story.</p>
<p><a href="http://www.beyondvm.com/wp-content/uploads/2014/07/cos_article_netdiagram_a.png"><img class="alignnone wp-image-446 size-medium" src="//www.beyondvm.com/wp-content/uploads/2014/07/cos_article_netdiagram_a-254x300.png" alt="cos_article_netdiagram_a" width="254" height="300" /></a></p>
<p>I have marked the traffic path that was forced with the UCS Pin Group and verified via spanning tree.  Also included in this diagram is a similarly connected shared storage platform that becomes relevant in one of the troubleshooting steps.</p>
<p>First, this is the generic QoS policy that is configured on all network switches here in order to enable jumbo frames</p><pre class="crayon-plain-tag">system qos
  service-policy type network-qos jumbo
policy-map type network-qos jumbo
  class type network-qos class-default
    mtu 9216</pre><p>Now some interface configurations, network diagram is back with the relevant interfaces marked.</p>
<p><a href="http://www.beyondvm.com/wp-content/uploads/2014/07/cos_article_netdiagram_b.png"><img class="alignnone size-medium wp-image-448" src="//www.beyondvm.com/wp-content/uploads/2014/07/cos_article_netdiagram_b-255x300.png" alt="cos_article_netdiagram_b" width="255" height="300" /></a></p>
<p><b>Interface facing Customer NetApp (A)</b>:</p><pre class="crayon-plain-tag">interface Ethernet1/30
  description netapp01:E0B
  switchport mode trunk
  switchport trunk allowed vlan 60,177
  spanning-tree port type edge trunk</pre><p><strong>Customer side of uplink (B):</strong></p><pre class="crayon-plain-tag">interface Ethernet1/29
  description cloud_access_a:eth1/17
  switchport access vlan 60</pre><p><strong>My side of uplink (C):</strong></p><pre class="crayon-plain-tag">interface Ethernet1/17
  description customer_switch_a:1/29
  switchport access vlan 2244</pre><p><strong>Port Channel Facing UCS (D)</strong>:</p><pre class="crayon-plain-tag">interface port-channel2
  description fi01:po1
  switchport mode trunk
  switchport trunk allowed vlan &lt;truncated, long list&gt;
  speed 10000</pre><p>That is it as far as relevant networking goes, onto the VMware side.</p>
<h3>ESXi</h3>
<p></p><pre class="crayon-plain-tag">~ # esxcfg-vswitch -l
...
Switch Name      Num Ports   Used Ports  Configured Ports  MTU     Uplinks   
vSwitch1        5632        6           128               9000    vmnic2,vmnic3

  PortGroup Name        VLAN ID  Used Ports  Uplinks   
  ipStorage-vmk             2244     1           vmnic2,vmnic3

~ #</pre><p>Pretty simple configuration here, standard operating for the most part.  When this problem began this host had a standard switch but the configuration was just the same.  On to UCS.</p>
<h3>UCS Configuration</h3>
<p>The interesting thing that we did for troubleshooting was to use a pin group to force the traffic down one set of uplinks through the fabric so we could predict where the traffic was going to go.  These snippets don&#8217;t reflect the pin group as I removed it after troubleshooting but information on pin groups can be found <a href="http://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/sw/cli/config/guide/2-1/b_UCSM_CLI_Configuration_Guide_2_1/b_UCSM_CLI_Configuration_Guide_2_1_chapter_010001.html#task_3540574022264588894">here</a>.</p>
<p>This is the running configuration of the vETH adapter:</p><pre class="crayon-plain-tag">fi01-A(nxos)# sh run interface vethernet 1841

interface Vethernet1841
  description server 1/3, VNIC stgA
  switchport mode trunk
  untagged cos 4
  no pinning server sticky
  pinning server pinning-failure link-down
  no cdp enable
  switchport trunk allowed vlan 
  bind interface port-channel1378 channel 1841
  service-policy type queuing input org-root/ep-qos-Storage
  no shutdown</pre><p>This is the configuration for the CoS class of 4:</p><pre class="crayon-plain-tag">fi01-A /eth-server/qos # show eth-classified gold

Ethernet Classified Class:
    Priority: Gold
    CoS: 4
    Weight: 9
    BW Percent: 47
    Drop: Drop
    MTU: 9000
    Multicast Optimize: No
    Admin State: Enabled
ucpd01-A /eth-server/qos #</pre><p>Now, onto the other end, the NetApp.</p>
<h3><strong>Storage System Configuration</strong></h3>
<p>Not too much to see here, but we can verify that the MTU is actually 9000.</p><pre class="crayon-plain-tag">filerA&gt; ifconfig svif1-60
svif1-60: flags=0x2b4c863&lt;UP,BROADCAST,RUNNING,MULTICAST,TCPCKSUM&gt; mtu 9000
        inet 10.128.160.253 netmask 0xffffff00 broadcast 10.0.0.255
        partner svif2-60 (not in use)
        ether 02:a0:98:1b:6c:18 (Enabled interface groups)
filberB&gt; ifconfig svif2-60
svif2-60: flags=0x2b4c863&lt;UP,BROADCAST,RUNNING,MULTICAST,TCPCKSUM&gt; mtu 9000
        inet 10.0.0.254 netmask 0xffffff00 broadcast 10.0.0.255
        partner svif1-60 (not in use)
        ether 02:a0:98:1b:67:98 (Enabled interface groups)</pre><p>Despite all of that configuration I was still not able to get ping traffic to traverse the network when forcing jumbo frames.</p>
<h2><strong>Troubleshooting</strong></h2>
<p>The first thing that I did to try to see what was going on was to set up a simple packet capture on another host with jumbo frames enabled on the same switch as the Customer NetApp Storage System.</p><pre class="crayon-plain-tag">~ # vmkping 10.0.0.10 -s 2400 -d
PING 10.0.0.10 (10.0.0.10): 2400 data bytes

--- 10.0.0.10 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
~ #

#Source:
21:00:39.790337 IP truncated-ip - 2346 bytes missing! (tos 0x0, ttl 64, id 34311, offset 0, flags [DF], proto ICMP (1), length 2428)
    10.0.0.121 &gt; 10.0.0.10: ICMP echo request, id 7342, seq 0, length 2408
21:00:40.792509 IP truncated-ip - 2346 bytes missing! (tos 0x0, ttl 64, id 34314, offset 0, flags [DF], proto ICMP (1), length 2428)
    10.0.0.121 &gt; 10.0.0.10: ICMP echo request, id 7342, seq 1, length 2408
21:00:41.794613 IP truncated-ip - 2346 bytes missing! (tos 0x0, ttl 64, id 34320, offset 0, flags [DF], proto ICMP (1), length 2428)
    10.0.0.121 &gt; 10.0.0.10: ICMP echo request, id 7342, seq 2, length 2408

#Destination:
21:01:34.825518 IP truncated-ip - 2346 bytes missing! 10.0.0.121 &gt; 10.0.0.10: ICMP echo request, id 7342, seq 0, length 2408
21:01:34.825614 IP truncated-ip - 2346 bytes missing! 10.0.0.10 &gt; 10.0.0.121: ICMP echo reply, id 7342, seq 0, length 2408
21:01:35.827732 IP truncated-ip - 2346 bytes missing! 10.0.0.121 &gt; 10.0.0.10: ICMP echo request, id 7342, seq 1, length 2408
21:01:35.827825 IP truncated-ip - 2346 bytes missing! 10.0.0.10 &gt; 10.0.0.121: ICMP echo reply, id 7342, seq 1, length 2408
21:01:36.829821 IP truncated-ip - 2346 bytes missing! 10.0.0.121 &gt; 10.0.0.10: ICMP echo request, id 7342, seq 2, length 2408
21:01:36.829935 IP truncated-ip - 2346 bytes missing! 10.0.0.10 &gt; 10.0.0.121: ICMP echo reply, id 7342, seq 2, length 2408</pre><p><em><strong>Note: </strong>The truncated-ip just means that tcpdump is only capturing headers, using &#8216;-s0&#8242; switch turns this off.</em></p>
<p>What we see here is that on the source machine (Another ESXi Host) I can see the ICMP Echo Requests leave the machine and on the destination machine I see the ICMP Echo Requests <em>AND ICMP Echo Replies.</em></p>
<p><strong>WHAT.</strong></p>
<p>Back to the network diagram:</p>
<p><a href="http://www.beyondvm.com/wp-content/uploads/2014/07/cos_article_netdiagram_b.png"><img class="alignnone size-medium wp-image-448" src="//www.beyondvm.com/wp-content/uploads/2014/07/cos_article_netdiagram_b-255x300.png" alt="cos_article_netdiagram_b" width="255" height="300" /></a></p>
<p>I was doing this capture on a host located at point A, my next step was to check the other end of the path before UCS.  I set up a span port at point D to check it out.  I wired up a server with an available 10Gbit interface and connected it up.</p>
<p>On the CoreSwitch A the following was set up:</p><pre class="crayon-plain-tag">monitor session 1
  description vlan-224-tap
  source vlan 2244
  destination interface Ethernet1/15
  no shutdown</pre><p>I fired up Wireshark with an ICMP capture filter (no need to crush the disk with 5GB/s of traffic!) and tried the ping again (this time to the filer again).  This was the result:</p>
<p><a href="http://www.beyondvm.com/wp-content/uploads/2014/07/cos_article_wireshark_a.png"><img class="alignnone size-medium wp-image-455" src="//www.beyondvm.com/wp-content/uploads/2014/07/cos_article_wireshark_a-300x119.png" alt="cos_article_wireshark_a" width="300" height="119" /></a></p>
<p>Again:</p>
<h1><strong>WHAT.</strong></h1>
<p>This was incredibly puzzling.  What this meant was that the traffic was correctly making it from the UCS server to the destination <em>and back</em> but was getting lost somewhere inside UCS.  I double and triple checked all of the configuration in UCS and ESXi and everything looked right.</p>
<p>One more test, add a known working VLAN to the vIF/vmnic.  This is where the shared array on the diagram comes in.  I set up a dummy vmkernel port on that VLAN and pinged the shared Storage System and guess what; <em>IT WORKED.  </em>So, what did this mean.  This means that by any logic we had ruled out both the transit network AND UCS.  That was impossible though since it clearly frames were still getting dropped somewhere.</p>
<p>My feeling at that moment can only be described by this meme:</p>
<p><a href="http://www.beyondvm.com/wp-content/uploads/2014/07/cos_article_meme_a.jpg"><img class="alignnone size-full wp-image-458" src="//www.beyondvm.com/wp-content/uploads/2014/07/cos_article_meme_a.jpg" alt="cos_article_meme_a" width="500" height="294" /></a></p>
<p>There had to be something strange going on, something we had over-looked.  To save anyone else the 20 hours of rage I think it is best if I just skip to the end.</p>
<h2>The Solution</h2>
<p>This is the part of our story where its time to talk about Ethernet frames and VLAN tags briefly.  First, this is an great diagram of an ethernet frame (from this <a href="https://communities.netapp.com/blogs/ethernetstorageguy/2009/09/12/anatomy-of-an-ethernet-frame">awesome NetApp article</a>):</p>
<p><a href="http://www.beyondvm.com/wp-content/uploads/2014/07/cos_article_ethernet_frame_a.jpg"><img class="alignnone size-full wp-image-459" src="//www.beyondvm.com/wp-content/uploads/2014/07/cos_article_ethernet_frame_a.jpg" alt="cos_article_ethernet_frame_a" width="468" height="177" /></a></p>
<p>The important part about this frame is the VLAN tag, a 4 byte section added to the frame when using tagged VLANs, which we are in this environment.  Diving into that 4 bytes there are two parts, the first 2 bytes are the Tag Protocol Identifier (TPID) which is always set to 0x8100 for 802.1q frames.  The second two bytes are the Tag Control Information (TCI).  The TCI bytes are divided into two parts, the first three bits are to hold the 802.1p identification information and the remaining bits hold the VLAN ID.</p>
<p>This diagram (<a href="http://www.rhyshaden.com/eth_vlan.htm">that I lifted from here</a>) illustrates this a little bit better:</p>
<p><a href="http://www.beyondvm.com/wp-content/uploads/2014/07/cos_article_ethernet_frame_b.gif"><img class="alignnone size-full wp-image-462" src="//www.beyondvm.com/wp-content/uploads/2014/07/cos_article_ethernet_frame_b.gif" alt="cos_article_ethernet_frame_b" width="552" height="278" /></a></p>
<p>Now, at this point it probably isn&#8217;t apparent why I bring this up, but here it goes.  So back on UCS we have the definition of the storage vNIC as such, this time with the important parts marked:</p><pre class="crayon-plain-tag">fi01-A(nxos)# sh run interface vethernet 1841

interface Vethernet1841
  description server 1/3, VNIC stgA
  switchport mode trunk
  untagged cos 4
  no pinning server sticky
  pinning server pinning-failure link-down
  no cdp enable
  switchport trunk allowed vlan 
  bind interface port-channel1378 channel 1841
  service-policy type queuing input org-root/ep-qos-Storage
  no shutdown</pre><p>That QoS policy maps to the system QoS policy of Gold, which is defined as follows, again with the important part bolded:</p><pre class="crayon-plain-tag">fi01-A /eth-server/qos # show eth-classified gold

Ethernet Classified Class:
    Priority: Gold
    CoS: 4
    Weight: 9
    BW Percent: 47
    Drop: Drop
    MTU: 9000
    Multicast Optimize: No
    Admin State: Enabled
ucpd01-A /eth-server/qos #</pre><p>So, based on what we have learned about CoS and 802.1q frames, check out the network diagram with some more important information added:</p>
<p><a href="http://www.beyondvm.com/wp-content/uploads/2014/07/cos_article_netdiagram_c.png"><img class="alignnone size-medium wp-image-463" src="//www.beyondvm.com/wp-content/uploads/2014/07/cos_article_netdiagram_c-271x300.png" alt="cos_article_netdiagram_c" width="271" height="300" /></a></p>
<p>Now, it took us quite some time to realize this and it ended up being an &#8220;ah hah!&#8221; moment from one of our network engineers but the issue was the fact that we were using an access port to do VLAN translation because <em>CoS information is stored in the 802.1q part of the frame header</em>.</p>
<p>So what was happening was the frames were traveling out and when they hit the first access port (C) the CoS information was lost when the VLAN tag was stripped.  That was all fine until the frame made it back to UcS which dropped the frames on ingress to the Fabric Interconnect because without a CoS tag they were too large (being jumbo frames).  This explains why regular frames worked but jumbo frames didn&#8217;t, the default CoS class allowed small frames through.</p>
<p>All things considered, the fix is simple, here are the updated access port configurations with the changes marked:</p>
<p><strong>Customer side of uplink (B):</strong></p><pre class="crayon-plain-tag">interface Ethernet1/29
  description cloud_access_a:eth1/17
  untagged cos 4
  switchport access vlan 60</pre><p><strong>My side of uplink (C):</strong></p><pre class="crayon-plain-tag">interface Ethernet1/17
  description customer_switch_a:1/29
  untagged cos 4
  switchport access vlan 2244</pre><p>With those changes in place, success!</p><pre class="crayon-plain-tag">~ # vmkping -s 2500 -d 10.0.0.253
PING 10.128.160.253 (10.0.0.253): 2500 data bytes
2508 bytes from 10.0.0.253: icmp_seq=0 ttl=255 time=0.232 ms
2508 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.198 ms
2508 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.265 ms

--- 10.0.0.253 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.198/0.232/0.265 ms
~ #</pre><p>This was quite an interesting issue and it caused me to learn quite a bit about how ethernet works in general and as well as how UCS switches.</p>
<p>Another way to solve this is to set the default QoS class to accept jumbo frames but while this would have allowed the traffic to flow it may have caused other performance issues in the future in the event of fabric contention as the traffic would have not been prioritized correctly.</p>
<p>I hope this helps someone else that may run into this in the future!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2014/07/ucs-networking-adventure-a-tale-of-cos-and-the-vanishing-frames/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Alert: Firefox 30 is not a supported browser for vCloud 5.1.x</title>
		<link>http://www.beyondvm.com/2014/06/alert-firefox-30-is-not-a-supported-browser-for-vcloud-5-1-x/</link>
		<comments>http://www.beyondvm.com/2014/06/alert-firefox-30-is-not-a-supported-browser-for-vcloud-5-1-x/#comments</comments>
		<pubDate>Thu, 19 Jun 2014 21:16:56 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[vCloud]]></category>

		<guid isPermaLink="false">http://www.beyondvm.com/?p=435</guid>
		<description><![CDATA[Update (8/4/2014): I have created a tutorial on how to create a ThinApp package to help get around this, check it out! &#8212;&#8211; If you suddenly start seeing something the following error in vCloud Director 5.1.x: This is because your Firefox upgraded to Firefox 30 automatically, as it does.  This error seems to be due to some [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong>Update (8/4/2014): </strong>I have <a title="How To: ThinApp Firefox 29 and Plugins for vCloud Director 5.1.x" href="http://www.beyondvm.com/2014/08/how-to-thinapp-firefox-29-and-plugins-for-vcloud-director-5-1-x/">created a tutoria</a>l on how to create a ThinApp package to help get around this, check it out!</p>
<p>&#8212;&#8211;</p>
<p>If you suddenly start seeing something the following error in vCloud Director 5.1.x:</p>
<p><a href="http://www.beyondvm.com/wp-content/uploads/2014/06/b2zKz.png"><img class="alignnone size-full wp-image-437" src="//www.beyondvm.com/wp-content/uploads/2014/06/b2zKz.png" alt="b2zKz" width="302" height="159" /></a></p>
<p>This is because your Firefox upgraded to Firefox 30 automatically, as it does.  This error seems to be due to some sort of change that Mozilla added into Firefox 30, I haven’t tracked it down yet (if anyone has let me know!).  Even force enabling the plugin won&#8217;t help, Firefox 30 looks to have gone to an whitelist only model, doing so will make this error go away but the console sessions never connect.</p>
<p>That being said, VMware has <a href="http://kb.vmware.com/kb/2034554">stated</a> that Firefox 30 will not be a supported browser for vCloud 5.1.x (the VMRC plugin doesn’t actually function so it is not a question of only supportability).  Unfortunately it is also not supported in IE 10, 11 or Chrome 35 so the only option is really Firefox 29 (or Firefox 3.6). The only solution is to upgrade to vCloud 5.5.x, which while true isn&#8217;t really a solution.</p>
<p>As a note, I have had success using ThinApp to isolate a Firefox 29.0.1 with the VMRC plugin, Flash and Java and Portable Firefox may be an option too. Either way, be sure to disable auto-update (Firefox Options -&gt; Advanced -&gt; Update) if you downgrade to Firefox 29.0.1.  There are some <a href="http://blogs.vmware.com/thinapp/2009/12/multiple-instances-of-an-application.html#more-1268">tips here</a> on how to do that, the big one being the &#8216;-no-remote&#8217; option to allow the ThinApp Firefox to launch its own process.</p>
<p><strong>Update:</strong> It seems that installing the Firebug plugin and enabling that will allow the console to connect in Firefox 30 after forcing the plugins to activate.  While cumbersome, this is another workaround.</p>
<p><strong>Update 2 (7/29/14):</strong> I have found another solution!  It is possible to use the <a href="http://portableapps.com/apps/internet/firefox-portable-esr">Portable Firefox ESR Version</a> (Extended Support Release), this is a Firefox 24 package that will run  in a sandbox.  It will use the installed plugins on your system so if your Java version is <a title="Alert: Java JRE 7u51 breaks vCloud Uploads Everything" href="http://www.beyondvm.com/2014/01/alert-java-jre-7u51-breaks-vcloud-uploads/">also incompatible</a> that won&#8217;t work.  One thing to change, perform the following:</p>
<ol>
<li>Locate FirefoxPortable.ini in your extracted ESR download (might be in Other/Source directory).</li>
<li>Copy to the root of Portable Firefox ESR install directory</li>
<li>Edit file and change the &#8220;AllowMultipleInstances&#8221; variable to true.</li>
<li>Save</li>
</ol>
<p>This will allow the Portable Firefox and Installed Firefox to run at the same time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2014/06/alert-firefox-30-is-not-a-supported-browser-for-vcloud-5-1-x/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Bonding, LACP and VLANs in Linux</title>
		<link>http://www.beyondvm.com/2014/03/quick-tip-bonding-lacp-and-vlans-in-linux/</link>
		<comments>http://www.beyondvm.com/2014/03/quick-tip-bonding-lacp-and-vlans-in-linux/#comments</comments>
		<pubDate>Tue, 11 Mar 2014 02:20:39 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Quick Tips]]></category>

		<guid isPermaLink="false">http://www.beyondvm.com/?p=407</guid>
		<description><![CDATA[I have been doing a lot of tinkering with linux based storage (more to come on that!) over the past few weeks and I had to hunt and peck around the internet to find all of the information on using bonding/lacp and vlans in linux so I want to bring it all to one place. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I have been doing a lot of tinkering with linux based storage (more to come on that!) over the past few weeks and I had to hunt and peck around the internet to find all of the information on using bonding/lacp and vlans in linux so I want to bring it all to one place.  All of these configuration files are from Ubnutu but the format should be similar in other distros.  All of the switch configurations were on a Cisco 2960 running IOS 12.2-lanbase which is a fairly old and basic switch.</p>
<h2>Linux Setup</h2>
<p>There are two modules to install for this setup, bonding and 8021q.  As follows:</p><pre class="crayon-plain-tag">#install packages
# NOTE: ensure ifenslave 2.6 is what gets installed, required for VLANs
root@filer:~# apt-get install -y ifenslave vlan

#load modules manually to be sure
root@filer:~# modprobe 8021q
root@filer:~# modprobe bonding

#add to modules for reboots
root@filer:~# echo 'bonding' &gt;&gt; /etc/modules
root@filer:~# echo '8021q' &gt;&gt; /etc/modules</pre><p></p>
<h2>Basic Bonding using LACP</h2>
<h3>Linux</h3>
<p>This is the linux side of this link, the important part here is the bond-mode needs to be set to 802.3ad or mode 4.</p><pre class="crayon-plain-tag">#slave interfaces
auto eth4
iface eth4 inet manual
bond-master bond0

auto eth5
iface eth5 inet manual
bond-master bond0

#bond interface
auto bond0
iface bond0 inet static
        address 192.168.1.10
        netmask 255.255.255.0
        #there are several modes, this is also known as mode 4
        bond-mode 802.3ad 
        bond-miimon 100
        bond-slaves eth4 eth5</pre><p></p>
<h3> Cisco 2960</h3>
<p>This is the configuration of the two switch ports and the port channel on the Cisco switch.  The important part here is using &#8216;active&#8217; mode on the channel group.</p><pre class="crayon-plain-tag">!vlan 10 is my storage VLAN
interface Port-channel1
 switchport access vlan 10 
end

interface GigabitEthernet0/43
 switchport access vlan 10
 channel-group 1 mode active
end

interface GigabitEthernet0/44
 switchport access vlan 10
 channel-group 1 mode active
end</pre><p></p>
<h2> Bonding with VLAN Trunking</h2>
<p>Most people need to use both VLANs and 802.3ad trunking in the real world, especially for storage, as it turns out that is pretty easy.  In this example I only have one VLAN but the setup can be repeated for each additional VLAN.  Also on the &#8220;base&#8221; interface I don&#8217;t have any configuration, this is where the &#8220;native&#8221; IP configuration would go.</p>
<p><strong>Note:</strong> This configuration can also be applied to a non-bonded interface.</p>
<h3>Linux</h3>
<p>This is the linux side of this link, the important part here is the bond-mode needs to be set to 802.3ad or mode 4.</p><pre class="crayon-plain-tag">#slave interfaces
auto eth4
iface eth4 inet manual
bond-master bond0

auto eth5
iface eth5 inet manual
bond-master bond0

#bond interface
auto bond0
iface bond0 inet static
        #native vlan, need ip to configure
        address 1.1.1.1
        netmask 255.255.255.0
        bond-mode 802.3ad 
        bond-miimon 100 
        bond-slaves eth4 eth5 

auto vlan10 
iface vlan10 inet static 
        address 192.168.1.10 
        netmask 255.255.255.0 
        broadcast 192.168.1.255
        vlan-raw-device bond0</pre><p></p>
<h3> Cisco 2960</h3>
<p>This is also similar to the other configuration, the &#8216;switchport trunk allowed&#8217; section is optional, I wanted to prune the VLANs for this link.</p><pre class="crayon-plain-tag">!vlan 10 is my storage VLAN
interface Port-channel1
 switchport trunk allowed vlan 10
 switchport mode trunk 
end

interface GigabitEthernet0/43
 switchport trunk allowed vlan 10
 switchport mode trunk
 channel-group 1 mode active
end

interface GigabitEthernet0/44
  switchport trunk allowed vlan 10
  switchport mode trunk
 channel-group 1 mode active
end</pre><p>This is a pretty simple setup, post a comment with suggestions or requests for more information and I will keep this post up to date.</p>
<h2> References</h2>
<ul>
<li><a title="UbuntuBonding (ubnutu.com)" href="https://help.ubuntu.com/community/UbuntuBonding" target="_blank">UbuntuBonding</a></li>
<li><a title="Cisco LACP Reference" href="http://www.cisco.com/c/en/us/td/docs/ios/12_2sb/feature/guide/gigeth.html" target="_blank">Cisco LACP Reference</a></li>
<li><a title="Ubuntu VLAN Wiki" href="https://wiki.ubuntu.com/vlan" target="_blank">Ubuntu VLAN Wiki</a></li>
<li><a title="Ubuntu VLAN Interfaces manpage" href="http://manpages.ubuntu.com/manpages/hardy/man5/vlan-interfaces.5.html" target="_blank">Ubuntu VLAN Interfaces manpage</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2014/03/quick-tip-bonding-lacp-and-vlans-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Register all VMs on a datastore</title>
		<link>http://www.beyondvm.com/2014/03/quick-tip-register-all-vms-on-a-datastore/</link>
		<comments>http://www.beyondvm.com/2014/03/quick-tip-register-all-vms-on-a-datastore/#comments</comments>
		<pubDate>Thu, 06 Mar 2014 15:50:53 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[Quick Tips]]></category>

		<guid isPermaLink="false">http://www.beyondvm.com/?p=401</guid>
		<description><![CDATA[Today I had an entire datastore of VMs to register, probably about 30 in total, and I didn&#8217;t want to go through the GUI and register each VM manually. I came up with this quick unix one-liner: [crayon-55b7ecdd5a0db534715570/] Which gave me this: [crayon-55b7ecdd5a0e7700089695/] There are more elegant ways to do this in PowerCLI that are [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Today I had an entire datastore of VMs to register, probably about 30 in total, and I didn&#8217;t want to go through the GUI and register each VM manually.</p>
<p>I came up with this quick unix one-liner:</p><pre class="crayon-plain-tag"># NOTE: My datastore path is /vmfs/volumes/5317a80e-add165f6-ada9-001517599f73
# replace this with whatever datastore needs searching

#VMs
find /vmfs/volumes/5317a80e-add165f6-ada9-001517599f73 -name "*.vmx" -exec  vim-cmd solo/registervm {} \;

#Templates
find /vmfs/volumes/5317a80e-add165f6-ada9-001517599f73 -name "*.vtmx" -exec  vim-cmd solo/registervm {} \;</pre><p>Which gave me this:</p><pre class="crayon-plain-tag">/vmfs/volumes/5317a80e-add165f6-ada9-001517599f73 # find /vmfs/volumes/5317a80e-add165f6-ada9-001517599f73 -name "*.vmx" -exec  vim-cmd solo/registervm {} \;
143
144
...
...
...
148
149
/vmfs/volumes/5317a80e-add165f6-ada9-001517599f73 #</pre><p>There are more elegant ways to do this in PowerCLI that are probably more scaleable (not registering everything on one host, for example) but this is a quick, down and dirty way to get the job done!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2014/03/quick-tip-register-all-vms-on-a-datastore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel Avoton: The Perfect Home Lab Host?</title>
		<link>http://www.beyondvm.com/2014/01/intel-avoton-the-perfect-home-lab-host/</link>
		<comments>http://www.beyondvm.com/2014/01/intel-avoton-the-perfect-home-lab-host/#comments</comments>
		<pubDate>Fri, 31 Jan 2014 22:58:28 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Home Lab]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Whitebox]]></category>
		<category><![CDATA[home lab]]></category>

		<guid isPermaLink="false">http://beyondvm.com/?p=326</guid>
		<description><![CDATA[Introduction In the ever present search for the &#8220;ultimate home lab box,&#8221; I ran across a new contender, the new Intel Avoton. This is a really interesting SoC (System on a Chip) that has some promise for home lab.  The Avoton C2000 series SoCs are based on the new 22nm manufacturing process that came with haswell [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In the ever present search for the &#8220;ultimate home lab box,&#8221; I ran across a new contender, the new <a href="http://ark.intel.com/products/77987/Intel-Atom-Processor-C2750-4M-Cache-2_40-GHz">Intel Avoton</a>. This is a really interesting SoC (System on a Chip) that has some promise for home lab.  The Avoton C2000 series SoCs are based on the new 22nm manufacturing process that came with haswell which is a drastic improvement on the previous models.</p>
<p>One of the most interesting things about it is that it now allows for out of order pipeline execution. This is one of the things that made previous Atom CPUs/SoCs so much slower.  Another thing that is really intriguing about it is that it now supports both VT and is a 64bit CPU, so it can run both 64 bit and 32 bit guests as well as having 8 cores (there is a 4 core model available as well).  Also, this architecture has a maximum memory of 64GB which puts it right in the sweet spot for home lab nodes, though it is more likely that these boards will see 32GB (4x8gb) until the price of 16GB dimms/sodimms comes down.  And, the best part is that this SoC has a TDP of 20w &#8211; crazy!</p>
<p>The first motherboard I found to really support this CPU was the <a href="http://www.asrock.com/server/overview.asp?Model=C2750D4I">Asrock C2750D4I</a>, I picked one up to do a little testing to see what it really could do.  Here is what the layout looks like, courtesy of the Asrock website:</p>
<p><a href="http://beyondvm.com/wp-content/uploads/2014/01/C2750D4Im.jpg"><img class="alignnone size-full wp-image-337" alt="C2750D4I(m)" src="//beyondvm.com/wp-content/uploads/2014/01/C2750D4Im.jpg" width="600" height="637" /></a></p>
<p>This motherboard is pretty slick! It has a dedicated IPMI port with a simple web interface as well as dual on board NICs and 4 full size DIMM slots.  This particular board also features 12 SATA (mix of 3gb and 6gb) ports which would also make this a great home NAS base.</p>
<p><strong>Note</strong>: To get ESXi 5.5 running on this board you will have to manually add the Intel igb driver to your ISO. I used <a href="http://www.v-front.de/p/esxi-customizer.html">esxi customizer</a> for this because I am a lazy admin, but you can also do it with image builder. The driver was present in 5.1, and I am not sure why VMware removed it from 5.5. The driver can be found here: <a href="https://my.vmware.com/group/vmware/details?productId=268&amp;downloadGroup=DT-ESXi5X-INTEL-igb-4017">ESXi5X-INTEL-igb-4017</a></p>
<p>SuperMicro has also come out with a few boards but they were not widely available when I started testing.  The most interesting ones are <a href="http://www.supermicro.com/products/motherboard/atom/x10/a1sai-2750f.cfm">A1SAi-2750F</a>.  This board has a <a href="http://www.marvell.com/transceivers/alaska-gbe/">Marvell Alaska 88E1543 </a>transceiver on it that allows it to have 4x 1GBe NICs. I am not sure how that will play with ESX but I plan on ordering one to test! It also has an onboard USB header which is always handy. However, it does have fewer SATA ports, but that isn&#8217;t a huge deal for an ESXi node. SuperMicro has a few uATX boards with an extra PCIe slot on it that look pretty cool as well, but those are a little big for me.</p>
<p>Now, by far the coolest use of this SOC is the <a href="http://www.hp.com/go/moonshot">HP Moonshot</a> blade system.  I mean, just look at this thing (image from hp.com):</p>
<p><a href="http://beyondvm.com/wp-content/uploads/2014/01/moonshotProdImg_471x292.jpg"><img class="alignnone size-full wp-image-370" alt="moonshotProdImg_471x292" src="//beyondvm.com/wp-content/uploads/2014/01/moonshotProdImg_471x292.jpg" width="471" height="292" /></a></p>
<p>&nbsp;</p>
<p>This thing is nuts! As you can see in the picture there are 45 small blades mounted vertically in a 4.5U chassis. This also includes a switched backplane that they all connect to. The blade that uses the Avoton is the <a href="http://www8.hp.com/us/en/products/proliant-servers/product-detail.html?oid=6488204&amp;effectivedate=2013-12-10#!tab=features">m300</a> (image from hp.com):</p>
<p><a href="http://beyondvm.com/wp-content/uploads/2014/01/c04040945.png"><img class="alignnone size-full wp-image-371" alt="c04040945" src="//beyondvm.com/wp-content/uploads/2014/01/c04040945.png" width="474" height="356" /></a></p>
<p>&nbsp;</p>
<p>I would love to get one of these chassis to play around with. It would be perfect for a lab of servers or mass scale small nodes. I wonder what the cost per VM would look like when using these blades for a farm of small VMs like a VDI environment, where each VM has about 2-4GB of memory, which would get you about 15-25 VMs on each node.  Interestingly, these blades don&#8217;t seem to support 64GB of ram. I wonder if that is a misprint or if HP does not have 16GB SODIMM modules available.</p>
<h2>Testing</h2>
<p>As a simple test of what kind of performance a CPU can give me, I like to set up two VMs and run a netperf test since this type of traffic involves mostly a CPU activity.  My test setup is pretty simple: I have two Ubuntu VMs, each with 2x vCPU and 4gb memory and a single VMXNET3 adapter.</p>
<p>For this test the VMs were connected to the same port group and assigned IP addresses, then iPerf was run with the following options:</p>
<p><strong>Client:</strong> iperf -t 30 -c &lt;server&gt; -P 25<strong><br />
</strong><strong>Server: </strong>iperf -s</p>
<p>This gives us a 30 second test with 25 connections, which should be enough to saturate any link.</p>
<p>This is a table of my results for this test. I had a few other servers with different CPU architectures sitting around, so I included those too. Also, where possible I measured the power draw with a <a href="http://www.amazon.com/P3-International-P4400-Electricity-Monitor/dp/B00009MDBU">killawatt</a> device for curiosity or took the power reading out of the management software.</p>
<div class="table-responsive"><table  style="width:100%; "  class="easy-table easy-table-default " border="0">
<caption>NetPerf Tests</caption>
<thead>
<tr><th  style="text-align:left" >CPU</th>
<th  style="text-align:left" >Average Speed</th>
<th  style="text-align:left" >Power Idle</th>
<th > Power Load</th>
</tr>
</thead>
<tbody>
<tr><td  style="text-align:left" >Avoton C2750</td>
<td  style="text-align:left" > 8.21 Gbits/sec</td>
<td  style="text-align:left" > 25w</td>
<td > 26w</td>
</tr>

<tr><td  style="text-align:left" >Intel i7 920</td>
<td  style="text-align:left" >17.0 Gbits/sec</td>
<td  style="text-align:left" > 60w</td>
<td > 160w</td>
</tr>

<tr><td  style="text-align:left" >Intel E5540</td>
<td  style="text-align:left" >16.9 Gbits/sec</td>
<td  style="text-align:left" >175w</td>
<td > 175w</td>
</tr>

<tr><td  style="text-align:left" >AMD Opteron 2385</td>
<td  style="text-align:left" > 6.8 Gbits/s</td>
<td  style="text-align:left" > Unknown</td>
<td > Uknown</td>
</tr>
</tbody></table></div>
<p>I know that this is not a very exhaustive test, but with only one board I can&#8217;t yet run something like vmmark. I plan to run something like that in the future when I have a more full blown lab based on these boards set up.  It is enough to convince me to pick a few more up for more investigating!  Also, I am going to add to this chart as I run across different CPU types to test.</p>
<h2><strong>Nested Virtualization</strong></h2>
<p>In the comments someone asked if this board supported nested virtualization, the details were sort of un-clear from Intel.  On the Intel ARK page it says that this CPU supports Intel VT but that isn&#8217;t the only requirement anymore.  Well, following <a href="http://www.virtuallyghetto.com/2012/09/having-difficulties-enabling-nested.html">William&#8217;s guide</a>, I checked the mob for the property &#8216;nestedHVSupported&#8217; which was true but in order to be thorough I also tested a virtual ESXi host (5.5 inside 5.5) and was able to boot both 32 bit and 64 bit nested guests and they performed pretty well so it looks like this is a definite yes, awesome!</p>
<h2>Conclusion</h2>
<p>The thing I found most interesting from these tests is that most of the Intel CPUs get about the same throughput (17GB/s) no matter the age or generation and the AMD CPUs were always substantially slower.  I am not sure if this is always true throughout the history of the two architectures, but I have noticed that Intel CPUs seem to feel faster in the past, even with similar clock speeds.</p>
<p>I think that this little motherboard (and others like it) is a real contender for the home lab where speed isn&#8217;t as large as a concern as is power savings.  I plan to load two or three of these up for my BeyondVM lab in the near future &#8211; a small and silent ESX farm is really appealing.  I will post updates as I get other performance statistics in the future. Leave a comment below for any test suggestions!</p>
<p><span style="line-height: 1.5em;"><strong>Update (2/3/14): </strong>Added a section on nested virtualization to answer some questions in the comments.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2014/01/intel-avoton-the-perfect-home-lab-host/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Alert: Java JRE 7u51 breaks vCloud Uploads Everything</title>
		<link>http://www.beyondvm.com/2014/01/alert-java-jre-7u51-breaks-vcloud-uploads/</link>
		<comments>http://www.beyondvm.com/2014/01/alert-java-jre-7u51-breaks-vcloud-uploads/#comments</comments>
		<pubDate>Mon, 27 Jan 2014 21:54:06 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vcloud]]></category>

		<guid isPermaLink="false">http://beyondvm.com/?p=353</guid>
		<description><![CDATA[Update (8/4/2014): I have created a tutorial on how to create a ThinApp package to help get around this, check it out! &#8212;- This morning it came to my attention that my customers were no longer able to upload any media (OVFs or ISOs) to their vCloud catalogs. This seems to be due to the [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong>Update (8/4/2014): </strong>I have <a title="How To: ThinApp Firefox 29 and Plugins for vCloud Director 5.1.x" href="http://www.beyondvm.com/2014/08/how-to-thinapp-firefox-29-and-plugins-for-vcloud-director-5-1-x/">created a tutoria</a>l on how to create a ThinApp package to help get around this, check it out!</p>
<p>&#8212;-</p>
<p>This morning it came to my attention that my customers were no longer able to upload any media (OVFs or ISOs) to their vCloud catalogs. This seems to be due to the most recent Java JRE version released by Oracle.  The behavior I experienced was that the applet would appear to load but when I would click on the browse button nothing would happen.  This happens across all different browsers and browser versions.  The reason for this seems to be a change in the requirements for certificates and applet signing in JRE 7uU51.</p>
<p>Luckily, there is a quick workaround for this:</p>
<p>1. Open <b>Configure Java </b>control panel, navigate to <b>Security</b> then <b>Edit Site List.</b></p>
<p><a href="http://beyondvm.com/wp-content/uploads/2014/01/Q1pCY.png"><img class="alignnone size-full wp-image-355" src="//beyondvm.com/wp-content/uploads/2014/01/Q1pCY.png" alt="Q1pCY" width="522" height="548" /></a></p>
<p>&nbsp;</p>
<p>2. Type the URL for your vCloud instance in the blank and Click <b>Add</b> to add (repeat for multiple URLs), click <b>OK</b></p>
<p><a href="http://beyondvm.com/wp-content/uploads/2014/01/vACny.png"><img class="alignnone size-full wp-image-356" src="//beyondvm.com/wp-content/uploads/2014/01/vACny.png" alt="vACny" width="545" height="347" /></a></p>
<p>&nbsp;</p>
<p>Thats it!  This really is a workaround, I am not sure what the final solution will be but this got my customers and I back into business for now.  If anyone has more information, let me know!</p>
<p><strong>Update:</strong> It seems that this update actually breaks everything from HP iLO to vCenter Orchestrator, I am still searching for a better workaround if anyone knows of one.</p>
<p><strong>Update 2: </strong>There are <a href="http://www.reddit.com/r/vmware/comments/1wbhlo/alert_java_jre_7u51_may_break_vcloud_uploads/">reports</a> of this breaking Cisco UCS, Dell iDRAC, vCloud VPN and EMC Unisphere as well.  It might be safe to say that most Java based management tools are going to be effected.  VMware has released a KB article about their parts of it, <a href="http://kb.vmware.com/kb/2069664">check it out here</a>.  One interesting thing in the KB is that the upload portion of this issue does not effect vCloud 5.5 as this uses the Client Integration Plugin.</p>
<p><strong>Update 3: </strong>Setting the security level to &#8220;Medium&#8221; also seems to work for most things.</p>
<p><a href="http://beyondvm.com/wp-content/uploads/2014/01/K6f0z.png"><img class="alignnone size-full wp-image-366" src="//beyondvm.com/wp-content/uploads/2014/01/K6f0z.png" alt="K6f0z" width="522" height="551" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2014/01/alert-java-jre-7u51-breaks-vcloud-uploads/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Challenge: Deploy ESXi and vCenter 5.5 without vSphere Client</title>
		<link>http://www.beyondvm.com/2013/11/challenge-deploy-esxi-and-vcenter-5-5-without-vsphere-client/</link>
		<comments>http://www.beyondvm.com/2013/11/challenge-deploy-esxi-and-vcenter-5-5-without-vsphere-client/#comments</comments>
		<pubDate>Tue, 26 Nov 2013 02:05:44 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[vCenter]]></category>

		<guid isPermaLink="false">http://beyondvm.com/?p=139</guid>
		<description><![CDATA[So, the situation is this: I use a Mac full time and I am tired of having to boot up Windows to configure the first ESXi host and the vCenter Appliance in a new environment so I wanted to see what it would take to deploy and configure a new environment without using Windows. This [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>So, the situation is this: I use a Mac full time and I am tired of having to boot up Windows to configure the first ESXi host and the vCenter Appliance in a new environment so I wanted to see what it would take to deploy and configure a new environment without using Windows. This turned out to be easier than I thought, just requires a little CLI action and <a href="http://www.vmware.com/support/developer/ovf/">VMware ovftool</a>.<a title="VMware ovftool" href="http://www.vmware.com/support/developer/ovf/"><br />
</a></p>
<p>First, I needed to configure an interface to reach my storage and create an NFS datastore, easy enough:</p><pre class="crayon-plain-tag">~ #&nbsp;esxcfg-vswitch -a vSwitch1

~ #&nbsp;esxcfg-vswitch -L vmnic2 vSwitch1

~ #&nbsp;esxcfg-vswitch -L vmnic3 vSwitch1

~ #&nbsp;esxcfg-vswitch -A &quot;IP Storage&quot; vSwitch1
~ # esxcfg-vswitch -l 
Switch Name&nbsp; &nbsp; &nbsp; Num Ports &nbsp; Used Ports&nbsp; Configured Ports&nbsp; MTU &nbsp; &nbsp; Uplinks 
vSwitch0 &nbsp; &nbsp; &nbsp; &nbsp; 3802&nbsp; &nbsp; &nbsp; &nbsp; 6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 128 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1500&nbsp; &nbsp; vmnic0,vmnic1 
PortGroup Name&nbsp; &nbsp; &nbsp; &nbsp; VLAN ID&nbsp; Used Ports&nbsp; Uplinks 
VM Network&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0&nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vmnic0,vmnic1 
Management VMs&nbsp; &nbsp; &nbsp; &nbsp; 0&nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vmnic0,vmnic1 
Management Network&nbsp; &nbsp; 0&nbsp; &nbsp; &nbsp; &nbsp; 1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vmnic0,vmnic1 

Switch Name&nbsp; &nbsp; &nbsp; Num Ports &nbsp; Used Ports&nbsp; Configured Ports&nbsp; MTU &nbsp; &nbsp; Uplinks 
vSwitch1 &nbsp; &nbsp; &nbsp; &nbsp; 3802&nbsp; &nbsp; &nbsp; &nbsp; 6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 128 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1500&nbsp; &nbsp; vmnic2,vmnic3 
PortGroup Name&nbsp; &nbsp; &nbsp; &nbsp; VLAN ID&nbsp; Used Ports&nbsp; Uplinks IP 
Storage&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0&nbsp; &nbsp; &nbsp; &nbsp; 1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vmnic2,vmnic3

~ #&nbsp;esxcfg-vmknic -a -i 10.1.1.20 -n 255.255.255.0 &quot;IP Storage&quot;

~ # esxcfg-vmknic -l

Interface&nbsp; Port Group/DVPort &nbsp; IP Family IP Address&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Netmask &nbsp; &nbsp; &nbsp; &nbsp; Broadcast &nbsp; &nbsp; &nbsp; MAC Address &nbsp; &nbsp; &nbsp; MTU &nbsp; &nbsp; TSO MSS &nbsp; Enabled Type

vmk0 &nbsp; &nbsp; &nbsp; Management Network&nbsp; IPv4&nbsp; &nbsp; &nbsp; 10.1.0.20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 255.255.255.0 &nbsp; 10.1.0.255&nbsp; &nbsp; &nbsp; 18:a9:05:58:63:7c 1500&nbsp; &nbsp; 65535 &nbsp; &nbsp; true&nbsp; &nbsp; STATIC

vmk1 &nbsp; &nbsp; &nbsp; IP Storage&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IPv4&nbsp; &nbsp; &nbsp; 10.1.1.20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 255.255.255.0 &nbsp; 10.1.1.255&nbsp; &nbsp; &nbsp; 00:50:56:66:1e:35 1500&nbsp; &nbsp; 65535 &nbsp; &nbsp; true&nbsp; &nbsp; STATIC

~ #</pre><p>Next, I just need to mount the NFS Storage I had presented from OpenFiler (that is the topic of another article):</p><pre class="crayon-plain-tag">~ #&nbsp;esxcfg-nas -a -o 10.1.1.10 -s&nbsp;/mnt/aggr0/sharednfs/management0 &quot;SharedNFS_Management0&quot;

Now, double check it mounted:

~ # esxcfg-nas -l

SharedNFS_ManagementVMs is /mnt/aggr0/sharednfs/management0/ from 10.1.1.10 mounted available

~ #</pre><p>Next, I installed OVFTool on my OpenFiler machine since it is just linux after all and I was working remotely so I didn&#8217;t want to have to push the vCenter appliance over a VPN incase it got interrupted, I could also install this directly in OSX.  I uploaded the ova file to a place on the local drive of my OpenFiler machine overnight.</p>
<p>Now to deploy:</p><pre class="crayon-plain-tag">[root@filer ~]#&nbsp;ovftool '--net:Network 1=VM Network' --datastore=&quot;SharedNFS_ManagementVMs&quot; --diskMode=thin --name=vcenter.skunkworks.dohmein.com VMware-vCenter-Server-Appliance-5.5.0.5101-1398493_OVF10.ova vi://root:password@10.1.0.20 Opening OVA source: VMware-vCenter-Server-Appliance-5.5.0.5101-1398493_OVF10.ova The manifest validates Source is signed and the certificate validates Opening VI target: vi://root@10.1.0.20:443/ Deploying to VI: vi://root@10.1.0.20:443/ Transfer Completed Completed successfully [root@filer ~]#</pre><p>Lets power this bad boy on, back on the ESXi Host:</p><pre class="crayon-plain-tag">~ # vim-cmd vmsvc/getallvms

Vmid&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; File &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Guest OS&nbsp; &nbsp; &nbsp; Version&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Annotation

6&nbsp; &nbsp; &nbsp; vcenter.skunkworks.dohmein.com &nbsp; [datastore1] vcenter.skunkworks.dohmein.com/vcenter.skunkworks.dohmein.com.vmx &nbsp; sles11_64Guest &nbsp; vmx-07&nbsp; &nbsp; VMware vCenter Server Appliance

Version 5.5 of VC running on SLES 11

~ # vim-cmd vmsvc/power.on 6

Powering on VM:

~ #</pre><p>Now here is the trick, how do I see where it is in the boot up process and to see what IP DHCP gave it.  Well, as it turns out, there is a path you can hit on an ESX host to get a screenshot of the VM, it is as follows:</p>
<p>https://&lt;ip/hostname&gt;/screen?id=&lt;moid&gt; (ID from the getallvms list above)</p>
<p>I am greeted with this:</p>
<p><a href="http://beyondvm.com/wp-content/uploads/2013/11/screen_noip.png"><img class="alignnone size-medium wp-image-145" alt="screen_noip" src="//beyondvm.com/wp-content/uploads/2013/11/screen_noip-300x166.png" width="300" height="166" /></a></p>
<p>Since I can&#8217;t login to the console without a windows computer, I decided to just try rebooting this VM to see if I can get DHCP to work (previously set up, had a flaky trunk between switches). Back to the ESXi command line:</p><pre class="crayon-plain-tag">~ # vim-cmd vmsvc/power.reset 6

Reset VM:

~ #</pre><p>More refreshing of the screenshot page:</p>
<p><a href="http://beyondvm.com/wp-content/uploads/2013/11/screen_reboot.png"><img class="alignnone size-medium wp-image-146" alt="screen_reboot" src="//beyondvm.com/wp-content/uploads/2013/11/screen_reboot-300x166.png" width="300" height="166" /></a></p>
<p>And here we go, now we have an IP address:</p>
<p><a href="http://beyondvm.com/wp-content/uploads/2013/11/screen_ip.png"><img class="alignnone size-medium wp-image-147" alt="screen_ip" src="//beyondvm.com/wp-content/uploads/2013/11/screen_ip-300x166.png" width="300" height="166" /></a></p>
<p>Sweet!  Now to just visit the address and finish the configuration!  No windows necessary!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2013/11/challenge-deploy-esxi-and-vcenter-5-5-without-vsphere-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vCOPs: Parse column data to remove data labels</title>
		<link>http://www.beyondvm.com/2013/11/vcops-parse-column-data-to-remove-data-labels/</link>
		<comments>http://www.beyondvm.com/2013/11/vcops-parse-column-data-to-remove-data-labels/#comments</comments>
		<pubDate>Wed, 20 Nov 2013 17:15:49 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[vCOPs]]></category>
		<category><![CDATA[vcops]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://beyondvm.com/?p=133</guid>
		<description><![CDATA[Today I generated a vCOPs report in CSV for the first time with the hopes of doing some column sorting and excel math on the data only to find out that every data column includes the label.  WHAT! Here is an example: Object Configured vCPU Configured CPU CPU Contention Configured Memory Example VM 1 vCPUs [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Today I generated a vCOPs report in CSV for the first time with the hopes of doing some column sorting and excel math on the data only to find out that every data column includes the label.  WHAT!</p>
<p>Here is an example:</p>
<table width="1000" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col span="12" width="65" />
<col width="90" />
<col span="2" width="65" /> </colgroup>
<tbody>
<tr>
<td width="65" height="15">Object</td>
<td width="65">Configured vCPU</td>
<td width="65">Configured CPU</td>
<td width="65">CPU Contention</td>
<td width="65">Configured Memory</td>
</tr>
<tr>
<td height="15">Example VM</td>
<td>1 vCPUs</td>
<td>2.5 GHz</td>
<td align="right">0.26%</td>
<td>1 GB</td>
</tr>
<tr>
<td height="15">ExampleVM 2</td>
<td>2 vCPUs</td>
<td>5.1 GHz</td>
<td align="right">0.21%</td>
<td>4 GB</td>
</tr>
</tbody>
</table>
<p>Now, this may seem great from a readability perspective but its terrible if you want to use excel (or anything for that matter) to sort or manipulate any data because it doesn&#8217;t know how to deal with the units.</p>
<p>What I really wanted was something like this:</p>
<table width="1000" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col span="12" width="65" />
<col width="90" />
<col span="2" width="65" /></colgroup>
<tbody>
<tr>
<td width="65" height="15">Object</td>
<td width="65">Configured vCPU (vCPUs)</td>
<td width="65">Configured CPU (GHz)</td>
<td width="65">CPU Contention</td>
<td width="65">Configured Memory (GB)</td>
</tr>
<tr>
<td height="15">Example VM</td>
<td>1</td>
<td>2.5</td>
<td align="right">0.26%</td>
<td>1</td>
</tr>
<tr>
<td height="15">ExampleVM 2</td>
<td>2</td>
<td>5.1</td>
<td align="right">0.21%</td>
<td>4</td>
</tr>
</tbody>
</table>
<p>Ruby to the rescue, I created a quick and dirty script to strip all of those ugly units out:</p>
<!-- Missing Gist ID -->
<p>It will place the units from the first data line in the headers, there currently isn&#8217;t any checking on this so even if it doesnt make sense it will add it (like the Object column for example).</p>
<p>There are a few things that I will probably add in time, for example:</p>
<ul>
<li>Normalize units, i.e. GB/TB -&gt; MB</li>
<li>Convert KBps to IOPS (if possible)</li>
<li>remove %</li>
<li>Clean up headers</li>
</ul>
<p>Other than that, its a great little hack I think.  Let me know any ideas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2013/11/vcops-parse-column-data-to-remove-data-labels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vOpenData Update &#8211; Dashboard v2.0</title>
		<link>http://www.beyondvm.com/2013/05/vopendata-dashboard-update/</link>
		<comments>http://www.beyondvm.com/2013/05/vopendata-dashboard-update/#comments</comments>
		<pubDate>Wed, 08 May 2013 18:18:38 +0000</pubDate>
		<dc:creator><![CDATA[ben]]></dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[vopendata]]></category>

		<guid isPermaLink="false">http://beyondvm.dreamhosters.com/?p=6</guid>
		<description><![CDATA[A few days ago I pushed live a new update for the vOpenData Dashboard which included a few interesting things from an application perspective, I wanted to highlight some of them here. The Code The first major thing is that the first version of the dashboard was written using a framework called Dashing which is a sweet [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A few days ago I pushed live a new update for the vOpenData Dashboard which included a few interesting things from an application perspective, I wanted to highlight some of them here.</p>
<p><strong>The Code</strong></p>
<p><strong></strong><span style="line-height: 1.6em;">The first major thing is that the first version of the dashboard was written using a framework called </span><a style="line-height: 1.6em;" href="https://github.com/Shopify/dashing">Dashing</a><span style="line-height: 1.6em;"> which is a sweet frame work for developing dashboards from any datasource really quickly but, as it turns out, is not great at efficiently handling hundreds of connections.</span></p>
<p>Because of this I re-wrote the dashboard from scratch using a simple <a style="line-height: 1.6em;" href="http://www.sinatrarb.com/">Sinatra</a><span style="line-height: 1.6em;"> </span><span style="line-height: 1.6em;">app, it ended up only being about 40 lines of actual logic (not including the HTML part) to get the job done, pretty awesome.</span></p>
<p><span>This simplicity also allowed me to throw some memcache caching up infront of it to handle just about any traffic I can throw at it.  I actually tested up to 250 hits/second using <a href="http://blitz.io/">blitz.io</a> and it functioned flawlessly.  Awesome.</span></p>
<p><span style="line-height: 1.6em;">I also used a totally sweet framework called <a href="http://isotope.metafizzy.co" target="_blank">isotope</a> to do the layout of the tiles on that page that will allow me to do some even cooler things in the future.  One thing I did add though was the ability to filter by category, just click on the buttons in the toolbar to drill down a little, you can get views like this for LUNs:</span></p>
<p><a href="http://beyondvm.com/wp-content/uploads/2013/05/hosts.png"><img class="alignnone  wp-image-81" alt="hosts" src="//beyondvm.com/wp-content/uploads/2013/05/hosts.png" /></a></p>
<p><strong>The Stats</strong></p>
<p><strong></strong>In this version we wanted to bring to the front a few new stats, most importantly being the storage vendor statistics.</p>
<p><a href="http://beyondvm.com/wp-content/uploads/2013/05/storage_by_size.png"><img class="alignnone  wp-image-83" alt="storage_by_size" src="//beyondvm.com/wp-content/uploads/2013/05/storage_by_size.png" /></a></p>
<ol>
<li><strong>Storage Stats &#8211; </strong>These stats may be interesting to some folks as NetApp is not among the top storage vendors on this list.  My theory on this is because NetApp admins typically (from my experience) provision large NFS volumes versus smaller VMFS volumes.  This stat is based on the number of LUNs not the total storage provided by each vendor (which would also be interesting to see, that will come later) so this list did not really surprise me personally.  As a little tease for what is to come,  I included a screenshot of the top 15 vendors sorted by amount of storage, interesting results as well.</li>
</ol>
<p>&nbsp;</p>
<ul>
<li><strong style="line-height: 1.6em;">Environment Types &#8211; </strong><span style="line-height: 1.6em;">Another thing we decided to add was a breakdown of the environment types that we have gotten so far.  We thought this would be a great thing to display as it would give everyone an idea of what kind of data we have so far and who we need to bug as a community to upload.  I was happy to see that we had a huge portion of the environments being from production server based infrastructures, awesome work.<br />
</span></li>
<li><strong>Host Hardware &#8211; </strong>We increased the number of host vendors to 5 (<span><span>after many asks from all of you!) and this shows basically what I expected as well.  I did expect Cisco to have a higher percentage but I suppose those are the larger environments that may not have reported in yet.  </span></span></li>
<li><strong></strong><strong>Country Standings &#8211; </strong>One note about these, I was actually not calculating these correctly (dividing submissions by number of users, doh!) so that is why these seem to have changed drastically.  The data is the same, I just am mathing correctly now.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Data Curation</strong></p>
<p>People were asking if we combine DGC (EMC Clariion based storage) and EMC?</p>
<p>It seems like the census is to spend some time curating the data, combining Dell and Dell Inc for example, so I will be working on some code to do that as part of the next update.  This will probably be asynchronous (run as a job on the whole dataset as a whole on a schedule) so it won&#8217;t necessarily do it instantly on upload, this is to keep the time it takes to insert the data to a minimum.</p>
<p><strong>The Future</strong></p>
<p>Next up, the future.  I have been doing a lot of thinking about where to take this project in the future.  I was really astounded by the response that we have gotten from the community, you all have blown me away.  I really have some cool ideas for this project that I am not quite ready to talk about but I think everyone will really love.</p>
<p>My goal is to be able to give everyone the ability to mix this data as they want to see what the community can come up with with all of this data, I am sure some of you have some amazing ideas.  If you do have anything in particular send me an email and I would love to chat about it.</p>
<p>I also am looking to give some filtering and mashing up of the data on the private dashboards to narrow the scope of some of the averages, I know that is what people are really looking for.</p>
<p>One more thing (channeling The Steve), the Microsoft sized gorilla in the room.  I have thought about the ability to gather stats from other vendors environment in a similar manor to compare and I think this would be really amazing.  If any one is (or knows of) a rockstar that can work with the Hyper-V, Citrix, or OpenStack APIs get them in touch with me on twitter or by email.</p>
<p>Until then my head is going to be buried in refactoring and improving the main site codebase to get something really great out to the community, stand by.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beyondvm.com/2013/05/vopendata-dashboard-update/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
