In this chapter will cover the following recipes:
Understanding each component for a real-world implementation
Designing the VMM server, database, and console implementation
Planning for high availability
Specifying the correct system requirements for a real-world scenario
Licensing the System Center
Troubleshooting VMM and supporting technologies
This chapter has been designed to provide an understanding of the underlying Virtual Machine Manager (VMM) modular architecture, which is useful to improve implementation and when troubleshooting the VMM.
As a reference, this book is based on the System Center Virtual Machine Manager 2012 SP1 version.
The first version of VMM was launched in 2007 and was designed to manage virtual machines. The VMM 2012 SP1 version is a huge product change that will now give you the power to manage your own private cloud.
The focus of VMM 2012 is the ability to create and manage private clouds, retain the characteristics of public clouds by allowing tenants and delegated VMM administrators to perform functions, and abstract the underlying fabric to let them deploy the VM's applications and services. Although they have no visibility into the underlying hardware, there is a uniform resource pooling which allows you to add or remove capacity as your environment grows. VMM also supports private clouds across supported hypervisors, such as Hyper-V, Citrix, and VMware.
The main strategies of VMM 2012 are as follows:
Application focus: VMM abstracts fabric (hosts servers, storage, and networking) into a unified pool of resources. It also gives you the ability to use Server App-V to deploy applications and SQL Server profiles to deploy customized database servers.
Service consumer: One of the powerful features of VMM 2012 is its capability to deploy a service to a private cloud. These services are dependent on multiple VMs tied together (for example, web frontend servers, application servers, and backend database servers). They can be provisioned as simply as provisioning a VM, but all together.
Dynamic optimization: This strategy will balance the workload in a cluster, while a feature called power optimization can turn off physical virtualization host servers when they are not needed. It can then turn them back on when the load increases. This process will automatically move VMs between hosts to balance the load.
Multivendor hypervisor support: The list of managed hypervisors has been extended. VMM 2012 now manages Hyper-V, VMware, and Citrix XenServer, covering all of the major hypervisors on the market.

