
Planning and deploying SCVMM 2012 R2
System Center virtual machine manager is the heart of the solution and is responsible for delivering IaaS services for the Windows Azure Pack based cloud solution. SCVMM is responsible for provisioning and managing the life cycle of IaaS resources such as virtual machines, virtual networks and so on.
SCVMM manages not only the hypervisor and virtual machines resources but also is responsible for provisioning and managing network and storage resources for cloud virtual machines. SCVMM provides flexibility to integrate with third party network and storage providers for automated provisioning and management. In a nutshell, SCVMM is core resource provider for IaaS offerings for WAP cloud solution.
SCVMM comes as a part of system center suite. WAP communicates with SCVMM for IaaS services via SPF (Service Provider Foundation). In this section we will cover VMM architecture and deployment models along with installation walkthrough.
The VMM architecture and deployment model
VMM server is made up of multiple components which can be deployed together on a single server or on a different server in a distributed fashion to achieve scalability and availability. VMM requires a SQL Server database to store all configurations and run time data. Components of overall VMM working solutions are as follows:
- VMM Management Server: This server is responsible for the execution of all tasks SCVMM is participating in. It installs System Center Virtual Machine management services which communicates with all other system center VMM and non-system center components for provisioning and controlling the fabric. This can be protected from SPOF by deploying in HA mode on the top of Microsoft Failover Cluster.
- VMM Management Console: Management console is used by administrators for connecting to VMM management services and performing administrative tasks. It gets installed on VMM management server by default, you can also install it in your management endpoints for SCVMM administration. .
- VMM Database: VMM database is a Microsoft SQL Server provided database which stores VMM configuration such as hosts, networks, virtual machine, and so on, along with run time data. VMM is highly dependent on this database to function, it is highly recommended to protect this database using SQL HA techniques in production deployment.
- VMM library and library server: VMM library stores all resources that are used to deploy VMs or services. VMM library typically includes VHDs, templates, ISO files, network and storage profiles and so on. VMM library is stored in a file share hosted on a library server.
- VMM Agent: VMM agent is not a server component, it facilitates communication between hypervisor and VMM. VMM agent gets installed on hypervisor while adding hosts in VMM. It can also be manually installed in case of any isolated environmental restrictions.
All components here except VMM database (provided by SQL) are available in SCVMM 2012 R2 installation media.
VMM deployment models
SCVMM works on a distributed architecture which enables it to provide multiple flexible deployment options. Organizations can choose to increase components such as management server or library server for scalability needs. Majorly, SCVMM can be deployed in three ways:
- Standalone deployment: In standalone deployment all server components of VMM (VMM management server, VMM console, VMM library server and VMM SQL database) are installed on a single server. This deployment model facilitates a minimum deployment footprint and is suitable for test and non-production architectures. It doesn't provide any redundancy for any of the components.
- Distributed deployment: In a distributed deployment, organizations can choose to install a management server, library server and database server of three or more different servers to achieve availability and scalability. VMM database can be protected using SQL high availability techniques
- SCVMM in high availability mode: SCVMM supports deployment in cluster mode using Windows Failover Cluster. Virtual machine management server can be protected using HA deployment mode, along with protected DB using SQL HA techniques. This is recommended for production deployment eliminating any single point of failure.
Installing System Center Virtual Machine Manager 2012 R2
For the purpose of evaluation in this book, we shall be deploying VMM Management Server, VMM Console and VMM Library Server and share on a single machine. Cloud Management SQL database server shall be utilized for hosting VMM database.
Installation prerequisites
Multiple Active Directory accounts with specific permission are required for SCVMM to work. Let's have a look at the recommended accounts and permissions for SCVMM usage.
AD user account and group for SCVMM:

