Jump to content

VMware ESXi

From Wikipedia, the free encyclopedia
(Redirected from VMware ESX)

VMware ESXi
Developer(s)VMware (Broadcom)
Initial releaseMarch 23, 2001; 23 years ago (2001-03-23)
Stable release
8.0 Update 3b (Build 24280767)[1] / September 17, 2024; 56 days ago (2024-09-17)[2]
PlatformIA-32 (x86-32) (discontinued in 4.0 onwards),[3] x86-64, ARM[4]
TypeNative hypervisor (type 1)
LicenseProprietary
Websitewww.vmware.com/products/esxi-and-esx.html

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

After version 4.1 (released in 2010), 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.[6]

The name ESX originated as an abbreviation of Elastic Sky X.[7][8] In September 2004, the replacement for ESX was internally called VMvisor, but later changed to ESXi (as the "i" in ESXi stood for "integrated").[9][10]

Architecture

[edit]

ESX runs on bare metal (without running an operating system)[11] unlike other VMware products.[12] It includes its own kernel. In the historic VMware ESX, a Linux kernel was started first[13] and then used to load a variety of specialized virtualization components, including ESX, which is otherwise known as the vmkernel component.[14] The Linux kernel was the primary virtual machine; it was invoked by the service console. At normal run-time, the vmkernel was running on the bare computer, and the Linux-based service console ran 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 at all.[15]

The vmkernel is a microkernel[16] with three interfaces: hardware, guest systems, and the service console (Console OS).

Interface to hardware

[edit]

The vmkernel handles CPU and memory directly, using scan-before-execution (SBE) to handle special or privileged CPU instructions[17][18] and the SRAT (system resource allocation table) to track allocated memory.[19]

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

The vmkernel uses the device drivers:[20]

  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.[21] 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.[20]

Service console

[edit]

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.[22] 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.

Purple Screen of Death

[edit]
A purple diagnostic screen as seen in VMware ESX Server 3.0
A purple diagnostic screen from VMware ESXi 4.1

In the event of a hardware error, the vmkernel can catch a Machine Check Exception.[23] 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, c.f. 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.

Versions

[edit]

VMware ESX used to be available in two main types: ESX and ESXi, but as of version 5, the original ESX has been discontinued in favor of ESXi.

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]

VMware ESXi, a smaller-footprint version of ESX, does not include the ESX Service Console. Before Broadcom acquired VMware, it was available - without the need to purchase a vCenter license - as a free download from VMware, with some features disabled.[25][26][27]

ESXi stands for "ESX integrated".[28]

VMware ESXi originated as 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.

Two variations of ESXi exist:

  • VMware ESXi Installable
  • VMware ESXi Embedded Edition

The same media can be used to install either of these variations depending on the size of the target media.[29] One can upgrade ESXi to VMware Infrastructure 3[30] or to VMware vSphere 4.0 ESXi.

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

GPL violation lawsuit

[edit]

VMware has been sued by Christoph Hellwig, a Linux kernel developer. The lawsuit began on March 5, 2015. It was alleged that VMware had misappropriated portions of the Linux kernel,[31][32] and, following a dismissal by the court in 2016, Hellwig announced he would file an appeal.[33]

The appeal was decided February 2019 and again dismissed by the German court, on the basis of not meeting "procedural requirements for the burden of proof of the plaintiff".[34]

In the last stage of the lawsuit in March 2019, the Hamburg Higher Regional Court also rejected the claim on procedural grounds. Following this, VMware officially announced that they would remove the code in question.[35] This followed with Hellwig withdrawing his case, and withholding further legal action.[36]

[edit]

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)[37][38]
    • svMotion aka Storage vMotion (transferring virtual machines between Shared Storage LUNs on the fly, with zero downtime)[39]
    • 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 (FT) (almost instant stateful fail-over of a VM in the event of a physical host failure)[40]
  • 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

[edit]

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 a 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 Kappa 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.[41]

Third-party management tools

[edit]

Because VMware ESX is a leader in the server-virtualization market,[42] 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[43] and a plugin to monitor and manage ESX using HP OpenView,[44] 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 the user a realtime ESX datacenter health view.

