System Center 2012 Integration Guide - Virtual Machine Manager
This document is the first part of a collection of documents that will make up the System Center 2012 Integration Guide. The purpose of the Integration Guide is to provide an overview of each System Center component in its role as a programmable platform to be leveraged for the Microsoft Private Cloud. It is intended to provide an abstraction layer that guides partners and customers on their decision process for methods to build automated solutions across System Center components and between System Center and other systems.
This guide is a community project to analyze the different options for integration with the components of Microsoft System Center 2012. Please feel free to edit this document to improve its quality.
1 Product Overview
System Center 2012 – Virtual Machine Manager (VMM), including Service Pack 1 (SP1) is a management solution for the virtualized datacenter. It enables you to configure and manage your virtualization host, networking, and storage resources in order to create and deploy virtual machines and services to private clouds.
The following diagram shows the different technologies for integrating with VMM from other software, hardware, and System Center 2012 components. Each of these technologies is discussed in the following sections.
Product Documentation
2 Role in the Microsoft Private Cloud
The following table briefly introduces the capabilities that VMM provides as part of the Microsoft Private Cloud Reference Model. Further details are provided in Mapping Private Cloud Capabilities to the Microsoft Private Cloud Platform.
Layer | Description |
Service Delivery Layer | The primary function of VMM within the Services Delivery Layer is to provide an interface for end users to the core infrastructure. It provisions virtualized compute, storage, and network resources to meet their request. |
Infrastructure Layer | VMM is used to compose resources that build out the infrastructure layer components. It defines the physical resources in the Infrastructure Layer that will host the virtualized resources. |
Service Operations Layer | The Service Operations Layer includes all the routine administrative tasks performed on the private cloud infrastructure. VMM enables this layer by exposing its full functionality through cmdlets and its integration pack. |
Management Layer | VMM virtualizes the components of the Infrastructure Layer and is responsible for operations involving the management of virtual machine hosts, physical storage and networking. It turns the individual infrastructure components into a unified fabric. It provides the means to control virtual machines and monitor the current state of resources that comprise a workload. |
3 Programmability
3.1 Windows PowerShell Cmdlets
All VMM functionality is available through Windows PowerShell cmdlets. Cmdlets are used for both automation of administrative functions and are the primary means of integration from applications written with managed code.
VMM does not have an SDK that is used for external applications that require access to its data and functionality. If you have an application that requires access to VMM, then you should use the VMM cmdlets which expose all functionality and data held by VMM. In addition to the cmdlets being available for command line and script operations, they can also be called from applications written in languages such as C# and C++. In order to use PowerShell cmdlets from managed code, you use the PowerShell class which is part of the System.Management.Automation Namespace.
For the administrator, a complete scripting guide is available that provides guidance on performing VMM functions using Windows PowerShell cmdlets and scripts. The VMM Cmdlet Reference provides the help content for each of the cmdlets.
References
- Scripting in Virtual Machine Manager
- VMM Cmdlet Reference
- System.Management.Automation Namespace
- PowerShell class
3.2 Console Add-Ins
Console Add-Ins allow you to provide custom buttons in the ribbon bar of the VMM console. The button can either launch an external application or display a custom view in the console. This allows you to provide such functionality as launching an alternate console or providing data from a related management tool directly in the VMM console.
There are two kinds of Console Add-Ins. Simple Add-Ins launch an external application or URL. This can be implemented with an XML file that specifies the name and the path to the application to launch. User Interface Extensions allow you to display a custom view directly in the right pane of the VMM console. This requires the creation of a custom user interface using Windows Presentation Foundation.
Console Add-Ins require System Center 2012 Service Pack 1.
References
4 Integration Points
4.1 Storage
System Center 2012 fully automates the assignment of storage to a Hyper-V host or Hyper-V host cluster. In order to access a particular storage device in Windows Server 2008 R2, VMM storage automation uses Storage Management Initiative - Specification (SMI-S) providers for working with iSCSI and Fiber Channel storage devices. No additional software is required since Microsoft Storage Management Service installs with VMM. SMI-S is part of Microsoft’s standards based management.
Windows Server 2012 introduces a new WMI-based API called the Storage Management API (SMAPI) which allows you to work with direct attached storage, SMI-S, and a new provider model called Storage Management Provider (SMP). System Center 2012 Service Pack 1 (SP1) works with SMAPI, so it will support both SMI-S and SMP providers.
Partners that already have an SMI-S provider should continue to invest in SMI-S moving forward. SMI-S is supported with System Center 2012 and will continue to work Windows Server 2012 and System Center 2012 SP1. Partners that do not have any providers are encouraged to evaluate both SMI-S and SMP but only need to build one provider to work with System Center 2012. The same functionality in System Center 2012 is supported with either provider since SMAPI is the top level API surfacing the capabilities of the provider. From a VMM perspective, an SMI-S provider allows you to support the current versions of Windows Server and System Center in addition to future versions. SMP is only supported with Windows Server 2012 and System Center 2012 SP1.
The storage management service in Windows Server 2012 includes a cache that improves discovery performance with SMI-S providers. Any provider automatically takes advantage of this cache without any specific integration with it. There is no such cache available for SMP, and the provider would need to provide their own.
References
- Detailed guidance on creating providers is not publicly available. If you require such guidance, please contact vmmpartner@microsoft.com.
4.2 Load Balancers
If a load balancing device is integrated with VMM, then it can be automatically configured as a VMM resource. In order to work with a particular local balancer, VMM requires a Windows PowerShell module that provides the commands specific to the particular device. This module must be based on the interface for a load balancer in VMM. In order for a customer to use this particular module, the author must provide an installer that places the module on the VMM server and sets the required registry keys.
References
- Detailed guidance on creating and installing a custom module for a load balancer is not publicly available. If you require such guidance, please contact vmmpartner@microsoft.com.
4.3 Out of Band Management
Out of Band management (OOB) uses a dedicated management channel to access a system whether or not it is powered on or whether or not it has an operating system installed. With VMM, OOB can be used to discover a server for a bare metal installation, but it is most commonly used to power a system on and off in order to optimize power consumption in a VMM cluster.
VMM supports any OOB system that implements Intelligent Platform Management Interface (IPMI) or System Management Architecture for Server Hardware (SMASH). If a system already implements one of these interfaces, then no changes are required for it to be accessed by VMM. If it does not implement either of these but instead uses another interface, then they would need to create custom integration into VMM to access this interface.
References
- Detailed guidance on creating a custom OOB interface is not publicly available. If you require such guidance, please contact vmmpartner@microsoft.com.
4.4 Virtual Switch
Hyper-V in Windows Server 2012 has been updated to allow third parties to add functionality to virtual switches. Partners can create virtual switch extensions that provide such services as monitoring, filtering, or forwarding of packets received by the switch. In addition to the extension itself, the partner must provide support profiles that instruct VMM on how to configure the extension.
Virtual switch extensions require System Center 2012 Service Pack 1.
References
- Detailed guidance on creating a custom virtual switch extension is not publicly available. If you require such guidance, please contact vmmpartner@microsoft.com.
4.5 Virtual Gateway
Virtual Gateways in Hyper-V in Windows Server 2012 are similar to virtual switches in that they allow third parties to add additional functionality.
Virtual gateway extensions require System Center 2012 Service Pack 1.
References
- Detailed guidance on creating a custom virtual gateway extension is not publicly available. If you require such guidance, please contact vmmpartner@microsoft.com.
5 System Center Integration
5.1 Operations Manager
In System Center 2012, VMM integrates directly with Operations Manager in addition to using the System Center Monitoring Pack for System Center 2012 - Virtual Machine Manager for monitoring of the health of all resources in a VMM environment. This additional integration is what allows VMM to update Operations Manager with health and performance data of VMM managed resources. You can also manage the installation of management packs through VMM rather than performing this installation directly in Operations Manager as you do with the other components. Guidance on configuring this integration is provided in Configuring Operations Manager Integration with VMM.
VMM performs some actions using the Operations Manager SDK that are typically performed with management packs for other products. For example, several VMM objects are created without using object discoveries. One example of this is the Virtual Machine object. If you select this class in the Object Discoveries node in the Authoring workspace of the Operations Manager, no object discoveries are listed. Instead of relying on a discovery in the management pack, VMM creates these objects through the Operations Manager SDK whenever a new virtual machine is created or modified.
There is nothing that the vendor of resources that are used by VMM must do to have those resources discovered and monitored. If the resource is recognized by VMM, then it will be discovered and monitored by the monitoring pack. Vendors are still encouraged to create monitoring packs for their own resources though to provide any deep monitoring specific to their product. While the VMM monitoring pack may be able to identify that the resource is offline, it would be unable to provide detailed analysis to the root cause of the problem at potential remedies.
5.1.1 PRO-Enabled Monitoring Packs
Physical Resource Optimization (PRO) allows you to expose data collected by Operations Manager in the VMM console and to perform automated actions in response to particular conditions. For example, PRO can load-balance virtual machines between physical hosts when specific thresholds are exceeded, or it can migrate virtual machines to a host on a different physical computer after a hardware failure.
You implement PRO through the creation of a PRO-Enabled management pack. Management pack libraries that include base classes and modules required for this functionality are provided with the System Center Monitoring Pack for System Center 2012 - Virtual Machine Manager. Any alert targeted at a class based on one of the PRO classes will be raised in the VMM console as a PRO tip. The libraries also include modules that will run PowerShell scripts that you provide that will run in response to specified conditions.
You perform automated actions in a PRO-Enabled management pack by writing a PowerShell script that includes the process to run and then including that script in a Recovery in the management pack. The PRO management pack libraries include modules that can be used for this purpose.
Guidance on creating a PRO-enabled management pack for VMM 2012 is available at System Center 2012 - Virtual Machine Manager: PRO-Enabled Management Packs.
References
- Configuring Operations Manager Integration with VMM
- System Center Monitoring Pack for System Center 2012 - Virtual Machine Manager
5.2 Service Manager
Service Manager integrates with VMM through a System Center Virtual Machine Manager Connector that is created and configured in the Service Manager console. Most of the virtualization related data is discovered by Operations Manager through the System Center Monitoring Pack for System Center 2012 - Virtual Machine Manager and then imported into SCSM by an Operations Manager Connector. The function of the VMM Connector is to import library content that is not discovered by SCOM. Further information on the specific objects that are imported by the VMM Connector are discussed in the blog entry FAQ: What Classes of Objects Does the SCVMM–SCSM Connector Bring In?.
References
5.3 Orchestrator
The System Center Integration Pack for System Center 2012 Virtual Machine Manager includes activities that allow you to create a workflow in System Center 2012 Orchestrator that interacts with VMM. You can perform many of the functions that you can perform with Windows PowerShell cmdlets only within the context of an Orchestrator runbook.
The activities in the VMM Integration Pack connect from the runbook server to a computer with the VMM console installed using PowerShell Remoting. The VMM console and cmdlets do not need to be installed on the runbook server since the activities are able to use the cmdlets installed on the VMM console computer.
The VMM Integration Pack allows you to create one or more connections to VMM servers that can be used by its activities. Each connection holds the security configuration required to access a particular VMM server. You can create a runbook with multiple activities that share a single configuration so that you don’t have to maintain separate credentials and connections for each activity.
If you need to perform a VMM action from a runbook that doesn’t have an activity, then you write a script can using one or more of the VMM Windows PowerShell cmdlets and then run this script from a Run .NET Script activity. In this case, the VMM cmdlets would need to be installed on the runbook server. The script would also need to include a connection to the VMM server using the Get-VMMServer cmdlets. If the account used for the Orchestrator Runbook Service does not have authority to the VMM environment, then alternate credentials would need to be provided to this connection. In this case, the name and password could be stored as encrypted variables in Orchestrator so that they would not have to be hardcoded into the script.
References
- System Center Integration Pack for System Center 2012 Virtual Machine Manager
- System Center Virtual Machine Manager Activities