<?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/" version="2.0">

<channel>
	<title>Digital-Traffic.net</title>
	
	<link>http://digital-traffic.net</link>
	<description>Public thoughts of a systems administrator</description>
	<lastBuildDate>Tue, 03 Apr 2012 17:16:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/digital-traffic" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="digital-traffic" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Unmet Prerequisites When Installing Active Directory Management Gateway</title>
		<link>http://digital-traffic.net/quick-fixes/unmet-prerequisites-when-installing-active-directory-management-gateway</link>
		<comments>http://digital-traffic.net/quick-fixes/unmet-prerequisites-when-installing-active-directory-management-gateway#comments</comments>
		<pubDate>Tue, 03 Apr 2012 17:16:34 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[Quick Fixes]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=317</guid>
		<description><![CDATA[Earlier today I was attempting to install the Active Directory Management Gateway service on a new Server 2003 domain controller and I was rewarded with an error stating: Setup cannot continue because one or more prerequisites required to install KB968934 failed. Oh, what fun. Fortunately for me, some kind folks over at Microsoft&#8217;s Technet forums <a href='http://digital-traffic.net/quick-fixes/unmet-prerequisites-when-installing-active-directory-management-gateway' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Earlier today I was attempting to install the Active Directory Management Gateway service on a new Server 2003 domain controller and I was rewarded with an error stating:</p>
<pre class="brush: text; gutter: false; first-line: 1; highlight: []; html-script: false">
Setup cannot continue because one or more prerequisites
required to install KB968934 failed.
</pre>
<p>Oh, what fun. Fortunately for me, some kind folks over at <a href="http://social.technet.microsoft.com/Forums/en/winserverDS/thread/5b595470-3c70-41d4-b365-8bffa6271676?prof=required">Microsoft&#8217;s Technet forums</a> had the answer. There are two hotfixes that need to be installed on a Server 2003 SP2 machine before the AD Management Gateway Service can be installed:</p>
<ul>
<li><a href="http://support.microsoft.com/kb/969166" title="MS KB969166—Hotfix rollup package for ADWS for NET 3.5 SP1" target="_blank">MS KB969166—Hotfix rollup package for ADWS for NET 3.5 SP1</a></li>
<li><a href="http://support.microsoft.com/kb/969429" title="MS KB969429—Hotfix for Netlogon subsystem" target="_blank">MS KB969429—Hotfix for Netlogon subsystem</a></li>
</ul>
<p>I found that downloading these can be a pain. KB969166 requires a Microsoft download manager and KB969429 will only show a 64-bit download if you&#8217;re on a 64-bit machine. You must download it from a 32-bit machine if you&#8217;re applying it to a 32-bit server. Also, be prepared to restart your server for KB969429.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/quick-fixes/unmet-prerequisites-when-installing-active-directory-management-gateway"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/quick-fixes/unmet-prerequisites-when-installing-active-directory-management-gateway/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Groupwise 7 client crashes on Server 2008 R2</title>
		<link>http://digital-traffic.net/quick-fixes/groupwise-7-client-crashes-on-server-2008-r2</link>
		<comments>http://digital-traffic.net/quick-fixes/groupwise-7-client-crashes-on-server-2008-r2#comments</comments>
		<pubDate>Wed, 25 Jan 2012 17:06:10 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[Quick Fixes]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=312</guid>
		<description><![CDATA[I recently ran into an issue with the GroupWise 7 client crashing on a new terminal server running Server 2008 R2. The error I received was &#8220;This application has requested the Runtime to terminate it in an unusual way.&#8221; Some searching through Novell&#8217;s site revealed that this is a known issue with the GroupWise client <a href='http://digital-traffic.net/quick-fixes/groupwise-7-client-crashes-on-server-2008-r2' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>I recently ran into an issue with the GroupWise 7 client crashing on a new terminal server running Server 2008 R2. The error I received was &#8220;This application has requested the Runtime to terminate it in an unusual way.&#8221;</p>
<p>Some searching through Novell&#8217;s site revealed that this is a known issue with the GroupWise client not playing well with DEP. Sure enough, adding an exception for the GroupWise client in the DEP configuration resolved the issue. For those who are unsure how to do this:</p>
<ol>
<li>Right-click on Computer and select Properties.</li>
<li>Click the Advanced System Settings link.</li>
<li>Click the Advanced tab.</li>
<li>Click the Settings button under the Performance section.</li>
<li>Click the Data Execution Prevention tab.</li>
<li>Click the Add button under the exceptions list.</li>
<li>Navigate to the grpwise.exe executable and click the Open button.</li>
<li>Click the OK button on each dialog to save your changes.</li>
</ol>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/quick-fixes/groupwise-7-client-crashes-on-server-2008-r2"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/quick-fixes/groupwise-7-client-crashes-on-server-2008-r2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>“VpxClient has encountered a user-defined breakpoint.”</title>
		<link>http://digital-traffic.net/technology/vpxclient-has-encountered-a-user-defined-breakpoint</link>
		<comments>http://digital-traffic.net/technology/vpxclient-has-encountered-a-user-defined-breakpoint#comments</comments>
		<pubDate>Fri, 08 Jul 2011 15:45:30 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=299</guid>
		<description><![CDATA[Earlier today I was trying to download a VM from one of our ESX datastores using the Datastore Browser. Unfortunately, the vSphere Client kept crashing with the error &#8220;VpxClient has encountered a user-defined breakpoint&#8221; after I chose the destination folder. Some quick research turned up a thread on the VMware Community site which highlights the <a href='http://digital-traffic.net/technology/vpxclient-has-encountered-a-user-defined-breakpoint' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Earlier today I was trying to download a VM from one of our ESX datastores using the Datastore Browser. Unfortunately, the vSphere Client kept crashing with the error &#8220;VpxClient has encountered a user-defined breakpoint&#8221; after I chose the destination folder. Some quick research turned up a thread on the VMware Community site which highlights the cause: <a href="http://communities.vmware.com/thread/146647#1740550">Datastore browser &#8211; user-defined breakpoint</a></p>
<blockquote><p>&#8230;If you close the VI Client and re-open it as administrator the problem appears to go away&#8230;</p></blockquote>
<p>
It appears that VMware is not fully finished preparing the vSphere client for UAC elevation, which is pretty sad, considering Vista shipped with UAC over four and a half years ago. It&#8217;s unfortunate to see a company as forward thinking as VMware let their client stagnate so much.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/technology/vpxclient-has-encountered-a-user-defined-breakpoint"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/technology/vpxclient-has-encountered-a-user-defined-breakpoint/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementing IPv6 at home—part 2</title>
		<link>http://digital-traffic.net/technology/implementing-ipv6-at-home-part-2</link>
		<comments>http://digital-traffic.net/technology/implementing-ipv6-at-home-part-2#comments</comments>
		<pubDate>Sun, 31 Jan 2010 20:58:25 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[networking]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=242</guid>
		<description><![CDATA[A while back I did some experimentation with IPv6 on my Cisco 2611xm. I was using a tunnel provided by Hurricane Electric, which worked well, but I had no firewall and that made me a bit nervous. A little while after I got things set up, I procured a Cisco ASA5505 with a 50 client <a href='http://digital-traffic.net/technology/implementing-ipv6-at-home-part-2' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>A while back I did some <a href="http://digital-traffic.net/technology/implementing-ipv6-at-home-part-1/">experimentation</a> with IPv6 on my Cisco 2611xm. I was using a tunnel provided by <a href="http://tunnelbroker.net">Hurricane Electric</a>, which worked well, but I had no firewall and that made me a bit nervous. A little while after I got things set up, I procured a Cisco ASA5505 with a 50 client license via eBay.  My hope was that I could use the ASA for the firewall and the router to terminate the tunnel. As it turns out, this would have required a second IP address, because the ASA is not able to pass Protocol 41 traffic.</p>
<p><span id="more-242"></span></p>
<p>
Time Warner&#8217;s reluctance to issue me a second IP address meant that I&#8217;d have to find another solution. <a href="http://www.sixxs.net">SixXS</a> is another tunnel broker which makes use of a protocol called <a href="http://en.wikipedia.org/wiki/Ayiya">AYIYA</a>. AYIYA is capable of traversing NAT, so it would work well in my situation. Unfortunately it&#8217;s not supported by Cisco, so the 2611 was of no use to me anymore.
</p>
<p>
After some failed experiments and lost money with open source firmware and Linksys routers, I decided that a full Linux install would be the best route to go. I built a machine out of spare parts that I had laying around and installed Ubuntu 9.10 on it. Once I got everything up and running, I installed the SixXS client (AICCU) and started working on getting the tunnel up and running.
</p>
<p>
I hit another snag when I found out that the point of presence (the tunnel broker&#8217;s endpoint) was down. I jumped to freenet6 in the interest of keeping things moving. They provide a tunnel via <a href="http://en.wikipedia.org/wiki/Tunnel_Setup_Protocol">TSP</a>, which also traverses NAT. Their nearest POP is all the way over in Montreal, which means big latencies for someone in LA, but I was able to establish a tunnel, which I was satisfied with for the moment. Here&#8217;s my config for their client (gw6c):
</p>
<pre class="brush: bash; gutter: true; first-line: 1; highlight: []; html-script: false">userid=
passwd=
#server=broker.freenet6.net
# Always use Montreal POP
server=montreal.freenet6.net
auth_method=any
prefixlen=64
template=linux
if_tunnel_v6v4=freenet6
if_tunnel_v6udpv4=freenet6
# Assign the v6 address to eth0
if_prefix=eth0
keepalive=yes
keepalive_interval=10
host_type=router</pre>
<p>
Once I&#8217;d established my connection and saw what my v6 IP was going to be, I used a <a href="http://www.liquidalchemy.com/liquidalchemy/">v6 subnet calculator</a> to find out what my /64 networks would be and noted them down. I then entered the v6 address into /etc/network/interfaces so that I could add static routes as the interface came up:
</p>
<pre class="brush: bash; gutter: true; first-line: 1; highlight: []; html-script: false"># v6 Interface
auto eth0
iface eth0 inet6 static
    #address 169.254.1.2
    #netmask 255.255.0.0
    address 2001::1
    netmask 64
    up ip -6 route add 2001:0:0:1::/64 via 2001::2 dev eth0
</pre>
<p>
You may notice the link local v4 address that&#8217;s been commented out on the v6 address. The reason for this being there is that gw6c can&#8217;t do its magic unless the interface specified is up. Until I had my v6 address, I used this link local address. 2001::2, as specified in the route above, is my ASA, which has had it&#8217;s address manually configured. 2001:0:0:1::/64 is the network that I&#8217;m using for my LAN. I&#8217;ve got 254 more networks that I can make use of if I ever find a reason (2001:0:0:2::/64&#8230;2001:0:0:ff::/64).
</p>
<p>
Configuring the ASA was fairly simple. There&#8217;s an outside and an inside interface that need to be configured, then the default route needs to be set:
</p>
<pre class="brush: text; gutter: true; first-line: 1; highlight: []; html-script: false">interface Vlan10
 nameif inside
 security-level 100
 ip address 192.168.1.1 255.255.255.0
 ipv6 address 2001:0:0:1::1/64
!
interface Vlan30
 no forward interface Vlan20
 nameif v6tunnel
 security-level 0
 no ip address
 ipv6 address 2001::2/64
!
ipv6 route v6tunnel ::/0 2001::1
</pre>
<p>
As far as I can tell, there&#8217;s really no reason I need to use a second VLAN for the v6 tunnel, so I&#8217;m going to eventually try moving it to the outside VLAN, but for now it&#8217;s working well, and I don&#8217;t need a DMZ at the moment.
</p>
<p>
Once I configured the ASA properly, it started advertising itself and all of the hosts on my LAN are picking up v6 addresses from it. The problem I&#8217;m left with is how to do DNS discovery. Unfortunately there doesn&#8217;t seem to be a good answer here. Microsoft seems to be fond of the idea of using DHCPv6, Apple wants to use well-known anycast addresses and I honestly have no idea what&#8217;s going on in the Linux world.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/technology/implementing-ipv6-at-home-part-2"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/technology/implementing-ipv6-at-home-part-2/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Upgrading to vSphere Part 2: Hosts and VMs</title>
		<link>http://digital-traffic.net/technology/upgrading-to-vsphere-part-2</link>
		<comments>http://digital-traffic.net/technology/upgrading-to-vsphere-part-2#comments</comments>
		<pubDate>Sat, 17 Oct 2009 19:41:23 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[virtual machines]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=215</guid>
		<description><![CDATA[In my last post I described my experience with upgrading from VirtualCenter 2.5 to vCenter4. Here I&#8217;ll be describing the process of upgrading the host machines via a couple of different methods as well as my process for getting the VMs upgraded to the latest verision of VMware&#8217;s virtual hardware. Upgrading Hosts VMWare has made <a href='http://digital-traffic.net/technology/upgrading-to-vsphere-part-2' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>
In my last post I described my experience with upgrading from VirtualCenter 2.5 to vCenter4. Here I&#8217;ll be describing the process of upgrading the host machines via a couple of different methods as well as my process for getting the VMs upgraded to the latest verision of VMware&#8217;s virtual hardware.
</p>
<p><span id="more-215"></span></p>
<h3>Upgrading Hosts</h3>
<p>
VMWare has made it very easy to upgrade hosts to ESX 4. I made use of two remote upgrade options in my migration:
</p>
<dl>
<dt>vCenter Update Manager</dt>
<dd>A centralized update management system which can handle anything from security updates to full ESX upgrades</dd>
<dt>The Host Update Utility</dt>
<dd>A standalone application built into the new vSphere client</dd>
</dl>
<h4>vCenter Update Manager</h4>
<p>
For the local host machines, I made use of vCenter&#8217;s update manager. This is an add-on for vCenter and it requires its own database, but I highly recommend using it. Its end functionality is similar to any built-in software update mechanism, but its flexibility is what makes it really impressive. For information on installing, please see the <a href="http://www.vmware.com/pdf/vsp_vum_40_admin_guide.pdf">administration guide</a>.
</p>
<p>
Update Manager works on the idea of a &#8220;baseline&#8221;: a set of minimum requirements that a target needs to meet to be considered compliant. Baselines can be applied at any level in the vCenter hierarchy. To handle the upgrade of our host machines, I created a baseline for ESX hosts specifying that they should be at level 4.0. I then applied this baseline at the datacenter level in both sites. In some cases it may be more apt to apply it at the cluster level, but we have no necessity for legacy hosts in our case.
</p>
<p>
Once the baseline was applied, I selected the host I wished to update and clicked the update manager tab. I could see, as expected, that it was not compliant with the upgrade baseline applied to it. In a DRS cluster, one should be able to click the remediate button and let vCenter do all of the work to migrate VMs off and put the host in maintenance mode prior to the upgrade. This requires that you keep a pretty clean environment, however.
</p>
<p>
In our case, we had some hosts that were unable to vMotion either due to snapshots or mapped drives, so I had to take care of things manually. As soon as the host was in maintenance mode, however, choosing remediate rebooted the host and performed the upgrade all on its own within about 20 minutes or so. The progress bar was fairly accurate at most points of the upgrade and once the host was back up, I could see that it was compliant with the baseline.
</p>
<h4>The Host Update Utility</h4>
<p>
One major concern in my case was a couple of hosts sitting on the other side of a slow (3mbps) WAN link. Iâ€™m sure youâ€™ll agree that most IT tasks are at their best when they go unnoticed. Well, taking up a huge chunk of a siteâ€™s bandwidth while I transferred an ISO multiple times would certainly not win me any gold stars.
</p>
<p>
VMWareâ€™s Update Manger is capable of staging updates on the target for later install, but this only works on hosts that are at 4.0 or above. It would also require moving the ISO over the WAN multiple times, because the updates are staged to the host rather than another vCenter or Update Manager server. This made the Host Update Utility a much more interesting option.
</p>
<p>
Fortunately, thereâ€™s already data replication going on between the main site and the remote one for DR purposes. I was able to mount a snapshot of one of our DR volumes and copy the ISO onto a file server in that site. Launching the host update utility for the first time, I received a prompt to download patches from VMWare. The servers then needed to be added by hostname from the file menu. Once they&#8217;re added, the host update utility will do a quick scan to find out what version they&#8217;re at. If it&#8217;s in an upgradable state, the &#8220;Upgrade Host&#8221; button will initiate the upgrade.
</p>
<p>
Overall the procedure from this point on is very similar to the update manager service. The one notable exception is that there is a lot less feedback regarding the status of the host. There were a few times where I was wondering if the hosts were stalled, but eventually the progress bar jumped forward and I could see that things were still working. For this reason, I definitely recommend using the update manager service where possible.
</p>
<h3>Upgrading VMs</h3>
<p>
To take full advantage of the new functionality in vSphere 4, the VMs, themselves, must be upgraded. ESX 3.x operated on virtual hardware version 4. vSphere uses version 7, which has a number of notable improvements in storage, networking, and hotswap capability. It&#8217;s important to note that there are <a href="http://blog.scottlowe.org/2009/07/05/another-reason-not-to-use-pvscsi-or-vmxnet3/">a few disappointments</a> with the new networking and storage modules, but overall it&#8217;s a large step forward. There is a useful article at <a href="http://www.boche.net/blog/">boche.net</a> that talks about <a href="http://www.boche.net/blog/index.php/2009/05/10/vsphere-memorycpu-hotplug-hot-add/">memory and CPU hotplug</a>.
</p>
<p>
Upgrading the VMs is a two step process requiring at least 2 reboots (my process includes 3). First, the VMWare tools installation must be upgraded in the guest operating system. This may be done either from the vSphere client or from within the guest OS by opening the VMWare tools console. In my case, I chose to upgrade from within the guest so I was keeping an eye on every step of the process. This may not be viable for anyone with a large number of VMs to update. Upgrading the VMWare tools will require a reboot.
</p>
<p>
Secondly, the virtual hardware needs to be upgraded. The virtual machine needs to be powered down for this step. It&#8217;s a simple matter of right-clicking the virtual machine and selecting &#8220;Upgrade virtual hardware&#8221;. A message will pop up notifying you that <em>this is a one-way process</em> and once it&#8217;s finished, <em>your upgraded VM will not work on older versions of ESX</em>. Keep this in mind if you have any legacy hosts staying in your environment.
</p>
<p>
The next time the guest OS boots, it will detect the new hardware and configure it. For Windows VMs, this will require another reboot. I haven&#8217;t, yet, tested the process on a Linux VM. Once the guest OS is finished rebooting, the upgrade process is complete.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/technology/upgrading-to-vsphere-part-2"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/technology/upgrading-to-vsphere-part-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading to vSphere Part 1: Installing vCenter</title>
		<link>http://digital-traffic.net/technology/upgrading-to-vsphere-part-1</link>
		<comments>http://digital-traffic.net/technology/upgrading-to-vsphere-part-1#comments</comments>
		<pubDate>Mon, 21 Sep 2009 02:38:32 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[vcenter]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=179</guid>
		<description><![CDATA[Last week I started our migration from VMWare&#8217;s VI3 to vSphere. There are many improvements to the load balancing capabilities as well as the management capabilities. The storage engine has been greatly improved as well. Storage vMotion is available in the GUI without a plugin and thin provisioning is finally available, which is a huge <a href='http://digital-traffic.net/technology/upgrading-to-vsphere-part-1' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>
Last week I started our migration from VMWare&#8217;s VI3 to vSphere. There are many improvements to the load balancing capabilities as well as the management capabilities. The storage engine has been greatly improved as well. Storage vMotion is available in the GUI without a plugin and thin provisioning is finally available, which is a huge boon and reason enough to make the move on its own. Most of this process can be completed with no downtime for the virtual machines.
</p>
<p><span id="more-179"></span></p>
<h3>Environment</h3>
<p>Our environment is fairly small in terms of number of hosts, but we have most of the components in place, which makes for a very nice upgrade experience.</p>
<ul>
<li>A VirtualCenter Server v2.5 (primary data center)</li>
<li>Two host machines v3.5 (primary data center)</li>
<li>Two host machines v3.0 (disaster recovery data center)</li>
</ul>
<h3>Procedure</h3>
<p>
The first thing that needs to happen during the migration is upgrading the VirtualCenter server. vCenter 4 is very capable of managing legacy products, but it&#8217;s a good idea to take a look at the <a href="http://www.vmware.com/pdf/vsphere4/r40/vsp_compatibility_matrix.pdf">compatibility matrices</a> just to be safe.
</p>
<h4>Migration Strategy</h4>
<p>
The hardware that our current VirtualCenter Server was running on was less than adequate for running vCenter 4. So, I went ahead and built a new server to host vCenter. This had an added bonus of a very easy rollback plan if anything went wrong. All I would have to do is restore the database and boot up the old server. VMWare has an article that outlines part of this process at <a href="http://kb.vmware.com/kb/5850444">http://kb.vmware.com/kb/5850444</a>
</p>
<h4>Installation</h4>
<p>
To use the existing VirtualCenter database, a system DSN needs to be created to point to the existing database. Enter in the user credentials and set the default database to &#8220;VCDB&#8221; (or whatever your VirtualCenter database is called) and the rest of the settings should be fine at the defaults. It&#8217;s important to note that the VirtualCenter service should be stopped and disabled on the original server before proceeding from here. Bad things can happen if you have two servers trying to access that database.
</p>
<p>
After creating the DSN, I began installing vCenter4. I was greeted with an error saying: <em>&#8220;Please make sure SQL Server Agent service is running on the database server.&#8221;</em> This ended up being an issue with some maintenance jobs that I had set up when migrating the database. Renaming them resolved the issue.
</p>
<p>
The next thing to keep in mind is that VirtualCenter and vCenter make use of SSL certificates. These needed to be copied from the old VirtualCenter server. By default, they are located at <em>%AllUsersProfile%\Application Data\VMWare\VMWare VirtualCenter\SSL</em>. I copied the entire SSL folder onto the new server and vCenter found it without issue.
</p>
<h4>Post-install Configuration</h4>
<p>
From here on out, I let the installer do the rest of the work. In about 5 minutes I had a working vCenter server set up. At this point I had to connect the hosts to the new server. Before the ESX hosts can be connected, however, they need to be licensed. vCenter handles this by allowing you to specify the IP address of an external licensing server for legacy hosts. Adding the IP address the old VirtualCenter server will take care of this for the time being.
</p>
<p>
Each ESX host remembers the IP address of the VirtualCenter server that manages it to prevent conflicts. Right-clicking the server and selecting connect will make vCenter communicate with the hosts and override that information. It will then connect the the new vCenter server to the host.
</p>
<p>
I had a little trouble with our remote ESX hosts. It&#8217;s important that the <em>/tmp/vmware-root</em> directory exists on the target ESX host. If that&#8217;s not there, the vCenter server is unable to transfer binaries that are required to set up the connection. The folder can be created by the root user; default permissions should be fine. One of our servers was a little more difficult than the other and still would not connect after creating the temp directory. Restarting the <strong>vmware-mgmt</strong> service resolved this.
</p>
<h4>Still to come&#8230;</h4>
<p>
vCenter 4 is now managing our ESX 3 and ESX 3.5 hosts. In the next post I&#8217;ll walk through the process of upgrading the host machines and the virtual machines.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/technology/upgrading-to-vsphere-part-1"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/technology/upgrading-to-vsphere-part-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formatting byte values in Excel 2007</title>
		<link>http://digital-traffic.net/technology/formatting-byte-values-in-excel-2007</link>
		<comments>http://digital-traffic.net/technology/formatting-byte-values-in-excel-2007#comments</comments>
		<pubDate>Thu, 21 May 2009 02:44:51 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[conditional formatting]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[formatting]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[spreadsheet]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=132</guid>
		<description><![CDATA[<p>
I was given a project, recently, that involved creating a spreadsheet to list storage capacities and free space. One thing I wasn't sure of, was how to format the values&#8230;
</p>
<p>
&#8230;After thinking about it for a while, I decided to look into Excel's conditional formatting feature. There are premade rules for changing the cell color, etc., but it turns out that it's capable of quite a bit more&#8230;
</p>]]></description>
			<content:encoded><![CDATA[<p>
I was given a project, recently, that involved creating a spreadsheet to list storage capacities and free space. One thing I wasn&#8217;t sure of, was how to format the values.
</p>
<p>
A bit of searching on the internet for formatting KB MB, etc. came up with a <a href="http://www.eggheadcafe.com/conversation.aspx?messageid=33805458&#038;threadid=33805450">post</a> by Ajay on <a href="http://www.eggheadcafe.com">http://www.eggheadcafe.com</a> which suggested pasting the following code into the current worksheet&#8217;s private module:
</p>
<pre class="brush: vb; gutter: true; first-line: 1; highlight: []; html-script: false">Private Sub Worksh5eet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range(&quot;C:C&quot;)) Is Nothing Then
        If Target.Value &lt; 1000 Then
            Target.NumberFormat = &quot;0 \B&quot;
        ElseIf Target.Value &lt; 999500 Then
            Target.NumberFormat = &quot;0.000, \K\B&quot;
        ElseIf Target.Value &lt; 999500000 Then
            Target.NumberFormat = &quot;0.000,, \M\B&quot;
        ElseIf Target.Value &lt; 999500000000# Then
            Target.NumberFormat = &quot;0.000,,, \G\B&quot;
        Else
            Target.NumberFormat = &quot;0.000,,,, \T\B&quot;
        End If
    End If
End Sub</pre>
<p>
I had some trouble with the macro and eventually abandoned it, but it did give me some ideas. The actual formats were good and I ended up using them later. The criteria for setting the formatting was spot on as well. After thinking about it for a while, I decided to look into Excel&#8217;s conditional formatting feature. There are premade rules for changing the cell color, etc., but it turns out that it&#8217;s capable of quite a bit more.
</p>
<p><span id="more-132"></span></p>
<h3>Setting up formatting rules</h3>
<p>
Conditional formatting is based on sets of rules which are stored in each worksheet. To create a new rule, go to <code class="input">Home &gt; Styles &gt; Conditional Formatting &gt; Manage Rules...</code>. Click <code class="input">New Rule...</code> and select &quot;Format only cells that contain&quot;. Select &quot;Cell Value&quot;, &quot;less than&quot; and enter &quot;1000&quot; for the value.
</p>
<p><img src="http://digital-traffic.net/wp-content/uploads/2009/05/new-rule.png" alt="New Rule... dialog" title="New Rule... dialog" width="520" height="91" class="size-full wp-image-150" /></p>
<p>
Once the condition is set, click <code class="input">Format...</code> set the formatting. In this case we are formatting values that are less than 1KB, so we&#8217;ll want to set a custom format of &quot;0 \B&quot;
</p>
<p><img src="http://digital-traffic.net/wp-content/uploads/2009/05/format-bytes.png" alt="Format Cells dialog" title="Format Cells dialog" width="525" height="340" class="size-full wp-image-157" /></p>
<p>
Make a few more rules for kilobytes, megabytes, etc. You&#8217;ll probably want to show a couple of decimal places for the larger numbers. Add a comma for each order of magnitude as you&#8217;ll be showing a suffix rather than the extra zeros. You should end up with formats similar to this:</p>
<pre>
0 \B
0.00, \K\B
0.00,, \M\B
0.00,,, \G\B
</pre>
</ul>
<h3>Applying the rules</h3>
<p>
Once you finish creating your rules, you&#8217;ll be brought back to the Conditional Formatting Rules Manager. You&#8217;ll probably notice that &#8220;Current Selection&#8221; is selected at the top of the dialog. Change this over to &#8220;This Worksheet&#8221; for better control. Although it shouldn&#8217;t matter too much, I&#8217;d recommend ordering the rules from smallest to largest. This should prevent potentially funky behavior if a cell&#8217;s value should fall on a boundary between rules. I also suggest leaving &#8220;Stop If True&#8221; unchecked to let the latter rule win.
</p>
<p>
You&#8217;ll notice that there is an &#8220;Applies To&#8221; box. This is where we select which cells will be affected by the rules. Click the button and make your selections. Cells in each selection should be adjacent to avoid complications. Use the ctrl key to select multiple ranges. Once you&#8217;ve made your selection, click the button again and copy the contents of the box to the other rules and you&#8217;re done.
</p>
<h3>Other thoughts</h3>
<p>
This approach works based on multiples of 1000 instead of 1024. Setting the criteria to look for the correct boundaries is easy enough by specifying &quot;Cell Value between =Power(2,10) and =Power(2,20)&quot;, but I haven&#8217;t yet found a way to get Excel to see 1024B as 1KB as opposed to 1.024KB. Any input on this would be quite welcome.
</p>
<p>
This approach should work well for formatting any units that are base 10; metric units, for instance. The base unit can be chosen arbitrarily, so it&#8217;s really quite wide open.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/technology/formatting-byte-values-in-excel-2007"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/technology/formatting-byte-values-in-excel-2007/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remote server administration with Windows Vista</title>
		<link>http://digital-traffic.net/technology/remote-server-administration-with-windows-vista</link>
		<comments>http://digital-traffic.net/technology/remote-server-administration-with-windows-vista#comments</comments>
		<pubDate>Sun, 26 Apr 2009 22:30:45 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[administrative tools]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Server]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=113</guid>
		<description><![CDATA[If you&#8217;re a systems administrator and run Vista, you might have run into some trouble with the server 2003 administration tools package (adminpack). Well, there&#8217;s good news for you. Remote administration is now built into the Vista operating system. Firstly, you should be running service pack 1. I believe the tools are available for the <a href='http://digital-traffic.net/technology/remote-server-administration-with-windows-vista' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>
If you&#8217;re a systems administrator and run Vista, you might have run into some trouble with the server 2003 administration tools package (adminpack). Well, there&#8217;s good news for you. Remote administration is now built into the Vista operating system.
</p>
<ol>
<li>
		Firstly, you should be running service pack 1. I believe the tools are available for the original release of Vista, but I haven&#8217;t delved into it.
	</li>
<li>
You&#8217;ll need to download the updated RSAT pack from Microsoft:</p>
<div class="multilink">
<h5>Microsoft Remote Server Administration Tools for Windows Vista&#8230;</h5>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D647A60B-63FD-4AC5-9243-BD3C497D2BC5&#038;displaylang=en">&#8230;for x64-based Systems</a>
</li>
<li>
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9ff6e897-23ce-4a36-b7fc-d52065de9960&#038;DisplayLang=en">&#8230;for x86-based Systems</a>
</li>
</ul>
</div>
</li>
<li>
		Go to the control panel and open &#8220;Programs and Features&#8221;.
	</li>
<li>
		Click on &#8220;Turn Windows features on or off.
	</li>
<li>
		Find and enable &#8220;Remote Server Administration Tools&#8221;.
	</li>
</ol>
<p>
Once you hit OK, your system will spend about 5-10 minutes configuring itself for remote administration and the &#8220;Administrative Tools&#8221; menu should be populated.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/technology/remote-server-administration-with-windows-vista"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/technology/remote-server-administration-with-windows-vista/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Don’t forget StdErr</title>
		<link>http://digital-traffic.net/technology/dont-forget-stderr</link>
		<comments>http://digital-traffic.net/technology/dont-forget-stderr#comments</comments>
		<pubDate>Sat, 28 Mar 2009 18:03:56 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=107</guid>
		<description><![CDATA[I recently ran into an issue where a WSH script was calling an external executable and returning an exit code of 0 even though there had been an error running the external executable. The problem is that I was relying on oExec.StdOut.ReadAll() to block the script until the command had finished processing. The ReadAll() method <a href='http://digital-traffic.net/technology/dont-forget-stderr' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>I recently ran into an issue where a WSH script was calling an external executable and returning an exit code of 0 even though there had been an error running the external executable. The problem is that I was relying on <code class="input">oExec.StdOut.ReadAll()</code> to block the script until the command had finished processing. The <code class="input">ReadAll()</code> method functions synchronously, so if the executable had been writing to StdOut, I would have been right. Unfortunately, I was neglecting the StdErr stream. So, not only did I miss the errors that the executable threw, the script didn&#8217;t block on the executable&#8217;s output, so I returned the exit code before the executable had actually finished running. The lesson here is to always think about StdErr no matter what you&#8217;re trying to accomplish.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/technology/dont-forget-stderr"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/technology/dont-forget-stderr/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Boxee/Hulu honeymoon is over</title>
		<link>http://digital-traffic.net/new-media/the-boxeehulu-honeymoon-is-over</link>
		<comments>http://digital-traffic.net/new-media/the-boxeehulu-honeymoon-is-over#comments</comments>
		<pubDate>Sat, 21 Feb 2009 22:04:52 +0000</pubDate>
		<dc:creator>Brian Shacklett</dc:creator>
				<category><![CDATA[New Media]]></category>
		<category><![CDATA[Boxee]]></category>

		<guid isPermaLink="false">http://digital-traffic.net/?p=84</guid>
		<description><![CDATA[What if I told you there was a free (and legal) program that would let you watch most of your favorite shows on your TV without paying for cable? Well, there was. The program is called Boxee. The main source of most of Boxee&#8217;s goodness was Hulu and the makers of Boxee were forced by <a href='http://digital-traffic.net/new-media/the-boxeehulu-honeymoon-is-over' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>
What if I told you there was a free (and legal) program that would let you watch most of your favorite shows on your TV without paying for cable? Well, there  was. The program is called <a href="http://en.wikipedia.org/wiki/Boxee">Boxee</a>. The main source of most of Boxee&#8217;s goodness was <a href="http://hulu.com">Hulu</a> and the makers of Boxee were forced by Hulu&#8217;s content providers to remove Hulu&#8217;s content stream from their software.  It&#8217;s a very disheartening event that&#8217;s sure to affect new media for the immediate future.
</p>
<p>
The way I see it, there are a two ways this whole thing can go. The other content providers could either see this as a sign to keep fighting current technology and force us to hang out in the dark ages of media for a while. Or, if they have anyone with a brain working for them, they could see that this whole thing is a big mistake and they&#8217;re missing a great chance to ditch the cost of working with cable companies and distribute their content via the Internet.
</p>
<p><span id="more-84"></span></p>
<p>
The cable companies are worried that they&#8217;re going to lose a massive source of revenue, and that&#8217;s probably true, but they also stand to reduce costs substantially. If the content providers would find a suitable way to distribute their content over the Internet, the cable companies would be able to drop support for all of that old cable technology, get rid of a huge amount of staff and put all of their focus into providing faster and more reliable Internet access.
</p>
<p>
Each company could specialize and become very efficient at one thing, rather than having the overhead of trying to support multiple departments that probably hate working with each other anyway. Efficiency is good. It means better service for us and more money in the companies&#8217; pockets.
</p>
<p>
Eventually, something&#8217;s got to give. There are some very dedicated people out there <a href="http://blog.robotforest.com/2009/02/21/understudy-life-after-boxee-not-quite">working on alternatives to cable</a> and Content providers will eventually have to wake up and realize how much more money they could make on their own. We may have been delayed, but we&#8217;ll eventually have the answer we&#8217;re looking for.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="standard" count="1" href="http://digital-traffic.net/new-media/the-boxeehulu-honeymoon-is-over"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://digital-traffic.net/new-media/the-boxeehulu-honeymoon-is-over/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

