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í.
- 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.
- V části Nástroje vyberte Nastavení.
- V části Nastavení vyberte Pravidla spřažení a pak v části Pravidla spřažení vyberte Vytvořit pravidlo.
- V části Název pravidla zadejte název pravidla.
- 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.
- 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.
- Po dokončení vyberte Vytvořit pravidlo.
- 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í SameFaultDomain
je 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í SameNode
můž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.