• About Altaro
  • About Altaro VM Backup
  • 101 Free VMware Tools
  • facebook
  • twitter
  • google+
  • linkedin
  • rss
  • About Altaro
  • About Altaro VM Backup
  • 101 Free VMware Tools
vSphere
Altaro.com » Altaro's VMware Hub and blog » vSphere » VMware EVC Mode Explained
Jason Fenech
by Jason Fenech in vSphere
Tags: Enhanced vMotion Compatibility, EVC Mode, vMotion, VMware, vSphere
VMware's-Enhanced-vMotion-Compatibility-Mode

VMware EVC Mode Explained

26 Nov 2015 by Jason Fenech
4 vSphere
 

 

 

 

 

What is EVC?


EVC stands for Enhanced vMotion Compatibility which is a vCenter Server cluster-centric feature allowing virtual machines to vMotion or migrate across ESXi hosts equipped with dissimilar processors in the same cluster. VMware EVC Mode works by masking unsupported processor features thus presenting a homogeneous processor front to all the virtual machines in a cluster. This means that a VM can vMotion to any ESXi host in a cluster irrespective of the host’s micro-architecture examples of which include Intel’s Sandy Bridge and Haswell. One caveat to remember is that all the processor(s) must be from a single vendor i.e. either Intel or AMD. You simply cannot mix and match.

 

What are the benefits?


The main benefit is that you can add servers with the latest processors to your existing cluster(s) seamlessly and without incurring any downtime. More importantly, EVC provides you with the flexibility required to scale your infrastructure, lessening the need to decommission older servers prematurely, thus maximizing ROI. It also paves the way for seamless cluster upgrades once the decision to retire old hardware is taken.

 

Are there any disadvantages?


When a new family of processors is released to market, innovative microprocessor features and instruction sets are often included. These features include performance enhancements in areas such as multimedia, graphics or encryption. With this in mind try to determine in advance the type of applications you’ll be running in your vSphere environment. This gives you a rough idea of the type of processors you’ll be needing. This, in turn, allows you to predetermine the applicable EVC modes when mixing servers with processors from different generations. EVC modes are also dependent on the version of vCenter Server. This is shown in Figure 1 below.

Figure 1 - Intel based EVC modes (reproduced from VMware’s KB1003212)
Figure 1 – Intel based EVC modes (reproduced from VMware’s KB1003212)

 

When weighing the disadvantages, application performance springs first to mind. For instance, if SSL intensive applications are your thing, you should avoid at all costs the inclusion of servers equipped with pre-Westmere generation processors.  Why? Westmere improves AES performance by a factor of 3 in part due to its AES-NI instruction set. Now let’s imagine that you have a cluster of 4 servers equipped with Westmere CPUs and you urgently need to add a 5th node which happens to be an “old” server with pre-Westmere generation processors. What happens is that once this server is added to the cluster, the “best” available EVC mode is determined by the “oldest” processor. Put simply, you lose all the benefits AES-NI brings with it and in doing so drastically slow down any SSL intensive applications that are hosted on the cluster. For this reason, the old adage “a chain is as strong as its weakest link” comes to mind!

The performance chart (Figure 2), reproduced from this excellent whitepaper, outlines this undesirable scenario highlighting the importance of choosing wisely and determining in advance the type of processors to use and weighing in the pros and cons of enabling EVC versus purchasing similarly or better spec’d servers for your cluster.

Figure 2 - SSL performance boost using Westmere processors
Figure 2 – SSL performance boost using Westmere processors

 

Which EVC modes are supported?


ESXi 6.0 which is the latest iteration at the time of writing, supports the following modes;

  • AMD Opteron Generation 1 (Rev. E)
  • AMD Opteron Generation 2 (Rev. F)
  • AMD Opteron Generation 3 (Greyhound)
  • AMD Opteron Generation 3 (no 3Dnow!) (Greyhound)
  • AMD Opteron Generation 4 (Bulldozer)
  • AMD Opteron “Piledriver” Generation
  • Intel “Merom” Generation (Intel Xeon Core 2)
  • Intel “Penryn” Generation (Intel Xeon 45nm Core2)
  • Intel “Nehalem” Generation (Intel Xeon Core i7)
  • Intel “Westmere” Generation (Intel Xeon 32nm Core i7)
  • Intel “Sandy Bridge” Generation
  • Intel “Ivy Bridge” Generation
  • Intel “Haswell” Generation

 

What are the requirements?


To enable EVC, you must make sure the ESXi hosts in your cluster satisfy the following.

  • Processors must be from the vendor, AMD or Intel.
  • Hosts must be properly configured for vMotion.
  • Hosts must be connected to the same vCenter Server.
  • Advanced virtualization features such as Intel-VT and AMD-V must be enabled for all hosts from the server’s BIOS.
Figure 3 - Enabling advanced CPU virtualization features
Figure 3 – Enabling advanced CPU virtualization features

 

Use the VMware Compatibility Guide to assess your EVC options


The VMware Compatibility Guide is the best way to determine which EVC modes are compatible with the processors used in your cluster. I covered how to use the tool in this post. For completeness sake, I’m adding an example on how to determine which EVC mode to use given 3 types of Intel processors.

The steps are as follows;

  • Select the ESXi version installed.
  • Hold down the CTRL key and select the type of processors from the CPU Series list.
  • Press the CPU/EVC matrix button to view the results.

Figure 4

 

The results tell us that we can only use EVC modes Merom or the Penryn. This means we have to sacrifice some features exclusive to the Intel i7 processor. This is the stage at which you have to decide whether you’re better off getting new servers as opposed to adding old servers to the cluster.

 

How do I enable EVC?


