build cloud os in one day belgium

63
Build Cloud OS in ONE Day Bart Roels Alexandre Verkinderen

Upload: alexandre-verkinderen

Post on 19-Jul-2015

119 views

Category:

Documents


2 download

TRANSCRIPT

Build Cloud OS in ONE Day

Bart Roels

Alexandre Verkinderen

www.mscloud.be

http://www.microsoft.com/hosting

Cloud OSmodule 1 Cloud OS Vision

Bart Roels

CUSTOMER

SERVICE PROVIDER

WINDOWS AZURE

1CONSISTENT

PLATFORM

unique

1 ConsistentPlatform

Windows Azure Services

Service ProvidersPrivate Cloud

Public Cloud

Microsoft Cloud OS Vision

Azure Virtual Machines

Windows Azure Services

Customer

ServiceProvider

Microsoft

ConsistentPlatform

ONE

Multi-Tenant

Unified Management

Flexible Deployment

Common Identity

Integrated Virtualization

Web Hosting Database Hosting Desktop Hosting Application HostingVM Hosting

The Platform Designed for Hosting Service Providers

10

ComputeStorage

(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 APIProvides standard management API

Web Hosting Database Hosting Desktop Hosting Application HostingVM Hosting

The Platform Designed for Hosting Service Providers

11

Cloud OSmodule 2 PDT

Alexandre Verkinderen

PDT a.k. powershell deployment toolkit

http://aka.ms/pdt http://aka.ms/pdtguide

PDT prerequisites

• Windows Server 2012• Windows Server 2012 R2• System Center 2012• System Center 2012 R2• WebPI, WinZip or 7-Zip

The Tool

• Source• Installer.ps1• Variable.xml• Workflow.xml• Downloader.ps1• VMCreator.ps1• Deploy.ps1• Customer Folders and Scripts

PDT workflow.xmlContains all the logic for installing;

- Windows Server

- System Center

- Windows Azure Pack

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, prerequisitesDependencies on other rolesIntegrations between rolesFirewall

InstallablesDownloadsInstalls

Default settings – global, component, SQL

PDT variable.xml

This files contains the logic for building the environment

PDT variable.xml<?xml version="1.0" encoding="utf-8"?><!-- 1st cut at minimizing VMs used --><Installer version="2.0"><Variable Name="RegisteredUser" Value="Microsoft Corporation" /><Variable Name="RegisteredOrganization" Value="Microsoft Corporation" /><Variable Name="InstallerServiceAccount" Value="CONTOSO\!Installer" /><Variable Name="InstallerServiceAccountPassword" Value="Passw0rd!" /><Variable Name="SourcePath" Value="$SystemDrive\Temp" /><Variable Name="Download" Value="S:\Installer2.6.2600" /> <Components>

PDT variable.xml<Components>

<Component Name="System Center 2012 R2 Virtual Machine Manager"><Variable Name="SystemCenter2012R2VirtualMachineManagerProgramFiles" Value="D:\Program Files\Microsoft System Center 2012

R2\Virtual Machine Manager" /><Variable Name="SystemCenter2012R2VirtualMachineManagerAdminGroup" Value="CONTOSO\VMM 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>

PDT variable.xml<Roles>

<Role Name="System Center 2012 R2 Virtual Machine Manager Database Server" Server="SCDB01.contoso.com" Instance="MSSQLSERVER"></Role>

<Role Name="System Center 2012 R2 Virtual Machine Manager Management Server" Server="VMM01.contoso.com"></Role><Role Name="System Center 2012 R2 Virtual Machine Manager Console" Server="VMM01.contoso.com"></Role>

</Roles>

PDT variable.xml<<SQL>

<Instance Server="SCDB01.contoso.com" Instance="MSSQLSERVER" Version="SQL Server 2012"><Variable Name="SQLAdmins" Value="CONTOSO\SQL Admins" /><Variable Name="SQLInstallSQLDataDir" Value="D:\Program Files\Microsoft SQL Server"/><Variable Name="SQLUserDBDir" Value="D:\MSSQL11.$Instance\MSSQL\Data"/><Variable Name="SQLUserDBLogDir" Value="E:\MSSQL11.$Instance\MSSQL\Data"/><Variable Name="SQLTempDBDir" Value="F:\MSSQL11.$Instance\MSSQL\Data"/><Variable Name="SQLTempDBLogDir" Value="F:\MSSQL11.$Instance\MSSQL\Data"/><Variable Name="SQLAgtServiceAccount" Value="CONTOSO\!sql" /><Variable Name="SQLAgtServiceAccountPassword" Value="Passw0rd!" /><Variable Name="SQLServiceAccount" Value="CONTOSO\!sql" /><Variable Name="SQLServiceAccountPassword" Value="Passw0rd!" />

</Instance></SQL>

PDT variable.xml<VMs>

<Count>3</Count><Domain><Name>contoso.com</Name><ServiceAccountOU>Services.HQ</ServiceAccountOU><GroupOU>Groups.HQ</GroupOU>

</Domain><Default><Host>Localhost</Host><VMFolder>f:\pdtdemo\vms</VMFolder><VHDFolder>f:\pdtdemo\VMs</VHDFolder><VMName><Prefix>WS12R2D</Prefix><Sequence>1</Sequence>

</VMName><Processor>2</Processor><Memory><Startup>1024</Startup><Minimum>512</Minimum><Maximum>2048</Maximum><Buffer>20</Buffer>

</Memory>

….

PDT variable.xml<NetworkAdapter>

<VirtualSwitch>CorpNet01</VirtualSwitch> <MAC><Prefix>00:15:5D:65:01:</Prefix><Sequence>4</Sequence>

</MAC><IP><Prefix>192.168.1.</Prefix><Sequence>4</Sequence><Mask>24</Mask><Gateway>192.168.1.4</Gateway><DNS>192.168.1.4</DNS>

</IP></NetworkAdapter><OSDisk><Parent>f:\pdtdemo\vmbasis\WS12R2D-G2.vhdx</Parent><Type>Differencing</Type>

</OSDisk>

…. Created via Convert-WindowsImage.ps1

PDT variable.xml<DataDisks>

<Count>1</Count><Format>VHDX</Format><Size>100</Size>

</DataDisks><DVD>False</DVD><AutoStart><Action>Nothing</Action><Delay>0</Delay>

</AutoStart><JoinDomain><Domain>contoso.com</Domain><Credentials><Domain>contoso.com</Domain><Password>Passw0rd!</Password><Username>!jd</Username>

</Credentials><OrganizationalUnit>Servers.HQ</OrganizationalUnit>

</JoinDomain><AdministratorPassword>Passw0rd!</AdministratorPassword><VMGeneration>2</VMGeneration><GuestServices>True</GuestServices>

</Default>

End of default settings

PDT variable.xml<VM Count="1">

<VMName>DC01</VMName><DataDisks><Count>2</Count><Format>VHDX</Format><Size>100</Size>

</DataDisks></VM><VM Count="2"><VMGeneration>2</VMGeneration><VMName>SCDB01</VMName><Memory><Startup>1024</Startup><Minimum>512</Minimum><Maximum>8192</Maximum><Buffer>5</Buffer>

</Memory><DataDisks><Count>3</Count><Format>VHDX</Format><Size>100</Size>

</DataDisks></VM>

generation

count

count

PDT variable.xml

Tip;

Check in the variable.xml

• The path to the files• Generation vm• Vm count• Roles

PDTSteps

1) .\downloader.ps1

