VMware ESXi
VMware ESXi 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 is installed on an operating system ; instead, it includes and integrates vital OS components, such as a kernel.
After version 4.1, VMware renamed ESX to ESXi. ESXi replaces Service Console with a more closely integrated OS. ESX/ESXi is the primary component in the VMware Infrastructure software suite.
The name ESX originated as an abbreviation of Elastic Sky X. In September 2004, the replacement for ESX was internally called VMvisor, but later changed to ESXi.
Architecture
ESX runs on bare metal unlike other VMware products. It includes its own kernel. In the historic VMware ESX, a Linux kernel was started first and then used to load a variety of specialized virtualization components, including ESX, which is otherwise known as the vmkernel component. 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.The vmkernel is a microkernel with three interfaces: hardware, guest systems, and the service console.
Interface to hardware
The vmkernel handles CPU and memory directly, using scan-before-execution to handle special or privileged CPU instructionsand the SRAT to track allocated memory.
Access to other hardware 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."The vmkernel uses the device drivers:
- net/e100
- net/e1000
- net/e1000e
- 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
Service console
In ESX, 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.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
In the event of a hardware error, the vmkernel can catch a Machine Check Exception. 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.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
VMware ESX is available in two main types: ESX and ESXi, although since version 5 only ESXi is continued.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.
VMware ESXi, a smaller-footprint version of ESX, 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.
ESXi stands for "ESX integrated".
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
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 ESXi 6.
GPL violation lawsuit
VMware has been sued by Christoph Hellwig, a Linux kernel developer, for GPL license violations. It was alleged that VMware had misappropriated portions of the Linux kernel, and used them without permission. The lawsuit was dismissed by the court in July 2016 and Hellwig announced he would file an appeal.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".
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. This followed with Hellwig withdrawing his case, and withholding further legal action.
Related or additional products
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
- * svMotion aka Storage vMotion
- * Enhanced vMotion aka evMotion
- * Distributed Resource Scheduler
- * High Availability
- * Fault Tolerance
- 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, 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
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
Third party management tools
Because VMware ESX is a leader in the server-virtualization market, 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 and a plugin to monitor and manage ESX using HP OpenView, 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 2007/2012 with a Bridgeways ESX management pack gives you a realtime ESX datacenter health view.Also, hardware-vendors such as Hewlett-Packard and Dell include tools to support the use of ESX on their hardware platforms. An example is the ESX module for Dell's OpenManage management platform.
VMware has added a Web Client since v5 but it will work on vCenter only and does not contain all features. vEMan 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.
Known limitations
Known limitations of VMware ESXi 7.0, as of June 2020, include the following:Infrastructure limitations
Some maximums in ESXi Server 7.0 may influence the design of data centers:- Guest system maximum RAM: 6128 GB
- Host system maximum RAM: 16 TB
- Number of hosts in a high availability or Distributed Resource Scheduler cluster: 64
- Maximum number of processors per virtual machine: 256
- 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: 4
- 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
Paravirtualization or other virtualization techniques may help with these issues. VMware developed the Virtual Machine Interface for this purpose, and selected operating systems support this. A comparison between full virtualization and paravirtualization for the ESX Server 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:Fibre Channel Fabric limitations
Regardless of the type of virtual SCSI adapter used, there are these limitations:- Maximum of 4 Virtual SCSI adapters, one of which should be dedicated to virtual disk use
- Maximum of 64 SCSI LUNs per adapter