I had this issue recently and want to know how VMware DRS prioritise rules. If it considering all setting in Guest VM setup? Probably yes but not in setup below, or I might be wrong.
My setup consists of two ESXi 4.1 server, one vCenter and about 10 VMs.
One particular VM1 has requirements for Security USB dongle which attached to ESX01 and connected via pass-through to VM1 (No vMotion support enabled).
My cluster DRS settings as follows:
Automation level: Manual
DRS Groups Manager:
Virtual machines DRS Groups:
USB – VM1 included in this group
Host DRS Groups:
USB-ESX01 – ESX01 is included into this group
Name: VM1 on ESX01
Type: Run VMs on Hosts
DRS Group members: USB and USB-ESX01
Virtual Machine Options: Enabled individual virtual machine automation levels.
Automation level for VM1 set to Fully Automated
Others VMs set to default and inherited settings from DRS cluster, meaning Manual Level.
All other DRS settings set to defaults.
I move all VMs to ESX01. In the evening VM1 starts generate 100% CPU load. DRS move VM1 from ESX1 to ESX2 and then move it back a minute later (Probably realizing there was a rule to keep VM1 on ESX01). Obviously USB device was connected without vMotion enabled and was disconnected.
After described above scenario my understanding VMware DRS moved VM1 without taking into consideration:
1. USB attached to VM1 with no vMotion support
2. Rule “Run VMs on Hosts” hasn’t been considered before DRS move VM1 to another host. However Rule was read after vMotion happens but USB device was disconnected and required manually reconnected.
And BTW “VMware vSphere 4.1 HA and DRS Technical Deepdive” book by Duncan Epping and Frank Denneman ordered and should arrive by end of Feb. Hopefully I can find my answer there.