Microsoft released System Center 2016 in October, and we, as administrators, have work to do. If we haven’t done so already, we need to start planning the transition of our current versions to the new release.
In this article, we are going to cover the step-by-step upgrade of a Virtual Machine Manager 2012 R2 to the latest VMM 2016. There are a couple of ways to do this, but we will keep it simple and migrate a VMM 2012 R2 Server with the database component hosted on a different server to a brand-new server running Windows Server 2016, VMM 2016 and SQL 2016.
The first step is to get the System Center 2016 bits. There is a trial version available, which we can download here.
Before starting the transition
Here is a checklist that must be done before starting the transition process. Make sure all of them are covered to avoid headaches during the process.
- Check the database information on VMM: (click on Settings and Database Connections)
- Check the service accounts being used for System Center Virtual Machine Manager Agent service
- Make sure that you have a backup of the VMM Database. (We will perform this step at the end of this article)
- VMM 2016 is only supported on Windows Server 2016
- SQL support starts with SQL 2012 SP2, but the newest versions are recommended (Microsoft documentation states that 2014 SP1 is recommend for best performance)
- Remove any integration with System Center Operations Manager
- Close all connections to the console
- Make sure that there are no jobs running on VMM console
Deploying SQL Server 2016
The SQL Server 2016 deployment process is slightly different from previous versions. For starters, the SQL Server Management Tools are no longer part of the feature selection during the installation and we need to install that on a different step.
The first step is to open the SQL media. Click on Installation and then New SQL Server stand-alone installation or add features to an existent installation.
The SQL deployment process can be summarized in these following steps:
1. In the Product Key page, enter the product key and click Next
2. Read the License Terms, and if you accept them, click on I accept the license terms and click Next
3. Global Rules: Check the status column — It should say Passed on all global rules. Click next.
4. Microsoft Update. Use Windows Update for SQL Server 2016. Click Next.
5. Product Updates. If there are updates available they will be listed. Click Next.
6. Install Rules. A new series of rules will be listed, and if we have only Passed and Warning status listed, we can continue by clicking Next
7. Feature Selection. The VMM requirement is simple. Just make sure Database Engine Services is selected, then click Next
8. Instance Configuration. Leave default settings (MSSQLServer instance) and click Next
9. Server Configuration. Leave default settings, and click Next
10. Database Engine Configuration. We should add the groups we want to be administrator on the new SQL Server. Make sure that the current user and the VMM Service account are part of that list. (We can configure that account at the database level as well)
11. Install. Click on Install and wait for the completion of the process.
12. Complete. The final page will display that the Database Engine Services, SQL Browser, SQL Writer, SQL Client Connectivity and SQL Client Connectivity SDK should have status Succeeded. Click Close.
The next step is to install the SQL Management Tools, which is the second option in the Planning area. That option brings the administrator to a web page to download and install the SQL Server Management Studio (SSMS). The installation process is simple; just leave default settings to complete the installation.
VMM 2016 prerequisites
Besides the SQL Server installation, there are some additional items that need to be installed on the new VMM 2016 server, as follows:
- Windows Assessment and Deployment Kit. Click here to download
- Microsoft ODBC Driver 11 for SQL Server. Click here to download
- Microsoft Command Line Utilities 13.1 for SQL Server. Click here to download
The installation of the first two items is straightforward. Just leave default settings and complete the installation.
During the Windows Assessment and Deployment Kit installation process, make sure that the only options selected are Deployment Tools and Windows Preinstallation Environment (Windows PE).
Migrating the VMM database
Now that we have the SQL Server and VMM prerequisites in place, our next step is to log on to the current VMM 2012 R2 server and perform a database backup. The backup process is simple: Log on the VMM Console, click Settings, and then click the Backup icon.
In the new page, specify the UNC Path to save a copy of the database. In our example here we created a Temp shared folder on the CATORVMM01 server. The result will be a backup file (.bak) on that location. That file must be copied over to the new VMM 2016 server.
To restore the database on the new VMM Server 2016, open the SQL Server Management Studio, right-click on Databases and click Restore Database…
In the new page, select Device and click … and select the .bak file that we copied from the previous step to this server. Now click OK to start the restore process. A dialog box informing that the restore was successful will be displayed.
Installing VMM 2016
At this point we have the new VMM 2016 server up and running with SQL Server 2016 installed on it. We have already restored the VirtualManagerDB database on it, and we also have all the prerequisites in place.
To install Virtual Machine Manager 2016 bits, we need to mount the DVD and follow these steps.
1. In the welcome page of the wizard, just click Install
2. In the Select Features to Install page, select VMM Management Server and click Next
3. In the Product Registration Information page, fill it out with your organization’s information and click Next.
4. In the Please Read This License Agreement page, if you are OK with the license agreement, check I have read, understood, and agree with the terms of the license agreement and click Next
5. In the Diagnostic and Usage Data page, just click Next.
6. In the Installation Location page, leave default settings, and click Next.
7. In the Database Configuration page — get ready for the most important part of our installation. We need to select the SQL instance that we installed (by default it is MSSQLSERVER) and select Existing database and select the VirtualManagerDB that we restored in the previous section. Click Next.
8. A new dialog box will pop up. You will see information that the VMM 2016 setup identified that the selected database was created on a previous version. Click Yes to upgrade it.
9. In the Configure Service Account and Distributed Key Management page, the recommendation is to use the same service account that was used in the previous VMM installation. Click Next.
10. In the Port Configuration page, leave default settings and click Next.
11. In the Library Configuration page, we have the option to select the folder that will host the Library share. Select the folder and click Next
12. In the Update Compatibility Report page, setup will inform you about some tasks to be performed after the upgrade. Just click Next.
13. In the Installation Summary page, a summary of all options selected so far will be listed. Click Install to start the installation process. It may take a few minutes.
The final page of the wizard should be similar to the image depicted below. And with that, we have completed the installation process of Virtual Machine Manager 2016.
Updating VMM agents
The final step to complete the transition is to update the VMM agent on the hosts. This can be easily completed by opening the VMM console, clicking on Fabric, and then on All Hosts. Right-click on each host and then click Update Agent.
Note: The Needs Attention warnings may take a while to show up after the VMM 2016 upgrade.
In the new window, use the Run as account that is able to update the VMM agent on the hosts and click OK.
Congratulations. You should be good to go.
4 thoughts on “Upgrading System Center VMM from 2012 R2 to 2016”
I decided to follow your method but didn’t want to remove the current SCVMM server just in case, since we are in a production environment.
At the end I had 2 VMM servers in the fabric tab of the 2016 SCVMM. I could find a powershell command to remove the VMM server, which is probably not available:)
However was able to review the tables in database and delete the old switched off VMM server. Not sure if its worth adding this to your doc.
Thanks for posting your saved a lot of time.
I noticed after upgrading to SCVMM 2016 that all previously defined Port-ACL’s didn’t transfer over. Is there a way to migrate them?
Hello, I have a question, in this guide where is the point when you uninstall old vmm 2012 server? maybe the server is not uninstalled and only power off?
Great document on how to upgrade SCVMM and the DB to 2016. Everything worked for me except for the last step, going into Fabric -> All Host -> Updating Agent. The option was greyed out. I realized that for some reason, the RunAs account password needed to be manually reentered. Once I did that, I was able to update the agent via the VMM console with no problems.