Skapa server-och plats tillhörighets regler för virtuella datorerCreate server and site affinity rules for VMs

Gäller för Azure Stack HCI, version 20H2Applies to Azure Stack HCI, version 20H2

Med hjälp av antingen Windows administrations Center eller Windows PowerShell kan du enkelt skapa tillhörighets-och skydds regler för dina virtuella datorer i ett kluster.Using either Windows Admin Center or Windows PowerShell, you can easily create affinity and anti-affinity rules for your virtual machines (VMs) in a cluster.

Tillhörighet är en regel som upprättar en relation mellan två eller flera resurs grupper eller roller, till exempel virtuella datorer, för att hålla dem tillsammans på samma server, kluster eller plats.Affinity is a rule that establishes a relationship between two or more resource groups or roles, such as virtual machines (VMs), to keep them together on the same server, cluster, or site. Anti-tillhörighet är motsatt i att den används för att hålla de angivna virtuella datorerna eller resurs grupperna åtskilda från varandra, till exempel två domänkontrollanter som placerats på separata servrar eller på separata platser för haveri beredskap.Anti-affinity is the opposite in that it is used to keep the specified VMs or resource groups apart from each other, such as two domain controllers placed on separate servers or in separate sites for disaster recovery.

Tillhörighets-och skydds regler används på samma sätt som Azure använder Tillgänglighetszoner.Affinity and anti-affinity rules are used similarly to the way Azure uses Availability Zones. I Azure kan du konfigurera Tillgänglighetszoner att behålla virtuella datorer i separata zoner och bort från varandra eller i samma zon med varandra.In Azure, you can configure Availability Zones to keep VMs in separate zones and away from each other or in the same zone with each other.

Med hjälp av tillhörighets-och tillhörighets regler, skulle alla klustrade virtuella datorer stanna kvar i samma klusternod eller förhindras från att kombineras i samma klusternod.Using affinity and anti-affinity rules, any clustered VM would either stay in the same cluster node or be prevented from being together in the same cluster node. På så sätt är det enda sättet att flytta en virtuell dator från en nod att göra den manuellt.In this way, the only way to move a VM out of a node would be to do it manually. Du kan också hålla virtuella datorer tillsammans med sin egen lagring, till exempel den klusterdelad volym (CSV) som dess VHDX finns på.You can also keep VMs together with its own storage, such as the Cluster Shared Volume (CSV) that its VHDX resides on.

Genom att kombinera tillhörighets-och skydds regler kan du också konfigurera ett utsträckt kluster på två platser och hålla dina virtuella datorer på den plats som de måste vara i.Combining affinity and anti-affinity rules, you can also configure a stretched cluster across two sites and keep your VMs in the site they need to be in.

Använda administrations Center för WindowsUsing Windows Admin Center

Du kan skapa grundläggande tillhörighets-och skydds regler med hjälp av administrations Center för Windows.You can create basic affinity and anti-affinity rules using Windows Admin Center.

Skärm för virtuella datorer

  1. Välj den server eller det kluster som du vill skapa VM-regeln för under alla anslutningari Windows administrations Center.In Windows Admin Center home, under All connections, select the server or cluster you want to create the VM rule for.
  2. Under verktygväljer du Inställningar.Under Tools, select Settings.
  3. Välj tillhörighets reglerunder Inställningaroch välj sedan Skapa regel under tillhörighets regler.Under Settings, select Affinity rules, then select Create rule under Affinity rules.
  4. Under regel namnanger du ett namn för regeln.Under Rule name, enter a name for your rule.
  5. Under Regeltyp väljer du antingen tillsammans (samma server) eller olika (olika servrar) för att placera dina virtuella datorer på samma server eller på olika servrar.Under Rule type, select either Together (same server) or Apart (different servers) to place your VMs on the same server or on different servers.
  6. Under gäller förväljer du de virtuella datorer som regeln ska gälla för.Under Applies to, select the VMs that this rule will apply to. Använd knappen Lägg till för att lägga till fler virtuella datorer i regeln.Use the Add button to add more VMs to the rule.
  7. När du är färdig klickar du på Skapa regel.When finished, click Create rule.
  8. Om du vill ta bort en regel markerar du den och klickar på ta bort regel.To delete a rule, simply select it and click Delete rule.

