Ultimate Deployment Appliance
I’m excitied to begin automating vSphere (ESX) server installations. I now have four servers, ready to install vSphere for our VMWare View environment. I could easily just bang them out one at a time with a USB DVD drive and KVM – but where is the fun in that?
I’m going to use a community built deployment appliance running in VMware workstation to PXE boot and install vSphere on these four servers.
First problem I had was actually getting the appliance file. It seems the original source of the appliance has a horrible network connection or is just really busy – 15b/sec isn’t going to cut it. So I went to Mike Laverick’s RTFM Education site. http://www.rtfm-ed.co.uk/vmware-content/ultimate-da/
Mike posted an OVA file – which can be installed into vSphere, but I need it to run on Workstation on an isolated network during deployment. Workstation would normally be able to import this OVA, but it’s missing some descriptor file.
Never giving up, I found another VMware utility called OVF Tools that you can download here: http://www.vmware.com/support/developer/ovf/
After installing, you get to run this command to convert the OVA file to a vmx/vmdk virtual machine:
C:\Program Files\VMware\VMware OVF Tool\ovftool.exe path_to_ova/uda20-build##.ova path_to_vmx/uda20-build##.vmx
For my example, I just placed the converted VM into the same path:
C:\Program Files\VMware\VMware OVF Tool\ovftool.exe d:/uda20/uda20-build17.ova d:/uda20/uda20-build17.vmx
Really it’s that simple. A few seconds later, you have yourself a vmx file that you can open and run in VMware Workstation.
Exchange 2010 SP1 Outlook Web App login customizations.

