Skapa regler för server- och platstillhörighet för virtuella datorer
Gäller för: Azure Stack HCI, versionerna 21H2 och 20H2
Med antingen Windows Administrationscenter eller Windows PowerShell kan du enkelt skapa tillhörighets- och antitillhörighetsregler för dina virtuella datorer i ett kluster.
Tillhörighet är en regel som upprättar en relation mellan två eller flera resursgrupper eller roller, till exempel virtuella datorer (VM), för att hålla dem tillsammans på samma server, kluster eller plats. Antitillhörighet är det motsatta eftersom det 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 bort 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 förhindras 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 klusterdelad volym (CSV) som DESS VHDX finns på.
Genom att kombinera tillhörighets- och antitillhörighetsregler kan du också konfigurera ett stretchkluster på två platser och behålla dina virtuella datorer på den plats där de måste finnas.
Använda Windows Administrationscenter
Du kan skapa grundläggande tillhörighets- och antitillhörighetsregler med hjälp Windows Administrationscenter.
- I Windows Administrationscenter väljer duden server eller det kluster som du vill skapa VM-regeln för under Alla anslutningar.
- Under Verktygväljer du Inställningar.
- Under Inställningarväljer du Tillhörighetsregleroch sedan Skapa regel under Tillhörighetsregler.
- Under Regelnamnanger 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örväljer du de virtuella datorer som den här regeln ska gälla för. Använd knappen Lägg till för att lägga till fler virtuella datorer i regeln.
- När du är klar klickar du på Skapa regel.
- Om du vill ta bort en regel markerar du den och klickar på Ta bort regel.
Använda Windows PowerShell
Du kan skapa mer komplexa regler med Windows PowerShell än att använda Windows Administrationscenter. Vanligtvis ställer du in 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 Windows PowerShell kommandon från en hanteringsdator ska du inkludera -Name-Cluster parametern eller med namnet på det kluster som du hanterar. Om det är tillämpligt måste du också ange det fullständigt kvalificerade domännamnet (FQDN) när du använder -ComputerName parametern för en servernod
Nya PowerShell-cmdlettar
Om du vill skapa tillhörighetsregler för kluster använder du följande nya PowerShell-cmdlets:
New-ClusterAffinityRule
New-ClusterAffinityRuleCmdleten används för att skapa nya regler. Med det här kommandot anger du namnet på regeln samt vilken typ av regel den är, där:
-Name är namnet på regeln
-RuleType värden är SameFaultDomain | SameNode | DifferentFaultDomain | DifferentNode
Exempel:
New-ClusterAffinityRule -Name -RuleType SameFaultDomain -Cluster Cluster1
Set-ClusterAffinityRule
Set-ClusterAffinityRuleCmdleten 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 -Enabled -Cluster Cluster1
Get-ClusterAffinityRule
Get-ClusterAffinityRuleCmdleten 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 -Cluster Cluster1
Add-ClusterGroupToAffinityRule
Add-ClusterGroupToAffinityRuleCmdleten används för att lägga till en VM-roll eller ett gruppnamn till 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 i
Exempel:
Add-ClusterGroupToAffinityRule -Groups -Name -Cluster Cluster1
Add-ClusterSharedVolumeToAffinityRule
Add-ClusterSharedVolumeToAffinityRulegör att dina virtuella datorer kan hålla ihop med klusterdelad volym 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 i
Exempel:
Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes -Name -Cluster Cluster1
Remove-ClusterAffinityRule
tar Remove-ClusterAffinityRule bort den angivna regeln, där är namnet på -Name regeln.
Exempel:
Remove-ClusterAffinityRule -Name -Cluster Cluster1
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 -Groups -Cluster Cluster1
Remove-ClusterSharedVolumeFromAffinityRule
Cmdleten används för att ta bort klusterdelade volymer från en specifik regel, men inaktiverar Remove-ClusterSharedVolumeFromAffinityRule 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 i
Exempel:
Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes -Name -Cluster Cluster1
Befintliga PowerShell-cmdlets
Med de nya cmdletarna har vi också lagt till ytterligare nya växlar till några befintliga cmdlets.
Move-ClusterGroup
Den nya -IgnoreAffinityRule växeln ignorerar regeln och flyttar den klustrade resursgruppen till en annan klusternod. Mer information om denna cmdlet 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 flytt av en virtuell dator avsiktligt bryter mot en regel, men den behövs tillfälligt en gång, använder du växeln för att -IgnoreAffinityRule 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 tar den klustrade resursgruppen online på den aktuella platsen. Mer information om denna cmdlet 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 SQL Server virtuell dator och en virtuell webbserver. Dessa två virtuella datorer måste alltid finnas kvar på samma plats, men de behöver inte nödvändigtvis finnas på samma klusternod på platsen. Med SameFaultDomain hjälp av är detta möjligt, som du ser 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 Get-ClusterAffinityRule cmdleten 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 men inte nödvändigtvis på samma plats. Med SameNode hjälp av kan 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 Get-ClusterAffinityRule cmdleten för att se utdata:
Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1
Name RuleType Groups Enabled
---- -------- ------ -------
DC SameNode {SQL1, WEB1} 1
Exempel på regler för skydd mot tillhörighet
Regler för skydd mot tillhörighet är "åtskilda" regler som separerar resurser och placerar dem på olika servrar, kluster eller platser.
Scenario 1
Du har två virtuella datorer som SQL Server på samma Azure Stack HCI kluster för flera webbplatser. 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 minne, CPU och lagringscykler. Om du använder en regel för skydd mot tillhörighet med som regeltyp finns DifferentNode 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 Get-ClusterAffinityRule cmdleten 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 utsträckt Azure Stack HCI kluster med två platser (feldomäner). Du har två domänkontrollanter som du vill behålla på olika platser. Om du använder en regel för skydd mot tillhörighet med som regeltyp stannar DifferentFaultDomain dessa domänkontrollanter alltid 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 Get-ClusterAffinityRule cmdleten 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 kombinationer av virtuella datorer 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 hålla dem alla på samma plats. Du kan också ange domänkontrollanterna för varje plats med antitillhörighetsregler och för att behålla domänkontrollantens virtuella datorer på separata platser DifferentFaultDomain 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 utan växeln så kan du se alla regler Get-ClusterAffinityRule som skapats och deras -Name 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
Storage tillhörighetsregler
Du kan också behålla en virtuell dator och dess VHDX på en klusterdelad volym (CSV) på samma klusternod. Detta skulle förhindra att CSV-omdirigering sker, vilket kan göra starten eller stoppet av en virtuell dator långsammare. Med hänsyn till det kombinerade tillhörighets- och antitillhörighetsscenariot tidigare kan du behålla den virtuella SQL klusterdelad volym datorn på samma klusternod. Det gör du med hjälp av 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 Get-ClusterAffinityRule cmdleten 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 Windows Administrationscenter.
