<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Phil the Virtualizer</title>
	
	<link>http://philthevirtualizer.com</link>
	<description />
	<lastBuildDate>Tue, 05 Feb 2013 18:11:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PhilTheVirtualizer" /><feedburner:info uri="philthevirtualizer" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>PowerCLI: Find unhealthy vApps in vCloud Director</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/3Ln0wzt6AO8/</link>
		<comments>http://philthevirtualizer.com/2013/01/24/find-unhealthy-vapps-in-vcloud-director/#comments</comments>
		<pubDate>Thu, 24 Jan 2013 20:44:02 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[vCloud Director]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vApp]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=522</guid>
		<description><![CDATA[Ever wonder what vApps that have been deployed inside vCloud Director are in a bad state, and need investigation?  Me too!  Here&#8217;s a code block to find vApps that are NOT in the following states: PoweredOn PoweredOff Suspended The code will display the following to the screen, and a logfile: vApp Name: vApp-vubuntu001 Org vDC: [...]]]></description>
				<content:encoded><![CDATA[<p>Ever wonder what vApps that have been deployed inside vCloud Director are in a bad state, and need investigation?  Me too!  Here&#8217;s a code block to find vApps that are NOT in the following states:</p>
<ul>
<li>PoweredOn</li>
<li>PoweredOff</li>
<li>Suspended</li>
</ul>
<pre class="brush: powershell; title: ; notranslate">
# set up the logfile
 $results = @()
 $logFile = &quot;OUTPUT-unhealthyVApps.txt&quot;

# walk the connected Orgs, best if run as SysAdmin
 (get-orgvdc) | %{

$orgVdc = $_
 $orgVdcName = $orgVdc.name

($orgVdc | get-civapp) | %{

$vApp = $_
 $vAppName = $vApp.name
 $vAppStatus = $vApp.status

if(($vAppStatus -ne &quot;PoweredOn&quot;) -and ($vAppStatus -ne &quot;PoweredOff&quot;) -and ($vAppStatus -ne &quot;Suspended&quot;)) {

write-host &quot;vApp Name:&quot;$vAppName
 write-host &quot; Org vDC:&quot;$orgVdcName
 write-host &quot; Status:&quot;$vAppStatus&quot;`n&quot;

$results += &quot;vApp Name: $vAppName&quot;
 $results += &quot; Org vDC:$orgVdcName&quot;
 $results += &quot; Status:$vAppStatus&quot;

(get-ciVM -vapp $vAppName) | %{
 $VM = $_
 $vmName = $vm.name
 $vmStatus = $vm.status
 write-host &quot; VM: $vmName&quot;
 write-host &quot; Status:&quot;$vmStatus&quot;`n&quot;

$results += &quot; VM: $vmName&quot;
 $results += &quot; Status: $vmStatus&quot;
 $results += &quot; &quot;

}
 }

}
 }

$results | out-file $logFile
 write-host &quot;Output file is:&quot;$logfile

</pre>
<p>The code will display the following to the screen, and a logfile:</p>
<p>vApp Name: vApp-vubuntu001<br />
Org vDC: ohio-demo_ovDC<br />
Status: Resolved</p>
<p>VM: vApp-vubuntu001<br />
Status: PoweredOff</p>
<p>This may mean that the VM&#8217;s that are contained in the vAPP don&#8217;t exist anymore, but the vAPP does.  A good one to check out!</p>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/3Ln0wzt6AO8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2013/01/24/find-unhealthy-vapps-in-vcloud-director/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2013/01/24/find-unhealthy-vapps-in-vcloud-director/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=find-unhealthy-vapps-in-vcloud-director</feedburner:origLink></item>
		<item>
		<title>PowerCLI: Set bits to allow for ESXi nested virtualization</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/N-NKM4-cxck/</link>
		<comments>http://philthevirtualizer.com/2013/01/23/powercli-set-bits-to-allow-for-esxi-nested-virtualization/#comments</comments>
		<pubDate>Wed, 23 Jan 2013 20:16:46 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[ESXi]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Nested ESXi]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=507</guid>
		<description><![CDATA[This post details totally unsupported materials! If you are spinning up nested virtualization, check the blog posts at virtuallyGhetto to set up the environment. In order to allow for the nested ESXi, a bit has to be checked to allow for Hardware Virtualization Wouldn&#8217;t it be nice to set the bit via PowerCLI?  Yes, I [...]]]></description>
				<content:encoded><![CDATA[<p>This post details totally unsupported materials!</p>
<p>If you are spinning up nested virtualization, check the blog posts at <a href="http://www.virtuallyghetto.com/2012/09/having-difficulties-enabling-nested.html" target="_blank">virtuallyGhetto</a> to set up the environment.</p>
<p>In order to allow for the nested ESXi, a bit has to be checked to allow for Hardware Virtualization</p>
<p><a href="http://philthevirtualizer.com/2013/01/23/powercli-set-bits-to-allow-for-esxi-nested-virtualization/cpu-hardware-options/" rel="attachment wp-att-509"><img class="aligncenter size-medium wp-image-509" alt="CPU hardware options" src="http://i1.wp.com/philthevirtualizer.com/wp-content/uploads/2013/01/CPU-hardware-options.png?resize=300%2C127" data-recalc-dims="1" /></a></p>
<p>Wouldn&#8217;t it be nice to set the bit via PowerCLI?  Yes, I think it would.  Here is the code:</p>
<pre class="brush: powershell; title: ; notranslate">

# set the guestOS string from vCenter to look for
 $guestOSname = &quot;VMware ESXi 5.x&quot;

# options we need to set for nested virtualization
 $vmxValue = &quot;NestedHVEnabled&quot;
 $boolValue = &quot;TRUE&quot;

# walk vCenter and determine VM's that match $esxiGuest
 (get-vm) | %{
 $vm = $_

$guestType = ($view).summary.config.guestFullName

# do equality string checks and proceed to remediate if
 # $esxiGuest is found
 if ( $guestType -eq &quot;$guestOSname&quot;) {
 write-host &quot;`nFound VM:&quot;$vm.name &quot;with guest type:&quot;$guestOSname

# push the value to the VM
 write-host &quot;Now Setting bits for nested virtualization...`n&quot;

$vmValue = (get-vm $vm | get-view)
 $vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
 $vmConfigSpec.$vmxValue = $boolValue
 $vmValue.ReconfigVM($vmconfigSpec)
 }
 }

</pre>
<p>The magic bit is <em>NestedHVEnabled</em> which will set vhv.enable = TRUE in the .vmx file of the VM.  That is where the magic happens.  It can be found in the <a href="http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.vm.ConfigInfo.html" target="_blank">public API documentation</a>.</p>
<p>Once you run the code, check the CPU config and you will see the box checked.</p>
<p><a href="http://philthevirtualizer.com/2013/01/23/powercli-set-bits-to-allow-for-esxi-nested-virtualization/cpu-hardware-options-post/" rel="attachment wp-att-510"><img class="aligncenter size-medium wp-image-510" alt="CPU hardware options post" src="http://i0.wp.com/philthevirtualizer.com/wp-content/uploads/2013/01/CPU-hardware-options-post.png?resize=300%2C120" data-recalc-dims="1" /></a></p>
<p>Be aware, this will find all of your ESXi virtual machines.</p>
<p>Enjoy!</p>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/N-NKM4-cxck" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2013/01/23/powercli-set-bits-to-allow-for-esxi-nested-virtualization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2013/01/23/powercli-set-bits-to-allow-for-esxi-nested-virtualization/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powercli-set-bits-to-allow-for-esxi-nested-virtualization</feedburner:origLink></item>
		<item>
		<title>PowerCLI – Display vCloud Catalog Entries</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/x5XsHOFwQLQ/</link>
		<comments>http://philthevirtualizer.com/2013/01/15/powercli-display-vcloud-catalog-entries/#comments</comments>
		<pubDate>Tue, 15 Jan 2013 15:02:42 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[vCloud Director]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Catalog]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=497</guid>
		<description><![CDATA[Here is a quick PowerCLI script that will display entries in all Catalogs you have access.  PowerCLI requires the vCloud cmdlets, and you must be attached to the cell via connect-cihost.  It is best run as SysAdmin privs. Enjoy! You can then check the output file from $logFILE.  The contents will look like: Name : [...]]]></description>
				<content:encoded><![CDATA[<p>Here is a quick PowerCLI script that will display entries in all Catalogs you have access.  PowerCLI requires the vCloud cmdlets, and you must be attached to the cell via connect-cihost.  It is best run as SysAdmin privs.</p>
<p>Enjoy!</p>
<pre class="brush: powershell; title: ; notranslate">
$results = @()
$logFile = &quot;OUTPUT-getCatalogEntries.txt&quot;

foreach ($catalog in get-catalog) {
$results += (get-catalog -name $catalog | foreach-object {$_.ExtensionData.CatalogItems.CatalogItem |select @{N=&quot;Org&quot;;E={$catalog.org}},@{N=&quot;Catalog&quot;;E={$catalog.name}},@{N=&quot;CatalogItem&quot;;E={$_.name}},@{N=&quot;Description&quot;;E={$_.Description}}} |format-list)

}

$results | out-file $logFile
</pre>
<p>You can then check the output file from $logFILE.  The contents will look like:</p>
<p>Name : AllOrgConsumable &lt;- Name of catalog entry<br />
Org : Catalog &lt;- The Organization it belongs<br />
Shared : True &lt;- If it is shared out<br />
Published : True &lt;- If it is published<br />
Owner : system &lt;- Who created/owns</p>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/x5XsHOFwQLQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2013/01/15/powercli-display-vcloud-catalog-entries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2013/01/15/powercli-display-vcloud-catalog-entries/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powercli-display-vcloud-catalog-entries</feedburner:origLink></item>
		<item>
		<title>PowerCLI – Report on Organization Resource usage in vCloud Director</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/82I8ydl97Q4/</link>
		<comments>http://philthevirtualizer.com/2012/12/06/powercli-report-on-organization-resource-usage-in-vcloud-director/#comments</comments>
		<pubDate>Fri, 07 Dec 2012 00:36:00 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=478</guid>
		<description><![CDATA[It is important to monitor Organization resource usage in vCloud Director.  There is a view in the Monitor area but what if you want a quick look?  Voila, here it is! You will need PowerCLI installed with the vCloud cmdlets.  You will also need to be connected to the cell.  This will walk through all [...]]]></description>
				<content:encoded><![CDATA[<p>It is important to monitor Organization resource usage in vCloud Director.  There is a view in the Monitor area but what if you want a quick look?  Voila, here it is!</p>
<p>You will need PowerCLI installed with the vCloud cmdlets.  You will also need to be connected to the cell.  This will walk through all of your configured Organizations and display the percentage usage.  Very useful when you are using the Allocation model.</p>
<pre class="brush: powershell; title: ; notranslate">
(get-orgvdc) | %{
 $orgvdc = $_
 $cpuAlloc = $orgvdc.CpuAllocationGhz
 $ramAlloc = $orgvdc.MemoryAllocationGB
 $storAlloc = $orgvdc.StorageAllocationGB

 if ($orgvdc.CpuUsedGhz -ne 0 -and $orgvdc.CpuAllocationGhz -ne 0) {
 $orgcpuspc = (($orgvdc.CpuUsedGhz * 100) / $orgvdc.CpuAllocationGB) }

 if ($orgvdc.MemoryUsedGB -ne 0 -and $orgvdc.MemoryAllocationGB -ne 0) {
 $orgramuspc = (($orgvdc.MemoryUsedGB * 100) / $orgvdc.MemoryAllocationGB) }

 if ($orgvdc.StorageUsedGB -ne 0 -and $orgvdc.StorageAllocationGB -ne 0) {
 $orgstoruspc = (($orgvdc.StorageUsedGB * 100) / $orgvdc.StorageAllocationGB) }
 $orgram = [System.math]::round($orgramuspc,1)
 $orgcpu = [System.math]::round($orgcpuspc,1)
 $orgstor = [System.math]::round($orgstoruspc,1)

 write-host `n&quot;Org vDC: $orgvdc&quot;
 write-host &quot;CPU: $orgcpu% of $cpuAlloc Ghz, MEM: $orgram% of $ramAlloc GB, Storage: $orgstor% of $storAlloc GB&quot;`n
 }

</pre>
<p>The output will be:</p>
<p>OvDC: My Org vDC, CPU: 25.3%, MEM: 18.6%, Storage: 60.1%</p>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/82I8ydl97Q4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2012/12/06/powercli-report-on-organization-resource-usage-in-vcloud-director/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2012/12/06/powercli-report-on-organization-resource-usage-in-vcloud-director/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powercli-report-on-organization-resource-usage-in-vcloud-director</feedburner:origLink></item>
		<item>
		<title>vCloud Director not generating discreet BIOS UUID by default</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/lddw7HJs7EQ/</link>
		<comments>http://philthevirtualizer.com/2012/11/14/vcloud-director-not-generating-discreet-bios-uuid-by-default/#comments</comments>
		<pubDate>Wed, 14 Nov 2012 15:44:54 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[vCloud Director]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[BIOS UUID]]></category>
		<category><![CDATA[Windows GUID]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=469</guid>
		<description><![CDATA[vCloud Director in the 1.x series does not generate discreet BIOS UUID by default.  This item is documented in two KB&#8217;s that I was able to find: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&#38;cmd=displayKC&#38;externalId=2002506 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&#38;cmd=displayKC&#38;externalId=2006605 Prior to running the SQL statement, which must be run against the vCloud Database, dbo.config table (which is not really clearly mentioned), all VM&#8217;s deployed in [...]]]></description>
				<content:encoded><![CDATA[<p>vCloud Director in the 1.x series does not generate discreet BIOS UUID by default.  This item is documented in two KB&#8217;s that I was able to find:</p>
<p><a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=2002506" target="_blank">http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=2002506</a></p>
<p><a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=2006605" target="_blank">http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=2006605</a></p>
<p>Prior to running the SQL statement, which must be run against the vCloud Database, dbo.config table (which is not really clearly mentioned), all VM&#8217;s deployed in a vApp do not get the discreet BIOS UUID, and at least in the case of Windows 2008, all machines will than generate the same OS GUID.  This may or may not be bad depending on your circumstances.</p>
<p>You can look at the .vmx of each machine to determine if the BIOS UUID is the same, or run two quick PowerShell commands:</p>
<p>To show the BIOS UUID inside Windows 2008 guest OS:</p>
<p>get-wmiobject win32_computersystemproduct</p>
<p>To show the Windows UUID, run:</p>
<p>get-wmiobject win32_computersystemproduct |select-object -expandproperty uuid</p>
<p>When we conducted the change, I shut down the cell to guarantee there were no writes to the database from vCD&#8217;s perspective.  We ran the SQL statement, started the cell and deployed new machines.  Each one had a new BIOS UUID and Windows GUID.</p>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/lddw7HJs7EQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2012/11/14/vcloud-director-not-generating-discreet-bios-uuid-by-default/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2012/11/14/vcloud-director-not-generating-discreet-bios-uuid-by-default/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=vcloud-director-not-generating-discreet-bios-uuid-by-default</feedburner:origLink></item>
		<item>
		<title>PowerCLI: Add VM’s in vApp, within vCloud Directory to Security Groups withing vShield App</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/-ttD4nsjC04/</link>
		<comments>http://philthevirtualizer.com/2012/10/03/powercli-add-vms-in-vapp-within-vcloud-directory-to-security-groups-withing-vshield-app/#comments</comments>
		<pubDate>Thu, 04 Oct 2012 00:36:10 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[vCloud Director]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vShield]]></category>
		<category><![CDATA[vSphere]]></category>
		<category><![CDATA[vshield]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=456</guid>
		<description><![CDATA[The title says it all!  The use case: You are using vCloud Director, and want to add Virtual Machines from deployed vApps to specific Security Groups within vShield App.  In my case, there were three Security Groups created to make a 3-tier environment.  Web, App and Database. Once again Alan Renouf came through by creating a [...]]]></description>
				<content:encoded><![CDATA[<p>The title says it all!  The use case:</p>
<p>You are using vCloud Director, and want to add Virtual Machines from deployed vApps to specific Security Groups within vShield App.  In my case, there were three Security Groups created to make a 3-tier environment.  Web, App and Database.</p>
<p>Once again <a href="http://blogs.vmware.com/vsphere/author/alan_renouf" target="_blank">Alan</a> <a href="http://www.virtu-al.net/" target="_blank">Renouf</a> came through by creating a <a href="http://www.virtu-al.net/2012/01/04/vmware-vshield-powershell-module/" target="_blank">vShield module</a> for PowerCLI.  Follow the directions in his video to install it.  It&#8217;s actually quite easy.</p>
<p>The script I am going to list below requires valid connections to three sources in order to do the work:</p>
<ol>
<li>The vCenter that manages the compute nodes in your vCloud</li>
<li>The vCloud Director cell.</li>
<li>The vShield Manager for the vCloud stack.</li>
</ol>
<p>(You also need to be licensed for vShield App.)</p>
<p>Prior to connecting to vShield Manager, you will need to instantiate the module Alan created.  That _should_ have been done when watching his video, but if not, do:</p>
<p><em>import-module vshield</em></p>
<p>within PowerCLI.</p>
<p>At this point you can connect to your three services:</p>
<ul>
<li>connect-viserver &lt;for vCenter&gt;</li>
<li>connect-ciserver &lt;for vCloud Director&gt;</li>
<li>connect-vshieldserver &lt;for vShield Manager&gt;</li>
</ul>
<p>Ok, so now hopefully our connections are set up.  Let&#8217;s describe the script a little more.  As I said before, the use case was to create a 3-tier environment via vShield App: Web, App and DB.  Our VM&#8217;s in the vApp are conveniently named &#8220;WWW,&#8221; &#8220;APP&#8221; or &#8220;DB.&#8221;  We are sort of cheating, and keying off that nomenclature to identify the VM&#8217;s.</p>
<p>We have three hardcoded security groups in the script: Web, App and DB.  Their variables are $SGWeb, $SGApp and $SGDb.  I know I am clever.</p>
<p>We are going to provide the name of a vAPP in vCloud Director from the command line.  This script will then walk the contents of the vApp, which are our three servers.  For those who are heavily involved in vCloud Director, you know that each VM in vCenter is identified by &lt;VMNAME&gt; (vCloud UUID).  In order for us to add a VM to vShield App, which is tied to vCenter, we must actually push that naming nomenclature.  I&#8217;m frankly not the best at coding, so I had to cheat and use the trim() function twice in order to pull the UUID out of the urn:vcloud:vm:uuid string.</p>
<p>At that point, we use PowerShell&#8217;s like function to do string comparison, and then run Mr. Renouf&#8217;s set-vshieldsecuritygroup in order to place the VM in to appropriate vShield App Security Group.  That command is covered in his movie.  I hope you find it useful!</p>
<p>Usage: ./&lt;scriptname&gt;.ps1 -vapp &lt;vAPP name in vCD&gt; -datacenter &lt;the datacenter object where your vCD and vShield are attached&gt;</p>
<pre class="brush: powershell; title: ; notranslate">
param (
 [string]
 $vApp
 ,
 [string]
 $dataCenter
 )

# Hardcode Security Groups, for now
$SGWeb = &quot;Web&quot;
$SGApp = &quot;App&quot;
$SGDb = &quot;DB&quot;

 Foreach ($VM in (get-CIVM -vapp $vApp)) {

 $vCloudVM = $VM.name
 write-host &quot;VM name: &quot; $vCloudVM
 $vCloudID = $VM.id
 write-host &quot;vCloud ID: &quot; $vCloudID
 # for whatever reason the trim() function cuts off too much
 # so I had to trim twice. beats me why...
 $vCloudIDtrim = ($vCloudID).trim(&quot;urn:vcloud:&quot;)
 $vCloudIDtrim = ($vCloudIDtrim).trim(&quot;m:&quot;)
 write-host &quot;Trimmed vCloud ID: &quot; $vCloudIDtrim

 if ($vCloudVM -like '*www*'){
 write-host &quot;Adding $vCloudVM to Security Group $SGWeb...&quot;
 # add VM to SecurityGroup
 set-vShieldSecurityGroup -Add -Datacenter (get-Datacenter $dataCenter) -SecurityGroup $SGWeb -VM (Get-VM &quot;$vCloudVM ($vCloudIDtrim)&quot;)
 }
 elseif ($vCloudVM -like '*app*') {
 write-host &quot;Adding $vCloudVM to Security Group $SGApp ...&quot;
 # add VM to SecurityGroup
 set-vShieldSecurityGroup -Add -Datacenter (get-Datacenter $dataCenter) -SecurityGroup $SGApp -VM (Get-VM &quot;$vCloudVM ($vCloudIDtrim)&quot;)
 }
 elseif ($vCloudVM -like '*db*') {
 write-host &quot;Adding $vCloudVM to Security Group $SGDb ...&quot;
 # add VM to SecurityGroup
 set-vShieldSecurityGroup -Add -Datacenter (get-Datacenter $dataCenter) -SecurityGroup $SGDb -VM (Get-VM &quot;$vCloudVM ($vCloudIDtrim)&quot;)
 }
 }
</pre>
<p>The output will be of the form:</p>
<p>VM Name: www001<br />
vCloudID: urn:vcloud:vm:&lt;UUID&gt;<br />
Trimmed vCloudID: &lt;UUID&gt;<br />
Adding www001 to Security Group Web &#8230;</p>
<p>ID : securitygroup-nn<br />
Datacenter : datacenter<br />
Member : @{name=www001 (&lt;UUID&gt;); object<br />
TypeName=VirtualMachine; objectId=&lt;moref&gt;}<br />
Description :<br />
Name : Web</p>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/-ttD4nsjC04" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2012/10/03/powercli-add-vms-in-vapp-within-vcloud-directory-to-security-groups-withing-vshield-app/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2012/10/03/powercli-add-vms-in-vapp-within-vcloud-directory-to-security-groups-withing-vshield-app/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powercli-add-vms-in-vapp-within-vcloud-directory-to-security-groups-withing-vshield-app</feedburner:origLink></item>
		<item>
		<title>PowerCLI – Disable Host in vCloud Director and place host in Maintenance mode</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/hKDmuzm4VmA/</link>
		<comments>http://philthevirtualizer.com/2012/09/24/powercli-disable-host-in-vcloud-director-and-place-host-in-maintenance-mode/#comments</comments>
		<pubDate>Mon, 24 Sep 2012 23:32:34 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[ESXi]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[vCloud Director]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vShield]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=441</guid>
		<description><![CDATA[Since I am heavily involved in a vCloud deployment, I have asked many many VMware employees how we can make it easier for our operations staff conduct maintenance on an ESXi server.  As you may or may not know, an ESXi host that is prepared and being used by vCloud Director should be disabled and [...]]]></description>
				<content:encoded><![CDATA[<p>Since I am heavily involved in a vCloud deployment, I have asked many many VMware employees how we can make it easier for our operations staff conduct maintenance on an ESXi server.  As you may or may not know, an ESXi host that is prepared and being used by vCloud Director should be disabled and all virtual machines migrated off prior to maintenance.  In order to accomplish this action, a host must be disabled in vCloud Director, and then placed in to maintenance mode in vCenter.  Two separate interfaces.</p>
<p>I met <a href="http://blogs.vmware.com/vsphere/author/alan_renouf" target="_blank">Alan</a> <a href="http://www.virtu-al.net/" target="_blank">Renouf</a> after his PowerCLI session at VMworld 2012, and asked him if he knew of a way to disable a host via PowerCLI.  And he did!  Alan has created a function to conduct enable and disable operations.  He gave me permission to include it in the following code I built as a wrapper to conduct the operation from a command line via PowerCLI.</p>
<p>Requirements:</p>
<ol>
<li>PowerCLI installed with the vCloud Director cmdlets.  This is an option at install time, and is disabled by default (for whatever reason).</li>
<li>vCloud Director (naturally)</li>
<li>My script.</li>
</ol>
<div>First start PowerCLI.</div>
<p>In order to connect to vCloud Director, first instantiate a connection via</p>
<p>Connect-CIServer &lt;vCloud Director cell&gt;</p>
<p>Start a session to the vCenter server that manages the vCloud pod via</p>
<p>connect-VIServer &lt;vCenter server&gt;</p>
<p>Now run the script.  There are two options from the command line -server &lt;ESXi server name&gt; and -state &lt;enable/disable&gt;.</p>
<p>An example run would be: ./conductMaintenanceVCD.ps1 -server esxi001 -state disable</p>
<p>Watch vCD and vCenter and be wowed.  Thanks again to Alan for creating the Disable-CIHost and Enable-CIHost functions!</p>
<pre class="brush: powershell; title: ; notranslate">
param (
 [string]
 $server
 ,
 [ValidateSet(&quot;enable&quot;,&quot;disable&quot;)]
 [string]
 $state
 )&lt;/pre&gt;
## Enable/Disable-CIHost function provided by Alan Renouf
 Function Disable-CIHost {
 Param (
 $CIHost
 )
 Process {
 $Search = Search-cloud -QueryType Host -Name $CIHost
 #$HostEXT = $search.ExtensionData
 $HostEXT = $Search | Get-CIView

 # Disable the host in vCloud Director
 if ($HostEXT.Enable) {
 $HostEXT.Disable()
 }
 }
}

Function Enable-CIHost {
 Param (
 $CIHost
 )
 Process {
 $Search = Search-cloud -QueryType Host -Name $CIHost
 #$HostEXT = $search.ExtensionData
 $HostEXT = $search | Get-CIView

 # Disable the host in vCloud Director
 if ($HostEXT.Disable) {
 $HostEXT.Enable()
 }
 }
}

# conduct work on input
write-host &quot;Conducting $state operation on $server...&quot;

if ($state -eq &quot;enable&quot;){

 $serverState = get-vmhost $server
 if ( $serverState.ConnectionState -eq &quot;Maintenance&quot;) {
 write-host &quot;Taking $server out of maintenance mode&quot;

 $returnCode = set-VMhost -VMHost $server -State Connected

 # sleep for 45 seconds for the host to exit maintenance mode.
 start-sleep -s 45
 }

 write-host &quot;Enabling host in vCloud Director&quot;
 Enable-CIHost -CIHost $server
 }
 elseif ($state -eq &quot;disable&quot;){
 write-host &quot;Disabling host in vCloud Director&quot;
 Disable-CIHost -CIHost $server

 # sleep for 5 seconds for the host to disable in vCD
 start-sleep -s 5

 write-host &quot;$server entering maintenance mode&quot;
 $returnCode = set-VMhost -VMHost $server -State Maintenance -Evacuate
 }
</pre>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/hKDmuzm4VmA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2012/09/24/powercli-disable-host-in-vcloud-director-and-place-host-in-maintenance-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2012/09/24/powercli-disable-host-in-vcloud-director-and-place-host-in-maintenance-mode/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powercli-disable-host-in-vcloud-director-and-place-host-in-maintenance-mode</feedburner:origLink></item>
		<item>
		<title>VMworld 2012 round-up: INF-VSP1196 What’s new with vCloud Director Networking</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/dXUYlR-OWpU/</link>
		<comments>http://philthevirtualizer.com/2012/08/29/vmworld-2012-round-up-inf-vsp1196-whats-new-with-vcloud-director-networking/#comments</comments>
		<pubDate>Wed, 29 Aug 2012 18:33:19 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[ESXi]]></category>
		<category><![CDATA[vCloud Director]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VMworld]]></category>
		<category><![CDATA[vShield]]></category>
		<category><![CDATA[VXLAN]]></category>
		<category><![CDATA[VMworld 2012]]></category>
		<category><![CDATA[vshield edge]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=431</guid>
		<description><![CDATA[VMware 2012 presentation INF-VSP1196: What&#8217;s new with vCloud Director Networking This session was discussed the new networking features of vCloud Director 5.1 (VMware decided to sync the version with the release of vSphere 5.1, jumping from 1.5.1 all the way to 5.1). From the presentation content, the bulk of changes focus vShield Edge and VxLAN. [...]]]></description>
				<content:encoded><![CDATA[<h1>VMware 2012 presentation INF-VSP1196: What&#8217;s new with vCloud Director Networking</h1>
<p>This session was discussed the new networking features of vCloud Director 5.1 (VMware decided to sync the version with the release of vSphere 5.1, jumping from 1.5.1 all the way to 5.1).</p>
<p>From the presentation content, the bulk of changes focus vShield Edge and VxLAN.  vShield now is bundled in two ways: Security and Advanced and sold as Standard or Enterprise.  More will be discussed below about the changes, but in short the actual Edge VM is deployed in two sizes, with different supported features.</p>
<p>New features of vShield Edge:</p>
<ul>
<li>Multiple interfaces, up to 10, are now supported with the Advanced bundle.  This is an increase of 2.</li>
<li>The virtual hardware is now 7.</li>
<li>The appliance, as stated before, can be deployed as the compact or full version of edge.  The major difference, according the presentation, is the support for higher throughput and a active/standby edge appliance.  I for one welcome the change since the current instantiation of Edge only allowed for a respawn of a device which required an outage.</li>
<li>The Edge appliance can act as a DNS relay for internal clients.</li>
<li>External address space can be increased on the fly.</li>
<li>Non-contiguous networks can be applied to the external interface of the vShield Edge.</li>
<li>Ability to sub-allocate IP addresses to Organization vDCs.</li>
</ul>
<p>With vCloud Director version 5.1, a new network object is available for use by Organizations: Organization vDC (virtual datacenter) Networks.  Since an Organization Network (OrgNet) is mapped to a single Organization, the new Org vDC Network can now span multiple org vDC within an Organization.  The fellow glossed over the use-case for this situation, and one does not easily come to mind at the moment.</p>
<p>VMware is also debuting something they call Service Insertion.  This is basically a new security API for 3rd party vendors to integrate directly in to the networking stack for their products.  Profiles can now be created based on services, and these profiles can then be applied to a Port Group of a Distributed Switch.  I do believe VMware is attempting to allow providers to create billing and a-la carte models to generate income from their clients.  It is an interesting play to see if it is really used only in Public offerings, or if private clouds offer it in a charge-back model.</p>
<p>Edge can provide a <strong>DHCP service</strong>, available on isolated networks.  You now can use:</p>
<ul>
<li>Multiple DHCP pools per edge device (necessary with 10 supported interfaces).</li>
<li>Single pool per interface.</li>
<li>No option for advanced features such as lease times.</li>
</ul>
<p><strong>NAT</strong></p>
<ul>
<li>Rules can be applied to an interface.</li>
<li>Rules can be arranged via a drag and drop interface, but they are evaluated from top down.  The first hit causes an exit.</li>
<li>Source NAT (SNAT) and Destination NAT (DNAT) supports: TCP, UDP, TCP and UDP, ICMP or any.</li>
<li>There are predefined ICMP types.</li>
</ul>
<p><strong>Firewall</strong></p>
<ul>
<li>VMware is still trumpeting their Edge firewall as 5 tuple (5 different options for filtering, but it still isn&#8217;t all that great).</li>
<li>Rules can be arranged via drag and drop.</li>
<li>Logging per rule.</li>
<li>Support for TCP, UDP, TCP and UDP.</li>
<li>Can not filter on ICMP types (ping versus traceroute).  I do believe it is all or nothing.</li>
</ul>
<p><strong>Static Routing</strong></p>
<ul>
<li>VMware stated it is useful for routing between Org networks.  I think this use-case would be for far more advanced configurations.</li>
<li>Can be used for deep reach in vApp networks.  The current Edge device does support static routing even when using vCDNI, but the MAC in MAC encapsulation adds some serious latency to the connections.  I suspect VxLAN is to thank for this configuration to be better supported.</li>
</ul>
<p><strong>VPN</strong></p>
<ul>
<li>IPsec or SSL site to site configuration, not for user remote access.</li>
<li>Compatible with 3rd party software and hardware VPN, since Edge is doing IPsec or SSL.  Nothing proprietary there.</li>
</ul>
<p><strong>Load Balancer</strong></p>
<ul>
<li>Load Balance on HTTP, HTTPS or any old TCP port.</li>
<li>Can conduct a basic health check of the back-end servers with either a URI (except for HTTPS) or tcp port.</li>
<li>Configure pool servers and VIP.</li>
<li>Balance on IP Hash, URI or least connections.</li>
<li>NOTE:  The current version uses nginx.  I saw it not work even close to correctly with certain network configurations based around VCDNI.  Let&#8217;s hope it works better in this version.</li>
</ul>
<p><strong>Virtual Service (Load balancing)</strong></p>
<ul>
<li>HTTP persistence can be configured to use cookies with insert feature.</li>
<li>HTTPS can use session IDs.</li>
<li>There is no persistence option for regular TCP ports.</li>
</ul>
<p>And now for the queen mother of all session topics: <strong>VXLAN.</strong>  Boiling it down, VXLAN allows for a layer 2 network, say 192.168.100.0/24, to exist live in two places at once.  Think 2 datacenters, or in this case, the Cloud.</p>
<ul>
<li>Layer 2 overlay on a Layer 3 network .</li>
<li>Each overlay network is known as a VXLAN segment.</li>
<li>VXLAN identified by 24 bit segment ID, known as a VNI.</li>
<li>Traffic carried by VXLAN tunnel endpoints, known as VTEP.
<ul>
<li>ESXi hosts or Cisco Nexus 1000v can act as VTEP.</li>
</ul>
</li>
<li>Virtual machines have no idea of the existence of VXLAN transporting their traffic.</li>
<li>VM to VM traffic is encapsulated in a VXLAN header.</li>
<li>Traffic on same portgroup is not encapsulated.</li>
<li>Here is the big kicker: multicast is required
<ul>
<li>Used for VM broadcast and multicast messages</li>
<li>In essence, a dedicated virtual Distributed Switch</li>
<li>Available vNIC and IP address per switch</li>
<li>Mutlicast addresses</li>
<li>Multicast configured on the physical network</li>
</ul>
</li>
<li>Requires multicast end to end (all networking points between the VTEP).</li>
<li>Minimum MTU of 1600 (in the network).</li>
</ul>
<p>The technology sounds cool, is hopefully better than VCDNI, but the requirement of multicast may be a show-stopper to some people.</p>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/dXUYlR-OWpU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2012/08/29/vmworld-2012-round-up-inf-vsp1196-whats-new-with-vcloud-director-networking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2012/08/29/vmworld-2012-round-up-inf-vsp1196-whats-new-with-vcloud-director-networking/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=vmworld-2012-round-up-inf-vsp1196-whats-new-with-vcloud-director-networking</feedburner:origLink></item>
		<item>
		<title>Fun with VMware vShield Edge</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/dx7Q81mkAds/</link>
		<comments>http://philthevirtualizer.com/2012/05/08/fun-with-vmware-vshield-edge/#comments</comments>
		<pubDate>Tue, 08 May 2012 12:38:28 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[vShield]]></category>
		<category><![CDATA[vshield]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=427</guid>
		<description><![CDATA[As part of VMware&#8217;s vCloud implementation, vShield Edge can become a major part of your infrastructure. In short, it can be used as a Layer 3 device including a firewall (but nothing outrageously complex).  So once it&#8217;s spun out, how does one troubleshoot connectivity errors?  And what sorts of fun things can we do with it? [...]]]></description>
				<content:encoded><![CDATA[<p>As part of VMware&#8217;s vCloud implementation, <a title="VMware vShield Edge" href="http://www.vmware.com/products/vshield-edge/overview.html" target="_blank">vShield Edge</a> can become a major part of your infrastructure.</p>
<p>In short, it can be used as a Layer 3 device including a firewall (but nothing outrageously complex).  So once it&#8217;s spun out, how does one troubleshoot connectivity errors?  And what sorts of fun things can we do with it?</p>
<p>The following Q/A between myself and myself are all from the CLI.  So open up the vCenter which your vCD cell uses, and open a console on a vShield Edge device, identified by <em>vse-.  </em>Please authenticate first.  User is: admin and password is: default, but default.</p>
<p>One more note, question mark (?) and tab completion &lt;tab&gt; are your friends&#8230;</p>
<ul>
<li>Question: Where do I start.</li>
<li>Answer:<em> list</em> or<em> ?</em>  &#8230; No really, hit the Question Mark (?) key.  Help doesn&#8217;t help</li>
</ul>
<ul>
<li>How do I show the system log?</li>
<li>Answer: <em>show log follow</em></li>
</ul>
<ul>
<li>Question:  How do I tell what ports are currently open?</li>
<li>Answer: <em>show system network_connections</em></li>
</ul>
<div>
<ul>
<li>Question: How do I show NAT rules?</li>
<li>Answer: <em>show iptables NAT</em></li>
</ul>
<div>
<ul>
<li>Question: And how do I do a tcpdump on a vse device?</li>
<li>Answer:  You have two options, the outside interface extif, or the inside interface intif.  To monitor the outside: <em>debug packet display interface extif.  </em>To monitor the inside interface, <em>debug packet display interface inif</em></li>
</ul>
<div>You get the idea.</div>
</div>
<div></div>
<div>The vShield Edge Appliance is just a stripped down Linux VM, that can accomplish Layer 3 routing, basic firewalling and IPsec tunneling.  Pretty good stuff.</div>
</div>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/dx7Q81mkAds" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2012/05/08/fun-with-vmware-vshield-edge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2012/05/08/fun-with-vmware-vshield-edge/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=fun-with-vmware-vshield-edge</feedburner:origLink></item>
		<item>
		<title>VMware vCloud Networking Options</title>
		<link>http://feedproxy.google.com/~r/PhilTheVirtualizer/~3/t5VBcyMhNos/</link>
		<comments>http://philthevirtualizer.com/2012/05/07/vmware-vcloud-networking-options/#comments</comments>
		<pubDate>Mon, 07 May 2012 14:28:02 +0000</pubDate>
		<dc:creator>philipditzel</dc:creator>
				<category><![CDATA[vCloud Director]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vSphere]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://philthevirtualizer.com/?p=416</guid>
		<description><![CDATA[Having worked with VMware vCloud-based technologies for a few months, I&#8217;ve come to the conclusion that networking and the automation glue which is required to make the magic happen, are both the most important pieces of the stack. To get started, I&#8217;ll list out some terms, and then we&#8217;ll build from there. VXLAN External Network(s) [...]]]></description>
				<content:encoded><![CDATA[<p>Having worked with VMware vCloud-based technologies for a few months, I&#8217;ve come to the conclusion that networking and the automation glue which is required to make the magic happen, are both the most important pieces of the stack.</p>
<p>To get started, I&#8217;ll list out some terms, and then we&#8217;ll build from there.</p>
<ul>
<li>VXLAN</li>
<li>External Network(s)</li>
<li>Organization Network(s)</li>
<li>Network Pools</li>
<li>VCDNI/VCNI</li>
<li>VLAN-backed</li>
<li>vSphere port group-backed</li>
<li>vAPP</li>
</ul>
<p>Let&#8217;s start from the bottom and work our way up.</p>
<p><em>vAPP</em> is not a networking technology, but a way to encapsulate an environment.  With it, we can create a three-tier stack, encapsulate it in a vAPP, and then roll out it out N times, all looking exactly the same.  One can also set start-up precedence (database VM starts first, app second, web third).  It&#8217;s great stuff.</p>
<p><em>vSphere port group-backed</em> networks are what you would traditionally use in a vSphere environment.  Create a Distributed Virtual Switch, and then create a port group.  vCloud Director can use port group-backed in many scenarios.  It is a simple way to get started by using known methods.</p>
<p><em>VLAN-backed</em> networks are a fun little way of defining a pool of VLAN&#8217;s (something like VLAN IDs 100-200).  Of course, it is necessary that the network team actually configure the VLAN ID&#8217;s on the network, and then assign them to the trunks for your ESXi servers.</p>
<p><em>vCloud Director Networking Infrastructure (VCDNI)</em> is a method  of creating private networks backed by a single physical P@sVLAN on your network.  Once you get more involved in vCloud, it is one way to create vAPP sandboxes in your environment.  In short, VCDNI uses MAC-in-MAC encapsulation.  Basically it works by creating private VLAN&#8217;s (you will actually see the port groups attached to your vDS) and then stuffing that data inside a packet that can be used on the physical VLAN.  Is the data private and secure?  From my experience, the answer is: sorta.    If your vAPPs are using VCDNI-backed networking, and attached to the same broadcast domain (the org network), the machines can be hit by any host in that broadcast domain (and then with the use of vShield Edge, you can ACL that).  To be clear, the default rule on a vShield Edge device is deny ingress).  If you have vAPPs in different broadcast domains, they are protected from one another (on layer 2).  One kicker, your virtual Distributed Switch must have MTU set to 1524 (if it was set to default of 1500) to allow for the larger header due to encapsulation.</p>
<p style="padding-left: 30px;">Is VCDNI good?  Yes.  Is VCDNI bad?  Probably could be argued by networking folks, since they technically do not control the allocation of networks, other than the physical VLAN VCDNI uses.  Is it the future?  Allegedly that is something else called VXLAN.  (update)My opinion:  It is a path to create private networks in a rapid fashion with minimal interaction by the network team.  It works for now, but hopefully VXLAN will be better.</p>
<p>Now that we have defined methods to transport the data, we will get in to the nomenclature of vCloud.</p>
<p><em>Network Pools</em> can either be defined by VLAN-backed, Network isolation-backed (VCDNI) or Port group-backed.  These pools are consumed by virtual datacenters to create vAPP networks.</p>
<p><em>Organization Networks </em>are assigned to an Organization virtual DataCenter.  There are multiple ways to define an OrgNetwork:</p>
<ul>
<li>Direct connection:  This network is akin to a traditional port group-backed network in vSphere.  In short, it provides connectivity to LAN, WAN or Internet traffic.  It is tied to an External network and usually sits on internally routable RFC-1918 address space (most likely for private cloud) or Internet-routable address space for providers.</li>
<li>NAT-routed connection:  This connection allows for Network Address Translation (NAT) of External IP space to internal private networks.  The NAT-routed OrgNet is typically in RFC-1918 address space, however there are other cases.</li>
<li>Internal Organization network: This is strictly an internal network for the vApps to communicate with each other, but have no external network access.</li>
</ul>
<p><em>External Networks</em> are port group-backed networks (defined in vCenter) that provide ingress and egress to the Cloud environment.  They should be routable networks, either RFC-1918 for private, or Internet routable for providers.</p>
<img src="http://feeds.feedburner.com/~r/PhilTheVirtualizer/~4/t5VBcyMhNos" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://philthevirtualizer.com/2012/05/07/vmware-vcloud-networking-options/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://philthevirtualizer.com/2012/05/07/vmware-vcloud-networking-options/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=vmware-vcloud-networking-options</feedburner:origLink></item>
	</channel>
</rss>
