Server- en siteaffiniteitsregels maken voor VM's
Van toepassing op: Azure Stack HCI, versies 23H2 en 22H2
Met Windows Admin Center of Windows PowerShell kunt u eenvoudig affiniteits- en antiaffiniteitsregels maken voor uw virtuele machines (VM's) in een cluster.
Notitie
De aanbevolen manier om VM's te maken en beheren in Azure Stack HCI 23H2 is met behulp van het Azure Arc-besturingsvlak. Gebruik het mechanisme dat hieronder wordt beschreven 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 virtuele machines (VM's), om deze bij elkaar te houden op dezelfde server, cluster of site. Antiaffiniteit is het tegenovergestelde omdat deze wordt gebruikt om de opgegeven VM's of resourcegroepen van elkaar gescheiden te houden, zoals twee domeincontrollers die op afzonderlijke servers of in afzonderlijke sites voor herstel na noodgevallen worden geplaatst.
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 uit de buurt van elkaar of in dezelfde zone met elkaar te houden.
Met behulp van affiniteits- en antiaffiniteitsregels blijft elke geclusterde VM in hetzelfde clusterknooppunt of wordt voorkomen dat deze zich samen in hetzelfde clusterknooppunt bevinden. Op deze manier is de enige manier om een virtuele machine uit een knooppunt te verplaatsen door dit handmatig te doen. U kunt vm's ook bij elkaar houden met een eigen opslag, zoals het CLUSTER Shared Volume (CSV) waarop de VHDX zich bevindt.
Door affiniteits- en antiaffiniteitsregels te combineren, kunt u ook een stretched cluster op twee sites configureren en uw VM's op de site houden waarin ze zich moeten bevinden.
Windows Admin Center gebruiken
U kunt basisaffiniteits- en antiaffiniteitsregels maken met behulp van Windows Admin Center.
- Selecteer in Windows Admin Center startpagina onder Alle verbindingen de server of het cluster waarvoor u de VM-regel wilt maken.
- Selecteer onder Extrade optie Instellingen.
- Selecteer onder Instellingende optie Affiniteitsregels en selecteer vervolgens Regel maken onder Affiniteitsregels.
- Voer onder Regelnaam een naam in voor de regel.
- Selecteer onder Regeltype de optie Samen (dezelfde server) of Apart (verschillende servers) om uw VM's op dezelfde server of op verschillende servers te plaatsen.
- Selecteer onder Van toepassing op de VM's waarop deze regel van toepassing is. Gebruik de knop Toevoegen om meer VM's aan de regel toe te voegen.
- 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 behulp van Windows PowerShell dan met Windows Admin Center. 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 opdrachten uitvoert vanaf een beheercomputer, neemt u de -Name
parameter of -Cluster
op met de naam van het cluster dat u beheert. Indien van toepassing moet u ook de FQDN (Fully Qualified Domain Name) opgeven wanneer u de -ComputerName
parameter voor een serverknooppunt 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 u wilt in- of uitschakelen
-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
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 aan de regel moet worden toegevoegd
-Name
is de naam van de regel waaraan moet worden toegevoegd
Voorbeeld:
Add-ClusterGroupToAffinityRule -Groups Group1 -Name Rule1
Add-ClusterSharedVolumeToAffinityRule
Met Add-ClusterSharedVolumeToAffinityRule
de kunnen uw VM's samen blijven met het gedeelde clustervolume waarop de VHDX zich bevindt, waarbij:
-ClusterSharedVolumes
is de CSV-schijf(en) die u aan de regel wilt toevoegen
-Name
is de naam van de regel waaraan moet worden toegevoegd
Voorbeeld:
Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1
Remove-ClusterAffinityRule
De Remove-ClusterAffinityRule
verwijdert de opgegeven regel, waarbij -Name
de naam van de regel is.
Voorbeeld:
Remove-ClusterAffinityRule -Name Rule1
Remove-ClusterGroupFromAffinityRule
De Remove-ClusterGroupFromAffinityRule
verwijdert een VM-groep of -rol uit een specifieke regel, maar de regel wordt 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 uit een specifieke regel te verwijderen, maar de regel wordt niet uitgeschakeld of verwijderd, waarbij:
-ClusterSharedVolumes
is de CSV-schijf(en) die u uit de regel wilt verwijderen
-Name
is de naam van de regel waaraan moet worden toegevoegd
Voorbeeld:
Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1
Bestaande PowerShell-cmdlets
Met de komst van de nieuwe cmdlets hebben we ook extra nieuwe schakelopties toegevoegd aan enkele bestaande cmdlets.
Move-ClusterGroup
De nieuwe -IgnoreAffinityRule
schakeloptie negeert de regel en verplaatst de geclusterde resourcegroep naar een ander clusterknooppunt. Zie Move-ClusterGroup voor meer informatie over deze cmdlet.
Voorbeeld:
Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1
Notitie
Als een verplaatsingsregel geldig is (ondersteund), worden alle betrokken groepen en rollen ook verplaatst. Als een VM-verplaatsing bewust een regel schendt, maar deze eenmalig tijdelijk nodig is, gebruikt u de -IgnoreAffinityRule
schakeloptie om de verplaatsing toe te staan. In dit geval wordt een waarschuwing voor schending van de VM weergegeven. U kunt de regel vervolgens zo nodig weer inschakelen.
Start-ClusterGroup
De nieuwe -IgnoreAffinityRule
schakeloptie negeert de regel en brengt de geclusterde resourcegroep 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 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 SQL Server VM 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 bevinden. Met behulp van SameFaultDomain
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 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
We gebruiken hetzelfde scenario hierboven, behalve dat u opgeeft dat de VM's zich op hetzelfde clusterknooppunt moeten bevinden. Met behulp van 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 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 'aparte' regels waarmee resources worden gescheiden en op verschillende servers, clusters of sites worden geplaatst.
Scenario 1
U hebt twee VM's die elk SQL Server uitvoeren in hetzelfde Azure Stack HCI-cluster met meerdere sites. Elke VM maakt gebruik van veel geheugen, CPU en opslagresources. Als de twee op hetzelfde knooppunt terechtkomen, kan dit prestatieproblemen veroorzaken met een of beide, omdat ze concurreren om geheugen, CPU en opslagcycli. Als u een antiaffiniteitsregel gebruikt met DifferentNode
als regeltype, blijven deze 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 de Get-ClusterAffinityRule
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 hebt met twee sites (foutdomeinen). U hebt twee domeincontrollers die u op afzonderlijke sites wilt bewaren. Met behulp van een antiaffiniteitsregel met DifferentFaultDomain
als regeltype blijven deze 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 de Get-ClusterAffinityRule
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 antiaffiniteitsregels te combineren, kunt u eenvoudig verschillende VM-combinaties configureren in een cluster met meerdere sites. 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 antiaffiniteitsregels en DifferentFaultDomain
om de domeincontroller-VM's in afzonderlijke sites te 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 hoe deze zijn geconfigureerd, gebruikt u de Get-ClusterAffinityRule
cmdlet zonder de -Name
schakeloptie. U kunt alle gemaakte regels en de uitvoer ervan zien.
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
Regels voor opslagaffiniteit
U kunt ook een VM en de bijbehorende VHDX op een gedeeld clustervolume (CSV) op hetzelfde clusterknooppunt houden. Dit voorkomt dat CSV-omleiding plaatsvindt, waardoor het starten of stoppen van een VM kan worden vertraagd. Rekening houdend met het scenario voor gecombineerde affiniteit en anti-affiniteit, kunt u de SQL-VM en het gedeelde clustervolume op hetzelfde clusterknooppunt houden. 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 wilt zien en hoe ze zijn geconfigureerd, gebruikt u de Get-ClusterAffinityRule
cmdlet zonder de schakeloptie -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 beheren in Azure Stack HCI met behulp van Windows Admin Center.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub Issues geleidelijk uitfaseren als het feedbackmechanisme voor inhoud. Het wordt vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor