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.
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.
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.
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.
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.
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.
Table A provides a comparison between Workstation, GSX, and ESX.
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.