Tag Archives: affinity

VCAP-DCA Study notes – 3.3 Implement and maintain complex DRS solutions


  • Explain DRS affinity and anti?affinity rules
  • Identify required hardware components to support DPM
  • Identify EVC requirements, baselines and components
  • Understand the DRS slot?size algorithm and its impact on migration recommendations

Skills and Abilities

  • Properly configure BIOS and management settings to support DPM
  • Test DPM to verify proper configuration
  • Configure appropriate DPM Threshold to meet business requirements
  • Configure EVC using appropriate baseline
  • Change the EVC mode on an existing DRS cluster
  • Create DRS and DPM alarms
  • Configure applicable power management settings for ESX Hosts
  • Properly size virtual machines and clusters for optimal DRS efficiency
  • Properly apply virtual machine automation levels based upon application requirements

Tools & learning resources

Advanced DRS

  • Read the DRS deepdive at Yellow Bricks.
  • Use the (new to vSphere) DRS Faults and DRS History tabs to investigate issues with DRS
  • By default DRS recalculates every 5 minutes (including DPM recommendations), but it also does so when resource settings are changed (reservations, adding/removing hosts etc).For a full list of actions which trigger DRS calculations see Frank Denneman’s HA/DRS book.
  • It’s perfectly possible to turn on DRS even though all prerequisite functionality isn’t enabled – for example if vMotion isn’t enabled you won’t be prompted (at least until you try to migrate a VM)!

Affinity and anti-affinity rules

There are two types of affinity/anti-affinity rules;

  • VM-VM (new in vSphere v4.0)
  • VM-Host (new to vSphere 4.1)

The VM-VM affinity is pretty straightforward. Simply select a group of two or more VMs and decide if they should be kept together (affinity) or apart (anti-affinity). Typical use cases;

  • Webservers acting in a web farm (set anti-affinity to keep them on separate hosts for redundancy)
  • A webserver and associated application server (set affinity to optimise networking by keeping them on the same host)

VM-Host affinity is a new feature (with vSphere 4.1) which lets you ‘pin’ one or more VMs to a particular host or group of hosts. Use cases I can think of;

  • Pin the vCenter server to a couple of known hosts in a large cluster
  • Pin VMs for licence compliance (think Oracle, although apparently they don’t recognise this new feature as being valid – see the comments in this post)
  • Microsoft clustering (see section 4.3 for more details on how to configure this)
  • Multi-tenancy (cloud infrastructures)
  • Blade environments (ensure VMs run on different chassis in case of backplane failure)
  • Stretched clusters (spread between sites. See this Netapp post for Metrocluster details)

To implement them;

  • Define ‘pools’ of hosts.
  • Define ‘pools’ of VMs.
  • Create a rule pairing one VM group with one host group.
    • Specify either affinity (keep together) or anti-affinity (keep apart).
    • Specify either ‘should’ or ‘must’ (preference or mandatory)

Continue reading VCAP-DCA Study notes – 3.3 Implement and maintain complex DRS solutions