pdirmann01
Enthusiast
Enthusiast

EVC masks CPU instruction sets from the VMs themselves. You don't need to worry about rebooting the hosts, but the VMs could potentially be a concern. If you try to set the EVC level to one where a certain instruction set is being used by a/multiple VMs, it will not allow you to enable it (since the set is already exposed to the vCPUs of the VMs, and possibly in use). At that point, you could shut down the "offending" VMs, enable EVC, then power up the "offending" VMs again. There's some " unofficial workarounds" where you put the "offending" VMs on one host, disconnect that host from vCenter, enable EVC, and re-connect the host.

With EVC, you can always go from an older CPU mode to a newer one without issue, because you're enabling instruction sets that are not being used yet. However, backpeddling and going from a newer EVC mode to an older will require some additional steps like ones mentioned above. EVC should be set to the lowest available level in the cluster. If you have 3 Skylake Intels and one Haswell generation, EVC needs to be set to Haswell until you decommission that host.

Hope this helps.