VMware ESX

From Infogalactic: the planetary knowledge core
(Redirected from VMware ESXi)
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

VMware ESXi
Developer(s) VMware, Inc.
Stable release 6.0.0 Update 1a (Build 3073146) / 6 October 2015 (2015-10-06)
Platform i386 (discontinued in 4.0 onwards),[1] x86-64
Type Hypervisor
License Proprietary
Website vmware.com/products/esxi-and-esx/

VMware ESXi (formerly ESX) is an enterprise-class, type-1 hypervisor developed by VMware for deploying and serving virtual computers. As a type-1 hypervisor, ESXi is not a software application that one installs in an operating system; instead, it includes and integrates vital OS components, such as a kernel.[2]

After version 4.1, VMware renamed ESX to ESXi. ESXi replaces Service Console (a rudimentary operating system) with a more closely integrated OS. ESX/ESXi is the primary component in the VMware Infrastructure software suite.[3]

The name ESX is an abbreviation of Elastic Sky X.[4][5]

Architecture

Lua error in package.lua at line 80: module 'strict' not found.

ESX runs on bare metal (without running an operating system)[6] unlike other VMware products.[7] It includes its own kernel: A Linux kernel is started first,[8] and is then used to load a variety of specialized virtualization components, including ESX, which is otherwise known as the vmkernel component.[citation needed] The Linux kernel is the primary virtual machine; it is invoked by the service console. At normal run-time, the vmkernel is running on the bare computer, and the Linux-based service console runs as the first virtual machine. VMWare dropped development of ESX at version 4.1, and now uses ESXi, which does not include a Linux kernel.[9]

The vmkernel is a microkernel[10] with three interfaces: hardware, guest systems, and the 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[11][12] and the SRAT (system resource allocation table) to track allocated memory.[13]

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. According to the README file, "This module contains the Linux emulation layer used by the vmkernel."[14]

The vmkernel uses the device drivers:[14]

  1. net/e100
  2. net/e1000
  3. net/e1000e
  4. net/bnx2
  5. net/tg3
  6. net/forcedeth
  7. net/pcnet32
  8. block/cciss
  9. scsi/adp94xx
  10. scsi/aic7xxx
  11. scsi/aic79xx
  12. scsi/ips
  13. scsi/lpfcdd-v732
  14. scsi/megaraid2
  15. scsi/mptscsi_2xx
  16. scsi/qla2200-v7.07
  17. scsi/megaraid_sas
  18. scsi/qla4010
  19. scsi/qla4022
  20. scsi/vmkiscsi
  21. scsi/aacraid_esx30
  22. scsi/lpfcdd-v7xx
  23. scsi/qla2200-v7xx

These drivers mostly equate to those described in VMware's hardware compatibility list.[15] 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.[14]

Service console

In ESX (and not ESXi), the Service Console is a vestigial general purpose operating system most significantly used as bootstrap for the VMware kernel, vmkernel, and secondarily used as a management interface. Both of these Console Operating System functions are being deprecated from version 5.0, as VMware migrates exclusively to the ESXi model, current version being ESXi.[16] The Service Console, for all intents and purposes, is the operating system used to interact with VMware ESX and the virtual machines that run on the server.

Linux dependencies

ESX 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[17] 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.[8] On ESX versions 1 and 2, no VMkernel processes run on the system during the boot process.[18] After the Linux kernel has loaded, the S90vmware script loads the vmkernel.[18] 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.[18] ESX version 3 loads the VMkernel from the Linux initrd, thus much earlier in the boot-sequence than in previous 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.[citation needed] 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 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).

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.

Purple diagnostic screen

File:VMware ESX PSOD.png
A purple diagnostic screen as seen in VMware ESX Server 3.0
File:VMware ESXi 4.1 PSOD.jpg
A purple diagnostic screen from VMware ESXi 4.1

In the event of a hardware error, the vmkernel can 'catch' a Machine Check Exception.[19] This results in an error message displayed on a purple diagnostic screen. This is colloquially known as a purple diagnostic screen, or purple screen of death (PSOD, cf. Blue Screen of Death (BSOD)).

Upon displaying a purple diagnostic screen, the vmkernel writes debug information to the core dump partition. This information, together with the error codes displayed on the purple diagnostic screen can be used by VMware support to determine the cause of the problem.

