PowerShell Deployment Toolkit Rob Willis Principal Program Manager Microsoft DCIMB361 Questions How many products make up System Center 2012 R2 Answer 1 How long does it take to deploy System Center 2012 ID: 157638
Download Presentation The PPT/PDF document "Automating System Center Deployment with..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Automating System Center Deployment with thePowerShell Deployment Toolkit
Rob WillisPrincipal Program ManagerMicrosoft
DCIM-B361Slide3
Questions
How many products make up System Center 2012 R2?Answer: 1How long does it take to deploy System Center 2012
R2?
Answer: Too long!
How many "screens" does an installation take including prerequisites and SQL Server?
Answer: I lost count somewhere around 500
How many post-setup integration tasks are there
?
Answer
: What on earth is post-setup integration?
Who’s afraid of XML
?
Answer:
Don’t worry, there may be some good news towards the end of this session!Slide4
Warning!
This session involves manually editing XML…
(again, there’s some good news coming!)Slide5
DemoFull deploymentSlide6
DemoHighly available scale out deploymentSlide7
DemoVMCreator with Active DirectorySlide8Slide9
Components
Windows Azure PackSlide10
Roles
Database Server
Management Server
Runbook
Server
Web
Service
Server
Runbook
Designer
Service Provider Foundation
Service Management Automation Web Service
Service Management Automation
Runbook
Worker
Service Reporting
Database Server
Datawarehouse
Server
Management Server
Reporting Server
Web Console
Server
Console
Database Server
Datawarehouse
Server
Management Server
Datawarehouse
Management Server
Portal Web Content Server
Portal SharePoint Web Parts Server
Console
Database ServerManagement Server
Database ServerManagement ServerConsole
Database ServerProvider ServerReporting ServerSite ServerConsole
Database ServerManagement ServerConsole
Windows Azure Pack
Database Server
Admin API Server
Tenant API
Server
Tenant Public API
Server
Admin Site Server
Admin Authentication Site
Server
Tenant Site Server
Tenant Authentication Site
ServerSlide11
Prerequisites
Server Roles and Features .NET Framework 3.51 .NET Framework 4.5
IIS Web Server
IIS Default Document
IIS Directory Browsing
IIS HTTP Errors
IIS Static Content
IIS HTTP Redirection
IIS HTTP Logging
IIS Request Monitor
IIS Tracing
IIS Static Content Compression
IIS Request Filtering
IIS Basic Authentication
IIS Windows Authentication
IIS .NET Extensibility 3.5
IIS .NET Extensibility 4.5
IIS ASP.NET 3.5
IIS ASP.NET 4.5
IIS ISAPI Extensions
IIS ISAPI Filters
IIS Management Console
IIS 6
Metabase
Compatibility
IIS 6 WMI Compatibility
IIS Management Scripts and
Tools
BITS IIS Server Extension
Management OData IIS Extension ASP.NET 4.5 .NET HTTP Activation 4.5 Windows Identity Foundation Process Model Configuration APIs Update Services API Update Services Console Remote Differential CompressionSQL Server 2008 R2 Database Engine Reporting Services Analysis ServicesSQL Server
2012 Database Engine Reporting Services Analysis Services.NET Framework 4.0 FullSQL Server 2008 R2 Native ClientSQL Server 2008 R2 Command Line UtilitiesSQL Server 2008 R2 Analysis Management ObjectsReport Viewer 2010 RedistributableReport Viewer 2008 SP1 RedistributableWindows Server Update Services 3.0 SP2Single Instance StorageSQL Server 2008 Native ClientWindows Identity Foundation 3.5Sync Framework Runtime 1.0Chart Controls
Filter Pack 2.0SQL Server 2008 Analysis Services ADOMD.NETServer Speech Platform RuntimeServer Speech Recognition Language en-USSQL Server 2008 R2 SP2 SharePoint Reporting ServicesSharePoint 2010Windows Automated Deployment KitWindows Management Framework 3.0WCF Data Services 5.0ASP.NET MVC 4SQL Server 2012 Native ClientSQL Server 2012 Command Line UtilitiesSQL Server 2012 Analysis Management ObjectsVisual C++ 2008 RedistributableSilverlightIs that all?!?Slide12Slide13
Installing System Center
Define your deploymentDownload all the bitsInstall each server OS
Create service accounts
Logon
to each server
Install prerequisites
Install SQL
Grant
services account
permissions
Install first server role
Install
other servers roles
Grant
component
admin permissions
Integrate components
Install console
Connect consoleInstall agentsFinally… manage somethingSlide14
Installing System Center
Define your deploymentDownload all the bits
Install each server OS
Create service accounts
Logon
to each server
Install prerequisites
Install SQL
Grant
services account
permissions
Install first server role
Install
other servers roles
Grant
component
admin permissions
Integrate components
Install consoleConnect consoleInstall agentsFinally… manage something
Run PDT Downloader
Run PDT
VMCreator
Run PDT Installer
Manage something!
Installing System Center with PDTSlide15
Installing System Center
Define your deploymentDownload all the bitsInstall each server OS
Create service accounts
Logon
to each server
Install prerequisites
Install SQL
Grant
services account
permissions
Install first server role
Install
other servers roles
Grant
component
admin permissions
Integrate components
Install console
Connect consoleInstall agentsManage something!Slide16
Define your deployment – Variable.xml
Specify global settingsUser and company nameInstaller service account and password
Source path
Optional – product keys
Specify settings for each component
Usually just service account and password
Specify servers for each role
Database roles must specify SQL instance name
Specify SQL settings for each instance
Version
Admin group
Installer.ps1 will validate all settings before deploymentSlide17
Define your deployment – a simple Orchestrator example
<
?
xml
version
=
"
1.0
"
encoding
=
"
utf-8
"
?
>
<
Installer
version
=
"
2.0
"
>
<
Variable
Name="SystemCenter2012ProductKey" Value=""
/> <Variable Name="SQLServer2012ProductKey" Value=""
/> <Variable Name="SQLServer2008R2ProductKey" Value="" />
<Variable Name
="RegisteredUser" Value=“Microsoft Corporation
" /> <Variable Name="RegisteredOrganization
" Value=“Microsoft Corporation" />
<Variable Name
=
"
InstallerServiceAccount
"
Value
=
"
CONTOSO\Installer
"
/>
<
Variable
Name
=
"
InstallerServiceAccountPassword" Value=“password" /> <Variable Name="SourcePath" Value="$SystemDrive\Temp" /> <Component Name="System Center 2012 R2 Orchestrator"> <Variable Name="SystemCenter2012R2OrchestratorServiceAccount" Value="CONTOSO\or" /> <Variable Name="SystemCenter2012R2OrchestratorServiceAccountPassword" Value=“password" /> </Component> <Roles> <Role Name="System Center 2012 R2 Orchestrator Database Server" Server="SCDB.contoso.com" Instance="MSSQLSERVER"></Role> <Role Name="System Center 2012 R2 Orchestrator Management Server" Server="OR1.contoso.com" ></Role> <Role Name="System Center 2012 R2 Orchestrator Primary Runbook Server" Server="OR1.contoso.com" ></Role> <Role Name="System Center 2012 R2 Orchestrator Web Components Server" Server="OR1.contoso.com" ></Role> <Role Name="System Center 2012 R2 Orchestrator Runbook Designer" Server="RD1.contoso.com" ></Role> </Roles> <SQL> <Instance Server="SCDB.contoso.com" Instance="MSSQLSERVER" Version="SQL Server 2012"> <Variable Name="SQLAdmins" Value="CONTOSO\SQLAdmins" /> </Instance> </SQL></Installer> Slide18
Installing System Center
Define your deploymentDownload
all the bits
Install each server OS
Create service accounts
Logon
to each server
Install prerequisites
Install SQL
Grant
services account
permissions
Install first server role
Install
other servers roles
Grant
component
admin permissions
Integrate components
Install console
Connect console
Install agents
Manage something!
Run PDT DownloaderSlide19
Download all the bits – Downloader.ps1
Downloads…Prerequisites e.g. - SQL Native Client, Report Viewer, WSUSSQL Server 2012, SP1, and CU8
SQL Server 2008 R2 and SP2
SharePoint 2010 Foundation
Management Packs
Integration Packs
Extracts…
Runs
…
ADKSetup.exe download
Configuration Manager setupdl.exe download
Self-extracting
exe
WebPI
for Windows Azure Pack Web Sites
Slipstreams
…
SQL Server 2008 R2
SP2
Requires…Windows Server 2012/Windows 8WinRAR or 7-Zip
Web Platform InstallerOption…Downloader.ps1 -DeploymentOnly
Restartable
!
Does not download…
Windows Server 2012
System Center Components
New! Warning messages for items not downloadedSlide20
DemoDownloaderSlide21
Installing System Center
Define your deployment
Install each server OS
Create service accounts
Logon
to each server
Install prerequisites
Install SQL
Grant
services account
permissions
Install first server role
Install
other servers roles
Grant
component
admin permissions
Integrate components
Install console
Connect console
Install agents
Manage something!
Run PDT Downloader
Run PDT
VMCreatorSlide22
Install each server OS – VMCreator.ps1
OptionalPDT can use existing servers, physical or virtual, any virtualization platformRequirements - Windows Server,
domain joined,
WinRM
enabled, administrator permissions
Specify countHow many servers are in your deployment?
Specify defaults
Hyper-V host, VM name, processor, memory, network adapter, OS disk, data disks, domain to join
Full example in default Variable.xml in PDT
Specify overrides per VM, if desired
e.g. Different Hyper-V hosts, VM name, memory, OS disk
VMCreator.ps1 will validate required resources for VM creation
Creates VM, joins domain, enables
WinRM
, add installer service account to administratorsSlide23
Install each server OS – Variable.xml
<
VMs
>
<
Count
>3</
Count
>
<
Default
>
<
Host
>
localhost
</
Host
>
. .
.
. .
.
<
VMName> <Prefix>
Server</Prefix> <Sequence>11</Sequence> </
VMName> <Processor>2</Processor> <Memory>2048</Memory
> <NetworkAdapter
> <OSDisk> <
Parent>D:\VHD\WS2012R2.vhdx</Parent> <Type>
Differencing</Type> </OSDisk>
. . .
. . .
</
Default
>
<
VM
Count
=
"
1
"
>
<
VMName
>
SQL01
</
VMName
> <Memory>8192</Memory> </VM> </VMs> Slide24
VMCreator with Active Directory
Single pass complete lab setupProcess…First VM created as domain controller for new Active Directory forest
Media copied to DC during virtual hard disk creation
All other VMs are created but wait for Active Directory setup to complete before starting
Once Active Directory setup is complete, DC waits for all other VMs to start and join domain
DC automatically runs Installer.ps1
Recommendation
Include minimum of 2 data disks with DC for Active Directory database and log filesSlide25
VMCreator with AD – Variable.xml
<
VMs
>
<
Count
>3</
Count
>
<
Domain
>
<
Name
>
contoso.com
</
Name
>
<
ServiceAccountOU
>
Services.HQ
</
ServiceAccountOU>
<GroupOU>Groups.HQ</GroupOU> </Domain> <Default
>. . . . . . </Default> <VM Count="1
"> <
VMName>DC01</VMName> <
DataDisks> <Count>2</Count>
<Format>VHDX</Format>
<
Size>2
</
Size
>
</
DataDisks
>
</
VM
>
</
VMs
>
Slide26
DemoVMCreator with Active DirectorySlide27
Installing System Center
Define your deploymentRun PDT Downloader
Run PDT
VMCreator
Create
service accounts
Logon
to each server
Install prerequisites
Install SQL
Grant
services account
permissions
Install first server role
Install
other servers roles
Grant
component
admin permissions
Integrate components
Install console
Connect console
Install agents
Manage something!Slide28
Logon to each server – Remote Installs
RequirementsRemoting - run command on a remote server
Credentials delegation – e.g. create
a database against a further remote server
Options for remote installs
WMI start process
WinRM
Requirements
Remoting
- run command on a remote server
Credentials delegation – e.g. create a database against a further remote server
Options for remote installs
WMI start process
WinRM
with
CredSSP
PSExec
Requirements
Remoting
- run command on a remote server
Credentials delegation – e.g. create a database against a further remote server
Options for remote installs
WMI start process
WinRM
with
CredSSP
PSExec
/s
Orchestrator Run Program
Orchestrator
Runbook
Server
Task SchedulerTask SchedulerRemotely register a task in task scheduler without a triggerStart the registered taskWait until the task completesSlide29
Installing System Center
Define your deploymentRun PDT Downloader
Run PDT
VMCreator
Create
service accounts
Run PDT Installer
Install
prerequisites
Install SQL
Grant
services account
permissions
Install first server role
Install
other servers roles
Grant
component
admin permissions
Integrate componentsInstall consoleConnect consoleInstall agents
Manage something!Slide30
Everything else! - Installer.ps1
Distributed Deployment ControllerManages validation, sequencing, dependenciesManages reboots where required
Gracefully handles cascading failures
Phases
For each server, simultaneously:
Administrators
Windows Roles and Features SQL Clusters – with dependencies between cluster nodes
SQL
Prerequisites
With cross server dependencies:
Roles
Integration and ConfigurationSlide31
The “Knowledge” in PDT – Workflow.xml
Installer.ps1 knows nothing about deploying System CenterAll “knowledge” is in Workflow.xmlWorkflow.xml defines everything we know about deploying System Center
Defines…
Roles
Requirements – validation, Windows roles and features, prerequisites
Dependencies on other roles Integrations between roles
Firewall
Installables
Downloads
Installs
Default settings – global, component, SQL
…and is completely extensible!Slide32
Validation
LocalValidates settings in Variable.xml for… FQDN, dependencies, role combinations, role instance count,
required variables, SQL instances, media
ActiveDirectory
Validates against Active Directory for…
Service accounts and passwords, other security principals - groups
Remote
Validates against target servers for…
Server exists, administrator access, clusters,
WinRM
, Task Scheduler,
credentials policy, operating system version, file access,
certificates, minimum memorySlide33
Integrations
PDT completes all automatable component integrationApp Controller
Virtual Machine Manager
Service Provider Foundation
Virtual Machine Manager
Virtual Machine Manager
Operations Manager
Service Manager
Service Manager
Datawarehouse
Operations Manager
Service Manager
Datawarehouse
Service Manager
Orchestrator
Service Manager
Configuration Manager
Service Manager
Operations Manager
Service Manager
Operations Manager Alerts
Service Manager Virtual Machine ManagerData Protection Manager Operations Manager…and many more related to Windows Azure Pack!Notable missing integration…Orchestrator Integration Pack Registration, Deployment and ConfigurationSlide34
Extenders – work with all PDT scripts
Extends Workflow.xml for custom rolesFilename must match Extender*.xml, and be in same location as Workflow.xml
Extender*.xml merged in memory with Workflow.xml
Extender entries are added at end of existing sections
New Installer.ps1 switch if defining new roles
Installer.ps1 -
SkipValidation
RolesCombination
Samples
Veeam
Management Pack for VMware
GridPro
Request Management for WAP
Operations Manager MPsSlide35
DemoExtendersSlide36
Network Load Balancing
Scale out for HTTP based rolesService Provider FoundationService Management Automation
Windows Azure Pack
Variables for NLB
<
rolename
>
NLBName
– FQDN name for the NLB role
<
rolename
>NLBIPv4 – IPv4 for the NLB, must be the same for all NLB roles on a server
<
rolename
>
NLBConfig
– True or False, determines if PDT configure NLB or not
External load balancers
Set
NLBConfig
to False, no IPv4 required
Requires appropriate DNS entries exist
VMCreator.ps1 with AD will create DNS records requiredSlide37
Network Load Balancing – Variable.xml
<Component
Name
="
System Center 2012 R2 Service Provider Foundation
"
>
. . .
. . .
<
Variable
Name
="
SystemCenter2012R2ServiceProviderFoundationServerNLBName
"
Value
="
SPF.contoso.com
"
/>
<
Variable
Name
="SystemCenter2012R2ServiceProviderFoundationServerNLBIPv4" Value="192.168.1.101" /> <Variable Name="SystemCenter2012R2ServiceProviderFoundationServerNLBConfig
" Value="True" /></Component> Slide38
Custom setup and post installer
Custom setupVMCreator.ps1 –Setup <path>Requires a folder with the name of the VM in <path>
Requires a PowerShell script with the name of the VM in that folder
Script will be run against that VM using
autologon
during initial VM startup
VMCreator.ps1 with AD – DC waits for custom setup to complete before running Installer.ps1
PostInstaller
PostInstaller.ps1 in same location as Installer.ps1
Automatically run after successful completion of Installer.ps1
Must use
remoting
for configuration of any systems other than the one running Installer.ps1Slide39
-MaxStage
Switch on Installer.ps1Limits deployment stage for partial deployment1Admin – Adds service accounts to local administrator groups
2ServerFeatures
–
Installs Windows Roles and Features
3SQLClusters
–
Installs SQL clustered instances
4SQL
–
Installs SQL standalone instances
5Prereqs
–
Installs prerequisites
6Roles
–
Installs roles
7Integration
–
Completes integration and configuration
Stages are cumulativeSlide40
GUIs!!!
Service Provider Operational Readiness KitDeveloped by Microsoft
service provider team
Available to service provider partners only
Delivered as a USB stick with all media
Limited to specific deployment scenarios relevant to service provider team
PDT GUI
Developed by a partner,
Elanity
Network Partner
UI for creation and editing of Variable.xmlSlide41
DemoPDT GUI
Benedict BergerSolutions Consultant / Microsoft MVPElanity Network Partner
bb@elanity.de
@Benedict_BergerSlide42
Component Admin Groups
System Center components use different methodsService Manager requires admin group specified at installation timeOrchestrator optionally allows admin group specified at installation time
Operations Manager, Virtual Machine Manager, App Controller use members of local administrators
Service Provider Foundation, Data Protection Manager use local administrators group
Configuration Manager uses account performing the installation
PDT optionally allows you to specify admin groups
Service Manager is only required group to be specified
Configuration Manager admin group requires Configuration Manager console to be installed
PDT configures consoles to connect to correct serverSlide43
More Advanced Configuration
Other components settingsCopy variable from Workflow.xml to Variable.xml
Existing SQL
No
validation – installer service account must have permissions
Getting SQL “right”
Specify file locations for database files, log files,
tempDB
SQL Clusters
Windows cluster and storage must be created first
Virtual Machine Manager Cluster
Windows cluster must be created first
Active Directory container must be created first, with permission for VMM service account
Scale Out Roles
First then additional, Concurrent, SequentialSlide44
Troubleshooting
Progress displaySaved to C:\Temp\Status.txt
Installer.ps1 logging
Logs to C:\Users\<username>\AppData\Local\Installer
Log file per target server in deployment
Unified log Installer.log
Note: Installer logs contain ALL command lines, with passwords removed
Component setup logging
Copied after deployment to C:\Temp\<GUID>\<ServerName>
Restarting deployment
Deployment can be restarted
Restarts do not redeploy anything that succeeded
Some failures are timeouts – restarts usually fix these
Be careful of reboots!Slide45
DemoIs it done yet?Slide46
Back to our questions…
How many products make up System Center 2012 R2?
Answer
: 1
How long does it take to deploy System Center 2012
R2?
Answer:
1 hour!
How many “screens” does an installation take including prerequisites and SQL Server?
Answer:
1… Variable.xml
How many post-setup integration tasks are there?
Answer:
It just doesn’t matter anymore
Who’s afraid of XML?
Answer:
Use SPORK or the PDT GUI!Slide47
PowerShell Deployment Toolkit
Available on the TechNet Gallery http://aka.ms/DownloadPDTDocumented through the Building Clouds blog
http://aka.ms/GetToKnowPDT
Don’t forget the YouTube video…
http://aka.ms/PDTVideo
Does not replace…
Configuration Manager software distribution
Virtual Machine Manager virtual machine creation
Virtual Machine Manager service deployment and servicing
…but solves the chicken and egg problem!Slide48
Come Visit Us in the Microsoft Solutions Experience!
Look for Datacenter and Infrastructure Management
TechExpo
Level 1 Hall CD
For More Information
Windows Server 2012 R2
http://technet.microsoft.com/en-US/evalcenter/dn205286
Windows Server
Microsoft Azure
Microsoft Azure
http://azure.microsoft.com/en-us/
System Center
System Center 2012 R2
http://technet.microsoft.com/en-US/evalcenter/dn205295
Azure Pack
Azure Pack
http://www.microsoft.com/en-us/server-cloud/products/windows-azure-packSlide49
Resources
Learning
Microsoft Certification & Training Resources
www.microsoft.com/learning
msdn
Resources for Developers
http://microsoft.com/msdn
TechNet
Resources for IT Professionals
http://microsoft.com/technet
Sessions on Demand
http://channel9.msdn.com/Events/TechEdSlide50
Complete an evaluation
and
enter to win!Slide51
Evaluate this session
Scan this
QR
code
to evaluate
this
session.Slide52
©
2014
Microsoft Corporation. All rights reserved. Microsoft, Windows,
and
other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.Slide53
ReferenceSlide54
Component Admin Groups – Variable.xml
<
Components
>
<
Component
Name
=
"
System Center 2012
R2
Virtual Machine Manager
"
>
<
Variable
Name
=
"
SystemCenter2012R2VirtualMachineManagerAdminGroup
"
Value
=
"
CONTOSO\VMM Admins" /> </Component>
<Component Name="System Center 2012 R2 Orchestrator"> <Variable
Name="SystemCenter2012R2OrchestratorAdminGroup" Value="CONTOSO\Orchestrator Admins" /> </Component
> <Component
Name="System Center 2012 R2 App Controller">
<Variable Name="SystemCenter2012R2AppControllerAdminGroup" Value=
"CONTOSO\AC Admins" /> </Component>
<Component Name
=
"
System Center 2012
R2
Operations Manager
"
>
<
Variable
Name
=
"
SystemCenter2012R2OperationsManagerAdminGroup
"
Value
=
"CONTOSO\OM Admins" /> </Component> <Component Name="System Center 2012 R2 Service Manager"> <Variable Name="SystemCenter2012R2ServiceManagerAdminRoleGroup" Value="CONTOSO\SM Admins" /> </Component> <Component Name="System Center 2012 R2 Data Protection Manager"> <Variable Name="SystemCenter2012R2DataProtectionManagerAdminGroup" Value="CONTOSO\DPM Admins" /> </Component> <Component Name="System Center 2012 R2 Configuration Manager"> <Variable Name="SystemCenter2012R2ConfigurationManagerAdminGroup" Value="CONTOSO\CM Admins" /> </Component> </Components> Slide55
Getting SQL “right” – Variable.xml
<
SQL
>
<
Instance
Server
=
"
SCDB.contoso.com
"
Instance
=
"
MSSQLSERVER
"
Version
=
"
SQL Server 2012
"
>
<
Variable
Name
=
"SQLAdmins" Value="CONTOSO\SQL Admins"
/>
<Variable Name=
"SQLInstallSQLDataDir" Value="
E:\Program Files\Microsoft SQL Server" />
<Variable
Name
=
"
SQLUserDBDir
"
Value
=
"
E:\Program Files\Microsoft SQL Server\MSSQL10_50.$Instance\MSSQL\Data
"
/>
<
Variable
Name
="SQLUserDBLogDir" Value="F:\Program Files\Microsoft SQL Server\MSSQL10_50.$Instance\MSSQL\Data" /> <Variable Name="SQLTempDBDir" Value="G:\Program Files\Microsoft SQL Server\MSSQL10_50.$Instance\MSSQL\Data" /> <Variable Name="SQLTempDBLogDir" Value="G:\Program Files\Microsoft SQL Server\MSSQL10_50.$Instance\MSSQL\Data" /> <Variable Name="SQLBackupDir" Value="E:\Program Files\Microsoft SQL Server\MSSQL10_50.$Instance\MSSQL\Data" /> </Instance></SQL>Slide56
SQL cluster using SMB storage – Variable.xml
<
Roles
>
<
Role
Name
=
"
System Center 2012
R2
Orchestrator Database Server
"
Server
=
"
ORDB.contoso.com
"
Instance
=
"
MSSQLSERVER
"
SQLCluster
=
"True"></Role></Roles>
<SQL> <Cluster Cluster="ORDB.contoso.com" Version
="SQL Server 2012"> <Variable Name="SQLAdmins" Value=
"CONTOSO\SQL Admins" />
<Variable Name="SQLAgtServiceAccount
" Value="CONTOSO\sql" />
<Variable Name="SQLAgtServiceAccountPassword"
Value="
password"
/>
<
Variable
Name
=
"
SQLServiceAccount
"
Value
=
"
CONTOSO\
sql
"
/>
<Variable Name="SQLServiceAccountPassword" Value="password" /> <Variable Name="SQLInstallSQLDataDir" Value="\\FS01\CLDB1\ORDB" /> <Variable Name="SQLUserDBDir" Value="\\FS01\CLDB1\ORDB\MSSQL11.$Instance\MSSQL\DATA" /> <Variable Name="SQLUserDBLogDir" Value="\\FS01\CLDB2\ORDB\MSSQL11.$Instance\MSSQL\DATA" /> <Variable Name="SQLTempDBDir" Value="\\FS01\CLDB3\ORDB\MSSQL11.$Instance\MSSQL\DATA" /> <Variable Name="SQLTempDBLogDir" Value="\\FS01\CLDB3\ORDB\MSSQL11.$Instance\MSSQL\DATA" /> <Variable Name="SQLClusterIPAddress" Value="192.168.1.226" /> <Variable Name="SQLClusterNetwork" Value="Cluster Network 1" /> <Variable Name="SQLClusterIPSubnet" Value="255.255.255.0" /> <Node Server="CLDB1A.contoso.com" Preferred="1"></Node> <Node Server="CLDB1C.contoso.com" Preferred="2"></Node> <Node Server="CLDB1B.contoso.com"></Node> </Cluster></SQL> Slide57
SQL cluster using SAN storage – Variable.xml
<
Roles
>
<
Role
Name
=
"
System Center 2012
R2
Orchestrator Database Server
"
Server
=
"
ORDB.contoso.com
"
Instance
=
"
MSSQLSERVER
"
SQLCluster
=
"True"></Role></Roles>
<SQL> <Cluster Cluster="ORDB.contoso.com" Version
="SQL Server 2012"> <Variable Name="SQLAdmins" Value=
"CONTOSO\SQL Admins" />
<Variable Name="SQLAgtServiceAccount
" Value="CONTOSO\sql" />
<Variable Name="SQLAgtServiceAccountPassword"
Value="
password"
/>
<
Variable
Name
=
"
SQLServiceAccount
"
Value
=
"
CONTOSO\
sql
"
/>
<Variable Name="SQLServiceAccountPassword" Value="password" /> <Variable Name="SQLInstallSQLDataDir" Value="H:\MSSQL11.$Instance\MSSQL\DATA" /> <Variable Name="SQLUserDBDir" Value="H:\MSSQL11.$Instance\MSSQL\DATA" /> <Variable Name="SQLUserDBLogDir" Value="I:\MSSQL11.$Instance\MSSQL\DATA" /> <Variable Name="SQLTempDBDir" Value="J:\MSSQL11.$Instance\MSSQL\DATA" /> <Variable Name="SQLTempDBLogDir" Value="J:\MSSQL11.$Instance\MSSQL\DATA" /> <Variable Name="SQLClusterIPAddress" Value="192.168.1.226" /> <Variable Name="SQLClusterNetwork" Value="Cluster Network 1" /> <Variable Name="SQLClusterIPSubnet" Value="255.255.255.0" /> <Variable Name="SQLClusterDisks"> <Value>`"Cluster Disk 1`" `"Cluster Disk 2`" `"Cluster Disk 3`"</Value> </Variable> <Node Server="CLDB1A.contoso.com" Preferred="1"></Node> <Node Server="CLDB1C.contoso.com" Preferred="2"></Node> <Node Server="CLDB1B.contoso.com"></Node> </Cluster></SQL> Slide58
Virtual Machine Manager cluster – Variable.xml
<
Components
>
<
Component
Name
=
"
System Center 2012
R2
Virtual Machine Manager
"
>
<
Variable
Name
=
"
SystemCenter2012R2VirtualMachineManagerServiceAccount
"
Value
=
"
CONTOSO\
vmm" /> <Variable
Name="SystemCenter2012R2VirtualMachineManagerServiceAccountPassword" Value=“password" /> <
Variable Name="SystemCenter2012R2VirtualMachineManagerVmmServerName" Value="VMM2.contoso.com" /> <
Variable Name="
SystemCenter2012R2VirtualMachineManagerTopContainerName" Value="CN=VMMDKM,DC=contoso,DC=com
" /> <Variable Name="SystemCenter2012R2VirtualMachineManagerVMMStaticIPAddress
" Value="192.168.1.230"/>
</
Component>
</
Components
>
<
Roles
>
<
Role
Name
=
"
System Center 2012
R2
Virtual Machine Manager Database Server
"
Server="VMMDB.contoso.com" Instance="VMMDB" SQLCluster="True"></Role> <Role Name="System Center 2012 R2 Virtual Machine Manager Cluster Active Management Server" Server="CLVMM2A.contoso.com" /> <Role Name="System Center 2012 R2 Virtual Machine Manager Cluster Passive Management Server" Server="CLVMM2B.contoso.com" /> </Roles>Slide59
Scale out roles – Variable.xml
<
Roles
>
. . .
. . .
<
Role
Name
=
"
System Center 2012
R2
Orchestrator Primary
Runbook
Server
"
Server
=
"
OR1.contoso.com
"
></
Role
>
<Role Name="System Center 2012 R2
Orchestrator Standby Runbook Server" Server="OR2.contoso.com" ></Role>
<Role Name="System Center 2012 R2 Orchestrator Standby Runbook Server" Server="OR3.contoso.com
" ></Role>
<Role Name="System Center 2012 R2 Service Provider Foundation Server
" Server=“SPF1.contoso.com" ></Role>
<Role Name="System Center 2012 R2
Service Provider Foundation Additional Server"
Server=“
SPF2.contoso.com
"
></
Role
>
<
Role
Name
=
"
System Center 2012
R2
Service Provider Foundation Additional Server
"
Server
=“SPF3.contoso.com" ></Role> <Role Name="System Center 2012 R2 App Controller Server" Server="AC1.contoso.com" ></Role> <Role Name="System Center 2012 R2 App Controller Additional Server" Server="AC2.contoso.com" ></Role> <Role Name="System Center 2012 R2 App Controller Additional Server" Server="AC3.contoso.com" ></Role> <Role Name="System Center 2012 R2 Operations Manager Management Server" Server=“OM1.contoso.com" ></Role> <Role Name="System Center 2012 R2 Operations Manager Additional Management Server" Server=“OM2.contoso.com" ></Role> <Role Name="System Center 2012 R2 Operations Manager Additional Management Server" Server=“OM3.contoso.com" ></Role> <Role Name="System Center 2012 R2 Service Manager Management Server" Server=“SM1.contoso.com" ></Role> <Role Name="System Center 2012 R2 Service Manager Datawarehouse Management Server" Server=“SM2.contoso.com" ></Role> <Role Name="System Center 2012 R2 Service Manager Additional Management Server " Server=“SM3.contoso.com" ></Role> <Role Name="System Center 2012 R2 Service Manager Additional Management Server " Server=“SM4.contoso.com" ></Role> <Role Name="System Center 2012 R2 Data Protection Manager Server" Server=“DPM1.contoso.com" ></Role> <Role Name="System Center 2012 R2 Data Protection Manager Server" Server=“DPM2.contoso.com" ></Role> <Role Name="System Center 2012 R2 Data Protection Manager Server" Server=“DPM3.contoso.com" ></Role> </Roles>