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.
- 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.
- Under verktygväljer du Inställningar.Under Tools, select Settings.
- 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.
- Under regel namnanger du ett namn för regeln.Under Rule name, enter a name for your rule.
- 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.
- 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.
- När du är färdig klickar du på Skapa regel.When finished, click Create rule.
- 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. SameFaultDomain
Det ä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.