Jump to content

VMware

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by StevenMcCoy (talk | contribs) at 13:15, 21 June 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

File:VMware.Logo.png

VMware Inc., a wholly owned subsidiary of EMC Corporation, supplies much of the virtualization software available for x86-compatible computers, including VMware Workstation and the freeware VMware Server and VMware Player. The company has its headquarters in Palo Alto, California, United States.

The corporate name plays on the traditional interpretation of "VM" in computing circles as "virtual machine".

Products

VMware Workstation

VMware Workstation software consists of a virtual-machine suite for Intel x86-compatible computers which allows the creation and execution of multiple x86 virtual computers simultaneously. Each virtual machine instance can execute its own guest operating system, such as (but not limited to) Windows, Linux, and BSD variants. In simple terms, VMware Workstation allows one physical machine to run numerous operating systems simultaneously. Other VMware products help manage or migrate VMware virtual machines across multiple host machines.

VMware Workstation has grown in popularity due to the large number of servers proliferating in the corporate market. Transferring workstations and servers to virtual-machine environments allows for easier systems management, a reduction in physical footprint and greater hardware redundancy.

Limitations: There is no FireWire support in virtual machines. There is also no USB 2.0 support, however USB 2.0 devices in the host OS are made visible to the guest OS as USB 1.1 devices.

VMware Player

File:Vmware.PNG
VMware Player running Damn Small Linux under Windows XP

VMware Player, a free virtual-machine host, can run virtual machines made by other VMware products, but cannot itself create new virtual machines. There are many free virtual disk images of preconfigured operating systems and applications on the company's website; many of which are community made. There are also freeware tools for creating VM's, mounting, manipulating and converting VMware disks and floppies, so it is possible to create, run and maintain virtual machines for free (even for commercial use).

VMware Server (formerly VMware GSX Server)

VMWare released VMWare server on February 6, 2006. VMware Server, another virtual-machine host, has now reached release candidate status. VMware Server can create, edit, and play virtual machines. In addition to the ability to run virtual machines created by other VMware products, it can also run virtual machines created by Microsoft Virtual PC. VMware Server is being freely distributed in the hope that users will eventually upgrade to VMware ESX Server. [1]

VMware ESX Server

ESX Server uses a stripped-down proprietary kernel, based on Stanford's SimOS, that replaces the Linux kernel once the hardware is initialized. This hypervisor virtualization approach provides lower overhead and better control and granularity for allocating resources to virtual machines. It also increases security, thus positioning VMware ESX as an enterprise-grade product.

Two other products operate in conjunction with ESX - VirtualCenter and VMotion. VirtualCenter allows monitoring and management of multiple ESX or GSX servers. VMotion allows moving virtual machines between servers on the fly, with zero downtime.

Description

VMware refers to the computer and operating-system instance that executes the VMware Workstation process as the host machine, and identifies instances of operating systems running inside a virtual machine as guest virtual machines. Like an emulator, VMware Workstation provides a completely virtualized set of hardware to the guest operating system — for example, regardless of make and model of the physical network adapter, the guest machine will see an AMD PCnet network adapter. VMware virtualizes all devices within the virtual environment, including the video adapter, network adapter, and hard disk adapters. It also provides pass-through drivers for USB, serial, and parallel devices.

Once all guest virtual machines use the same hardware drivers (regardless of the actual hardware on the host computer), virtual machine instances become highly portable between computers. For example, an operator running a virtual machine can pause it, copy it to another physical computer, and unpause it to resume execution exactly where it left off. With VMotion, a new feature in VMware's VirtualCenter, it is no longer even necessary to pause virtual machines running on ESX servers while moving it — virtual machines can now be kept running even while they migrate to different hosts.

VMware has two main products for the data center: VMware ESX and VMware GSX. Currently VMware is running a beta program for the successor of GSX called VMware Server. VMware ESX server is considered to be their flagship product for running enterprise applications in the datacenter. ESX allows for a 60 to 80% increase in x86 utilization since it is loaded on at the bare metal. VMware GSX and now their beta product VMware Server are both considered data center applications, but rely on a base operating system to be loaded on. As such there is additional overhead when running these two products. The advantage that GSX, and Server, have over ESX is the support for a wider array of devices such as USB connectivity and certain PCI devices.

Implementation

