Building Private Cloud – Part 4

Now we have the basic setup ready. We have the HyperV cluster ready with fabric configured with VM Networks for each subsidiary group. In this part, We will cover on creating a VM teamplate, creating hardware profiles and finally the GUST OS Profile.

 

VM Template 

For each version of operating system, We need to create a template with a baseline configuration. The template can be created from a fresh VM or we can create from a existing defined template. The same template can be shared with multiple subsidiaries (S1, S2 and S3).

  1. Create a Gen 1 VM on any of  the Hyper-V Host which is added on SCVMM – I will name it as Golden Image
  2. Windows Patch Updates
  3. Install HyperV Integration Component
  4. Antivirus/Agents or any of the custom software required on all servers deployed using this image
  5. Enable RDP
  6. Set Administrator password blank
  7. Do any other customization if required
  8. Export the VM – This is required if we need to update template on a later stage
  9. SysPrep and Shutdown

Now from SCVMM -> VM And Services, Identify the VM which is created for the template.

Right Click on the VM -> Select “Create VM Template”

Create Template

 

 

Read the warning and Click “Yes” if you are OK to proceed. 😀

Create Template - Warning - Source VM Destroy

 

 

The next screen is to select a hardware profile.

We can goahead with the Default setting. No need to select anything here.. Just click on Next.

Creating template - Hardware profile

Creating template – Hardware profile

 

The next screen is for Gust OS Profile. You can choose an OS profile which matches the operating system of this VM.

Create Template - OS Profile

However, Please dont choose “No Customization Required” from the drop-down menu. This will disable the option to link Gust OS Profile on the template.

OS Customization - NONE

 

 

Select the Library Server and then select the PATH to be used inside the Library Share.

Review the Summary and proceed with the template creation.

 

Hardware Profile

Hardware Profiles will define the hardware configuration and will be attached while creating a VM from a template. The usual pattern is to create with a naming convention (Gold, Silver, Bronze) or something similar which is easy to relate.

In our specific scenario, We need to define Hardware Profiles for each group. Here is the naming standards and the details.

HW Profiles

 

Make a table as above. Then create the template for the first group (S1). For creating profiles from the other groups (S2 and S3), Right click on the one which is created for S1 and click “Copy”. This will create copy the existing template and create a new one. You just need to adjust the name and the VM Network.

So lets create the first template – S1-Gold.

Navigate to SCVMM -> Library -> Profiles -> Hardware Profiles

Right click on Hardware Profiles and select “Create Hardware Profile”

Create Hardware Profile - Define the name

Create Hardware Profile – Define the name

Click on Hardware Profile and configure each section accordingly.

On Cloud Capability, Select Hyper-V.

Creating Hardware profile - Cloud Compatibility

Creating Hardware profile – Cloud Compatibility

On the processor page, enter the number of processors allocated for this profile.

 

Creating Hardware Profile - Processor

Creating Hardware Profile – Processor

On the Memory, Enter the memory details. Static or Dynamic and the memory allocated.

Creating Hardware Profile - Memory

Creating Hardware Profile – Memory

 

On the Network, Select the Network connectivity details. In the previous parts, We have defined the VM Networks for each group. Select the appropriate VM Network defined for this group.

 

Creating Hardware Profile - Network

Creating Hardware Profile – Network

On Availability page, Make sure that “Make this VM highly available” is selected.

Creating Hardware Profile - HA

Creating Hardware Profile – HA

Once done, Click on OK to create the S1-Gold hardware profile.

Use this same profile to create S2-Gold and S3-Gold.

For that, Right click on the newly created S1-Gold hardware profile and click on Copy.

Copy Hardware Profile

Copy Hardware Profile

 

Look for Copy of S1-Gold. Right click and select “Properties”

On General, Change the Name to “S2-Gold”

Copy Hardware Profile - Rename

On the Hardware Profile page, Adjust the VM Network.

Copy Hardware Profile - Adjust VM Network

Copy Hardware Profile – Adjust VM Network

Click on OK to make the template for S2-Gold.

Similarly make one more copy of S1-Gold and adjust it from S3-Gold.

Now, Create other profiles (Silver and Bronze) using the same method.

Gust OS Profile

The next step is to create Gust OS Profile.

Before starting, Ensure we have run as account created for “Local Administrator” and “AD Join”. Its good to have these runas accounts created, but not mandatory.

Once ready, Create the GUST OS Profile.

On Gust OS Profile, we define the OS Details, Admin Password for the newly created VM, Product Key (If not using KMS), Time Zone, Role, Feature, Domain or Workgorup etc.

