- VMware ESX Server
Infobox_Software
name = VMware ESX Server
logo =
caption =
developer = VMware, Inc.
latest_release_version = 3.5 Update 2 (build 103908)
latest release date = release date|2008|07|25 [cite web |title=VMware Infrastructure 3 Release Notes |url=http://www.vmware.com/support/vi3/doc/vi3_esx35u2_vc25u2_rel_notes.html |publisher=VMware, Inc. |date=2008-07-25 |accessdate=2008-07-28]
operating_system =
platform = x86-compatible
genre =Virtual machine
license = Proprietary
website = [http://www.vmware.com/products/vi/esx/ VMware ESX Server]VMware ESX Server is an enterprise-level
virtualization product offered by VMware, Inc., a division ofEMC Corporation . ESX Server is a component of VMware's larger offering,VMware Infrastructure , which adds management and reliability services to the core server product. The basic server requires some form of persistent storage - typically an array ofhard disk drive s - for storing the virtualization kernel and support files. A variant of this design, called ESX Server ESXi Embedded, does away with the first requirement by moving the server kernels into a dedicated hardware device. Both variants support the services offered by Virtual Infrastructure. [cite web |title=Meet the Next Generation of Virtual Infrastructure Technology |url=http://www.vmware.com/vmworldnews/esx.html |publisher=VMware |accessdate=2007-09-21]Technical description
Terms and wording
VMware, Inc. refers to the
hypervisor used by VMware ESX Server as "vmkernel".Architecture
VMware states that the ESX Server product runs on "bare metal". [http://www.vmware.com/pdf/esx_datasheet.pdf "ESX Server Datasheet"] ] In contrast to other VMware products, it does not run atop a third-party operating system [http://www.vmware.com/support/esx21/doc/esx21_admin_system_architecture.html "ESX Server Architecture"] ] , but instead includes its own kernel. In ESX version 3 and older, a
Linux kernel is started first [http://video.google.com.au/videoplay?docid=-8007161406494547506&q=esx+server ESX machine boots] ] and is used to load a variety of specialized virtualization components, including VMware's 'vmkernel' component.The "vmkernel" itself, which VMware claims is a
microkernel , [ [http://www.vmware.com/company/news/releases/64bit.html "Support for 64-bit Computing"] ] has three interfaces to the outside world:
* hardware
* guest systems
* service console (Console OS)Interface to hardware
The "vmkernel" handles CPU and memory directly, using Scan-Before-Execution (SBE) to handle special or privileged CPU instructions. [http://www13.informatik.tu-muenchen.de/lehre/seminare/WS0506/hauptsem/Ausarbeitung02.pdf Gerstel, Markus: "Virtualisierungsansätze mit Schwepunkt Xen"] ]
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 calledvmklinux
implements the Linux module interface. Excerpt from the README: "This module contains the linux emulation layer used by the vmkernel." [http://www.vmware.com/download/open_source.html "ESX Server Open Source"] ]The vmkernel uses the device drivers:
# net/e100
# net/e1000
# 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-v7xxThese drivers mostly equate to those described in VMware's "Hardware Compatibility List". [http://www.vmware.com/resources/techresources/cat/119 "ESX Hardware Compatibility List"] ] All these modules fall under the GPL. Programmers have adapted them to run with the vmkernel: VMware Inc has changed 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.Fact|date=July 2008Service console
The Service Console is a vestigial general purpose operating system most significantly used as the bootstrap for the VMware kernel, vmkernel, and secondarily used as a management interface. Both of these Console OS functions are being deprecated as VMware migrates to exclusively the 'embedded' ESX model, current version being ESX 3i.Fact|date=July 2008
Linux dependencies
ESX Server uses a
Linux kernel to load 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 FAQ [http://www.vmware.com/products/vi/esx/faqs.html VMware 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. [http://video.google.com.au/videoplay?docid=-8007161406494547506 ESX machine boots] ] On ESX versions 1 and 2, no VMkernel processes run on the system during the boot process. [http://www.vi3book.com/esxatdg_ch2.pdf ESX Server Advanced Technical Design Guide] ] After the Linux kernel has loaded, the S90vmware script loads the vmkernel. [http://www.vi3book.com/esxatdg_ch2.pdf 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. [http://www.vi3book.com/esxatdg_ch2.pdf ESX Server Advanced Technical Design Guide] ] ESX version 3 loads the VMkernel from the Linuxinitrd , 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 according to VMware '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 ofRed Hat Linux , (Red Hat 7.2 for ESX 2.x andRed Hat Enterprise Linux 3 for ESX 3.x). In general, this Service Console provides management interfaces (CLI, webpageMUI , 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.Related products
Two other products operate in conjunction with ESX Server - VirtualCenter and Converter. [http://www.vmware.com/support/pubs/p2v_pubs.html 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:
** [http://www.vmware.com/products/vi/vc/vmotion.html VMotion] (transferring virtual machines between servers on the fly, with almost zero downtime)
** [http://www.vmware.com/products/vi/storage_vmotion_overview.html SVMotion] (transferring virtual machines between Shared Storage LUNs on the fly, with almost zero downtime)
** [http://www.vmware.com/products/vi/vc/drs.html DRS] (automated VMotion based on host/VM load requirements/demands)
** [http://www.vmware.com/products/vi/vc/ha.html 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.Known limitations
Known limitations of VMware ESX Server, as of December 2007, include the following:
Infrastructure limitations
Some limitations in ESX Server 3 may constrain the design of data centers: [cite web |publisher=VMware, Inc. |url=http://www.vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_config_max.pdf |title=Configuration Maximums for VMware Infrastructure 3 |date=
2007-12-18 |accessdate=2007-12-19 |format=PDF]
* Guest system maximum RAM: 64 GB
* Number of hosts in a HA cluster: 32
* Number of hosts in a DRS cluster: 32Performance 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 andXenSource invented theVirtual 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
*List of VMware software
*Virtual appliance
*Virtual machine
*Virtualization
*VMware VMFS , the VMwarecluster file system
*x86 virtualization References
External links
* [http://www.vmware.com/products/vi/esx/ VMware ESX Server product page]
* [http://www.vmware.com/support/vi3/doc/releasenotes_esx302_update1.html ESX Server 3.0.2 Update 1 Release Notes]
* [http://www.vmware.com/support/vi3/doc/esx302_update1_faq.html ESX Server Updates FAQ]
Wikimedia Foundation. 2010.