Upgrading to vSphere 5.0 from vSphere 4.x – Part 1 – vCenter Server




vSphere 5.0 is a great step up in terms of new functionality and features from vSphere 4.1. VMware have introduced some awesome new features that are definitely worth making use of by getting your environment upgraded. A few that caught my eye are sDRS (Storage DRS), Storage vMotion of VMs with Snapshots, and of course the ability to now run those “monster” VMs (much larger VMs supported now).


Before you take the plunge and upgrade, I would recommend doing a good amount of reading best practises documentation and planning. I have linked to two very useful documents from VMware that will help with your planning. There is an upgrade checklist which you can work through systematically, as well as a best practises whitepaper which helps explain the process in good detail with some great screenshots. In my post I will be going through the process I followed to upgrade my lab environment from vSphere 4.1 to 5.0. As it is a lab environment, I didn’t do too much in terms of planning, but for production environments, this would be a good idea as it never hurts to be prepared.


As part of the process, I also set up a brand new VMware Update Manager server in a VM once my vCenter server was updated to 5.0 to aid upgrading my ESXi hosts from 4.1 to 5.0. I only have three virtualised ESXi hosts running in my lab cluster, so it would have been quicker to use the ISO and do them manually, but I wanted to go through the process myself as I don’t spend enough time on Update Manager in my work environment.


Documentation to read

vSphere 5.0 upgrade checklist

VMware vSphere 5.0 Upgrade Best Practises Technical Whitepaper


So without further ado, let’s begin.


Update your vCenter Server


  • First of all, make sure you are running vCenter Server 4.0 or above. If you are, then chances are you’ll be running a 64bit OS. Just be sure to check though, as it is possible to run vCenter Server 4.0 on a 32bit OS. If you have vCenter Server running on a 64bit OS, then you are good to go, otherwise you’ll need to take a slightly more complicated route, which involves creating a new vCenter server on a 64bit OS, installing vCenter 5.0 and then migrating the existing database over to the new server. For specifics there is documentation on this process in the vSphere 5.0 Upgrade Guide from VMware.
  • Next up, check that the other minimum requirements are met; especially in terms of CPU and RAM.
  • Backup your existing vCenter database – this is clearly a very important step. Make sure you back up everything. Before I upgraded my lab, I took a backup of my vCenter SQL 2005 Express Database as well as my SSL certificates. The vCenter 5.0 upgrade wizard will remind you about this too. Keep your backups safe. For my lab vCenter database, I simply installed Microsoft SQL Server Management Studio Express (free) and used the backup option in there to backup the database as well all other SQL system databases just to be safe.


You can use SQL Server Management Studio Express to backup your SQL Express Database.


  • Also take a backup of your vpxd.cfg file. On a 2003 Server this would by default be located under %ALLUSERSPROFILE%\Application Data\VMware\VMware VirtualCenter\ or for a 2008 Server, it would by default be under C:\ProgramData\VMware\VMware VirtualCenter\
  • Now you should look at your Database options and upgrade path. Review the Prerequisites documentation in the Upgrade Guide for databases and ensure yours is supported. If it is not, then be sure to follow the correct procedure to migrate to a supported one.
  • Ensure your vCenter Server has a 64bit DSN – it will already have one if you are running vCenter Server 4.1 (as this is 64bit only) but could be different if you are still on vCenter 4.0.
  • If you are running a Microsoft SQL Database (as I am in my lab), ensure your System DSN under ODBC connections is using the SQL Native Client driver.
  • Ensure you have Microsoft .NET 3.5 SP1 and Windows Installer 4.5 or greater installed on your vCenter server.


Ensure your System DSN under ODBC connections is using the SQL Native Client driver.