One important aspect for Gust OS Profile is to specify the Organizational Unit which will be used to create a VM. This will help us to have the VMs for S1-IT getting created into the OU designated for S1-IT and VMs for S2-IT getting created into the OU designated OU for S2-IT and so on.

Lets create a Gust OS Profile for S1-IT which will be used for Windows Server 2012 R2 Std edition of OS.

Gust OS Profile for S1-IT

Gust OS Profile for S1-IT

On the OS Details page, Select the appropriate OS.

Create Gust OS Profile - OS Details

Create Gust OS Profile – OS Details

 

On the Admin Password page, select the run as account for Local Administrator. If you dont have a RunAs account, you could even save the password on this profile itself.

 

 

 

Create Gust OS Profile - Local Admin

 

And next is the Domain/Workgroup page. Specify if the VM needs to be joined to a domain or can be in a workgroup. If needs to be domain joined, The domain name and the credentials to be used for adjoin. If you dont have a run as account, you could even save the user name and password in this profile which will be used for adjoin.

 

Create Gust OS Profile - Domain Information

Create Gust OS Profile – Domain Information

 

Once done, Click on OK to create an Gust OS Profile.

Now we need to configure the OU where the computer objects should be created on the adjoin process. This can be configured only through the VMM shell.

 

Create Gust OS Profile - Configuring OU Information

Create Gust OS Profile – Configuring OU Information

Similarly, Create Gust OS Profiles for each Gust Operating System used by each group and configure the DomainJoinOrganizationalUnit parameter according to each Group.

Here is an outline how different components – VM Template, Hardware Profile and OS Profile linked together on VM Creation.

VM Template - Hardware Profile - Gust OS Profile

VM Template – Hardware Profile – Gust OS Profile

In the next part, I will detail on Creation of Private Cloud for each group and setting up the access for the IT Admins of each group.

 

 

Installing SCVMM 2012 R2 UR1

We got the UR1 released few weeks back. However, I see that most of our Experts give a warning – wait for some time before updating.

Whatever be the case, I did the upgrade on my VMM today. It was smooth.

The only difference this time is the script which needs be executed against the VMM database.

Few points to note.

The update will exit silently after the installation. We will not see any confirmation or message  once the update is completed.

However, the event-logs will help us here. Check for event id 1022.

SCVMM 2012 R2 UR1 Installation

SCVMM 2012 R2 UR1 Installation

 

Similarly, we need to check for event 1022 once the UR1 is installed for the console.

Update SCVMM 2012 R2 Console with RU1

Update SCVMM 2012 R2 Console with RU1

 

And finally, we need to execute the script to update the VMM DB.

 

From SQL Server Management Studio – Navigate to the VMMManagerDB Database. Click on New query and paste the code from the KB. Click on !Execute. We are done.

Update DB

 

 

We can check the update status through Powershell. Without RU1, the product version is 3.2.7510.0 and with RU1, product version is 3.2.7620.0.

Checking Product Version - new

 

Once the VMM Server and console is updated, All the hosts needs an update on VMM Agent. From SCVMM Console, right click on the host and select “Update Agent” .

 

Hyper-V Dashboard – V2.1

Its almost a week I made the first version of the dashboard. Yesterday, I published v2.1 this dashboard.

Just a brief on the changes on each versions.

Ver 2.1 – 2/12/2014

* Added logic to identify Virtual Disk type – VHD or VHDX. VHD Disk will be marked as yellow cell

* Added logic to identify vNIC – Legacy or Synthetic. The cell of Legacy vNic will be marked yellow.

* Fixed few bugs related with the logic

Ver 2 – 2/12/2014

* Added logic to include an input file

* Added logic to include Hyper-V Stand Alone nodes

* Added component for Free Space percentage on each Local Disk /CSV Volume

* Changes on coding and more detailed logging on the console

Ver 1.1 – 2/9/2014

* Added logic to identify Dynamic Memory and mark Min Meory and Max Memory to “DM Disabled” on a VM without Dynamic Memory

* Added additional components like UpTime, IC, SnapShot Count, First SnapShot Date etc

* For Windows Server 2012 R2 HyperV Clusters, The report will also check if the Integration Component is ” Up To date” or not. If not, the cell color will be changed to Yellow so that Administrators can quickly identify

* Improved the logic to skip a Hyper-V Cluster node without any VM

You can download the script from the Technet Script Gallery.

What is planned next:

In the upcoming version, What I would like to do

  • Along with the VM and Storage details, A new section for the physical host which will have have the physical resources on each host
  • A comparison with actual resources VS allocated resources

