VMware ESX Server is the datacenter-class virtualization platform used by many enterprise customers for server consolidation. VMware ESX Server is a secure, cost-effective, highly scalable virtual machine platform. With advanced resource management capabilities it is also VMware’s highest performance platform for building Virtual Infrastructure. It dynamically allocates system CPU, memory, disk, and networking resources to virtual machines based on VM requirement and control hardware resources of Server.
ESX Server Architecture:
ESX Server runs directly on a physical server. In doing so, it has direct access to the physical hardware of the server, enabling high-speed I/O operations as well as having complete resource management control. The major conceptual components of ESX Server are:
Virtualization layer—This Virtualization Layer also known as “VMKernel” which is a proprietary microkernel developed by VMware specially for running virtual machines. It is optimized for running virtual machines in the high performance ESX Server environment.
It implements the idealized hardware environment and virtualizes the physical hardware devices including CPU, network and disk controllers, memory subsystem, and human interface devices. Each virtual machine sees its own set of virtual devices and is isolated from other virtual machines running on the same physical system.
Service Console or Console OS – The ESX Service Console, also sometimes called the Console OS, is a limited distribution of Linux based on the RedHat 7.2 distribution. VMware Imported Linux based 2.4 kernel into their hypervisor code to provide below functionality:
- The primary purpose of the COS is to provide a management interface with the host. This Console OS provides interactive Linux based shell interface to Troubleshoot or manage ESX Host
- Various VMware management agents are deployed in the COS, along with other infrastructure service agents (for example, name service, time service, logging, and so on).
- The service console provides an execution environment to monitor and administer the entire ESX Server..
- In this architecture, many customers deploy other agents from third parties to provide a particular functionality, such as hardware monitoring and system management
- Service Console boots the system, initiates execution of the virtualization layer and resource manager, and relinquishes control to those layers. It also runs applications that implement support, management, and administration functions.
Resource Manager—partitions the physical resources of the underlying machine and allocates CPU, memory, disk, and network bandwidth to each virtual machine
Hardware Interface Layer – hardware Interface layer also known as “vmklinux layer” which provides Linux APIs such that most/all Linux device drivers can be run with minimal porting directly on vmkernel. This is a huge advantage since system software vendors can run their existing Linux drivers (with some porting effort) on ESX.
Storage Stack – This Storage Subsystem takes care of all the storage requirement of VMs. VMFS and RDM are part of this subsystem.
Network Stack – This Networking Subsystem takes care of all Networking requirement of VMs. create virtual switches and specify how routing works and what physical uplinks they’re connected to & all VMs switching requirement takes care by this subsystem
Virtual machine monitor – This ensures the process of providing the execution environment for a virtual machine. It also initiates a process called VMX. Each virtual machine that is in running condition has its own VMX as well as VMM process.
VMM is interface layer between VMkernel and VM. This layer is responsible for serving all the VM request and managing VM resources.
virtual machine leverages key technologies in the kernel such as memory management, scheduling, and the network and storage stacks through this VMM.
Virtual Machines – Virtual machines are the containers inside which guest operating systems are run.