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.
- Selecteer in het windows-beheercentrum onder Alle verbindingen de computer of het systeem waarvoor u de VM-regel wilt maken.
- Selecteer Instellingen onder Extra.
- Selecteer onder Instellingen affiniteitsregels en selecteer vervolgens Regel maken onder Affiniteitsregels.
- Voer onder Regelnaam een naam in voor de regel.
- 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.
- 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.
- Wanneer u klaar bent, selecteert u Regel maken.
- 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 SameNode
deze 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.