Daniel's Tech Blog

Cloud Computing, Cloud Native & Kubernetes

Anti-Affinity Rules – Failover Cluster – SC 2012 SP1 VMM

Ich habe mich in dieser Woche mit einem recht interessanten Bereich beschäftigt und zwar mit den Anti-Affinity Rules oder zu Deutsch Anti-Affinitätsregeln. Diese werden zum Beispiel in einem Cluster benötigt, so dass zwei verschiedene VMs bei einem Failover nicht auf demselben Virtualisierungshost, sondern auf zwei verschiedenen wieder angefahren werden. Dies ist zum Beispiel bei virtualisierten SQL Servern, die wiederum einen Cluster bilden, sinnvoll. Denn wenn beide SQL Server auf demselben Virtualisierungshost betrieben werden und dieser aufgrund eines Fehlers abstürzt, steht der SQL Server Cluster nicht mehr zur Verfügung. Daher sorgt man im Voraus dafür, dass die SQL VMs sich auf unterschiedlichen Virtualisierungshost befinden und sorgt mit den Anti-Affinitätsregeln dafür, dass dies auch im Falle eines Failovers so bleibt. Nur im äußersten Notfall werden dann die VMs auf ein und demselben Virtualisierungshost betrieben.

Aber wie definiert man diese Anti-Affinitätsregeln in einem Windows Server 2012 Hyper-V Failover Cluster beziehungsweise im SC2012 SP1 VMM?

Failover Cluster:

Möchte man die Anti-Affinitätsregeln in einem Failover Cluster festlegen, so geht dies recht einfach mittels der PowerShell:

$AntiAffinity = “SQL-Server”
(Get-ClusterGroup -Name “SQL01” -Cluster “Hyper-V-Cluster”).AntiAffinityClassNames = $AntiAffinity
(Get-ClusterGroup -Name “SQL01 -Cluster “Hyper-V-Cluster”).AntiAffinityClassNames = $AntiAffinity

Zur Überprüfung braucht man sich nur zu der Registry von einem der Knoten im Cluster verbinden und den folgenden Pfad aufrufen:

HKLMClusterGroups<Group GUID>AntiAffinityClassNames

SC2012 SP1 VMM:

Seit dem SP1 für SC2012 unterstützt auch der VMM Anti-Affinitätsregeln, die dort allerdings “Availability Sets” genannt werden. Diese richtet man in den Eigenschaften der VM ein.

AvailabilitySets01

In der Übersicht wird dies zur einfachen Identifikation der VMs angezeigt.

AvailabilitySets02

Aus Gründen des Konsistenz rate ich zuerst die Anti-Affinitätsregeln für den Failover Cluster zu erstellen und im Nachgang diese nochmals für den VMM zu definieren. Denn sollte der Fall eintreten, dass der VMM einmal nicht zur Verfügung steht, nützen einem auch die Availibilty Sets des VMM nichts mehr.

WordPress Cookie Notice by Real Cookie Banner