VMWare has quickly vaulted to the top of the x86 virtual
machine software market with its broad, full-featured product line. VMWare’s
product line ranges from solutions designed to assist the help desk and developer
all the way up to solutions designed to ease the burden of managing the
enterprise data center. If you’re planning to deploy virtual machines in your
organization, you’ll probably be giving VMWare a look. Here are the differences
between the major versions.

VMWare Workstation

Workstation is the entry-level product that put VMWare on
the map. It allows developers, systems administrators, help desk professionals,
and generalists alike to work with new and old operating systems. Instead of
dragging out that old Pentium 90 to test the latest release from Red Hat, IT
folks can do their testing on their daily desktops inside a safely isolated but
fully functional and fully equipped environment.

Workstation enables you to run multiple operating systems on
a single host. It’s easy to see the benefits for help desk workers who, by
necessity, are sometimes chained to their workstations, but need access to all
of an organization’s supported platforms. Without virtual machine technology,
these people would either need to configure their primary computers with
multiple boot partitions or have multiple computers in their work areas. Neither
solution is very efficient.

Systems administrators face similar challenges. In order to
test new patches, new operating systems, and new applications, they need a
fully equipped lab that mimics the supported environment. With tight IT
budgets, this additional equipment can be difficult to obtain.

Workstation is definitely VMWare’s bleeding-edge product and
includes support for the latest and greatest. Workstation runs on any Pentium
II or later, or AMD Athlon or later processor. As of this writing, the latest
version, 4.52, has experimental support for Opteron, Athlon 64, and Intel
IA-32e 64-bit processors. Workstation supports up to 4 GB of RAM on the host
computer and can use up to 3.6 GB for virtual machines. Virtual disks, which
are basically just files on the host operating system, can be up to 128 GB for
IDE disks or up to 256 GB for SCSI disks. You get to choose which type of disk
to use on a per-machine basis. Workstation also supports up to four COM ports,
two parallel ports, two USB ports, PS/2 ports for keyboard and mouse, and up to
three Ethernet adapters, based on the AMD PCnet PCI adapter card.

The best part is that you don’t actually need all of this
physical hardware on the host system to use it inside a virtual machine. For
example, suppose you want to set up a Windows Server 2003 Routing And Remote
Access server under VMWare Workstation on your Windows XP desktop machine. You
can add two Ethernet adapters to the virtual machine and enable routing between
the two. The point to keep in mind is that the virtual machine is completely
isolated from the host. Think of it, literally, as any other machine out on the
network.

As for actual requirements, VMWare Workstation calls for a
supported processor, which I outlined earlier. It also requires a minimum of
128 MB of RAM, but in reality, you’ll need a whole lot more than that in order
to get any real work done. If you want the host to continue to run reasonably
well and need to have two or three virtual machines running at the same time,
have enough RAM to let them ALL run well. I suggest at least a gigabyte or two.
My personal machine that I use for writing all of my articles and for testing
has 2.5 GB of RAM.

On the disk side, have enough space on your host for an
entire machine. If you plan to run Windows Server 2003 as a guest on your Windows
XP host, you’ll need a few gigs of space. Further, get the fastest disks you
can afford. It’ll make a difference. I didn’t go crazy, but I did buy 120 GB
SATA150 drives with 8 MB cache for my personal system.

Finally, some good news for the Linux crowd: Workstation
runs on both Windows and Linux hosts and supports dozens of guest operating
systems. For Linux host operating systems, only Mandrake, Red Hat, and SuSE
hosts are supported; but on the guest side, it’s wide open on the Linux support
side.

