Understanding ESXi and modes of management
There are different ways to access and work with the ESXi environment. The following topics will give us a better understanding of ESXi and its different modes of management.
History of ESXi
Prior to ESXi, VMware's hypervisor was called ESX. In comparison with ESXi, ESX had some significant differences. The most noticeable difference is that ESX's core was a highly customized Linux kernel based on Red Hat Enterprise Linux. Using a Linux user environment named Service Console, administrators used to gain privileged access to the ESX kernel. It was possible to customize ESX servers by installing additional drivers and software agents (for example, backup and monitoring) on the Service Console. The following screenshots displays the boot process of the ESX Service Console.
In 2008, the first ESXi version 3.5 was released. The versions 3.5 and 4.x were the only ones that included both ESX and ESXi variants. Beginning with vSphere 5.0, ESX was dropped by VMware to focus on ESXi. One of the disadvantages of the ESX legacy design was that it had a big footprint. Another approach for the ESXi design was to simplify management and backup functionality by outsourcing it from the kernel. As a result, ESXi is more efficient and has a much smaller footprint than ESX (at about 144 MB), enabling more dynamic vSphere environments with technologies like Auto Deploy. Many current hardware vendors are building cost-effective SD cards into their servers. Because of the low footprint, ESXi fits well on those cards, making more expensive hard drives deprecated for the ESXi operating system.
Understanding ESXi
ESXi provides a virtualization layer that abstracts the processor, memory, storage, and networking resources of the physical host into multiple virtual machines. ESXi is a bare-metal hypervisor that creates a foundation for a dynamic and automated data center.
ESXi has a very small disk footprint (about 144 MB), which adds more security, as the attack surface is very small.
In ESXi architecture, applications running in virtual machines access the CPU, memory, network, and storage without directly accessing the physical hardware present. A virtual machine consists of:
- A virtual machine monitor (VMM) process that runs inside the ESXi kernel (VMkernel). It is responsible for virtualizing the guest operating system and memory management. It also handles storage and network I/O traffic between the VMkernel and the virtual machine executable process (VMX). There is at least one VMM per virtual machine and each virtual CPU.
- A virtual machine executable (VMX) process that handles remote consoles and snapshot requests.
- A mouse/keyboard/screen (MKS) process that offers a mouse and keyboard input along with video output. Any compatible vSphere Client can connect to a VMs MKS process to control the VM console, like on physical computers.
A free version of ESXi, called vSphere free hypervisor can be downloaded from the VMware website (https://www.vmware.com/go/download-vsphere), or a licensed version of vSphere can be purchased. ESXi can be installed on a hard disk, USB device, or SD card. It can also be loaded on a diskless host (directly into memory) with a feature called vSphere Auto Deploy.
ESXi is supported on Intel processors, such as Xeon or never, and AMD Opteron processors. ESXi includes a 64-bit VMkernel. Hosts with 32-bit-only processors are not supported anymore. The last version with 32-bit support was ESX 3.5. ESXi offers support for both 32-bit and 64-bit guest operating systems.
Managing ESXi
There are two graphical user interfaces present in ESXi and vCenter Server, which can be used to interact with the vSphere environment. They are known as the VMware vSphere Web Client and the VMware vSphere client. VMware will use a modern Web Client for administration, in the future - and the legacy vSphere client (often also called C# client) will cease to exist in future vSphere releases. To help customers become accustomed to the new tool flavor, both clients are supported in vSphere 5.x and 6.0. Customers who are new to VMware virtualization should start with the vSphere Web Client.
The VMware vSphere Web Client is a browser based, fully extensible, platform independent administration tool for the vSphere platform. It is based on the Adobe Flex framework, and all operations necessary on VMware ESXi and vCenter Server can be undertaken using it.
The vSphere client was present in the previous versions of vSphere and is still available in vSphere 5.5 and 6.0. The vSphere legacy client is used to directly connect to ESXi hosts and also vCenter servers.
When connecting through vSphere legacy client, the following message is displayed in the client window:
In vSphere 5.5, all new features are available only through the vSphere web client. The traditional vSphere client will continue to operate, supporting the same feature set as vSphere 5.0, but not exposing any of the new features in vSphere 5.5.
The vSphere client is still used for the vSphere Update Manager (VUM), along with a few solutions (for example, site Recovery Manager and vCloud Connector).
Now we will look at different clients, which are used to manage ESXi individually.
vSphere Client
The vSphere client is one of the interfaces for managing the vSphere environment. It provides console access to virtual machines. The vSphere client is used to connect remotely to ESXi hosts and vCenter servers from a Windows system. The following screenshot shows the vSphere legacy client, connected to an ESXi host.
In order to connect to the vSphere environment, the administrator needs to enter the required host name, user name, and the appropriate password.
To login to the vCenter Server system with the same username and password that was used to start the windows session, we can select the Use windows session's credentials check box, which is optional.
vSphere Web Client
The vSphere Web Client is accessed from a browser, which can be on any operating system. As the web client still also requires Adobe Flash and Adobe dropped the support for Linux-based systems, customers need to choose between Microsoft Windows and Mac OS X for managing their virtual infrastructure. vSphere Web Client is accessed from vCenter Server directly. The application server runs a Adobe Flex client, which pulls the information from the Inventory service running on the vCenter server and shows it on the browser of the user device.
The vSphere Web Client is accessed by using a web browser. The administrator, by using the server FQDN or IP address, needs to navigate to https://<FQDN or IP address>:9443/vsphere-client/
.
To access virtual machine consoles from the vSphere Web Client, the user needs to install a browser plugin named the VMware Client Integration Plugin. The following screenshot shows the vSphere Web Client overview.
Besides the two major clients mentioned previously, there are also certain command-line tools to manage the vSphere environment from a remote location. These are:
- vCLI: vSphere Command-Line Interface (vCLI) is an application that provides a set of commands that allow us to manage ESXi hosts and vCenter servers. These commands are equivalent to those available on the ESXi shell when managing ESXi hosts using SSH or Direct Console User Interface (DCUI). When a vCLI command connects through the vCenter Server system, authentication is done through the vCenter Server users and roles. Details of this will be dealt with in the later part of the book.
- vSphere Management Appliance (vMA): VMware vSphere Management Assistant provides a platform for running commands and scripts for the vSphere environment. vMA is deployed as a virtual appliance that is built on SUSE Linux Enterprise Server for VMware. A virtual appliance includes one or more virtual machines that are packaged together and managed as a single unit. vMA comes with all necessary tools for managing ESXi hosts and vCenter servers, including vSphere CLI and vSphere SDK for Perl API.
- vSphere PowerCLI: vSphere PowerCLI is a powerful command-line tool that lets us automate all aspects of vSphere management, including network, storage, and virtual machines. It is a snap-in for Microsoft Windows PowerShell.
Virtual hardware versions
A virtual machine running on VMware vSphere is based on a particular virtual hardware version (also called virtual HW or VMHW). This version defines a list of virtual hardware and features that is available to the VM, and also defines guest operating system support. Newer vSphere versions include newer VMHW generations to enable customers to benefit from newly introduced features. VMs created on older vSphere releases can be started and customized on newer versions also, but it is not possible to run newer VMHW versions on older vSphere releases. It is also possible to upgrade the VMHW version of particular VMs to make use of newer features.
Let's have a look at some major changes between the last four VMHW versions:
Version / Feature |
8 |
9 |
10 |
11 |
Compatible products |
ESXi 5.0+ Fusion 4.0+ Workstation 8.0+ Player 4.0+ |
ESXi 5.1+ Fusion 5.0+ Workstation 9.0+ Player 5.0+ |
ESXi 5.5+ Fusion 6.0+ Workstation 10.0+ Player 6.0+ |
ESXi 6.x Fusion 7.0 Workstation 11.0 Player 7.0 |
Max. vRAM |
1TB |
4TB | ||
Max. vCPUs |
32 |
64 |
128 | |
SATA controller |
Not available |
4 | ||
Max. vDisk |
2TB |
62TB |
The list of differences between particular virtual hardware versions is quite long. You can look at the differences between the particular vSphere releases, in the Configuration Maximums documents. These documents list differences between various products and technologies including virtual machines, ESXi and vCenter Server per vSphere release:
- vSphere 5.0: https://www.vmware.com/pdf/vsphere5/r50/vsphere-50-configuration-maximums.pdf
- vSphere 5.1: https://www.vmware.com/pdf/vsphere5/r51/vsphere-51-configuration-maximums.pdf
- vSphere 5.5: https://www.vmware.com/pdf/vsphere5/r55/vsphere-55-configuration-maximums.pdf
- vSphere 6.0: https://www.vmware.com/pdf/vsphere6/r60/vsphere-60-configuration-maximums.pdf
vSphere editions and kits
VMware vSphere is available in various editions to match the customer's individual requirements. In addition, there are also two kits for smaller companies, which are looking towards starting with virtualization.
The available vSphere editions differ in their feature sets. The following table shows some of the major differences between the particular variants:
Feature / Edition |
Standard |
Enterprise |
Enterprise Plus |
Required vCenter license |
vCenter Server Standard | ||
vMotion |
Yes |
Yes (including Long Distance vMotion) | |
Fault tolerance |
Yes (2 vCPUs) |
Yes (4 vCPUs) | |
Big data extensions |
No |
Yes | |
Distributed resource scheduler (DRS) / Distributed power management (DPM) |
No |
Yes | |
Storage DRS |
No |
Yes | |
Storage / Network I/O Control |
No |
Yes | |
Distributed switch |
No |
Yes | |
Host profiles and Auto Deploy |
No |
Yes |
Common features in all editions include:
- High availability
- Storage vMotion
- Data protection technology
- Hot add (adding virtual hardware resources without stopping the virtual machine; needs to be supported by the guest operating system as well)
- Storage policies
We will have a deeper look at the particular features in later chapters of this book. Enterprise plus is the most advanced but also the most expensive vSphere edition.
Customers just beginning with vSphere technology might want to have a look at the more cost-effective kits - Essentials and Essentials Plus. Both kits apply to infrastructure setups with a maximum of 3 ESXi hosts, with up to 2 physical CPUs each. While the Essentials kit only includes basic virtualization functionality, the Essentials Plus kit also includes some advanced features like the following:
- vMotion
- High availability
- Data protection
- vSphere replication
Both kits are compatible with vCenter Server Essentials. Note that the other vCenter server releases are not compatible with Essentials kits. For example, it is not possible to include an Essentials remote office in vCenter Server Standard.