I’m updating the code in this article using BitTrack Decode HTML to provide you with easy to read code.
I needed to add some code to the OWA page to help our Help Desk get people logged on quicker without so much hand holding.
So here are the three changes I did to the file logon.aspx found in the path (if you let the Exchange 2010 installer chose the default path): C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\Owa\auth\
Login Domain Reminders
Customize this however you wish with any HTML code you want. I have two domains that log into this interface, and the email addresses only match Domain2′s UPN, so to make it easier for everyone – we’ve standardized on domain\username. But this code will show up above the username login table but below the Public/Private radio buttons and explanations.
Look for the following lines of code:
<%=UserNameLabel%></label>
<input id="username" name="username" type="text" />
Below the
tag but above the
Insert a new line of code (or multiple, you have the entire table width available):
<span style="color: #ff0000;">♦</span> Domain1 use: <strong>domain1\user name</strong> <span style="color: #0000ff;">♦</span> Domain2 use: <strong>domain2\user name</strong>
Invalid Credentials
If a user enters incorrect information, the login page will change to display an alert to tell the user why their email hasn’t appeared on the screen. We wanted to make it easy for a user to find our password reset page, so we included some additional html to provide them a link to the page.
Look for <%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.InvalidCredentialsMessage)%>
%> and the following text:
Visit https://pwreset.domain.tld to reset your password.Obviously, you could include any other text that is relevant to your environment to assist your users.
Connected to…
I have to client access servers setup using MNLB, so they both respond to requests to our OWA URL. If either one of them is having a server specific problem, it’s a pain typing in each FQDN URL to test, when I can just insert a little text at the bottom to tell me or the user which server is serving them.
Look for (Strings.IDs.ConnectedToExchange)%>
Insert between %> and the following text ”’Client Access Server 1”’ or ”’Client Access Server 2”’ as appropriate.
The finished line of code should look like this:
<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ConnectedToExchange)%>Client Access Server 2
New VMware vSphere Cluster
This month has been busy… very rewarding, but bizzzz-aye! Here’s our latest project come to close… upgrade our existing VMware infrastructure to new hardware to better utilize our existing licenses. Easy enough, right?
Old environment:
3 x HP DL380 G5 servers, each identically configured as such:
- 2 x Dual Core Xeon Processors (1.6Ghz)
- 16 GB of DDR2 ECC RAM
- 1 x 4 Port Gigabit NIC
- 2 x 850Watt power supplies
- ESX 3.5 Update 5
Estimated power usage 1,950 watts at 60% utilization. Averaging 650 watts per host – or 17082 kWh for the year
New environment:
3 x HP DL360 G6 servers, each identically configured as such:
- 2 x Quad Core Xeon H5540 Processors (2.4Ghz)
- 54 GB of DDR3 ECC RAM (12 x 4GB + 3 x 2GB
- 1 x 4 Port Gigabit NIC
- 2 x 450 Watt power supplies (set for active/passive fault tollerance)
- ESX 4.0 Update 2
Estimated power usage 480 watts with the same virtual machine count. With a confirmed average of 240 watts for two hosts 0r 4,208kWh for the year. One host is in standby, using less than 1W of power.
We’re currently leveraging vCenter’s Dynamic Power Management feature to shutdown one host because there are enough resources on the other two to maintain all of the virtual machines AND still provide high availability. If we lose a host, HA will reboot the lost VMs on the remaining host – and power up the standby host to provide more resources to the cluster. In the mean time though – we’re saving the earth and money by doing just a little more configuration. As our virtual environment grows we may reach a point where we won’t be able to keep one host powered off, but in the meantime – why not?
Savings:
- 3 RU of space.
- 12,874 kWh of electricity annually
- $1,205 per year in power costs
Also in this environment we took the steps to standardize our vSphere host build so that adding additional hosts or rebuilding any failed hosts is just an install disc and host profile application away from production. Our previous environment was a pre-production proof of concept that got rolled into production without much validation or configuration standardization.
I’m very pleased with the rollout and now that we have modern vSphere cluster attached to our previously installed 28TB NetApp 3140 SAN/NAS cluster – we’re ready to rock into the year with Exchange 2010 and SharePoint 2010 virtualization – estimated savings in power alone is looking to be in the range of $3,000-$4,500 per year. The ROI reports write themselves!
Drobo Elite Performance Testing
I’ve had a Drobo Elite in my possession for way too long, and I would like to post this brief explanation of why I haven’t posted any test results yet.
A few reasons actually… here we go.
1. Our test environment uses an HP ProCurve switch that claims can do etherchannel or port trunking. Unfortunately our network admin and myself (both with more Cisco smarts than ProCurve experience) haven’t been able to get the damn thing to trunk anything to anything. We’ve even gone down the road of actually hooking up HP servers with HP NICs with HP networking software- and it still fails to trunk the two links. This will have a detrimental effect on our performance testing for the Elite so I’ve held off until we can get our hands on a 12, 24, or 48 port Cisco switch to replace this P.O.S. I seriously cannot convey the disappointment and lack of trust I have in this hardware – one of our campuses has a larger unit instead of a Cat6509 that we would have chosen, and it is just a nightmare in our environment.
2. The college that I work for is smack dab in the middle of an automotive manufacturer induced jobless zone and enrollment is up over 80% (yes, eighty percent). So as you can imagine resources have been stretched thin and students are (and always have been) our primary customer. This has reduced the amount of development and testing to an hour or so a week… and on projects that are more critical. The summer semester used to be great for large implementations, remodeling, and better parking spots. Not anymore.
3. On a team of three server and network engineers – two have had children in the last three months. My wife and I had a healthy baby boy in March and our other server engineer and his wife just had a healthy (albeit a few weeks early) baby boy. All are doing well and we’re all grateful and very humble by the experience. Seriously, ladies – how do you do it? I’m in awe… But the few hours after 5pm we used to have to test and play with new gear is all but gone for a while.
I watch the hits on this site, the search queries, and all the other data as I have time – and it looks like interest in this testing has not waned. So with Drobo’s continued support – we’re looking to obtain a Cisco switch and configure it to provide us the environment we need to properly test this little beasty very soon.
As always, comments are always welcome – as are emails directly to me.
-Jason ([@]) binaryspiral ([.])com
VMware Visio Stencils
After dredging around looking for Visio Stencils I found the official post, then a broken link, and then finally a working link from Technodrone website. The files themselves are hosted on mediasite which is a pretty obnoxious with pop-ups and seizure inducing ads.
Well, I’m reposting them here for an easy download:

