Out of the many features that VMware technology support, there is one which is really interesting and lesser known. It is called vLockstep, and it is a nice feature to increase the Fault-Tolerance of your machines.
Using modern technology doesn’t mean that our data-center is bulletproof, every technology has its own limits. VMware experts already know that if a physical host fails, the virtual machines can reboot on another host, so to limit your overall downtime. Nevertheless, what if your machines are in such a critical state that you can’t have this reboot time in the case of a host failure? The answer might be VMware Fault Tolerance (FT).
VMware Fault Tolerance provides continuous availability for virtual machines by creating and maintaining a Secondary VM that is identical to, and continuously available to replace, the Primary VM in the event of a fail-over situation. Read it as a ghost VM backing up your primary one covertly.
There is another proprietary patented algorithm that helps VMware achieve this unusual feature, that is the vLockstep technology we were talking about. Let’s deep dive into how vLockstep helps us to take advantage of fault tolerant VMs.
VMware vLockstep: How it Works
VMware vLockstep is a technology that captures inputs and events that occur on a primary virtual machine (VM) and sends them to a secondary VM. This supports VMware’s Fault Tolerance component of VMware vSphere.
VMware’s Fault Tolerance works by keeping a primary virtual machine (VM) and a secondary VM in perfect sync. VMware vLockstep captures inputs and events that occur on the primary VM and sends them to the secondary VM. Because the secondary VM is always in sync with the primary VM, it can take over in the event of a primary VM failure without interruption and provide fault-tolerant protection. When the secondary VM takes over, VMware FT automatically creates a new secondary VM. In fact, the name “Lockstep” comes from a style of a military march that emphasizes synchronous movement.
For vLockstep to reproduce CPU instructions from the primary VM on the secondary VM, the Intel or AMD processors used must have the appropriate performance counter architecture and virtualization hardware assists. Both hosts supporting the VM pair must be in the same processor family.
VMware vLockstep should be set up on a dedicated network interface card (NIC) with at least 1 GB/s of throughput. Although all data is synchronized between the paired VMs over a server backbone network, outputs are suppressed in the secondary VM. For instance, VMware FT ensures only the primary VM initiates write operations to storage. Certain actions and instructions that are irrelevant for the secondary VM are not synced via vLockstep, reducing the burden on disk space and processors.
In versions of vSphere earlier than v.5, the vLockstep VM pairs were marked as “disabled” in VMware Distributed Resource Scheduler (DRS), enabling higher compatibility between VMware FT and DRS. In either case, users experience no interruption in service and no loss of data.
A fault tolerant virtual machine and its secondary copy are not allowed to run on the same host. This restriction ensures that a host failure cannot result in the loss of both virtual machines. You can also use VM-Host affinity rules to dictate which hosts designated virtual machines can run on. If you use these rules, be aware that for any Primary VM that is affected by such a rule, its associated Secondary VM is also affected. For more information about affinity rules, see the vSphere Resource Management documentation.
Fault Tolerance also avoids “split-brain” situations, which can lead to two active copies of a virtual machine after recovery from a failure. Atomic file locking on shared storage is used to coordinate fail-over so that only one side continues to run as the Primary VM and a new Secondary VM is re-spawned automatically.
How VMware vLockstep can help your organization
VMware vLockstep eliminates even the smallest of disruptions caused by server hardware failures. VMware Fault Tolerance provides instantaneous, non-disruptive fail-over in the event of server failures, protecting organizations from even the smallest disruptions or data losses when downtime costs can run into thousands of dollars in lost business.
It also provides continuous availability to any critical application. All applications that run inside a VMware virtual machine can be protected by VMware Fault Tolerance, allowing continuous levels of availability to be possible even for homegrown or custom applications. Automatic detection of failures and seamless fail-over ensure that applications continue to run without interruptions, user disconnects or data loss during hardware failures.
Finally, it delivers uninterrupted service with simplicity and low cost. VMware Fault Tolerance works with existing VMware High Availability (HA) or VMware Distributed Resource Scheduler (DRS) clusters and can be simply turned on or turned off for virtual machines. When applications require operational continuity during critical periods such as month end or quarter end time periods for financial applications, VMware Fault Tolerance can be turned on with the click of a button to provide extra assurance. The operational simplicity of VMware Fault Tolerance is matched by its low cost. In fact, it is simply included as a component in VMware vSphere and requires no specialized dedicated hardware.
How to Unlock Complimentary Access to Cloud Academy
Are you looking to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Cloud Security, Python, Java, or another technical skill? Then you'll want to mark your calendars for August 23, 2019. Starting Friday at 12:00 a.m. PDT (3:00 a.m. EDT), Cloud Academy is offering c...
What Exactly Is a Cloud Architect and How Do You Become One?
One of the buzzwords surrounding the cloud that I'm sure you've heard is "Cloud Architect." In this article, I will outline my understanding of what a cloud architect does and I'll analyze the skills and certifications necessary to become one. I will also list some of the types of jobs ...
Boto: Using Python to Automate AWS Services
Boto allows you to write scripts to automate things like starting AWS EC2 instances Boto is a Python package that provides programmatic connectivity to Amazon Web Services (AWS). AWS offers a range of services for dynamically scaling servers including the core compute service, Elastic...
Content Roadmap: AZ-500, ITIL 4, MS-100, Google Cloud Associate Engineer, and More
Last month, Cloud Academy joined forces with QA, the UK’s largest B2B skills provider, and it put us in an excellent position to solve a massive skills gap problem. As a result of this collaboration, you will see our training library grow with additions from QA’s massive catalog of 500+...
DevSecOps: How to Secure DevOps Environments
Security has been a friction point when discussing DevOps. This stems from the assumption that DevOps teams move too fast to handle security concerns. This makes sense if Information Security (InfoSec) is separate from the DevOps value stream, or if development velocity exceeds the band...
Test Your Cloud Knowledge on AWS, Azure, or Google Cloud Platform
Cloud skills are in demand | In today's digital era, employers are constantly seeking skilled professionals with working knowledge of AWS, Azure, and Google Cloud Platform. According to the 2019 Trends in Cloud Transformation report by 451 Research: Business and IT transformations re...
Disadvantages of Cloud Computing
If you want to deliver digital services of any kind, you’ll need to estimate all types of resources, not the least of which are CPU, memory, storage, and network connectivity. Which resources you choose for your delivery — cloud-based or local — is up to you. But you’ll definitely want...
Google Cloud vs AWS: A Comparison (or can they be compared?)
The "Google Cloud vs AWS" argument used to be a common discussion among our members, but is this still really a thing? You may already know that there are three major players in the public cloud platforms arena: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP)...
Deployment Orchestration with AWS Elastic Beanstalk
If you're responsible for the development and deployment of web applications within your AWS environment for your organization, then it's likely you've heard of AWS Elastic Beanstalk. If you are new to this service, or simply need to know a bit more about the service and the benefits th...
How to Use & Install the AWS CLI
What is the AWS CLI? | The AWS Command Line Interface (CLI) is for managing your AWS services from a terminal session on your own client, allowing you to control and configure multiple AWS services and implement a level of automation. If you’ve been using AWS for some time and feel...
Cloud Academy’s Blog Digest: July 2019
July has been a very exciting month for us at Cloud Academy. On July 10, we officially joined forces with QA, the UK’s largest B2B skills provider (read the announcement). Over the coming weeks, you will see additions from QA’s massive catalog of 500+ certification courses and 1500+ ins...
AWS Fundamentals: Understanding Compute, Storage, Database, Networking & Security
If you are just starting out on your journey toward mastering AWS cloud computing, then your first stop should be to understand the AWS fundamentals. This will enable you to get a solid foundation to then expand your knowledge across the entire AWS service catalog. It can be both d...