Guest operating systems for VMWare Workstation run the
gamut:

  • Longhorn
    (experimental)
  • Windows
    Server 2003 Web/Standard/Enterprise
  • Windows
    XP Professional/Home
  • Windows
    2000 Professional/Server/Advanced Server
  • Windows
    NT Workstation 4.0/Server 4.0/Terminal Server 4.0 SP6/6a
  • Windows
    95/98/98SE/Me
  • Windows
    for Workgroups 3.11, Windows 3.1
  • MS-DOS
    6
  • Mandrake
    Linux 8.2, 9.0
  • Red
    Hat Linux 7.0, 7.1, 7.2, 7.3, 8.0, 9.0, Red Hat Enterprise Linux 2.1, 3.0,
    Red Hat Linux Advanced Server 2.1
  • SuSE
    Linux 7.3, 8.0, 8.1, 8.2, 9.0, 9.1, SLES 7, 7 patch 2, 8
  • Turbolinux
    Server 7.0, Enterprise Server 8, Workstation 8
  • NetWare
    5.1, 6, 6.5
  • Solaris
    x86 Platform Edition 9 (experimental), 10 beta (experimental)
  • FreeBSD
    4.0-4.6.2, 4.8, 5.0

This is just a list of supported
operating systems. If you want to run something else, look at the VMWare
forums. Someone has probably tried it and might be able to provide pointers if
you have problems.

GSX Server

You might think that the Workstation product is the end-all,
be-all of virtual machine products, but with a limit of 3.6 GB of RAM usable in
total by all of the running virtual machines, the Workstation product can’t
possibly scale to the levels required by some organizations. Further, as an
end-user product, Workstation does not have a robust set of management tools
beyond what is included in the product itself. Enter GSX Server.

GSX Server hardware/software requirements and limitations

VMWare’s GSX Server is Workstation on steroids and is aimed
at a very different market: the IT department for enterprise-level applications.
Like Workstation, GSX Server runs on a Windows- or Linux-based host operating
system. Unlike Workstation, GSX Server only directly supports a server platform,
though. Windows XP/2000 Professional will work as a host, but requires special
considerations and is not supported by VMWare.

GSX Server, as you might imagine, has more stringent
hardware requirements. A 1-GHz or faster processor is required, and anything
less than this would be a waste of money for software. Bear in mind that the
goal here is to run multiple complete systems on a single piece of hardware, so
in this case, the more power you throw at it, the better. GSX Server supports
up to 32 physical processors. It’s important to note that GSX is licensed per physical processor. This is particularly
important if you’re running Intel processors with hyperthreading enabled. For
example, if you have a four-processor system with hyperthreading, it will
appear to have eight processors, but you still only need a four-processor GSX
license.

GSX Server, as of this writing, also has experimental
support for 64-bit CPUs running with 64-bit host operating systems. Important
note: The Itanium processor is not supported.
Only IA-32 processors and IA-32 processors with 64-bit extensions are
supported.

As for RAM, this is where GSX Server really separates itself
from Workstation. Since GSX Server supports up to 64 GB of RAM on systems with
large memory or PAE support, you can rest assured that even servers with hefty
RAM requirements will function adequately under GSX Server. For non-PAE/large
memory-enabled hosts, the Windows version of GSX Server supports the same as
Workstation: up to 4 GB of RAM. Hosts running Linux kernels in the 2.2 series
are limited to 2 GB of RAM for GSX Server.

For storage, plan on at least 130 MB for the Windows version
of GSX Server and 20 MB for the Linux port. These storage requirements include
GSX Server plus associated software. As with Workstation, you should plan on a
minimum of 1 GB of space for each guest, but this is really dependent on what
you plan to do with the virtual machine. If you’re setting up a file server, 1 GB
definitely won’t cut it!

On the software side, GSX Server likes Linux hosts to be
running XFree86.4.0 or higher, although 3.3.4 and above are supported. Any
16-bit or better graphics adapter is required.

Host operating system support includes Windows Server 2003
Web/Standard/Enterprise 32- or 64-bit or Windows 2000 Server/Advanced Server
with Service Pack 3 or 4. On the Linux side, VMWare is fairly strict on the
kernel revisions supported with the GSX product. That said, support for Linux
distributions is excellent with
versions of Red Hat, for example, all the way back to 7.1, being supported. Under
no circumstances, however, is Linux kernel 2.2.14-5.0 supported in any VMWare
product. Use of this kernel can result in memory corruption under heavy load. Also
note that GSX Server supports no more than 16 virtual machines per physical
server and no more than four virtual machines per physical CPU.

