VMware Workstation 5.5 for Linux Hosts
Few virtual computer environments are as stable, popular and rich in features as VMware. I've been a fan and user of VMware Workstation since version 2.0. I use it for testing network applications, illicitly running Linux in Windows-only environments and, most recently, for testing the sample code in my book Linux Server Security, 2nd ed., across different Linux distributions. (I also wrote most of that edition using MS Word running on a virtual Windows XP machine!) [Do you really want to admit that? —Ed.]
VMware has some serious competition nowadays in the Open Source community. Xen, FAUmachine and user-mode Linux are promising and 100%-free PC virtualization environments. Nevertheless, VMware Workstation 5.5 remains a compelling purchase in the face of all this competition.
VMware Workstation is a user-space application (aided by a couple of proprietary kernel modules) that creates virtual x86-based computers on top of your physical 32-bit or 64-bit x86-based “host” computer.
In VMware parlance, host refers to the system running VMware software. Guest systems are virtual machines running on the VMware host. For the remainder of this review, I use the terms guest system and virtual machine interchangeably.
VMware Workstation 5.5 runs on the following host operating systems:
Mandrake Linux 10 and 9.0.
Red Hat Enterprise Linux AS/ES/WS 4.0, 3.0 and 2.1, 32- and 64-bit.
Red Hat Linux 9.0, 8.0, 7.3 and 7.2.
SUSE Linux 10.0 and 9.3, 32- and 64-bit.
SUSE Linux 9.2, 9.1, 9.0, 8.2, 8.1, 8.0 and 7.3.
SUSE Linux Enterprise Server 9 SP3 (beta, experimental support).
SUSE Linux Enterprise Server 9.0, 32-bit and 64-bit.
SUSE Linux Enterprise Server 8.
Novell Linux Desktop 9 SP2 (beta).
Ubuntu Linux 5.10 and 5.04, 32-bit and 64-bit (experimental support).
Windows XP Professional and XP Home Edition.
Windows XP Professional x64 Edition.
Windows 2000 Professional.
Windows 2000 Server, Windows 2000 Advanced Server.
Windows Server 2003.
Windows Server 2003 x64 Edition.
Practically any reasonably modern x-86-compatible or x-86-64-compatible PC works as a host platform. VMware supports most Intel processors since Pentium II, and AMD processors (Athlon or better), provided they run at least 400MHz (500MHz or faster is recommended). VMware also supports multiprocessor systems. VMware Workstation 5.5 lets you create virtual machines that use Two-Way Virtual Symmetric Multiprocessing, an experimental feature.
If you need a virtual machine with more than two virtual processors, this is supported in VMware ESX Server, but if you create one and copy it to a VMware Workstation 5.5 host, it won't run unless you change its Number of CPUs setting to 2. You also can create virtual machines with the Two-Way Virtual Symmetric Multiprocessing feature on a uniprocessor host system, if it has either a dual-core CPU or hyperthreading enabled. However, according to the VMware Workstation User Manual, virtual machine performance will be subpar. And, while I'm still on the subject of CPUs, although you can't have more than two CPUs in a virtual (guest) machine, the underlying host can have as many as you like.
Besides a fast CPU (or CPUs), you need plenty of RAM. This is a simple enough equation. You need enough RAM for your host OS, for VMware itself and enough RAM for as many host OSes you intend to run concurrently. For example, my laptop has 1GB of RAM, of which SUSE 9.3 running KDE, a few Konsole shells, the usual assortment of panel applets and VMware itself use a total of about 200MB. That leaves me 800MB for virtual machines. I can comfortably (that is, without hitting swap too much) run three virtual machines that each has 256MB of RAM and so forth.
Officially, VMware requires your host system to have a minimum of 128MB of RAM (256MB is recommended), with no maximum per se, but only a total of 4GB can be used between all guest VMs.
You also need enough hard disk space both for VMware itself and for as many virtual machines as you anticipate maintaining. Both IDE and SCSI disks are supported, both on the underlying host OS and on virtual hosts.
As with RAM, the more disk space on your host system, the better. As a general rule of thumb, you need 172MB for VMware and at least 2GB per virtual machine. By using VMware shared volumes (actually Samba shares), you can share data volumes between virtual machines. This allows you to use the minimum necessary disk space for virtual machines' guest OS software and one big shared volume for application data. This is also a handy means of sharing data between virtual machines and the underlying host OS.
VMware Workstation 5.5 supports a long list of operating systems for guest/virtual machines. These include:
Most versions of MS Windows (fully supported), including Vista (experimental support).
Mandrake Linux, versions since 8.2.
Red Hat Linux, versions since 7.0.
SUSE Linux, versions since 7.3.
Solaris x86 (experimental support), versions 9 and 10.
In practice, non-officially supported x86 operating systems often work fine as guest OSes. For example, in researching my article “Security Features in Debian GNU/Linux 3.1” (see page 36), I successfully installed Debian 3.1 on a virtual machine, despite the fact that it's not officially supported (the X Window System didn't work, but everything else I tried did, including networking).