VMM Service Deployments in Depth: Deploying System Center Orchestrator as a Service Part 2 - Prerequisites

Quick Overview - Hello Again, during this post I will be detailing all prerequisites needed in order to configure and deploy a multi-tiered instance of System Center Orchestrator using the System Center Virtual Machine Manager Service Deployment capabilities.

In Post one of this series I’ve introduced the concept of Virtual Machine Manager Service Templates or Service Deployments and also introduced the example that I will be detailing in this and future posts. The initial post including a video demonstrating the end results of this service deployment and can be found here:


Service Deployment Prerequisites - With this post, the second in the series, I will begin detailing how this service template has been configured. More to the point, this post is all about pulling together the prerequisites. In order to achieve a service deployment similar to the example that I am working with the following items will be required:

  • SCVMM Virtual Hard Drive with SQL generalized and ready for deployment
  • SCVMM Virtual Hard Drive (without SQL)
  • SCVMM VM Template for each VHD/VHDX
  • The information necessary for the SQL deployment
  • Custom SCVMM Resource containing the System Center Orchestrator installation media
  • The commands / scripts required for an unattended installation of all Orchestrator components
  • The commands / scripts required for an unattended installation of only an Orchestrator Runbook server

Wowza – this is a lot of requirements, however no worries, I am confident that the time spent collecting these artifacts and creating / generalizing VHD’s will pay off with the ability to both mass deploy and repeatable deploy this service with only a few mouse clicks.

During the next few sections I will be examining each of these prerequisites.

Virtual Hard Drives, VM Templates, and SYSPREPED SQL Instance:

The example service deployment detailed in this blog series consist of two different VM tiers.

  • Tier One (VM1): All components of the Orchestrator application including the Orchestrator database, thus has a requirement of SQL server.
  • Tier Two (VM2 – VM5): Only the Orchestrator Runbook Server component and thus does not require a SQL Server installation.

Because of the SQL requirements, I have chosen to use the concept of VMM SQL Server Profiles, and two different Virtual Hard drives, one for each tier. There are other ways that this could be performed using only one hard drive and a scripted installation of SQL, however the method detailed here works very well.

I chose to create both my virtual hard drives and my VM Templates using Virtual Machine Managers ability to create a VM Template from an existing VM which coincidentally will also create the virtual hard drive. This process is documented in the following article:

Creating a VM Template - http://technet.microsoft.com/en-us/library/hh427282.aspx .

In the case of this example I have created two reference VM’s and performed the following on each.

Tier 1 VM Source: Because this tier will include a SQL Server installation, I’ve prepared the source VM with a SYSPREP copy of SQL 2012 SP1. The following steps were used to complete this task.

  • Deploy Standard VM with Windows 2012 R2
  • Prepare the VM with a SysPrep instance of SQL (This is an involved process so I have detailed it independently in the below section)
  • Applied all software updates to VM
  • Powered off the VM
  • Used the SCVMM create template from existing machine capabilities to create both a virtual hard drive from the VM as well as a VM Template

Tier 2 VM Source: This tier will not need a SQL instance. The following steps were used to complete this task.

  • Deployed a Standard VM with Windows 2012 R2
  • Installed .Net Framework 3.5
  • Applied all software updates to VM
  • Powered off the VM
  • Used the SCVMM create template from existing machine capabilities to create both a virtual hard drive from the VM as well as a VM Template

After completing these tasks I am left with two VHDX files in my VMM Library and also two VM Templates which takes care of the first three prerequisites on the list.

SQL SysPrep:

To Note – at this time VMM does not support creating SQL Profiles for SQL 2012 SP1. Features have been added to SQL 2012 SP1 CU2 around image preparation that may change this experience once SQL Server 2012 SP1 is supported for deployment using SQL Profiles by VMM.

When creating the Tier 1 VM image (see previous section) there is a requirement of preparing the Tier 1 reference VM with a SYSPREPED instance of SQL . More information can be found on performing this task at the following sites

TechNet - http://technet.microsoft.com/en-us/library/ee210664.aspx

For completeness sake I will walk though a few steps of this process here.

First thing first I have done is to copy the SQL media local to the reference VM image. I have placed this under a folder at the root drive names ‘source’. This can be placed in any location however we will need to take note of this location for later use.

Second: We can being the SQL installation / image preparation. This is very similar to a standard SQL installation however will be initiated using the options shown below.