vMotion: live migration

Live migration (vMotion) in ESX allows a virtual machine to move between two different hosts. Live storage migration (Storage vMotion) enables live migration of virtual disks on the fly.[20] During vMotion Live Migration (vLM) of a running virtual machine (VM) the content of the (RAM) memory of the VM is sent from the running VM to the new VM (the instance on another host that will become the running VM after the vLM). The content of memory is by its nature changing all the time. ESX uses a system where the content is sent to the other VM and then it will check what data is changed and send that, each time smaller blocks. At the last moment it will very briefly 'freeze' the existing VM, transfer the last changes in the RAM content and then start the new VM. The intended effect of this process is to minimize the time during which the VM is suspended; in a best case this will be the time of the final transfer plus the time required to start the new VM.[21][22]

Versions

VMware ESX is available in two main types: ESX and ESXi, although since version 5 only ESXi is continued.

VMware ESX

Version release history:

  • VMware (7 January 2002)

VMware ESX 1.5

  • VMware ESX Server 1.5 (13 May 2002)

VMware ESX 2.0 (21 July 2003)

  • VMware ESX Server 2.0.1 Build 22983 (13 April 2006)
  • VMware ESX Server 2.0.2 Build 23922 (4 May 2006)

VMware ESX 2.5 (14 December 2004)

  • VMware ESX Server 2.5.0 Build 11343 (29 November 2004)
  • VMware ESX Server 2.5.1 Build 13057 (20 May 2005)
  • VMware ESX Server 2.5.1 Build 14182 (20 June 2005)
  • VMware ESX Server 2.5.2 Build 16390 (15 September 2005)
  • VMware ESX Server 2.5.3 Build 22981 (13 April 2006)
  • VMware ESX Server 2.5.4 Build 32233 (5 October 2006)
  • VMware ESX Server 2.5.5 Build 57619 (8 October 2007)

VMware Infrastructure 3.0 (VI3) (5 June 2006)

  • VMware ESX Server 3.0 Build 27701 (13 June 2006)
  • VMware ESX Server 3.0.1 Build 32039 (25 September 2006)
  • VMware ESX Server 3.0.2 Build 52542 (31 July 2007)
  • VMware ESX Server 3.0.3 Build 104629 (8 August 2008)
  • VMware ESX Server 3.0.3 Update 1 Build 231127 (8 March 2010)
  • VMware ESX Server 3.5 (10 December 2007)
  • VMware ESX Server 3.5 Build 64607 (20 February 2008)
  • VMware ESX Server 3.5 Update 1 Build 82663 (10 April 2008)
  • VMware ESX Server 3.5 Update 2 Build 110268 (13 August 2008)
  • VMware ESX Server 3.5 Update 3 Build 123630 (6 November 2008)
  • VMware ESX Server 3.5 Update 4 Build 153875 (30 March 2009)
  • VMware ESX Server 3.5 Update 5 Build 207095 (20 December 2009) This was the last version to support 32-bit systems [23]

VMware vSphere 4.0 (20 May 2009)

  • VMware ESX 4.0 Build 164009 (21 May 2009)
  • VMware ESX 4.0 Update 1 Build 208167 (19 November 2009)
  • VMware ESX 4.0 Update 2 Build 261974 (10 June 2010)
  • VMware ESX 4.0 Update 3 Build 398348 (5 May 2011)
  • VMware ESX 4.0 Update 4 Build 504850 (17 November 2011)
  • VMware ESX 4.1 Build 260247 (13 July 2010)
  • VMware ESX 4.1 Update 1 Build 348481 (10 February 2011)
  • VMware ESX 4.1 Update 2 Build 502767 (27 October 2011)
  • VMware ESX 4.1 Update 3 Build 800380 (30 August 2012)

ESX and ESXi before version 5.0 do not support Windows 8/Windows 2012. These Microsoft operating systems can only run on ESXi 5.x or later.[24]

18 July 2010 vSphere 4.1 and its subsequent update and patch releases are the last releases to include both ESX and ESXi hypervisor architectures. Future major releases of VMware vSphere will include only the VMware ESXi architecture. For this reason, VMware recommends that deployments of vSphere 4.x utilize the ESXi hypervisor architecture.

