What is VMware enhanced vMotion compatibility (EVC)?

What is VMware enhanced vMotion compatibility (EVC)?

Calleigh Fisher
Cloud Products Solutions

VMware Enhanced vMotion Compatibility (VMware EVC) solves the frequent CPU unsupported errors that users encounter when attempting to perform vMotion on virtual machines (VMs) between hosts with different CPU generations in virtualized environments. These errors often lead to operational disruptions.

The risks of maintaining a heterogeneous cluster with multiple CPU generations are significant. They include potential VM failures and performance degradation due to mismatched CPUs. Introducing new servers with updated CPU models can prevent existing VMs from functioning optimally.

This article discusses VMware EVC, its benefits, the steps to enable it, and the potential downsides of using EVC.

Table of contents

What is Enhanced vMotion Compatibility (EVC)?

VMware Enhanced vMotion Compatibility (EVC) allows virtual machines (VMs) to move between different types of processors without powering them down. This can be extremely useful when performing maintenance on your host servers or migrating your VMs to new hardware.

VMware, a global leader in cloud infrastructure, introduced EVC in vSphere 4.1 and has made it available in all subsequent releases. It’s compatible with both Intel and AMD processors. VMware has more than 500,000 customers and over 75,000 partners worldwide. 

How does EVC work?

EVC works by creating a baseline of processor compatibility across all the hosts in a cluster. EVC determines this baseline using the CPUID instruction, which acts as an API to examine what CPU instruction each host’s processor is capable of.

EVC then masks specific CPU instructions from the virtual machines depending on the configured EVC baseline compatibility level. By masking CPU instructions as necessary, EVC ensures all virtual machines in the cluster run on the same effective CPU feature set. This uniform CPU view allows VMs to live-migrate (vMotion) seamlessly between the ESXi hosts without compatibility issues.

EVC will also automatically configure the correct central processing unit (CPU) settings for any new VMs added to the cluster, ensuring they’re compatible with the other VMs in the environment.

It’s transparent to the end user and requires no changes to the VM or its operating system. Using vMotion, migrating between hosts with different processors is possible even when the VM is powered off.

If you’re using VMware vSphere, EVC is compatible with various processors. This makes it a versatile virtualization tool and a great way to keep your VMs running while performing maintenance or migrating to new hardware.

How to enable VMware EVC

Enabling Enhanced vMotion Compatibility on your VMware hosts and guests is a relatively simple process.

  • Step 1: Verify that the host servers you want to include meet the EVC requirements documented by VMware.
  • Step 2: In the vCenter Server, create a new cluster specifically for the EVC-enabled hosts.
  • Step 3: Add the relevant host servers to the newly created cluster.
  • Step 4: Determine the current EVC mode of any existing virtual machines (VMs) that will be part of this EVC cluster.
  • Step 5: Power off any VMs with no EVC mode set or have an EVC mode higher than the target EVC baseline mode you plan to configure.
  • Step 6: In the vSphere client, go to the new cluster, select the “Configure” tab, “VMware EVC,” and click “Edit.”
  • Step 7: Enable EVC for the appropriate CPU vendor and set a feature baseline that matches the hosts in this cluster. Click “OK” to apply.
  • Step 8: Power on the VMs in this EVC-enabled cluster.
  • Step 9: The VMs can now live-migrate between hosts within the cluster using vMotion without any CPU compatibility issues or downtime required.

EVC is a valuable tool for any VMware administrator. It can greatly reduce the time required for maintenance and make it easier to migrate VMs to new hardware. If you’re using vSphere, then EVC is definitely something that you should consider enabling in your environment.

Benefits of using EVC

There are several benefits to using EVC in your VMware environment.

Efficient maintenance and patching

First, EVC can greatly reduce the time required for maintenance tasks such as patching and upgrading. When you need to patch or upgrade your hosts, you can migrate the VMs to another host in the cluster and perform the task while the VM is offline. 

Streamlined hardware migrations

Second, EVC can make migrating your VMs to new hardware easier. If you need to add new hosts to your environment or migrate your existing hosts to new hardware, you can add the new hosts to the cluster and use vMotion to move the VMs. This process is much simpler than performing a traditional migration, as you won’t need to reconfigure the networking or storage for your VMs.

Operational transparency to end users

Third, EVC is transparent to the end user and requires no changes to the VM or its operating system. This can be extremely helpful if you need to quickly add new VMs or migrate existing VMs to new hardware.

Improved stability and reduced contention

Finally, EVC can improve your environment’s stability by preventing incompatible VMs from running on the same host. This can reduce the risk of problems such as CPU or memory contention, which can lead to performance issues.

Downsides to using EVC in your environment

While EVC offers benefits, there are also potential challenges to consider.

Configuration complexity

Using EVC requires creating a new cluster and adding all your hosts, which can be challenging if you’re unfamiliar with vCenter Server configuration.

Impact on performance

EVC can impact performance by setting a baseline compatibility level across the cluster. This restricts all hosts to the CPU feature set of the least capable processor, preventing the use of advanced features from newer CPUs. As a result, some VMs may not fully utilize their host processors, leading to wasted CPU cycles and underutilization of advanced hardware.

When considering EVC implementation, weigh these performance trade-offs against the benefits of increased compatibility, as they can affect your workload’s efficiency.

VM compatibility constraints

VMs can become stuck in an EVC cluster if there’s an incompatibility with the baseline CPU settings. This can happen if you upgrade your host’s processors and don’t update the EVC cluster settings. As a result, you may be unable to live-migrate these VMs to other hosts in the cluster.

Unnecessary implementation

EVC may not be necessary if all your hosts use the same processor type. In this case, simply configure your VMs to use the correct CPU settings and live-migrate them between hosts without enabling EVC.

Getting more out of VMware with EVC

If you’re using VMware vSphere, you should consider enabling EVC in your environment. It’ll reduce the time required for maintenance tasks and make migrating VMs to new hardware easier. 

Enabling EVC is a relatively simple process and benefits your virtualization infrastructure. It’s also compatible with a variety of processors, making it a versatile tool for your virtualization needs. 

If you’re interested in learning more about EVC for your VMware environment, get in touch with us today. With 25 years of experience, our team can guide you through the process and help you maximize the benefits of EVC. And be sure to check out our private cloud powered by VMware.

Related articles

Wait! Get exclusive hosting insights

Subscribe to our newsletter and stay ahead of the competition with expert advice from our hosting pros.

Loading form…