SCVMM 2012: Bare Metal Deployment
June 27, 2011
Posted by on
Having written two parts so far on preparing for bare metal deployment, I thought that I’d take a bit of a step back and write about what SCVMM 2012 will do and will require in order to achieve bare metal deployment.
Microsoft understand the following to be the VM host lifecycle:
VMM 2008 didn’t support all of that lifecycle. VMM 2012, by comparison, has gained improvements in the following areas:
- Out of band management: control of bare metal machine using baseboard management controller (BMC).
- OS deployment: provision OS with Hyper-V onto bare metal machine.
- Cluster creation: fully automated Hyper-V cluster creation.
The goal for VMM 2012 is to discover bare metal machines and bring them to a fully provisioned state with Hyper-V enabled. To achieve that, the following functionality is incorporated into VMM 2012:
- VHD image-based deployment to bare metal
- Host profiles are used for a consistent configuration to a variety of hardware
- The Add Resource Wizard provides for selection and customisation at deployment time
- Out-of-band communication and WDS/PXE allow for the bare metal computer to boot into the VMM deployment agent.
Setting up the PXE server for bare metal deployment of Hyper-V requires Windows Deployment Server (WDS) on Windows Server 2008 R2 and the installation of the VMM OSD provider and agent. This provider coexists with other providers and responds to VMM-initiated PXE requests, resulting in the deployment of WinPE. I’m planning to write more about setting up the PXE server in a future blog entry.
Deploying onto bare metal requires:
- The VHD in the VMM library
- Device drivers for the hardware in the VMM library
- Logical network definition
- Static IP addresses from a defined VMM pool or DHCP if preferred
- Optional “generic” commands to do some configuration of hardware before the OS gets deployed, e.g. configuration of RAID hardware
- Disk partition layout definition
- OS settings
… all of which builds into the Host Profile.
Once you have all of the pieces in place, deploying onto bare metal looks like this:
In a nutshell:
- VMM performs an out-of-band reboot of the bare metal hardware.
- The bare metal server does a boot from PXE.
- The PXE server talks to VMM to authorise the PXE boot.
- The bare metal server downloads WinPE from the PXE server.
- If defined, the bare metal server runs any generic commands, and then configures the drive partitions.
- The bare metal server downloads the VHD from the library server (which can be the VMM server) and then injects the drivers.
- The bare metal server finishes off the customisation and joins the domain.
- Finally, Hyper-V is enabled.
One thing about this approach is that deployment to bare metal only supports Windows Server 2008 R2 because the deployment actually sets up the host to boot from a VHD file, rather than deploying the OS “natively” onto the host’s hard drive. That shouldn’t be too big an issue as the performance of VHD is very close to that of native IO.
Best practice when booting from VHD is that the VHD is of fixed size so that you know how much space is going to be required for that VHD. However, it should be noted that when booting from VHD, the page file for that operating system gets stored on the native hard drive and not in the VHD. It is therefore important that the native hard drive is big enough for that boot VHD and the page file (which will be the same size as the amount of memory in the server).