The VMWare ESXi is a hypervisor developed by the VMWare company and it is widely known and used in many environments and enterprises of all sorts. Nowadays it is the main component of a sort of a software suite. It is a type one hypervisor which means it runs directly on to the hardware controlling and managing it. This is also called bare metal hypervisors. Xen, Microsoft’s Hyper-V and Oracle VM Server are other types of hypervisors in this category.
To control the hardware and host other operating systems it includes a kernel as well as other utilities. It works the hardware as any other system kernel would, loading kernel modules, drivers, mapping the CPU instructions, taking care of memory and hardware access. A series of modules mainly derived from the Linux kernel complete and adapt VMWare ESXi to different types of hardware giving it control over network and storage devices.
But what is this and how is it interesting for anyone? A type one hypervisor allows systems administrators to place a sane and controlled environment where to sit on top other systems without losing significant performance at the same time it provides very interesting capabilities to the tasks they are committed to such as: systems provisioning, redundancy, reliability, ease of management, cost effectiveness and resource optimization. Almost proverbial.
In my particular view of the matter there are two distinct virtualization technologies today in use. VMWare ESXi is one of those. The equivalents have been already mentioned but as similar concepts we could add KVM (Kernel-based Virtual Machine), even Virtualbox or QEMU. Similarly we find the hypervisor created by IBM for its Power processors. A kernel plus some utilities running on the host creating the perfect bed for other os’s to sit on top, making them believe they are the ones running and ruling the metal, where in reality they are fooled by this hypervisor. There is an alternative though. Instead of doing hardware virtualization the other option is operating system virtualization. In modern days this is also known as containerization. One kernel runs the hardware and there is some sort of utility or integrated program in the OS that constructs isolated userlands or differentiated spaces for applications. Docker is one of the famous ones but FreeBSD jails or Solaris Zones (heavily inspired by jails) pioneered in this segment.
Ain’t this article about VMWare ESXi? Yes, indeed. And how does it provide those “almos proverbial” capabilities? Read on.
It can be downloaded through VMWare’s official site and no fees are needed the use is personal. A registration is needed and with the download a license number is also provided. The installation process is very similar to what any operating system has. It can also be deployed to hosts machines through the network from a central server. They can also be set up following a “template” so to speak from another host. There is even the possibility of making custom builds of the image and use them as templates for remote deployments.
Modern versions of this VMWare ESXi are managed through the web browser since it is equipped with a web server. Instead of creating a client program to download and since everybody is using a browser the move from the traditional model was natural. That said the HTML5 console still needs some polish since it crashes from time to time on all platforms and different browsers as well. I hope this vanishes quickly in the coming times. There is still a big use of the client program though specially on those companies who have invested on VMWare for many years and still use older versions.
This is a screen capture of the main control page.
It gives an overview of the host, the main controls for virtual machines creation, enabling host services, locking or shutting down, as well as an overview of the resource utilization. On the left panel we will find two sections, one dedicated to the host and one for the virtual machines.
The section for the host gives two possibilities, manage and control (it says monitor). For the management one may be able to change advanced settings such as configuration options for the cpu, settings for boot time or autostart, the swap and time and date options. There are other tabs where other items can be controlled and configured like the PCI Devices or power managemnet on the hardware tab, licensing keys, updates on the packages tab, enable or disable services and set the security levels and user management on the last tab.
This is the tabs view where some of these above mentioned items can be found.
Another view from the Host manage options, in this case we can see what the ‘Security & Users’ tab offers.
If we move down on the left menu and we skip the host monitor part we find the Virtual Machines options. From here one can manage the virtual machines, create new ones, give them new properties and even get an HTML5 console to interact with the installed systems.
We can have a look into an specific virtual machine, this one is now running a Debian system.
And below the HTML5 console running and with the capacity to interact without the need of a terminal application. All through the web browser.
One of the features that makes VMWare ESXi interesting is snapshots. This capability allows the administrators to take the state of the virtual machine and freeze it in a given point in time. This is not only useful for backups but also for provisioning. If something goes really sideways on a vm the admin can launch a new one from a snapshot, this could be the case if some new software installation has gone dramatically sideways. This can also be used in case more machines are needed for whatever the reason. A peak in demand, a new worker who needs training, etc. One can even change the underlying hardware and deploy the all virtual machines on production without having to configure everything from the ground up again. Ain’t it great?
Here the detail of the tab where snapshot options can be clicked.
Storage is another chapter of its own. VMWare ESXi provides an easy interface to see disks, capacities and actual usage. It also manages different kinds of hardware controllers and a wide variety of devices.
Networking does also contain a great variety of options and “switches to toggle”. We can set firewall rules for specific vm’s or ip’s, we can also add virtual switches so the machines are connected and related to those and not to the physical ones, we can of course edit the properties of those physical ones, and arrange port groups as well. So plenty of network capabilities too on VMWare ESXi.
As you can see the advantages are many. The underlying hypervisor takes care of everything and the tools VMWare provides make administration very easy and quicker than ever. New systems can be deployed in seconds, backups are easier through snapshots, big operational mistakes can be quickly recovered with them too, deployment can be also achieved through the network and tat means less people travelling less often to physical locations, etc. Many advantages for very little performance-overhead penalty.
So this is all for this short overview of what VMWare ESXi is, what it does and some of its features.