If you already have a running vCenter 4.x deployment then you shouldn’t have too many more things to sort out, but a few other fairly obvious ones to check (taken from the Upgrade Checklist document I linked above) are:


    • Note down all your database login credentials and ensure the vCenter database login has db_owner permissions.
    • Make sure your current installation path of vCenter does not have any commas or periods in it. (I assume this can cause trouble for the upgrade!)
    • Ensure your vCenter Server name is not longer than 15 characters and is registered correctly with your AD Domain’s DNS.
    • Ensure all required ports in/out of the vCenter server are open.
    • Make sure any additional plug-ins you use for vCenter Server are compatible with 5.0 – also make sure you re-enable or reconfigure these post-upgrade.
    • Make sure you know the rest of your hardware is compatible with vSphere 5.0! i.e. check your ESX / ESXi hosts are compatible and there will be no issues there. You can use the vCenter Host Agent pre-upgrade checker utility included with the vCenter 5.0 installation media for this.


At this point, if you are happy to proceed and have your backups safe, load up the installation media for vCenter 5.0 and begin the installer. Start the installation wizard for vCenter 5.0 – this wizard does a great job of guiding you through the upgrade process and asking what configuration options you would like. They are fairly straight forward – choose as applicable to your installation. I have captured screenshots of the installer process I followed for my lab – most options for me were fine to leave on their defaults. See the following series of screenshots:


The main vCenter 5.0 Installation menu


Using Windows Authentication for SQL server.


We are upgrading, so this is the obvious choice.


Automatic upgrade of vCenter agent on hosts.


Configure the vCenter server service account.


Configure your ports - in most cases these *should* be the defaults


More ports to configure...


Web Services JVM Memory Configuration - based on how many hosts you have


Increase ephemeral ports available if you have this VM Power on requirement!


After this wizard is completed the upgrade will begin. If applicable your vCenter database schema will also be upgraded and soon you’ll be up and running with vCenter 5.0. Note that this upgrade does require your vCenter service be down for the duration of the installer upgrade process – how long this is really depends on how big your vCenter DB is. My lab vCenter upgrade took about 25 minutes to run through, but its inventory is very small – for most production environments with up to 100 VMs or so I wouldn’t see this taking longer than 45-60 minutes in most cases, but remember its dependant on various other factors. Once the installer is finished, it would be a good idea to also update your vSphere client to access your vCenter server with – install the version that comes with your vCenter 5.0 installation media and login again. You should see your inventory as per usual and hopefully all will be well. One thing I noticed immediately following my upgrade was that I had an alert for my datastores – I blogged about this over here actually. This is only really applicable if you are running a lab environment (or small production) with only 1 or 2 shared datastores. Other than this, the rest of my VMs were all running happily on their respective ESXi hosts and everything else was just fine.


So coming up in Part 2, I will cover the next step in upgrading your environment to vSphere 5.0 – the ESX(i) hosts along with a couple of different methods of doing this. If there is anything that I have missed, or you have any tips or additional info, please feel free to update using the comments section.


More in this series:


Part 2 – Upgrading to vSphere 5.0 from vSphere 4.x – Part 2 – Manually upgrading ESX(i) hosts
Part 3 – Upgrading to vSphere 5.0 from vSphere 4.x – Part 3 – Using VUM to upgrade ESX(i) hosts

