Cluster Resource Anti-Affinity

I recently learned from Hans Vredevoort that it is actually possible to define anti-affinity for Hyper-V virtual machines on a cluster.  For example, you might want to force load-balanced virtual web servers to be on different nodes.  You can do this by running commands such as:

cluster.exe group “VirtualWebServer1” /prop AntiAffinityClassNames="NLBCluster1"

cluster.exe group “VirtualWebServer2” /prop AntiAffinityClassNames="NLBCluster1"

This will create an anti-affinity object called NLBCluster1 and try to prevent both of the virtual web servers from being on the same Hyper-V host server in the same cluster.  Sometimes a failover with reduced capacity will override this in order to keep the virtual machines running when there aren’t enough hosts left to meet demand. 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.