2) .\vmcreator.ps1

3) .\installer.ps1

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

Download all the bits – Downloader.ps1Downloads…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!

PDT downloader.ps1

PDT vmcreator

Install each server OS – VMCreator.ps1

OptionalPDT can use existing servers, physical or virtual, any virtualization platform

Requirements - Windows Server, Domain joined, WinRM enabled, administrator permissions

Specify countHow many servers are in your deployment?

Specify defaultsHyper-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 creationCreates VM, joins domain, enables WinRM, add installer service account to administrators

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)

PDT installer

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 Manager

Data Protection Manager Operations Manager

Notable missing integration…Orchestrator Integration Pack Registration, Deployment and Configuration

Component Admin Groups

System Center components use different methodsService 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 groupsService 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

Component Admin Groups – Variable.xml<Components>

<Component Name="System Center 2012 SP1 Virtual Machine Manager">

<Variable Name="SystemCenter2012SP1VirtualMachineManagerAdminGroup" Value="CONTOSO\VMM Admins" />

</Component>

<Component Name="System Center 2012 SP1 Orchestrator">

<Variable Name="SystemCenter2012SP1OrchestratorAdminGroup" Value="CONTOSO\Orchestrator Admins" />

</Component>

<Component Name="System Center 2012 SP1 App Controller">

