Build Your Private Cloud in a Month: Forging your Private Cloud from Bare Metal with System Center 2012 SP1 Virtual Machine Manager

imageWhen you first start working with provision your private cloud, you will need to learn how to provision the physical hardware or bare metal of your environment.  Learning how to provision bare metal systems allows you to deploy physical systems to serve various roles.  In regards to the private cloud being able to deploy Hyper-V hosts to run your virtualization workloads is key to be able to scale and control the deployment resources in your infrastructure.

In the post I am going to step you through the beginnings of deploying bare metal systems with System Center 2012 SP1 Virtual Machine Manager (SCVMM).  When I use the term “bare metal” computer , I mean a computer without an operating system installed, or a computer with an installed operating system that will be overwritten during this process. 

To create an environment to provision bare metal systems as you might imagine has a lot of pre-requisites not only for SCVMM but also for your infrastructure.   The functionality you will provide, is the ability for a server to boot via PXE and then get an image from SCVMM to make it a hyper-v host.   You will need to have WDS (for PXE booting), the WAIK or WADK, and lots of other things that need to be done.  A brief overview of the configuration is the following:

  1. VMM requires WAIK/WADK, which contains ‘vanilla’ WinPE image
  2. WDS role on Windows Server 2012, Windows Server 2008 R2 or R2 SP1 (initial configuration complete, no images need to be added)
  3. DHCP Server needs to be added and configured
  4. User adds the WDS server to the VMM server using Add Resources -> PXE Server wizard
  5. VMM installs VMM agent to WDS server
  6. DCMgr” folder gets created under D:\RemoteInstall (or where ever WDS is configured to keep images)
  7. WinPE image is published to the WDS server * Publishing is where VMM injects VMM WinPE agent and certificate to the WinPE image

There is a great series located here that takes you through the process.  Each part is about 1 hour in length and is a great way to get you on the way to setting up your bare metal deployment environment:

Step by step: From bare metal to the private cloud with Microsoft System Center 2012 in 8 Parts 

So for this post, I wanted to take you through the first part of the process is to discover which systems you will make your hyper-v hosts from bare metal.  Even before these process begins there are several pre-requisites in SCVMM to make that work.  Here is a great article that talks about them:

How to Discover Physical Computers and Deploy as Hyper-V Hosts in VMM

One of the things your will need to do before you setup your hyper-v hosts is create your host profile in SCVMM:

  1. Open the SCVMM console
  2. Open the Library Workspace
  3. Click Profiles and select New Host Profile
    image
  4. In the New Host Profile Window type in a name for the profile and Click Next:
    image
  5. Select your OS image VHD from your SCVMM server and click next, so even before you create the profile you will need to have a created an OS VHD.
  6. Configure the Management NIC for the host and click next:
    image
  7. In the OS Configuration, you have the ability to configure basics of the system and an answer file, when your done click Next.:
    image
  8. Configure your virtual machines paths and click next.
  9. Review the summary, you can also view the PowerShell script created (example is below), then click Finish.

$VHD = Get-SCVirtualHardDisk -ID "98872754-0293-437f-8893-baab8609f032"
$RunAsAccount = Get-SCRunAsAccount -Name "BMetal"
$AdminCredentials = Get-Credential
New-SCVMHostProfile -Name "Bare Metal" -Description "" -DiskConfiguration "MBR=1:PRIMARY:QUICK:4:FALSE:OS::0:BOOTPARTITION;" -Domain "contoso" -TimeZone 20 -RunAsynchronously -FullName "BareMetal" -OrganizationName "Contoso" -ProductKey "12345-67891-01112-13141-51678" -VMPaths "" -VirtualHardDisk $VHD -BypassVHDConversion $false -DomainJoinRunAsAccount $RunAsAccount -LocalAdministratorCredential $AdminCredentials

After you have your host profile created you can then configure your SCVMM environment to discover the physical computer and deploy it as a managed Hyper-V host:

  1. Open the SCVMM Console

  2. Open the Fabric workspace.

  3. In the Fabric pane, click Servers.
    image

  4. On the Home tab, in the Add group, click Add Resources, and then click Hyper-V Hosts and Clusters.

  5. On the Resource location page, click Physical computers to be provisioned as virtual machine hosts, and then click Next.
    image

  6. On the Credentials and protocol page, do the following:

    1. Next to the Run As account box, click Browse, click a Run As account that has permissions to access the BMC, and then click OK.
    2. In the Protocol list, click the out-of-band management protocol that you want to use for discovery, and then click Next.
      image
  7. On the Discovery scope page, specify the IP address scope that includes the IP addresses of the BMCs, and then click Next. You can enter a single IP address, an IP subnet, or an IP address range.
    image

  8. If you specified an IP subnet or an IP address range, the Target resources page will list the discovered computers. Select the check box next to each computer that you want to convert to a Hyper-V host. If you are running VMM in System Center 2012 SP1, and you do not need the information that is provided through deep discovery (for example, MAC addresses of network adapters), then you can decrease the time that is needed for deployment by clearing the Skip deep discovery for the selected computers check box.Click Next.

  9. On the Provisioning options page, do the following, and then click Next:

    1. In the Host group list, click the host group that you want to assign as the target location for the new Hyper-V hosts.
      For example, click New York\Tier0_NY.
    2. Choose whether the Hyper-V hosts will obtain their network settings through DHCP, or whether to assign static IP addresses from an IP address pool that is managed by VMM. For either option, in the Host profile list, you must select a host profile that contains these predefined network settings. Only the host profiles with an IP address setting that matches the selected assignment type will appear in the list.
      image
  10. If you are running VMM in System Center 2012 SP1, follow this step. Otherwise, skip to the next step.  Select a computer, allow time for deep discovery, and click items in the list on the left to review information about the computer. As needed, adjust settings.

  11. On the Deployment customization page, the steps vary, depending on whether you selected a host profile that uses DHCP or a host profile that uses static IP addresses.

  12. On the Summary page, confirm the settings, and then click Finish to deploy the new Hyper-V hosts and bring them under VMM management.
    image

    The Jobs dialog box appears. Make sure that all steps in the job have a status of Completed, and then close the dialog box.  Here is an example of the process in PowerShell

$HostGroup = Get-SCVMHostGroup -ID "0e3ba228-a059-46be-aa41-2f5cf0f4b96e" -Name "All Hosts"
$RunAsAccount = Get-SCRunAsAccount -Name "baremetal"
$HostProfile = Get-SCVMHostProfile -ID "465f8ce1-565b-49ee-ad0b-dca1fa99edc8"

Hopefully this post will get you started down the path to create a bare metal deployment infrastructure.  There are a ton of resources and even more steps to get this process started.  Please remember this article to help guide you:

Step by step: From bare metal to the private cloud with Microsoft System Center 2012 in 8 Parts 

If you are new to SCVMM and want to kick the tires, take a look at this virtual lab:

TechNet Virtual Lab: System Center 2012 Virtual Machine Manager: Building Your Cloud Infrastructure 

To learn more about the series and other parts please go here: Build Your Private Cloud in a Month - New Article Series