Over the years, I’ve talked to people who own VMM and I’ve seen a few customer installations. Way too often I see one of these two things:
- An empty VMM library
- People are not deploying VMs from VM templates
The VMM Library
Adding files to the library is easy: you use Windows Explorer to copy the files into the share. If you can’t do that, maybe a job in IT isn’t appropriate? The library in the console refreshes every 1 hour by default. You can wait, or you can right-click the library and force a refresh. Now you have a repository of reusable contents.
Personally, that’s where I like to keep the ISOs that I download from Microsoft and others. Some software doesn’t come as an ISO, so I’ll use some free utility to “burn” and ISO with the installer on it. You’ll find a nicely populated MSSCVMMLibrary folder in our lab at work, and on my Windows 8 (Client Hyper-V) laptop.
To save space, WS2012 deduplication is enabled on the library volume in the VMM server.
This is also where I keep my VHDs. But more on that
Microsoft has a different way of thinking about VM Templates than VMware. From what I am told by VMware customers, every virtual machine template in vSphere consists of a VMDK and some metadata. It’s the Ghost approach – lots of images.
Microsoft went a more modular route. A VM Template is made up of:
- A linked VHD/X file: generalised by Sysprep if it’s got a Windows OS
- An OS profile: how do you want to customise the OS deployment in the VHD/X? This includes computer naming, local admin password, roles/services, etc.
- A hardware profile: how do you want to customise the virtual hardware spec of the VM? This is the entire set including, processors, memory, disks, network (and VM network connection, etc), and so on.
You can have a single WS2012 VHD/X. You can create lots of OS profiles. You can create lots of hardware profiles. And you can create lots of VM templates. You link:
- A VHD/X. A single VHD/X can be reused many times.
- A OS profile: maybe some VM templates will be for basic servers, some will be file servers (with all the storage stuff enabled), some will be web servers (with IIS enabled), and some will be .NET application servers (with .NET Framework enabled).
- A Hardware Profile: How should this type of server be specced? Maybe SQL Servers should have Startup RAM of 1024 GB and 2 additional VHDX files on the SCSI controller?
The concept here is that you can create lots of VM templates from a single VHD/X file. That means you have a single, already patched and hotfixed, VHDX file for every kind of VM deployment with that OS. Single image deployment – it’s the achievable dream in OS deployment … and it’s really easy with VMM if you bother to try. You can deploy new VMs directly from your VM templates. Maybe you make no changes in the wizard, but you can also further customise the VMs at this point.
Now deployment is easy. For example, I need to build a lab for a series of events on WS2012 non-Hyper-V features for the next few weeks. I could waste a lot of time by deploying lots of VMs, not from templates, patch the suckers, customise hardware, lots of reboots, and enabling features/roles, and lots more reboots. Or I could be clever, and build a single VM, update the patching, turn it into a template (power it down, right click, Create VM Template), create more custom VM templates from that single VHDX file, and deploy my lab really quickly from that. Which one do you think I’ll be doing?
Give yourself a couple of hours. Create a couple of VM templates based on your most common deployments, and you’ll save tonnes of time later on.
BTW, you can’t do self-service without templates, and you can have a cloud (of any type) without self-service.
This blog post is the property of Aidan Finn (@joe_elway / http://www.aidanfinn.com) and may not be reused in any manner without prior consent of Aidan Finn. You may quote one paragraph from this blog post if you link to the original blog post.