<Variable Name="SystemCenter2012SP1AppControllerAdminGroup" Value="CONTOSO\AC Admins" />

</Component>

<Component Name="System Center 2012 SP1 Operations Manager">

<Variable Name="SystemCenter2012SP1OperationsManagerAdminGroup" Value="CONTOSO\OM Admins" />

</Component>

<Component Name="System Center 2012 SP1 Service Manager">

<Variable Name="SystemCenter2012SP1ServiceManagerAdminRoleGroup" Value="CONTOSO\SM Admins" />

</Component>

<Component Name="System Center 2012 SP1 Data Protection Manager">

<Variable Name="SystemCenter2012SP1DataProtectionManagerAdminGroup" Value="CONTOSO\DPM Admins" />

</Component>

<Component Name="System Center 2012 SP1 Configuration Manager">

<Variable Name="SystemCenter2012SP1ConfigurationManagerAdminGroup" Value="CONTOSO\CM Admins" />

</Component>

</Components>

Advanced ConfigurationOther components settingsCopy variable from Workflow.xml to Variable.xml

Existing SQLNo validation – installer service account must have permissions

Getting SQL “right”Specify file locations for database files, log files, tempDB

SQL ClustersWindows cluster and storage must be created first

Virtual Machine Manager ClusterWindows cluster must be created firstActive Directory container must be created first, with permission for VMM service account

Scale Out RolesFirst then additional, Concurrent, Sequential

Example: Scale Out Domain Controllers

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>

SQL cluster using SMB storage – Variable.xml<Roles>

<Role Name="System Center 2012 SP1 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>

SQL cluster using SAN storage – Variable.xml<Roles>

<Role Name="System Center 2012 SP1 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>

Virtual Machine Manager cluster – Variable.xml

<Components>

<Component Name="System Center 2012 SP1 Virtual Machine Manager">

<Variable Name="SystemCenter2012SP1VirtualMachineManagerServiceAccount" Value="CONTOSO\vmm" />

<Variable Name="SystemCenter2012SP1VirtualMachineManagerServiceAccountPassword" Value=“password" />

<Variable Name="SystemCenter2012SP1VirtualMachineManagerVmmServerName" Value="VMM2.contoso.com" />

<Variable Name="SystemCenter2012SP1VirtualMachineManagerTopContainerName" Value="CN=VMMDKM,DC=contoso,DC=com" />

<Variable Name="SystemCenter2012SP1VirtualMachineManagerVMMStaticIPAddress" Value="192.168.1.230"/>

</Component>

</Components>

<Roles>

<Role Name="System Center 2012 SP1 Virtual Machine Manager Database Server" Server="VMMDB.contoso.com" Instance="VMMDB"SQLCluster="True"></Role>

<Role Name="System Center 2012 SP1 Virtual Machine Manager Cluster Active Management Server" Server="CLVMM2A.contoso.com" />

