SYS-CON MEDIA Authors: Stackify Blog, Zakia Bouachraoui, Elizabeth White, Pat Romanski, Liz McMillan

Blog Feed Post

Guest OS Profiles in System Center 2012 SP1 VMM: Build Your Private Cloud (Series)

This guy is happily evaluating System Center 2012 SP1 as the foundation for his Private CloudToday’s installment of our “Build Your Private Cloud in a Month” series is the second of a 5-part mini-series we’re calling “Deploying Private Cloud Workloads”.  This week we (Tommy Patterson, Blain Barton and I) are going to detail and demonstrate some of the key areas in System Center 2012 SP1 Virtual Machine Manager that support the foundational concepts and objects in your Private Cloud arsenal:

  1. Hardware Profiles (Monday)
  2. Guest OS Profiles (Tuesday) <—Today!
  3. Application Profiles (Wednesday)
  4. VM Templates (Thursday)
  5. Service Templates (Friday)

To follow along, make sure you have installed a test lab with Windows Server 2012 and the Virtual Machine Manager component of System Center 2012 SP1.  (Click the links and download the evaluations, please.)

---

Today’s topic is Guest OS Profiles in System Center 2012 SP1 Virtual Machine Manager.

What is a Guest Operating System Profile?

Similarly to we discussed yesterday when I told you about Hardware Profiles, a Guest Operating System Profile “specifies the operating system settings that you want the virtual machine to use when a virtual machine is created and deployed.”  It’s a named definition that represents some desired configuration that can be applied to new virtual machine templates.

Notice that I didn’t say “you can apply a Guest Operating System Profile directly to a new virtual machine”.  These profiles are first associated with Virtual Machine Templates, from which virtual machines can then be created.  You won’t have an option to add a Guest OS Profile to a machine that you’re creating from scratch (unlike you could with the Hardware Profiles we talked about yesterday).

Why are Guest Operating System Profiles Useful?

Think of a scenario where you need to create many (several, dozens, hundreds, thousands) of virtual machines that all are pretty much going to be doing the same thing.  They all have the same OS, have similar names, administrator passwords, product keys.  They are all web servers which require various features of IIS to be installed.  They all join the same domain.  These items “in common” relating to the configuration of the virtual machine’s operating system are perfect reasons to use Guest OS Profiles.

IMPORTANT: Let’s consider what this implies.  Unlike other virtualization solutions that would require me to pre-build and install separate disk images containing various optional operating system configurations, each with roles and features installed differently, I now have the ability to use just one disk image, or one generic OS installation, and then apply different configuration choices dynamically, and at the time of VM creation and deployment.  We can define these differences in the Guest OS Profile section of the virtual machine’s properties as we’re creating them, and we can pre-build these Guest OS Profiles to represent those different machine options.  That’s huge.

How do I create a Guest Operating System Profile?

Guest Operating System Profiles are created in the Profiles area of the Library section in Virtual Machine Manager.

Guest OS Profiles

Right-Click on Guest OS Profiles to launch the creation of your new Guest OS Profile.

General 

As you can see from the name and description, I’m creating a common Guest OS profile for Contoso’s web servers.

After you’ve given your profile a name, click on Guest OS Profile, and you can see all the areas we are going to potentially configure.  (I’ve collapsed all but the first area to make it easier to see what we’re talking about.)

Operating System

The General Settings area allows you to configure the items you see here.  For example, the Guest Operating System selection you make here will shape how the rest of this configuration works for you.  For example, if I select Windows XP, I’m not going to be able to add Roles or Features.  It doesn’t make sense.

Expand the list to see the many choices that you have.  I’m going to leave “64-bit edition of Windows Server 2012 Standard” selected.

Under Identity Information

Identity Information

…we can specify the name we want to give our computer.  This name is the actual machine name (and just not the VM name used in Hyper-V Manager or Virtual Machine Manager); which means it should probably be unique.  And which is why you have a wildcard ‘*’ option for allowing VMM to generate a new unique name with each new machine based on this Guest OS Profile. 

But that’s not the only option.   You can also use ### characters to set up a portion of a recognizable name to have a numeric incrementing value to make them unique.  In my case, I’m going to use Contoso-WEB-## to generate computers named Contoso-WEB-01, Contoso-WEB-02, and so on.

Under Admin Password

Admin Password

…I’m going to use my pre-defined Run As account “Admin” to be configured and used as the administrator account on these new machines.  Notice that you also have the option of not specifying an account, or defining one for the local Administrator specifically here.

(For more information about Run As accounts in VMM, CHECK OUT THIS ARTICLE – Configuring Run As Accounts in VMM)

Click on Product Key

Product Key

…which is (you guessed it) where we can add a product key for this operating system.  This is optional.  And no.. I’m not going to show you my product key.  Sorry.

That “Product key provided by answer file.” option is greyed-out because I haven’t added an answer file under the Scripts section.  If I had done that, we could then check the box to grab the product key from that answer file.

Time Zone

Best Time Zone

