vSphere Fault Tolerance can be used to ensure a higher level of availability than what is offered by vSphere HA for your virtual machines. It provides continuous availability by having identical virtual machines running on separate ESXi hosts in a cluster.
A protected virtual machine is known as the primary VM and a duplicate, the secondary VM, is created and runs on another ESXi host within the cluster. A Primary VM and Secondary VM cannot run on the same host. The execution of the Secondary VM is identical to the Primary VM and is capable of taking over at any point with no interruptions. The Primary and Secondary VMs monitor one another continuously to ensure that a Fault Tolerant state is maintained. If a failure occurs on the host running the Primary VM, then the Secondary VM will be activated immediately to replace the Primary VM. A new Secondary VM will be started and Fault Tolerance will be automatically reestablished.
Atomic file locking is used on shared storage to avoid a split brain scenario and to coordinate failover so that only one side would continue running as the Primary VM and a new Secondary VM are started automatically. Additionally, a new file, the .ftgeneration
file, is used to ensure that only one instance of the virtual machine can read from or write to the virtual machine's virtual disks. There is also a second file, called shared.vmft
, which contains vSphere Fault Tolerance metadata information as well as the .vmx
paths and UUID information for the Primary and Secondary virtual machines.
With vSphere 6, Fault Tolerance now allows symmetric multiprocessor (SMP) virtual machines, with up to four vCPUs. The CPUs used in ESXi host for fault tolerant virtual machines must be compatible for use with vSphere vMotion or improved by using Enhanced vMotion Compatibility (EVC). It is also required that the CPUs support Hardware MMU (memory management unit) virtualization (Intel EPT or AMD RVI). A dedicated 10 Gbit Ethernet logging network for FT with low latency should be used.
Another consideration is licensing; the level of vSphere licensing limits the number of vCPUs supported by a virtual machine with Fault Tolerance enabled. Support is as follows:
The following list provides an overview of the Fault Tolerance enhancements with vSphere 6:
.vmx
, .vmdk
, and so on, to protect the Primary virtual machine from both host and storage failures. Primary and secondary VM files can be stored on different datastores.Also keep in mind that there are quite a few vSphere features not supported when using vSphere Fault Tolerance. These include:
Prior to enabling Fault Tolerance on a virtual machine, ensure that:
To configure vSphere Fault Tolerance:
3.21.246.218