Add SCVMM admin and service account as a part of "scvmm-admin" security group
Software prerequisite
VMM takes care of installing most of the software prerequisites except Windows Access and development kit (Windows ADK) and SQL database related tools. Install the following components as a part of the software prerequisite for deploying System Center Virtual Machine Manager 2012 R2:
- Features from Windows assessment and development toolkit:
- Deployment tools
- Windows pre-installation environment (Windows PE)
- SQL Server connectivity tools:
- SQL Server 2012 command line utilities
- Microsoft SQL Server native client
Apart from installing, VMM has the following software components requirements which the setup takes care of during installation:
- Windows Remote Management (WinRM 2.0) Service
- Microsoft .NET framework 4 or 4.5
- Windows PowerShell 2.0
Note
Windows ADK can be download from media.
Installation procedure
For evaluation purposes, we shall be deploying VMM Management Server, VMM console and library server on a single machine.
- Download MS System Center 2012 R2 Virtual Machine Management installation media and mount on SCVMM VM.
- Execute the setup file from installation media and click Install.
- Select the VMM Management Server feature to install, it will automatically select VMM console as well.
- Enter the name and organization details along with the product key provided by Microsoft for your system center licenses. VMM will be installed in evaluation mode if no product key is specified. You can choose to provide the product key at a later stage as well, post installation.
- Accept the evaluation/product license terms and proceed further.
- Choose Yes or No to participate in the Customer Experience Improvement Program.
- Turn on or off for Microsoft Update, with turning it on you can update VMM using automatic updates.
- Specify the SCVMM installation location, by default it is in
C:\Program Files\Microsoft System Center 2012 R2\Virtual Machine Manager
. - Clicking Next will start the prerequisite check and will return with an error or warning if any of the prerequisites defined in the previous section aren't completed. Complete any pending prerequisites if any and proceed further.
- Provide the database configuration on this page. You can choose to use existing DB created in SQL instance for VMM or may choose to create a new database. Change the SQL port if changed in SQL post-installation tasks.
- Verify Database configuration and proceed further.
- Configure the service account for SCVMM services login. For SCVMM in HA mode, this has to be a domain account. Provide the location to store the Distributed Encryption key location in AD if deploying in HA mode. More on deployment in HA mode is covered in the next section.
- Customize network ports for SCVMM communication if required.
- Create a library share on the library disk and provide name and location. This will act as a SCVMM library which can be used to store resources such as VHDs, templates and so on. By default VMM setup takes
C:\Program Data\Virtual Machine Manager Library Files
as the library share location. - Review the installation configuration summary and start installation.
- Close the Wizard on successful installation.
Tip
VMM Installation logs are located at %SystemDrive%\ProgramData\ VMMLogs\
There is a known issue of installation failing while having—SCVMM in computer name of SCVMM server. You can try renaming the server by removing "-
" from hostname or changing it to scvmm
or any other characters.
Post-installation tasks
Following are the post installation tasks:
- Verify successful VMM installation by logging into VMM server using VMM console.
- Add SCVMM-admins group to SCVMM administrator in VMM console settings.
- Create RunAs accounts for hypervisor and more related operations.
- Update SCVMM with the latest updates and patches.
Highly available SCVMM architecture and deployment
As covered in VMM architecture and deployment models section, SCVMM can be deployed in high availability mode using Windows Server Failover Clustering. By deploying SCVMM in high availability mode on the top of Microsoft Windows Failover Cluster Services, it can be protected against both hardware and software level failures.
Deploying SCVMM management server in a cluster has some prerequisite which needs to be fulfilled:
- VMM Service Account: The Virtual Machine Management service on the SCVMM server must be configured to run with a domain account. You cannot use a local system account to run a VMM service in HA mode. This service account has to be a member of the local administrator's group on SCVMM server Windows.
- Container in Active Directory for Distributed Key Management: VMM stores all configurations and user account details such as RunAs account credentials in a SQL database. Credentials security is of utmost importance in every scenario, and SCVMM takes care of security by storing these credentials in encrypted form.
There are two ways to encrypt these credentials:
- DPAPI: DPAPI uses computer hardware ID (on which SCVMM is installed) to encrypt the credentials.
- DKM: In the case of DKM SCVMM, it stores the encrypted keys in a container in Active Directory. These encryption keys aren't tied to any physical parameter of any of SCVMM server.
In a clustered deployment, SCVMM Virtual Machine Management service shall be running on multiple nodes which make DPAPI encryption technique unusable. For cluster deployment DKM is mandatory to be used.
As a prerequisite of deploying SCVMM in a cluster, a container needs to be created in Active Directory prior to installing SCVMM. This container will be used to store the encrypted keys for various SCVMM credentials.
Steps to deploy a highly available VMM Management Server are as follows:
- Complete the prerequisite for VMM service account and AD container.
- Join VMM servers to Windows Server Failover Cluster.
- Execute the SCVMM installation setup; the setup automatically detects that setup is running on cluster node and gives the option to deploy VMM in highly available mode.
- Follow the SCVMM installation guidelines given in the last topic.
- Provide a cluster name and DKM container location when asked.
- Add other SCVMM node by executing the setup, the setup will automatically detect the cluster and SCVMM configuration deployed.
- Once deployed successfully, Failover Cluster Manager can be used to view cluster status and switch services as and when required.