Conventional emulators like Bochs emulate the microprocessor, executing each guest CPU instruction by calling a software subroutine on the host machine that simulates the function of that CPU instruction. This abstraction allows the guest machine to run on host machines with a different type of microprocessor, but also operates very slowly.

Dynamic recompilation offers an improvement on this approach: it dynamically compiles blocks of machine instructions the first time they are executed, and later uses the translated code directly when the code runs a second time. This approach is taken by Microsoft's Virtual PC for Mac OS X.

VMware Workstation takes an even more optimized approach and uses the CPU to run code directly whenever possible. This is the case for user mode and virtual 8086 mode code on x86. When direct execution is not possible, code is rewritten dynamically. This is the case for kernel-level and real mode code. In VMware's case, the translated code is put into a spare area of memory, typically at the end of the address space, which can then be protected and made invisible using the segmentation mechanisms. For these reasons, VMware is dramatically faster than emulators, running at more than 80% of the speed that the virtual guest OS would run on hardware. VMware boasts an overhead as small as 3%-6% for computationally intensive applications.

Although VMware virtual machines run in user mode, VMware Workstation itself requires installing various drivers in the host operating system, notably in order to dynamically switch the GDT and the IDT tables.

One final note: many people erroneously believe that virtualization products like VMware or Virtual PC replace offending instructions or simply run kernel code in user mode. Neither of these approaches can work on x86. Replacing instructions means that if the code reads itself it will be surprised not to find the expected content; it is not possible to protect code against reading and at the same time allow normal execution; replacing in place is complicated. Running the code unmodified in user mode is not possible either, as most instructions which just read the machine state do not cause an exception and will betray the real state of the program, and certain instructions silently change behavior in user mode. A rewrite is always necessary; a simulation of the current program counter in the original location is performed when necessary and notably hardware code breakpoints are remapped.

Features

Besides bridging to network adapters, CD-ROM readers, hard-disk drives, and USB devices, VMware Workstation also provides the ability to simulate some hardware. For example, it can mount an ISO file as a CDROM, and .vmdk files as hard disks; and the network adapter driver can be configured to use network address translation through the host machine rather than bridging through it (which would require an IP address for each guest OS on the host network).

VMware Workstation also allows the testing of LiveCDs without first burning them onto physical discs or rebooting the computer. You can also take snapshots of an OS running under VMware Workstation. Each snapshot allows you to roll back the virtual machine to the saved status at any time. The Multiple snapshots feature makes VMware Workstation very popular as a tool for sales people to demonstrate complex software products, and for developers to create virtual development and test environments. VMware Workstation includes the ability to designate multiple virtual machines as a team, which can then be powered on and off, suspended and resumed as one object—making it particularly useful for testing client-server environments.

New enterprise-grade servers and tools from VMware, Inc. have started to popularise the migration of older production servers into virtual machines so that many legacy servers can be consolidated onto a single new host machine with little effort.

The VMware Tools package enhances graphics and mouse performance in virtual machines. It adds various drivers and utilities which support different capabilities in different guest operating systems: features like shared folders, clock-synchronisation and plug-and-play devices.

Issues

Older versions of VMware seem unable to run newer versions of Linux (kernel 2.4 series seem to panic when run on VMware 2.x; and 2.6 series kernels, when run on VMware 3.x, give a protection error). However, VMware Workstation has now reached version 5.5.1 which supports these newer operating systems and kernels. However, for the latest version(s) of the 2.6.x kernel, a patch is required to use all the VMware features—even when using VMware Workstation 5.0 or 5.5. This patch is freely available as vmware-any-any-updatexxx (at this time it is update101). You can find this patch at http://ftp.cvut.cz/vmware/

Additionally, when using VMware Workstation in an environment using Media Access Control (MAC) addresses as unique identifiers (UID), it is advisable (and often required) to manually configure the MAC address for each virtual machine to ensure each is actually unique. One example of such an environment is one in which MAC security is enabled on switches and another example is an environment in which Altiris products are used (if configured to use the MAC address as the UID). If one finds oneself in such a situation, simply disable all networks/adapters other than bridged and edit each virtual machine's .vmx file to change "ethernet0.address" to a unique MAC and "ethernet0.addresstype" to "static". Make sure to also remove the "ethernet0.generatedaddress" entry entirely.


See also