Använda Windows PowerShellUsing Windows PowerShell

Du kan skapa mer komplexa regler med hjälp av Windows PowerShell än Windows administrations Center.You can create more complex rules using Windows PowerShell than using Windows Admin Center. Normalt ställer du in reglerna från en fjärrdator i stället för på en värd server i ett kluster.Typically, you set up your rules from a remote computer, rather than on a host server in a cluster. Den här fjärrdatorn kallas för hanterings dator.This remote computer is called the management computer.

När du kör Windows PowerShell-kommandon från en hanterings dator inkluderar du -Name -Cluster parametern eller med namnet på det kluster som du hanterar.When running Windows PowerShell commands from a management computer, include the -Name or -Cluster parameter with the name of the cluster you are managing. Om det är tillämpligt måste du också ange det fullständigt kvalificerade domän namnet (FQDN) när du använder -ComputerName parametern för en servernodIf applicable, you will also need to specify the fully qualified domain name (FQDN) when using the -ComputerName parameter for a server node

Nya PowerShell-cmdlettarNew PowerShell cmdlets

Använd följande nya PowerShell-cmdletar för att skapa tillhörighets regler för kluster:To create affinity rules for clusters, use the following new PowerShell cmdlets:

New-ClusterAffinityRuleNew-ClusterAffinityRule

New-ClusterAffinityRule Cmdleten används för att skapa nya regler.The New-ClusterAffinityRule cmdlet is used to create new rules. Med det här kommandot anger du namnet på regeln samt vilken typ av regel det är, där:With this command you would specify the name of the rule as well as the type of rule it is, where:

-Name är namnet på regeln-Name is the name of the rule

-RuleType värden är SameFaultDomain | SameNode | DifferentFaultDomain | DifferentNode-RuleType values are SameFaultDomain | SameNode | DifferentFaultDomain | DifferentNode

Exempel:Example:

New-ClusterAffinityRule -Name -RuleType SameFaultDomain -Cluster Cluster1

Set-ClusterAffinityRuleSet-ClusterAffinityRule

Set-ClusterAffinityRule Cmdleten används för att aktivera eller inaktivera en regel där:The Set-ClusterAffinityRule cmdlet is used to enable or disable a rule, where:

-Name är namnet på den regel som ska aktive ras eller inaktive ras-Name is the name of the rule to enable or disable

-Enabled | Disabled aktiverar eller inaktiverar regeln-Enabled | Disabled enables or disables the rule

Exempel:Example:

Set-ClusterAffinityRule -Name -Enabled -Cluster Cluster1

Get-ClusterAffinityRuleGet-ClusterAffinityRule

Get-ClusterAffinityRule Cmdleten används för att visa den angivna regeln och vilken typ den är.The Get-ClusterAffinityRule cmdlet is used to display the specified rule and what type it is. Om -Name inte anges visas alla regler i listan.If -Name is not specified, it will list all rules.

Exempel:Example:

Get-ClusterAffinityRule -Name -Cluster Cluster1

Add-ClusterGroupToAffinityRuleAdd-ClusterGroupToAffinityRule

Add-ClusterGroupToAffinityRule Cmdleten används för att lägga till en virtuell dator roll eller grupp namn i en speciell tillhörighets regel där:The Add-ClusterGroupToAffinityRule cmdlet is used to add a VM role or group name to a specific affinity rule, where:

-Groups är namnet på den grupp eller roll som ska läggas till i regeln-Groups is the name of the group or role to add to the rule

-Name är namnet på den regel som ska läggas till-Name is the name of the rule to add to

