<?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>thb3</title>
	<atom:link href="http://blog.thb3.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.thb3.com</link>
	<description>Blogging about virtualization</description>
	<lastBuildDate>Tue, 18 May 2010 22:09:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Automating Services based on vCenter Custom Attributes &#8211; Updated</title>
		<link>http://blog.thb3.com/?p=44</link>
		<comments>http://blog.thb3.com/?p=44#comments</comments>
		<pubDate>Tue, 18 May 2010 22:09:12 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[Custom Attributes]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[vFoglight]]></category>
		<category><![CDATA[service builder]]></category>

		<guid isPermaLink="false">http://blog.thb3.com/?p=44</guid>
		<description><![CDATA[It&#8217;s been awhile since my last post, I&#8217;ve been busy traveling around and what not.  Today, I&#8217;m going to be sharing some new code that does something pretty cool in vFoglight/Foglight.  As mentioned in a previous article, you can use Dynamic Managed Components to create services based off any attribute or query you can come <a href="http://blog.thb3.com/?p=44" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been awhile since my last post, I&#8217;ve been busy traveling around and what not.  Today, I&#8217;m going to be sharing some new code that does something pretty cool in vFoglight/Foglight.  As mentioned in a previous article, you can use Dynamic Managed Components to create services based off any attribute or query you can come up with.  Well, what I have to share today will do all of this work for you.</p>
<p>Let&#8217;s say you have an attribute in vCenter called Business Units.  Each VM in vCenter has a value listed, some are assigned to Sales, some to Marketing, so on and so forth&#8230;  Now you want to create services in vFoglight for each of these, but you don&#8217;t want to have to keep updating things or creating a new component when a new BU spins up.  Fear not!  That is what I have for you today.</p>
<p>Below is some groovy code you can use to do above.  The best way to use this is to create a rule in vFoglight/Foglight, set it as a Simple Rule and fire every 24 hours (even without data). Here is what that looks like:</p>
<p><a href="http://blog.thb3.com/wp-content/uploads/2010/05/CA-Rule1.jpg"><img class="aligncenter size-thumbnail wp-image-45" title="CA Rule1" src="http://blog.thb3.com/wp-content/uploads/2010/05/CA-Rule1-150x150.jpg" alt="" width="150" height="150" /></a>Next under the Condition you paste in the code below and change the attribute to whatever you want it to look for.</p>
<p><a href="http://blog.thb3.com/wp-content/uploads/2010/05/CA-Rule2.jpg"><img class="aligncenter size-thumbnail wp-image-46" title="CA Rule2" src="http://blog.thb3.com/wp-content/uploads/2010/05/CA-Rule2-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Last but least, here is the code you can use!</p>
<p>## Begin Code ##</p>
<p>attributeName = &#8220;Business Unit&#8221;;</p>
<p>ts = server.get(&#8220;TopologyService&#8221;);</p>
<p>def createOrUpdateObject(typeName, propertyValues) {<br />
def type = ts.getType(typeName);<br />
objShell = ts.getObjectShell(type);<br />
propertyValues.each ({propertyName, propertyValue -&gt;<br />
def prop = type.getProperty(propertyName);<br />
if (!prop.isMany()) {<br />
objShell.set(prop, propertyValue);<br />
}<br />
else if (propertyValue instanceof Collection) {<br />
objShell.getList(prop).addAll(propertyValue);<br />
}<br />
else {<br />
objShell.getList(prop).add(propertyValue);<br />
}<br />
});<br />
return ts.mergeData(objShell);<br />
}</p>
<p>// Find all attribute X values<br />
values = [] as Set;<br />
vmType = ts.getType(&#8220;VMWVirtualMachine&#8221;);<br />
vms = ts.getObjectsOfType(vmType);</p>
<p>vms.each { vm -&gt;<br />
def custAtts = vm.get(&#8220;customAttributes&#8221;);<br />
custAtts.each { ca-&gt;<br />
caName = ca.get(&#8220;name&#8221;);<br />
if(caName == attributeName)<br />
{<br />
caValue = ca.get(&#8220;value&#8221;).trim();<br />
if(caValue.length()&gt;0)<br />
{<br />
values.add(caValue);<br />
}<br />
}<br />
}<br />
}</p>
<p>// Create Services named value Y,Z,&#8230; attaching a DMC to each<br />
valSvcs = [];<br />
values.each { val-&gt;</p>
<p>// Create the service<br />
valSvc = createOrUpdateObject(&#8220;FSMService&#8221;, [name:attributeName + " "+val]);</p>
<p>// Create the DMC<br />
dmc = createOrUpdateObject(&#8220;FSMDynamicManagedComponent&#8221;,<br />
[name:val+" container", container:valSvc,<br />
componentQuery:"VMWVirtualMachine where customAttributes.name = '"+attributeName+"' and customAttributes.value = '"+val+"'",<br />
queryConditions:"customAttributes.name = '"+attributeName+"' and customAttributes.value = '"+val+"'",<br />
baseQuery:"/modules[fqId='system:virtualvmw']/queries[fqId='system:virtualvmw.581']&#8220;]);</p>
<p>//     Add the dynamic managed component to the service<br />
valSvc = createOrUpdateObject(&#8220;FSMService&#8221;, [name:attributeName + " "+val, definition:[dmc]]);<br />
valSvcs.add(valSvc);<br />
}</p>
<p>// Create Service named attribute X<br />
fsmAttService = createOrUpdateObject(&#8220;FSMService&#8221;, [name:(attributeName), definition:valSvcs]);</p>
<p>// Create Category<br />
fsmCategory = createOrUpdateObject(&#8220;FSMCategory&#8221;, [name:"Attributes", definition:[fsmAttService]]);<br />
## End Code ##</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=44</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMware Partner Exchange</title>
		<link>http://blog.thb3.com/?p=42</link>
		<comments>http://blog.thb3.com/?p=42#comments</comments>
		<pubDate>Sat, 13 Feb 2010 17:39:33 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Las Vegas]]></category>
		<category><![CDATA[PEX]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[Project Onyx]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.thb3.com/?p=42</guid>
		<description><![CDATA[I had the opportunity to attend Partner Exchange, PEX for short, this past week.  Overall, I have to say I was quite pleased with the sessions this year.  Normally, I tend to find most sessions a bit light on the technical part and far to heavy on the marketing fluff.  To my surprise, I was <a href="http://blog.thb3.com/?p=42" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I had the opportunity to attend Partner Exchange, PEX for short, this past week.  Overall, I have to say I was quite pleased with the sessions this year.  Normally, I tend to find most sessions a bit light on the technical part and far to heavy on the marketing fluff.  To my surprise, I was shocked that virtually every session was very technical and the speakers could go very deep.</p>
<p>Being that I dabble a lot in programming, and I work for an ISV, I have to say Carter Shanklin&#8217;s session &#8220;Getting Stoned with Project Onyx&#8221; was simple amazing.  I&#8217;d heard about Onyx when it came out late in 2009, but after seeing the product in action I am still trying to grasp how awesome it really is.  In short, Onyx is a code generator for VMware.  It sits between your VI Client and vCenter/ESX and when you perform tasks, it will show you in PowerShell what commands are equivalent to what you performed!  For those that don&#8217;t want to learn lots of PowerCLI or you want to follow VMware best practice on coding, it&#8217;s an invaluable tool.  You can read more about it <a href="http://blogs.vmware.com/vipowershell/2009/11/project-onyx-is-here.html" target="_blank">here</a>.</p>
<p>Many of the other sessions around Best Practices for Performance APIs, PowerCLI and vOrchestrator were also very good.  While PEX is clearly for partners, I hope VMware continues this high level of presentations this year for VMworld.  I&#8217;ll be writing up some thoughts on VMware strategy later this weekend, so stay tuned for a bit more.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=42</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restoring hidden files in vRanger Pro</title>
		<link>http://blog.thb3.com/?p=33</link>
		<comments>http://blog.thb3.com/?p=33#comments</comments>
		<pubDate>Fri, 15 Jan 2010 15:46:19 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[vRanger Pro]]></category>
		<category><![CDATA[File Level Restore]]></category>
		<category><![CDATA[hidden files]]></category>
		<category><![CDATA[Restore]]></category>
		<category><![CDATA[Vizioncore]]></category>

		<guid isPermaLink="false">http://blog.thb3.com/?p=33</guid>
		<description><![CDATA[When performing a file level restore, vRanger Pro normally shows the list of files excluding hidden files.  To work around this, you simply need to navigate to the directory where the file level restore is being mounted as the vRanger Pro service account.  (%USER PROFILE%\Local Settings\Temp\FLR)
For example &#8211; I have a Windows 2008 VM that <a href="http://blog.thb3.com/?p=33" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>When performing a file level restore, vRanger Pro normally shows the list of files excluding hidden files.  To work around this, you simply need to navigate to the directory where the file level restore is being mounted as the vRanger Pro service account.  (%USER PROFILE%\Local Settings\Temp\FLR)</p>
<p>For example &#8211; I have a Windows 2008 VM that I want to restore some data from C:\ProgramData.  In the GUI for File level restore I see this:</p>
<p style="text-align: left;"><a href="http://blog.thb3.com/wp-content/uploads/2010/01/flr_gui.jpg"><img class="aligncenter size-full wp-image-36" title="File Level Restore - vRanger Pro GUI" src="http://blog.thb3.com/wp-content/uploads/2010/01/flr_gui.jpg" alt="" width="501" height="292" /></a>As you can see the directory ProgramData is not there, because it is hidden.  So I browse to the vRanger Service account&#8217;s directory (Administrator.Demo) and I can see mount from Windows Explorer.</p>
<p style="text-align: left;"><a href="http://blog.thb3.com/wp-content/uploads/2010/01/flr_explorer.jpg"><img class="aligncenter size-full wp-image-35" title="File Level Restore - Windows Explorer" src="http://blog.thb3.com/wp-content/uploads/2010/01/flr_explorer.jpg" alt="" width="640" height="145" /></a>If I open this and go to the same volume I will now see the folder that is hidden.</p>
<p style="text-align: left;"><a href="http://blog.thb3.com/wp-content/uploads/2010/01/flr_hidden.jpg"><img class="aligncenter size-full wp-image-37" title="File Level Restore - Hidden Files" src="http://blog.thb3.com/wp-content/uploads/2010/01/flr_hidden.jpg" alt="" width="686" height="180" /></a>From here I can simply copy and past the folder or any files that I choose.  I hope this helps any of you that are looking for those hidden files!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=33</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Work in Progress &#8211; Part 2</title>
		<link>http://blog.thb3.com/?p=30</link>
		<comments>http://blog.thb3.com/?p=30#comments</comments>
		<pubDate>Mon, 11 Jan 2010 02:53:12 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.thb3.com/?p=30</guid>
		<description><![CDATA[I&#8217;ve made the switch to WordPress for my blog, and over the next week or so I will be updating the theme a bit as well as content.  Please let me know what you think!
Thomas
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made the switch to WordPress for my blog, and over the next week or so I will be updating the theme a bit as well as content.  Please let me know what you think!</p>
<p>Thomas</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=30</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Associating Custom Attributes in vFoglight</title>
		<link>http://blog.thb3.com/?p=4</link>
		<comments>http://blog.thb3.com/?p=4#comments</comments>
		<pubDate>Sun, 10 Jan 2010 18:54:35 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[Vizioncore]]></category>
		<category><![CDATA[vFoglight]]></category>
		<category><![CDATA[Custom Attributes]]></category>
		<category><![CDATA[service builder]]></category>
		<category><![CDATA[service oriented architecture]]></category>

		<guid isPermaLink="false">http://blog.thb3.com.s86048.gridserver.com/?p=4</guid>
		<description><![CDATA[I am often asked how to associate a custom attribute in vCenter to a group in vFoglight. To do this in vFoglight we create a Service. For an example I’m going to use the Custom Attribute called “Business Unit” to create service for all VMs that have “Business Unit” set to “Sales”
First, we need to <a href="http://blog.thb3.com/?p=4" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I am often asked how to associate a custom attribute in vCenter to a group in vFoglight. To do this in vFoglight we create a Service. For an example I’m going to use the Custom Attribute called “Business Unit” to create service for all VMs that have “Business Unit” set to “Sales”</p>
<p>First, we need to turn on Custom Attribute collection. In vFoglight Pro 6.0, the default collection is to not collect CA&#8217;s. To change this, we must navigate to the collector installation path.</p>
<ul>
<li>If you have a default installation it is C:\Program Files\Vizioncore\vFoglight\VMware Agent</li>
<li>Edit the FoglightAgent.WinService.exe.config with your favorite text editor</li>
<li>Look for IncludeCustomAttributes</li>
<li>Change the value from False to True</li>
<li>Save the file and Close</li>
<li>Restart the vFoglight Collector &amp; Connector services from Windows Services</li>
</ul>
<p>After those steps are complete you will now get custom attributes to start showing up in vFoglight Pro. Now, to create some services! Let’s start by navigating to the vFoglight Dashboards Services Service Builder.</p>
<p><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/1.jpg"><img class="alignnone size-medium wp-image-5" title="1" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/1-300x36.jpg" alt="" width="300" height="36" /></a></p>
<p>From here click Add a New Category and give your Category a name, for example “Business Units” and click Create.</p>
<p><a href="http://3.bp.blogspot.com/_aY7-7kS8Ris/SyfpMX0QNeI/AAAAAAAAABE/5gWDXCpxGpw/s1600-h/Category.jpg"></a><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/2.jpg"><img class="alignnone size-medium wp-image-10" title="2" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/2-300x185.jpg" alt="" width="300" height="185" /></a></p>
<p>Under the Actions for the new Category, select Add.<br />
Click “Create a new service contained by this service” &amp; select Global Service</p>
<p><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/3.jpg"><img class="alignnone size-full wp-image-9" title="3" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/3.jpg" alt="" width="300" height="211" /></a><br />
Since this is for sales I will call the name “Sales” and click Create.</p>
<p><a href="http://1.bp.blogspot.com/_aY7-7kS8Ris/SyfptvAduoI/AAAAAAAAABU/fX78fn8eC7I/s1600-h/Create+Sales+Service.jpg"></a><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/4.jpg"><img class="alignnone size-medium wp-image-8" title="4" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/4-300x183.jpg" alt="" width="300" height="183" /></a></p>
<p>Now that the “Sales” Service is created we need to add VMs to it.<br />
Under the Actions for Sales Service, select Add.<br />
Click “Create a rule to include a group of components”<br />
I need to assign a name for this rule, which I will call “Sales VMs”.<br />
Next I need to select the type of objects I am looking at, in this case Virtual Machines.<br />
Lastly I need to create the rule condition, which is:<br />
name like &#8216;%&#8217; &amp;&amp; $object.customAttributes.name matches &#8216;Business.Unit&#8217; &amp;&amp; $object.customAttributes.value matches &#8216;Sales&#8217;</p>
<p><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/5.jpg"><img class="alignnone size-medium wp-image-7" title="5" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/5-300x232.jpg" alt="" width="300" height="232" /></a></p>
<p><a href="http://1.bp.blogspot.com/_aY7-7kS8Ris/Syfp8iKRKrI/AAAAAAAAABc/UgzM0uvxP0Y/s1600-h/Dynamic+Rule.jpg"></a>At this point I could test the rule to see if it returns the objects I want, but since I know the query is correct I will simply click Create and I will have the components added. I can now see that all of the VMs with the Business Unit that equals Sales are added to my Service. At this point any other service related view or action will apply to this new service. This means I can easily report against the SLA, Health and Availability for my Sales Service.</p>
<p><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/6.jpg"><img class="alignnone size-medium wp-image-6" title="6" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/6-300x116.jpg" alt="" width="300" height="116" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=4</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vFoglight Virtualized &#8211; Part 3</title>
		<link>http://blog.thb3.com/?p=14</link>
		<comments>http://blog.thb3.com/?p=14#comments</comments>
		<pubDate>Sun, 18 Oct 2009 18:00:37 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[Vizioncore]]></category>
		<category><![CDATA[vFoglight]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[virtual appliance]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.thb3.com.s86048.gridserver.com/?p=14</guid>
		<description><![CDATA[In the first two parts of the series we’ve been talking about the basics of vFoglight and how the system components operate.  In the previous post we were testing about 30 VMs, so now we’ve added another 70VMs bringing the total up to 100.  Again, we can look at the JVM Memory Usage and Load <a href="http://blog.thb3.com/?p=14" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>In the first two parts of the series we’ve been talking about the basics of vFoglight and how the system components operate.  In the previous post we were testing about 30 VMs, so now we’ve added another 70VMs bringing the total up to 100.  Again, we can look at the JVM Memory Usage and Load Estimator to see how taxed the system is.</p>
<p>Figure 1 &#8211; JVM Memory Usage</p>
<p><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure1.gif"><img class="alignnone size-medium wp-image-16" title="figure1" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure1-300x247.gif" alt="" width="300" height="247" /></a><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure2.gif"></a></p>
<p>Figure 2 &#8211; Load Estimator</p>
<p><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure2.gif"><img class="alignnone size-medium wp-image-15" title="figure2" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure2-300x241.gif" alt="" width="300" height="241" /></a></p>
<p>As you can see in the figures, there is data growth over time and periodic spikes in load.  What is happening to cause the spikes?  Garbage Collection, GC for short, is running on the vFoglight Management Server during those spikes.  Essentially, as the JVM creates new objects, it uses memory to store the objects.  Over time these objects become unused and the system could reclaim that bit of memory space to reuse for other purposes.  That is what is happening during these spikes, GC is finding unused memory, clearing it out and allowing it to be reallocated.  Garbage collection is akin to Memory reclamation in many senses.</p>
<p>Since the load is acceptable for 100 VMs, we will now go ahead and add in approximately 650 additional VMs.  In total we’re now going to be importing 809 objects.  Objects are comprised of: Virtual Machines, ESX Hosts, Resource Pools, Folders, Clusters, Data Centers &amp; vCenters.</p>
<p>Looking at the new load after adding the additional objects, we can observe that the load is maxing out the 2G of memory during GC periods.  As the host is well undersized for a 64-bit application, it will be shutdown and more memory will be added.<br />
Figure 3 &#8211; JVM Memory Usage &amp; Load Estimator</p>
<p><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure3.gif"><img class="alignnone size-medium wp-image-17" title="figure3" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure3-300x118.gif" alt="" width="300" height="118" /></a></p>
<p>After adding memory to the system, which is also highlighted in Figure 3, we can see load is once again reasonable.  Essentially doubling the resources the vFoglight host, the load of the system has significantly dropped and performance has returned to normal.</p>
<p><strong>vFoglight VM &#8211; Updated<br />
</strong>OS &#8211; Windows 2003 R2 x86_64<br />
vCPUs &#8211; 2<br />
Memory &#8211; 4G <strong>(Changed from 2G)<br />
</strong>Hard Drives &#8211; 3 VMDKs on Raid Group 2 (only VMDKs on the Datastore)<br />
10G C:\ (OS Partition &#8211; 64k aligned)<br />
5G D:\ (Swap Partition 4G Fixed size &#8211; 64k aligned)<br />
30G F:\ (Application Partition &#8211; 64k aligned)<br />
vFoglight 5.2.6 x86_64</p>
<p>In the next post I’ll be talking about how we start to scale to something much bigger.  We’re already at 809 VMs/objects!  Next we will do over 2500 &amp; 5000 VMs/objects on our way up to over 10,000 objects!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=14</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vFoglight Virtualized &#8211; Part 2</title>
		<link>http://blog.thb3.com/?p=20</link>
		<comments>http://blog.thb3.com/?p=20#comments</comments>
		<pubDate>Thu, 08 Oct 2009 19:02:00 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[vFoglight]]></category>
		<category><![CDATA[virtual appliance]]></category>
		<category><![CDATA[Vizioncore]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.thb3.com.s86048.gridserver.com/?p=20</guid>
		<description><![CDATA[Continuing from the last post, we are now going to explore installing vFoglight 5.2.6 into a VM and start pointing vCenters at it.
For the purpose of the test I’m using the following configurations to start and we will grow it as we add more vCenters and thus more VMs or as performance dictates.
vFoglight VM
OS &#8211; <a href="http://blog.thb3.com/?p=20" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Continuing from the last post, we are now going to explore installing vFoglight 5.2.6 into a VM and start pointing vCenters at it.</p>
<p>For the purpose of the test I’m using the following configurations to start and we will grow it as we add more vCenters and thus more VMs or as performance dictates.</p>
<p><strong>vFoglight VM<br />
</strong>OS &#8211; Windows 2003 R2 x86_64<br />
vCPUs &#8211; 2<br />
Memory &#8211; 2G<br />
Hard Drives &#8211; 3 VMDKs on Raid Group 2 (only VMDKs on the Datastore)<br />
10G C:\ (OS Partition &#8211; 64k aligned)<br />
5G D:\ (Swap Partition 4G Fixed size &#8211; 64k aligned)<br />
30G F:\ (Application Partition &#8211; 64k aligned)<br />
vFoglight 5.2.6 x86_64</p>
<p><strong>Physical Hardware<br />
</strong>Dell T610<br />
OS &#8211; vSphere 4.0<br />
CPUs &#8211; 2x Intel Nehalem L5520 @ 2.27Ghz (8 Cores + 8 HT = 16 Logical CPUs)<br />
Memory &#8211; 32G<br />
Disks &#8211; 3 RAID1 Groups<br />
Group1 = 2x 146G 15K RPM SAS<br />
Group1 = 2x 146G 15K RPM SAS<br />
Group3 = 2x 1.5TB 5400 RPM SATA</p>
<p>A little house keeping before we get into some data.  I’ve chosen to go with the x86_64 version of vFoglight, and intentionally I’ve undersized the requirements to allow us to show a single host and how it can scale to large environments.  As with many 64-bit applications, the memory requirements essentially double vs. 32-bit applications as they require a larger foot print right away to handle more memory pages.  The default behavior of a JVM is to allow for utilization of 75% of total system memory.  For example, below you will see figures around the JVM with top at 1.5G for possible use in the JVM when the total system memory is 2G.</p>
<p>After downloading vFoglight 5.2.6, I simply followed the installation process doing a custom install and changing the paths to F: instead of C: as that is where I want to place the vFoglight application.  This is good for many reasons, but one of the main reasons is it allows me to easily see the Disk IO for the entire application.</p>
<p>FIrst up, a single vCenter with 1 ESX host and 30 Virtual Machines.  After configuring the collector to talk to this vCenter, it does the heavy lifting of getting the data over to the vFoglight Management Server.  Below in Figure 1 &amp; Figure 2 you will see the memory required to run the Management Server, collect the metrics and then the load of the FMS as we see from within the application.</p>
<p>Figure 1 &#8211; JVM Memory Usage</p>
<p><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure1a1.gif"><img class="alignnone size-medium wp-image-22" title="figure1a1" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure1a1-300x233.gif" alt="" width="300" height="233" /></a></p>
<p>Figure 2 &#8211; Load Estimator</p>
<p><a href="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure2a.gif"><img class="alignnone size-medium wp-image-21" title="figure2a" src="http://blog.thb3.com.s86048.gridserver.com/wp-content/uploads/2010/01/figure2a-300x230.gif" alt="" width="300" height="230" /></a></p>
<p>As you can see, the system is easily handling this small load effectively.  This screen is viewable, as well as lots of other important statistics on your vFoglight server under Dashboards -&gt; Foglight -&gt; Diagnostic -&gt; Performance -&gt; Overview.  Next up, I’ll be adding another 70 so VMs, to take us up to around 100 VMs and then how many more VM’s can we add before adding more memory on our way to 1000 VMs and beyond.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=20</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vFoglight Virtualized &#8211; Part 1</title>
		<link>http://blog.thb3.com/?p=12</link>
		<comments>http://blog.thb3.com/?p=12#comments</comments>
		<pubDate>Fri, 18 Sep 2009 18:55:27 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[vFoglight]]></category>
		<category><![CDATA[virtual appliance]]></category>
		<category><![CDATA[Vizioncore]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.thb3.com.s86048.gridserver.com/?p=12</guid>
		<description><![CDATA[I&#8217;ve had a lot of virtualization customers ask me, both large and small, if Vizioncore&#8217;s vFoglight will run in a VM or as a virtual appliance. My reaction, of course, is it will run just like on a physical host. vFoglight has always been supported running in a VM by Vizioncore. Like any application you <a href="http://blog.thb3.com/?p=12" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a lot of virtualization customers ask me, both large and small, if Vizioncore&#8217;s vFoglight will run in a VM or as a virtual appliance. My reaction, of course, is it will run just like on a physical host. vFoglight has always been supported running in a VM by Vizioncore. Like any application you virtualize, there are things you can do to ensure proper performance and more importantly get the most out of the environment.</p>
<p>Let&#8217;s look at the different parts of vFoglight and talk about each one. There are three components that can be installed together or installed separately. They are the: collector, management server and the database.</p>
<p>The collector is just what it sounds like, it&#8217;s an agent that collects data remotely from vCenter and forwards that information into the management system. It&#8217;s supported on Windows only, since it currently uses .NET to talk to vCenter.</p>
<p>The second component is the management server. Currently, Vizioncore has a download and go version of vFoglight that runs on Windows x86 or x86_64. This is designed to be the typical easy install with Next -&gt; Next -&gt; Done. There are versions of vFoglight that run on Linux (most 2.6 flavors) and Solaris as well! Also, it&#8217;s good to note that vFoglight runs on top of a JVM, which creates pages written mostly in AJAX and served out by Apache.</p>
<p>The last component is the database. vFoglight ships with an embedded version of MySql for use. This is sufficient for most implementations, but once you get into thousands or tens of thousands of VMs, it can be advisable to break the database off. Which is why vFoglight supports external versions of MySql, Oracle, and new with the 6.0 release SQL Server 2005+.</p>
<p>So&#8230; all of the components and applications used inside of vFoglight are supported in a VM and there are plenty of success stories from VMware customers &amp; Vizioncore customers that speak to how well each one runs in a VM. vFoglight is no different in that respect. If you plan properly, as with any project, it will run just as well as on a physical host.</p>
<p>For a quick example, I am currently running a test environment with a customer with about 8100+ VM&#8217;s being pushed into a single vFoglight VM running SLES 10.2 and the embedded MySql database.</p>
<p>Up next on my plate is to detail out some of these configurations and what some of the largest VMware customers are doing with vFoglight to monitor their virtual &amp; physical infrastructure.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=12</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capacity Planning &#8211; Part 2</title>
		<link>http://blog.thb3.com/?p=24</link>
		<comments>http://blog.thb3.com/?p=24#comments</comments>
		<pubDate>Fri, 07 Aug 2009 19:04:12 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[Vizioncore]]></category>
		<category><![CDATA[vFoglight]]></category>
		<category><![CDATA[Capacity Planning]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.thb3.com.s86048.gridserver.com/?p=24</guid>
		<description><![CDATA[Continuing from my last post about capacity planning, Capacity Planning Part 1, I am going to discuss some of the ways that you can find your current capacity, as well as future capacity.  While there are many tools out there that can help you, I’m going to focus on one or two concepts of capacity <a href="http://blog.thb3.com/?p=24" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Continuing from my last post about capacity planning, <a title="Capacity Planning Part 1" href="http://blog.thb3.com/?p=24" target="_blank">Capacity Planning Part 1</a>, I am going to discuss some of the ways that you can find your current capacity, as well as future capacity.  While there are many tools out there that can help you, I’m going to focus on one or two concepts of capacity planning.</p>
<p>So the first thing to consider is how you wish to model your environment.  This can be the simplest and the hardest part.  If you go ask Gartner, IDC or one of the many large research firms, they will tell you there are lots of ways to model capacity.  You can establish models based on usage, peak performance and a wide variety of other factors.  What I find is most companies are interested in a very <strong>simple </strong>model to base capacity on.  This is why I use a model I call “Unit” or “Slice” based capacity.</p>
<p>What is a unit or a slice?  It’s whatever you want it to be a unit of measurement for.  So what should I make a slice be?  Only you can answer that, but generally defined a slice as 1 vCPU and/or 1G of memory.  So 2 slices is 2 vCPUs/2G of memory and so on.  With this most customers start to grasp how easier this is compared to counting everything.  The next question is what about storage and networking?  The simple answer is you cannot define capacity for CPU/Memory the same way you do storage.  So storage can have slices as well, but storage is something that needs to be looked at a little differently.</p>
<p>So back to the slices… once you determine your slice model, you get to figure out how many you have.  You can start by looking in vCenter or your ESX hosts and look at all the VMs.  Manually add up the slices based on the total number of slices in use.</p>
<p>For example:<br />
1 Slice = 1 vCPU<br />
1 Core = 4 Slices possible<br />
Host 1 has 8 cores</p>
<p>This would give then yield some results like &#8211; ESX Host 1 you have 20 VMS all with 1 CPU each, you would have 20 slices in use, and you have 12 more possible to use.  This is very simple vs. saying you are at 63% CPU utilization and you can add X, Y, Z workloads to use.</p>
<p>The alternative, and more accurate version &amp; more complex, is to look at performance workloads and model those for capacity.  This is where you say I have the same 20 VMs, but you need to look at past performance, say over 30 days or ALL time.  Then you build models to predict future behavior and also to create a model workload based on each.  Along these lines you would have an Exchange Server model, SQL Server model, etc… So you can then say what if I had the Exchange model + 5 SQL Server models + a set of other VMs.   What would that look like now and would I have room in the future to do this?</p>
<p>The math on all of that is extremely complex and doing it by hand is a tedious task.  This is one of the reasons we have a new Capacity Planning &amp; Analytics component in vFoglight Pro 5.2.6.  With this we can take those workloads, define a target host and look to model workloads at a VM to Host level.  This gives a more accurate picture then the Slice model, without forcing you do to all the math.  I’m very excited by this and some of the other things you can do around both models that are both canned in the product and easily created via a custom dashboard yourself.</p>
<p>My next post, I will be talking a little bit more around each model and some interesting ways you can forecast future growth with even more clarity.  Please feel free to drop me an email with suggestions or improvements you would like to see.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=24</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capacity Planning &#8211; Part 1</title>
		<link>http://blog.thb3.com/?p=27</link>
		<comments>http://blog.thb3.com/?p=27#comments</comments>
		<pubDate>Sat, 01 Aug 2009 19:06:31 +0000</pubDate>
		<dc:creator>Kix</dc:creator>
				<category><![CDATA[Vizioncore]]></category>
		<category><![CDATA[vFoglight]]></category>
		<category><![CDATA[Capacity Planning]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.thb3.com.s86048.gridserver.com/?p=27</guid>
		<description><![CDATA[One of the most talked about areas in systems monitoring these days seems to be capacity planning; and it’s one that’s heavily clouded. The main reason is that every environment is different. Even though we all tend to run similar application stacks, how we use them is unique to our individual behaviors and business requirements.
In <a href="http://blog.thb3.com/?p=27" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>One of the most talked about areas in systems monitoring these days seems to be capacity planning; and it’s one that’s heavily clouded. The main reason is that every environment is different. Even though we all tend to run similar application stacks, how we use them is unique to our individual behaviors and business requirements.</p>
<p>In most cases this causes us to look for tools that can develop simple models, with virtualization being put into those models. Recently I spoke with several SMB &amp; Enterprise level users and they told me that they’re essentially looking for a way to take a ‘slice’, and to know how many of those slices they still have and when they’ll run out. This approach assumes 100% utilization of the resources, and that’s just not realistic.</p>
<p>The problem is that people are still thinking about capacity from a physical hardware perspective where you get X resources because it may need X resources. With all the benefits that come with virtualization it’s time for us as a community to develop new models that can adapt to each environment, and better yet accurately predict performance and capacity bottlenecks. This is why I’m a strong proponent of looking at each individual workload and correlating those workloads vs. ‘servers or vms’.</p>
<p>A virtual machine is nothing more than a shim, a place to wedge an application that performs some task. If you start to look at the VM as nothing more than an application workload, that will model far better to true capacity planning for a specific resource. Does 1 vCPU for a file server equal 1 vCPU for a SQL server? Certainly not, but the general capacity models don’t take that into account. Likewise disk utilization on a file server is going to be far higher than that of a print server. So looking at the application stacks or workloads is required if you want any level of clarity. In the end this will lead to better utilization of resources, and best of all it can help predict when new hardware will be required for net-new capacity with a relatively high level of accuracy.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thb3.com/?feed=rss2&amp;p=27</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
