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.
For a complete design solution, there are more items you need to consider.
Storage providers – SMI-S and SMP
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:
Data Center Management Interface (DCMI) 1.0
Systems Management Architecture for Server Hardware (SMASH) 1.0
Intelligent Platform Management Interface
(IPMI) 1.5 or 2.0
HP Integrated Lights-Out (iLO) 2.0
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 in VMM
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.
Note
During the installation of the VMM management server, you will be requested to use distributed key management (DKM) to store encryption keys in Active Directory Domain Services (AD DS).
Ports communications and protocols for firewall configuration
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.
Note
Not all of the ports can be changed through VMM. Hosts and library servers must have access to the VMM management server on the ports specified during setup. This means that all firewalls, whether software based or hardware based, must be previously configured.
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:
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.
Medium and enterprise environments
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.
Private cloud sample infrastructure
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.
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
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)
System Center VMM 2012 SP1 introduced multitenancy. This is one of the most important features for hosting companies as they only need to install a single copy of System Center VMM, and then centralize their customer management, each one running in a controlled environment in their own domain.