How To Configure and Provision Hyper-V Host Servers with SCVVM
Your guide to using System Center Virtual Machine Manager to configure your VMs and hosts.
System Center Virtual Machine Manager (VMM) started off as a solution you could use to manage all of your VMs across multiple hosts through a single pane. Over time, however, VMM has evolved into much more. For one thing, you can now use it to manage Hyper-V host servers, not just VMs. This opens up new techniques for using VMM to manage your virtualization hosts.
Serve up Your Hosts
There has recently been a great deal of emphasis on the concept of using standardized deployment images to set up new servers. Even so, the tendency is to use deployment images primarily for setting up desktops and virtualized servers. Many organizations choose to deploy Hyper-V hosts manually because of the simplicity of setting up host servers. However, VMM can now simplify the process of Hyper-V host server deployment.
You can actually configure VMM to discover bare-metal servers and then install Windows Server and Hyper-V. Then you can configure the server to be a managed host. Of course, you have to meet some prerequisites for this type of setup.
The first requirement is that your server hardware must support out-of-band management. Using VMM for host deployment supports three out-of-band management protocols, including:
- System Management Architecture for Server Hardware (SMASH) version 1.0 or higher
- Intelligent Platform Interface version 1.5 or higher
- Data Center Management Interface (DCMI) version 1.0 or higher
You'll also have to do a bit of work to prepare the host servers before you can use VMM to deploy the host OS. The first thing you'll have to do is go into the server BIOS and enable hardware-level virtualization (and Data Execution Prevention in some cases).
You'll also have to configure the server to support Pre-Boot eXecution Environment (PXE) boot. While you're at it, you'll need to verify that the server is configured to allow out-of-band management. The server must also exist on the same network segment as the VMM server. This process assumes you'll have IP addresses assigned to the server using Dynamic Host Configuration Protocol (DHCP).
Add a PXE Server to VMM
Although the VMM server can provision new Hyper-V hosts, it doesn't do the job by itself. You have some legwork to do on the side. You must have a PXE server and must make that PXE server available through Windows Deployment Services (WDS). Once you have your server set up and running, you need to make VMM aware of its existence.
Begin the process by opening the VMM console and clicking on the Fabric tab. Once the Fabric pane is displayed, take a moment to ensure you have the Servers container selected. Now, select the Home tab (at the top of the console) and then click the Add Resources button.
At this point, you'll need to choose the PXE Server option from the list of available resources you can add. Now you'll see the Add PXE Server dialog box. Enter the fully qualified domain name (FQDN) of your PXE server, as well as a set of credentials with local administrative permissions on the PXE server. When you're finished, click the Add button. When you click on Add, VMM will display the Jobs dialog box. Make sure that the Setup a New PXE Server job is successfully completed.
Create a Host Profile
The next step in the process is to build a deployment image from which you will deploy new Hyper-V hosts. That image must be a generalized virtual hard disk (VHD) file. As a best practice, it's a good idea to create the VHD in VHDX format and base the image on a generalized Windows Server 2012 deployment.
However, that's not your only option. VMM also supports using VHD files and Windows Server 2008 R2. But keep in mind that if you plan to use a VHDX file, you must have the image based on Windows Server 2012.
The easiest way to create the deployment image is to create a VM and then install the server OS. When you're done, you can use the Sysprep tool to generalize the VM. Then your image is ready.
Once you've created the generalized image, the next step is to create a host profile. To do this, open the VMM console and click on the Library tab. Next, click on the Home tab (at the top of the window). Now, click on the Create button and choose the Host Profile option.
When the Host Profile wizard opens, you'll be prompted to enter a name and an optional description for the host profile you're creating. After doing this, click Next and you'll be prompted to choose a VHD file. Click the Browse button to see a list of VHDs from which you can choose.
This brings up an important point. You'll only be able to choose from VHDs included in the library. If your host servers require any special drivers (such as storage drivers or network interface drivers), you'll need to add those drivers to the library as well.
When you select a VHD, VMM will automatically check to see if it's a dynamically expanding disk or a fixed disk. If the VHD is dynamically expanding, VMM will automatically convert it to a fixed disk. Although Microsoft recommends using fixed disks for performance reasons, the wizard does offer a check box you can use to prevent your VHD from being converted.
Click Next and you'll go to the Hardware Configuration page. This page defines how VMM will use the hardware on the bare-metal host. The first option on this page lets you choose the NIC that VMM will use to communicate with the server. Although you can use a physical or a virtual network adapter, using a physical network adapter is almost always the most appropriate choice. Keep in mind the NIC drivers must exist either within the Windows deployment image or within the library.
The Network Adapters section has two more settings you'll have to configure. You'll need to specify the network adapter's Content Delivery Network (CDN), or tell Windows the CDN is unknown. You'll also have to tell VMM where the server will get its IP address. The host profile is configured by default to acquire an IP address from a DHCP server.
The next section on the Hardware Configuration page covers disks and partitions. You can usually get away with using the default values for these options. The wizard asks you what partition scheme to use and whether the partition should occupy the entire disk. Make sure you've checked Make This Partition Bootable.
The last section on the Hardware Configuration page covers driver options. Once again, it's usually a good idea to accept the default options. The host profile defaults to selecting drivers based on plug-and-play ID numbers.
The next screen is OS Configuration. The problem with a generalized server is that it removes key information the Setup program will need. You can use the OS Configuration section to provide information such as an administrative password, product key and time zone.
When you finish providing OS configuration information, click Next and you'll go to the Host Settings page. This page asks you to add a path by which your VMs will be placed on the host servers.
When you're done, click Next. You'll see a summary of the configuration information you've provided. If everything appears to be correct, click Finish and VMM will create the host profile.
Provision a New Host
The last step in the process is to use VMM to provision a new Hyper-V host server. Begin the process by clicking on the Fabric tab and selecting the Servers container. Now, click the Add Resources tile and choose the Hyper-V Hosts and Clusters option from the list of available resources. When you do, you'll see the Add Resource Wizard.
On the wizard's initial screen, choose the Physical computers to be provisioned as virtual machine hosts option. Then click Next.
On the following screen, you'll have to choose a Run As account that has permission to access the computer you're provisioning via the Baseboard Management Controller (BMC). Make sure you've selected the appropriate out-of-band management protocol. Click Next.
Now you'll see the Discovery Scope page. Enter the IP address scope for the computers you plan to provision. The easiest way to do this is to enter an IP address range. When you click Next, the console will display all of the computers VMM discovered. Select the check box next to each server you want to deploy as a Hyper-V host and click Next.
When you reach the Provisioning Options page, select the host group you want to assign as the target location for the new Hyper-V hosts. You can also specify how to assign the new host an IP address.
The options displayed throughout the rest of the wizard will vary depending on the options you've chosen so far. You'll eventually reach the wizard's Summary page. Take a moment to verify that you've entered the correct information and click Finish. When you do, you'll see the Jobs page. The job should eventually show a Completed status. This conveys that the host has been provisioned.
You can verify that you've deployed Hyper-V to the new host by clicking on the management console's Fabric tab. Then expand the Servers container and click on All Hosts. You should see the new server listed within the host group you specified within the Add Resource Wizard.
As you can see, there's quite a bit of work involved in configuring VMM to deploy Hyper-V hosts. However, if you need to deploy a lot of host servers and want to perform the deployment in an efficient and uniform manner, VMM can save you a lot of work and a lot of time.
Brien Posey is a 20-time Microsoft MVP with decades of IT experience. As a freelance writer, Posey has written thousands of articles and contributed to several dozen books on a wide variety of IT topics. Prior to going freelance, Posey was a CIO for a national chain of hospitals and health care facilities. He has also served as a network administrator for some of the country's largest insurance companies and for the Department of Defense at Fort Knox. In addition to his continued work in IT, Posey has spent the last several years actively training as a commercial scientist-astronaut candidate in preparation to fly on a mission to study polar mesospheric clouds from space. You can follow his spaceflight training on his Web site.