Exempel:Example:

Add-ClusterGroupToAffinityRule -Groups -Name -Cluster Cluster1

Add-ClusterSharedVolumeToAffinityRuleAdd-ClusterSharedVolumeToAffinityRule

Add-ClusterSharedVolumeToAffinityRule Tillåter att dina virtuella datorer hålls tillsammans med KLUSTERDELAD volym VHDX-tjänsten finns där:The Add-ClusterSharedVolumeToAffinityRule allows your VMs to stay together with the Cluster Shared Volume the VHDX resides on, where:

-ClusterSharedVolumes är den eller de CSV-diskar som du vill lägga till i regeln-ClusterSharedVolumes is the CSV disk(s) you wish to add to the rule

-Name är namnet på den regel som ska läggas till-Name is the name of rule to add to

Exempel:Example:

Add-ClusterSharedVolumeToAffinityRule  -ClusterSharedVolumes -Name -Cluster Cluster1

Remove-ClusterAffinityRuleRemove-ClusterAffinityRule

Den Remove-ClusterAffinityRule angivna regeln tas bort, där -Name är namnet på regeln.The Remove-ClusterAffinityRule deletes the specified rule, where -Name is the name of the rule.

Exempel:Example:

Remove-ClusterAffinityRule -Name -Cluster Cluster1

Remove-ClusterGroupFromAffinityRuleRemove-ClusterGroupFromAffinityRule

Remove-ClusterGroupFromAffinityRule Tar bort en virtuell dator grupp eller roll från en speciell regel, men inaktiverar eller tar inte bort regeln, där:The Remove-ClusterGroupFromAffinityRule removes a VM group or role from a specific rule but does not disable or delete the rule, where:

-Name är namnet på regeln-Name is the name of the rule

-Groups är de grupper eller roller som du vill ta bort från regeln-Groups are the groups or roles you wish to remove from the rule

Exempel:Example:

Remove-ClusterGroupFromAffinityRule -Name -Groups -Cluster Cluster1

Remove-ClusterSharedVolumeFromAffinityRuleRemove-ClusterSharedVolumeFromAffinityRule

Remove-ClusterSharedVolumeFromAffinityRule Cmdleten används för att ta bort klusterdelade volymer från en speciell regel, men inaktiverar eller tar inte bort regeln, där:The Remove-ClusterSharedVolumeFromAffinityRule cmdlet is used to remove the Cluster Shared Volumes from a specific rule but does not disable or delete the rule, where:

-ClusterSharedVolumes är den eller de CSV-diskar som du vill ta bort från regeln-ClusterSharedVolumes is the CSV disk(s) you want to remove from the rule

-Name är namnet på den regel som ska läggas till-Name is the name of the rule to add to

Exempel:Example:

Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes -Name -Cluster Cluster1

Befintliga PowerShell-cmdletarExisting PowerShell cmdlets

Med ankomsten för de nya cmdletarna lade vi även till ytterligare nya växlar till några befintliga cmdletar.With the advent of the new cmdlets, we also added additional new switches to a few existing cmdlets.

Move-ClusterGroupMove-ClusterGroup

Den nya -IgnoreAffinityRule växeln ignorerar regeln och flyttar den klustrade resurs gruppen till en annan klusternod.The new -IgnoreAffinityRule switch ignores the rule and moves the clustered resource group to another cluster node. Mer information om den här cmdleten finns i Move-ClusterGroup.For more information on this cmdlet, see Move-ClusterGroup.

Exempel:Example:

Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Anteckning

Om en flytt regel är giltig (stöds), kommer alla grupper och roller som påverkas också att flyttas.If a move rule is valid (supported), all groups and roles that are affected will also move. Om en virtuell dator flyttas kan det vara en överträdelse av en regel som inte behövs samtidigt, använder du -IgnoreAffinityRule växeln för att tillåta att flytten sker.If a VM move will knowingly violate a rule yet it is needed on a one-time temporary basis, use the -IgnoreAffinityRule switch to allow the move to occur. I det här fallet visas en överträdelse varning för den virtuella datorn.In this case, a violation warning for the VM will be displayed. Du kan sedan aktivera regeln igen om det behövs.You can then enable the rule back as necessary.

