Vmware
From NeoWiki
VMware Inc., a wholly-owned 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, and established an R&D Center in Cambridge, Massachusetts in 2005. VMware software runs on Windows and on Linux. A beta version for Mac OS X appeared in December 2006.
The name "VMware" and its branding play on the traditional interpretation of "VM" in computing circles as "virtual machine".
Contents |
Products
VMware Workstation
VMware Workstation software consists of a virtual machine suite for Intel x86-compatible computers. This software suite allows users to set up multiple x86 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 (but not limited to) Windows, Linux, and BSD variants. 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 the 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 multiple snapshots feature 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.
VMware Player
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, many of them community-contributed. Freeware tools and websites (e.g. EasyVMX) also exist for creating VMs, mounting, manipulating and converting VMware disks and floppies, so VMware Player users can create, run and maintain virtual machines for free (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 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.
Although the letters GSX no longer stand for anything, they initially were an acronym for Ground Storm eXclamation.
VMware ESX Server
VMware ESX Server uses a stripped-down proprietary kernel (derived from work done on Stanford University's SimOS) that replaces the Linux kernel after hardware initialization. The Service Console (also known as "COS" or as "vmnix") for ESX Server 2.x derives from a modified version of Red Hat Linux 7.2. (The Service Console for ESX Server 3.x derived from a modified version of Red Hat Enterprise Linux 3.) In general, this Service Console acts as a boot-loader for the vmkernel and provides management interfaces (CLI, webpage MUI, Remote Console). This 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. It also increases security, thus positioning VMware ESX as an enterprise-grade product.
Although the letters ESX no longer stand for anything, they initially were an acronym for Electric Sky eXclamation.
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) and 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.
Data-center products
VMware Inc offers two main products for data centers: VMware ESX and VMware Server (formerly known as VMware GSX).
- VMware ESX server ranks as VMware's flagship product for running enterprise applications in data centers. ESX allows for a 60 to 80% increase in x86 utilization, since it loads on the bare metal level.
- Data centers can also use VMware Server, but it relies on a base operating system in order to run. As such, machines incur additional overheads when running the extra layer of software. But VMware Server has an advantage over ESX in that it supports a wider array of devices, such as USB connectivity and certain PCI devices.
Note also the VMware ACE product [1].
Other products
Three other products operate in conjunction with ESX - VirtualCenter, VMotion and Converter. [2]
- VirtualCenter allows monitoring and management of multiple ESX or GSX servers.
- VMotion allows transferring virtual machines between servers on the fly, with almost zero downtime.
- 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.
VMware and Mac OS X
VMware Inc brands its virtualization product for the Apple Macintosh platform with the codename "Fusion". VMware 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. The product has currently reached the public beta stage. The beta version has some limitations, and VMware Inc has yet to implement some features. For example, users cannot add additional hard drives and network cards to virtual machines after installing the guest operating-system. The Fusion beta program cannot create snapshots of virtual machines, such as the Windows-based Workstation product provides. Users can transfer virtual machines created in Fusion to work with VMware's Windows based products, and vice-versa, though the company discourages this behavior while Fusion remains in beta.
Generic usage
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 and tools from 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(Global Descriptor Table) and the IDT(Interrupt Descriptor Table) 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 February 2007, include the following:
Hardware support
- VMware virtual machines do not support FireWire. [1]
- VMware virtual machines provide no direct USB 2.0 support, but make USB 2.0 devices in the host operating-system visible to the guest operating-system as USB 1.1 devices. According to the VMware Workstation 6.0 beta release notes, version 6 will offer USB 2.0 support.
- VMware virtual machines provide only experimental support for 3D hardware acceleration, via Microsoft's Direct3D 8 API [2] [3]. A video has appeared on YouTube that demonstrates several 3d-accelerated games running under VMware Fusion and Mac OS X.
- ESX Server 2.x and 3.x console sessions can no longer connect/disconnect the CD-ROM.
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 (as of 29 January 2007: update107), 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.
External links
- VMware Inc website
- VMware VMTN (VMware Technology Network) Discussion Forums
- VMware Player (free software)
- VMware Virtual Appliances directory
- VMware Academic White Papers
- VMware Newsgroups
Cite error:
<ref>
tags exist, but no <references/>
tag was found