With virtualization taking over the computing world, enterprises everywhere are finding that virtual machines spread across an organization need to be managed as much as their physical computers are. Companies are also figuring out that these virtual machines have special needs and requirements that can multiply very quickly as servers are added, moved, changed or removed.
Clearly an administrator needs a software package capable of managing a sprawling environment full of virtual machines; Microsoft's System Center Virtual Machine Manager (SCVMM) 2008 R2, delivered in August 2009, is the software giant's latest response.
SCVMM is specially designed to work with Hyper-V, Microsoft's flagship hypervisor, which was newly updated for the fresh Windows Server 2008 R2 operating system release. But it also boasts the ability to manage both VMware and Hyper-V environments, a feature not found in VMware's management tools. (Contrary to some printed reports, SCVMM does not support Xen.)
Let's take a look at what SCVMM 2008 R2 can do.
Live migration and other 'hot' features
One of the biggest improvements in Hyper-V 2.0 is the ability to move virtual machines from one physical machine to another, while the VMs are running, with no loss of service. VMware's tools and products have had this ability, called VMotion, for some time, but live migration is new to the Hyper-V platform.
The biggest feature of SCVMM 2008 R2 continues to be its ability to assist with these live migrations, with essentially one- or two-click access to move a virtual machine from one host to another with no perceptible loss of connectivity, performance or other interruption. Although live migration works with bare Hyper-V using the free tool, SCVMM makes it easier -- with better intelligence about the target virtual host to which you're migrating, available resources and other information.
SCVMM also interfaces with the fail-over clustering features of Windows Server 2008 R2 to make clustered virtual machines fault-tolerant, even across data centers and different geographic locations (bandwidth obviously being a potential limitation).
Further, SCVMM 2008 R2 also now allows the addition and removal of storage to virtual machines without interruption. This is useful when scaling capacity for certain disk-intensive workloads, and SCVMM makes it a relatively simple task to manage virtual hard disks and iSCSI pass-through disks on a "hot" basis without requiring reboots or other service interruptions.
Storage management has long been a frustration in Windows Land, and it's still not the easiest thing in the world, but SCVMM improves upon the process somewhat in this release.
Virtual machine management
Of course, you buy a management tool to help you manage, and the interface and capabilities of SCVMM are well suited for that. The product consolidates many management tasks -- such as VM creation and teardown, as well as physical-to-virtual and virtual-to-physical machine conversions -- into a single environment that plays well with the rest of your infrastructure, including other management tools. All of the system center products have the same UI elements, and in particular Operations Manager can look into VMM stuff and monitor health.
SCVMM also helps you optimize your data center in a rather clever fashion, through a feature called intelligent placement. When a VM is created and ready to use, SCVMM will recommend a suitable host on which to deploy that virtual machine. The software does this by analyzing performance data and resource requirements for both the workload that you identify and for a selection of host machines across your enterprise.
You can create and adjust placement algorithms for SCVMM to use, if you wish. This intelligent placement recommendation is fully configurable to take into account not only host machine resources and the projected usage of the VM, but also business rules you select.
One of the most powerful building blocks for SCVMM 2008 R2 is its reliance on PowerShell. Every UI function in the system is built on PowerShell commands, and the management of any virtual machine is fully scriptable using a well-documented set of cmdlets for PowerShell. For instance, you can script everything from creating a VM to performing a physical-to-virtual or virtual-to-virtual conversion. Even starting a VMware VMotion live migration can be done either from the GUI or from a PowerShell cmdlet. This is certainly a boon for scripted enterprises.
SCVMM undertakes some of the heavy lifting when it comes to converting existing physical machines to virtual machines. With 2008 R2, I was able to convert an existing desktop machine on my network to a virtual hard disk (VHD) without stopping the desktop, a plus for heavily used services where scheduling down time is difficult. SCVMM also comes with a wizard that Microsoft says can convert VMware VMs to the Microsoft VHD format, a process known as V2V. (I did not test this.)
SCVMM 2008 R2 can now arrange the migration of VMs between physical hosts without identical processors; they must be similar architectures, however -- in other words, Intel to Intel or AMD to AMD. (VMware's tools can also do this.) SCVMM instructs Hyper-V to calculate what processor architecture is the "lowest common denominator" for both the physical host and the virtual machine and then presents that processor virtually to the VM. In current releases, both Microsoft's and VMware's products lack the ability to cross the processor-architecture gap when it comes to moving VMs from host to host with no manual intervention.
SCVMM accesses clustered storage in a new way, by providing a single storage space that lets clustered hosts simultaneously access files on a single LUN (logical unit number). This does away with the kludgy requirement that previously hampered VM storage: one virtual machine per LUN. This cluster shared volume (CSV) lets you, among other things, use live migration without tearing down VMs that live on the LUN that you're using for live migration. The CSV also removes a lot of the complexity associated with clustering VMs, a difficult process one edition ago.
SCVMM 2008 R2 introduces the notion of maintenance mode, which is a way for an administrator to apply updates or perform maintenance on a host server that's in a cluster. By turning on maintenance mode, SCVMM moves all virtual machines to other hosts on a cluster. This happens via the live migration feature of Hyper-V or by placing the virtual machines into a saved state. This is useful when patching one host at a time.
With the 2008 R2 release, SCVMM can now support and manage VMware ESX virtualized infrastructure along with Virtual Center. The aim here is for SCVMM to be the "single pane of glass" that administrators can use to move, create, manage, troubleshoot and otherwise oversee their virtualized infrastructure. SCVMM supports VMotion, live migration's counterpart in VMware, and also allows some of the management features baked into SCVMM, such as intelligent placement, to be used on VMware hosts as well.
In my tests, this cross-platform support worked very well. I was able to seamlessly move VMs via VMotion through the SCVMM and use the intelligent placement feature to optimize my choice of hosts for a newly created virtual machine. I was ultimately able to control 10 virtual machines spread across two different hosts, each with different core processors, with both companies' virtualization platforms. In this area, SCVMM lives up to its billing.
Of course, even a great product can be muddied by Microsoft's confusing licensing, and this is no exception. SCVMM 2008 R2 requires a Management License (ML) for each managed operating system environment (OSE). An Enterprise Server ML is offered for management of server OSEs (that is, VMs running server operating systems) and allows customers to manage an unlimited number of OSEs on a server. An R2 Client ML is available for management of client and other OSEs not running server operating systems. The VMM 2008 R2 Client ML is licensed per user and per OSE.
Got that? Prices range from $505 to $869, depending on how many servers you need to manage.
Clearly, Microsoft has some work to do on pricing and the clarity of the licensing. In an ideal world, there would be one SKU and one price for this product, but that is not the case now.
Overall, I prefer SCVMM's interface and methodology to the VMware tools. While many shops have chosen VMware's hypervisor over Microsoft's for good reason, management tools live on another layer entirely, and I find SCVMM's ability to manage cross-platform environments using one tool to access native features for both platforms to be a compelling solution. In general, I've found the UI easier to use than the VMware interface. In particular, if you have a significant investment in Microsoft's System Center products, or even in your team's PowerShell abilities, using SCVMM makes more sense than using VMware's tools.
Jonathan Hassell is an author, consultant and speaker on a variety of IT topics. His published works include books on Windows, including Learning Windows Server 2003. You can reach him at firstname.lastname@example.org.