VMware ESXi

VMware ESXi
Developer(s) VMware, Inc.
Stable release 6.0 GA (Build 2494585) / 12 March 2015 (2015-03-12)[25]
Platform x86-64
Type Virtual machine monitor
License Proprietary
Website VMware ESXi

VMware ESXi is a smaller footprint version of ESX that does not include the ESX Service Console. It is available without the need to purchase a vCenter license as a free download from VMware with some features disabled.[26][27][28]

VMware ESXi was originally a compact version of VMware ESX that allowed for a smaller 32 MB disk footprint on the Host. With a simple configuration console for mostly network configuration and remote based VMware Infrastructure Client Interface, this allows for more resources to be dedicated to the Guest environments.

There are two variations of ESXi, VMware ESXi Installable and VMware ESXi Embedded Edition. The same installation media will install to either one or the other of these installation modes depending on the size of the target media.[29] It has the ability to upgrade to VMware Infrastructure 3[30] or VMware vSphere 4.0 ESXi.

Originally named VMware ESX Server ESXi edition, through several revisions the product finally became VMware ESXi 3. New editions then followed: ESXi 3.5, ESXi 4 ESXi 5 and now ESXi 6.

To virtualize Windows 8 or Windows Server 2012 as guest operating systems, the ESXi version must be 5.0 update 1 or later.

Version release history:[28]

  • VMware ESX 3.0.0 GA (Build 27701) (16 June 2006 (2006-06-16))
  • VMware ESX 3.0.1 GA (Build 32039) (25 September 2006 (2006-09-25))
  • VMware ESX 3.0.2 GA (Build 52542) (26 July 2007 (2007-07-26))
  • VMware ESX 3.0.3 GA (Build 104629) (14 July 2008 (2008-07-14))
  • VMware ESXi 3.5 GA (Build 64607) (20 February 2008 (2008-02-20))
  • VMware ESXi 3.5 Update 1 (Build 82663) (10 April 2008 (2008-04-10))
  • VMware ESXi 3.5 Update 2 (Build 103909) (13 August 2008 (2008-08-13))
  • VMware ESXi 3.5 Update 3 (Build 123629) (6 November 2008 (2008-11-06))
  • VMware ESXi 3.5 Update 4 (Build 153875) (30 March 2009 (2009-03-30))
  • VMware ESXi 3.5 Update 5 (Build 207095) (3 December 2009 (2009-12-03))
  • VMware ESXi 4.0 GA (Build 164009) (21 May 2009 (2009-05-21))
  • VMware ESXi 4.0 Update 1 (Build 208167) (19 November 2009 (2009-11-19))
  • VMware ESXi 4.0 Update 2 (Build 261974) (10 June 2010 (2010-06-10))
  • VMware ESXi 4.0 Update 3 (Build 403554) (5 May 2011 (2011-05-05))
  • VMware ESXi 4.0 Update 4 (Build 523315) (17 November 2011 (2011-11-17))
  • VMware ESXi 4.1 GA (Build 260247) (13 July 2010 (2010-07-13))
  • VMware ESXi 4.1 Update 1 (Build 351620) (10 February 2011 (2011-02-10))
  • VMware ESXi 4.1 Update 2 (Build 502767) (27 October 2011 (2011-10-27))
  • VMware ESXi 4.1 Update 3 (Build 800380) (30 August 2012 (2012-08-30))
  • VMware ESXi 5.0 GA (Build 469512) (24 August 2011 (2011-08-24))
  • VMware ESXi 5.0 Update 1 (Build 623860) (15 March 2012 (2012-03-15))
  • VMware ESXi 5.0 Update 2 (Build 914586) (20 December 2012 (2012-12-20))
  • VMware ESXi 5.0 Update 3 (Build 1311175) (17 October 2013 (2013-10-17))
  • VMware ESXi 5.1 GA (Build 799733) (10 September 2012 (2012-09-10))
  • VMware ESXi 5.1 Update 1 (Build 1065491) (25 April 2013 (2013-04-25))
  • VMware ESXi 5.1 Update 2 (Build 1483097) (16 January 2014 (2014-01-16))
  • VMware ESXi 5.1 Update 3 (Build 2323236) (4 December 2014 (2014-12-04))
  • VMware ESXi 5.5 GA (Build 1331820) (22 September 2013 (2013-09-22))
  • VMware ESXi 5.5 Update 1 (Build 1623387) (11 March 2014 (2014-03-11))
  • VMware ESXi 5.5 Update 2 (Build 2068190) (9 September 2014 (2014-09-09))
  • VMware ESXi 5.5 Update 3 (Build 3029944) (16 September 2015 (2015-09-16))
  • VMware ESXi 6.0 GA (Build 2494585) (12 March 2015 (2015-03-12))
  • VMware ESXi 6.0 Update 1 (Build 3029758) (10 September 2015 (2015-09-10))
  • VMware ESXi 6.0 Update 1a (Build 3073146) (6 October 2015 (2015-10-06))

