Erstellen von Computer- und Standortaffinitätsregeln für VMs
Gilt für: Azure Local 2311.2 und höher
Mithilfe von Windows Admin Center oder Windows PowerShell können Sie auf einfache Weise Affinitäts- und Antiaffinitätsregeln für virtuelle Computer (VMs) in Ihrer lokalen Azure-Instanz erstellen.
Hinweis
Die empfohlene Methode zum Erstellen und Verwalten von VMs in Azure Local ist die Verwendung der Azure Arc-Steuerungsebene. Verwenden Sie den unten beschriebenen Mechanismus zur Verwaltung Ihrer VMs nur, wenn Sie Funktionen benötigen, die in Azure Arc VMs nicht verfügbar sind.
Affinität ist eine Regel, die eine Beziehung zwischen zwei oder mehr Ressourcengruppen oder Rollen wie VMs herstellt, um sie auf demselben Computer, System oder Standort zusammenzuhalten. Antiaffinität ist das Gegenteil, da sie verwendet wird, um die angegebenen virtuellen Computer oder Ressourcengruppen voneinander zu trennen, z. B. zwei Domänencontroller, die auf separaten Computern platziert wurden, oder in separaten Standorten für die Notfallwiederherstellung.
Affinitäts- und Antiaffinitätsregeln werden auf ähnliche Weise verwendet wie Verfügbarkeitszonen in Azure. In Azure können Sie Verfügbarkeitszonen konfigurieren, um VMs getrennt voneinander in separaten Zonen oder zusammen in ein und derselben Zone zu platzieren.
Bei Verwendung von Affinitäts- und Antiaffinitätsregeln würde jede gruppierte VM entweder auf demselben Computer verbleiben oder daran gehindert werden, auf demselben Computer zusammen zu sein. Auf diese Weise wäre die einzige Möglichkeit, einen virtuellen Computer aus einem Computer zu verschieben, dies manuell. Sie können VMs auch in ihrem eigenen Speicher zusammenhalten, z. B. in einem freigegebenen Clustervolume (Cluster Shared Volume, CSV), in dem sich die zugehörige VHDX befindet.
Verwenden von Windows Admin Center
Mithilfe von Windows Admin Centers können Sie grundlegende Affinitäts- und Antiaffinitätsregeln erstellen.
- Wählen Sie unter "Alle Verbindungen" in Windows Admin Center den Computer oder das System aus, für den Sie die VM-Regel erstellen möchten.
- Wählen Sie unter Extras die Option Einstellungen aus.
- Wählen Sie unter Einstellungen die Option Affinitätsregeln und dann Regel erstellen unter Affinitätsregeln aus.
- Geben Sie unter Regelname einen Namen für Ihre Regel ein.
- Wählen Sie unter "Regeltyp" entweder "Zusammen" (gleiche Maschine) oder "Auseinander" (verschiedene Computer) aus, um Ihre virtuellen Computer auf demselben Computer oder auf verschiedenen Computern zu platzieren.
- Wählen Sie unter "Gilt für" die virtuellen Computer aus, für die diese Regel gilt. Fügen Sie mit der Schaltfläche Hinzufügen der Regel weitere VMs hinzu.
- Wenn Sie fertig sind, wählen Sie " Regel erstellen" aus.
- Um eine Regel zu löschen, wählen Sie sie aus, und wählen Sie "Regel löschen" aus.
Verwenden von Windows PowerShell
Sie können mit Windows PowerShell komplexere Regeln erstellen als mit Windows Admin Center. In der Regel richten Sie Ihre Regeln von einem Remotecomputer und nicht auf einem Hostcomputer in einem System ein. Dieser Remotecomputer wird als Verwaltungscomputer bezeichnet.
Wenn Sie Windows PowerShell-Befehle auf einem Verwaltungscomputer ausführen, schließen Sie den -Name
Parameter -Cluster
mit dem Namen des Systems ein, das Sie verwalten. Falls zutreffend, müssen Sie auch den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) angeben, wenn Sie den -ComputerName
Parameter für einen Computer verwenden.
Neue PowerShell-Cmdlets
Zum Erstellen von Affinitätsregeln für Cluster verwenden Sie die folgenden neuen PowerShell-Cmdlets:
New-ClusterAffinityRule
Das Cmdlet New-ClusterAffinityRule
dient zum Erstellen neuer Regeln. Mit diesem Befehl würden Sie den Namen der Regel und den Typ der Regel angeben, wobei:
-Name
ist der Name der Regel.
-RuleType
-Werte sind SameFaultDomain
| SameNode
| DifferentFaultDomain
| DifferentNode
Beispiel:
New-ClusterAffinityRule -Name Rule1 -RuleType SameFaultDomain
Set-ClusterAffinityRule
Das Cmdlet Set-ClusterAffinityRule
dient zum Aktivieren oder Deaktivieren einer Regel, wobei Folgendes gilt:
-Name
ist der Name der Regel, die aktiviert oder deaktiviert werden soll.
-Enabled
| Disabled
aktiviert oder deaktiviert die Regel.
Beispiel:
Set-ClusterAffinityRule -Name Rule1 -Enabled
Get-ClusterAffinityRule
Das Cmdlet Get-ClusterAffinityRule
dient zum Anzeigen der angegebenen Regel und des zugehörigen Typs. Wenn -Name
nicht angegeben, werden alle Regeln aufgelistet.
Beispiel:
Get-ClusterAffinityRule -Name Rule1
Add-ClusterGroupToAffinityRule
Das Cmdlet Add-ClusterGroupToAffinityRule
dient zum Hinzufügen einer VM-Rolle oder eines Gruppennamens zu einer bestimmten Affinitätsregel, wobei Folgendes gilt:
-Groups
ist der Name der Gruppe oder Rolle, die der Regel hinzugefügt werden soll.
-Name
ist der Name der Hinzuzufügenden Regel.
Beispiel:
Add-ClusterGroupToAffinityRule -Groups Group1 -Name Rule1
Add-ClusterSharedVolumeToAffinityRule
Das Cmdlet Add-ClusterSharedVolumeToAffinityRule
dient zum Zusammenhalten der VMs mit dem freigegebenen Clustervolume, in dem sich die VHDX befindet, wobei Folgendes gilt:
-ClusterSharedVolumes
ist der CSV-Datenträger, den Sie der Regel hinzufügen möchten.
-Name
ist der Name der Regel, zu der die Datenträger hinzugefügt werden sollen.
Beispiel:
Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1
Remove-ClusterAffinityRule
Das Cmdlet Remove-ClusterAffinityRule
löscht die angegebene Regel, wobei -Name
der Name der Regel ist.
Beispiel:
Remove-ClusterAffinityRule -Name Rule1
Remove-ClusterGroupFromAffinityRule
Die Remove-ClusterGroupFromAffinityRule
Vm-Gruppe oder -Rolle wird aus einer bestimmten Regel entfernt, deaktiviert oder löscht die Regel jedoch nicht, wobei:
-Name
ist der Name der Regel.
-Groups
sind die Gruppen oder Rollen, die Sie aus der Regel entfernen möchten
Beispiel:
Remove-ClusterGroupFromAffinityRule -Name Rule1 -Groups Group1
Remove-ClusterSharedVolumeFromAffinityRule
Das Remove-ClusterSharedVolumeFromAffinityRule
Cmdlet wird verwendet, um die freigegebenen Clustervolumes aus einer bestimmten Regel zu entfernen, die Regel jedoch nicht zu deaktivieren oder zu löschen. Dabei gilt Folgendes:
-ClusterSharedVolumes
ist der CSV-Datenträger, den Sie aus der Regel entfernen möchten.
-Name
ist der Name der Hinzuzufügenden Regel.
Beispiel:
Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1
Vorhandene PowerShell-Cmdlets
Mit der Einführung der neuen Cmdlets haben wir auch zusätzliche neue Switches zu einigen vorhandenen Cmdlets hinzugefügt.
Move-ClusterGroup
Der neue -IgnoreAffinityRule
Switch ignoriert die Regel und verschiebt die Clusterressourcengruppe auf einen anderen Computer. Weitere Informationen zu diesem Cmdlet finden Sie unter Move-ClusterGroup.
Beispiel:
Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1
Hinweis
Wenn eine Verschiebungsregel gültig ist (unterstützt wird), werden alle betroffenen Gruppen und Regeln ebenfalls verschoben. Wenn die Verschiebung einer VM gegen eine Regel verstößt, aber vorübergehend und einmalig notwendig ist, verwenden Sie die Option -IgnoreAffinityRule
, um die Verschiebung zuzulassen. In diesem Fall wird für die VM eine Warnung zum Verstoß angezeigt. Sie können die Regel danach wieder aktivieren, wenn Sie dies wünschen.
Start-ClusterGroup
Der neue -IgnoreAffinityRule
Switch ignoriert die Regel und bringt die Clusterressourcengruppe an seinem aktuellen Speicherort online. Weitere Informationen zu diesem Cmdlet finden Sie unter Start-ClusterGroup.
Beispiel:
Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1
Beispiele für Affinitätsregeln
Affinitätsregeln sind "zusammen"-Regeln, die Ressourcen auf demselben Computer, System oder Standort beibehalten. Im Folgenden finden Sie einige gängige Szenarien für das Einrichten von Affinitätsregeln.
Szenario 1
Angenommen, Sie verfügen über eine SQL Server-VM und eine Webserver-VM. Diese beiden virtuellen Computer müssen immer am gleichen Standort bleiben, müssen sich aber nicht unbedingt auf demselben Computer befinden. Dies SameFaultDomain
ist möglich, wie gezeigt:
New-ClusterAffinityRule -Name WebData -Ruletype SameFaultDomain -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL1,WEB1 –Name WebData -Cluster Cluster1
Set-ClusterAffinityRule -Name WebData -Enabled 1 -Cluster Cluster1
Um diese Regel und ihre Konfiguration anzuzeigen, verwenden Sie das Get-ClusterAffinityRule
Cmdlet, um die Ausgabe anzuzeigen:
Get-ClusterAffinityRule -Name WebData -Cluster Cluster1
Name RuleType Groups Enabled
---- --------- ------ -------
WebData SameFaultDomain {SQL1, WEB1} 1
Szenario 2
Lassen Sie uns dasselbe Szenario verwenden, mit ausnahme der Angabe, dass sich die virtuellen Computer auf demselben Computer befinden müssen. Legen Sie SameNode
ihn wie folgt fest:
New-ClusterAffinityRule -Name WebData1 -Ruletype SameNode -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL1,WEB1 –Name WebData1 -Cluster Cluster1
Set-ClusterAffinityRule -Name WebData1 -Enabled 1 -Cluster Cluster1
Um die Regel und die Konfiguration anzuzeigen, verwenden Sie das Get-ClusterAffinityRule
Cmdlet, um die Ausgabe anzuzeigen:
Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1
Name RuleType Groups Enabled
---- -------- ------ -------
DC SameNode {SQL1, WEB1} 1
Beispiele für Antiaffinitätsregeln
Antiaffinitätsregeln sind "apart"-Regeln, die Ressourcen trennen und auf unterschiedlichen Computern, Systemen oder Websites platzieren.
Szenario 1
Sie verfügen über zwei virtuelle Computer, auf denen SQL Server auf demselben lokalen Azure Multi-Site-System ausgeführt wird. Beide VMs verbrauchen viele Arbeitsspeicher-, CPU- und Massenspeicherressourcen. Wenn die beiden auf demselben Computer enden, kann dies zu Leistungsproblemen mit einem oder beidem führen, da sie im Wettbewerb für Arbeitsspeicher, CPU und Speicherzyklen stehen. Wenn Sie eine Antiaffinitätsregel als DifferentNode
Regeltyp verwenden, bleiben diese virtuellen Computer immer auf unterschiedlichen Computern.
Die Beispielbefehle sind:
New-ClusterAffinityRule -Name SQL -Ruletype DifferentNode -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL1,SQL2 –Name SQL -Cluster Cluster1
Set-ClusterAffinityRule -Name SQL -Enabled 1 -Cluster Cluster1
Um die Regel und die Konfiguration anzuzeigen, verwenden Sie das Get-ClusterAffinityRule
Cmdlet, um die Ausgabe anzuzeigen:
Get-ClusterAffinityRule -Name SQL -Cluster Cluster1
Name RuleType Groups Enabled
---- ----------- ------- -------
SQL DifferentNode {SQL1, SQL2} 1
Speicheraffinitätsregeln
Sie können einen virtuellen Computer und dessen VHDX auch auf einem freigegebenen Clustervolume (CLUSTER Shared Volume, CSV) auf demselben Computer speichern. Dies würde verhindern, dass die CSV-Umleitung auftritt, was den Start oder Das Beenden eines virtuellen Computers verlangsamen kann. Unter Berücksichtigung des zuvor kombinierten Affinitäts- und Antiaffinitätsszenarios können Sie die SQL-VM und das freigegebene Clustervolume auf demselben Computer beibehalten. Verwenden Sie dazu die folgenden Befehle:
New-ClusterAffinityRule -Name SQL1CSV1 -Ruletype SameNode -Cluster Cluster1
New-ClusterAffinityRule -Name SQL2CSV2 -Ruletype SameNode -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL1 –Name SQL1CSV1 -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL2 –Name SQL2CSV2 -Cluster Cluster1
Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name SQL1CSV1 -Cluster Cluster1
Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV2 -Name SQL2CSV2 -Cluster Cluster1
Set-ClusterAffinityRule -Name SQL1CSV1 -Enabled 1 -Cluster Cluster1
Set-ClusterAffinityRule -Name SQL2CSV2 -Enabled 1 -Cluster Cluster1
Um diese Regeln und ihre Konfiguration anzuzeigen, verwenden Sie das Get-ClusterAffinityRule
Cmdlet ohne Switch -Name
, und zeigen Sie die Ausgabe an.
Get-ClusterAffinityRule -Cluster Cluster1
Name RuleType Groups Enabled
---- -------- ------ -------
Site1Trio SameFaultDomain {SQL1, WEB1, DC1} 1
Site2Trio SameFaultDomain {SQL2, WEB2, DC2} 1
TrioApart DifferentFaultDomain {DC1, DC2} 1
SQL1CSV1 SameNode {SQL1, <CSV1-GUID>} 1
SQL2CSV2 SameNode {SQL2, <CSV2-GUID>} 1
Nächste Schritte
Erfahren Sie, wie Sie Ihre VMs verwalten. Weitere Informationen finden Sie unter Verwalten von virtuellen Computern auf Azure Local mithilfe von Windows Admin Center.