Systems administrators with the complete vSphere solution have VMware High Availability to keep virtual machines running. But if you work with the free version of ESXi, it's not there. But other options exist for achieving high availability to protect your virtual machines and make sure they keep running.
Before considering the alternatives, let's explore what exactly is meant by VMware High Availability (HA). When the vSphere platform sees a virtual machine has become unavailable, VMware HA restarts the virtual machine on another host.
While VMware HA can monitor the availability of virtual machines, it cannot check on the availability of services within a virtual machine. For some environments, you may need this capability.
High availability in operating systems
Some environments that need high availability don't necessarily need virtual machines to be available at all times, but they need to ensure the resources in these virtual machines continue to run.
Each operating system running virtual machines offers high availability. Operating system high availability monitors critical resources and can restart a failing resource even if the virtual machine hosting it is running.
Systems administrators can use a simple script in the virtual machine to monitor the virtual machine's resources and services. For example, if you want the Web server to keep running, you can test the uptime with this small shell script:
while ps aux | grep httpd
service httpd restart
This code checks the httpd process every five seconds. If it becomes unavailable, the iteration ends and the httpd service is automatically restarted. This is a simple way to guarantee a Web server service is restarted, which is faster than VMware HA. This script is just a proof of concept and needs to be modified for other purposes. For example, it could be changed to monitor the availability of services on a remote server.
Manual high availability
Using manual high availability is another approach when the automated restart in VMware HA isn't necessary. Manual high availability is based on the availability of virtual machine image files in a shared storage device such as network-attached storage (NAS) or storage area network (SAN).
As long as virtual machine files are easily available for all ESXi hosts in your environment, you can import them from another storage device if the host running them goes down. The disadvantage of this method is that it requires manual intervention, but it gives the administrator full control, which might be suit specific environments.
Also, you don't need HA to find out that a host, virtual machine or critical resource has disappeared, you can also use monitoring software such as Nagios or Zabbix to get alerts on critical events happening in your network.