Freigeben über


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.

Bildschirm „Virtuelle Computer“

  1. 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.
  2. Wählen Sie unter Extras die Option Einstellungen aus.
  3. Wählen Sie unter Einstellungen die Option Affinitätsregeln und dann Regel erstellen unter Affinitätsregeln aus.
  4. Geben Sie unter Regelname einen Namen für Ihre Regel ein.
  5. 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.
  6. 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.
  7. Wenn Sie fertig sind, wählen Sie " Regel erstellen" aus.
  8. 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 SameFaultDomainist 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 SameNodeihn 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.