…is of course where we can set the time zone for this machine.  Personally, I’m partial to the BEST place to live: The GMT -6:00 Central Time Zone (US and Canada). 

Okay.. now let’s click on and expand Roles and Features.

image

This is where, in my opinion, things get really interesting.  We can actually pre-determine which roles and features are to be added to a machine.  If machines based on this Guest OS Profile are going to need certain .NET framework versions installed, or have IIS installed, I can define that here.  The image or installation that I base the deployment of these machines on doesn’t have to have these pre-loaded.

NOTE: the configuration of roles and features here is only used if this Guest OS Profile is used in a VM Template, which is in turn used in a Service Template.  You will get a warning reminding you of this if you configure these here, and then try to create a VM directly off of the VM Template.  The proper way to get this to work is to create a Service Template.  Even if you only have a one-machine Service Template, the deployment of the service will configure the roles and features you’ve specified (along with adding applications and SQL Server configurations, which we’ll talk about tomorrow); whether coming from the Guest OS Profile, or directly in the VM Template.

Click on and expand Networking.

Networking

This is where, if I choose, I can pre-define the domain membership that machines using this Guest OS Profile should have.  In my example I am again using my pre-configured Run As account “Admin” to join these machines to my Remde.home domain.

(For more information about Run As accounts in VMM, CHECK OUT THIS ARTICLE – Configuring Run As Accounts in VMM)

Finally, click on and expand Scripts.

Scripts - Answer File

Here is where I can point to an answer file that might have been built manually, or by using the Windows System Image Manager tool (a part of the Windows Assessment and Deployment Toolkit (ADK)).

The [GUIRunOnce] Commands

 

…give you the powerful opportunity to add a command or script to be launched the first time a user logs on to machines based on this profile.  So, if there is further customization or other scripted installations that need to take place once the machine is first used, you can have that launched automatically by configuring it here.

When I finally click OK, I now have my new Guest OS Profile. 

Right-Click the new profile and select Properties to make changes or view other information about the profile.  For example, you have a Dependencies area…

Dependencies

…which shows you if there are any items that this profile is dependent upon.  (Hence the name.)  In my example I used the Admin RunAs account two times in the profile, so this is reminding me that that definition needs to remain in place for this Guest OS Profile to function properly.

The other new area is Access

Access

…which, like it did in Hardware Profiles, allows us to add self-service users or roles here to grant use-rights for this profile.

