VMWARE


'VMware Inc.' (), a publicly-listed subsidiary of EMC Corporation, supplies proprietary virtualization software for x86-compatible computers, including 'VMware Workstation' and the freeware 'VMware Server' and 'VMware Player' products. The company has its headquarters in Palo Alto, California, United States, with R&D offices located in Palo Alto; in San Francisco, California; in Cambridge, Massachusetts; and in Bangalore, India. VMware software runs on Microsoft Windows, Linux, and Mac OS X.
The name "VMware" and its branding play on the traditional interpretation of "VM" in computing circles as "virtual machine".
On 2007-08-14, EMC Corporation released 10% of the company's shares in VMware in an initial public offering on the New York Stock Exchange. The stock debuted at 29 USD per share, and closed the day at 51 USD.[1]

Contents
Products
VMware Workstation
VMware and Mac OS X
VMware Player
VMware Server (formerly VMware GSX Server)
VMware ESX Server
Terms and wording
Architecture
Interface to hardware
Guest systems
Service console
Linux dependencies
VMware Virtual Infrastructure
Other products
Generic operation
Implementation of virtual processing
Known issues
Hardware support
OS support
Network protocols
Infrastructure limitations
Performance limitations
See also
References
External links

Products


VMware Workstation

VMware Workstation running openSUSE under Windows XP

VMware Workstation software consists of a virtual-machine suite for x86 and x86-64 computers. This software suite allows users to set up multiple x86 and x86-64 virtual computers and to use one or more of these virtual machines simultaneously with the hosting operating system. Each virtual machine instance can execute its own guest operating system, such as Windows, Linux, BSD variants, or others. In simple terms, VMware Workstation allows one physical machine to run two or more operating systems simultaneously. Other VMware products help manage or migrate VMware virtual machines across multiple host-machines.
Besides bridging to existing host network adapters, CD-ROM devices, 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 CD-ROM, and .vmdk files as hard disks; and can configure its network adapter driver to use network address translation (NAT) through the host-machine rather than bridging through it (which would require an IP address for each guest-machine on the host network).
VMware Workstation also allows the testing of LiveCDs without first burning them onto physical discs or rebooting the computer. One can also take multiple successive snapshots of an operating system running under VMware Workstation. Each snapshot allows you to roll back the virtual machine to the saved status at any time. The ability to use multiple snapshots makes VMware Workstation useful as a tool for sales-people demonstrating complex software products, and for developers setting up virtual development-environments and virtual test-environments. VMware Workstation includes the ability to designate multiple virtual machines as a team which administrators can then power on and off, suspend, and resume as a single object — making it particularly useful for testing client-server environments.
Retail packaging for VMware Fusion.

VMware and Mac OS X

Main articles: VMware Fusion

VMware, Inc. refers to its virtualization product for Mac OS X as "VMware Fusion". Fusion allows Intel-based Macs to run x86 operating systems (such as Microsoft Windows, Linux, NetWare and Solaris) in virtual machines at the same time as Mac OS X.
Other features include Unity, which integrates Windows applications as standalone windows on the Mac desktop, support for running virtual machines off a Boot Camp partition, and hardware-accelerated 3D graphics in Windows guests. VMware Fusion has full compatibility with standard VMware Virtual Appliances and with VMWare formats.
VMware Player

VMware Player installing Windows XP Professional under Windows XP

VMware Inc makes VMware Player available free of charge to run guest virtual machines produced by other VMware products: it cannot itself create new virtual machines. VMware provides free virtual disk images of several pre-configured operating systems and applications,
Virtual Appliance Marketplace

many of them community-contributed. Freeware tools and websites (such as EasyVMX) also exist for creating VMs, mounting, manipulating and converting VMware disks and floppies, permitting users to create, run and maintain virtual machines free of charge (even for commercial use).
VMware Player also forms part of the VMware Workstation distribution, for the purpose of site-wide installations with client users not licensed to use the full VMware Workstation product.
VMware Server (formerly VMware GSX Server)

VMware Server running Microsoft Windows XP Professional under Ubuntu

VMware Server running Fedora Linux under Windows XP, with clock-synchronisation switched off

VMware released version 1.0 of VMware Server on July 12, 2006. VMware Server can create, edit, and play virtual machines. It uses a client-server model, allowing remote access to virtual machines, at the cost of some graphical performance (and 3D support). 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 Inc. makes VMware Server freely available in the hope that users will eventually upgrade to VMware ESX Server.
Users of VMware Server's internal utilities can preserve (and revert to) a single snapshot copy of each separate virtual machine within their VMware Server environment. The product does not have a specific interface for cloning virtual machines — compare VMware Workstation.
At present, the only version of Windows Vista supported by VMware Server is for the 32-bit editions of Windows Vista. The kernel-mode drivers for the 64-bit version do not have digital signatures, so 64-bit editions of Windows Vista prevent their installation.[2]
VMware ESX Server

