We techies tend to look forward to new technology with good reason. In most cases, new products and services improve upon old technology. But migration in production environments can be slow. So what about existing technology? A good case in point is Microsoft Virtual Server 2005 R2 SP1 (MSVS). MSVS is available for free and is a perfectly viable option for many environments. In this tip, I'll look at when, where and why you might want...
to use MSVS rather than its newer replacement, Hyper-V.
Comparing system requirements for MS Virtual Server
MSVS runs on a wide variety of platforms, including Windows XP, Windows Vista and Windows Server 2003. It runs on either the 32-bit or 64-bit editions of these operating systems (OSes) and is installed as a service that runs within and alongside the primary operating system. This makes MSVS suitable for the overwhelming majority of servers (and desktops, for that matter) that are in production environments today.
Hyper-V, on the other hand, has more stringent system requirements. You must be running a 64-bit edition of Windows Server 2008, and your server's CPU and BIOS must support virtualization extensions (AMD-V or Intel VT). Almost all new server purchases will meet these requirements, but if you're not planning to replace existing machines, it can pose a barrier.
Both MSVS and Hyper-V are easy to install and enable. Both are available for free from Microsoft and support all of the standard virtualization operations you'd expect.
Evaluating Microsoft Virtual Server
MSVS provides a ready and convenient method of running the vast majority of mainstream guest OSes, and hundreds of more obscure ones, although it is limited to running 32-bit guest OSes (regardless of whether the host OS is 32-bit or 64-bit). Administrators can implement high-availability through guest and host-level clustering, and can use SANs and other network-based storage devices to simplify management. MSVS can be automated using a COM API, and numerous third-party applications support it.
The MSVS Administration website isn't exactly a model of efficiency, but it does allow you to perform common operations such as creating and managing virtual machines (VMs), virtual networks and virtual storage. Overall, MSVS is still a perfectly acceptable solution for running multiple OSes on the same hardware.
Hyper-V's advantages over Virtual Server
Obviously, Microsoft wouldn't have invested in Hyper-V if it didn't provide numerous advantages over other solutions. Here are some highlights:
- Support for Windows Server 2008 Server Core installations
- Support for large memory (thanks to the 64-bit architecture)
- Security and reliability improvements through a minimal hypervisor layer that runs directly on hardware
- Increased performance through "synthetic drivers" while maintaining backwards compatibility with emulated drivers
- Multiple virtual CPUs per VM and large memory support for each VM
- Support for both 32-bit and 64-bit guest OSes
- A Windows MMC-Based management console
- Automation via Windows Management Instrumentation (WMI)
Furthermore, you can expect significant improvements in Hyper-V in the future, including performance improvements and official support for more guest OSes. Hyper-V uses many of the same concepts related to MSVS, and migrating VMs from MSVS to Hyper-V is usually a simple process. You can find a lot more information about Hyper-V in my previous tips.
Other virtualization options
In the days since Microsoft first released its Virtual Server product, the list of available options has grown significantly. Of course, VMware is still the major player and many enterprises will opt to use ESX Server and Virtual Infrastructure 3 (VI3), at least for portions of their deployments. There are also viable options from the Xen open source initiative. The list of virtualization solution vendors also includes Red Hat, Citrix, Sun, Virtual Iron and many others.
Apart from server virtualization, you have many other options. These include presentation virtualization (products include Microsoft Windows Terminal Services and Citrix Presentation Server) and application virtualization (Microsoft App-V and Parallels Virtuozzo). These products can provide huge advantages for certain types of applications and services.
Managing multiple virtual platforms
Now that virtualization layers are common and readily available, we can turn our focus to methods for managing VMs. Ideally, you'll be able to manage several different virtualization layers using a centralized, automated solution. One such example is Microsoft System Center Virtual Machine Manager 2008 (SCVMM). SCVMM allows you to manage MSVS, Hyper-V, and even VMware installations from the same console. This puts less of an emphasis on which specific virtualization products you choose and a greater weight on management capabilities.
So where does this leave MSVS? If you're currently using MSVS and you're not itching to try new features and capabilities in other platforms, you're probably be fine with leaving VMs on this platform for a while. If you're considering a new virtualization deployment and have the hardware to support it, Hyper-V or one of its 64-bit competitors should probably be your first choice. Overall though, MSVS is still "alive" and it's an option worthy of consideration.
About the author: Anil Desai is an independent consultant based in Austin, TX. He specializes in evaluating, implementing, and managing IT solutions. He has worked extensively with Microsoft's Server products and the .NET development platform and has managed environments that support thousands of virtual machines. Anil is an MCITP, MCSE, MCSD, and MCDBA, and a Microsoft MVP.