what is Virtualization?
I would say virtualization as "Making something software defined rather than physical with same features"
As per many Articles it's the creation of a virtual that is software like files -- rather than actual -- version of something, such as an operating system, a server, a storage device or network resources
=========================
What is VMware ESXI?
ESXI Stand for Elastic Sky X Integrated
VMware ESXi is a hypervisor which is the foundation of virtual infrastructure. Kind of OS which we install on bare-metal hardware. It abstracts the hardware to create a virtual infra and to consolidate and run multiple VM's on a single Computer . Hypervisor provides physical hardware resources dynamically to virtual machines as needed to support the operation of the virtual machines.
The hypervisor enables virtual machines to operate with a degree of independence from the underlying physical hardware.
For example, a virtual machine can be moved from one physical host to another.
Also, its virtual disks can be moved from one type of storage to another without affecting the functioning of the virtual machine
=========================
What are the Components of ESXi?
Footprint of ESXi is only of Size 32 MB
The VMware ESXi architecture comprises the underlying operating system, called VMkernel, and processes that run on top of it. VMkernel provides means for running all processes on the system, including management applications and agents as well as virtual machines. It has control of all hardware devices on the server and manages resources for the applications.
The main processes that run on top of VMkernel are:
• Direct Console User Interface (DCUI) — the low-level configuration and management interface, accessible through the console of the server, used primarily for initial basic configuration.
• The virtual machine monitor, which is the process that provides the execution environment for a virtual machine, as well as a helper process is known as VMX. Each running virtual machine has its own VMM and VMX process.
Virtual Machine Executable (VMX) process - A process that runs in the VMkernel that is responsible for handling I/O to devices that are not critical to performance. The VMX is also responsible for communicating with user interfaces, snapshot managers, and remote console.
Virtual Machine Monitor (VMM) process - A process that runs in the VMkernel that is responsible for virtualizing the guest OS instructions, and manages memory. The VMM passes storage and network I/O requests to the VMkernel and passes all other requests to the VMX process. There is a VMM for each virtual CPU assigned to a virtual machine.
• Various agents (hostd , vpxa, syslog etc) used to enable high-level VMware Infrastructure management from remote applications.
• The Common Information Model (CIM) system: CIM is the interface that enables hardware-level management from remote applications via a set of standard APIs.
Vmkernel :
Vmkernel is derived from Linux but it's not actually Linux
VMkernel is a Portable Operating System Interface like OS developed by VMware and provides certain functionality similar to that found in other operating systems, such as process creation and control, signals, file system, and process threads. It is designed specifically to support running multiple virtual machines and provides such core functionality as:
• Resource scheduling
• I/O stacks
• Device drivers
=========================
How is ESXI System Image Design Portioned?
• A 4MB bootloader partition, which runs upon system boot up.
• A 48MB boot bank, which contains the 32MB core hypervisor code, along with a second alternate boot bank of the same size. The reason for two boot banks is explained below.
• A 540MB store partition, which holds various utilities, such as the VI Client and VMware Tools images.
• A 110MB core dump partition, which is normally empty but which can hold diagnostic information in case of a system problem.
The ESXi system has two independent banks of memory, each of which stores a full system image, as a fail-safe for applying updates. When you upgrade the system, the new version is loaded into the inactive bank of memory, and the system is set to use the updated bank when it reboots. If any problem is detected during the boot process, the system automatically boots from the previously used bank of memory. You can also intervene manually at boot time to choose which image to use for that boot, so you can back out of an update if necessary.
At any given time, there are typically two versions of VI Client and two versions of VMware Tools in the store partition, corresponding to the hypervisor versions in the two boot banks. The specific version to use is determined by which boot bank is currently active.
The core hypervisor code also can contain custom code provided by server vendors (OEMs) that provide additional functionality, such as hardware monitoring and support information. These customizations would be present, for example, if ESXi had been obtained in embedded form from the server manufacturer or if a custom version of ESXi was installed onto the hard drive. Any update to an existing ESXi installation automatically incorporates the proper update to this custom code.
=========================
How ESXi Boots up?
ESXi base image essentially is a compressed file. When booting ESXi image, that compressed file is uncompressed into RAM
When the system boots for the first time, the VMkernel discovers devices and selects appropriate drivers for them. It also discovers local disk drives and if the disks are empty, then it formats them so they can be used to store virtual machines.
During this initial boot, the VMkernel automatically creates the configuration files using reasonable default values (for example, using DHCP to obtain network identity information).In the embedded version of ESXi, the configuration is stored in a specific part of the memory module that is both readable and writable. On subsequent reboots, the system reads the configuration from this persistent memory. In the rest of the boot process, the system is initialized and the resident file system is built in memory. The hardware drivers are loaded, the various agents are started, and finally the DCUI process is started.
=========================
Advantages and Security in Brief:
The ESXi architecture offers a variety of advantages over other virtualization platforms, including::
• Little state information — An ESXi system can be treated for practical purposes as a stateless compute node, with all the state information easily uploaded from a saved configuration file.
• Better security — With a small footprint and minimal interfaces, an ESXi system has a lower overall attack surface.
• Hardware-like reliability — When it is integrated into the firmware, software is much less likely to become corrupted than when it is stored on disk. The option of eliminating the local disk drive can provide even greater system reliability.
ESXi provides additional protection with the following features:
• Memory hardening: The ESXi kernel, user-mode applications, and executable components such
as drivers and libraries are located at random, no predictable memory addresses.
• Kernel module integrity: Digital signing ensures the integrity and authenticity of modules,
drivers, and applications as they are loaded by the VMkernel.
• Trusted Platform Module (TPM): A hardware element that creates a trusted platform. This
element affirms that the boot process and all drivers loaded are genuine.
=========================
Please do share your Thoughts about this Post . Thank-you for reading
Happy Learning