Lawsuit

VMware has been sued by Christoph Hellwig, a prominent Linux kernel developer, for GPL license violations. It is alleged that VMware has misappropriated portions of the Linux kernel,[31] and used them without permission.

Related or additional products

Lua error in package.lua at line 80: module 'strict' not found. The following products operate in conjunction with ESX:

  • vCenter Server, enables monitoring and management of multiple ESX, ESXi and GSX servers. In addition, users must install it to run infrastructure services such as:
    • vMotion (transferring virtual machines between servers on the fly whilst they are running, with zero downtime)[21][22]
    • svMotion aka Storage vMotion (transferring virtual machines between Shared Storage LUNs on the fly, with zero downtime)[32]
    • enhanced vMotion aka evMotion (a simultaneous vMotion and svMotion, supported on version 5.1 and above)
    • Distributed Resource Scheduler (DRS) (automated vMotion based on host/VM load requirements/demands)
    • High Availability (HA) (restarting of Virtual Machine Guest Operating Systems in the event of a physical ESX Host failure)
    • Fault Tolerance (almost instant stateful fail-over of a VM in the event of a physical host failure)[33]
  • Converter, enables 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.
  • vSphere Client (formerly VMware Infrastructure Client), enables monitoring and management of a single instance of ESX or ESXi server. After ESX 4.1, vSphere Client was no longer available from the ESX/ESXi server, but must be downloaded from the VMware web site.

Cisco Nexus 1000v

Network-connectivity between ESX hosts and the VMs running on it relies on virtual NICs (inside the VM) and virtual switches. The latter exists in two versions: the 'standard' vSwitch allowing several VMs on a single ESX host to share a physical NIC and the 'distributed vSwitch' where the vSwitches on different ESX hosts together form one logical switch. Cisco offers in their Cisco Nexus product-line the Nexus 1000v, an advanced version of the standard distributed vSwitch. A Nexus 1000v consists of two parts: a supervisor module (VSM) and on each ESX host a virtual ethernet module (VEM). The VSM runs as a virtual appliance within the ESX cluster or on dedicated hardware (Nexus 1010 series) and the VEM runs as module on each host and replaces a standard dvS (distributed virtual switch) from VMware. Configuration of the switch is done on the VSM using the standard NX-OS CLI. It offers capabilities to create standard port-profiles which can then be assigned to virtual machines using vCenter.

There are several differences between the standard dvS and the N1000v, one is that the Cisco switch generally has full support for network technologies such as LACP link aggregation or that the VMware switch supports new features such as routing based on physical NIC load. However the main difference lies in the architecture: Nexus 1000v is working in the same way as a physical Ethernet switch does while dvS is relying on information from ESX. This has consequences for example in scalability where the limit for a N1000v is 2048 virtual ports against 60000 for a dvS. The Nexus1000v is developed in co-operation between Cisco and VMware and uses the API of the dvS[34]

Third party management tools

Because VMware ESX is a leader in the server-virtualisation market,[35] software and hardware vendors offer a range of tools to integrate their products or services with ESX. Examples are the products from Veeam Software with backup and management applications[36] and a plugin to monitor and manage ESX using HP OpenView,[37] Quest Software with a range of management and backup-applications and most major backup-solution providers have plugins or modules for ESX. Using Microsoft Operations Manager (SCOM) 2007/2012 with a Bridgeways ESX management pack gives you a realtime ESX datacenter health view.