Provided hardware

GSX Server, like all VMWare products, provides your guest
operating systems with a full x86 system in which to work. This x86 system is
completely isolated from the host and acts exactly like a real server. Under
GSX Server, a complete Intel system is provided (with the exception of the
actual processor, which might be AMD), with the following:

  • Intel
    440BX motherboard
  • Phoenix
    BIOS
  • Up
    to 3.6 GB of RAM per virtual machine.
    Bear in mind that Workstation has only 3.6 GB to use for all virtual machines.
  • Up
    to 4 IDE devices consisting of hard drives, CD-ROM drives, and DVD-ROM
    drives. IDE disks can still be up to only 128 GB.
  • Up
    to 21 SCSI devices on three SCSI controllers (virtual LSI Logic Ultra160
    LSI53C10xx SCSI controller). SCSI disks can still be only up to 256 GB.
  • Six
    PCI slots
  • Two
    floppy devices
  • Two
    parallel ports
  • Two
    USB 1.1 ports
  • Up
    to four network adapters (virtual AMD PCnet-PCI II compatible)
  • Wireless
    networking is available, assuming the host has a wireless adapter bridged
    to one of the virtual network adapters.
  • Creative
    Labs SoundBlaster AudioPCI

Even though GSX supports up to four network adapters, you
don’t really need four physical adapters in the host. All four virtual adapters
can communicate through a single physical adapter, if need be. Likewise, for
CD-ROMs, you don’t even need a CD-ROM drive. You can point a virtual CD device
at an ISO file. GSX will then use that ISO file as the CD device. This is also
true of the Workstation product.

Differs from Workstation

A common question about GSX is one of need. If you’re
running in a low-stress environment with fairly low requirements, do you really
need GSX or is Workstation enough? Realize that GSX supports up to 32
processors and 64 GB of RAM, and it can utilize up to 3.6 GB for each virtual
machine. Further, GSX includes a Web-based management interface, whereas
Workstation’s management tasks are all handled locally. You can also write
management scripts for GSX maintenance. Finally, GSX Server supports a few more
guest operating systems. Most notably, older versions of Novell NetWare are
supported in GSX and not in Workstation.

ESX Server

GSX Server is a server-class product in comparison to the
Workstation product. While GSX is suitable for general server deployment and
consolidation, VMWare’s ESX Server takes it to a whole new level.

Remember that both Workstation and GSX Server require a Windows
or Linux host operating system. ESX Server, on the other hand, runs directly on
the hardware, providing direct access to the system. Further, ESX Server
provides the ability to guarantee access to certain resources, including CPU,
RAM, network bandwidth, and disk I/O.

One area in which ESX is very different from both
Workstation and GSX Server is in its system requirements. ESX is supported only
on specific hardware platforms, including IBM BladeCenter, xSeries and Opeteron
systems, HP pServer blade servers, Proliant systems, Dell PowerEdge systems,
Fujitsu Primergy systems, and NEC Express systems. Even within these
categories, there are some limitations that might not seem to make sense. For
example, ESX Server 1.5.2, 2.1, and 2.1.1 (the most recent version as of this writing)
are all supported on the Dell PowerEdge 2450, whereas ESX 2.0 and 2.0.1 are not
supported on the same hardware. As a result of these compatibility issues, be
sure to talk to someone at VMWare before buying hardware for a planned ESX
rollout.

ESX Server 2.1.1 supports the following guest operating
systems:

  • Windows
    Server 2003 and Windows 2000 Server—all editions are supported for both
    single-processor and multiprocessor installations
  • Windows
    XP SP1 and Windows NT Server SP6a—single processor installations only
  • Red Hat
    Linux 7.2, 9.0, Enterprise Linux AS/ES/WS 2.1 & 3.0 (update 1)—all
    editions are supported for both single-processor and multiprocessor
    installations
  • Red Hat
    Linux 7.3 and 8.0—single processor installations only
  • Novell
    SuSE Linux 8.2, Enterprise Server 8.0 and 9.0 (SP3)—all editions are
    supported for both single-processor and multiprocessor installations
  • Novell
    NetWare 5.1 SP6, 6.0, and 6.5—single processor installations only

