Last week, John Howard presented a Microsoft TechNet UK event about virtualisation. I’ve blogged about Virtual Server before and there is a good overview white paper on the Microsoft website. What I found particularly interesting was the insight which John gave into where virtualisation technology is heading (at least in the Microsoft space).
Microsoft are keeping quiet about where Virtual PC is heading (the official answer to various questions that I raised about the future of Virtual PC was “Virtual PC is not going to be quietly killed off – however we have not made any announcements about the Virtual PC roadmap at this stage”) but there is lots happening with Virtual Server.
First of all, we have Virtual Server 2005 release 2 (R2), formerly service pack 1 (SP1), which is expected to provide a number of improvements over the current release, including:
- A 64-bit port of the Virtual Machine Manager to support Windows Server 2003 x64 Edition and Windows XP Professional x64 Editions as hosts.
- Support for Windows Server 2003 service pack 1 as a guest operating system (currently SP1 is newer than the Virtual Server 2005 virtual machine additions and so does not perform well as a guest – as detailed in Microsoft knowledge base article 900076, although Microsoft product support services will also supply the latest additions on request).
- Support for non-Microsoft guest operating systems (with rumours of virtual machine additions for SUSE and Red Hat Linux, and a revival of the OS/2 support inherited with the purchase of the original Connectix product which Microsoft developed to become Virtual Server).
- Improved manageability through pre-boot execution environment (PXE) boot support within the virtual machine BIOS.
- Bug fixes.
- Performance improvements (up to a 60% improvement for memory intensive applications and 50% better host CPU utilisation).
- A SCSI shunt driver (i.e. better support for SCSI mass storage device driver installation at bootup).
- iSCSI clustering support.
- Virtual hard disk (.VHD) pre-compaction tool.
- Saved state (.VSV) hard disk space reservation.
Also, when R2 is released there will be a free download (and supporting white paper) called Virtual Server host clustering. This is Microsoft’s answer to VMware Vmotion, allowing virtual machines to fail over between hosts using shared disk clustering (direct attached storage, SAN, or iSCSI). Virtual Server host clustering will be agnostic of guest operating system and Microsoft see two scenarios where it will add significant value:
- Planned downtime – allowing live migration of a virtual machine whilst running (effectively a save and restore state). Initial figures indicate that on an iSCSI disk, a virtual machine using 128MB of RAM would fail over in 10 seconds.
- Unplanned downtime – migrating virtual machines to another cluster node in the event of failure, albeit with a restart as the virtual server state would be lost when the original node fails.
Post-Virtual Server R2, a service pack is expected (although the cynic in me asks whether it will be repositioned as a new release…) which will offer support for Intel virtualization technology (formerly codenamed Vanderpool) and equivalent technology from AMD (codenamed Pacifica). These technologies will provide hardware assistance for virtualisation, enabling improved performance for non-Windows operating systems (Windows performance is already improved through the use of virtual machine additions, which will no longer be required). Current milestones (obviously likely to change) are for a public beta in the first quarter of 2006 and release to manufacture (RTM) in the third quarter.
Further out, in the Longhorn Server wave will include technology called Windows virtualisation for servers (codenamed Viridian), avoiding the requirement for a host operating system.
Windows virtualisation for servers is based on a thin, trusted software layer, sometimes referred to as a hypervisor (although this term actually belongs to IBM, hence the long-winded Microsoft product marketing name) and a separate, small, management partition, designed as a foundation role to reduce the attack surface (sometimes known as “MinWin”). Windows virtualisation for servers does require hardware support (there are no device drivers as such as these would impinge on the trusted status of the hypervisor, although an API for independent software vendors is provided at a higher level) and is supplemented by a virtualisation stack with a WMI provider and virtual machine worker processes as well as a system of virtualisation service providers (VSPs) that provide a hardware sharing architecture (for storage, video, keyboard, mouse, USB devices, etc.) and virtualisation service clients (VSCs) that expose the hardware to the kernel, linked by a high-speed in-memory interconnect called the virtual machine bus. The final element of this technology has been christened “enlightenments” – optimisation technologies possibly best illustrated by way of an example:
- In today’s virtual environments, guest operating systems are unaware of the fact that they are running on virtual hardware. This means that both the host and the guest operating system(s) perform their own memory management. If the guest were to be enlightened and made aware that virtualisation is in use, then this “doubling-up” could be avoided.
The ring numbers in the diagram refer to the four privilege levels within the Intel x86 processor architecture, with -1 being a new level for the hypervisor layer. Windows currently uses ring 0 (kernel mode) and 3 (user mode), with virtualisation additions running in the rarely-used ring 1 to allow non-trappable instructions to be trapped, thus avoiding negative impacts on the host environment (a technique known as ring compression).
There is no doubt in my mind that virtualisation is becoming ever more important, particularly as an enabler for the dynamic data centre. These enhancements to Microsoft Virtual Server, supported with by the new processor designs from Intel and AMD mean that Microsoft is finally set to become a real player in the enterprise virtualisation market.