12 thoughts on “Upgrading to vSphere 5.0 from vSphere 4.x – Part 1 – vCenter Server”

  1. Thanks Chaminda,

    Thanks for the link – I also recently remembered this great tool – which can also be used to check compatibility – http://partnerweb.vmware.com/comp_guide2/sim/interop_matrix.php – easy enough just to select Solution/Database Interoperability and select SQL Server 2005 from the list – we can see that it is compatible. I used this recently to find out if a SQL Server 2005 Standard 32-bit SP4 vCenter 4 Database would be compatible or not if it was upgraded.


  2. HI Sean,
    Once I moved the VIM_VCDB to another Temporary SQL Server, I have pointed the DSN to that SQL Server. I uninstalled the SQL Express 2005 from vCenter, then reboot it and I installed fresh SQL Standard 2008 R2 on the vCenter itself. After that I moved the VIM_VCDB “vCenter DB” to the vCenter VM reconfigured the DSN to point on localhost. The Service of the vCenter stopped in this stage. Hummmm, I was thinking what went wrong, then I have realized that the I have uninstalled the SQL 2005 Express I thought that linked with the VIM_VCDB attributes. I tried a bit with no success. I decided to uninstall the vCenter and reinstall it pointing it to the same DB. Reinstall success.

    After all this hassle, I upgraded from vCenter 4.1 to vCenter 5.0 pointing to the same DB.

    vCenter 5.0 now on SQL 2008 STD R2.

    I think there is no way to upgrade the SQL 2005 since the VIM_VCDB has a relationship attributes it. As I have tried upgrading the SQL Express 2005 to Express 2008 and I failed. I have tried upgrading the SQL 2005 Express to STN 2005, and not success. I have tried upgrading the SQL Express 2005 to SQL 2008 STD R2 with no success.

    This because the vCenter install the embedded SQL 2005 as 32bit and the Machine where the vCenter installed it has to be 64bit. Upgrading from SQL Express 2005 32bit VMWare embedded to SQL Express 2008 32bit, not possible because the Machine where the vCenter installed is 64bit. Installing 32bit.exe on 64bit.exe to upgrade a product that already installed, not possible.

    That’s why I went with the above configuration steps to get rid of from SQL Express to SQL Standard 2008 R2.

    All the best and hope someone else will benefit from it.


  3. Hi Hussain,

    Thanks for letting us know what your process was 🙂 I was a bit confused by the separation of your list of steps with the ========================== line, as there seems to be two different things you were doing there. What was the final list of steps you went with that worked in the end? Sorry I couldn’t get back to you on the SQL compatibility question yesterday – work was very busy and I didn’t get a chance in the evening either.

    Here is the answer (just for your interest as you are done upgrading now) – you can easily determine compatibility of various products with VMware products using this compatibility matrix – http://partnerweb.vmware.com/comp_guide2/sim/interop_matrix.php – it is a very handy and useful tool!


  4. Hi,

    I ended up doing the following;

    Backup the vCenter DB from Express 2005.
    Installed new SQL 2008 STD R2 in a new VM.
    Backup DB from 2005 Express.
    Created new DB with the same old name VIM_VCDB
    Restored to SQL STD 2008 R2 to the same destination VIM_VCDB
    Conifgured the DSN ODBC in the vCenter to point to vCenterSQL01 with the same DB Name VIM_VCDB..


    Uninstall the SQL Express 2005 in vCenter VM
    Install fresh SQL 2008 STD R2 in vCenter VM
    Backup the DB from vCenterSQL01
    Created new DB with the same name VIM_VCDB
    Restore DB VIM_VCDB to vCenter01 SQL 2008 R2.
    Configure the DSN ODBC to point to vCenter Server with SQL Native Client
    Upgrade vCenter from 4.1 to vCenter 5, yet to be done

    All the upgrade went fine. I encountered a small issue after uninstalling the SQL 2005 Express completely, and after I install the SQL 2008 R2 and restored the DB, when I attempted to start the service it was giving me error 1000 in the event viewer. Simple solution for this is to uninstall the vCenter, and reinstall it again pointing to the same DB.

    After that, I have upgraded to vCenter 5.0 upgrades went fine without any issue.



  5. Hi Sean,

    Thank you. But what about the support of SQL 2005 with vCenter5? I think it’s not supported, in the mean while during the upgrade the Database will be upgraded to v5, does that mean separate upgrade has to be done for the SQL from 2005 to 2008?

  6. Hi Hussain,

    In my lab upgrade (vSphere 4.1 to 5.0) my SQL Server 2005 Express SP3 instance remained the same – i.e. it was not moved to SQL Server 2008 Express. So it seems like no, it will not be automatically upgraded.

    Hope that helps.


  7. Hi, Thanks for this great info. what about the SQL 2005 Express which was installed with vCenter 4.1, does it going to be upgraded to SQL 2008 Express during the up-gradation to vCenter 5.0?


Leave a Comment