Dela via


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.

Skärmen Virtuella datorer

  1. I Windows Admin Center hem, under Alla anslutningar, väljer du den server eller det kluster som du vill skapa VM-regeln för.
  2. Under Verktyg väljer du Inställningar.
  3. Under Inställningar väljer du Tillhörighetsregler och sedan Skapa regel under Tillhörighetsregler.
  4. Under Regelnamn anger du ett namn för regeln.
  5. 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.
  6. 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.
  7. När du är klar väljer du Skapa regel.
  8. 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 SameNodedu 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.