Terms and wording

VMware Inc refers to the hypervisor used by VMware ESX Server as a ''vmkernel''.
Architecture

The ''vmkernel'' runs on "bare metal".[3] In contrast to other VMware products, it does not run atop an operating system.
(see [4])
The ''vmkernel'' itself, a microkernel,[5] has three interfaces to the outside world:
# hardware
# guest systems
# service console (Console OS)
Interface to hardware

The ''vmkernel'' microkernel handles CPU and memory directly itself: one can assume that it uses a Scan-Before-Execution (SBE) to handle special or privileged CPU instructions.[6]
Access to other hardware (such as network or storage devices) takes place using modules. At least some of the modules derive from modules used in the Linux kernel. To access these modules, an additional module called vmklinux implements the Linux module interface. Excerpt from the README: "This module contains the linux emulation layer used by the vmkernel."[7]
The vmkernel uses the device drivers:
# net/e100
# net/e1000
# net/bcm5700
# net/bnx2
# net/tg3
# net/forcedeth
# net/pcnet32
# block/cciss
# scsi/adp94xx
# scsi/aic7xxx
# scsi/aic79xx
# scsi/ips
# scsi/lpfcdd-v732
# scsi/megaraid2
# scsi/mptscsi_2xx
# scsi/qla2200-v7.07
# scsi/megaraid_sas
# scsi/qla4010
# scsi/qla4022
# scsi/vmkiscsi
# scsi/aacraid_esx30
# scsi/lpfcdd-v7xx
# scsi/qla2200-v7xx
These drivers are mostly equate to those described in VMware's "Hardware Compatibility List"."ESX Hardware Compatibility List" All these modules fall under the GPL. Programmers have adapted them to run with the vmkernel: VMware Inc has changted the module-loading and some other minor things.
Guest systems

The vmkernel offers an interface to guest systems which simulates hardware. This takes place in such a way that a guest system itself can run unmodified atop the hypervisor. Because using unmodified drivers in the guest system uses up some system resources, VMware Inc offers special drivers for different operating systems to increase performance.
Service console

The service console consists of a privileged guest system that handles configuration and interaction with the vmkernel via a fully undocumented interface. One can assume that the module vmnix loaded by the service console's kernel handles the communication to the vmkernel.
Linux dependencies

'VMware ESX Server' uses Linux to manage an ESX-proprietary kernel that loads additional code: often referred to by VMware, Inc. as the "vmkernel". The dependencies between the "vmkernel" and the Linux part of the ESX server have changed drastically over different major versions of the software. The VMware FAQVMware FAQ states: "ESX Server also incorporates a service console based on a Linux 2.4 kernel that is used to boot the ESX Server virtualization layer". The Linux kernel runs before any other software on an ESX host.
ESX machine boots

On ESX versions 1 and 2, no VMkernel processes run on the system during the boot process.
ESX Server Advanced Technical Design Guide

After the Linux kernel has loaded, the S90vmware script loads the vmkernel.
ESX Server Advanced Technical Design Guide

VMware Inc states that vmkernel does not derive from Linux, but acknowledges that it has adapted certain device-drivers from Linux device drivers. The Linux kernel continues running, under the control of the vmkernel, providing functions including the proc file system used by the ESX and an environment to run support applications.

ESX Server Advanced Technical Design Guide

ESX version 3 loads the VMkernel from the Linux initrd, thus much earlier in the boot-sequence than in earlier ESX versions.
In traditional systems, a given operating system runs a single kernel. The VMware FAQ mentions that ESX has both a Linux 2.4 kernel and vmkernel — hence confusion over whether ESX has a Linux base. An ESX system starts a Linux kernel first, but it loads vmkernel (also described by VMware as a kernel), which wraps around the linux kernel, and which (according to VMware Inc) does not derive from Linux.
The ESX userspace environment, known as the "Service Console" (or as "COS" or as "vmnix"), derives from a modified version of Red Hat Linux, (Red Hat 7.2 for ESX 2.x and Red Hat Enterprise Linux 3 for ESX 3.x). In general, this Service Console provides management interfaces (CLI, webpage MUI, Remote Console). This VMware ESX hypervisor virtualization approach provides lower overhead and better control and granularity for allocating resources (CPU-time, disk-bandwidth, network-bandwidth, memory-utilization) to virtual machines, compared to so-called "hosted" virtualization, where a base OS handles the physical resources. It also increases security, thus positioning VMware ESX as an enterprise-grade product.
As a further detail which differentiates the ESX from other VMware virtualization products: ESX supports the VMware proprietary cluster file system VMFS. VMFS enables multiple hosts to access the same SAN LUNs simultaneously, while file-level locking provides simple protection to file-system integrity.
VMware Virtual Infrastructure

