<?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>Wirey.com</title>
	<atom:link href="http://wirey.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wirey.com</link>
	<description>A blog of general wireyness...</description>
	<lastBuildDate>Sun, 23 Jan 2011 22:41:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Network troubleshooting – VMware Workstation installed?</title>
		<link>http://wirey.com/2011/01/network-troubleshooting-vmware-workstation-installed/</link>
		<comments>http://wirey.com/2011/01/network-troubleshooting-vmware-workstation-installed/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 21:36:21 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Workstation]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://wirey.com/?p=29</guid>
		<description><![CDATA[Earlier this evening I got a text message from a colleague saying he was having trouble getting his new corporate laptop working on his home WiFi network. This colleague works in sales at VMware, hence I reasoned it would probably be something basic that would only take us 5 minutes to troubleshoot, so I gave [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this evening I got a text message from a colleague saying he was having trouble getting his new corporate laptop working on his home WiFi network. This colleague works in sales at VMware, hence I reasoned it would probably be something basic that would only take us 5 minutes to troubleshoot, so I gave him a call. <img src='http://wirey.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I suspect many of you reading this know how these things go; you start off ascertaining what OS you&#8217;re dealing with, move on to getting them to click various components of the GUI, before progressing to some command-line stuff.</p>
<p>In this case, the WiFi connection was sound; the adapter was receiving a DHCP lease, and we could ping IPs on the Internet.<br />
However, we couldn&#8217;t ping the router, or get the router to respond to DNS queries.</p>
<p>I was moments away from manually configuring a known-good external DNS server when I thought we should venture into a quick look at the routing table. As tough as it might be over the phone, I got my colleague to read out the entries from his &#8220;route print&#8221; output.</p>
<p>This revealed a few entries I didn&#8217;t like the sound of &#8211; several for 192.168.1.0/24 (the default internal subnet used by his router). So, I got him to read out his full ipconfig output &#8211; suspecting something might be up.</p>
<p>Sure enough, it turned out VMware Workstation had randomly chosen 192.168.1.0/24 as the subnet to use for the VMnet8 (NAT) network. I assume that when the machine was first built it was on a corporate 10.x.x.x network. So when Workstation randomly chose a couple of /24s from the 192.168 range to use for VMnet1 and VMnet8, 192.168.1.0/24 was available &#8211; but choosing this means clashing with perhaps the most commonly used private IP range in the world.</p>
<p><em>For those not familiar with VMware Workstation, it supports up to 8 virtual networks and provides a DHCP service which can run on these networks to allocate IPs to VMs connected to them. At install (or first run) it randomly selects two /24 ranges from 192.168.0.0/16 (e.g. 192.168.114.0/24) for use on these virtual networks.</em> </p>
<p>A quick visit to the Virtual Network Editor <em>(Start / All Programs / VMware / Virtual Network Editor)</em> allowed my colleague to change the subnet used for VMnet8 to another /24 range &#8211; and the problem disappeared.</p>
<p><a href="http://wirey.com/wp-content/uploads/VMWNetCapture.png"><img src="http://wirey.com/wp-content/uploads/VMWNetCapture-300x252.png" alt="VMware Virtual Network Editor" title="VMware Virtual Network Editor" width="300" height="252" class="alignnone size-medium wp-image-43" /></a></p>
<p>Certainly one to chalk up to experience!</p>
<p>In my view, Workstation should avoid using this specific subnet out of the box &#8211; I&#8217;m sure it must catch out a fair few users (who seemingly have a 2 in 254 chance of having either VMnet1 or VMnet8 picking this range).</p>
<p>Please let me know (leave a comment)  if you&#8217;ve also suffered from this issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://wirey.com/2011/01/network-troubleshooting-vmware-workstation-installed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Patching ESX(i) using PowerCLI</title>
		<link>http://wirey.com/2010/03/patching-esxi-using-powercli/</link>
		<comments>http://wirey.com/2010/03/patching-esxi-using-powercli/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 21:49:23 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vSphere]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[ROBO]]></category>

		<guid isPermaLink="false">http://wirey.com/?p=9</guid>
		<description><![CDATA[I&#8217;m working on a project at the moment to implement vSphere in a Remote Office Branch Office (ROBO) environment. For this customer, a pair of ESXi hosts will be placed at each location, with entry-level shared storage. By making use of HA and vMotion, the platform provides a reasonable level of resilience &#8211; certainly better [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a project at the moment to implement vSphere in a Remote Office Branch Office (ROBO) environment. For this customer, a pair of ESXi hosts will be placed at each location, with entry-level shared storage. By making use of HA and vMotion, the platform provides a reasonable level of resilience &#8211; certainly better than the physical setup used in the past.</p>
<p>One of the specific challenges faced in ROBO deployments is network bandwidth and latency. In this case, a number of the customer&#8217;s sites have such poor connectivity that whilst vCenter will operate over the links, delivering patches via vCenter Update Manger (VUM) isn&#8217;t really viable &#8211; pushing a 250MB+ patch over a 128kbps line can saturate the link causing QoS issues for other critical traffic.</p>
<p>To work around this we&#8217;re making use of the customer&#8217;s existing tried and tested patch delivery method to get the VMware patch bundles to the remote sites. The patch bundles are staged onto a shared datastore at the site and then applied using PowerCLI.</p>
<p>One of the enhancements brought in with PowerCLI 4.0 Update 1 was the <a href="http://www.vmware.com/support/developer/windowstoolkit/wintk40u1/html/Install-VMHostPatch.html">Install-VMHostPatch</a> cmdlet. It really is very simple to use and avoids having to pass host credentials in scripts as the <a href="http://www.vmware.com/pdf/vsphere4/r40/vsp_40_vcli.pdf#page=42">vihostupdate.pl command within vSphere CLI</a> requires. Carter Shanklin posted <a href="http://www.youtube.com/watch?v=gXdX4xTlCP8">a short video</a> demonstrating its use &#8211; it&#8217;s definitely worth watching.</p>
<p>Anyway&#8230; enough scene-setting. Below is the quick-n-dirty script I pulled together (with a little help from various folks) to demonstrate the concept. This script will be improved in the near future to include error handling, and I also plan to more accurately document the project. I&#8217;ll update this post at that time.</p>
<pre class="brush: powershell; title: ;">
##################################################################
# ROBO Cluster patching script by Rob Upham - r o b @ vmware.com #
# Script assumes a two-node cluster with vMotion but no DRS      #
##################################################################

##########################################
# Edit these values to suit your cluster #
# and the patch being applied            #
##########################################

$VC = &quot;robo-vc-x64.vmwdemo.com&quot;
$host1 = &quot;esx-robo-1.vmwdemo.com&quot;
$host2 = &quot;esx-robo-2.vmwdemo.com&quot;
$patchpath = &quot;/vmfs/volumes/Template-FC-EMC/Patches/ESXi400-201002001/metadata.zip&quot;
#Patch bundles should be unzipped, placed on shared VMFS or NFS storage and the metadata.zip file referenced above
# e.g. $patchpath = &quot;/vmfs/volumes/NFS-Vol1/Patches/ESXi400-200912001/metadata.zip&quot;

########################
# Work gets done below #
########################

#Connect to vCenter Server
Write-Host &quot;Connecting to vCenter Server&quot;
Connect-VIServer -Server $VC

#Get host objects
$VMHostObj1 = Get-VMHost $Host1
$VMHostObj2 = Get-VMHost $Host2

#Check current build numbers
Write-Host &quot;Hosts to be patched are:&quot;
Write-Host &quot;Host1 = $host1&quot;
$VMHostObj1 | get-view -Property Name,Config.Product | select Name,{$_.Config.Product.Fullname}
Write-Host &quot;Host2 = $host2&quot;
$VMHostObj2 | get-view -Property Name,Config.Product | select Name,{$_.Config.Product.Fullname}

#Host 1
#Move vms to Host 2 and enable maintenance mode
Write-Host &quot;Moving VMs from $host1 to $host2&quot;
$VMHostObj1 | get-vm | move-vm -destination ($VMHostObj2)

Write-Host &quot;$host1 entering maintenance mode&quot;
$VMHostObj1 | set-vmhost –state maintenance

#Update host 1
Write-Host &quot;Patching $host1 with patch $patchpath&quot;
$VMHostObj1 | Install-VMHostPatch -HostPath $patchpath

#Reboot the ESX Server host 1
$VMhostObj1 | Restart-VMHost -Confirm:$false
Write-Host &quot;Waiting 2.5 minutes for $host1 to reboot&quot;
Sleep 150

$VMHostState = (Get-VMHost -Name $host1 -ErrorAction SilentlyContinue).State
While ($VMHostState -eq &quot;NotResponding&quot;){
  Write-Host &quot;ESX Server state is&quot; $VMHostState
  Write-Host &quot;Waiting 20 seconds until ESX Server starts responding&quot;
  sleep 20
  $VMHostState = (Get-VMHost -Name $host1).State
}
Write-Host &quot;Taking ESX Server host out of Maintenance Mode&quot;
$VMHostObj1 | set-vmhost –state connected
Write-Host &quot;Patching $host1 complete&quot;

#Host 2
#Move vms to Host 1 and enable maintenance mode
Write-Host &quot;Moving VMs from $host2 to $host1&quot;
$VMHostObj2 | get-vm | move-vm -destination ($VMHostObj1)

Write-Host &quot;$host2 entering maintenance mode&quot;
$VMHostObj2 | set-vmhost –state maintenance

#Update host 2
Write-Host &quot;Patching $host2 with patch $patchpath&quot;
$VMHostObj2 | Install-VMHostPatch -HostPath $patchpath

#Reboot the ESX Server host 2
$VMhostObj2 | Restart-VMHost -Confirm:$false
Write-Host &quot;Waiting 2.5 minutes for $host2 to reboot&quot;
Sleep 150

$VMHostState = (Get-VMHost -Name $host2 -ErrorAction SilentlyContinue).State
While ($VMHostState -eq &quot;NotResponding&quot;){
  Write-Host &quot;ESX Server state is&quot; $VMHostState
  Write-Host &quot;Waiting 20 seconds until ESX Server starts responding&quot;
  sleep 20
  $VMHostState = (Get-VMHost -Name $host2).State
}
Write-Host &quot;Taking ESX Server host out of Maintenance Mode&quot;
$VMHostObj2 | set-vmhost –state connected
Write-Host &quot;Patching $host2 complete&quot;
Write-Host &quot;Build numbers are now as follows:&quot;
$VMHostObj1 | get-view -Property Name,Config.Product | select Name,{$_.Config.Product.Fullname}
$VMHostObj2 | get-view -Property Name,Config.Product | select Name,{$_.Config.Product.Fullname}
Write-Host &quot;All patching complete&quot;</pre>
<p><em>Updated 24 March 10 with tweaks suggested by <a href="http://twitter.com/cshanklin">Carter</a> and <a href="http://virtu-al.net/">Alan</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://wirey.com/2010/03/patching-esxi-using-powercli/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Content</title>
		<link>http://wirey.com/2009/04/content/</link>
		<comments>http://wirey.com/2009/04/content/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 21:56:15 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wirey.com/?p=3</guid>
		<description><![CDATA[I guess it would be good to put some content here. I&#8217;m sure I&#8217;ll get round to it when I think of something worth sharing with the world.]]></description>
			<content:encoded><![CDATA[<p>I guess it would be good to put some content here.</p>
<p>I&#8217;m sure I&#8217;ll get round to it when I think of something worth sharing with the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://wirey.com/2009/04/content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk (enhanced)
Object Caching 237/285 objects using disk

Served from: wirey.com @ 2012-05-20 14:54:53 -->