Hardware vendors such as Hewlett Packard Enterprise 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.[45]

VMware has added a Web Client[46] since v5 but it will work on vCenter only and does not contain all features.[47] vEMan[48] 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.[49]

Known limitations

[edit]

As of September 2020, these are the known limitations of VMware ESXi 7.0 U1.

Infrastructure limitations

[edit]

Some maximums in ESXi Server 7.0 may influence the design of data centers:[50][51]

  • Guest system maximum RAM: 24 TB
  • Host system maximum RAM: 24 TB
  • Number of hosts in a high availability or Distributed Resource Scheduler cluster: 96
  • Maximum number of processors per virtual machine: 768
  • Maximum number of processors per host: 768
  • 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: 8
  • Maximum guest system RAM per fault tolerant virtual machine: 128 GB
  • VMFS5 maximum volume size: 64 TB, but maximum file size is 62 TB -512 bytes
  • Maximum Video memory per virtual machine: 4 GB

Performance limitations

[edit]

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[52] shows that in some cases paravirtualization is much faster.

Network limitations

[edit]

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

  • 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 VLANs (one to be used for communication between VEMs and VSM)
  • 2048 port-profiles
  • 32 physical NICs 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

Fibre Channel Fabric limitations

[edit]

Regardless of the type of virtual SCSI adapter used, there are these limitations:[53]

  • Maximum of 4 Virtual SCSI adapters, one of which should be dedicated to virtual disk use
  • Maximum of 64 SCSI LUNs per adapter

See also

[edit]

References