May be some more items which I a yet to finalize :).

Cheers!

 

PowerShell Script for Hyper-V Dashboard

Its always good to have a daily report as an email. I would always prefer this as we can have a quick view through Blackberry or Active Sync Phones to get an overview of the servers. In Hyper-V, I had challenges to get this done using Powershell. In fact, I never tired and now I felt its becoming important as the Hyper-V Infrastructure is growing gradually.

This script will provide the basic information like VM Name, Memory Allocation, Processor Allocation, Disk Allocation, Disk Usage etc.

Hyper-V Dashboard

Hyper-V Dashboard

 

Along with this, You can get a brief on the CSV Utlilzation – like Storage Allocated on each volume, Free space on each volume, Total Size of VHDX Allocated for each volume, Actual Usage of VHDX on each Volume and if Over Provisioned, how much Over Provisioned.

 

CSV Report on Over Provisioning

CSV Report

You can download the script directly from Technet Gallery.

For feedback/issues – you can reach me on shabarinath@insidevirtualization.com .

Enjoy !

 

 

Error (2940) – VMM is unable to complete the requested file transfer. The connection to the HTTP server Hyperv-clu1-n1.insidevirtualization.com could not be established. Unknown error (0x80072ee2)

Issue – VM Creation from template randomly failing with error 2940.

This issue started few days back and its random. My initial thought was that the HyperV host got some issues. However, this issue started with all nodes randomly.

SCVMM 2012 R2 - Error 2940

SCVMM 2012 R2 – Error 2940

 

Coincidentally , I observed that from VMM server  HyperV Manager is not able to connect to the problematic server.

 

HYPERV-MANAGER - RPC Server Unavailable

HYPERV-MANAGER – RPC Server Unavailable

 

This error made me to check on the network side.

Ping HyperV host from SCVMM Server – Successful

Telnet port 135 of HyperV host which is used by RPC – Sucessfull

Googled this RPC issue and hit on the  Technet wiki article, which made me to think again on the DNS part.

From SCVMM server, Opened NSLOOKUP and searched for the records for HyperV host. Yea – got some clue. I noticed three entries for this server.

Now I realized. I did created few Virtual Network Adapters on top of the Logical Network. Each Virtual Network Adapter is in fact linked with a particular subnet which has a DHCP scope of few IPs to enable ADJoin through template. Due to this, the Virtual Network Adapters got an IP from DHCP which got registered with DNS.

Unchecked “Register the connection’s address in DNS” from each Virtual Network Adapters and then ran ipconfig /registerdns .

This removed the duplicate entries from DNS. However – issue still exists.

From the HyperV host, tried to ping SCVMM host which was not successful. This made me to check the route.

Route Print

Route Print

For 0.0.0.0 destination, the server is having multiple paths with different metric. Even the one with highest metric was the actual route, traffic is getting routed through other interfaces randomly. For all Virtual Network Adapters, allocated a static IP and everything started working. Just a cool breeze !

 

 

SCVMM 2012 R2 – Issues specific to OS Profiles and Templates

Its a while I could really concentrate on my Blog post related with Building a private cloud. The reason is something which I couldn’t make working as I expected.

I have two scenarios to share.

1) DomainJoinOrganizationalUnit Parameter on Gust OS Profile

This switch is used to specify the custom OU to be used for the VM Computer object while deployed from a template. I had mentioned this on my Gust OS Profile correctly, but the VM always joins to the default Computers OU.

My Technet forum post is here.

2) OS Configuration on templates VS OS Configuration on Gust OS Profile

I have a template which is created with OS Customization. This will give the flexibility for me to choose the OS profile while deploying a VM from this template. If I choose NO OS Customization while creating the template, I don’t see an option for configuring OS Profile while trying to create a VM from this template.

I have some settings on the OS Configurations part of template. While creating a VM with this template, I choose an OS Profile which has set with a different values than in the OS Configuration of template. My assumption is that the value in Gust OS Profile – OS Configuration will over ride the settings inside template – OS Configuration. But unfortunately, I don’t see that. What ever set on the OS template is taking precedence all the time.

More details on this Technet forum post.

I will let you know if I get some more clue on this. If you have any clue/suggestions – Please share it as comments here or on the Technet forum.

Cheers.

 

VMM is unable to perform this operation without a connection to Virtual Machine Manager management server. Error ID 1615

Recently noticed this error coming up randomly. May be after a specific timeout.

The SCVMM Shell which was already open for a while throws this error.

VMM is unable to perform this operation without a connection to a Virtual Machine Manager management server. (Error ID: 1615).