Enabling EVC couldn’t be easier. Assuming your environment meets the above requirements go ahead and log on to your vCenter Server. I’ll be using the vSphere Web Client to demonstrate this but you similarly can use the traditional (C#) vSphere client if you wish to.

Highlight the cluster in the Navigator pane and select VMware EVC under Settings -> Configuration. Click Edit.

Figure 5

 

Select Enable EVC for AMD Hosts or Enable EVC for Intel Hosts respectively if using AMD or Intel processors.

The wizard defaults to the first available EVC option but I’m prevented from selecting it because of a powered-on VM currently using the CPU features masked off by the EVC mode. This is the same behavior you’ll come across when processors in the cluster are not supported by the EVC mode selected.

TIP: You should enable EVC right after you create a cluster. If you don’t, powered on VMs created before EVC was enabled must be rebooted for the changes to take effect.

Figure 6

 

Selecting Ivy Bridge works out just fine in my case. Just press OK to accept. Figure 7
Figure 8

 

Expanding Mode and Current CPUID Details provides further information on the EVC mode selected together with the values set for the CPUID flags which are inherited by newly created VMs henceforth.

Figure 9

 

I covered all the important aspects of EVC which should get you started in no time at all. For further details, have a look at the links I included next.

  • http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-EVC-Perf.pdf
  • http://www.vmware.com/files/pdf/vmotion_info_guide.pdf
  • http://www.virten.net/2013/04/intel-cpu-evc-matrix/
  • http://kb.vmware.com/kb/1003212
  • http://kb.vmware.com/kb/1991
  • http://kb.vmware.com/kb/1992
  • http://www.vmware.com/resources/compatibility/search.php?deviceCategory=cpu

If you liked this post, I’m sure you’ll find something equally interesting from our constantly updated list of VMware articles.

 

Have any questions or feedback?

Leave a comment below!

Jason Fenech
Jason Fenech

An IT veteran for over 23 years, I covered various roles throughout my career. Prior to joining Altaro as a blog writer and QA tester, I was employed as an infrastructure engineer at a cloud services provider working exclusively with VMware products. The Altaro VMware blog enables me to share the experience and knowledge gained and, much to my surprise, is what got me the vExpert 2017 award. Besides being a techie and a science buff, I like to travel and play guitars. I also do some photography and love having a go at playing the occasional XBOX game, Halo being my absolute favourite. I am also a proud father of two and parent to a crazy Dachshund called Larry.

All Posts   WEBSITE   EMAIL

4 Comments on “VMware EVC Mode Explained”

  1. Ronald Bok August 16, 2016 at 9:06 am

    Hello,

    You Explain Evc. I only got one question. We have a Cluster with Servers that have a the Same CPU. In the VM (windows 2008R2) that CPU is identify as a “CPU E5-2640 0 @ 2.50GHz”. now we add new servers to the cluster with a new CPU. The FW does a failover to the New Server. Is the Identification of the CPU the Same in the VM on the new Server ?

    Reply
    1. Jason FenechJason Fenech Post authorAugust 16, 2016 at 9:40 am

      Hi,

      Are the processor(s) on the new host better than those on the “older” hosts? If yes, then nothing should change from an EVC’s standpoint. If, on the other hand, the processor(s) on the new host are “older”, you then need to change the EVC baseline to a lower version. The caveat is that you won’t be able to do this until you power down all the vms running under the configured EVC mode.

      In either case, the EVC mode used by the vm remains the same until you reboot it. Obviously this will change accordingly once it’s back online after a reboot. I’m also not sure if by FW you mean HA.

      You might find the following links useful;

      http://tinyurl.com/zb24jot
      http://tinyurl.com/z9q4kvv

      Regards

      Jason

      Reply
  2. Thorsten December 13, 2017 at 11:28 am

    Hey Jason, hope you’re fine!

    Thanks for this great article!
    Just for my understanding, because i was trying to enable EVC with two different CPU type – Xeon E52420v2 (Ivy Bridge) and Core i7-3820 (Sandy Bridge), and i wasn’t able to.

    The xeon is ranked as “Level 5”, the i7 is ranked as Level 4 – this should work, right?

    Keep up with the great work!
    Best
    T.

    Reply
    1. Jason FenechJason Fenech Post authorDecember 14, 2017 at 10:24 am

      Hi Thorsten,

      Thank you for the great feedback. Yes you should be able to enable EVC. That said, I’m not seeing the i7 3820 proc listed on the compatibility list but I don’t think that’s the issue. Do you have any powered on VMs on the host with the better CPU, so to speak? If yes, you’ll need to migrate or power them down before you can enable EVC.

      Hope this helps.

      Jason

      Reply

Click here to cancel reply.

Have a question or comment? We'd love to hear it! Cancel reply

Your email address will not be published. Required fields are marked *

XHTML: You can use these tags <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

 

Featured product

Download Altaro VM Backup

Download 30-day trial or Free Edition (free for 2 VMs, forever.)

Site categories

  • vSphere
  • Storage
  • Automation and Management
  • Altaro News
  • Desktop Virtualization
  • HyperConvergence
  • Cloud
  • Uncategorized

Altaro Software

  • About Altaro
  • Altaro VM Backup

Altaro VM Backup

  • Altaro VM Backup
  • Download Free Version
  • Download 30-day Trial

Our writers

  • Jason Fenech Jason Fenech
    142 Posts
  • Andy Syrewicze (Chief Editor) Andy Syrewicze (Chief Editor)
    24 Posts
  • Ryan Birk
    22 Posts
  • Luke Orellana Luke Orellana
    18 Posts

Copyright © 2018 Altaro Software.

  • facebook
  • twitter
  • google+
  • linkedin
  • rss
[contact-form-7 id="4731" title="Act-On subs"]