IntroductionIn the previous article in this series, I explained the concept of using various types of templates for automated virtual machine creation. In this article, I will continue the discussion by walking you through the template creation process. We will start out by creating some hardware profiles. From there, we will move on to creating some guest OS profiles. Eventually the profiles that we are creating will be used to facilitate the automated deployment of brand new virtual machines. I plan to show you how to enable self service provisioning later in this series, but for right now we need to build some templates.
Building a Hardware ProfileAs I explained in the previous article, virtual machines should generally be created in a consistent manner, so as to make the VM creation process less problematic. Imagine for example that you are trying to automate the deployment of an Exchange 2013 Mailbox server. The virtual machine is going to need to adhere to certain minimum hardware requirements in order to be able to run Exchange Server effectively. You really don’t want to give those who might be creating Exchange Servers in the future the opportunity to skimp on hardware allocations, nor do you want to make them guess as to the hardware requirements. By creating a hardware profile, it becomes easy to make sure that every Exchange VM that is created is assigned identical hardware. Of course I am only using Exchange Server 2013 as an example. The same concept applies to any standardized VM.
With that said, a hardware profile is really nothing more than just a named collection of hardware allocations. To build a hardware profile, open the Virtual Machine Manager console and select the Library workspace. Next, right click on the Hardware Profiles container and select the Create Hardware Profile option from the shortcut menu, as shown in Figure A.
Figure A: Right click on the Hardware Profiles container and choose the Create Hardware Profiles command from the shortcut menu.
At this point, Windows will display the New Hardware Profile dialog box. You must enter a name for the hardware profile that you are creating, but it is a good idea to also enter a description of how the hardware profile is to be used.
After entering a name and description, click on the Hardware Profile tab. When you do, you will see a list of hardware that can be configured. As you can see in Figure B, this list looks a lot like the Hyper-V virtual machine settings page. You must now select each individual piece of hardware and then enter the value that you want to use. For example, in Figure B, I am setting the Virtual Machine Memory to 4096 MB.
Figure B: Choose the hardware allocation for the hardware profile.
There are two things that I want to point out about the hardware profile before I move on. The first thing that I want to show you is the Cloud Compatibility setting. This setting should be set to Hyper-V. By doing so, VMM will validate the profile to make sure that it is suitable for use with Hyper-V.
The other thing that I want to quickly mention is storage. An IDE adapter exists within the hardware profile by default and you can attach the virtual IDE adapter to a DVD drive. There is also a SCSI adapter that exists by default, and you have the option of creating additional SCSI adapters. What you cannot do however, is connect an IDE or SCSI adapter to a virtual hard disk. Virtual hard disks are not part of a hardware profile.
Creating a Guest OS ProfileThe next step in the process is to create a guest OS profile. To show you how the guest OS profile will be used, imagine for a moment that we needed to create a couple dozen virtual machines that were nearly identical to one another. As previously mentioned, we need to make sure that these virtual machines are as consistent as possible.
Thankfully, ensuring consistency is easy because the virtual machines are going to be configured in much the same way as one another. Sure, each VM will have a different name and the GUIDs and SIDs are going to be different from one VM to another, but other settings such as the roles and features that are installed are going to be common across all of the virtual machines.
The purpose of a guest OS profile is to centralize those configuration settings that can be applied to multiple virtual machines. For instance, if we were creating a collection of Exchange servers, there would be certain roles and features that would need to be applied to each server. Similarly, all of the machines would likely be joined to a common domain and be assigned a common administrative password. It is these types of settings that can be established through a guest OS profile.
To create a guest OS profile, open the Virtual Machine Manager console if it is not already open, and then select the Library workspace. Now, right click on the Guest OS Profiles container and choose the Create Guest OS Profile option from the shortcut menu. When you do, Windows will launch the New Guest OS Profile dialog box.
As was the case with the hardware profile that you created, you must enter a name for the guest OS profile that you are creating. It’s also a good idea to enter a description of the new profile so that you can keep track of what it is being used for.
The dialog box also contains a Compatibility drop down list. You must use this drop down list to select the guest operating system. For right now you don’t have to be overly specific. You really only have two choices – Linux or Windows. You don’t have to worry about specifying a version.
The next step in the process is to click on the Guest OS Profile tab. This tab brings up a list containing a series of settings that you can apply to the guest operating system. For example, you can specify the exact operating system that you want to install, as well as an administrative password and a product key, just to name a few. You can see what the Guest OS Profile tab looks like in Figure C.
Figure C: You can use the Guest OS Profile tab to enter settings that will be specific to the guest operating system.
Incidentally, the settings contained within the Guest OS Profile tab should be sufficient for many Windows VM deployments, but you do have the option of specifying an answer file if you need more granular control or if you already have an answer file that you want to use.