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.
- Selecteer Windows startpagina van het beheercentrum onder Alle verbindingen de server of het cluster voor wie u de VM-regel wilt maken.
- Selecteer onder Extrade optie Instellingen.
- Selecteer Instellingen,selecteer Affiniteitsregelsen selecteer vervolgens Regel maken onder Affiniteitsregels.
- Voer onder Regelnaameen naam in voor de regel.
- 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.
- 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.
- Wanneer u klaar bent, klikt u op Regel maken.
- 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.
