Vytvoření pravidel spřažení serverů a lokalit pro virtuální počítače

Platí pro: Azure Stack HCI verze 23H2 a 22H2

Pomocí Windows Admin Center nebo Windows PowerShell můžete snadno vytvořit pravidla spřažení a ochrany proti spřažení pro virtuální počítače v clusteru.

Poznámka

Doporučeným způsobem vytváření a správy virtuálních počítačů v Azure Stack HCI 23H2 je použití řídicí roviny Azure Arc. Níže popsaný mechanismus použijte ke správě virtuálních počítačů jenom v případě, že potřebujete funkce, které nejsou na virtuálních počítačích Azure Arc dostupné.

Spřažení je pravidlo, které vytváří vztah mezi dvěma nebo více skupinami prostředků nebo rolemi, jako jsou virtuální počítače, a udržuje je pohromadě na stejném serveru, clusteru nebo lokalitě. Spřažení je opačné v tom, že se používá k tomu, aby se zadané virtuální počítače nebo skupiny prostředků od sebe odlišily, například dva řadiče domény umístěné na samostatných serverech nebo v samostatných lokalitách pro účely zotavení po havárii.

Pravidla spřažení a pravidla proti spřažení se používají podobně jako azure Zóny dostupnosti. V Azure můžete nakonfigurovat Zóny dostupnosti tak, aby virtuální počítače zůstaly v samostatných zónách a daleko od sebe nebo ve stejné zóně.

Při použití pravidel spřažení a ochrany proti spřažení by všechny clusterované virtuální počítače buď zůstaly ve stejném uzlu clusteru, nebo by se zabránilo, aby byly společně ve stejném uzlu clusteru. Jediným způsobem, jak přesunout virtuální počítač z uzlu, je provést to ručně. Virtuální počítače můžete také udržovat pohromadě s vlastním úložištěm, jako je sdílený svazek clusteru (CSV), na kterém se nachází jeho VHDX.

Kombinací pravidel spřažení a pravidel proti spřažení můžete také nakonfigurovat roztažený cluster mezi dvěma lokalitami a zachovat virtuální počítače v lokalitě, ve které potřebují být.

Použití Windows Admin Center

Pomocí Windows Admin Center můžete vytvořit základní pravidla spřažení a pravidla proti spřažení.

Obrazovka virtuálních počítačů

  1. V Windows Admin Center domovské stránce vyberte v části Všechna připojení server nebo cluster, pro který chcete vytvořit pravidlo virtuálního počítače.
  2. V části Nástroje vyberte Nastavení.
  3. V části Nastavení vyberte Pravidla spřažení a pak v části Pravidla spřažení vyberte Vytvořit pravidlo.
  4. V části Název pravidla zadejte název pravidla.
  5. V části Typ pravidla vyberte Možnost Společně (stejný server) nebo Od sebe (různé servery), aby se virtuální počítače umístily na stejný server nebo na jiné servery.
  6. V části Platí pro vyberte virtuální počítače, na které se toto pravidlo vztahuje. Pomocí tlačítka Přidat přidejte do pravidla další virtuální počítače.
  7. Po dokončení vyberte Vytvořit pravidlo.
  8. Pokud chcete pravidlo odstranit, jednoduše ho vyberte a vyberte Odstranit pravidlo.

Použití Windows PowerShellu

Pomocí Windows PowerShell můžete vytvářet složitější pravidla než pomocí Windows Admin Center. Obvykle se pravidla nastavují ze vzdáleného počítače, a ne na hostitelském serveru v clusteru. Tento vzdálený počítač se nazývá počítač pro správu.

Při spouštění Windows PowerShell příkazů z počítače pro správu zahrňte -Name parametr nebo -Cluster s názvem clusteru, který spravujete. Pokud je to možné, musíte při použití parametru -ComputerName pro uzel serveru zadat také plně kvalifikovaný název domény (FQDN).

Nové rutiny PowerShellu

Pokud chcete vytvořit pravidla spřažení pro clustery, použijte následující nové rutiny PowerShellu:

New-ClusterAffinityRule

Rutina New-ClusterAffinityRule slouží k vytvoření nových pravidel. Pomocí tohoto příkazu byste zadali název pravidla a typ pravidla, o který se jedná, kde:

-Name je název pravidla.

