End-to-End Bare-Metal Provisioning with SCVMM 2012 SP1 / R2 - Part 5 - Selecting an imaging tool

Now that the supporting infrastructure has been built to support your environment's bare-metal provisioning, let's build a reference image.  The term reference image is used to describe the server image you will be using as your baseline image to all your Hyper-V servers.  There are many approaches and techniques you can use to build and more importantly maintain this image.  I prefer to use the Microsoft Deployment Toolkit (MDT) which is provided as a free download as a Solution Accelerator.  You can download MDT 2013 from here.

Before we begin, let me describe some of the rationale to why I pick this approach.

Bare-metal provisioning with SCVMM requires a Windows Server 2012 / R2 image consisting of a VHD / VHDX file.  This VHD / VHDX file can typically be developed in one of two ways:

  1. From source media: typically this is an ISO file downloaded from Microsoft's Volume Licensing site for production environments or MSDN for development / test environments.  The issue I have with this approach is it provides an out-of-date image file.  You still have to update the Hyper-V host once it's on the network.  This process can increase the time needed to deploy a host by up to an hour currently on Windows Server 2012 (due to the number of updates released since the OS has been released).  This is unacceptable to many of my customers and I agree this is not acceptable.  Technically, you can still update this image using the dism command or VMST (Virtual Machine Servicing Toolkit).  Using dism requiring additionally scripting to add to your environment and VMST still does not support SCVMM 2012 SP1 or R2
  2. From another existing VM: this approach is popular with some of the customers I've worked with, especially ones who are used to building VMs on competing platforms.  Using this approach, you create a VM manually, and then using the WSUS server in your environment to update it, sysprep the VM and prepare it for use by SCVMM.  All of these things are manual in nature and require scripting to automate.

MDT offers a way to combine both approaches.  Here's why I pick it to generate a reference image for use in SCVMM bare-metal provisioning:

  • I still begin by the source media so I know it has a known steady state. 
  • It integrates with the WSUS we created in part 4 of this series to provide the image with latest and approved updates.
  • It is a repeatable process using MDT's task sequences.  This is a big win with customers!  Customers typically have a process in place to update their server images say on quarterly basis.  Updating the server image using this approach essentially means the execution of an MDT Task Sequence.  This process takes less than 2 minutes to kick off the task sequence to create an updated reference image periodically.
  • It's a fully customizable image.  While I am in general against creating a heavily customized server image, there are good use cases for adding say certain Windows Server roles or features in the customized image.  One example is the failover clustering feature in Windows Server 2012 / R2.  While SCVMM will add this feature if it's not already in the image, it doesn't update the image with failover clustering-specific updates from Microsoft Update.  Integrating this feature into your reference image, along with the WSUS / Microsoft Update integration ensure features common to your server build are fully updated.
  • MDT allows you to easily build a WinPE image containing hardware-specific drivers needed for bare-metal provisioning.  SCVMM does not have any built-in functionality to update your WinPE image with hardware-specific drivers.  MDT takes care of this easily.

Now that you know why MDT is a great for your bare-metal server builds, let's see how to do this and integrate it with SCVMM.  You will need to download the following components:

  • Microsoft's Assessment and Deployment Kit version 8.0 or 8.1.  Either version will be fine for the purpose of creating a reference image.  If you are installing MDT on your SCVMM Management Server, then you already have a version of ADK installed.  SCVMM 2012 SP1 requires version 8.0 and SCVMM 2012 R2 requires 8.1.  I generally don't recommend placing your MDT build environment on your Management Server, but it's technically possible.  If you are not installing MDT on the SCVMM Management Server, then pick ADK 8.1 as it's the latest.  It's also the version needed if your bare-metal Hyper-V hosts will be 2012 R2.
  • Microsoft Deployment Toolkit 2012 Update 1 or 2013.  2012 Update 1 is compatible with ADK 8.0 and Windows Server 2012 while 2013 is compatible with ADK 8.1 and Windows Server 2012 AND Windows Server 2012 R2.  Again, if you are installing MDT on a build environment PC or server, then pick the latest version.
  • You will need the WIM2VHD script to convert the WIM file output from MDT to a VHD/VHDX file consumable by SCVMM 2012 SP1 / 2012 R2.  You can get it from TechNet Gallery here.

In the next post, we use MDT and ADK to build a reference image.

Till next time,

Adiy