Dedicated this article to talk about one of the features available with VMware vSphere which helps us to ensure that our mission critical virtual machines are always up and running.
VMware vSphere Fault Tolerance provides Zero downtime, zero data loss for our mission critical virtual machines by creating a Primary Virtual Machine and an exact duplicate replica Secondary Virtual Machine which can replace the primary virtual machine in case of failures.
VMware vSphere Fault Tolerance supports Virtual Machines configured with not more than 4vCPU and 64GB RAM, maximum of 4 fault tolerance Virtual Machines running on one ESXi host, we can also make use of VMware vMotion to migrate both primary and secondary virtual machines on desired ESXi hosts.
When working with VMware vSphere Fault Tolerance when we enable FT on a Virtual Machine and it becomes the Primary Virtual Machine and duplicate Virtual Machine known as Secondary Virtual Machine is created on another ESXi host which has exact execution as that of Primary Virtual Machine and can take over at any point of time without any interruptions.
When we talk about these Primary and Secondary Virtual Machines These are logically identical representing a single virtual machine state and a single network identity however located on two different datastores. Both Primary and Secondary Virtual Machines have their own set of virtual machine files (including VMX and VMDK files), which are kept in sync.
Apart from the Virtual Machine files, there are two more files which are considered important when working with VMware vSphere Fault Tolerance i.e. shared. vmft which is also known as metadata file responsible for maintaining the UUID for both primary and secondary and .ftgeneration is responsible for avoiding split brain scenario which can occur when host becomes isolated, .ftgeneration ensure only one virtual machine (Primary/Secondary) can read and write to virtual machine disks.
When we enable VMware vSphere Fault Tolerance on a Virtual Machine an initial full synchronization takes place for the VMDK’s with the help of VMware Storage vMotion ensuring primary and secondary virtual machine have the exact same disk state.
Once the initial full synchronization is done, VMware vSphere Fault Tolerance starts mirroring the VMDK write operations between the primary and secondary over the FT logging network to ensure the storage of the replicas continues to be identical.
When it comes to interoperability of VMware vSphere Fault Tolerance with VMware vSphere High Availability and VMware vSphere Distributed Resource Scheduler, VMware vSphere High Availability is required for Fault Tolerance and VMware vSphere Distributed Resource Scheduler helps to place Primary and Secondary Virtual Machine at the time of Power On however doesn’t load balance fault tolerance Virtual machines automatically, ensuring both primary and secondary virtual machines are not running on the same ESXi host because the host failure can result in losing both the Virtual Machines.