This is the version 2 of the Private Cloud lab step-by-step setup guide. Instead of using a single physical machine for DC+Storage+Management roles, the VMs are used instead for easy transfer to another hardware. Note: the guide is to illustrate the concepts only so it may not follow the best practices & guidance.

* 03 physical machines:

  • One 8GB RAM, install WS08R2 as workgroup, add HyperV role, add ProdLAN network using physical NIC, contains 02 VMs:
    • VM1 named HN-SRV-01: 1.5 GB RAM. DC + Storage roles. A second hard disk will be added to SCSI which is a fixed VHD.
    • VM2 named MGMT: 3 GB RAM. Will install SQL 2008 wSP1 for SCOM, VMM and VMM SSP roles.
  • Two Hyper-V members, named NODE1 & NODE2 (2 GB RAM each), running WS08R2 Enterprise wSP1, joined to the AD domain on the VM1

* A 4-port gigabit hub.

Part 0. Precheck

1. On the physical machines, install display driver (for using with projector)

2. Make sure to check all physical machines are using 1GB connections. Disable any DHCP server (if any) in the hub.

Part 1. VM1: DC promotion

- Win 2008 R2 Std with SP1 installation
- Activate
- Rename to HN-SRV-01
- Set ip (192.168.1.1) and time zone
- Promote to DC (mycompany.com.vn)
- Create a Domain User named "svcacct"
- Prepare CPU-busy.vbs and store it to c:\shared for later use.

Part 2. VM2: SCOM & VMM installation, SCOM-VMM integration, SSP portal installation on MGMT machine

1. WS08R2 Std wSP1 installation, rename to MGMT, set IP: 192.168.1.2, join to domain

2. Install SCOM 2007 R2:

- Server Manager, Features: Add Dot.Net framework 3.5

- Install SQL 2008 Std wSP1 with just Database, Analysis and Reporting services. Choose "Use the same account..." and enter "svcacct". Add Current User to DB & Analysis configuration screens.

- Use Server Manager, add "Web Server" role. The following Web Server Role Services should automatically be selected: Default Document, Directory Browsing, HTTP Errors, Request Filtering, Static Content. Click to select additional Role Services: ASP.NET, .NET extensibility, ISAPI Extensions, ISAPI Filters, Windows Authentication, IIS 6 Metabase Compatibility, IIS 6 WMI Compatibility.

- Install AJAX Extension 1.0 for ASP.NET 2.0 (or use pre-downloaded file ASP.NET AJAX extensions 1.0)

- Install Operations Manager 2007 R2: Management Group: MyCompany; SQL DB size: 500 MB; Management Server Action Account: MYCOMPANY\svcacct (the account used for agent push installation), then accept all defaults.

* Optional: Install Operations Manager 2007 R2 Reporting: Start SQL Reporting service if needed, launch Setup, type MGMT as the Root Management Server, Report DB: 500 MB, Data Warehouse Write Account & Data Reader Account: MYCOMPANY\svcacct

3. Install SCVMM 2008 R2 wSP1 x64: only VMM server component (not the Admin console yet), choose to "Install SQL 2005 Express Edition SP3", then accept all the defaults (ports 8100, 80, 443)
(Note: the SQL Express instance for VMM is named MICROSOFT$VMM$)

4. Install and configure SCOM & SCVMM integration:

- Open the SCOM console, Admin tab, import the required MPs for SCVMM integration:
+ Download & install these files "Windows Server Base OS System Center Operations Manager 2007 MP.msi", "Internet Information Services MP.msi" & "SQL Server Operations Manager 2007 MP.msi"  (or use pre-downloaded file OpsMgr2007R2_MP.iso)
+ Import the following MPs: "Microsoft.Windows.Server.2003 / 2008.Discovery / 2008.Monitoring/Library; "Microsoft.Windows.Internet Information Services.2003 / 2008 / CommonLibrary"; "Microsoft.SQLServer.2005.Discovery / Monitoring / 2008.Discovery / Monitoring / Library"
+ Optionally install the "Hyper-V Management Pack"
+ Go back to the Monitoring tab on SCOM console. Note: there is no SCVMM folder (only 10 folders).

- Insert SCVMM 2008 R2 media, select "Configure Operations Manager" option. Type MGMT for VMM server. This will install the SCVMM console and configure SCOM (the SCVMM MP is added to SCOM, and a folder named "Virtual Machine Manager 2008 R2" is added to the Monitoring tab of the SCOM console).

- Launch the SCVMM console (use localhost), go to the Administration tab, System Center, Operations Manager Server, right click, Modify, and type MGMT for the SCOM server name. Click the Diagram button (right below the Menu bar) --> the corresponding SCOM Diagram View of the whole Private Cloud will be shown (once all setup steps are done, you will see Node1, Node2, VM1, VM2, etc...). You may need to click the SCOM icon on the Taskbar to show the Diagram.

