Regels voor machine- en siteaffiniteit voor VM's maken
Van toepassing op: Azure Local 2311.2 en hoger
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 op Azure Local is met behulp 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 kun je een VM alleen handmatig uit een machine verplaatsen. 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.
- Onder Extra, selecteer Instellingen.
- Onder Instellingen, selecteer Affiniteitsregels, en selecteer daarna 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:
Nieuwe-ClusterAffinityregel
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
niet is opgegeven, worden alle regels weergegeven.
Voorbeeld:
Get-ClusterAffinityRule -Name Rule1
Voeg-ClusterGroepToeAanAffiniteitsRegel
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
Toevoegen-ClusterGedeeldVolumeAanAffiniteitRegel
Daardoor zorgt de Add-ClusterSharedVolumeToAffinityRule
ervoor dat uw VM's samen blijven met het gedeelde clustervolume waar de VHDX op staat, 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
Verwijder-ClusterGroepVanAffiniteitsregel
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
optie 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
Voer de Get-ClusterAffinityRule
cmdlet uit om deze regel en de configuratie ervan 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 deze SameNode
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 regels die resources scheiden en op verschillende computers, systemen of locaties 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. Door dit te doen, wordt CSV-omleiding voorkomen, wat kan leiden tot vertraging bij het starten of stoppen van een virtuele machine. 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
Om deze regels en hun configuratie te bekijken, gebruik de Get-ClusterAffinityRule
cmdlet zonder de -Name
parameter en bekijk 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.