Understanding VMware EVC
Setting up VMware EVC is sort of like tuning your car engine. You do not want to do much of the work while the car is running. The same holds true for EVC. Specifically in order to enable VMware EVC you need to set up the system BIOS properly. One setting is well known yet the other is not so well known.
For HP hardware enable the following BIOS options on Intel processors. There is similar options for AMD processors
- enable Intel-VT within the BIOS
- enable No Execute Memory Protection within the BIOS. This option has as many names as there are hardware vendors but all contain either X-Bit or No Execute in the name.
Once you have the BIOS enabled properly and the host rebooted you next need to enable EVC, which you can not do if there are VMs running on the host. For some this causes some issues as VirtualCenter is running as a VM. In this case you need to do some creative VMotioning to move VMs to a host that is currently NOT in EVC mode.
Penultimately, it is important to realize that the BIOS changes, change the behavior of the CPU, and in order to move VMs to an EVC enabled node, you may have to do a cold migration. This implies powering off VMs. Sometimes this is not necessary if you already had Intel-VT enabled for example. But you will have to VMotion between like CPUs to make this happen without needed to set CPU masks which you will have to unset once the VMs are in the EVC cluster.
Lastly, VMware EVC only removes the need to set per VM CPU Masks for the same global family of processors. I.e. Intel and AMD. You still need to use CPU Masks if you want to VMotion VMs from an Intel host to an AMD host. But within the same family the CPU Masks are not required.
New hosts to be added to an EVC Cluster just require the BIOS changes and no active VMs. It is the first couple of hosts that currently pose the most problems.