- 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
- Product Documentation
- vSphere Client
- DRS Resource Distribution Chart
- Frank Denneman’s blogpost on using DPM with DRS
- Jason Boche’s blogpost about DPM UI consistency
- Duncan Epping and Frank Denneman’s HA and DRS book
- DRS limitations with vSMP
- Fine tuning the DRS algorithm
- The math behind the DRS algorithm
- Community blogpost – good log files for troubleshooting EVC
- Frank Denneman’s excellent post on VM-Host affinity rules
- 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)