On Friday I got a question about the “Leave powered on” setting for HA. This setting is used for the Isolation Response. In other words, what does HA needs to do when a network isolation is detected. The question was pretty straight forward:”What happens when a host is isolated from the network or a host dies completely?”.

This question was asked because the default setting changed in ESX 3.5 / VirtualCenter 2.5 from “Power off vm” to “Leave powered on”. The old value was simple, what ever happens the VM will be powered off and restarted on a different host.

The new default value is real simple:

When a host network isolation occurs the VM’s remain running.

Because of the VMDK file lock(Look into VMFS Distributed lock management if you want to know more about this feature) no other host will be able to boot the VM’s. Yes indeed, they will try to boot them because these hosts don’t know the “missing” host is isolated, it could be completely dead. So if all network connections are dead, including the vSwitch for the VM’s these VM’s will not be restarted on a different host. They will only be restarted if for whatever reason also the storage connection fails and the VMDK file locks are timed out.

This also means that when using for instance iSCSI you should never ever set this setting to “Leave powered on” cause this will cause a split brain scenario for sure. (VM’s will be restarted on a new host because the lock timed out, while the VM’s also are still running on the original host.)

So what happens when a host is completely dead, yes you’ve probably guesed it by now the VMDK file locks times out and the VM’s are restarted on another host.

And although this all seems very obvious, it’s still an often overlooked setting. There’s no real right or wrong when it comes down to this setting. It’s just what your prefer. I would prefer a short down time over running VM’s on a downgraded host, so my advise would be set it to “Power off VM”.

As an addition I would love to see a “HA heartbeat” tick-box on vSwitches, which you could use to see if the VM’s are isolated from the network or not.