During a DRS cluster creation, you can choose to enable VMware Enhanced vMotion Compatibility (EVC). This technology ensures vSphere vMotion compatibility for the different hosts in the cluster by creating the common CPU ID baseline for all the hosts within the cluster. All hosts will present the same CPU features to the VMs, even if their CPUs differ. Note that, however, EVC only works with different CPUs in the same family, for example with different AMD Operon families. Mixing AMD and Intel processors is not allowed. Also note that EVC is a vCenter Server cluster setting that is enabled at the cluster level and it is not specific for DRS.

When enabled, this feature allows you to migrate VMs among CPUs that would otherwise be considered incompatible. It works by forcing hosts to expose a common set of CPU features (baselines) to VMs. These features are supported by every host in the cluster. New hosts that are added to the cluster will automatically be configured to the CPU baseline. Hosts that can’t be configured to the baseline are not permitted to join the cluster.

NOTE – before enabling EVC, make sure that your VMs don’t use some advanced CPU features that could be disabled after EVC is turned on.

Before enabling EVC for a cluster, make sure that the following requirements are met:

EVC only works with different CPUs in the same family, for example with different AMD Operon families. Mixing AMD and Intel processors is not allowed.for Intel CPUs, use the CPUs with Core 2 micro architecture and newer. For AMD CPUs, use first-generation Opteron CPUs and newer.enable hardware virtualization on all hosts.enable AMD No eXecute (NX) or Intel eXecute Disable (XD) technology on all hosts.configure vMotion networking for all hosts.use ESX/ESXi 3.5 update 2 or newer on all hosts.vCenter Server must be used to manage the cluster.
DRS affinity rules are used in DRS clusters to control the placement of virtual machines. Three types of rules exist:

affinity rules – DRS will try to keep certain VMs together on the same host. These rules are often used in multi-virtual machine systems to localize the traffic between virtual machines.anti-affinity rules – DRS will try to keep certain VMs are not on the same host. These rules are often used to keep the VMs separated for availability reasons.VM to host rules – specify whether VMs can or can’t be run on a host. They can be preferential or required. These rules are used in conjunction with DRS groups for ease of administration. A DRS group can either consist of one or more VMs or one or more ESXi hosts.NOTE – if two rules are in conflict with each other, they will no be enabled.

The VM to host DRS rules can either be preferential or required. A preferential rule is softly enforced and can be violated if necessary, for example to ensure the proper functioning of DRS, HA, or DPM. Consider the following example (image source: VMware):

As you can see from the picture above, we’ve created two DRS groups for virtual machines (Group A and Group B) and two DRS groups for ESXi hosts (Blade Chassis A and Blade Chassis B).

The goal of this design is to force the VMs in Group A to run on the hosts in Blade Chassis A and to force the VMs in Group B to run on the hosts in Blade Chassis B. But if the hosts in Blade Chassis A fail, the VMs from Group A will be moved to hosts in Blade Chassis B.

The VM to host DRS rules can either be preferential or required. A required rule is stricty enforced and can never be violated, unlike a preferential rule. Required rules are often used to enforce host-based licensing. For example, if the software that is running in your VMs have licensing restrictions, you can use a required rule to run those VMs only on hosts that have the required licenses.

Here is an example (image source: VMware):

In the picture above you can see that we’ve created a DRS group for virtual machines named Group A and a DRS group for hosts named ISV-Licensed. The goal of this design is to force the VMs from Group A to run only on hosts in the ISV-Licensed DRS group because these hosts have the required licenses. But if the hosts in the ISV-Licensed group fail, VMs from Group A will not be moved to other host DRS groups.

VMware vSphere Distributed Resource Scheduler (DRS) is a feature that enables your virtual environment to automatically balance itself across your ESX host servers in a cluster in an effort to eliminate resource contention. Here is how you can enable DRS on a cluster using vSphere Web Client:

1. Select your cluster from the inventory, go to Manage > Settings > vSphere DRS, and click the Edit button on the right:

2. The Edit Cluster Settings window opens. Select vSphere DRS on the left and check the Turn ON vSphere DRS checkbox:

turn on vsphere drs

3. Expand the DRS Automation option. You can set the automation level and determine how aggressively DRS will select to migrate VMs:

drs automation levels

4. Click OK to enable DRS.

To verify DRS functionality, go to the Summary page of your cluster. You should see the vSphere DRS panel:

drs panel

Note that the gauge shows that the cluster is imbalanced. To display DRS recommendations, go to Monitor > vSphere DRS:

drs recommendations

As you can see in the picture above, DRS recommends to migrate the VM to another host.

DRS affinity rules are used in DRS clusters to keep certain VMs together on the same host. You can create them using vSphere Web Client:

1. Select your cluster from the inventory, go to Manage > Settings > DRS Rules, and click the Add button:

2. The Create DRS Rule window opens. Type the name for the rule and choose the rule type. In this example, we will create a rule that will keep two VMs on the same host. Click Add to add the VMs:

add drs rules vms

3. Select the VMs you would like to run on the same host and click OK:

add drs rules same host

4. Click OK to create the rule.

To test the rule, select your DRS cluster from the inventory and go to Monitor > vSphere DRS. Because the VMs we’ve selected during the rule creation are running on different ESXi hosts, DRS recommends to run them on the same host:

drs same host recommendation