Review: Virtual Machine Software For The DesktopWe rounded up major virtual machine apps for individual users from VMware, Microsoft, and Sun Microsystems, as well as Fabrice Bellard's QEMU 0.9.1, and found that licensing types, features, and drawbacks vary widely.
Hypervisor-style virtualization is quickly becoming all the rage in the server closets and data centers these days, but desktop-level virtualization is also experiencing something of a golden age. The vast majority of the products in that space are free -- much as some of the best hypervisor products are -- and hugely useful in this age of relatively cheap memory, processor power and disk space.
Here's a quick survey of four major virtual machine (VM) applications for individual users, each of widely varying licensing types, capacities, features, and drawbacks.
VMware Workstation 6
Trial Price: Free for 30 days
Licensing: $189 (download), $209 (packaged); other licensing options available
Vendor: VMware, Inc.
Chances are VMware was the first virtual-machine product you used, especially since it was the first commercial VM solution to come to market. It's facing serious competition from a slew of open source and even proprietary products in the same space -- especially since Workstation is a for-pay product compared to the open-source VirtualBox or the free-to-use Virtual PC -- but VMware's makers have made efforts to keep their product useful and relevant, so the cost for the product shouldn't be dismissed out of hand. (30-day trial licenses are also available.) It's also one of a galaxy of other products the company offers, but Workstation is likely to be most immediately useful to desktop users.
A paused Fedora 9 session in VMware, with two processor cores enabled.
|(click for image gallery)|
The gamut of supported hardware within a VMware machine is at least as good as VirtualBox and in some respects better. Networking is handled in roughly the same way -- bridged, NAT, host-only, or nonexistent -- and disk controllers can be IDE or either BusLogic or LSI Logic brand SCSI controllers (although no SATA).
There's also support for USB devices attached to the host, and support for multiple monitors for machines with guest extensions installed. One major hardware-support bonus is the ability to support up to two processors in a guest. My Intel Core 2 Quad Q6600 2.40 GHz showed up in a Vista guest as the same processor with two cores active.
Installing VMware Tools (i.e., guest OS support) in Windows is as easy as installing an application, but for Linux it's a bit trickier. You'll typically need to install the gcc / make / header files packages needed by the system to build kernel modules, but the build process itself is excellently documented as you go. By the time you're done, you know exactly what has been configured and what hasn't, and how to activate it.
Those upgrading from a previous version of VMware who want to work with both current and earlier editions of virtual machines, take heart: machines newly created in VMware Workstation 6 can be forced to be backwards-compatible with older VMware products if needed; the default is the 6.0 edition of the VMware.
VMware's carved out a name for itself by offering a broad spate of management features for virtual machines. One example is "teams" of VMs -- gangs of virtual machines that can be powered on and off together, networked together automatically, and interact in predefined ways. An obvious application for this is multitier client/server/database setups. Another such feature is "appliance mode," which lets you run a machine headlessly and connect to it on a given port with a web browser. Both team and appliance functions are included in VMware Workstation.
The more you use VMware, the more useful little features you'll discover. Virtual disks can be parceled up into 2GB chunks to avoid legacy file-system limitations. If you want to automate actions to a given virtual machine, you can log and replay them, and even capture output from a given virtual machine as a movie file. Finally, VMware also supports Linux kernels that have para-virtualization interfaces, and publishes performance counters to aid Windows hosts gather stats about virtual machine behavior.
Another of VMware's big draws is its gallery of virtual appliances -- pre-made virtual machine images loaded with operating system stacks, applications, or combinations of the two. Trying one out is as easy as downloading one and firing it up, although this is more of an application of VMware's technology in another realm rather than a feature of VMware per se.