Using hosts with different CPUs in one cluster
One of the core vSphere features is vMotion. It allows administrators to move a running virtual machine from one host to another without interruption.
Unfortunately, one of the requirements for vMotion is to use hosts with the same processors so that the virtual machine that has been moved can keep running on a new host. This is due to the fact that newer processors, even within the same family, typically have additional features. New generations of processors can also have a different set of instructions. When features or instructions an application is using are not available, the application will crash.
Clusters consisting of hosts with different CPU generations can use Enhanced vMotion Compatibility (EVC) mode. In this mode, vCenter hides CPU features and instructions that are not available on older hosts. This way, it makes all hosts' CPUs in the cluster look like they are the same.
The obvious downside of using this feature is that the cluster's processors will all be the same or lower than the oldest host's CPU.
Getting ready
Things to consider before enabling the feature are as follows:
- All hosts must have either Intel or AMD processors.
- All cluster VMs running on hosts where EVC mode will be enabled must be shut down before the feature can be turned on.
How to do it...
To enable EVC:
- Switch to the Hosts and Clusters view.
- Right-click on your cluster and choose Edit Settings.
- Go to VMware EVC and click on Change EVC Mode.
- Choose
AMD
orIntel
depending on the host's CPU. - Choose the best available option for processor generation.
- In vCenter Web Client, this setting can be found by going to vCenter | Cluster | Manage | Settings | VMware EVC:
- Press the Edit... button next to the VMware EVC section to change EVC mode:
There's more…
Virtual machines always have to be off when changing EVC mode to an older processor generation. This is not a requirement when EVC mode is being raised. Unfortunately, in this case, new CPU features will not be available to VMs until they are powered off and back on. Suspending or restarting VMs is not sufficient because virtual machine EVC mode is determined when it's turned on.