The easiest fix is to run the command as mentioned in the error.

VMM Error

 

Building Private Cloud – Part 3

Now we have the Hyper-V Clusters ready. We have the Fabric Configured to have a Logical Switch and VM Networks for each group.

The next step is to create a Cloud for each subsidiary group. The high level steps are as below.

1) Create Private Cloud for each subsidiary group with the appropriate network for each Cloud

2) Create Self Service User Role for each Group

Lets go in detail.

1) Create Private Cloud for each subsidiary group

Private Cloud will be the logical boundary for the consumer. Consumer will not be seeing anything beyond this stage. End user will create VMs on the private cloud.

Navigate to SCVMM -> VMs and Services – > Clouds

Click on Create Cloud

Create Private Cloud

Create Private Cloud

 

In the next page, Select the appropriate host group which will be used by this Cloud.

Create Private Cloud - Select host group

Create Private Cloud – Select host group

 

Create Private Cloud - Select Logical Network

Create Private Cloud – Select Logical Network

 

Proceed with the next steps and configure the optional components.

Select the Storage Classification.

Create Private Cloud - Select Storage

Create Private Cloud – Select Storage

 

In the next page, Select the Library Share which will be used by this cloud.

Create Private CLoud- Select Library

Create Private Cloud- Select Library

 

In the next page, Set the maximum capacity for the entire cloud.

Create Private Cloud - Set Capacity

Set  the maximum capacity

 

Select the appropriate capability profile.

Create Private Cloud - Set capability profile

Create Private Cloud – Set capability profile

 

Finally, Verify the summary and proceed.

Similarly, we need to create a Private Cloud for S2-IT and S3-IT. While creating S2-IT-PriviateCloud, We need to select the appropriate Logical Network we created for S2-IT and while creating S3-IT-PriviateCloud, we need to select the appropriate Logical Network we created for S3-It.

 

With this, We are done with the creation of a Private cloud. Now we need to set up the access using a Self Service User Role, allocate the templates, Hardware Profiles, Gust OS Profile etc which will be covered in the next part. The below illustration gives a brief on the different fabric components which are getting linked to form a Private Cloud.

illustration - Linking the network componet with cloud

 

 

Building Private Cloud – Part 2

I have detailed on create a Hyper-V Cluster using SCVMM 2012 R2 in one of my previous posts (Part1 and Part2). However, Don’t configure anything related with Fabric based on those posts.

The critical part of the configuration is fabric – especially Network. Hence, I would like to detail about that on this part.

At this stage, I had my Hyper-V cluster built using SCVMM 2012 R2. I will be completing the fabric configuration specific to Private Cloud now. Based on the requirement we had on the Part-1, I am allocating one VLAN per S-IT.

S-IT GROUP VLAN
S1-IT 10.0.21.0/24
S2-IT 10.0.22.0/24
S3-IT 10.0.23.0/24

Individual VLAN will give us the flexibility to have strict network level restrictions based on the requirements. Each VLAN is configured with a DHCP scope of 10 IPs, so that the VMs deployed through a template will get an IP and be joined to the domain. Once deployed, The S-IT team should be able to change the IP to a static IP with in their assigned range.

The high level steps which will be preformed are

1) Creating Logical Network for S1-IT, S2-IT and S3-IT with site/VLAN information

2) Creating UpLink Port Profile which will be used for the Logical Switch

3) Creating Logical Switch and select the UpLink Port Profile

4) Creating VM Networks for S1-IT, S2-IT and S3-IT and link with the corresponding Logical Network

5) Assigning Logical Switch for the Phyical Hosts

6) Creating Virtual Network Adapters for S1-IT, S2-IT and S3-IT on top of the Logical Switch and link them to the corresponding VM Network

Here is a quick illustration for you to relate each different components involved.

 

Network Components for building private cloud

Network Components for building private cloud

 

So lets go in detail.

1) Creating Logical Network for S1-IT, S2-IT and S3-IT with site/VLAN information

As we planned, each S-IT will be defined as an independent Logical Network.

Navigate to Fabric -> Networking -> Logical Network

Create a new Logical Network for S1-IT and define the Site with the assigned subnet and VLAN.

SCVMM 2012 R2 Fabric Configuration

LOGICAL NETWORK for S1-IT

On the Network Site page, create a new site for S1-IT , Link with the correct host group which has the HyperV Physical hosts and then enter the Subnet /VLAN details.

LOGICAL NETWORK - DEFINE SITE - SITE-S1-IT

LOGICAL NETWORK – DEFINE SITE – SITE-S1-IT

 

