Wednesday, 20 July 2016

vSphere Upgrade 5.0 to 6.0 - Part 1

vSphere Upgrade 5.0 to 6.0 - Part 1


So, these posts are around upgrading from vSphere 5.0 to 6.0U2, quite a big jump! I'm testing this is a Lab to see if I hit any issues or gotchas. The steps also involve changing from Server 2008R2, dealing with certificates and keeping vCenter historical data and SRM intact along the way. So, reasonably complex and I've heard of others experiencing difficulties so even if this works in a Lab, it's not a given it will work in the real world. For that I'd recommend cloning the vCenter and a Domain Controller into a test network bubble and injecting the vCenter 6.0 ISO and trying it on the actual vCenter install (Include SQL of course!).

First things first I need a Lab and I've decided on 16VMs for this lab as follows:

lab50sqla 2008R2 SQL 2008R2
lab50vca 2008R2 vCenter 5.0
lab50srma 2008R2 SRM 5.0
lab50esxia ESXi 5.0
lab50sqlb 2008R2 SQL 2008R2
lab50vcb 2008R2 vCenter 5.0
lab50srmb 2008R2 SRM 5.0
lab50esxib ESXi 5.0
lab50pscc 2012R2 PSC 6.0
lab50sqlc 2012R2 SQL 2014/2016
lab50vcc 2012R2 vCenter 6.0U2
lab50srmc 2012R2 SRM 6.1.1
lab50pscd 2012R2 PSC 6.0
lab50sqld 2012R2 SQL 2014/2016
lab50vcd 2012R2 vCenter 6.0U2
lab50srmd 2012R2 SRM 6.1.1



I've used a powershell script to deploy these:

new-vm -vmhost bdragon.lab.local -template "2008R2 Std Template" -Datastore Datastore1 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50sqla
new-vm -vmhost bdragon.lab.local -template "2008R2 Std Template" -Datastore Datastore1 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50vca
new-vm -vmhost bdragon.lab.local -template "2008R2 Std Template" -Datastore Datastore1 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50srma
new-vm -vmhost bdragon.lab.local -template "2008R2 Std Template" -Datastore Datastore1 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50sqlb
new-vm -vmhost bdragon.lab.local -template "2008R2 Std Template" -Datastore Datastore1 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50vcb
new-vm -vmhost bdragon.lab.local -template "2008R2 Std Template" -Datastore Datastore1 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50srmb
new-vm -vmhost bdragon.lab.local -template "2012R2 Std Template" -Datastore Datastore0 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50pscc
new-vm -vmhost bdragon.lab.local -template "2012R2 Std Template" -Datastore Datastore0 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50sqlc
new-vm -vmhost bdragon.lab.local -template "2012R2 Std Template" -Datastore Datastore0 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50vcc
new-vm -vmhost bdragon.lab.local -template "2012R2 Std Template" -Datastore Datastore0 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50srmc
new-vm -vmhost bdragon.lab.local -template "2012R2 Std Template" -Datastore Datastore0 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50pscd
new-vm -vmhost bdragon.lab.local -template "2012R2 Std Template" -Datastore Datastore0 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50sqld
new-vm -vmhost bdragon.lab.local -template "2012R2 Std Template" -Datastore Datastore0 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50vcd
new-vm -vmhost bdragon.lab.local -template "2012R2 Std Template" -Datastore Datastore0 -diskstorageformat thin -oscustomizationspec "server 2012" -name lab50srmd

Now, I've just to sit back and hope I don't run out of disk space!! I'll get around to using VMFork at some stage to make this faster!

The overall plan is to upgrade vCenter in place and point at the new PSC's (Same SSO Domain, Separate Sites). I'm using HPE Storevirtual iSCSI SANs to replicate real ones so I can implement SRM recovery plans and ensure they survive the transition. Once the upgrades are done I'll replatform onto the newer OS and see how I go. Snapshots and backups are going to be important as I'm expecting to hit snags and issues as I've found parts of this plan but not a complete end to end write up anywhere. 

Most of the virtual hardware will remain low but I'll beef up the vCenter and SQL a bit to 8GB Ram. 

One of the first things to do is to check the VMware Interoperability Guide. What we're initially looking for is if we can do an in place upgrade or if the Operating Systems and Database versions preclude this.
https://www.vmware.com/resources/compatibility/sim/interop_matrix.php#db
Start with the Database, we can see that vCenter 5.0 is compatible with SQL 2008, 2008 R2 and SQL 2012 but not any later SQL. We want to go to SQL 2014 or later so this is an issue. Now add in another version of vCenter, 6.0U2. This IS compatible with SQL 2008R2 once a service pack is applied (SP1/SP2). So this gives us a path forward, we can upgrade in place and THEN move the databases to SQL 2014 and we should be ok. Update Manager is much the same story.
Note: SQL 2016 is not mentioned at all.

So, we can also check interoperability between vCenter 6.0U2 and SRM 5.0 - not match of course! So, SRM will not function until it's also been upgraded and we should go to the latest version and SRA. Now, this is not as simple as it looks, the third section in the interoperability guide allows us to plug in SRM. As you can see from the chart below we can't go straight to 6.1, we have to go to 5.5.1, then 6.0 and THEN 6.1.1 !!! Now we should check database compatibility for all of these versions. So we're fine using SQL 2008 R2 (SP1 or SP2 ONLY) across all of these versions. SRM 6.0 & 6.1.1 support SQL 2014 too.


What about the Operating Systems? Well, Server 2008 R2 is 64-bit so that helps.

Build Notes: 
Open TCP Port 1433 in Windows Firewall on SQL Servers
You only need to install the x64 SQL Native Client on the vCenter Server VMs
Use C:\Windows\Syswow64\odbcad32.exe to create Update Manager 32-bit DSN (Ah, the good 'ol days!)
When installing Update Manager use the FQDN of vCenter to comply with CA Certificate requirements later (both during the connection page and port settings page)
In order to get the web interface to work use the following when replacing certificates to get the website unregistered/registered:
C:\Program Files\VMware\Infrastructure\vSphere Web Client\scripts
admin-cmd unregister https://lab50vca.lab.local:9443/vsphere-client lab50vca.lab.local lab\administrator
admin-cmd register https://lab50vca.lab.local:9443/vsphere-client lab50vca.lab.local lab\administrator

If you get Error #2046 see here and upgrade to vCenter 5.0 U3e:
There is a workaround but it needs to be reapplied after each reboot! 

Install SRM before the SRA
SRM uses a 32-bit ODBC DSN on this version (5.0)
.NET required for Storevirtual SRA on each SRM server to work at all
rename rui.pfx to rui.p12