Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have an legacy but very important app running on windows server 2003. App itself doesn't support any kind of HA and it's not the most reliable piece of software. Last week we had a special emergency when OS on application server crashed and it didn't go up again.

As far as I know when you use vmware HA the vmware keeps running two VM's which are perfect copies and are totally synchronized. So I wonder what happens if app or os crashes in one copy of VM, does this mean that it also crashes in another ? But in this case HA doesn't make any sense. How about OS updates if one update breaks the app ?

Can you please enlighten me on how does relly work this vmware HA and what against it protects.

Thank you very much.

share|improve this question
up vote 7 down vote accepted

I think you may be confusing HA and Fault Tolerance

HA doesn't keep two versions of the virtual machine running. If it detects a failure of the host OS then it will automatically restart the VM. Effectively your VM will have been rebooted and you will have lost any state information.

With fault tolerance a 'shadow copy' of the virtual machine runs on a second ESX, everything is replicated, exactly. If the application crashes, it will have crashed through poor coding, a memory leak, incorrectly allocated memory, whatever. That error will also occur on the second ESX because it is an exact copy of the machine running the same code in the same way and both will crash. What Fault Tolerance does is protect you against a hardware failure of one of the ESX machines because the synchronised machine will be able to step in and take over exactly where the failed machine left off and you will lose no transactional data.

There's an overview on the VMware website here and the the video linked within explains it really well. This one explains Fault Tolerance in more detail.

share|improve this answer
Thank you very much for the explanation. – Primoz Oct 11 '11 at 6:33

What you're describing is vSphere Fault Tolerance, which keeps a warm copy of a VM in lock-step with the running copy. It's the same VM - an app crash in one copy is immediately replicated to the other copy.

vSphere High Availability, which simply reboots a VM in case of failure, is capable of monitoring the state of the OS, and rebooting the VM if it stops receiving heartbeats from the VMware Tools installation within the guest OS.

These technologies are both designed around keeping your VM running - keeping application services within the VM running needs to be handled elsewhere.

share|improve this answer
Thank you very much for the explanation. – Primoz Oct 11 '11 at 6:33

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.