'Virtual Infrastructure 3', a suite of virtualization products, includes VMware ESX Server Version 3, VMware Virtual Center Version 2, Virtual SMP (which allows a guest operating system to "see" up to 4 CPUs in the virtual machine). One can supplement this software bundle by purchasing optional products, such as VMotion, as well as distributed services such as VMware High Availability (HA), VMware Distributed Resource Scheduler (DRS) and VMware Consolidated Backup. VMware Inc. released VMware Infrastructure 3 in June 2006. The suite comes in three editions: Starter, Standard and Enterprise.
Other products

Two other products operate in conjunction with ESX - VirtualCenter and Converter.
P2V Assistant Documentation


★ VirtualCenter allows monitoring and management of multiple ESX or GSX servers. In addition, users must install it to run infrastructure services such as:


VMotion(transferring virtual machines between servers on the fly, with almost zero downtime)


DRS (automated VMotion based on host/VM load requirements/demands)


HA(restarting of Virtual Machine Guests in the event of a physical ESX Host failure)

★ Converter allows users to create VMware ESX Server- or Workstation-compatible virtual machines from either physical machines or from virtual machines made by other virtualization products. Converter replaces the VMware "P2V Assistant" and "Importer" products — P2V Assistant allowed users to convert physical machines into virtual machines; and Importer allowed the import of virtual machines from other products into VMware Workstation.
Note also the VMware ACE product.ACE product

Generic operation


VMware Inc. refers to the computer and operating system instance that executes the VMware Workstation process as the 'host machine', and identifies instances of operating systems (or of virtual appliances) 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, an administrator no longer even needs to pause virtual machines running on ESX servers while moving them — virtual machines can now continue running even while they migrate to different hosts — provided the source and target servers involved use the same type of processors and the same instruction sets.
New enterprise-grade servers, along with tools supplied by VMware, Inc. have started to popularise the migration of older production servers into virtual machines, allowing the consolidation with little effort of many legacy servers onto a single new host machine.
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.
The VMware product line can also utilize different operating systems on a dual-boot system simultaneously by booting one partition natively while using the other as a guest operating system within VMware Workstation. Installers must take care, however to reconfigure the guest partition to accept the new hardware configuration, as the VMware virtual machine presents a different set of hardware than the guest may expect. Failure to re-configure the guest operating system can result in the "Blue Screen of Death" on operating systems based on Microsoft Windows. Microsoft Windows users can use hardware profiles to help overcome this issue. Linux allows the changing of hardware configurations quickly by simply loading and unloading kernel modules. Some cases may require a kernel recompile, but most Linux distros have shipped for years with a generic configuration and the ability to load appropriate drivers at runtime/startup time to match the hardware in use.

Implementation of virtual processing


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 execute, and later uses the translated code directly when the code runs a second time. Microsoft's Virtual PC for Mac OS X takes this approach.
VMware Workstation takes an even more optimized approach, and uses the CPU to run code directly whenever possible (as, for example, when running user mode and virtual 8086 mode code on x86). When direct execution cannot operate, VMware software re-writes code dynamically. This occurs with kernel-level and real mode code. VMware puts the translated code into a spare area of memory, typically at the end of the address space, which it can then protect and make invisible using the segmentation mechanisms. For these reasons, VMware operates dramatically faster than emulators, running at more than 80% of the speed that the virtual guest OS would run on hardware. VMware Inc. 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.
Many people erroneously believe that VMware and Virtual PC ''replace offending instructions'' or ''simply run kernel-code in user-mode''. Both of these approaches run into difficulties on x86. Replacing instructions means that if the code reads itself it may fail to find the expected content; one cannot protect code against reading and at the same time allow normal execution; replacing in-place becomes complicated. Running the code unmodified in user-mode will also fail, 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. One must always rewrite; performing a simulation of the current program counter in the original location when necessary and (notably) remapping hardware code breakpoints.

Known issues


Known limitations of VMware products, as of August 2007, include the following:
Hardware support


★ VMware virtual machines do not support FireWire.Discussion forum.

