11. Compute
Storage
(File/Block)
Network
Windows Server 2012 R2
Web Applications Remote Desktop Services
Networking Storage Management Active Directory
Virtualization with Hyper-V Availability / Scalability / Security
System Center 2012 R2
Service Provider Foundation API
OS & Application Monitoring
Automation & Self-Service
Infrastructure Provisioning
Foundation for Hosting Service Provider Offers
ISV Control Panels Custom Control Panels Service Management Portal
Service Management API (REST OData)
Windows Server 2012 R2
Provides the comprehensive, highly scalable platform
System Center
2012 R2
Provides the cost efficient, unified
management platform
Windows Azure Pack & Service Provider Foundation API
Provides standard management API
Web Hosting Database Hosting Desktop Hosting Application HostingVM Hosting
The Platform Designed for Hosting Service Providers
11
16. PDT workflow.xml
Contains all the logic for installing;
- Windows Server
- System Center
- Windows Azure Pack
Installer.ps1 knows nothing about deploying System Center
All “knowledge” is in Workflow.xml
Workflow.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
19. PDT variable.xml
<Components>
<Component Name="System Center 2012 R2 Virtual Machine Manager">
<Variable Name="SystemCenter2012R2VirtualMachineManagerProgramFiles" Value="D:Program FilesMicrosoft System Center 2012
R2Virtual Machine Manager" />
<Variable Name="SystemCenter2012R2VirtualMachineManagerAdminGroup" Value="CONTOSOVMM Admins" />
<Variable Name="SystemCenter2012R2VirtualMachineManagerBitsTcpPort" Value="444" />
<Variable Name="SystemCenter2012R2VirtualMachineManagerServiceAccount" Value="CONTOSO!vmm" />
<Variable Name="SystemCenter2012R2VirtualMachineManagerServiceAccountPassword" Value="Passw0rd!" />
</Component>
TIP;
Use cut and past from default xml to select what you need
Lookout for the XML format <start> </start>
28. PDT downloader.ps1
Remember!!! Downloader does NOT download:
• Windows Server 2012
• Windows Server 2012 R2
• System Center 2012
• System Center 2012 R2
• WebPI, WinZip or 7-Zip
Manual download or use your install media an place in the installer dir (as
defined in variable.xml)
http://blogs.technet.com/b/privatecloud/archive/2013/10/17/deployment-pdt-
update-for-system-center-2012-r2-now-available.aspx
29. Download all the bits – Downloader.ps1
Downloads…
System Center Components
Prerequisites e.g. -
SQL Native Client, Report Viewer, WSUS
SQL Server 2012 and SP1
SQL Server 2008 R2 and SP2
SharePoint 2010 Foundation
Windows Server 2012
Management Packs
Integration Packs
Extracts…
ISO – Windows Server 2012
RAR – System Center 2012 Components
Zip - SPModule
Runs…
ADKSetup.exe download
Configuration Manager setupdl.exe download
Self-extracting exe
Slipstreams…
SQL Server 2008 R2 SP2
Requires…
Windows Server 2012/Windows 8
WinRAR
Option…
Downloader.ps1 -DeploymentOnly
Restartable!
32. Install each server OS – VMCreator.ps1
Optional
PDT can use existing servers, physical or virtual, any virtualization platform
Requirements - Windows Server, Domain joined, WinRM enabled, administrator permissions
Specify count
How 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 administrators
33. PDT vmcreator
Runs first on the host in the powershell script.
When scripts are finish then the process still runs on the domain controller.
Look via connect in the Hyper-V host. Wait for scripts to finish before proceding with next
steps!!!!!! (IMPORTANT: If the Hyper-V host is not part of the domain, you’ll see some errors.
At that point cancel, attached the media with the Installer/Downloader bits and rerun
Installer.ps1)
35. Integrations
PDT completes all automatable component integration
App 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 Manager
Data Protection Manager Operations Manager
Notable missing integration…
Orchestrator Integration Pack Registration, Deployment and Configuration
36. Component Admin Groups
System Center components use different methods
Service Manager requires admin group specified at installation time
Orchestrator 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 server
37. Component Admin Groups – Variable.xml
<Components>
<Component Name="System Center 2012 SP1 Virtual Machine Manager">
<Variable Name="SystemCenter2012SP1VirtualMachineManagerAdminGroup" Value="CONTOSOVMM Admins" />
</Component>
<Component Name="System Center 2012 SP1 Orchestrator">
<Variable Name="SystemCenter2012SP1OrchestratorAdminGroup" Value="CONTOSOOrchestrator Admins" />
</Component>
<Component Name="System Center 2012 SP1 App Controller">
<Variable Name="SystemCenter2012SP1AppControllerAdminGroup" Value="CONTOSOAC Admins" />
</Component>
<Component Name="System Center 2012 SP1 Operations Manager">
<Variable Name="SystemCenter2012SP1OperationsManagerAdminGroup" Value="CONTOSOOM Admins" />
</Component>
<Component Name="System Center 2012 SP1 Service Manager">
<Variable Name="SystemCenter2012SP1ServiceManagerAdminRoleGroup" Value="CONTOSOSM Admins" />
</Component>
<Component Name="System Center 2012 SP1 Data Protection Manager">
<Variable Name="SystemCenter2012SP1DataProtectionManagerAdminGroup" Value="CONTOSODPM Admins" />
</Component>
<Component Name="System Center 2012 SP1 Configuration Manager">
<Variable Name="SystemCenter2012SP1ConfigurationManagerAdminGroup" Value="CONTOSOCM Admins" />
</Component>
</Components>
38. Advanced Configuration
Other components settings
Copy 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, Sequential
40. Getting SQL “right” – Variable.xml
<SQL>
<Instance Server "SCDB.contoso.com" Instance "MSSQLSERVER" Version "SQL Server 2012">
<Variable Name "SQLAdmins" Value "CONTOSOSQL Admins" />
<Variable Name "SQLInstallSQLDataDir" Value "E:Program FilesMicrosoft SQL Server" />
<Variable Name "SQLUserDBDir" Value "E:Program FilesMicrosoft SQL ServerMSSQL10_50.$InstanceMSSQLData" />
<Variable Name "SQLUserDBLogDir" Value "F:Program FilesMicrosoft SQL ServerMSSQL10_50.$InstanceMSSQLData" />
<Variable Name "SQLTempDBDir" Value "G:Program FilesMicrosoft SQL ServerMSSQL10_50.$InstanceMSSQLData" />
<Variable Name "SQLTempDBLogDir" Value "G:Program FilesMicrosoft SQL ServerMSSQL10_50.$InstanceMSSQLData" />
<Variable Name "SQLBackupDir" Value "E:Program FilesMicrosoft SQL ServerMSSQL10_50.$InstanceMSSQLData" />
</Instance>
</SQL>
44. Scale out roles – Variable.xml
<Roles>
. . .
. . .
<Role Name="System Center 2012 SP1 Orchestrator Primary Runbook Server" Server="OR1.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Orchestrator Standby Runbook Server" Server="OR2.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Orchestrator Standby Runbook Server" Server="OR3.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Service Provider Foundation Server" Server=“SPF1.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Service Provider Foundation Additional Server" Server=“SPF2.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Service Provider Foundation Additional Server" Server=“SPF3.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 App Controller Server" Server="AC1.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 App Controller Additional Server" Server="AC2.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 App Controller Additional Server" Server="AC3.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Operations Manager Management Server" Server=“OM1.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Operations Manager Additional Management Server" Server=“OM2.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Operations Manager Additional Management Server" Server=“OM3.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Service Manager Management Server" Server=“SM1.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Service Manager Datawarehouse Management Server" Server=“SM2.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Service Manager Additional Management Server " Server=“SM3.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Service Manager Additional Management Server " Server=“SM4.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Data Protection Manager Server" Server=“DPM1.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Data Protection Manager Server" Server=“DPM2.contoso.com" ></Role>
<Role Name="System Center 2012 SP1 Data Protection Manager Server" Server=“DPM3.contoso.com" ></Role>
</Roles>
45. Troubleshooting
Installer.ps1 logging
Logs to C:Users<username>AppDataLocalInstaller
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!
46. Troubleshooting
Installer.ps1
Remember host from where you run the installer.ps1 needs to
be part off the domain or is trusted by the domain.
Installer.ps1 does active directory checks before running
Error exceptions
Can not reach ….
47. Evaluation versus Licensed
PDT can deploy evaluation or licensed
Data Protection Manager media from Downloader.ps1 is evaluation only
All components can be switched to licensed
SQL Server – run setup.exe, switch edition, enter product key
Orchestrator – enter product key in Runbook Designer
Virtual Machine Manager – enter product key in console
App Controller - PowerShell
Operations Manager – PowerShell
Configuration Manager – run setup.exe and enter product key
Service Manager – tool from product support services only
Data Protection Manager – run setup.exe and enter product key
48. PowerShell Deployment Toolkit
Available on the TechNet Gallery
http://aka.ms/DownloadPDT
Documented 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
56. Do you have…?
• downloaded the BC1D.zip
• Unpacked it to C:Installer
• Created a Volume V: for the VMs?
Have you…
• Enabled Hyper-V?
• Create the Virtual Switch (VMSwitch)
• Set PowerShell Execution Policy
OPTIONAL!
EDIT VARIABLE.XML AND CUSTOMIZE
- Remove SC Components
- Change Role Location
- Modify Domain Name, etc
Note: if you are going to edit Variable.xml, we suggest
using PowerShell ISE or Visual Studio
57. If YES then let’s go!
• Open a PowerShell with Administrative Rights
• Navigate to C:Installer
• .Deploy.ps1
• Keep an eye on the console. Any errors?
Download the Build Cloud OS in ONE Day - Deployment Guide and follow it
60. Ah! DC01 is Running!
• Open the console
• Wait until is done
• Any errors? If so you may need to attach the Installer/Downloader
Media and rerun Installer.ps1 (it was automatically launched by
vmcreator.ps1)
• If you see “Windows License Expired” on the bottom right of the
Desktop:
• Open Admin CMD, run: “SLMGR /rearm” and REBOOT
• Do it for all created VMs
• You can issue slmgr.vbs at target a remote server:
• slmgr.vbs <TargetComputerName> /rearm
• Shutdown /m <TargetComputerName> /r /t 0
61. Deployment ongoing now. This will take a
while…
• Open the console
• Wait until is done
• Any errors? If so you may need to attach
the Installer/Downloader Media and
rerun Installar.ps1 (it was automatically
launched by vmcreator.ps1)
62. Done?
Use the Build Cloud OS in ONE Day - Deployment Guide and proceed with the excercises