Click on next and Confirm after verifying the summary.

Similarly, We need a Logical Network for S2-IT.

SCVMM 2012 R2 Fabric Configuration

LOGICAL NETWORK – S2-IT

On the Network Site page, create a new site for S2-IT , Link with the correct host group which has the HyperV Physical hosts and then enter the Subnet /VLAN details.

SCVMM 2012 R2 fabric configuration

LOGICAL NETWORK – DEFINE SITE – SITE-S2-IT

Click on next and Confirm after verifying the summary. Create a similar Logical Network for S3-IT and set the right subnet/VLAN details.

2) Creating UpLink Port Profile which will be used for the Logical Switch

As you know, Uplink Port Profile will be used along with the logical switch and define the teaming mode and algorithm used.

Navigate to SCVMM -> Fabric -> Networking -> Port Profiles

Create a new Port Profile. Configure the Port Profile as an Uplink Port profile. Set the teaming mode as Switch Independent and Algorithm as Dynamic.

PortProfile-Cloud-Uplink

PortProfile-Cloud-Uplink

In the network configuration page, Select the appropriate sites where this Port Profile will be used. We need to select the Sites which has been created for S1-IT, S2-IT and S3-IT.

PortProfile-Cloud-Uplink-NetworkSites

PortProfile-Cloud-Uplink-NetworkSites

Click on Next and proceed after verifying the summary.

3) Creating Logical Switch and select the UpLink Port Profile

Logical Switch is an equivalent to HyperV switch. While Logical Switch is configured on the host, The network interfaces allocated for the logical switch will be used to create a HyperV Switch. The teaming mode of interfaces is defined in the Port Profile which will be linked with the Logical Switch.

 

SCVMM 2012 R2 Priviate Cloud

Logical Switch Creation

On the next screen, We need to add the UpLink profile. Select the one which has been created for the Private Cloud. Verify the site names and host group again.

 

LOGICAL-SWITCH-PRIVIATECLOUD-UPLINK

Proceed with further steps.

4) Creating VM Networks for S1-IT, S2-IT and S3-IT and link with the corresponding Logical Network

VM Networks will be used for to create Virtual Networks on top of the Logical Switch. Each S-IT group will need a VM Network which will be linked with the Logical Network we defined in Step 1.

Navigate to SCVMM ->VMs and Services -> VM Networks

Create a New VM Network and assign the corresponding Logical Network.

Configuring SCVMM 2012 R2 Fabric

VM Network for S1-IT

Click on NEXT and then Finish after reviewing the Summary.

Similarly, Create VM Network for S2-IT and link with the respective logical network for S2-IT.

Virtual Netowrk SCVMM 2012 R2 Fabric

Virtual Network for S2-IT

Similarly, Create one for S3-IT and link with the logical network of S3-IT.

5) Assigning Logical Switch for the Physical Hosts

On each Hyper-V host in the cluster or each stand alone host, the Logical Switch needs to be configured. Logical Switch will create a HyperV Switch with the defined Network Interfaces and also take care of teaming based on the Uplink port profile, if multiple interfaces are present.

Navigate to SCVMM -> Fabric ->Servers -> HostGroup -> Cluster ->

Select a node and navigate to Properties -> Virtual Switches

Click on New Virtual Switch -> New Logical Switch

Select the correct logical switch from the drop down list.

Select the Network Adapters which will be used for HyperV data.

Select the appropriate UpLink Profile.

 

Adding Logical Switch to HyperV host

Adding Logical Switch

Once done, Click on OK.

Do this activity on all HyperV Hosts which will be part of this Cloud.

6) Creating Virtual Network Adapters for S1-IT, S2-IT and S3-IT on top of the Logical Switch and link them to the corresponding VM Network

Next step is to Link the VM Network created for each S-IT with the Logical Switch. This is done using the option of Virtual Network Adapter which will be created on top of the logical switch.

Navigate to SCVMM -> Fabric ->Servers -> HostGroup -> Cluster ->

Select a node and navigate to Properties -> Virtual Switches

Select the Virtual Switch  and Click on New Virtual Adapter.

Enter the appropriate name for the virtual adapter.

On Connectivity – Click on Browse and select the appropriate VM Network. VLAN details will be listed by default based on the information on VM Network.

SCVMM 2012 R2 Fabric Configuration

Virtual Network Adapter

Add Virtual Network Adapter for each S-IT.

Virtual Network Adapter

Virtual Network Adapter

Similarly, Create one Virtual Network Adapter for S-IT3 and link with the appropriate VM Network.

Thats the end of Part-2.