This column has previously discussed the benefits of using virtualization software to create scalable software testbed environments and server consolidation strategies. Installing multiple server operating systems on a single virtual machine, whether for testing or production purposes, can provide a very cost effective way to deal with business expansion and the need for additional server resources. But this has led to another question: which of the popular virtualization solutions is best suited to your needs, particularly in terms of scalability?
A brief history of virtualization software
Like U.S. politics, the server virtualization market is basically a two-party system. Although there are alternatives, such as the Xen and OpenVZ open source virtualization software, Parallels Workstation (based on IBM's Hypervisor technology), Virtuozzo virtual private server (VPS) software from SWsoft, SVISTA from Serenity Systems International, and others, the main players are Microsoft and VMware. Most companies considering virtualization software for testing and/or server consolidation will be choosing between the two.
VMware was first out of the gate with their virtual machine software for Windows in 1999. A company called Connectix released Virtual PC for Macintosh in 1997, but it wasn't until 2001 that they came out with a version for Windows. Microsoft acquired Virtual PC from Connectix in 2003.
Desktop VM products
Today Microsoft and VMware offer both consumer level and enterprise level products. When your company is small, you may be able to use Microsoft's Virtual PC or VMware Workstation to accomplish what you need to do with VMs, especially for testing or for creating a virtual "honeynet" to divert attackers from your real network resources. Each of these has its own advantages and thus each has a following. Many like the "pause and resume" feature on VPC, while others prefer VMware's tabbed windows and hierarchical snapshots.
Both products install on a "host" computer and run VMs in which you install the "guest" operating systems. The virtualization software provides a virtualized set of hardware to each guest OS, and you can run multiple guest operating systems at the same time. Microsoft Virtual PC 2004 costs $129 USD, and VMware Workstation v5 costs $199.
VMWare also offers free "player" software that will let you run existing virtual machines (you can't create VMs). Microsoft recently released Virtual PC Express Early Release (ER), a feature that will be included in Windows Vista Enterprise Edition and which will run a single VM; the purpose is to make it easier for enterprises to migrate to the new operating system and provide a way to run legacy applications.
Server VM products
As your company grows large and you expand the use of VMs to include large scale server consolidation, the desktop products will no longer meet your needs. Both Microsoft and VMware offer server-based products that can be used to partition a single physical server into multiple virtual servers and also make it easy to move a virtual server to a new physical machine without having to reconfigure the software.
VMware formerly offered two flavors of server VM software:
- GSX Server, intended for workgroups, branch offices, or departments within an organization to evaluate software, run legacy applications and provision multiple servers on one machine.
- ESX Server, intended for the enterprise/data center environment to create large-scale production server consolidation solutions as well as enterprise software development and testing.
Early this year, VMware announced that they were replacing GSX Server with VMware Server—and that it would be a free download. It's available now in beta at http://www.vmware.com/products/server/.
Microsoft responded by making Virtual Server 2005 R2 free in both 32 and 64 bit editions. The other good news: after removing the Linux support that was part of the Connectix product when they bought the technology, Microsoft announced that they were adding support for some Linux distributions back in VS2005.
So now businesses that have outgrown the desktop versions of their virtualization software can get server-based VM software at no charge (of course, whether you use VMware or VPC/VS, you still need licenses for Windows and other commercial operating systems that you install in virtual machines). This is good news regardless of which brand of VM solution you prefer.
Server VM software supports such sophisticated features as:
- Clustering, which allows you to cluster the virtual machines that are running on a host or across different hosts.
- PXE booting, so you can do network installations of virtual machine operating systems just as you can with physical machines.
- iSCSI clustering for guest-to-guest connectivity.
- Memory and CPU resource allocation.
- Ability to manage virtual machines with existing server management tools.
- Support for symmetric multi-processing (SMP) virtual machines.
- Web based management of virtual servers.
- Ability to put VMs running on the same physical machine on different VLANs.
Scaling to the future
As you plan for future virtualization needs, you need to consider what happens as you transition to new operating systems. VMware Server and Microsoft Virtual Server run at the application layer on the Windows (or in VMware's case, Linux) host operating system. Look for this to change.
Microsoft has indicated that Longhorn Server will use Hypervisor technology, which operates an a layer beneath the operating system and thus will be able to provide better performance because it will have less overhead.
VMware's high end product, ESX Server (which costs from several thousand to tens of thousands of dollars, depending on the number of processors licensed), already runs directly on bare metal hardware, and system resources are dynamically allocated among running VMs based on immediate need.
In selecting the most scalable VM solution for your situation, an important consideration is VM format portability. Here are some factors to consider:
- Despite the dramatic expected changes in Longhorn Server, it will use the same VHD (Virtual Hard Disk) format as current Microsoft VM products. In addition, Microsoft recently announced that 45 partners have signed on to support the format (storage, networking, management, etc.).
- VMware uses VMDK (Virtual Machine Disk) to encapsulate a virtual machine's environment in a file. Partners such as IBM, HP, Dell, AMD, Redhat and others support the format.
- VMware allows you to import VMs created in Microsoft VPC v 7 and up and VS with the Virtual Machine Importer, which is built into VMware Workstation 5.5 and also available as a standalone utility.
- There are methods for converting VMs created in VMware to Microsoft VPC images, such as Leostream's P2V tool.
Debra Littlejohn Shinder, MCSE, MVP is a technology consultant, trainer, and writer who has authored a number of books on computer operating systems, networking, and security. Deb is a tech editor, developmental editor, and contributor to over 20 additional books on subjects such as the Windows 2000 and Windows 2003 MCSE exams, CompTIA Security+ exam, and TruSecure's ICSA certification.