Regels voor server- en site-affiniteit maken voor VM's

Van toepassing op: Azure Stack HCI, versies 21H2 en 20H2

Met Windows-beheercentrum of Windows PowerShell kunt u eenvoudig affiniteits- en anti-affiniteitsregels maken voor uw virtuele machines (VM's) in een cluster.

Affiniteit is een regel die een relatie tot brengt tussen twee of meer resourcegroepen of rollen, zoals virtuele machines (VM's), om deze bij elkaar te houden op dezelfde server, cluster of site. Anti-affiniteit is het tegenovergestelde in dat het wordt gebruikt om de opgegeven VM's of resourcegroepen van elkaar gescheiden te houden, zoals twee domeincontrollers op afzonderlijke servers of op afzonderlijke sites voor herstel na noodherstel.

Affiniteits- en anti-affiniteitsregels worden op dezelfde manier gebruikt als azure Beschikbaarheidszones. In Azure kunt u Beschikbaarheidszones VM's in afzonderlijke zones en van elkaar of in dezelfde zone met elkaar weg te houden.

Met behulp van affiniteits- en anti-affiniteitsregels blijft elke geclusterde VM in hetzelfde clusterknooppunt of wordt voorkomen dat ze samen in hetzelfde clusterknooppunt staan. Op deze manier kunt u een VM alleen uit een knooppunt verplaatsen door dit handmatig te doen. U kunt VM's ook bij hun eigen opslag houden, zoals de Cluster Shared Volume (CSV) waar de VHDX zich bevindt.

Door affiniteits- en anti-affiniteitsregels te combineren, kunt u ook een stretched cluster op twee sites configureren en uw VM's in de site houden waarin ze zich moeten plaatsen.

Beheercentrum Windows gebruiken

U kunt basisregels voor affiniteit en anti-affiniteit maken met behulp Windows Beheercentrum.

Scherm Virtuele machines

  1. Selecteer Windows startpagina van het beheercentrum onder Alle verbindingen de server of het cluster voor wie u de VM-regel wilt maken.
  2. Selecteer onder Extrade optie Instellingen.
  3. Selecteer Instellingen,selecteer Affiniteitsregelsen selecteer vervolgens Regel maken onder Affiniteitsregels.
  4. Voer onder Regelnaameen naam in voor de regel.
  5. Selecteer onder Regeltype de optie Samen (dezelfde server) of Uit elkaar (verschillende servers) om uw VM's op dezelfde server of op verschillende servers te plaatsen.
  6. Selecteer onder Van toepassingop de VM's op welke VM's deze regel van toepassing is. Gebruik de knop Toevoegen om meer VM's aan de regel toe te voegen.
  7. Wanneer u klaar bent, klikt u op Regel maken.
  8. Als u een regel wilt verwijderen, selecteert u deze en klikt u op Regel verwijderen.

Windows PowerShell gebruiken

U kunt complexere regels maken met Windows PowerShell dan met Windows-beheercentrum. Normaal gesproken stelt u uw regels in vanaf een externe computer in plaats van op een hostserver in een cluster. Deze externe computer wordt de beheercomputer genoemd.

Wanneer u Windows PowerShell vanaf een beheercomputer, moet u de parameter of opnemen met de naam van het -Name-Cluster cluster dat u beheert. Indien van toepassing moet u ook de FQDN (Fully Qualified Domain Name) opgeven wanneer u de parameter voor een -ComputerName server-knooppunt gebruikt

Nieuwe PowerShell-cmdlets

Gebruik de volgende nieuwe PowerShell-cmdlets om affiniteitsregels voor clusters te maken:

New-ClusterAffinityRule

De New-ClusterAffinityRule cmdlet wordt gebruikt om nieuwe regels te maken. Met deze opdracht geeft u de naam van de regel en het type regel op, waarbij:

-Name is de naam van de regel

-RuleType waarden zijn SameFaultDomain | SameNode | DifferentFaultDomain | DifferentNode

Voorbeeld:

New-ClusterAffinityRule -Name -RuleType SameFaultDomain -Cluster Cluster1

Set-ClusterAffinityRule

De Set-ClusterAffinityRule cmdlet wordt gebruikt om een regel in of uit te schakelen, waarbij:

-Name is de naam van de regel die moet worden in- of uitgeschakeld

-Enabled | Disabled schakelt de regel in of uit

Voorbeeld:

Set-ClusterAffinityRule -Name -Enabled -Cluster Cluster1

Get-ClusterAffinityRule

De Get-ClusterAffinityRule cmdlet wordt gebruikt om de opgegeven regel weer te geven en welk type deze is. Als -Name niet is opgegeven, worden alle regels weergegeven.

Voorbeeld:

Get-ClusterAffinityRule -Name -Cluster Cluster1

Add-ClusterGroupToAffinityRule

De cmdlet wordt gebruikt om een VM-rol of groepsnaam toe te voegen aan een Add-ClusterGroupToAffinityRule specifieke affiniteitsregel, waarbij:

-Groups is de naam van de groep of rol die aan de regel moet worden toevoegen

-Name is de naam van de regel die moet worden toevoegen aan

Voorbeeld:

Add-ClusterGroupToAffinityRule -Groups -Name -Cluster Cluster1

Add-ClusterSharedVolumeToAffinityRule

Met Add-ClusterSharedVolumeToAffinityRule kunnen uw VM's bij elkaar blijven met de Cluster Shared Volume de VHDX zich bevindt, waar:

-ClusterSharedVolumes is de CSV-schijf(s) die u wilt toevoegen aan de regel

-Name is de naam van de regel die moet worden toevoegen aan

Voorbeeld:

Add-ClusterSharedVolumeToAffinityRule  -ClusterSharedVolumes -Name -Cluster Cluster1

Remove-ClusterAffinityRule

De Remove-ClusterAffinityRule verwijdert de opgegeven regel, waarbij de naam van de regel -Name is.

Voorbeeld:

Remove-ClusterAffinityRule -Name -Cluster Cluster1

Remove-ClusterGroupFromAffinityRule

De verwijdert een VM-groep of -rol uit een specifieke regel, maar schakelt de regel niet uit of verwijdert Remove-ClusterGroupFromAffinityRule deze niet, waarbij:

-Name is de naam van de regel

-Groups zijn de groepen of rollen die u wilt verwijderen uit de regel

Voorbeeld:

Remove-ClusterGroupFromAffinityRule -Name -Groups -Cluster Cluster1

Remove-ClusterSharedVolumeFromAffinityRule

De cmdlet wordt gebruikt om de gedeelde clustervolumes uit een specifieke regel te verwijderen, maar de regel wordt niet uitgeschakeld Remove-ClusterSharedVolumeFromAffinityRule of verwijderd, waarbij:

-ClusterSharedVolumes is de CSV-schijf(s) die u wilt verwijderen uit de regel

-Name is de naam van de regel die moet worden toevoegen aan

Voorbeeld:

Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes -Name -Cluster Cluster1

Bestaande PowerShell-cmdlets

Met de komst van de nieuwe cmdlets hebben we ook extra nieuwe switches toegevoegd aan enkele bestaande cmdlets.

Move-ClusterGroup

De nieuwe -IgnoreAffinityRule switch negeert de regel en verplaatst de geclusterde resourcegroep naar een ander clusterknooppunt. Zie Move-ClusterGroupvoor meer informatie over deze cmdlet.

Voorbeeld:

Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Notitie

Als een regel voor verplaatsen geldig is (ondersteund), worden ook alle betrokken groepen en rollen verplaatst. Als een VM-beweging bewust een regel schendt, maar deze tijdelijk nodig is, gebruikt u de schakelknop om toe te staan dat de overstap -IgnoreAffinityRule wordt uitgevoerd. In dit geval wordt een schendingswaarschuwing voor de VM weergegeven. Vervolgens kunt u de regel weer inschakelen als dat nodig is.

Start-ClusterGroup

De nieuwe -IgnoreAffinityRule switch negeert de regel en brengt de geclusterde resourcegroep online op de huidige locatie. Zie Start-ClusterGroupvoor meer informatie over deze cmdlet.

Voorbeeld:

Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Voorbeelden van affiniteitsregel

Affiniteitsregels zijn 'samen'-regels die resources op dezelfde server, cluster of site houden. Hier volgen enkele veelvoorkomende scenario's voor het instellen van affiniteitsregels.

Scenario 1

Stel dat u een virtuele SQL Server en een webserver-VM hebt. Deze twee VM's moeten altijd op dezelfde site blijven, maar hoeven zich niet noodzakelijkerwijs op hetzelfde clusterknooppunt in de site te plaatsen. Met SameFaultDomain behulp van is dit mogelijk, zoals hieronder wordt weergegeven:

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

Als u deze regel wilt zien en hoe deze is geconfigureerd, gebruikt u Get-ClusterAffinityRule de cmdlet om de uitvoer te bekijken:

Get-ClusterAffinityRule -Name WebData -Cluster Cluster1

Name        RuleType          Groups        Enabled
----        ---------         ------        -------
WebData     SameFaultDomain   {SQL1, WEB1}     1

Scenario 2

Laten we hetzelfde scenario hierboven gebruiken, behalve dat de VM's zich op hetzelfde clusterknooppunt moeten bevinden, maar niet noodzakelijkerwijs op dezelfde site. Met SameNode kunt u dit als volgt instellen:

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

Als u de regel wilt zien en hoe deze is geconfigureerd, gebruikt u Get-ClusterAffinityRule de cmdlet om de uitvoer te bekijken:

Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1

Name    RuleType    Groups        Enabled
----    --------    ------        -------
DC      SameNode    {SQL1, WEB1}     1

Voorbeelden van regels voor anti-affiniteit

Anti-affiniteitsregels zijn regels voor 'uit elkaar' die resources scheiden en op verschillende servers, clusters of sites plaatsen.

Scenario 1

U hebt twee VM's die elk SQL Server op hetzelfde Azure Stack HCI cluster met meerdere site. Elke VM maakt gebruik van een groot aantal geheugen-, CPU- en opslagbronnen. Als de twee op hetzelfde knooppunt eindigen, kan dit prestatieproblemen veroorzaken met één of beide, omdat ze concurreren om geheugen-, CPU- en opslagcycli. Als u een anti-affiniteitsregel gebruikt met als regeltype, blijven deze DifferentNode VM's altijd op verschillende clusterknooppunten.

De voorbeeldopdrachten hiervoor zijn:

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

Als u de regel wilt zien en hoe deze is geconfigureerd, gebruikt u Get-ClusterAffinityRule de cmdlet om de uitvoer te bekijken:

Get-ClusterAffinityRule -Name SQL -Cluster Cluster1

Name    RuleType        Groups        Enabled
----    -----------     -------       -------
SQL     DifferentNode   {SQL1, SQL2}     1

Scenario 2

Stel dat u een Azure Stack HCI stretched cluster met twee sites (foutdomeinen). U hebt twee domeincontrollers die u op afzonderlijke sites wilt houden. Als u een regel voor anti-affiniteit met als regeltype gebruikt, blijven deze DifferentFaultDomain domeincontrollers altijd op verschillende sites. De voorbeeldopdrachten hiervoor zijn:

New-ClusterAffinityRule -Name DC -Ruletype DifferentFaultDomain -Cluster Cluster1

Add-ClusterGroupToAffinityRule -Groups DC1,DC2 –Name DC -Cluster Cluster1

Set-ClusterAffinityRule -Name DC -Enabled 1 -Cluster Cluster1

Als u deze regel wilt zien en hoe deze is geconfigureerd, gebruikt u Get-ClusterAffinityRule de cmdlet om de uitvoer te bekijken:

Get-ClusterAffinityRule -Name DC -Cluster Cluster1

Name    RuleType                Groups        Enabled
----    --------                -------       -------
DC      DifferentFaultDomain    {DC1, DC2}       1

Voorbeelden van gecombineerde regels

Door affiniteit en anti-affiniteitsregels te combineren, kunt u eenvoudig verschillende VM-combinaties configureren in een cluster met meerdere locaties. In dit scenario heeft elke site drie VM's: SQL Server (SQL), webserver (WEB) en domeincontroller (DC). Voor elk van de combinaties kunt u affiniteitsregels gebruiken met SameFaultDomain om ze allemaal op dezelfde site te houden. U kunt ook de domeincontrollers voor elke site instellen met anti-affiniteitsregels en de domeincontroller-VM's op afzonderlijke DifferentFaultDomain sites houden, zoals hieronder wordt weergegeven:

New-ClusterAffinityRule -Name Site1Trio -Ruletype SameFaultDomain -Cluster Cluster1

New-ClusterAffinityRule -Name Site2Trio -Ruletype SameFaultDomain -Cluster Cluster1

New-ClusterAffinityRule -Name TrioApart -Ruletype DifferentFaultDomain -Cluster Cluster1

Add-ClusterGroupToAffinityRule -Groups SQL1,WEB1,DC1 –Name Site1Trio -Cluster Cluster1

Add-ClusterGroupToAffinityRule -Groups SQL2,WEB2,DC2 –Name Site2Trio -Cluster Cluster1

Add-ClusterGroupToAffinityRule -Groups DC1,DC2 –Name TrioApart -Cluster Cluster1

Set-ClusterAffinityRule -Name Site1Trio -Enabled 1 -Cluster Cluster1

Set-ClusterAffinityRule -Name Site2Trio -Enabled 1 -Cluster Cluster1

Set-ClusterAffinityRule -Name TrioApart -Enabled 1 -Cluster Cluster1

Als u de regels wilt zien en wilt zien hoe ze zijn geconfigureerd, gebruikt u de cmdlet zonder de schakelknop en ziet u alle regels die zijn gemaakt Get-ClusterAffinityRule-Name en de uitvoer ervan.

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

Storage affiniteitsregels

U kunt ook een VM en de VHDX op een Cluster Shared Volume (CSV) op hetzelfde clusterknooppunt houden. Dit voorkomt dat ER CSV-omleiding plaatsvindt, waardoor het starten of stoppen van een VM kan worden vertraagd. Rekening houdend met het gecombineerde affiniteits- en anti-affiniteitsscenario dat eerder is gebruikt, kunt u de SQL-VM en de Cluster Shared Volume op hetzelfde clusterknooppunt houden. Gebruik de volgende opdrachten om dit te doen:

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

Als u deze regels wilt zien en hoe ze zijn geconfigureerd, gebruikt u de Get-ClusterAffinityRule cmdlet zonder de schakelknop -Name en bekijkt u de uitvoer.

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

Volgende stappen

Meer informatie over het beheren van uw VM's. Zie VM's op Azure Stack HCI beheren met Windows-beheercentrum.