VMware announced a new feature in vSphere 6.5 called HA Orchestrated Restart. But wait a minute – it was already available in previous version where you were able to set the restart priority for specific VMs or group of VMs. So what’s going on with this “new feature” ? As always, the devil is in the details 🙂
Let’s start from the old behavior. Using VM overrides in previous version of vSphere, we could set one of three available priorities – High, Medium (default) and Low. However it doesn’t guarantee that the restart order will be successful for our three-tier apps because HA is only really concerned about the resources to the VM, and once the VM had received the resources, HA’s job was done. The restart priority defined the order in which VMs would secure their resources. But if there was plenty of resources for everyone, then the VMs would receive their allocations in pretty quick succession and could start powering on. For example if DB server takes longer to boot than the App server for example, the App will not be able to access the DB and may fail.
vSphere 6.5 now allows you to create VM to VM dependency chains. These dependency rules are also enforced if when vSphere HA is used to restart VMs from failed hosts. That’s gives you the ability to configure the right chain of dependency where App server will wait for DB until it boots up. The VM to VM rules must also be created that complies with the Restart Priority level. In this example, if the app server depended on the database server, the database server would need to be configured in a priority level higher or equal to the app server.
Validation checks are also automatically done when this feature is configured to ensure circular dependencies or conflicting rules are not unknowingly created.
There are number of conditions that HA can check for to determine the readiness of a VM which can be chosen by the administrator as the acceptable readiness state for orchestrated restarts.
- VM has resources secured (same as old behavior)
- VM is powered on
- VMware Tools heartbeat detected
- VMware Tools Application heartbeat detected
Post condition delays:
- User-configurable delay – e.g. wait 10 minutes after power on
The configuration of the dependency chain is very simple. In the Cluster configuration of the Web Client, you would first create the VM groups under VM/Host Groups. For each group, you would include only a single VM.
The next thing to configure is the VM Rules in VM/Host Rules section. This is where you can define the dependency between the VM Groups. Since each group only contains a single VM, you are essentially creating a VM to VM rule.
In previous releases we were able to manage such behavior using e.g. SRM during failover to recovery site. However there are plenty of use cases where it’s necessary to provide the correct order of restarts during single site and HA cluster. Fortunately, now it’s possible 🙂