Start-ClusterGroupStart-ClusterGroup

Den nya -IgnoreAffinityRule växeln ignorerar regeln och tar den klustrade resurs gruppen online på den aktuella platsen.The new -IgnoreAffinityRule switch ignores the rule and brings the clustered resource group online in its current location. Mer information om den här cmdleten finns i Start-ClusterGroup.For more information on this cmdlet, see Start-ClusterGroup.

Exempel:Example:

Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Exempel på tillhörighets reglerAffinity rule examples

Tillhörighets regler är "tillsammans"-regler som håller resurser på samma server, kluster eller plats.Affinity rules are "together" rules that keep resources on the same server, cluster, or site. Här följer några vanliga scenarier för att skapa tillhörighets regler.Here are a few common scenarios for setting up affinity rules.

Scenario 1Scenario 1

Anta att du har en SQL Server VM och en virtuell webb server.Suppose you have a SQL Server VM and a Web Server VM. Dessa två virtuella datorer måste alltid finnas kvar på samma plats, men behöver inte nödvändigt vis finnas på samma klusternod på platsen.These two VMs need to always remain in the same site but do not necessarily need to be on the same cluster node in the site. SameFaultDomainDet är möjligt att använda, som du ser nedan:Using SameFaultDomain, this is possible, as shown below:

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 visa utdata:To see this rule and how it is configured, use the Get-ClusterAffinityRule cmdlet to see the output:

Get-ClusterAffinityRule -Name WebData -Cluster Cluster1

Name        RuleType          Groups        Enabled
----        ---------         ------        -------
WebData     SameFaultDomain   {SQL1, WEB1}     1

Scenario 2Scenario 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ändigt vis på samma plats.Let's use the same scenario above except specify that the VMs must reside on the same cluster node but not necessarily in the same site. Med hjälp av SameNode kan du ange följande:Using SameNode, you can set this as follows:

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 en regel och hur den är konfigurerad använder du Get-ClusterAffinityRule cmdleten för att visa utdata:To see the rule and how it is configured, use the Get-ClusterAffinityRule cmdlet to see the output:

Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1

Name    RuleType    Groups        Enabled
----    --------    ------        -------
DC      SameNode    {SQL1, WEB1}     1

Exempel på skydds regler för tillhörighetAnti-affinity rule examples

Regler för skydd mot tillhörighet är "separera" regler som separerar resurser och placerar dem på olika servrar, kluster eller platser.Anti-affinity rules are "apart" rules that separate resources and place them on different servers, clusters, or sites.

Scenario 1Scenario 1

Du har två virtuella datorer som kör SQL Server på samma Azure Stack HCI-kluster för flera platser.You have two VMs each running SQL Server on the same Azure Stack HCI multi-site cluster. Varje virtuell dator använder mycket minne, CPU och lagrings resurser.Each VM utilizes a lot of memory, CPU, and storage resources. Om två slutar på samma nod kan detta orsaka prestanda problem med en eller båda när de konkurrerar om minnes-, CPU-och lagrings cykler.If the two end up on the same node, this can cause performance issues with one or both as they compete for memory, CPU, and storage cycles. Om du använder en regel för skydd mot tillhörighet med DifferentNode som regeltyp kommer de virtuella datorerna alltid att finnas kvar på olika klusternoder.Using an anti-affinity rule with DifferentNode as the rule type, these VMs will always stay on different cluster nodes.

Exempel kommandona för detta är:The example commands for this would be:

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 en regel och hur den är konfigurerad använder du Get-ClusterAffinityRule cmdleten för att visa utdata:To see the rule and how it is configured, use the Get-ClusterAffinityRule cmdlet to see the output:

Get-ClusterAffinityRule -Name SQL -Cluster Cluster1

Name    RuleType        Groups        Enabled
----    -----------     -------       -------
SQL     DifferentNode   {SQL1, SQL2}     1

Scenario 2Scenario 2

Anta att du har ett Azure Stack HCI-ambitiöst kluster med två platser (fel domäner).Let's say you have an Azure Stack HCI stretched cluster with two sites (fault domains). Du har två domänkontrollanter som du vill behålla på separata platser.You have two domain controllers you wish to keep in separate sites. Om du använder en regel för skydd mot tillhörighet med DifferentFaultDomain som regeltyp, kommer dessa domänkontrollanter alltid att finnas kvar på olika platser.Using an anti-affinity rule with DifferentFaultDomain as a rule type, these domain controllers will always stay in different sites. Exempel kommandona för detta är:The example commands for this would be:

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 visa utdata:To see this rule and how it is configured, use the Get-ClusterAffinityRule cmdlet to see the output:

Get-ClusterAffinityRule -Name DC -Cluster Cluster1

Name    RuleType                Groups        Enabled
----    --------                -------       -------
DC      DifferentFaultDomain    {DC1, DC2}       1

Kombinerade regel exempelCombined rule examples

Genom att kombinera tillhörighets-och skydds regler kan du enkelt konfigurera olika kombinationer av virtuella datorer i ett kluster med flera platser.Combining affinity and anti-affinity rules, you can easily configure various VM combinations across a multi-site cluster. I det här scenariot har varje plats tre virtuella datorer: SQL Server (SQL), webb server (webb) och domänkontrollant (DC).In this scenario, each site has three VMs: SQL Server (SQL), Web Server (WEB), and domain controller (DC). För var och en av kombinationerna kan du använda tillhörighets regler för SameFaultDomain att behålla alla på samma plats.For each of the combinations, you can use affinity rules with SameFaultDomain to keep them all in the same site. Du kan också ställa in domän kontrol Lanterna för varje plats med skydds regler och DifferentFaultDomain Se till att de virtuella datorerna för domänkontrollanten på separata platser visas nedan:You can also set the domain controllers for each site with anti-affinity rules and DifferentFaultDomain to keep the domain controller VMs in separate sites as shown below:

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 Get-ClusterAffinityRule cmdleten utan -Name växeln och du kan se alla regler som skapats och deras utdata.To see the rules and how they are configured, use the Get-ClusterAffinityRule cmdlet without the -Name switch and you can see all rules created and their output.

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

Lagrings tillhörighets reglerStorage affinity rules

Du kan också behålla en virtuell dator och dess VHDX på en klusterdelad volym (CSV) på samma klusternod.You can also keep a VM and its VHDX on a Cluster Shared Volume (CSV) on the same cluster node. Detta skulle göra att CSV-omdirigering sker, vilket kan göra att en virtuell dator startar eller stoppas.This would keep CSV redirection from occurring, which can slow down the starting or stopping of a VM. Med hänsyn till det kombinerade tillhörighets-och antitillhörighets scenariot tidigare kan du behålla den virtuella SQL-datorn och klusterdelad volym på samma klusternod.Taking into account the combined affinity and anti-affinity scenario previously, you can keep the SQL VM and the Cluster Shared Volume on the same cluster node. Det gör du genom att använda följande kommandon:To do that, use the following commands:

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 de här reglerna och hur de är konfigurerade använder du Get-ClusterAffinityRule cmdleten utan växeln-Name och visar utdata.To see these rules and how they are configured, use the Get-ClusterAffinityRule cmdlet without the -Name switch and view the output.

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 stegNext steps

Lär dig hur du hanterar dina virtuella datorer.Learn how to manage your VMs. Se Hantera virtuella datorer på Azure Stack HCI med hjälp av Windows administrations Center.See Manage VMs on Azure Stack HCI using Windows Admin Center.