In April 1970, NASA’s Apollo 13 mission launched with high hopes of landing on the Moon. Astronauts Jim Lovell, Jack Swigert, and Fred Haise were aboard the spacecraft that took off smoothly on April 11. But just two days later, on April 13, disaster struck when one of the oxygen tanks exploded.
This explosion led to a critical loss of oxygen and electrical power in the command module. It was during this emergency that the now-famous words were spoken: “Houston, we have a problem.” The crew’s lunar landing was immediately aborted, and their mission turned into a desperate struggle to survive and return to Earth.
The Lunar Module, originally designed only to support two astronauts briefly on the Moon’s surface, became an unexpected lifeboat for all three crew members. With the help of NASA’s ground team, the astronauts quickly adapted the module to sustain life for the journey home. They even had to improvise a solution to a carbon dioxide filter issue using simple onboard materials.
Despite the odds, Apollo 13 looped around the Moon and safely splashed down on Earth on April 17, 1970. The mission, though it never reached the Moon, became a powerful example of resilience, teamwork, and the importance of being prepared for the unexpected.
This story mirrors the concept of having a reliable backup—like VMware’s Fault Tolerance (FT) feature. Just as Apollo 13’s Lunar Module served as a backup system that saved lives, VMware’s FT ensures that critical applications continue running without interruption if a failure occurs.
What is Fault Tolerance?
VMware vSphere Fault Tolerance (FT) offers continuous availability for applications using up to four virtual CPUs. It works by creating a live shadow instance of a virtual machine (VM) that mirrors the primary VM in real time. In the event of a hardware failure, FT automatically fails over to the shadow instance, avoiding downtime and data loss. Once failover occurs, a new secondary VM is automatically created to maintain ongoing protection.
To enable Fault Tolerance, you’ll need:
– The virtual machine (VM) that requires protection
– The ESXi host running the VM
– The datastore where the VM’s files are stored
– A specification for the secondary VM’s FT disk
Let’s walk through how to set this up using VCF Orchestrator and vRBT.
Step 1: Get the ESXi Host
We begin by retrieving the ESXi host associated with the VM. Here’s a simple function to do that:
private getHost(vm: VcVirtualMachine): VcHostSystem {
return Server.findForType(“VC:HostSystem”, vm.vimHost.id);
}
This function fetches the host system object using the VM’s host ID.
Step 2: Get the Datastore
Next, we need to identify the datastore used by the VM. Here’s a function that checks for a single datastore and retrieves it:
private getDatastore(vm: VcVirtualMachine): VcDatastore {
if (!vm.datastore || vm.datastore.length === 0) {
throw new Error(“No datastore found for the virtual machine.”);
}
if (vm.datastore.length > 1) {
throw new Error(“Multiple datastores found. Expected only one.”);
}
return Server.findForType(“VC:Datastore”, vm.vimHost.id + “/” + vm.datastore[0].id);
}
This ensures we’re working with one clearly defined datastore, which is necessary for configuring FT.
Just like Apollo 13’s backup lunar lander saved the mission, VMware’s Fault Tolerance can protect your critical workloads from unexpected failures—keeping your systems running when it matters most.
Want to learn more? Subscribe now for full access to this and other exclusive content.