<Role Name="System Center 2012 SP1 Virtual Machine Manager Cluster Passive Management Server" Server="CLVMM2B.contoso.com" />

</Roles>

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>

TroubleshootingInstaller.ps1 loggingLogs 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 loggingCopied after deployment to C:\Temp\<GUID>\<ServerName>

Restarting deploymentDeployment can be restarted

Restarts do not redeploy anything that succeeded

Some failures are timeouts – restarts usually fix these

Be careful of reboots!

TroubleshootingInstaller.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 ….

Evaluation versus LicensedPDT can deploy evaluation or licensedData Protection Manager media from Downloader.ps1 is evaluation only

All components can be switched to licensedSQL 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

PowerShell Deployment ToolkitAvailable on the TechNet Gallery

http://aka.ms/DownloadPDT

Documented through the Building Clouds bloghttp://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

resourceshttp://blogs.technet.com/b/privatecloud/archive/2013/02/08/deployment-introducing-powershell-deployment-toolkit.aspx

http://blogs.technet.com/b/privatecloud/archive/2013/02/09/deployment-the-pdt-downloader.aspx

http://blogs.technet.com/b/privatecloud/archive/2013/02/18/deployment-the-pdt-vm-creator.aspx

http://gallery.technet.microsoft.com/scriptcenter/Convert-WindowsImageps1-0fe23a8f

http://social.technet.microsoft.com/wiki/contents/articles/22048.creating-system-center-vms-using-pdt-for-hybrid-scenario.aspx

https://github.com/ThojoUno/PDT/blob/master/Variable%28FullLabNoCM-DPM%29.xml

http://www.hyper-v.nu/archives/hvredevoort/2014/03/solving-a-failed-windows-azure-pack-installation-by-powershell-deployment-toolkit/

http://www.systemcentercentral.com/build-windows-azure-pack-2013-lab-using-pdt/

http://social.technet.microsoft.com/wiki/contents/articles/20689.windows-azure-pack-wapack-and-related-blogs-videos-and-technet-articles.aspx

http://social.technet.microsoft.com/wiki/contents/articles/21044.lab-deployment-guide-for-windows-azure-pack.aspx

http://www.windowsnetworking.com/articles-tutorials/cloud-computing/deploying-windows-azure-pack-part1.html

http://www.windowsnetworking.com/articles-tutorials/cloud-computing/deploying-windows-azure-pack-part2.html

http://www.windowsnetworking.com/articles-tutorials/cloud-computing/deploying-windows-azure-pack-part3.html?utm_source=WAzurePPipe&utm_medium=twitter

http://gallery.technet.microsoft.com/PowerShell-Deployment-f20bb605#content

http://www.petri.co.il/powershell-deployment-toolkit-variables-xml.htm#

http://blogs.technet.com/b/privatecloud/archive/2013/10/17/deployment-pdt-update-for-system-center-2012-r2-now-available.aspx

Cloud OSmodule 3 creating VHD from iso

Alexandre Verkinderen

Run PowerShell as admin

\>Get-ExecutionPolicy

If not RemoteSigned change it

\>Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Hands-on

http://gallery.technet.microsoft.com/scriptcenter/Convert-WindowsImageps1-0fe23a8f

.\Convert-WindowsImage.ps1 -ShowUi

Hands-on

.\Convert-WindowsImage.ps1 -SourcePathP:\Installer\WindowsServer2012R2\sources\install.wim -VHDPathD:\data\downloads\en-E-WS12R2D.vhdx -VHDFormat VHDX -Edition ServerDataCenterEval -VHDType Dynamic -SizeBytes 64GB

Built vm, vhdx, dynamic 64GB

Hands-on

Cloud OSmodule 4 Let’s BUILD!

Alexandre Verkinderen

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

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

Wait…

Wait a bit more…

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

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)

Done?

Use the Build Cloud OS in ONE Day - Deployment Guide and proceed with the excercises

Deployment Done