[edit]
  1. ^ "Build numbers and versions of VMware ESXi/ESX".
  2. ^ "VMware ESXi 8.0 Update 3b Release Notes".
  3. ^ "VMware ESX 4.0 only installs and runs on servers with 64bit x86 CPUs. 32bit systems are no longer supported". VMware, Inc.
  4. ^ "Announcing the ESXi-ARM Fling". VMware, Inc.
  5. ^ "ESX Server Architecture". VMware. Archived from the original on 7 November 2009. Retrieved 22 October 2009.
  6. ^ VMware:vSphere ESX and ESXi Info Center
  7. ^ "What does ESX stand for?". Archived from the original on 20 December 2014. Retrieved 3 October 2014.
  8. ^ "Glossary" (PDF). Developer’s Guide to Building vApps and Virtual Appliances: VMware Studio 2.5. Palo Alto: VMware. 2011. p. 153. Retrieved 9 November 2011.
  9. ^ "Did you know VMware Elastic Sky X (ESX) was once called 'Scaleable Server'?". UP2V. 12 May 2014. Archived from the original on 10 June 2019. Retrieved 9 May 2018.
  10. ^ "VMware ESXi was created by a French guy !!! | ESX Virtualization". ESX Virtualization. 26 September 2009. Retrieved 9 May 2018.
  11. ^ "ESX Server Datasheet"
  12. ^ "ESX Server Architecture". Vmware.com. Archived from the original on 29 September 2007. Retrieved 1 July 2009.
  13. ^ "ESX machine boots". Video.google.com.au. 12 June 2006. Archived from the original on 13 December 2021. Retrieved 1 July 2009.
  14. ^ "VMKernel Scheduler". vmware.com. 27 May 2008. Retrieved 10 March 2016.
  15. ^ Mike, Foley. "It's a Unix system, I know this!". VMware Blogs. VMware.
  16. ^ "Support for 64-bit Computing". Vmware.com. 19 April 2004. Archived from the original on 2 July 2009. Retrieved 1 July 2009.
  17. ^ Gerstel, Markus: "Virtualisierungsansätze mit Schwerpunkt Xen" Archived 10 October 2013 at the Wayback Machine
  18. ^ VMware ESX
  19. ^ "VMware ESX Server 2: NUMA Support" (PDF). Palo Alto, California: VMware Inc. 2005. p. 7. Retrieved 29 March 2011. SRAT (system resource allocation table) – table that keeps track of memory allocated to a virtual machine.
  20. ^ a b c "ESX Server Open Source". Vmware.com. Retrieved 1 July 2009.
  21. ^ "ESX Hardware Compatibility List". Vmware.com. 10 December 2008. Retrieved 1 July 2009.
  22. ^ "ESXi vs. ESX: A comparison of features". Vmware, Inc. Retrieved 1 June 2009.
  23. ^ "KB: Decoding Machine Check Exception (MCE) output after a purple diagnostic screen |publisher=VMware, Inc."
  24. ^ VMware KBArticle Windows 8/Windows 2012 doesn't boot on ESX, visited 12 September 2012
  25. ^ "Download VMware vSphere Hypervisor (ESXi)". www.vmware.com. Retrieved 22 July 2014.
  26. ^ "Getting Started with ESXi Installable" (PDF). VMware. Retrieved 22 July 2014.
  27. ^ "VMware ESX and ESXi 4.1 Comparison". Vmware.com. Retrieved 9 June 2011.
  28. ^ "What do ESX and ESXi stand for?". VM.Blog. 31 August 2011. Retrieved 21 June 2016. Apparently, the 'i' in ESXi stands for Integrated, probably coming from the fact that this version of ESX can be embedded in a small bit of flash memory on the server hardware.
  29. ^ Andreas Peetz. "ESXi embedded vs. ESXi installable FAQ". Retrieved 11 August 2014.
  30. ^ "Free VMware ESXi: Bare Metal Hypervisor with Live Migration". VMware. Retrieved 1 July 2009.
  31. ^ "Conservancy Announces Funding for GPL Compliance Lawsuit". sfconservancy.org. 5 March 2015. Retrieved 27 August 2015.
  32. ^ "Copyleft Compliance Projects - Software Freedom Conservancy". Sfconservancy.org. 25 May 2018. Retrieved 7 February 2020.
  33. ^ "Hellwig To Appeal VMware Ruling After Evidentiary Set Back in Lower Court". 9 August 2016. Archived from the original on 14 January 2020.
  34. ^ "Klage von Hellwig gegen VMware erneut abgewiesen". 1 March 2019.
  35. ^ "VMware's Update to Mr. Hellwig's Legal Proceedings". VMware.com. 4 March 2019. Archived from the original on 27 July 2021.
  36. ^ "Press release" (PDF). bombadil.infradead.org. 2019. Retrieved 7 February 2020.
  37. ^ VMware Blog by Kyle Gleed: vMotion: what's going on under the covers, 25 February 2011, visited: 2 February 2012
  38. ^ VMware website vMotion brochure . Retrieved 3 February 2012
  39. ^ "Archived copy" (PDF). www.vmware.com. Archived from the original (PDF) on 28 December 2009. Retrieved 17 January 2022.{{cite web}}: CS1 maint: archived copy as title (link)
  40. ^ "Archived copy" (PDF). www.vmware.com. Archived from the original (PDF) on 21 November 2010. Retrieved 17 January 2022.{{cite web}}: CS1 maint: archived copy as title (link)
  41. ^ a b Overview of the Nexus 1000v virtual switch, visited 9 July 2012
  42. ^ VMware continues virtualization market romp, 18 April 2012. Visited: 9 July 2012
  43. ^ About Veeam, visited 9 July 2012
  44. ^ Veeam OpenView plugin for VMware, visited 9 July 2012
  45. ^ OpenManage (omsa) support for ESXi 5.0, visited 9 July 2012
  46. ^ VMware info about Web Client – VMware ESXi/ESX 4.1 and ESXi 5.0 Comparison
  47. ^ Availability of vSphere Client for Linux systems – What the web client can do and what not
  48. ^ vEMan website vEMan – Linux vSphere client
  49. ^ Petri website 3rd party ESX tools, 23 December 2008. Visited: 11 September 2001
  50. ^ "What's New with VMware vSphere 7 Update 1". VMware vSphere Blog. 15 September 2020. Retrieved 9 June 2023.
  51. ^ "VMware Configuration Maximum tool".
  52. ^ "Performance of VMware VMI" (PDF). VMware, Inc. 13 February 2008. Retrieved 22 January 2009.
  53. ^ "vSphere 6.7 Configuration Maximums". VMware Configuration Maximum Tool. VMware. Retrieved 12 July 2019.
[edit]