First, there’s been a slight change in my design, I’ve moved vCenter services to a virtual machine. I found, during re-reads of the documentation, that Linked Mode is not supported in clustered vCenter Servers and being the lazy admin that I am I wanted that convenience. For now I just renamed my Update Manager server and installed vCenter on it. I might split off the UM role, undecided at this time and this is something I can totally deal with at any time. My big push is to just get this done.
I’m going to use this to outline the specific actions taken through my process of upgrading vCenter in my environment. Later, I will follow up with SRM, ESX and maybe Lab/Lifecycle/Stage Manager servers.
As noted in my previous post my database is an active/passive Failover Cluster on physical IBM HS21 blades. This hardware is not new, it’s actually old ESX servers that I decommissioned from my DEV environment a couple of years ago. I believe they are a dual Intel 5150 dual cores, non-XM model with a grand total of 8 GB RAM and a pair of 74 GB hard disk drives. I have these blades in the same chassis as 10 of my ESX servers in production and am sharing a chassis with DR servers for my second vCenter database cluster.
My DR sites shares floor space with TEST and DEV resources and, in the near future, will be hosting other PROD resources. DR resources share an EMC CX4-480 with TEST. This datacenter is built up in my office, we are going to be deploying new A.D. servers, relocating file servers and NAS hosted CIFS initially.
The SQL Server cluster built was fairly straight forward, so much so that even I as a non-Microsoft guy could do it. My build was on Server 2008 Enterprise with SQL Server 2005 Standard Edition, the following documentation is applicable this environment only. I eventually got the installation just the way I wanted it on the 3rd or 4th build. What I finally found, which countered a lot of the documentation out there, as the most effective steps are:
- Build two Windows Server 2008 Enterprise version.
- Name both servers in entirely uppercase characters!
- Thinking WTF? Me too, ran into several issues because of this. Service Packs would not install properly, first indicator was a failure to create a maintenance plan with error “Invalid column name ‘from_msx’. Invalid column name ‘has_targets’. (Microsoft SQL Server, Error: 207)“.
- Unable to create Maintenance Plans or DBMail Fails after service pack/Hotfix is applied on SQL Server 2005 fail over cluster instance running on Windows 2008 cluster
- Install Failover Cluster on both hosts, do not start the Create a Cluster wizard
- Zone storage to host 1.
- Rescan disks.
- Format disks.
- With the new partitioning practices on Server 2008 one no longer has to even thing about performing a manual disk offset unless one is really picky. In other words, it fixes the lazy admins work for us storage guys. NTFS sets an offset of 1024 KB on all volumes over 4 GB in size.
- I elected to use the standard 1024 KB offset as this coincides works will with my full stripe size of 256 KB on a RAID Group. I used MetaLUN striped across 4 RAID Groups.
- Set proper drive letters and label.
- Zone storage to host 2.
- Rescan disks.
- Start Failover Cluster Create a Cluster wizard (requires an additional IP address).
- Add Quorum disk to the cluster.
- Create an empty Service or Application within the cluster (Clustered DTC service is no longer required on Server 20008).
- Assign one of the shared disks to the Service.
- When the wizard completes add additional storage.
- Start SQL Server 2005 installation, install will be performed on both nodes in the cluster. I elected to install both Database services and Workstations Components, using the Advanced options to deselect sample databases, legacy tools, etc. Performing the Workstation components in the initial turned out to be the easiest method of getting Management tools installed.
- Select Install in Cluster (requires and additional IP address).
- Assign a name to the cluster.
- Select the newly created Service or Application.
- Select the data drive for the installation target.
- Ignore errors about problem with compatibility, this will be resolved by installation of SP 3.
- Install SP 3 when completed.
- I then removed Full-Text Search services as a cluster dependency as it’s not required in my environment and will delay the time taken to fully restore services during failover.
- Run through all cluster elements and set dependencies appropriately
- SQL Server is dependant upon each of the disks assisgned.
- SQL Server agent is dependent on SQL Server.
- I removed Full Text Indexing from my cluster resources
- The cluster can not be accessed with the cluster node name assigned in step 8.2.
I found that, when complete with the SQL Server install, that I did not have Management tools available on the second node. I attempted to install from disk on that node but received errors about attempting to install Workstation components that were a previous version of the installed product. This one took me some time to figure out and is a bit embarrassing. Solution appears to be to execute a change from “Programs and Features” and enabling the desired components from the wizard.
Considering my rather small environment of 15 ESX hosts in PROD and Server 2008’s competencies in expanding basic disks I added a 10 GB Quorum (overkill, I know), 40 GB data and 20 GB Log drives. I could have made these disks a bit bigger but I’m a pretty stingy storage admin. My TEST/DEV/DR vCenter server’s storage was increased by 50%.
Prior to the install of vCenter creation of a 32bit DSN is required on the vCenter server with a SQL Server Native Client driver. I did not have the SQL Server Native client available and had to download the 64bit version of the driver from Microsoft. Once installed I was able to create the 32bit DSN without issue. Path to the 32bit Microsoft Open Database Connectivity (ODBC) Data Source Administrator tool is %systemdrive%WindowsSysWoW64Odbcac32.exe. The vCenter install itself was nothing very interesting, I followed the prompts and elected to use a blank database.
Next, I need to deal with SRM.