-RuleType hodnoty jsou SameFaultDomain | SameNode | DifferentFaultDomain | DifferentNode

Příklad:

New-ClusterAffinityRule -Name Rule1 -RuleType SameFaultDomain

Set-ClusterAffinityRule

Rutina Set-ClusterAffinityRule slouží k povolení nebo zakázání pravidla, kde:

-Name je název pravidla, které chcete povolit nebo zakázat.

-Enabled | Disabled povolí nebo zakáže pravidlo.

Příklad:

Set-ClusterAffinityRule -Name Rule1 -Enabled

Get-ClusterAffinityRule

Rutina Get-ClusterAffinityRule slouží k zobrazení zadaného pravidla a jeho typu. Pokud -Name není zadaný, zobrazí se všechna pravidla.

Příklad:

Get-ClusterAffinityRule -Name Rule1

Add-ClusterGroupToAffinityRule

Rutina Add-ClusterGroupToAffinityRule slouží k přidání názvu role nebo skupiny virtuálního počítače do konkrétního pravidla spřažení, kde:

-Groups je název skupiny nebo role, která se má přidat do pravidla.

-Name je název pravidla, do které se má přidat.

Příklad:

Add-ClusterGroupToAffinityRule -Groups Group1 -Name Rule1

Add-ClusterSharedVolumeToAffinityRule

Umožňuje Add-ClusterSharedVolumeToAffinityRule virtuálním počítačům zůstat pohromadě se sdíleným svazkem clusteru, na kterém se nachází VHDX, kde:

-ClusterSharedVolumes jsou disky sdíleného svazku clusteru, které chcete přidat do pravidla.

-Name je název pravidla, do které se má přidat.

Příklad:

Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Remove-ClusterAffinityRule

Odstraní Remove-ClusterAffinityRule zadané pravidlo, kde -Name je název pravidla.

Příklad:

Remove-ClusterAffinityRule -Name Rule1

Remove-ClusterGroupFromAffinityRule

Odebere Remove-ClusterGroupFromAffinityRule skupinu virtuálních počítačů nebo roli z konkrétního pravidla, ale pravidlo nezakáže ani neodstraní, kde:

-Name je název pravidla.

-Groups jsou skupiny nebo role, které chcete z pravidla odebrat.

Příklad:

Remove-ClusterGroupFromAffinityRule -Name Rule1 -Groups Group1

Remove-ClusterSharedVolumeFromAffinityRule

Rutina Remove-ClusterSharedVolumeFromAffinityRule slouží k odebrání sdílených svazků clusteru z konkrétního pravidla, ale nezakáže ani neodstraní pravidlo, kde:

-ClusterSharedVolumes jsou disky sdíleného svazku clusteru, které chcete z pravidla odebrat.

-Name je název pravidla, do které se má přidat.

Příklad:

Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Existující rutiny PowerShellu

S nástupem nových rutin jsme také přidali další nové přepínače do několika existujících rutin.

Move-ClusterGroup

Nový -IgnoreAffinityRule přepínač pravidlo ignoruje a přesune skupinu prostředků clusteru do jiného uzlu clusteru. Další informace o této rutině najdete v tématu Move-ClusterGroup.

Příklad:

Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Poznámka

Pokud je pravidlo přesunutí platné (podporované), přesunou se také všechny ovlivněné skupiny a role. Pokud přesun virtuálního počítače bude vědomým porušením pravidla, ale přesto je potřeba ho jednorázově dočasně provést, pomocí -IgnoreAffinityRule přepínače ho povolte. V takovém případě se zobrazí upozornění na porušení pro virtuální počítač. Podle potřeby pak můžete pravidlo znovu povolit.

Start-ClusterGroup

Nový -IgnoreAffinityRule přepínač pravidlo ignoruje a přepne clusterovou skupinu prostředků do režimu online v aktuálním umístění. Další informace o této rutině najdete v tématu Start-ClusterGroup.

Příklad:

Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Příklady pravidel spřažení

Pravidla spřažení jsou pravidla "společně", která udržují prostředky na stejném serveru, clusteru nebo lokalitě. Tady je několik běžných scénářů pro nastavení pravidel spřažení.

Scénář 1

Předpokládejme, že máte SQL Server virtuální počítač a virtuální počítač s webovým serverem. Tyto dva virtuální počítače musí vždy zůstat ve stejné lokalitě, ale nemusí být nutně na stejném uzlu clusteru v lokalitě. Pomocí SameFaultDomainje to možné, jak je znázorněno níže:

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

