Skapa regler för server- och platstillhörighet för virtuella datorer
Gäller för: Azure Stack HCI, version 23H2 och 22H2
Med antingen Windows Admin Center eller Windows PowerShell kan du enkelt skapa tillhörighets- och tillhörighetsregler för dina virtuella datorer i ett kluster.
Anteckning
Det rekommenderade sättet att skapa och hantera virtuella datorer på Azure Stack HCI 23H2 är att använda Azure Arc-kontrollplanet. Använd den mekanism som beskrivs nedan för att endast hantera dina virtuella datorer om du behöver funktioner som inte är tillgängliga på virtuella Azure Arc-datorer.
Tillhörighet är en regel som upprättar en relation mellan två eller flera resursgrupper eller roller, till exempel virtuella datorer för att hålla ihop dem på samma server, kluster eller plats. Antitillhörighet är motsatsen eftersom den används för att hålla de angivna virtuella datorerna eller resursgrupperna åtskilda från varandra, till exempel två domänkontrollanter som placeras på separata servrar eller på separata platser för haveriberedskap.
Tillhörighets- och antitillhörighetsregler används på samma sätt som Azure använder Tillgänglighetszoner. I Azure kan du konfigurera Tillgänglighetszoner att hålla virtuella datorer i separata zoner och borta från varandra eller i samma zon med varandra.
Med hjälp av tillhörighets- och antitillhörighetsregler skulle alla klustrade virtuella datorer antingen stanna kvar i samma klusternod eller hindras från att vara tillsammans i samma klusternod. På så sätt är det enda sättet att flytta en virtuell dator från en nod att göra det manuellt. Du kan också hålla ihop virtuella datorer med sin egen lagring, till exempel den klusterdelade volymen (CSV) som dess VHDX finns på.
Genom att kombinera tillhörighets- och antitillhörighetsregler kan du också konfigurera ett sträckt kluster över två platser och behålla dina virtuella datorer på den plats där de behöver vara.
Använda Windows Admin Center
Du kan skapa grundläggande tillhörighets- och antitillhörighetsregler med hjälp av Windows Admin Center.
- I Windows Admin Center hem, under Alla anslutningar, väljer du den server eller det kluster som du vill skapa VM-regeln för.
- Under Verktyg väljer du Inställningar.
- Under Inställningar väljer du Tillhörighetsregler och sedan Skapa regel under Tillhörighetsregler.
- Under Regelnamn anger du ett namn för regeln.
- Under Regeltyp väljer du antingen Tillsammans (samma server) eller Apart (olika servrar) för att placera dina virtuella datorer på samma server eller på olika servrar.
- Under Gäller för väljer du de virtuella datorer som den här regeln gäller för. Använd knappen Lägg till för att lägga till fler virtuella datorer i regeln.
- När du är klar väljer du Skapa regel.
- Om du vill ta bort en regel markerar du den och väljer Ta bort regel.
Använda Windows PowerShell
Du kan skapa mer komplexa regler med Windows PowerShell än att använda Windows Admin Center. Vanligtvis konfigurerar du dina regler från en fjärrdator i stället för på en värdserver i ett kluster. Den här fjärrdatorn kallas för hanteringsdatorn.
När du kör Windows PowerShell kommandon från en hanteringsdator ska du inkludera parametern -Name
eller -Cluster
med namnet på klustret som du hanterar. Om tillämpligt måste du också ange det fullständigt kvalificerade domännamnet (FQDN) när du använder parametern -ComputerName
för en servernod
Nya PowerShell-cmdlettar
Om du vill skapa tillhörighetsregler för kluster använder du följande nya PowerShell-cmdletar:
New-ClusterAffinityRule
Cmdleten New-ClusterAffinityRule
används för att skapa nya regler. Med det här kommandot anger du namnet på regeln och vilken typ av regel den är, där:
-Name
är namnet på regeln
-RuleType
värdena är SameFaultDomain
| SameNode
| DifferentFaultDomain
| DifferentNode
Exempel:
New-ClusterAffinityRule -Name Rule1 -RuleType SameFaultDomain
Set-ClusterAffinityRule
Cmdleten Set-ClusterAffinityRule
används för att aktivera eller inaktivera en regel, där:
-Name
är namnet på regeln som ska aktiveras eller inaktiveras
-Enabled
|
Disabled
aktiverar eller inaktiverar regeln
Exempel:
Set-ClusterAffinityRule -Name Rule1 -Enabled
Get-ClusterAffinityRule
Cmdleten Get-ClusterAffinityRule
används för att visa den angivna regeln och vilken typ den är. Om -Name
inte anges visas alla regler.
Exempel:
Get-ClusterAffinityRule -Name Rule1
Add-ClusterGroupToAffinityRule
Cmdleten Add-ClusterGroupToAffinityRule
används för att lägga till en VM-roll eller ett gruppnamn i en specifik tillhörighetsregel, där:
-Groups
är namnet på den grupp eller roll som ska läggas till i regeln
-Name
är namnet på regeln som ska läggas till
Exempel:
Add-ClusterGroupToAffinityRule -Groups Group1 -Name Rule1
Add-ClusterSharedVolumeToAffinityRule
Add-ClusterSharedVolumeToAffinityRule
Gör att dina virtuella datorer kan hålla ihop med den klusterdelade volym som VHDX finns på, där:
-ClusterSharedVolumes
är de CSV-diskar som du vill lägga till i regeln
-Name
är namnet på regeln som ska läggas till
Exempel:
Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1
Remove-ClusterAffinityRule
Tar Remove-ClusterAffinityRule
bort den angivna regeln, där -Name
är namnet på regeln.
Exempel:
Remove-ClusterAffinityRule -Name Rule1
Remove-ClusterGroupFromAffinityRule
Tar Remove-ClusterGroupFromAffinityRule
bort en VM-grupp eller roll från en specifik regel men inaktiverar eller tar inte bort regeln, där:
-Name
är namnet på regeln
-Groups
är de grupper eller roller som du vill ta bort från regeln
Exempel:
Remove-ClusterGroupFromAffinityRule -Name Rule1 -Groups Group1
Remove-ClusterSharedVolumeFromAffinityRule
Cmdleten Remove-ClusterSharedVolumeFromAffinityRule
används för att ta bort klusterdelade volymer från en specifik regel men inaktiverar eller tar inte bort regeln, där:
-ClusterSharedVolumes
är de CSV-diskar som du vill ta bort från regeln
-Name
är namnet på regeln som ska läggas till
Exempel:
Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1
Befintliga PowerShell-cmdletar
I och med tillkomsten av de nya cmdletarna har vi även lagt till extra nya växlar till några befintliga cmdletar.
Move-ClusterGroup
Den nya -IgnoreAffinityRule
växeln ignorerar regeln och flyttar den klustrade resursgruppen till en annan klusternod. Mer information om den här cmdleten finns i Move-ClusterGroup.
Exempel:
Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1
Anteckning
Om en flyttregel är giltig (stöds) flyttas även alla grupper och roller som påverkas. Om en VM-flytt medvetet bryter mot en regel, men den behövs tillfälligt, använder du växeln -IgnoreAffinityRule
för att tillåta att flytten sker. I det här fallet visas en överträdelsevarning för den virtuella datorn. Du kan sedan aktivera regeln igen efter behov.
Start-ClusterGroup
Den nya -IgnoreAffinityRule
växeln ignorerar regeln och kopplar den klustrade resursgruppen online på den aktuella platsen. Mer information om den här cmdleten finns i Start-ClusterGroup.
Exempel:
Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1
Exempel på tillhörighetsregel
Tillhörighetsregler är "tillsammans"-regler som håller resurser på samma server, kluster eller plats. Här är några vanliga scenarier för att konfigurera tillhörighetsregler.
Scenario 1
Anta att du har en SQL Server virtuell dator och en virtuell webbserverdator. Dessa två virtuella datorer måste alltid finnas kvar på samma plats, men behöver inte nödvändigtvis finnas på samma klusternod på platsen. Med hjälp av SameFaultDomain
är detta möjligt enligt nedan:
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
Om du vill se den här regeln och hur den är konfigurerad använder du cmdleten Get-ClusterAffinityRule
för att se utdata:
Get-ClusterAffinityRule -Name WebData -Cluster Cluster1
Name RuleType Groups Enabled
---- --------- ------ -------
WebData SameFaultDomain {SQL1, WEB1} 1
Scenario 2
Vi använder samma scenario ovan förutom att ange att de virtuella datorerna måste finnas på samma klusternod. Med kan SameNode
du ange detta på följande sätt:
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
Om du vill se regeln och hur den är konfigurerad använder du cmdleten Get-ClusterAffinityRule
för att se utdata:
Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1
Name RuleType Groups Enabled
---- -------- ------ -------
DC SameNode {SQL1, WEB1} 1
Exempel på regler mot tillhörighet
Regler för tillhörighetsutjämning är "åtskilda" regler som separerar resurser och placerar dem på olika servrar, kluster eller platser.
Scenario 1
Du har två virtuella datorer som var och en kör SQL Server på samma Azure Stack HCI-kluster för flera platser. Varje virtuell dator använder mycket minne, cpu och lagringsresurser. Om de två hamnar på samma nod kan detta orsaka prestandaproblem med en eller båda eftersom de konkurrerar om minnes-, CPU- och lagringscykler. Med hjälp av en antitillhörighetsregel med DifferentNode
som regeltyp finns de här virtuella datorerna alltid kvar på olika klusternoder.
Exempelkommandona för detta är:
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
Om du vill se regeln och hur den är konfigurerad använder du cmdleten Get-ClusterAffinityRule
för att se utdata:
Get-ClusterAffinityRule -Name SQL -Cluster Cluster1
Name RuleType Groups Enabled
---- ----------- ------- -------
SQL DifferentNode {SQL1, SQL2} 1
Scenario 2
Anta att du har ett Azure Stack HCI-stretchkluster med två platser (feldomäner). Du har två domänkontrollanter som du vill behålla på separata platser. Med hjälp av en antitillhörighetsregel med DifferentFaultDomain
som regeltyp finns dessa domänkontrollanter alltid kvar på olika platser. Exempelkommandona för detta är:
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
Om du vill se den här regeln och hur den är konfigurerad använder du cmdleten Get-ClusterAffinityRule
för att se utdata:
Get-ClusterAffinityRule -Name DC -Cluster Cluster1
Name RuleType Groups Enabled
---- -------- ------- -------
DC DifferentFaultDomain {DC1, DC2} 1
Exempel på kombinerade regler
Genom att kombinera tillhörighets- och antitillhörighetsregler kan du enkelt konfigurera olika VM-kombinationer i ett kluster med flera platser. I det här scenariot har varje plats tre virtuella datorer: SQL Server (SQL), Webbserver (WEB) och domänkontrollant (DC). För var och en av kombinationerna kan du använda tillhörighetsregler med SameFaultDomain
för att behålla dem på samma webbplats. Du kan också ange domänkontrollanterna för varje plats med regler för tillhörighetsutjämning och DifferentFaultDomain
behålla de virtuella domänkontrollantdatorerna på separata platser enligt nedan:
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
Om du vill se reglerna och hur de är konfigurerade använder du cmdleten Get-ClusterAffinityRule
utan växeln -Name
och du kan se alla regler som skapats och deras utdata.
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
Regler för lagringstillhörighet
Du kan också behålla en virtuell dator och dess VHDX på en klusterdelad volym (CSV) på samma klusternod. Detta skulle hindra CSV-omdirigering från att ske, vilket kan göra det långsammare att starta eller stoppa en virtuell dator. Med hänsyn till det kombinerade tillhörighets- och antitillhörighetsscenariot tidigare kan du behålla den virtuella SQL-datorn och den klusterdelade volymen på samma klusternod. Det gör du genom att använda följande kommandon:
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 du vill se dessa regler och hur de är konfigurerade använder du cmdleten Get-ClusterAffinityRule
utan växeln -Name och visar utdata.
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
Nästa steg
Lär dig hur du hanterar dina virtuella datorer. Se Hantera virtuella datorer på Azure Stack HCI med hjälp av Windows Admin Center.