★ Older VMware virtual machines provide no direct support for USB 2.0, but make USB 2.0 devices in the host operating-system visible to the guest operating-system as USB 1.1 devices. Workstation version 6.0 added support for USB 2.0 devices.VMware, Inc. VMware Workstation 6.0 Release Notes. Retrieved on 2007-07-19.

★ VMware virtual machines provide only experimental support for 3D hardware acceleration, via Microsoft's Direct3D 8 API.[8][9] A video has appeared on YouTube that demonstrates several 3D-accelerated games running under VMware Fusion and Mac OS X. The release-notes for Fusion beta 2 include a list of 3D-accelerated computer-games that can run within Windows XP-based virtual machines.

★ Only 3 mouse-buttons function inside the guest OS. Five-button mice remain unsupported.
Additionally, when using VMware Workstation in an environment using Media Access Control (MAC) addresses as unique identifiers (UID), one should (and often must) manually configure the MAC address for each virtual machine in order to ensure uniqueness (for example, in an environment in which network switches implement MAC security; or in an environment in which Altiris products use the MAC address as the UID). In such a situation, disabling all networks/adapters other than "bridged" and editing each virtual machine's .vmx file to change "ethernet0.address" to a unique MAC and "ethernet0.addresstype" to "static" will help.
OS support

64-Bit Solaris 10 1/06 (Update 1) and Solaris 10 6/06 (Update 2) fail with a triple fault on Intel Pentium M-based systems Merom, Woodcrest, and Conroe. A Sun Microsystems blog has published a workaround for this issue.
Older versions of VMware seem unable to run newer versions of Linux (2.4-series kernels seem to panic when run on VMware 2.x; and 2.6-series kernels, when run on VMware 3.x, give a protection error). VMware Workstation in Nov 2006 reached version 5.5.3, which supports these newer operating systems and kernels. However, the latest versions of the 2.6.x kernel require a patch to use all the VMware features — even when using VMware Workstation 5.0 or 5.5. This patch, freely available as vmware-any-any-updatexxx, comes via the Czech Technical University.
Network protocols

Attempting to mount an NFS share from a NAT'ed instance of VMware may result in a permission-denied error. To fix the problem, switch the VMware instance to use bridged networking rather than network address translation (NAT). Bridged networking implies adding another device on a network, while NAT uses the VMware server to assign the instance an IP address, either through DHCP or through a static IP configuration. Another method of dealing with the permission-denied error involves using port-forwarding, but this results in more complexity.
VMware Workstation and VMware Server can swallow CPU-interrupts, making maintenance of accurate time difficult. Network Time Protocol (NTP) servers should not run under VMware.
Infrastructure limitations

Some limitations in VMware's Infrastructure 3 may constrain the design of data centers:[10]

★ Guest system maximum RAM: 16 GBytes

★ Number of hosts in a HA cluster: 16

★ Number of hosts in a DRS cluster: 32
Performance limitations

In terms of performance, virtualization imposes a cost in the additional work the CPU has to perform to virtualize the underlying hardware. Instructions that perform this extra work, and other activities that require virtualization, tend to lie in operating-system calls. In an unmodified operating system , OS-calls introduce the greatest portion of virtualization-overhead.
Paravirtualization or other virtualization techniques may help with these issues. VMware and XenSource invented the Virtual Machine Interface for this purpose, and selected operating systems currently support this.

See also



Comparison of virtual machines for a list of related virtualization software products

Virtual appliance

Virtual machine

Virtualization

VMFS, the VMware SAN file system

X86 virtualization

References


1. Mullins, Robert (2007-08-14). Update: VMware the bright spot on a gray Wall Street day. IDG News Service. Retrieved on 2007-08-15.
2. Digital Signatures for Kernel Modules on Systems Running Windows Vista

3. "ESX Server Datasheet"
4. "ESX Server Architecture"
5. "Support for 64-bit Computing"
6. Gerstel, Markus: "Virtualisierungsansätze mit Schwepunkt Xen"
7. "ESX Server Open Source"
8. Experimental Support for Direct3D
9. Can 3D Graphics be Achieved on Virtualization?
10. Configuration Maximums for VMware Infrastructure 3

External links



VMware Inc. website



VMware VMTN (VMware Technology Network) Discussion Forums

VMware Virtual Appliances Marketplace directory

VMware Academic White Papers

★ [news://news.vmware.com VMware Newsgroups]

★ — VMware patent application, containing an extensive explanation of the technology

This article provided by Wikipedia. To edit the contents of this article, click here for original source.

psst.. try this: add to faves