Notice that when installing a reference instance of SQL 2012 that we have a limited set of features that can be added. Also notice that SQL Server Management Studio is not one of these features. If you would like to include SQL Server Management Studio, this will need to be performed post deployment which I will demonstrate later in this blog series. This experience may change once VMM supports SQL Server Profiles for SQL SP1.

During the image preparation wizard we will select an Instance ID. This information will be required when configuring the SCVMM service deployment.

Once completed, SQL Server is generalized and prepared (notice that the services are not actually installed on the sever). At this point we can continue preparing the reference VM for the VHDX and VM Template (as detailed in the previous section of this blog).

Custom VMM Resource Containing Orchestrator Media:

With our Virtual Hard Drives and VM Templates secure, we can now begin to collect the artifacts necessary for the application deployment side of this service deployment. In this case, before we can deeply Orchestrator we will need to stage the Orchestrator media somewhere that can be accessed during the VM / Service deployment. This could easily be an external to VMM share, however we have an additional option when using VMM to store media, scripts, and other resources directly in the VMM library. In order to do so we need to create a custom VMM Library resource. Once our Custom Resource has been created in the VMM Library it can be reference in service templates. To create a custom library resource complete the following:

  • Create a folder in the VMM Library Share that contains .CR in the folder name - for example OrchestratorR2.CR
  • Copy the desired contents to this folder (in this case the Orchestrator media)
  • Refresh the VMM Library

Once completed the following items can be observed: In the Custom Resource folder that was created a file named SCVMMCRtag.cr will be automatically created (screen shot 1), and our custom resource will be added to the VMM Library (screen shot 2)

SQL Management Studio:

Because of the SQL versioning limitation when using VMM SQL Server Profiles SQL Server Management Studio is not included in the prepared image of SQL Server. If you wish to use SQL Server Profiles and also desire to include SQL Server Management Studio with your deployments, this can be achieved using Post Deployment Scripts. This is an optional step, however one that I prefer. Being that we are just collecting prerequisites, at this point I will only be detailing the command necessary to install SQL Server Management Studio. In the following blog posting to this series I will be putting this command to use. 

I’ve gathered the following installation string from the following documentation: Install SQL Server From the Command Line .


Orchestrator All Components:

For Tier 1 of this service I will be installing all Orchestrator components on one VM. In order to do so I need the commands that will make this happen. The command line installation documentation for Orchestrator can be found here: Install Orchestrator with the Command Line .

The following command will install all Orchestrator components. Notice that there are several items that need replacement here (Key, ServiceUserName, ServicePassword, and DBServer). I will be discussing the configuration of these in the next posting of this blog series.

setup.exe /Silent /Key:<Insert Key> /ServiceUserName:<Insert Service Account> /ServicePassword:<Insert Service Account Password> /Components:All /DbServer:<Insert DB Server Name> /DbNameNew:Orchestrator /WebServicePort:81 /WebConsolePort:82 /OrchestratorRemote /UseMicrosoftUpdate:0 /SendCEIPReports:0 /EnableErrorReporting:never

Orchestrator Runbook Server:

Finally because Tier 2 of this service will contain only the Orchestrator Runbook Server component, we will need the commands necessary to install only this component, which can be seen below. The following items will require adjustment below, Key, ServiceUserName, ServicePasword and DBServer.

setup.exe /Silent /Key:<Insert Key> /ServiceUserName:<Insert Service Account> /ServicePassword:<Insert Service Account Password> /Components:RunbookServer /DbServer:<Insert DBServer> /DbNameExisting:Orchestrator /OrchestratorRemote /UseMicrosoftUpdate:0 /SendCEIPReports:0 /EnableErrorReporting:never


At this point we have gathered the prerequisites and in some cases created a few VMM resources that will be needed to pull this Service Template together. To recap these items are:

  • Tier 1 VHDX (Server 2012 R2 with Prepared SQL Instance)
  • Tier 2 VHDX (Server 2012 R2 with no additional components)
  • Template for the Tier 1 VM Deployment
  • Template for the Tier 2 VM Deployment
  • Custom VMM Library Resource containing the Orchestrator Media.
  • Commands necessary for an unattended deployment of SQL Server Management Studio (Optional)
  • Commands necessary for an unattended deployment of all Orchestrator components
  • Commands necessary for a deployment of only the Runbook Server Orchestrator component

Check back soon, in the next post of this series I will bring this together creating SQL and Application profiles that will be paramount to the deployment of this service.