This list is much more limited than the list of supported
operating systems under Workstation and GSX Server. However, bear in mind that
ESX Server is designed for datacenter environments, and a great degree of
consideration has gone into providing a supportable, high performance
architecture.

ESX Server is also very picky about other components in the
server, such as the RAID controller, SCSI adapters, and network adapters. Basically,
stick with the name-brand stuff. If you’re rolling out ESX Server, spend the
money required to get the right hardware.

SANs and ESX

ESX is designed to work well with Storage Area Networks
(SANs) from Fujitsu, HP, and Network Appliance. With the ability to run up to 80
virtual machines on a single ESX Server, some
kind of external storage is needed, especially if you max out the ESX
Server. VMWare provides a complete SAN guide on its Web
site.

Other vendors’ storage arrays are also well supported. It
should come as no surprise that EMC is well supported, as is Dell (rebranded
EMC). EMC purchased VMWare in 2003. I wouldn’t worry too much about the loss of
support for other vendors’ arrays. By regulation, EMC operates VMWare as a
wholly owned subsidiary. Arrays from Fujitsu, Hitachi, HP, IBM, and Network
Appliance are also well supported, but again, not every array product from
every vendor is. Check with VMWare before purchasing.

Backup

Don’t forget about backup! Veritas, Tivoli, Legato, and
Computer Associates products are well supported.

Limitations and requirements

Like Workstation and GSX Server, ESX Server has hardware
limitations for each virtual machine and overall. These limitations include:

  • ESX
    requires at least two 2 Pentium III Xeon 900 MHZ or faster or AMD Opteron
    (32-bit mode) processors. It does not support 64-bit processors. A maximum
    of 16 physical processors is supported.
  • The
    host requires a minimum of 512 MB of RAM. This is the bare minimum. You’ll need a whole lot more depending on the
    requirements of the guest operating systems.
  • At
    least two Ethernet adapters are required. Broadcom NetXtreme 570, Intel
    Pro/100 and 1000, and 3Com 9xx-based adapters are supported.
  • A
    supported SCSI adapter, Fibre Channel adapter, or RAID controller. ESX
    supports up to 16 host bus adapters.
  • SCSI
    disks, Fibre Channel LUN or RAID LUN. ESX supports up to 128 LUNS per
    storage array but no more than 128 total LUNs per ESX system.
  • Up
    to 16 processors with up to eight virtual machines per processor, but no
    more than 80 concurrent virtual machines per ESX system (40 with SMP).
  • Up
    to 64 GB of RAM per ESX system.
  • Up
    to 16 10/100 Ethernet adapters or eight Gigabit Ethernet adapters per ESX
    system. No more than 32 virtual machines per virtual network device.
  • Like
    GSX Server, ESX provides each virtual server with the same complete system
    described earlier in the GSX section.

Comparison

Table A provides a comparison between Workstation,
GSX, and ESX.

Table A

 

 
Workstation
GSX

Server 3
ESX

Server 2.1
#
processors
1
or 2
2-32
supported
2-16
supported
System
RAM
4
GB (3.6 GB
only for VMs)
64
GB
64
GB
RAM
per virtual machine
3.6 GB 3.6
GB
Variable
#
of virtual machines/CPU
N/A 4 8
Max
virtual machines (concurrent)
4 16 80
Hosts
supported
Windows,
Linux
Windows,
Linux
N/A
Management None VirtualCenter VirtualCenter

Summing up the differences

VMWare’s broad product line includes three major virtual
machine platforms aimed at different target audiences. Whereas Workstation is
for the developer and tester, GSX Server and ESX Server are for departmental
and enterprise applications, respectively. Through well-designed management
tools, administrators can move virtual machines between servers, “upgrade”
the hardware inside a running virtual machine with no downtime, and make
instantaneous copies of virtual machines for fast server rollouts.