Q. What's the difference between high availability and fault tolerance?

A. High availability is commonly thought of as a way to ensure a resource stays available, but the resource may suffer from some minor downtime. For example, with Hyper-V you have high availability because in the event that a host fails, the guest OSs just stop—there's no time to migrate the active state to another host, so you have some downtime. This is the same with VMware HA. vMotion can't be used because the host just stops and there's no live memory to move. You therefore typically lose the in-memory application state with high availability.

Fault tolerance mean you don't lose the in-memory application state in the event of a failure such as a host crash. Fault Tolerance is much harder than high availability in a virtual environment because you have to maintain two copies of a virtual machine, each on separate hosts. As memory and device state change on the primary, these changes have to be recorded and replayed on the secondary copy at the same time.

Currently, only VMware vSphere has fault tolerance capabilities, but only a single logical processor on the VM is supported. Fault tolerance also has very high network requirements, but it provides the capability for a fault tolerant solution that results in no downtime, even if a host fails.

Related Reading:

Check out hundreds more useful Q&As like this in John Savill's FAQ for Windows. Also, watch instructional videos made by John at ITTV.net.
Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.