Delen via


Regels voor machine- en siteaffiniteit voor VM's maken

Van toepassing op: Azure Local, versies 23H2 en 22H2

Met behulp van Windows Admin Center of Windows PowerShell kunt u eenvoudig affiniteits- en antiaffiniteitsregels maken voor virtuele machines (VM's) in uw lokale Azure-exemplaar.

Notitie

De aanbevolen manier om VM's te maken en beheren in Azure Local, versie 23H2, is het gebruik van het Azure Arc-besturingsvlak. Gebruik het hieronder beschreven mechanisme om uw VM's alleen te beheren als u functionaliteit nodig hebt die niet beschikbaar is in Azure Arc-VM's.

Affiniteit is een regel die een relatie tot stand brengt tussen twee of meer resourcegroepen of rollen, zoals VM's, om ze bij elkaar te houden op dezelfde computer, hetzelfde systeem of dezelfde site. Antiaffiniteit is het tegenovergestelde omdat deze wordt gebruikt om de opgegeven VM's of resourcegroepen gescheiden te houden, zoals twee domeincontrollers die op afzonderlijke computers zijn geplaatst of op afzonderlijke sites voor herstel na noodgevallen.

Affiniteits- en antiaffiniteitsregels worden op dezelfde manier gebruikt als in Azure Beschikbaarheidszones. In Azure kunt u Beschikbaarheidszones configureren om VM's in afzonderlijke zones en van elkaar af te houden of in dezelfde zone met elkaar te houden.

Met behulp van affiniteits- en antiaffiniteitsregels blijft elke geclusterde VIRTUELE machine op dezelfde computer staan of wordt voorkomen dat ze samen op dezelfde computer zijn. Op deze manier is de enige manier om een VIRTUELE machine uit een machine te verplaatsen, dit handmatig te doen. U kunt vm's ook bijeenhouden met een eigen opslag, zoals het CLUSTER Shared Volume (CSV) waarop de VHDX zich bevindt.

Windows Admin Center gebruiken

U kunt basisaffiniteits- en antiaffiniteitsregels maken met behulp van het Windows-beheercentrum.

Scherm Virtuele machines

  1. Selecteer in het windows-beheercentrum onder Alle verbindingen de computer of het systeem waarvoor u de VM-regel wilt maken.
  2. Selecteer Instellingen onder Extra.
  3. Selecteer onder Instellingen affiniteitsregels en selecteer vervolgens Regel maken onder Affiniteitsregels.
  4. Voer onder Regelnaam een naam in voor de regel.
  5. Selecteer onder Regeltype de optie Samen (dezelfde machine) of Uit elkaar (verschillende computers) om uw VM's op dezelfde computer of op verschillende computers te plaatsen.
  6. Selecteer onder Van toepassing op de VM's waarop deze regel van toepassing is. Gebruik de knop Toevoegen om meer VM's toe te voegen aan de regel.
  7. Wanneer u klaar bent, selecteert u Regel maken.
  8. Als u een regel wilt verwijderen, selecteert u deze en selecteert u Regel verwijderen.

Windows PowerShell gebruiken

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

Wanneer u Windows PowerShell-opdrachten uitvoert vanaf een beheercomputer, neemt u de -Name of -Cluster parameter op met de naam van het systeem dat u beheert. Indien van toepassing moet u ook de FQDN (Fully Qualified Domain Name) opgeven wanneer u de -ComputerName parameter voor een computer 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 Rule1 -RuleType SameFaultDomain

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 ingeschakeld of uitgeschakeld

-Enabled | Disabled schakelt de regel in of uit

Voorbeeld:

Set-ClusterAffinityRule -Name Rule1 -Enabled

Get-ClusterAffinityRule

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

Voorbeeld:

Get-ClusterAffinityRule -Name Rule1

Add-ClusterGroupToAffinityRule

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

-Groups is de naam van de groep of rol die u aan de regel wilt toevoegen.

-Name is de naam van de regel waaraan u wilt toevoegen.

Voorbeeld:

Add-ClusterGroupToAffinityRule -Groups Group1 -Name Rule1

Add-ClusterSharedVolumeToAffinityRule

Hierdoor Add-ClusterSharedVolumeToAffinityRule kunnen uw VM's bij elkaar blijven met het gedeelde clustervolume waarop de VHDX zich bevindt, waarbij:

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

-Name is de naam van de regel waaraan moet worden toegevoegd

Voorbeeld:

Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Remove-ClusterAffinityRule

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

Voorbeeld:

Remove-ClusterAffinityRule -Name Rule1

Remove-ClusterGroupFromAffinityRule

Hiermee Remove-ClusterGroupFromAffinityRule verwijdert u een VM-groep of -rol uit een specifieke regel, maar wordt de regel niet uitgeschakeld of verwijderd, waarbij:

-Name is de naam van de regel

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

Voorbeeld:

Remove-ClusterGroupFromAffinityRule -Name Rule1 -Groups Group1

Remove-ClusterSharedVolumeFromAffinityRule

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

-ClusterSharedVolumes is de CSV-schijf die u uit de regel wilt verwijderen.

-Name is de naam van de regel waaraan u wilt toevoegen.

Voorbeeld:

Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Bestaande PowerShell-cmdlets

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

Move-ClusterGroup

De nieuwe -IgnoreAffinityRule schakeloptie negeert de regel en verplaatst de clusterresourcegroep naar een andere computer. Zie Move-ClusterGroup voor meer informatie over deze cmdlet.

Voorbeeld:

Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Notitie

Als een verplaatsingsregel geldig is (ondersteund), worden ook alle groepen en rollen die worden beïnvloed, verplaatst. Als een VM-verplaatsing bewust een regel schendt, maar deze op tijdelijke basis nodig is, gebruikt u de -IgnoreAffinityRule schakeloptie om de verplaatsing toe te staan. In dit geval wordt een schendingswaarschuwing voor de VIRTUELE machine weergegeven. Vervolgens kunt u de regel zo nodig weer inschakelen.

Start-ClusterGroup

De nieuwe -IgnoreAffinityRule schakeloptie negeert de regel en brengt de clusterresourcegroep online op de huidige locatie. Zie Start-ClusterGroup voor meer informatie over deze cmdlet.

Voorbeeld:

Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Voorbeelden van affiniteitsregel

Affiniteitsregels zijn 'samen'-regels waarmee resources op dezelfde computer, hetzelfde systeem of dezelfde site worden bewaard. Hier volgen enkele veelvoorkomende scenario's voor het instellen van affiniteitsregels.

Scenario 1

Stel dat u een SQL Server-VM en een webserver-VM hebt. Deze twee VM's moeten altijd op dezelfde site blijven, maar hoeven niet noodzakelijkerwijs op dezelfde computer te staan. Als u dit gebruikt SameFaultDomain, is dit mogelijk, zoals 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 en hoe deze is geconfigureerd, gebruikt u de Get-ClusterAffinityRule 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 gebruiken, behalve dat de VM's zich op dezelfde computer moeten bevinden. Stel SameNodedeze als volgt in:

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 bekijken en hoe deze is geconfigureerd, gebruikt u de Get-ClusterAffinityRule cmdlet om de uitvoer te bekijken:

Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1

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

Voorbeelden van antiaffiniteitsregel

Antiaffiniteitsregels zijn 'apart'-regels die resources scheiden en op verschillende computers, systemen of sites plaatsen.

Scenario 1

U hebt twee VM's waarop SQL Server wordt uitgevoerd op hetzelfde lokale azure-systeem met meerdere sites. Elke VM maakt gebruik van veel geheugen, CPU en opslagbronnen. Als de twee zich op dezelfde computer bevinden, kan dit prestatieproblemen veroorzaken met een of beide omdat ze concurreren voor geheugen-, CPU- en opslagcycli. Met behulp van een antiaffiniteitsregel met DifferentNode als regeltype blijven deze VM's altijd op verschillende computers staan.

De voorbeeldopdrachten 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 bekijken en hoe deze is geconfigureerd, gebruikt u de Get-ClusterAffinityRule cmdlet om de uitvoer te bekijken:

Get-ClusterAffinityRule -Name SQL -Cluster Cluster1

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

Regels voor opslagaffiniteit

U kunt ook een virtuele machine en de bijbehorende VHDX behouden op een CLUSTER Shared Volume (CSV) op dezelfde computer. Als u dit doet, blijft csv-omleiding optreden, waardoor het starten of stoppen van een virtuele machine kan worden vertraagd. Rekening houdend met het gecombineerde affiniteits- en antiaffiniteitsscenario, kunt u de SQL-VM en het gedeelde clustervolume op dezelfde computer behouden. Gebruik hiervoor de volgende opdrachten:

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 en hoe deze zijn geconfigureerd, gebruikt u de Get-ClusterAffinityRule cmdlet zonder de -Name schakeloptie 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 beheren in Azure Local met behulp van het Windows-beheercentrum.