In this chapter, we will cover the following:
Understanding each component for a real-world implementation
Planning for High Availability
Designing the VMM server, database, and console implementation
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 for improving implementation and troubleshooting VMM.
As a reference, this book is based on the System Center 2012 R2 Virtual Machine Manager version.
The first version of VMM was launched in 2007 and was designed to manage virtual machines. The VMM 2012 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 that allows you to add or remove the 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 (host 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 that are tied together (for example, web frontend servers, application servers, and backend database servers). These services can be provisioned as simply as provisioning a VM, but they all should be provisioned 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.
The following figure highlights VMM Multivendor hypervisor support:

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 Assessment and Planning (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.
Tip
The MAP toolkit will assess your environment using agentless technology to collect data (inventory and performance) to provide reports. Server Consolidation, VMware Discovery , Microsoft Workload Discovery, and Microsoft Private Cloud Fast Track Onboarding Assessment are some of the useful reports that will enable your IT infrastructure planning. For more information, refer to http://social.technet.microsoft.com/wiki/contents/articles/1640.microsoft-assessment-and-planning-toolkit.aspx.
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, which are as follows:
Servers: These contain virtualization hosts (Hyper-V, VMware, and Citrix servers) and groups, Preboot eXecution Environment (PXE), update servers (that is, Windows Server Update Services), and other servers.
Networking: This contains the network fabric and devices' configuration (for example, gateways, virtual switches, and 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 the way 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 using MAP, as discussed earlier, and work on a detailed design document that covers the 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 the service deployment. It will also allow you to manage the public cloud (Azure).
System Center 2012 Virtual Machine Manager 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, centrally view and manage physical and virtual resources (for example, hosts, VMs, services, fabric, and library resources), and 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 the VMM management server as the heart, which means that you need to design your computer resources accordingly to accommodate such an important service.
Note
For High Availability (HA), VMM Management Server must be deployed as an HA service on Windows Server Failover Cluster. Note, though, that SQL Server, where the VMM database will be installed and the file share for the library share must also be highly available. For more information, check the Planning for High Availability recipe and Chapter 4, Installing a High Available VMM Server.
The following figure shows the Windows Failover Cluster Manager console. For HA, you will need to have at minimum two VMM servers on a cluster.
As is the best practice for medium and enterprise production environments, keep the VMM management server on a separate cluster from the production cluster, due to its crucial importance for your private cloud.
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 applications (SQL DAC), 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). This is especially important when you have multiple sites, and VMM will automatically select the right resource from a single reference object. This essentially enables one template that can reference an object that can be obtained from multiple locations.
You can also have application profiles and SQL profiles (answer files for the configuration of the application or SQL) to support the deployment of applications and databases to 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: The web-based Self Service Portal was removed from SC 2012 VMM.
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 the 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 App Controller: This provides a common self-service experience across private and public clouds that can help application owners 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 in order 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 the disk, tape, off premise, and 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 to manage client security and compliance to simplify and improve the 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 it offers a comprehensive view of the data center, 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 data center 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.
Windows Azure Pack (WAP) is an administrator portal to manage resources that integrate with System Center and Windows Server to provide a customizable self-service portal to manage services such as websites, Virtual Machines, and Service Bus; it also includes capabilities for automating and integrating additional custom services. For more information, refer to http://www.microsoft.com/en-us/server-cloud/products/windows-azure-pack/.
Service Reporting, an optional component of System Center 2012 R2, enables IT (particularly hosting providers) to create detailed views of the virtual machines' consumption of the resources (CPU, memory, storage, and networking) for each customer (tenant). For more information, refer to http://technet.microsoft.com/en-us/library/dn251058.aspx.
Although the domain controller is not part of the System Center family and 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.
Windows Server Update Service (WSUS) plays an important role with reference to the private cloud as it is used to update the Hyper-V hosts, library servers, or any other role 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, third-party hosters (that support Microsoft Hyper-V) 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 for the VMM Self-Service Portal since SC 2012 SP1 and it is the key for Cloud mobility.
The following table will guide you through choosing the System Center component that is necessary as per your deployment:
Note
Although Configuration Manager (SCCM) is not mentioned in the following table, it plays an important role when it comes to patching Virtual Machine and now you can use SCCM Task Sequence (TS), which is a new feature in SC 2012 R2, on a single process to deploy an OS to a Virtual Hard Disk. For more information, refer to http://technet.microsoft.com/en-us/library/dn448591.aspx.
You should also check Service Management Automation, which will enable Orchestrated offline VM Patching. For more information, refer to http://blogs.technet.com/b/privatecloud/archive/2013/12/07/orchestrated-vm-patching.aspx.
Scenarios |
Enabling technologies | ||||
---|---|---|---|---|---|
AppCtrl |
Operations Manager |
Orchestrator |
Service Manager |
VMM | |
The fabric provider | |||||
Bare Metal deploy |
√ | ||||
Integration with network and storage |
√ |
√ | |||
Host patching |
√ | ||||
Host Optimization/Power Optimization |
√ | ||||
Monitoring of the fabric |
√ |
√ | |||
Capacity reporting |
√ |
√ | |||
The service provider | |||||
Service templates (offerings) |
√ | ||||
Service and VM catalog |
√ |
√ |
√ | ||
Life cycle (create, upgrade, and retire) |
√ |
√ |
√ |
√ | |
Application and SLA monitoring |
√ | ||||
SLA and capacity reporting |
√ |
√ | |||
The service consumer | |||||
Request quote or capacity (cloud) |
√ |
√ |
√ | ||
Request/deploy VM |
√ |
√ |
√ |
√ |
√ |
Request/deploy service |
√ |
√ |
√ |
√ |
√ |
Quota enforcement |
√ |
√ | |||
Request approvals |
√ |
√ |
The Planning for High Availability recipe
Chapter 9, Integration with System Center Operations Manager 2012 R2
Chapter 10, Scripting in Virtual Machine Manager