This is the first step. You need to do an assessment of your current environment to find out how and where the caveats are. You can use the Microsoft MAP toolkit (download it from http://www.microsoft.com/en-us/download/details.aspx?id=7826) or any other assessment tool to help you carry out a report assessment by querying the hardware, OS, application, and services. It is important to define what you can and need to address and, sometimes, what you cannot virtualize.
Currently, Microsoft supports the virtualization of all MS infrastructure technologies (for example, SQL, Exchange, AD, Lync, IIS, and File Server).
With the assessment report in hand, it is recommended that you spend a reasonable amount of time on the solution design and architecture, and you will have a solid and consistent implementation. The following figure highlights the new VMM 2012 features for you to take into consideration when working on your private cloud design:

In VMM, before deploying VMs and services to a private cloud, you need to set up the private cloud fabric.
There are three resources that are included in the fabric in VMM 2012:
Servers: These contain virtualization hosts (Hyper-V, VMware, and Citrix servers) and groups, PXE, update servers (that is, WSUS), and other servers.
Networking: This contains the network fabric and devices configuration (for example, gateways, virtual switches, network virtualization); it presents the wiring between resource repositories, running instances, VMs, and services.
Storage: This contains the configuration for storage connectivity and management, simplifying storage complexities, and how storage is virtualized. It is here that you configure the SMI-S and SMP providers or a Windows 2012 SMB 3.0 file server.
If you are really serious about setting up a private cloud, you should carry out a virtualization assessment and work on a detailed design document covering hardware, hypervisor, fabric, and management. With this in mind, the implementation will be pretty straightforward.
System Center 2012 will help you install, configure, manage, and monitor your private cloud from the fabric to the hypervisor and up to service deployment. It will also allow you to manage the public cloud (Azure).
System Center Virtual Machine Manager 2012 has six components. It is important to understand the role of each component in order to have a better design and implementation.
For small deployments, test environments, or a proof of concept, you can install all of the components in one server, but as is the best practice in the production environments, you should consider separating the components.
Let's start by reviewing each component of VMM 2012 and understanding the role it plays.
VMM console
This application connects to the VMM management server to allow you to manage VMM, to centrally view and manage physical and virtual resources (for example, hosts, VMs, services, the fabric, and library resources) and to carry out tasks on a daily basis, such as VM and services deployment, monitoring, and reporting.
By using the VMM console from your desktop, you will be able to manage your private cloud without needing to remotely connect it to the VMM management server.
The management server
The management server is the core of VMM. It is the server on which the Virtual Machine Manager service runs to process commands and control communications with the VMM console, the database, the library server, and the hosts.
Think of VMM management server as the heart, which means that you need to design your computer resources accordingly to accommodate such an important service. It is possible to run VMM 2012 as a highly available resource (clustered service or clustered VM).
Database
The database server runs SQL Server and contains all of the VMM data. It plays an important role when you have a clustered VMM deployment by keeping the shared data. The best practice is to also have the SQL database in a cluster.
VMM library
The VMM library servers are file shares, a catalog that stores resources, such as VM templates, virtual hard drive files, ISOs, scripts, and custom resources with a
.cr
extension, which will all be visible and indexed by VMM and then shared among application packages, tenants, and self-service users in private clouds.The library has been enhanced to support services and the sharing of resources. It is a store for drivers for Bare Metal deployments, SQL data-tier apps, and web deploy packages.
In a distributed environment, you can group equivalent sets of resources and make them available in different locations by using resource groups. You can also store a resource in a storage group that will allow you to reference that group in profiles and templates rather than in a specific virtual hard disk (VHD). VMM will automatically select the local resource.
You can also have application profiles and SQL profiles to support the deployment of applications and databases to a VM after the base image is deployed. Application profiles can be server App-V packages, web applications, or a SQL data-tier.
Self-Service Portal
It is a web-based Self-Service Portal, now removed from SC 2012 SP1, that lets self-service users launch and deploy VMs and services based on previous rules created by the VMM administrator.
VMM command shell
VMM is based on PowerShell. Everything you can do on the GUI, you can do by using PowerShell. VMM PowerShell extensions make available the cmdlets that perform all of the functions in VMM 2012.
As you may have noticed, although VMM management is the core, each component is required in order to provide a better VMM experience. In addition to this, for a real-world deployment, you also need to consider implementing other System Center family components to complement your design. Every System Center component is designed to provide part of the private cloud solution. The Microsoft private cloud solution includes the implementation of VMM 2012 plus the following utilities:
System Center 2012 Unified Installer: This is a utility designed to perform new, clean installations of all System Center 2012 components for testing and evaluation purposes only
System Center 2012 App Controller: This provides a common self-service experience across private and public clouds that can help application owners to easily build, configure, deploy, and manage services
System Center 2012 Configuration Manager: This provides comprehensive configuration management for the Microsoft platform that can help users with the devices and applications they need to be productive while maintaining corporate compliance and control
System Center 2012 Data Protection Manager: This provides unified data protection for the Windows environment, delivering protection and restore scenarios from disk, tape, off premise, and from the cloud
System Center 2012 Endpoint Protection: This is built on the System Center Configuration Manager and provides threat detection of malware and exploits as part of a unified infrastructure for managing client security and compliance to simplify and improve endpoint protection
System Center 2012 Operations Manager: This provides deep application diagnostics and infrastructure monitoring to ensure the predictable performance and availability of vital applications, and offers a comprehensive view of the datacenter, private cloud, and public clouds
System Center 2012 Orchestrator: This provides the orchestration, integration, and automation of IT processes through the creation of runbooks to define and standardize best practices and improve operational efficiency
System Center 2012 Service Manager: This provides flexible self-service experiences and standardized datacenter processes to integrate people, workflows, and knowledge across enterprise infrastructure and applications
When deploying System Center, there are some other systems and configurations you need to consider.
Although the domain controller is not part of the System Center family and it is not a VMM component, it plays an important role in the deployment of a private cloud as VMM requires it to be installed on a domain environment.
WSUS plays an important role with reference to the private cloud as it is used to update the Hyper-V hosts and library servers for compliance and remediation.
The App Controller provides a self-service experience through a web portal that can help you easily configure, deploy, and manage VMs and services across private and public clouds (Azure). For example, moving a VM from a private cloud to Azure, creating checkpoints, granting access, scaling out deployed services, and so on.
The App Controller is a replacement of the VMM Self-Service Portal in SC 2012 SP1.
The following table will guide you through choosing which System Center component is necessary as per your deployment:
Scenarios |
Enabling technologies | ||||
---|---|---|---|---|---|
AppCtrl |
Operations Manager |
Orchestrator |
Service Manager |
VMM | |
Fabric provider | |||||
Bare Metal deploy |
√ | ||||
Integration with network and storage |
√ |
√ | |||
Host patching |
√ | ||||
Host optimization / power optimization |
√ | ||||
Monitoring of the fabric |
√ |
√ | |||
Capacity reporting |
√ |
√ | |||
Service provider | |||||
Service templates (offerings) |
√ | ||||
Service and VM catalog |
√ |
√ |
√ | ||
Life cycle (create, upgrade, retire) |
√ |
√ |
√ |
√ | |
Application and SLA monitoring |
√ | ||||
SLA and capacity reporting |
√ |
√ | |||
Service consumer | |||||
Request quote or capacity (cloud) |
√ |
√ |
√ | ||
Request/deploy VM |
√ |
√ |
√ |
√ |
√ |
Request/deploy service |
√ |
√ |
√ |
√ |
√ |
Quota enforcement |
√ |
√ | |||
Request approvals |
√ |
√ |
The Planning for high availability recipe in this chapter
Chapter 7, Scripting in Virtual Machine Manager
Chapter 10, Integration with System Center Monitor 2012
When planning a VMM 2012 design for deployment, consider the different VMM roles, keeping in mind that VMM is part of the Microsoft private cloud solution. If you are considering a private cloud, you will need to integrate VMM with the other System Center family components.
Tip
By integrating VMM 2012 with Microsoft Server App-V, you can create application profiles that will provide instructions for installing Microsoft App-V applications, Microsoft Web Deploy applications and Microsoft SQL Server data-tier applications (DACs), and for running scripts when deploying a virtual machine as part of a service.
In VMM, you can create the hardware, guest operating system, SQL Server, and application profiles that will be used in a template to deploy virtual machines.
In VMM 2012, you can create a service as a set of related VMs that are configured and deployed together and managed as a single object (for example, a line of business applications that connect to SQL Server).
You can create a private cloud by combining hosts, even from different hypervisors (for example, Hyper-V, VMware, and Citrix), with networking, storage, and library resources.
To start deploying VMs and services, you first need to configure the fabric.
Create a spreadsheet with the server names and the IP settings, like seen in the following table, of every System Center component you plan to deploy. This will help you manage and integrate the solution:
Server name |
Role |
IP settings |
---|---|---|
Vmm-mgmt01 |
SCVMM Management Server 01 |
IP: 10.16.254.20/24 GW: 10.16.254.1 DNS: 10.16.254.2 |
Vmm-mgmt02 |
SCVMM Management Server 02 |
IP: 10.16.254.22/24 GW: 10.16.254.1 DNS: 10.16.254.1 |
Vmm-consol01 |
SCVMM Console |
IP: 10.16.254.50/24 GW: 10.16.254.1 DNS: 10.16.254.2 |
Vmm-lib01 |
SCVMM Library |
IP: 10.16.254.25/24 GW: 10.16.254.1 DNS: 10.16.254.2 |
w2012-sql |
SQL Server 2012 |
IP: 10.16.254.40/24 GW: 10.16.254.1 DNS: 10.16.254.2 |
The following rules need to be considered when planning a VMM 2012 SP1 deployment:
The computer name cannot contain the character string "SCVMM" (for example,
srv-scvmm-01
) and cannot exceed 15 characters.Your VMM database must use a supported version of SQL Server to perform a VMM 2012 deployment. Express editions of Microsoft SQL Server are no longer supported for the VMM 2012 database. For more information, check the system requirements specified in the Specifying the correct system requirements for a real- world scenario recipe in this chapter.
VMM 2012 does not support a library server on a computer that is running Windows Server 2003; it now requires Windows 2008 R2 as a minimum.
VMM 2012 no longer supports Microsoft Virtual Server 2005 R2 Hosts. If you are upgrading from a previous version of VMM that has Virtual Server hosts, they will be removed from the VMM 2012 database. If you do not want these hosts to be removed automatically, remove the hosts manually before you start the upgrade process.
Hosts running the following versions of VMware ESX and VMware vCenter Server are supported:
ESX 3.x
ESX 4.1
ESX 5.0, ESX 5.1
Upgrading a previous version of VMM to a highly available VMM 2012 requires additional preparation. See Chapter 5, Upgrading from SCVMM 2008 for this purpose.
If you're planning for high availability of VMM 2012, be sure to install SQL Server on a separate server as it cannot physically be located on the same server as your VMM 2012 management server.
The VMM management server must be a member of a domain. (This rule does not apply to the managed hosts, which can be on a workgroup.)
The startup RAM for the VMM management server (if running on a VM with dynamic memory enabled) must be at least 2048 MB.
VMM does not support DFS Namespaces (DFSN) or DFS Replication (DFSR).
VMM does not support file servers configured with the "case-insensitive option" for Windows Services for Unix, as the network filesystem case control is set to
ignore
. Refer to the Windows Services for UNIX 2.0 NFS Case Control article available at http://go.microsoft.com/fwlink/p/?LinkId=102944 to learn more.The VMM console machine must be a member of a domain.
For a complete design solution, there are more items you need to consider.
Storage classifications enable you to assign user-defined storage classifications to discovered storage pools for Quality of Service (QoS) or chargeback purposes.
Tip
You can, for example, assign a classification of Gold to storage pools that have the highest performance and availability, Silver for high performance, and Bronze for low performance.
In order to use this feature, you will need the SMI-S provider.
VMM 2012 SP1 can discover and communicate with SAN arrays through the Storage Management Initiative (SMI-S provider) and SMP provider.
If your storage is SMI-S compatible, you must install the storage provider on a separately available server (do not install VMM management server) and then add the provider to VMM management. If your storage is SMP compatible, it does not require a provider installation.
Tip
Each vendor has its own SMI-S setup process. My recommendation is to contact the storage vendor to ask for an SMI-S provider compatible with SCVMM 2012, which is currently Version 1.4.
CIM-XML is used by VMM to communicate with the underlying SMI-S providers since VMM never communicates with the SAN arrays themselves.
By using the storage provider to integrate with the storage, VMM can create LUNs (both GPT and MBR) and assign storage to hosts or clusters.
VMM 2012 also supports the SAN snapshot and clone feature, allowing you to duplicate a LUN through a SAN Copy-capable template to provide for new VMs, if you are hosting those in a Hyper-V platform. You will need to provision outside of VMM for any other VMs hosted with VMware or Citrix hosts.
This capability enables VMM 2012 to identify the hardware, install the operational system (OS), enable the Hyper-V role, and add the machine to a target-host group with streamlined operations in an automated process.
PXE capability is required and is an integral component of the server pool. The target server will need to have a baseboard management controller (BMC) supporting one of the following management protocols:
Enterprise and hosting companies will benefit from the ability to provide new Hyper-V servers without having to install the operational system manually on each machine. By using BMC and integrating with Windows Deployment Services (WDS), VMM deploys the OS to designated hosts through the boot from the VHD feature.
To ensure that users can perform only assigned actions on selected resources, create tenants, self-service users, delegated administrators, and read-only administrators in VMM using the VMM console, you will need to create Run As accounts to provide necessary credentials for performing operations in VMM (for example, adding hosts).
Run As accounts and Run As profiles are very useful additions to enterprise environments. These accounts are used to store credentials that allow you to delegate tasks to other administrators and self-service users without exposing sensitive credentials.
Note
By using Windows Data Protection API (DPAPI), VMM provides OS-level data protection when storing and retrieving the Run As account.
There are several different categories of Run As accounts:
Host computer: This is used to provide access to Hyper-V, VMware ESX, and Citrix XenServer hosts
BMC: This is used to communicate with BMC on the host computer, for out-of-band management
Network device: This is used to connect to network load balancers
Profile: This is to be used for service creation in the OS and application profiles as well as SQL and host profiles
External: This is to be used for external systems such as System Center Operations Manager
Only administrators or delegated administrators can create and manage Run As accounts.
When designing the VMM implementation, you need to plan which ports you are going to use for communication and file transfers between VMM components. Based on the chosen ports, you will also need to configure your host and external firewalls. See the Configuring ports and protocols on the host firewall for each SCVMM component recipe in Chapter 2, Installing SCVMM 2012.
The recommendation to get better performance is to create a big CSV volume instead of creating volumes based on the VHD purpose (for example, OS, data, and logs). The following figure shows both scenarios:

The best practice is to have a separate management cluster to manage the production, test, and development clusters.
In addition to this, although you can virtualize the domain controllers with Windows 2012, it is not the best practice to have all the domain controllers running on the management clusters, as the cluster and System Center components highly depend on the domain controllers.
The following figure shows a two-node management cluster, with System Center 2012 and SQL Server installed in separate VMs to manage the production cluster:

In a small environment , you can have all the VMM components located on the same server. A small business may or may not have high availability in place as VMM 2012 is now a critical component for your private cloud deployment.
Start by selecting the VMM server's location, which could be a physical server or a virtual machine.
You can install SQL Server on the VMM server as well, but as VMM 2012 does not support SQL Express editions, you will need to install SQL Server first and then proceed with the VMM installation.
If you are managing more than 10 hosts in the production environment, my recommendation would be to have SQL Server running on a separate machine.
It is important to understand that when deploying VMM in production environments (real-world scenarios), the business will require a reliable system that it can trust.
The following figure illustrates a real-world deployment where all VMM 2012 components are installed on the same VM and SQL is running on a separate VM:
.jpg)
I would recommend up to 50 hosts in a lab environment with SQL Server and all VMM components installed on a single VM. It will work well, but I would not recommend this installation in a production environment.
In a medium- or large-scale environment, the best practice is to split the roles across multiple servers or virtual machines. By splitting the components, you can scale out and introduce high availability to the System Center environment.
In the following design, you can see each component and what role it performs in the System Center Virtual Machine Manager environment:

