At first glance, it looks like creating profiles in Microsoft Virtual Machine Manager (VMM) is a simple process, but it will become difficult to manage these profiles and their configurations if you don't pay attention to some of the details.
The hardware profile is created to define the hardware configuration that will be used when deploying a VM on a virtualization host via a VM or service template. In a hardware profile, you can specify the number of virtual processors, the amount of meme memory, whether it will be static or dynamic memory, and whether to make the VM highly available. You can also choose between a Generation 1 or Generation 2 type VM, but note that choice is only available if you are running VMM 2012 R2 as shown in Figure 1.
How many hardware profiles should you create? There are two main things you need to pay attention to when deciding the number of hardware profiles to be created in VMM. In a large organization, there will be several business units operating. You would always want to create multiple hardware profiles, considering the fact that different business units will have different system resources needs. For example, for VMs that will be used by the development team, you might want to assign fewer system resources as compared to a line-of-business VM, which might require more processing power and memory. Second thing to note is that since there are two types of VMs (Generation 1 and Generation 2) that are supported by Hyper-V 2012 R2 hosts, it could be possible that you would need two hardware profiles -- one for each type of VM. In case all of your virtualized workloads will run on Generation 2 VMs or will run Windows 8 and later, you would eliminate the need for creating a hardware profile, specifically for Generation 1 VMs.
What naming convention should you follow for hardware profiles? Since hardware profiles contain the details of the system resources and will be used while creating a VM template, give it a descriptive name that is easy to identify. For example, for a hardware profile that is used by development team, an example name could be "Hardware For DevTeam -- Gen2." Similarly, a profile for production workloads could be named "Hardware for Production VMs -- Gen2." A descriptive name can help you choose the correct hardware profile with the proper settings when creating a VM template or when deploying a VM.
Guest operating system profiles
A guest OS profile is created to define specific common settings of an operating system, such as type, computer name, local administrator password, domain name (if the VM is going to be joined to a domain), time zone, operating system product key and GUIRunOnce file (if any) among others. When specifying the computer name in a guest operating system profile, you can either specify a pattern or enter an asterisk. If you use an asterisk, Windows OS will generate a computer name automatically when a VM is deployed. You might not want to follow automatic generation of computer names in a production environment. Rather than allowing the OS to generate a unique computer name, a specific pattern that follows the production computer naming convention could make life easier. For example, specifying ORGPC##### in the identity information field in a guest OS profile will make sure that all VMs deployed using that profile will use the ORGPC as the computer prefix and 00001, 00002 and so on as a unique identifier for computer names.
How many guest operating system profiles should you create? When deciding the number of guest OS profiles to be created in VMM, it is necessary that you take the common configuration items as a base to arrive at a number. There are several configuration items that you can define in a guest OS profile as shown in Figure 2, but the key ones are operating system, identity information and time zone.
In a large production environment, you will have different versions of Windows operating systems running. You will have clients running Windows 8 or 10 and servers running Windows Server 2012 R2 or later. In a guest OS profile, you can select only one type of OS. If you have multiple operating systems running in your production environment, you would probably need two or more guest OS profiles.
In the identity Information field, you can specify the computer name or a pattern that follows the production computer naming convention. It is imperative to understand that most of the production environments will have different naming convention for Windows client and server computers. If this is the case, you would probably have to create guest OS profiles based on the number of computer naming conventions you are going to use.
The third thing to look at is time zones. Large organizations will have their business set up around the country or across the globe. This is one of the configuration items you might want to take into consideration when deciding a number for guest OS profiles.
All in all, once you arrive at a number for each configuration item, take the maximum number and that will be the number of guest OS profiles you will need to create in VMM.
In a guest OS profile, you can also select roles or features that will be installed automatically when deploying Windows Server 2008 R2 or later in a VM. But it is important to note that role or features can be installed automatically only if you apply that guest OS profile to a service template. In other words, a VM deployed via a VM template will fail if a guest OS profile configured includes Windows roles or features. The same guest OS profile can be used for domain-join information if you have joined the OS running in a VM to an Active Directory domain, unless you have multiple domains.
What naming convention should you follow for guest OS profiles? When it comes to naming guest OS profiles, provide a descriptive name that identifies the configuration defined in the guest OS profile. Usually, guest OS profiles are named based on the OS and computer naming convention specified in the profile. For example, if you specify Windows Server 2012 R2 as the OS, a pattern in the identity information, and provide the domain information so VMs are joined to the domain automatically, give it a name such as "Domain Joined Windows Server 2012 R2 -- Naming ORGServer" or similar to a name that is easy to identify.
How hardware profiles work in Microsoft VMM
Establishing multiple hardware profiles in Windows XP
Find out if hardware profiles work in Microsoft Virtual Machine Manager