EVC, Patios, & Oh My!

Ever walk into a datacenter where they have vSphere clusters defined by the processor types? It happens more than you would think, this is because there is a misconception. Recently I saw one where they couldn’t live vMotion between two vSphere 6 clusters because the processors were different generations.

“Umm, turn on Enhanced vMotion Compatibility (EVC)?”, I asked.

The answer was that they didn’t want to limit the capabilities of the cluster. Their initial plan was the newer hardware cluster would handle all of the heavy workload VMs and keep all of the light VMs on the older hardware. They also believed that EVC would drop everything down to the lowest common denominator and limit the faster procs to the slowest speed.

So I showed them the actual vSphere Documentation.

You can use the Enhanced vMotion Compatibility (EVC) feature to help ensure vMotion compatibility for the hosts in a cluster. EVC ensures that all hosts in a cluster present the same CPU feature set to virtual machines, even if the actual CPUs on the hosts differ. Using EVC prevents migrations with vMotion from failing because of incompatible CPUs.

EVC masks only those processor features that affect vMotion compatibility. Enabling EVC does not prevent a virtual machine from taking advantage of faster processor speeds, increased numbers of CPU cores, or hardware virtualization support that might be available on newer hosts.

EVC cannot prevent virtual machines from accessing hidden CPU features in all circumstances. Applications that do not follow CPU vendor recommended methods of feature detection might behave unexpectedly in an EVC environment. VMware EVC cannot be supported with ill-behaved applications that do not follow the CPU vendor recommendations. For more information about creating well-behaved applications, search the VMware Knowledge Base for the article Detecting and Using New Features in CPUs.

Imagine it this way, you are invited to an orgy and there are a mix of folks, old, young, good looking, and ugly. Some of these folks may be left out when it’s time to pair up. But if they all wear masks you limit the impact of bias based on at least one category. EVC also doesn’t restrict the capabilities and instead allows for a everyone to appear to perform the same to the VM’s so it’s like giving the old guys at the party Viagra.

Next I set about tackling the concern of mixed workload environments. Have you ever laid down base rock for a patio? It takes a mix of stone sizes, so that when they compact they interlock and form a smooth, solid surface from which you can build your patio. VMware workloads are very similar, it’s not that there aren’t reasons to restrict workloads to specific hosts, but it’s better if you have a mix to have better utilization. It also ensures that there is a more solid foundation for the entire virtual environment.