When designing an enterprise private cloud infrastructure, you should take into consideration some key factors such as business requirements, company policies, applications, services, workloads, current hardware, network infrastructure, storage, security, and users.
Following is a sample of a real-world infrastructure that can support up to 3000 VMs and 64 server nodes running Windows 2012 Hyper-V.
The number of VMs you can run on an implementation like this will depend on some key factors. Do not take the following configuration as a mirror for your deployment, but as a starting point. My recommendation is to start understanding the environment, then run a capacity planner such as a MAP toolkit. It will help you gather information that you can use to design your private cloud.
I am assuming a ratio of 50 VMs per node cluster with 3 GB of RAM, configured to use Dynamic Memory (DM).
Servers
64 servers (4 clusters x 16 nodes)
Dual processor, 6 cores: 12 cores in total
192 GB RAM
2 x 146 GB local HDD (ideally SDD) in Raid 1
Storage
Switch and host redundancy.
Fiber channel or iSCSI
Array with capacity to support customer workloads
Switch with connectivity for all hosts.
Network
A switch with switch redundancy and sufficient port density and connectivity to all hosts. It provides support for VLAN tagging and trunking. NIC Team and VLAN are recommended for better network availability, security, and performance achievement.
Storage connectivity
If it uses a fiber channel: 2 (two) x 4 GB HBAs
If it uses ISCSI: 2 (two) x dedicated NICs (recommended 10 GbE)
Network connectivity
If it maintains a 1 GbE connectivity: 6 dedicated 1 GbE (live migration, CSV, management, virtual machines' traffic)
If it maintains a 10 GbE connectivity: 3 dedicated NICs 10 GbE (live migration, CSV, management, virtual machines' traffic)
The Planning for highly availability recipe
The Configuring ports and protocols on the host firewall for each VMM component recipe in Chapter 2, Installing SCVMM 2012
Rapid Provisioning of Virtual Machines Using SAN Copy Overview: http://technet.microsoft.com/en-us/library/gg610594.aspx
For more on Storage Management Initiative (SMI-S), refer to the following link: http://www.snia.org/ctp/conformingproviders/index.html
For more information on DPAPI architecture and security, visit the following link: http://go.microsoft.com/fwlink/p/?LinkID=213089
High availability is important when your business requires minimum or no downtime, and planning for it in advance is very important.
Based on what we learned about each component, we now need to plan the high availability (HA) for each VMM component.
Start by planning the HA for the core component, followed by every VMM component of your design. It is important to consider hardware and other System Center components, as well the OS and software licenses.
When planning for highly available VMM management servers, you should first consider where to place the VMM cluster. As per best practices, the recommendation is to install the VMM cluster on a management cluster. However, if you plan to install highly available VMM management servers on the managed cluster, you need to take into consideration the following points:
Only one highly available VMM management server is allowed per failover cluster.
Despite the possibility to have a VMM management server installed on all cluster nodes, only one node can be active at a time.
To perform a planned failover, use Failover Cluster Manager. The use of the VMM console is not supported.
In a planned failover situation, ensure that there are no running tasks on the VMM management server, as it will fail during a failover operation and will not automatically restart after the failover operation.
Any connection to a highly available VMM management server from the VMM console will be disconnected during a failover operation, reconnecting right after.
The failover cluster must be running Windows Server 2008 R2 or higher in order to be supported.
The highly available VMM management server must meet system requirements. For information about system requirements for VMM, see the Specifying the correct system requirements for a real-world scenario recipe in this chapter.
In a highly available VMM management deployment, you will need a domain account to install and run the VMM management service. You are required to use distributed key management (DKM) to store the encryption keys in Active Directory.
A dedicated and supported version of Microsoft SQL Server should be installed. For supported versions of SQL Server for the VMM database, see the Specifying the correct system requirements for a real-world scenario recipe.
The following sections are the considerations for SQL Server and the VMM library in an HA environment.
In an enterprise deployment of VMM, it is recommended that you have a SQL Server cluster to support the HA VMM, preferably on a cluster separated from the VMM cluster. VMM 2012 SP1 supports SQL Server AlwaysOn Availability Groups . The following link will show you a good example of how to set it up:
As the best practice in an enterprise deployment, a highly available file server for hosting the VMM library shares is highly recommended as VMM does not provide a method for replicating files in the VMM library, and they need to be replicated outside of VMM.
As a suggestion, you can use the Microsoft Robocopy tool to replicate the VMM library files if necessary.
In a real-world production environment, you need to specify a system according to the design and business requirements.
When specifying the hardware for your private cloud deployment, take into consideration future growth needs. It is also important to apply the latest OS and software updates.
Use the following tables to carry out an extensive documentation of the hardware and software requirements for your deployment.
Create a document that outlines every solution component, describing the system requirements, before starting to implement.
The following table shows the supported OS and servers for SC 2012 SP1:
Component |
OS/Server supported |
Version |
---|---|---|
VMM server |
Windows Server 2012 (Windows Server 2008 SP2/2008 R2/2008 R2 SP1 are not supported by VMM 2012 SP1) |
64 bit (Standard, Datacenter) |
VMM database |
SQL Server 2008 R2 SP1 or higher |
Standard, Enterprise, Datacenter |
SQL Server 2012, SQL Server 2012 SP1 | ||
VMM console |
Windows Server 2008 R2 SP1 |
64 bit (Standard, Enterprise, Datacenter) |
Windows Server 2012 | ||
Windows 7 SP1 |
x86 and x64 Enterprise, Ultimate | |
Windows 8 |
x86 and x64 | |
VMM library |
Windows Server 2008 R2 SP1 |
Standard, Enterprise, Datacenter (full installation or Server Core installation) |
Windows Server 2012 | ||
SC App Controller |
Windows Server 2008 R2 SP1 |
Standard, Enterprise, Datacenter |
Windows Server 2012 |
For any procedure that uses .vhdx
, the library server must be running on Windows Server 2012.
Hardware requirements
Following are the hardware requirements to consider when specifying your VMM environment. The minimum values are the Microsoft-recommended values.
Scenarios for up to 50 hosts, SMB environments, POC, and demos (all components installed on a single server)
Although for this type of scenario you can have SQL installed on the VMM management server, the recommendation is to have SQL Server installed on another server:
Hardware component
Minimum
Recommended
Processor
One Processor, 2 GHz (x64)
Dual processor, dual core, 2.8 GHz (x64) or higher
RAM
4 GB
6 GB *2
Hard disk space (recommended OS partition) *4
20 GB
40 GB or higher
Hard disk space (VMM components )*1 *4
80 GB *2
150 GB *2
Hard disk space (VMM library) *1 *4
As a minimum, I recommend 80 GB, taking into consideration some samples from real-world implementation, but it will vary depending on business requirements, on the number and size of the files stored, and especially when working with templates
Roles
VMM management
VMM library
VMM console
VMM Self-Service Portal
VMM database (SQL Server full version—Standard or Enterprise) *3
*1 Excluding OS partition
*2 With a full version of Microsoft SQL Server installed on the same server
*3 The recommendation is to have SQL Server installed on another server
*4 Recommended minimum total hard disk space for this deployment with full SQL: 270 GB
Scenarios for up to 150 hosts
In this scenario, the recommendation is to have each component installed on a separate server, especially the VMM library server. Although (and this is not recommended) you can install SQL Server on the VMM management server as well.
Hardware component
Minimum
Recommended
Processor
Pentium 4, 2 GHz (x64)
Dual processor, dual core, 2.8 GHz (x64) or greater
RAM
2 GB
4 GB *2 / 6 GB *3
Hard disk space *1
2 GB *2/ 80 GB *3
40 GB *2 / 150 GB *3
*1 Excluding OS partition
*2 Without a local VMM database (SQL Server installed)
*3 With a local VMM database (Microsoft SQL Server installed on the same server)
Hardware component
Minimum
Recommended
Processor
Pentium 4, 2.8 GHz
Dual core 64 bit, 2 GHz
RAM
2 GB
4 GB
Hard disk space*
80 GB
150 GB
* Excluding OS partition
Hardware component
Minimum
Recommended
Processor
Pentium 4, 550 MHz
Pentium 4, 1 GHz or higher
RAM
512 MB
1 GB
Hard disk space *
512 MB
2 GB
* Excluding OS partition
VMM library server
The minimum and recommended requirements for a VMM library server will be determined by the quantity and size of the files that will be stored.
Hardware component
Minimum
Recommended
Processor
Pentium 4, 2.8 GHz
Dual core 64 bit, 3.2 GHz or higher
RAM
2 GB
2 GB
Hard disk space
As a minimum, I recommend 80 GB, taking into consideration the following table that contains some samples of real image sizes. However, the recommended size will vary depending on business requirements and on the number and size of files stored, especially when working with templates.
ISOs
Image
ISO size
en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403
2.94 GB
Windows 2008 R2
en_install_disc_windows_small_business_server_2011_standard_x64_dvd_611535
6.35 GB
SBS 2001
en_office_professional_plus_2010_x86_515486
650 MB
Office 2010
VMM Self-Service Portal
The hardware requirements for the VMM Self-Service Portal are based on the number of concurrent connections that are maintained by the web server.
Scenarios for up to 10 concurrent user connections
Hardware component
Minimum
Recommended
Processor
Pentium 4, 2.8 GHz
Pentium 4, 2.8 GHz
RAM
2 GB
2 GB
Hard disk space*
512 MB
20 GB
* Excluding OS partition. Recommended OS partition: 40 GB.
Scenarios with more than 10 concurrent connections
Hardware component
Minimum
Recommended
Processor
Pentium 4, 2.8 GHz
Dual core 64 bit, 3.2 GHz or higher
RAM
2 GB
8 GB
Hard disk space *
10 GB
40 GB
* Excluding OS partition. Recommended OS partition: 40 GB.
Scenarios for more than 150 hosts
In this scenario, the recommendation is to have each component installed on a separate server.
Note
Also, as per best practice:
It is not recommended to run a local SQL Server when managing more than 150 physical hosts
Add one or more servers as library servers
Do not use the default library share on the VMM management server
Hardware component
Minimum
Recommended
Processor
Pentium 4, 2.8 GHz (x64)
Dual processor, dual core, 3.6 GHz or higher (x64)
RAM
4 GB
8 GB
Hard disk space*
10 GB
50 GB
* Excluding OS partition
Hardware component
Minimum
Recommended
Processor
Dual-Core 64-bit, 2 GHz
Dual core 64 bit, 2.8 GHz
RAM
4 GB
8 GB
Hard disk space *
150 GB
200 GB
* Excluding OS partition
Hardware component
Minimum
Recommended
Processor
Pentium 4, 1 GHz
Pentium 4, 2 GHz or higher
RAM
1 GB
2 GB
Hard disk space *
512 MB
4 GB
* Excluding OS partition
The minimum and recommended requirements for a VMM library server will be determined by the quantity and size of the files that will be stored.
Hardware component
Minimum
Recommended
Processor
Pentium 4, 2.8 GHz
Dual core 64bit, 3.2 GHz or higher
RAM
2 GB
2 GB
Hard disk space
As a minimum, I recommend: 80 GB*, taking into consideration the following table that contains some samples of real image sizes. However, the recommended size will vary depending on business requirements and on the number and size of files stored, especially when working with templates.
* Excluding OS partition
ISOs
Image
ISO size
en_windows_server_2008_r2_with_sp1_vl_build_x64_dvd_617403
2.94 GB
Windows 2008 R2
en_install_disc_windows_small_business_server_2011_standard_x64_dvd_611535
6.35 GB
SBS 2001
en_office_professional_plus_2010_x86_515486
650 MB
Office 2010
The hardware requirements for the VMM Self-Service Portal are based on the number of concurrent connections that are maintained by the web server.
Scenarios for up to 10 concurrent user connections
Hardware component
Minimum
Recommended
Processor
Pentium 4, 2.8 GHz
Pentium 4, 2.8 GHz
RAM
2 GB
2 GB
Hard disk space *
512 MB
20 GB
*Excluding OS partition. Recommended OS partition: 40 GB.
Scenarios with more than 10 concurrent connections
Hardware component
Minimum
Recommended
Processor
Pentium 4, 2.8 GHz
Dual core 64 bit, 3.2 GHz or higher
RAM
2 GB
8 GB
Hard disk space *
10 GB
40 GB
*Excluding OS partition. Recommended OS partition: 40 GB.
Software requirements
Following are the requirements for VMM management for SC 2012 SP1:
Software Requirement
Notes
Windows Remote Management (WinRM) 2.0
The WinRM service is set to start automatically (delayed start). If it is not configured in this way (manually modified or by GPO), you must configure and start it before installing VMM.
Microsoft .NET Framework 4.0, or Microsoft .NET Framework 4.5
Included in Windows Server 2012.
Microsoft .NET Framework 4.5 is available at http://go.microsoft.com/fwlink/p/?LinkId=267119.
Windows Automated Installation Kit (AIK)
To install the Windows AIK, you need to download the ISO from http://go.microsoft.com/fwlink/p/?LinkID=194654, burn the ISO file to a DVD or map the ISO if VMM is a VM and then install the Windows AIK.
Important
Windows ADK replaced Windows Automated Installation (Windows AIK) as a VMM prerequisite in VMM 2012 SP1.
A supported version of SQL Server (if you're installing SQL on the VMM management server)
See the table for the supported OSes and servers for SC 2012 SP1.
SQL Server 2012 Command Line Utilities
The SQLCMD utility allows users to connect to, send Transact-SQL batches from, and output row set information from SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, and SQL Server 2012 instances (http://go.microsoft.com/fwlink/?LinkID=239650&clcid=0x409)
Microsoft SQL Server Native Client
It contains runtime support for applications using native code APIs (ODBC, OLE DB, and ADO) to connect to Microsoft SQL Server 2005, 2008, 2008 R2, and SQL Server 2012. SQL Server Native Client is used to enhance applications that need to take advantage of new SQL Server 2012 features (http://go.microsoft.com/fwlink/?LinkID=239648&clcid=0x409)
The following table shows the requirement for the VMM console:
Software requirement
Notes
Windows PowerShell 2.0
Included in Windows Server 2008 R2 and Windows 7
At least Microsoft .NET Framework 3.5 Service Pack 1 (SP1)
On a computer running Windows 7, .NET Framework 3.5.1 will be installed by default
On a computer running Windows Server 2008 R2, if the .NET Framework 3.5.1 feature is not installed (does not installed by default), the VMM setup wizard will install it
The following table shows the requirement for the VMM library:
Software requirement
Notes
Windows Remote Management (WinRM) 1.1 or 2.0
Version 1.1 is included in Windows Server 2008
Version 2.0 is included in Windows Server 2008 R2
By default, the WinRM (WS-Management) service is set to start automatically (delayed start). If it is not configured in this way (manually modified or by GPO), it must be configured and started before the setup can continue
Download the Windows Automated Installation Kit (AIK) available at the following link:
System Center 2012 is licensed with two versions, Standard and Datacenter. The same capabilities across editions are differentiated only by virtualization rights. All System Center components are included in these two editions.
The license is now required only to manage endpoints. No additional licenses are required for management consoles and they are available exclusively with Software Assurance.
As part of the private cloud design solution, you need to define which license you will need, based on your solution design and business requirements.
Each license covers up to two physical processors. ECI requires a 25-license minimum initial purchase. A two-processor license targets the most common hardware configuration:
System Center 2012 Editions |
Datacenter |
Standard |
---|---|---|
Recommendation |
For highly virtualized environments |
For lightly- or non-virtualized environments |
Virtualization rights |
Unlimited |
Two operational systems |
Capabilities |
All SC components and all workload types |
All SC components and all workload types |
License type |
This covers up to two physical processors |
This covers up to two physical processors |
This recipe will take you through the process of troubleshooting VMM and its supporting technologies for a successful VMM deployment.
Having an understanding of the core technologies that VMM depends on in order to work correctly is the initial step to troubleshooting VMM:
WS Management (WinRM)
WMI
BITS
DCOM
WCF
Troubleshooting is never an easy task, but VMM 2012 provides tools and ways to help you find and remediate an issue.
Following are some techniques you can use to troubleshoot:
Event logs
A good starting point is to look at the event logs. Look for OS- and VMM-related errors or failures. A problem with the operational system (OS) or one of its core services could result or lead to a problem in VMM.
For example, if you are running SQL Server on the same server and it did not start, VMM management service will not start either and VMM operations will fail as a direct result of this. You can easily find this by looking for errors in the system or application logs, errors that would indicate, in this example, that the service is not running (for this example, you can also check
Services.msc
).VM manager log
When looking for VMM errors, it is recommended that you to look at the VM Manager log as well. To do so, perform the following steps on the VMM server running Windows 2012:
On the Server Manager window, click on Tools.
Select Event Viewer, expand Applications and Services logs, and then select the VM Manager log.
VMM installation-related troubleshooting logs
VMM records information about for the VMM agent installation. However, if the installation logging is not sufficient to determine the cause of failure, you can enable tracing by using the VMM MPS Reports tool and then restart the installation.
VMM server setup logging
Installation logs are written, by default, to the
C:\ProgramData\VMMLogs
hidden folder.VMM agent installation logging
When installing an MSI package, such as installing the VMM agent manually, you can enable logging using the following syntax:
msiexec /I <MSIPackageName.msi> /L*V <path\logfilename>.log
For example, using the syntax, we can come up with something like the following command:
msiexec /I "C:\setup\vmmAgent.msi" /L*V vmmagent.log
The local agent installation information is logged in the
C:\ProgramData\VMMLogs
hidden folders.Look for the logfile
vmmAgent.msi_<m-d-yyy_hh-mm-dss>.log
.Troubleshooting WinRM
A good understanding of what a successful installation log contains from a POC or a pilot environment is important to identify possible issues, especially if it appears when deploying VMM on a production environment, as you can then compare both logs.
Run the following command on the Hyper-V host:
winrm id
This should produce an output similar to the following output:
IdentifyResponse ProtocolVersion = http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd ProductVendor = Microsoft Corporation ProductVersion = OS: 6.1.7201 SP: 0.0 Stack: 2.0
If the result shows an error, run the following command for a quick configuration of WinRM:
winrm qc
If prompted, answer Yes
. You will receive a response like the following:
WinRM already is set up to receive requests on this machine. WinRM is not set up to allow remote access to this machine for management. The following changes must be made: Enable the WinRM firewall exception Make these changes [y/n]? WinRM has been updated for remote management. WinRM firewall exception enabled. WinRM can now be tested again by typing 'winrm id' as before
Now check the listener:
winrm enum winrm/config/listener
Run the following command on the VMM management server:
winrm id –r:http://HyperVHost.yourdomain.local:5985 –u:YOURDOMAIN\AdminUser
The result will be similar to the following result:
IdentifyResponse ProtocolVersion = http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd ProductVendor = Microsoft Corporation ProductVersion = OS: 6.1.7201 SP: 0.0 Stack: 2.0
Otherwise you will receive the following error:
Error number: -2144108526 0x80338012 The Client cannot connect to the destination specified in the request
This could indicate communication issues, so check your network, host firewall, and connectivity.
Most WinRM-related events appear in the system or application event logs. The Service Control Manager often contains the error, as the WinRM service has terminated or restarted for some reason.
During the VMM installation, you will get the following error:

To avoid this scenario, conduct the following checks:
Make sure you installed all of the prerequisites
Check the firewall rules and make sure the ports are configured correctly
Open the command prompt (Run as Administrator) and type the following command:
winrm qc -q winrm set winrm/config/service/auth @{CredSSP="True"} winrm set winrm/config/winrs @{AllowRemoteShellAccess="True"} winrm set winrm/config/winrs @{MaxMemoryPerShellMB="2048"}
You can check if the WinRM can communicate with OS WMI providers by running the following command:
winrm enum wmi/root/cimv2/Win32_ComputerSystem -r:http://servername:5985 [–u:YOURDOMAIN\AdminUser]
By running the following command, you can check if the WinRM can communicate with Hyper-V WMI providers:
winrm enum wmi/root/virtualization/msvm_computersystem -r:http://servername:5985 [–u: YOURDOMAIN\AdminUser]
Also, to check if the WinRM can communicate with the VMM agent WMI provider, run the following command:
winrm invoke GetVersion wmi/root/scvmm/AgentManagement -r:servername [–u:YOURDOMAIN\AdminUser] @{}
Following are the troubleshooting tools available for use:
Windows Management Instrumentation Tester (
wbemtest.exe
)The
wbemtest.exe
gives you the ability to query WMI namespaces on local or remote servers.Connecting to a namespace locally indicates that it is properly registered and accessible via the WMI service. By connecting to a remote server additionally, it also indicates that WMI connectivity between the two machines is working.
For more information about wbemtest, refer to the following website: http://technet.microsoft.com/en-us/library/cc785775.aspx
WMI Service Control Utility
This tool configures and controls the WMI service, allowing namespace permissions to be modified.
To open this tool, at the command prompt type the following command:
winmgmt.msc
Then perform the following steps:
Right-click on WMI Control (Local).
Select Properties.
Click on the Security tab and then select Root.
Click on the Security button to check the permissions.
BITS transfers files between machines, providing information about the operation's progress. The transfer can be asynchronous.
In VMM, BITS is used for encrypted data transfer between managed computers. Encryption is done by using a self-signed certificate generated when the Hyper-V host is added to VMM.
You can use BITSadmin to verify that BITS is working properly outside of VMM.
BITSadmin can be downloaded at http://msdn.microsoft.com/en-us/library/aa362813(VS.85).aspx.
You can also find some examples of BITSadmin at http://msdn.microsoft.com/en-us/library/aa362812(VS.85).aspx.
The following tools are used to collect data surrounding VMM issues:
VMM tracing tools
VMM tracing tools provide the ability to manage, collect, and view various traces and diagnostic information in a VMM environment:
Gathering trace information
When you face an issue and need to report it to Microsoft, you can gather the trace by performing the following steps:
In the VMM server, open the command prompt with administrative rights and type the following command:
logman create trace VMMDebug -v mmddhhmm -o %SystemDrive%\VMMlogs\DebugTrace_%computername%.ETL -cnf 01:00:00 -p Microsoft-VirtualMachineManager-Debug
Start the trace collection by executing the following command:
logman start VMMDebug
Next, try to reproduce the issue, and at the end stop the trace collection by executing the following command:
logman stop VMMDebug
Send the ETL file located in
%SystemDrive%\VMMlogs\DebugTrace_%computerna;me%.ETL
to Microsoft.Delete the debug information by executing the following command:
logman delete VMMDebug
The VMM TraceViewer utility
After gathering the trace, you can use TraceViewer on the traces. This tool converts the ETL binary trace logs into CAR files that can be viewed in both the TraceViewer and other trace parsing tools, and provides basic trace parsing.
To convert the ETL file:
In the TraceViewer, drag the trace file into the open pane.
Provide the location to where you want to save the CAR file. Once the file has been saved, TraceViewer will open the converted ETL file for analysis.
You can download the tool from https://connect.microsoft.com/site799/ Downloads.
The Configuring ports and protocols on the host firewall for each SCVMM component recipe in Chapter 2, Installing SCVMM 2012