(For more information about Self-Service Users and Roles, CHECK OUT THIS ARTICLE on Configuring Self-Service in VMM

Creating a Virtual Machine Template

To use my new profile, I’ve created a new virtual machine template called Contoso-WEB-Server Template, which uses a modified version of the Hardware Profile we created yesterday, and the Guest OS Profile that I created just now.  In the creation of the VM, I also pointed to the Windows Server 2012 evaluation .VHD as the base image for this machine.  (You can start playing with this evaluation .VHD by choosing the “Download the Evaluation VHD” option on my Server 2012 evaluation download page.)

In the interest of keeping this blog post short (?!), I’m going to leave the details of working with VM Templates to my friend Tommy Patterson’s post this coming Thursday.

Creating a Virtual Machine

If you’re looking at the Templates area under Library, you can now create a new virtual machine by right-clicking on the template…

Create Virtual Machine

…and selecting Create Virtual Machine.

For the Virtual Machine’s Identity

Identity

…I can leave it blank.  If you do that, it will create the name from what you’ve specified in the “Configure Operating System” area of the wizard (which, as you’ll see, we’re going to get from our newly created Guest OS Profile).

Click Next

For the Hardware Profile, I’ll select one that I recently created (based on the one we built yesterday). 

Configure Hardware

Click Next

For the Guest OS Profile, I’ll select our new Contoso Web Server Profile.

image

Click Next.

destination

For the Destination, I’m going to put my new machine on a host.  Notice that I could also choose to deploy to a supporting Cloud, or to the library as a stored machine.

Click Next.

The Intelligent Placement algorithm kicks in and, for my machine, determines that there are only two of my three servers that are viable candidates to host my machine.  I’ll choose the first option.

Host Placement

Click Next.

Reviewing the settings let’s me see what the defaults were that are about to be assigned, and gives me an opportunity to change them.

Configure Settings

For example, I had tested this deployment before, so the computer name ## was incremented higher than I wanted.  Otherwise things look good.

Click Next.  I’m going to leave the Add Properties alone.  I’m fine with those defaults.  Click Next again…

Summary

… and then click Create.

Several minutes later, you should have a new virtual machine!  Notice that it completed with warnings – mainly reminding me that because I used a VM Template (and not a Service Template) to directly create the virtual machine, it wasn’t able to modify the roles or features as I had specified in my Guest OS Profile.

Warning

When start up, connect to my machine, and log-on, I can see that it has joined the domain as I had configured in our Guest OS Profile…

Server Manager

…and all is as I expected!

For More Information

For more details, I recommend the following articles and locations for expanding your knowledge of System Center 2012 SP1, Virtual Machine Manager, and VMM Guest OS Profiles:

---

Was this useful?  I hope so!  Let me know in the comments if you have any questions, concerns, clarifications, or cheap shots at me or Microsoft.  (Hit me with your best shot!  I can take it! Smile)

Read the original blog entry...

More Stories By Kevin Remde

Kevin is an engaging and highly sought-after speaker and webcaster who has landed several times on Microsoft's top 10 webcast list, and has delivered many top-scoring TechNet events and webcasts. In his past outside of Microsoft, Kevin has held positions such as software engineer, information systems professional, and information systems manager. He loves sharing helpful new solutions and technologies with his IT professional peers.

A prolific blogger, Kevin shares his thoughts, ideas and tips on his “Full of I.T.” blog (http://aka.ms/FullOfIT). He also contributes to and moderates the TechNet Forum IT Manager discussion (http://aka.ms/ITManager), and presents live TechNet Events throughout the central U.S. (http://www.technetevents.com). When he's not busy learning or blogging about new technologies, Kevin enjoys digital photography and videography, and sings in a band. (Q: Midlife crisis? A: More cowbell!) He continues to challenge his TechNet Event audiences to sing Karaoke with him.

Latest Stories
The benefits of automated cloud deployments for speed, reliability and security are undeniable. The cornerstone of this approach, immutable deployment, promotes the idea of continuously rolling safe, stable images instead of trying to keep up with managing a fixed pool of virtual or physical machines. In this talk, we'll explore the immutable infrastructure pattern and how to use continuous deployment and continuous integration (CI/CD) process to build and manage server images for any platform....
AI and machine learning disruption for Enterprises started happening in the areas such as IT operations management (ITOPs) and Cloud management and SaaS apps. In 2019 CIOs will see disruptive solutions for Cloud & Devops, AI/ML driven IT Ops and Cloud Ops. Customers want AI-driven multi-cloud operations for monitoring, detection, prevention of disruptions. Disruptions cause revenue loss, unhappy users, impacts brand reputation etc.
Atmosera delivers modern cloud services that maximize the advantages of cloud-based infrastructures. Offering private, hybrid, and public cloud solutions, Atmosera works closely with customers to engineer, deploy, and operate cloud architectures with advanced services that deliver strategic business outcomes. Atmosera's expertise simplifies the process of cloud transformation and our 20+ years of experience managing complex IT environments provides our customers with the confidence and trust tha...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
Enterprises are adopting Kubernetes to accelerate the development and the delivery of cloud-native applications. However, sharing a Kubernetes cluster between members of the same team can be challenging. And, sharing clusters across multiple teams is even harder. Kubernetes offers several constructs to help implement segmentation and isolation. However, these primitives can be complex to understand and apply. As a result, it’s becoming common for enterprises to end up with several clusters. This...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Public clouds dominate IT conversations but the next phase of cloud evolutions are "multi" hybrid cloud environments. The winners in the cloud services industry will be those organizations that understand how to leverage these technologies as complete service solutions for specific customer verticals. In turn, both business and IT actors throughout the enterprise will need to increase their engagement with multi-cloud deployments today while planning a technology strategy that will constitute a ...
GCP Marketplace is based on a multi-cloud and hybrid-first philosophy, focused on giving Google Cloud partners and enterprise customers flexibility without lock-in. It also helps customers innovate by easily adopting new technologies from ISV partners, such as commercial Kubernetes applications, and allows companies to oversee the full lifecycle of a solution, from discovery through management.
Using serverless computing has a number of obvious benefits over traditional application infrastructure - you pay only for what you use, scale up or down immediately to match supply with demand, and avoid operating any server infrastructure at all. However, implementing maintainable and scalable applications using serverless computing services like AWS Lambda poses a number of challenges. The absence of long-lived, user-managed servers means that states cannot be maintained by the service. Lo...
Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reducti...
Using serverless computing has a number of obvious benefits over traditional application infrastructure - you pay only for what you use, scale up or down immediately to match supply with demand, and avoid operating any server infrastructure at all. However, implementing maintainable and scalable applications using serverless computing services like AWS Lambda poses a number of challenges. The absence of long-lived, user-managed servers means that states cannot be maintained by the service. Lo...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Signs of a shift in the usage of public clouds are everywhere. Previously, as organizations outgrew old IT methods, the natural answer was to try the public cloud approach; however, the public platform alone is not a complete solution. Complaints include unpredictable/escalating costs and mounting security concerns in the public cloud. Ultimately, public cloud adoption can ultimately mean a shift of IT pains instead of a resolution. That's why the move to hybrid, custom, and multi-cloud will ...
Docker and Kubernetes are key elements of modern cloud native deployment automations. After building your microservices, common practice is to create docker images and create YAML files to automate the deployment with Docker and Kubernetes. Writing these YAMLs, Dockerfile descriptors are really painful and error prone.Ballerina is a new cloud-native programing language which understands the architecture around it - the compiler is environment aware of microservices directly deployable into infra...