There's no doubt that server virtualisation will fundamentally change the way IT administrators think of servers and service delivery. It's not hard to imagine a future where applications run on servers that have no fixed physical location and move around in the cloud according to business needs.
Even though IT media and virtualisation vendors paint a picture of this already happening, real-world business implementations will take longer.
The main challenge in server virtualisation is not the actual hypervisor, nor the process of running several virtual machines (VM) on one box; as any business soon finds out, the trick is in managing and monitoring VMs, optimising performance, maintaining security and preventing virtual machine sprawl.
Microsoft's answer to these challenges is Systems Center Virtual Machine Manager 2008 (SCVMM), recently released in its R2 incarnation.
SCVMM 2008 R2 manages a virtualised datacentre by controlling MS Virtual Server 2005 hosts, Hyper-V hosts and VMware ESX hosts via VirtualCenter. This is perhaps its biggest selling point, the ability to manage multiple platforms in the same console. Management of XEN servers is an upcoming feature, but it's not in the R2 version.
Built entirely on PowerShell, there are essentially three ways of driving SCVMM: the console, which can be customised for particular users to only give them access to their own VMs; the command line; and the web-based self service portal. Going from the physical world to the virtual is easy with a robust Physical 2 Virtual (P2V) wizard that converts a running machine to a VM in a few easy steps. Intelligent Placement suggests which host would be most suitable to host a new VM on, based on CPU/memory and networking needs.
If you have Systems Center Operations Manager in your environment, SCVMM can use Performance and Resource Optimization (PRO) to suggest manual actions to remedy performance issues or even implement solutions automatically.
SCVMM 2008 R2 runs only on Windows Server 2008 x64, either R1 or R2. You can run SCVMM itself in a VM and manage the environment from there which works fine on a smaller environment. Underlying SCVMM is an SQL Server database, either SQL Server Express (included) or if scalability is required, full-blown SQL Server 2005/2008. The maximum tested size of SCVMM is 400 hosts and 8000 VMs.
There's also a Workgroup Edition of SCVMM that only supports five hosts. Microsoft has just recently announced Microsoft System Center Essentials Management Suite, a package that bundles Workgroup edition with System Center Essentials 2007 for monitoring of both physical and virtual servers at 37 per cent discount.
The main thrust of this R2 version is supporting the new features in Hyper-V R2, both in Windows Server 2008 R2 and in the stand-alone Hyper-V R2 server. Live Migration is Microsoft's answer to VMware's VMotion. Both technologies allows for the transfer of a running VM from one host to another in a cluster with no perceived downtime for connected client computers.
Clustered Shared Volumes (CSV) is also new in Windows 2008 R2, which allow for more than one VM to be stored on each LUN in your Storage Area Network (SAN). Networking advances such as Virtual Machine Queue (VMQ) and TCP Chimney are also fully supported and result in noticeable performance gains in networking. Adding and removing virtual storage (VHD files) from running VMs is also fully integrated in SCVMM 2008 R2.
Templates — self-service
The system for creating VMs that are ready to be put in production in SCVMM involves the Library server (essentially just one or more file shares, maintained by SCVMM), hardware and guest OS profiles, and an existing VM. Together these generate templates for new VMs. A new VM based on a template can be spun up on a suitable host in a matter of minutes.
Where you have the need to allow users to create their own VMs and manage them at a simple level, the self-service portal is your friend. A web page gives access (based on administrator-assigned permissions and policies) for users to create new VMs based on your templates, start and stop them as well as put them back into the library. To curb enthusiastic users from swamping your hosts with running VMs, a quota system can be implemented where each VM "costs" a certain number of points and each user is given a specific quota.
Windows Server 2003 and later can be converted from running on a physical server to a VM, simply by running the P2V wizard and pointing it to the server. A small agent is installed on the server and inventories current hardware, and presents this for review along with any issues that may affect the conversion. For earlier operating systems that lack VSS support, such as Windows 2000, the candidate server has to be restarted and won't be available to service users during the conversion.
Clustering and migration
Clustering used to be a very expensive exercise that only big business undertook for special workloads. Virtualisation, however, pushes High Availability and Clustering into the mainstream because if you have 15 physical servers and one of them goes down, that's a bad situation, but if you have 15 VMs hosted on a physical host and it goes down you might find yourself looking for a new job.
Failover Clustering in Windows Server 2008 Enterprise and Data Center links two or more hosts to shared storage (either iSCSI or Fibre Channel SAN). The VMs are stored on the SAN and are executed on either host; if one host server needs to be offline for patching, maintenance or upgrades, the running VMs can be moved to the other host. The addition of Clustered Shared Volumes to Windows Server 2008 R2 will make it much easier to set-up Hyper-V clusters.
Another new feature in SCVMM R2 is maintenance mode, where VMs are automatically Live Migrated to other hosts or placed in a saved state while the host is down. Finally, moving VMs between hosts has traditionally required that the host CPUs were of identical make and model since the VMs will have "adapted" to a particular set of instructions. A new feature that lets you limit the CPU instruction set allows moving VMs between processor families, still only Intel to Intel and AMD to AMD, however.
Performance and Resource Optimisation (PRO)
If Systems Center Operations Manager 2007 is monitoring your environment, it can integrate with SCVMM through special, PRO-enabled management packs. These collect data about VMs, hosts and applications as well as the underlying physical hardware. Any opportunity to optimise the virtual environment is shown as a PRO tip in SCVMM; policies can also be configured to allow automatic actions. For instance, if a web server farm is receiving unusually heavy traffic, another VM can automatically be started and put into production.
SCVMM 2008 R2 is a very competent product, neatly bringing Microsoft's virtualisation management offering in line with the competition at the same time as offering management of disparate platforms in the one product. The integration with the rest of the Systems Center suite makes the overall management and monitoring experience better than its rivals.
The main console with an Outlookesque layout with categories on the left, objects in each
category in the middle pane and tasks to perform on the right. (Screenshot by ZDNet.com.au)
Each task you start in SCVMM ends up in the job queue where their status can easily be tracked. (Screenshot by ZDNet.com.au)
A diagram of your VMs and virtual networks for the visually minded. (Screenshot by ZDNet.com.au)
A web-based portal making it easy for authorised end users to manage their own VMs. (Screenshot by ZDNet.com.au)