5. To install Self-Service Portal (SSP) 2.0 on the MGMT

a. Prerequisites installation:

a.1. "Message Queuing" installation:
In Server Manager, Features, install "Message Queuing Server" & "Directory Service Integration". (If MSMQ is installed on a DC, go to AD Users & Computers, View/Advanced Features, select Domain Controller server, prop, Security, Advanced, Add, (type) NETWORK SERVICE (Check Names), and tick Allow box for "Create MSMQ Configuration object")

a.2. Note: IIS 7 role, ASP.NET, Win Auth and IIS 6 MetaCompat items are already installed

b. SSP installation:
- Download SSP 2.0 (or use pre-downloaded file "VMM SSP 2.0.iso") and run SETUPVMMSSP.EXE.
- Choose to install both VMMSSP server and website components.

- Database server: type MGMT, click the "Get Instances" button to display "Default" in "SQL Server Instance" box.
- Account for server component: type svcacct, click "Test account" (on a DC, username/pwd incorrect error message may appear, configure that account to be a member of Local Admin group)
- List of data center admins: mycompany\administrator
- Application pool's identity: svcacct

c. Always check the Services snap-in to make sure 02 services "Virtual Machine Manager Self-Service Portal 2.0 / Helper" are started before proceeding. See the troubleshooting steps below (for "Settings/ Configure VM Templates" task for more information"

d. To open SSP portal: http://MGMT, and add this site to Trusted Zone and Favorite Bar.

e. SSP intial config:
- Settings/Configure DataCenter mgmt, Configure Data Center resources, VMMServer: MGMT.mycompany.com.vn; click Add Network, enter ProdLAN in both “Network Name” and “Hyper-V Network Name” boxes, click Submit; AD domain: mycompany.com.vn; click "Add an Environment" and type "My Demo Environment", click "Save and Close"
- Settings/ Configure VM Templates, click "Import template" (under Other Tasks). This error will be displayed "Could not contact the VMMSSP server. Please verify if the Virtual Machine Manager Self-Service Portal 2.0 service is running and try again". Solution: on the MGMT server, just add "mycompany\svcacct" to the Local Admin group, go to the Services snap-in, refresh and start the service "Virtual Machine Manager Self-Service Portal 2.0" and retry. The error disappears but you will not see any VMM library server to select. Solution: in VMM 2008 R2 console, Administration tab, User Roles, Administrator, properties, Members: add svcacct to that role then try again. You will now see MGMT.mycompany.com.vn in the library server drop-down list. Further SSP config will be done later.

f. Configure to allow "Domain Users" to connect to MGMT using Remote Desktop. Test RDP using mycompany\staff1. Open IE. Add http://MGMT, and add this site to Trusted Zone and Favorite Bar.

g. Optionally connect SCVMM to a standalone Hyper-V host to create a VM template.

h. Export HN-SRV-01 and MGMT VMs to a folder for easy transfer to other hardware. Create copies of "Virtual Machines" folder and config.xml file in these two VMs.


Part 3. Virtual storage preparation
- Using Hyper-V Manager, create a new fixed-size VHD of 21 GB (consuming 5 min), and store it into HN-SRV-01 folder, and attach it to the SCSI controller.
- Format the fixed disk as drive E:
- install MS iSCSI Software Target 3.3.16554 (freely downloaded from http://www.microsoft.com/download/en/details.aspx?id=19867, or use pre-downloaded file "MS iSCSITarget 3.3 for WS08R2.iso")
- right click iSCSI Targets, Create iSCSI Target, name PRIVATE-CLOUD. In iSCSI Initiators Identifiers screen, click Advanced, Add, choose IP Address, enter 192.168.1.11 then 192.168.1.12 and say Yes when asked to allow multiple initiators.
- right click Devices, Create Virtual Disk, File: e:\VHD\quorum.vhd, size 1,000 MB (1G), desc: Quorum, Access: PRIVATE-CLOUD.
- repeat for storage01.vhd size 20,400 MB (19.9G). Create storage02.vhd if free storage is available (for future Storage Quick Migration tests)

Part 4. Node1 & Node2 installation

1. Install WS08R2 Enterprise wSP1

- Activate, set time zone, configure IE ESC to Off (Enhanced Security Config)
- Rename network card name to NIC, set IP ( 192.168.1.11 & 12 and default gateway: 192.168.1.10)
- Rename to NODE1, NODE2 while joining to the AD domain, restart and remember to logon as Domain Administrator.

- Allow Remote Desktop

- Install display driver (for using with projector)

- install Hyper-V role, restart, logon as Domain Admin to finish Hyper-V role installation.

- In Hyper-V Manager, create a Virtual Network named “ProdLAN”, connect to External (a physical NIC), and remember to check “Allow management OS to share this NIC” (On production servers with multiple NICs, this box does not need to be checked). Make sure to use the same name (ProdLAN) on both NODE1 & NODE2.
- In “Network Connections”, switch to Detailed View, and rename the newly-created-connection to ProdLAN. Check the NIC properties (only Microsoft Virtual Network Switch is checked, and IPv4 is not checked). Check the ProdLAN properties (now IPv4 is 192.168.1.11 & 12)

2. Connect to the shared storage on HN-SRV-01.

- In NODE1, Control Panel/iSCSI initator, choose service auto start, Target: 192.168.1.1, click Quick Connect, status should be Connected. Click “Volume and Devices” tab, click “Auto Configure”, there should be 3 volumes listed.

- In NODE1, Server Manager, Storage, Disk Mgmt: bring online and initialize 03 new disks. Create and format volume named Quorum for the quorum disk and assign Q: dive letter. Create and format Storage01 and Storage02 but choose “Do not assign a driver letter…” option (new support in WS08R2)

- In NODE2, iSCSI initiator as above, bring Online, and Change to Q: drive letter for quorum device

3. Cluster installation

- NODE1 & NODE2: add Failover Clustering feature

- NODE1: in Failover Cluster Manager, Validate a Configuration, Browse, select NODE1;NODE2, then choose Run All Tests, takes 5 min, click View Report. There is a Warning sign in Network (IPConfig warning: no Default gateway info & Network Comm: Nodes are reached by only one pair of interfaces due to only a single network card is used) 

- NODE1: Create a Cluster, Name: PRIVATE-CLOUD, IP: 192.168.1.51, takes 1 min, View Report, should be no warning/error. Quorum type should be: Node and Disk Majority (Cluster Disk 1). (The Quorum device is auto selected as Cluster Disk 1 )

- NODE1: Enable Cluster Shared Volumes, the c:\ClusterStorage will be auto created on both nodes. Click CSV node, Add storage, add Storage01 (and 02). The Volume1 (and Volume2) subfolders will be auto created in c:\ClusterStorage of both NODE1 & NODE2.

Part 5. VM Live Migration testing, creating a VM template in SCVMM and proposing VMs using SCVMM SSP portal

1. Create a VM template in SCVMM libary

- MGMT: in SCVMM console: Add Host to add NODE1 & NODE2 as well as PRIVATE-CLOUD cluster to SCVMM console. At "Host Properties" screen, enter "C:\ClusterStorage\Volume1" as the path, click Add, then Next. The SCVMM agents will be installed on NODE1 & NODE2.

- NODE1: create or import a reference VM in the folder C:\ClusterStorage\Volume1, for example use "Base-WS08R2 Std Fixed-09-400", memory is set to 400 MB, 1 processor, set Processor compatibility, set Network Adapter to ProdLAN, etc... You can test the Live Migration if needed.

IMPORTANT: that reference VM (installed with WS08R2 Std) must use a fixed virtual disk of 9 GB. If the default dynamically expanding virtual disk (default size is 127 GB) was used, the portal would not be able to Create the VM due to the insufficient storage error.

- MGMT: in SCVMM console: Virtual Machines tab, right click the reference VM (must be in the Stopped state), choose “New template” command (the source VM will be generalized (sysprep’ed) and deleted), enter "Base WS08R2 WEB" as the template name, accept all defaults for Hardware screen; for Guest OS screen: set workgroup to CLOUD-WKG, browse to select “\\MGMT.mycompany.com.vn\MSSCVMMLibrary” as the Path. This will take 13 min.

- MGMT: in SSP portal, Settings, Configurate VM templates, Import templates, select MGMT as Library server, MSSCVMMLibrary, then click Search, select the listed VM template, “Add Selected”, Next and click “Submit Request”, then click "Save and Close"

2. Create BusinessUnitUser:

- MGMT, in SSP portal, click User Roles tab, select BUITAdmin, click View/Edit Member (both administrator and staff1 are included);
- Click "User Roles" again, select BusinessUnitUser, View/Edit Members, select Business Unit, Infra, Service…, click Add Members, enter mycompany\staff2 (previously created), Save and Close

3. Create infrastructure in SSP portal:

- Requests/ Register business unit (sample data: "Core Banking Unit 01", CBU01, staff1@mycompany.com.vn, Administrators: mycompany\administrator, mycompany\staff1. Click Submit. Click Requests again, and Approve.

- Requests/Create Infrastructure Request: enter "Core Banking Infra", enter some Expected Decommision Date, Memory: 1G, Storage: 18.2G, click Next to “Service and Service Roles” page, enter "Internet Banking Service", select "My Demo Environment", Memory: 1G, Storage 18.2G, select ProdLAN and click Add, click “Add Service Roles”, enter "Internet Banking Web Role", add ProdLAN, click Save and Close, click Next to “VM template” tab, select available VM template (9G/400MB), click Next, click "Submit Request"

- Requests, select the Infra Request, click "Internet Banking Service", in Template Library section, click “Assign Library”, select MGMT as Library Server and MSSCVMMLibrary as Share, Submit, enter the same info for “Stored Virtual Machine Location” section, click Save and Close. Click "Internet Banking Web Role", click Save and Close. Click the selected VM template, click Save and Close, then click Approve.

4. VM Provisioning:

- Close the SSP portal

- Shift + Right click IE, Run as different user (or use RDP), mycompany\staff1 (as BUIT admin), add http://MGMT to Favorite Bar. Notice that the Settings tab is missing (expected).
- Click Virtual Machines tab, click Create virtual machine, enter 2 as the number of VM, enter “WebServer” as Computer Name and 001 as Index suffix, then Under Template, choose the desired template, click “View Properties” to make sure the Storage is under the 21G limit, then click Create

- In NODE1 HyperV Manager, WebServer001 will be created. In Node 2 HyperV Manager, CloudDemo002 will be created, and in Failover Cluster Manager/PRIVATE-CLOUD/Services and Apps node: "SCVMM WebServer001 Resources" and "SCVMM WebServer002 Resources" will be created.

Part 6. PRO Tips implemetation

- MGMT: IMPORTANT: Install the SCOM Agent on NODE1, and NODE2 (note: add mycompany\svcacct to either Domain Admins or Local Admin on NODE1/2 for Agent Push Installation to work)

- MGMT: In SCVMM console, right click Private-Cloud host, click PRO tab, deselect Inherit PRO settings... box, select "Enable PRO..." and "Automatically implement PRO tips"

- MGMT: Open Admin Tools/Performance Monitor, delete all existing counters. Click Add, browse to select NODE1, press the Enter key, then choose "Hyper-V Hypervisor Logical Processor - % Guest Run Time", click OK. Do the same for NODE2. Make the line thicker and of different colors.

- In WebServer001 & 002, copy CPU-busy.vbs from c:\shared to the Desktop. Right click, Open with Command Prompt to execute. In the Hyper-V Manager of the Guest, CPU Usage will be around 48%, but in Task Manager of the Host, it is still 0%. In the Performance Monitor, the Guest Run Time lines will be around 50%.

- Use Live Migration to move all WebServer001 & 002 to a single host such as NODE2 --> NODE2 HyperV will show 2 VMs, with CPU usage of each VM is 48% (Task Manager: still 0%), and Performance Monitor counter for NODE2 will be around 99%, and counter for NODE1 will be around 1%.

- MGMT: Wait a little and a PRO Tip will be displayed in SC VMM console as well as SCOM alert view. The PRO Tip will be also executed to automatically balance the VM load.

Appendix. CPU-busy.vbs file content:

Dim goal
Dim before
Dim x
Dim y
Dim i
goal = 2181818
Do While True
  before = Timer
    For i = 0 to goal
      x = 0.000001
      y = sin(x)
      y = y + 0.00001
    Next
  y = y + 0.01
  WScript.Echo "I did three million sines in " & Int(Timer - before + 0.5) & " seconds!"
Loop

Part 7. SCVMM SSP Dashboard installation

- server name: DASHBOARD

- install DotNet Framework 3.5.1

- install ms.com Windows SharePoint Services 3.0 x64 wSP2, using the Advanced option, then Stand-alone, once Finished choose to run the ... Configuration Wizard.

- setup sql 2008 w sp1, only Database engine, use svcacct as the service account

- dashboard setup process

+ VMM SSP Dashboard screen
. app pool identity mycompany\svcacct
. DB server name: MGMT (which is SSP server name)
. VMM SSP dbname: DITSC (fixed)

+ WSS 30 info screen
. site owner: mycompany\administrator
. SharePoint DB server name: DASHBOARD ("Session Database Name" will be auto created)

. accept the default URL which is http://dashboard:12345/

References

- How to Integrate Operations Manager with VMM 2008 R2 http://technet.microsoft.com/en-us/library/ee236428.aspx

- Measure guest operating system processor utilization using Performance Monitor http://technet.microsoft.com/en-us/library/cc768535(BTS.10).aspx

- Guide to Setting up a 2 node Server 2008 failover cluster under HyperV