Pokud chcete zobrazit toto pravidlo a způsob jeho konfigurace, použijte k zobrazení výstupu Get-ClusterAffinityRule rutiny :

Get-ClusterAffinityRule -Name WebData -Cluster Cluster1

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

Scénář 2

Použijeme stejný výše uvedený scénář s tím rozdílem, že virtuální počítače musí být umístěné ve stejném uzlu clusteru. Pomocí SameNodemůžete toto nastavení nastavit takto:

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

Pokud chcete zobrazit pravidlo a způsob jeho konfigurace, použijte rutinu Get-ClusterAffinityRule k zobrazení výstupu:

Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1

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

Příklady pravidel spřažení

Pravidla ochrany proti spřažení jsou "oddělená" pravidla, která oddělují prostředky a umisťují je na různé servery, clustery nebo lokality.

Scénář 1

Máte dva virtuální počítače, z nichž každý běží SQL Server ve stejném clusteru Azure Stack HCI s více lokalitami. Každý virtuální počítač využívá velké množství prostředků paměti, procesoru a úložiště. Pokud tyto dva uzly skončí na stejném uzlu, může to způsobit problémy s výkonem jednoho nebo obou uzlů, protože soupeří o cykly paměti, procesoru a úložiště. Pokud jako typ pravidla použijete pravidlo DifferentNode proti spřažení, zůstanou tyto virtuální počítače vždy na různých uzlech clusteru.

Ukázkové příkazy pro tento postup by byly:

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

Pokud chcete zobrazit pravidlo a způsob jeho konfigurace, použijte rutinu Get-ClusterAffinityRule k zobrazení výstupu:

Get-ClusterAffinityRule -Name SQL -Cluster Cluster1

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

Scénář 2

Řekněme, že máte roztažený cluster Azure Stack HCI se dvěma lokalitami (doménami selhání). Máte dva řadiče domény, které chcete uchovávat v samostatných lokalitách. Pokud jako typ pravidla použijete pravidlo DifferentFaultDomain proti spřažení, zůstanou tyto řadiče domény vždy v různých lokalitách. Ukázkové příkazy pro tento postup by byly:

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

Pokud chcete zobrazit toto pravidlo a způsob jeho konfigurace, použijte rutinu Get-ClusterAffinityRule k zobrazení výstupu:

Get-ClusterAffinityRule -Name DC -Cluster Cluster1

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

Příklady kombinovaných pravidel

Kombinací pravidel spřažení a ochrany proti spřažení můžete snadno nakonfigurovat různé kombinace virtuálních počítačů v clusteru s více lokalitami. V tomto scénáři má každá lokalita tři virtuální počítače: SQL Server (SQL), Web Server (WEB) a řadič domény (DC). Pro každou z těchto kombinací můžete použít pravidla spřažení, SameFaultDomain abyste je měli všechny na stejném webu. Můžete také nastavit řadiče domény pro každou lokalitu pomocí pravidel ochrany proti spřažení a DifferentFaultDomain ponechat virtuální počítače řadiče domény v samostatných lokalitách, jak je znázorněno níže:

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

Pokud chcete zobrazit pravidla a způsob jejich konfigurace, použijte rutinu Get-ClusterAffinityRule bez -Name přepínače a uvidíte všechna vytvořená pravidla a jejich výstup.

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

Pravidla spřažení úložiště

Virtuální počítač a jeho VHDX můžete také ponechat na sdíleném svazku clusteru (CSV) na stejném uzlu clusteru. Tím by se zabránilo přesměrování sdíleného svazku clusteru, což může zpomalit spouštění nebo zastavování virtuálního počítače. Vzhledem k předchozímu scénáři kombinovaného spřažení a ochrany proti přidružení můžete virtuální počítač SQL a sdílený svazek clusteru ponechat na stejném uzlu clusteru. K tomu použijte následující příkazy:

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

Pokud chcete zobrazit tato pravidla a způsob jejich konfigurace, použijte rutinu Get-ClusterAffinityRule bez přepínače -Name a zobrazte výstup.

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

Další kroky

Zjistěte, jak spravovat virtuální počítače. Viz Správa virtuálních počítačů ve službě Azure Stack HCI pomocí Windows Admin Center.