Also hardware-vendors such as HP and Dell include tools to support the use of ESX(i) on their hardware platforms. An example is the ESX module for Dell's OpenManage management platform.[38]
VMware have added a Web Client[39] since v5 but it will work on vCenter only and does not contain all features.[40] vEMan[41] is a Linux application which is trying to fill that gap. These are just a few examples: there are numerous 3rd party products to manage, monitor or backup ESX infrastructures and the VMs running on them.[42]

Known limitations

Known limitations of VMware ESXi, as of April 2015, include the following:

Infrastructure limitations

Some maximums in ESXi Server 6.0 may influence the design of data centers:[43]

  • Guest system maximum RAM: 4 TB
  • Host system maximum RAM: 6 TB (12 TB on certain certified OEM hardware platforms)
  • Number of hosts in a high availability or Distributed Resource Scheduler cluster: 64
  • Maximum number of processors per virtual machine: 128
  • Maximum number of processors per host: 480
  • Maximum number of virtual CPUs per physical CPU core: 32
  • Maximum number of virtual machines per host: 1024
  • Maximum number of virtual CPUs per fault tolerant virtual machine: 4
  • Maximum guest system RAM per fault tolerant virtual machine: 64 GB
  • VMFS5 maximum volume size: 64 TB, but maximum file size is 62TB -512 bytes

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".[citation needed]

Paravirtualization or other virtualization techniques may help with these issues. VMware developed the Virtual Machine Interface for this purpose, and selected operating systems currently support this. A comparison between full virtualization and paravirtualization for the ESX Server[44] shows that in some cases paravirtualization is much faster.

Network limitations

When using the advanced and extended network capabilities by using the Cisco Nexus 1000v distributed virtual switch the following network-related limitations apply:[34]

  • 64 ESX/ESXi hosts per VSM (Virtual Supervisor Module)
  • 2048 virtual ethernet interfaces per VMWare vDS (virtual distributed switch)
  • and a maximum of 216 virtual interfaces per ESX/ESXi host
  • 2048 active VLAN's (one to be used for communication between VEM's and VSM)
  • 2048 port-profiles
  • 32 physical NIC's per ESX/ESXi (physical) host
  • 256 port-channels per VMWare vDS (virtual distributed switch)
  • and a maximum of 8 port-channels per ESX/ESXi host

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. VMWare:vSphere ESX and ESXi Info Center
  4. What does ESX stand for?
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. "ESX Server Datasheet"
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. 8.0 8.1 Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Gerstel, Markus: "Virtualisierungsansätze mit Schwepunkt Xen"[dead link]
  12. VMware ESX
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. 14.0 14.1 14.2 Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. VMware FAQ[dead link]
  18. 18.0 18.1 18.2 ESX Server Advanced Technical Design Guide[dead link]
  19. "KB: Decoding Machine Check Exception (MCE) output after a purple diagnostic screen |publisher=VMware, Inc."
  20. The Design and Evolution of Live Storage Migration in VMware ESX
  21. 21.0 21.1 VMWare Blog by Kyle Gleed: vMotion: what's going on under the covers, 25 February 2011, visited: 2 February 2012
  22. 22.0 22.1 VMware website vMotion brochure. Retrieved 3 February 2012
  23. http://kb.vmware.com/kb/1003661
  24. VMWare KBArticle Windows 8/Windows 2012 doesn't boot on ESX, visited 12 September 2012
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. 28.0 28.1 Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. http://www.vmware.com/files/pdf/VMware-Storage-VMotion-DS-EN.pdf
  33. http://www.vmware.com/files/pdf/VMware-Fault-Tolerance-FT-DS-EN.pdf
  34. 34.0 34.1 Overview of the Nexus 1000v virtual switch, visited 9 July 2012
  35. VMware continues virtualization market romp, 18 April 2012. Visited: 9 July 2012
  36. About Veeam, visited 9 July 2012
  37. Veeam OpenView plugin for VMware, visited 9 July 2012
  38. OpenManage (omsa) support for ESXi 5.0, visited 9 July 2012
  39. VMware info about Web Client – VMware ESXi/ESX 4.1 and ESXi 5.0 Comparison
  40. Availability of vSphere Client for Linux systems – What the web client can do and what not
  41. vEMan website vEMan – Linux vSphere client
  42. Petri website 3rd party ESX tools, 23 December 2008. Visited: 9 July 2012
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.

External links