VMware HA is a base building blocks of VMware Infrastructure. Within this post, we'll try to explain with simple words, to everyone, how it works. It is a definition post, so for VMware admins, there won't be much new for you and you might not be interested, as this post is destined to all NON-VMware folks. This post about How VMware HA Works.
With that said, let's get started. Imagine you have an application running in a virtual machine (VM) and that this virtual machine runs on some host (server). This VM, however, is only available, if the host where the VM is running, does not have any hardware problem. (Network, CPU, motherboard…. anything can go wrong).
When a hardware problem occurs, it would be great to have some kind of mechanism that the VM can start on another host, right? And that's exactly what VMware HA is all about. It provides an automatic start of VMs which were running on the failed host. Those VMs are started in sequences.
There is a requirement that the particular VM (or VMs) are stored on external storage (we call it shared storage) instead of on the local storage of a particular server (host). So basically, let's say we have two hosts and one external storage (this can be a SAN/NAS device) where those servers are connected to and you can see the shared storage from both servers at the same time.
The servers see the shared storage, access it at the same time, and read or write at the same time to the shared storage. (not write to individual VMs at the same time, because each VM uses a locking mechanism. A way back, VMware has invented at their beginning a clustered storage system called VMFS which allows several servers read and write to the shared storage at the same time.
So, we have our VM running on Server 1, connected to shared storage. And we also have Server 2 which is connected to that shared storage. You can see a simple overview on the image below…
How VMware HA Works?
A minimal number of hosts within a cluster is two. The VM which runs on the left (on our picture) will be able to be restarted automatically by VMware HA on the host which is on the right. All the files which the VM is composed, such as virtual disks (VMDK), a configuration file (VMX) and others stays located on the shared storage. Those files do not move anywhere. The only thing which is happening is that after the host on the left crashed or had a hardware problem, the VM is started automatically on the host which is on the right. (it's very simplified as explication though…)
Before you create a vSphere HA cluster, you should know how vSphere HA identifies host failures and isolation and how it responds to these situations. All hosts which are part of the HA cluster are monitored and in the case of a failure, the VMs on failed host are restarted on surviving hosts within the cluster. The goals are to have more than 2 hosts so the load can spread through the whole cluster and that the VMs which will start on those hosts does not suffer from underperformance.
Which kind of failures HA can protect you from?
HA can protect you against the host or network failure. In the case that the host gets isolated, the response to this event can be configured differently so the VM can stay up and running (instead of killed and restarted elsewhere). But let's explore this for more details.
In a vSphere HA cluster, three types of host failures can be detected:
- Failure – When a host stops functioning.
- Isolation – When a host becomes network isolated.
- Partition – When a host loses network connectivity with the master host (A “Master” host is only one within the cluster, and it's the one who is responsible for monitoring the “slave” hosts within the cluster).
Master and Slave concept
The master host verifies if a host responds to ICMP pings sent to its management IP addresses. If a master host cannot communicate directly with the agent on a slave host, the slave host does not respond to ICMP pings. If the agent is not issuing heartbeats, it is viewed as failed.
The host's virtual machines are restarted on alternate hosts. If such a slave host is exchanging heartbeats with a data store (yes, you can configure datastore heart beating as a secondary channel), the master host assumes that the slave host is in a network partition or is network isolated. So, the master host continues to monitor the host and its virtual machines.
VMware has added some additional features to HA in vSphere 6.5
Such as Simplified HA Admission Control Settings
You can read the details in this post:
What is VMware cluster in general?
Basically, a cluster is a group of servers which can share resources such as memory, CPU, and storage. Clusters provide flexible and dynamic ways to organize the aggregated computing and memory resources in the virtual environment and link them back to the underlying physical resources because as you know, the virtual workloads are running in memory but they use real resources. Real physical memory, real storage or real CPU.
While a VMware cluster is a “generic” name for this group of hosts, it does not specify exactly what functions, or which features have this cluster activated. We can very easily create a VMware cluster but if we do not activate any functions, then the cluster is just kind of doing nothing.
That’s why we are talking about:
Which licensing edition does provide VMware HA feature?
You can check the licensing paper from VMware, but the lowest cost edition which allows you to stay protected by VMware HA is VMware Essentials Plus Term edition. It is a Time limited license. The same features as in “Essentials Plus” but for 12 months only. ( However, the price is much lower. )
The price includes the product license and Basic (or Production) support & subscription for 1 year. (you have a radio button to choose Basic or Production support).
- VMware vSphere Essentials Plus Kit Term
- VMware vSphere Essentials Kit Term
- VMware vSphere Essentials
- VMware vSphere Essentials Plus
More from ESX Virtualization
- What is VMware vMotion?
- How to Configure VMware High Availability (HA) Cluster
- What is VMware Cluster?
- What Is Erasure Coding?
- What is The Difference between VMware vSphere, ESXi, and vCenter