Fault Tolerance
Fault Tolerance is used to protect that virtual machine which requires continuous availability of an application, in the event of a host failure. This is accomplished by creating a live secondary instance of the VM that is in virtual locked state with the primary VM. By allowing instantaneous failover between the two VMs, FT eliminates even the smallest chance of disruption, resulting in zero downtime of the VM.
Functionality
Fault Tolerance makes intensive use of shadowing mechanisms. Once enabled for a particular VM, a secondary VM is created as shadow copy of the original VM. This copy is executed on a different ESXi host and it consumes its own resources such as vCPU, memory, network, and storage. The console of the secondary VM is locked and cannot be used, as all CPU and virtual device inputs on the primary VM are replicated to the secondary VM. This is done using a patented technology called VMware vLockstep. If the primary VM crashes (for example, because of a crash...