VMware has long led the x86 virtualization market with its line of hardware emulation-based products. VMware Workstation and Server require a “host” OS -- either Linux or Windows -- to run “guest” VMs (virtual machines) for a variety of OS environments, including BSD, Linux, NetWare, Unix, and Windows. The company’s enterprise-targeted ESX Server product takes a slightly different approach, however. Instead of requiring a host OS, it is essentially a very thin and tightly controlled Linux-based OS that installs on a bare-metal system. Thus, it is relatively limited in hardware support, but it requires less overhead to host each virtual system and can support more concurrent virtual server instances.
VMware’s hardware abstraction approach is very versatile, but necessarily introduces much more overhead than host-based virtualization products. The trade-off is that it allows true platform separation and BIOS-level customization of each virtual server. VMware’s server products also provide client-side tools to connect to the console of each virtual server from admin workstations for management purposes, and provide APIs to allow for automation of virtual server creation and maintenance.
The launch of VMware’s Virtual Infrastructure 3 suite, which should be available by the time you read this, brings a new version of ESX Server with many enhanced features. On the back end, VMware has added support for quad-CPU VMs, with up to 16GB of RAM per VM, and official support for 64-bit guest OSes. SAN connectivity has also reached new levels. ESX Server 3 can read VM disk files from either NFS shares or iSCSI SAN volumes, supports running VMs directly from a SAN, and can even boot from a SAN itself.
With the new ESX Server 3 release, VMware has radically changed the Web UI, making the Web experience sleeker and more refined; VirtualCenter, however, is still by far a better management tool for provisioning, management, and automation of VMware VMs. New to Virtual Infrastructure 3 is a feature called Distributed Availability Services, which allows VirtualCenter to automatically migrate a VM from one physical host to another in the event of a hardware failure.
Also new in this release is Distributed Resource Scheduling, a tool for dynamically migrating VMs between hardware resources. For instance, if a database server running in a VM is consuming enough resources on a single physical host to encroach on the performance of other VMs running on that same host, VirtualCenter will migrate the other servers to another ESX server instance to balance the resource needs of all VMs.
When implementing these tools in a production datacenter, it’s fair to say that admins can consider each physical server to be simply a member of a large resource pool, and can forget about manually divvying up resources per server to handle load. Further, Distributed Availability Services means hardware failures are no longer the threat they once were.
VMware overwhelmingly holds the largest piece of the x86 virtualization pie, and deservedly so. In the lab, a beta version of ESX Server 3 seems very solid on the server end, with only some minor quirks in VirtualCenter that are generally the hallmark of beta code. If Virtual Infrastructure 3 ships with all promised features intact and functional, it will push virtualization even further into the mainstream.