Udostępnij za pośrednictwem


Tworzenie reguł koligacji serwera i lokacji dla maszyn wirtualnych

Dotyczy: Azure Stack HCI, wersje 23H2 i 22H2

Za pomocą Windows Admin Center lub Windows PowerShell można łatwo tworzyć reguły koligacji i koligacji dla maszyn wirtualnych w klastrze.

Uwaga

Zalecanym sposobem tworzenia maszyn wirtualnych i zarządzania nimi w usłudze Azure Stack HCI 23H2 jest użycie płaszczyzny sterowania usługi Azure Arc. Użyj mechanizmu opisanego poniżej, aby zarządzać maszynami wirtualnymi tylko wtedy, gdy potrzebujesz funkcji, które nie są dostępne na maszynach wirtualnych usługi Azure Arc.

Koligacja to reguła, która ustanawia relację między co najmniej dwiema grupami zasobów lub rolami, takimi jak maszyny wirtualne, aby zachować je razem na tym samym serwerze, klastrze lub lokacji. Anty-koligacja jest odwrotna w tym, że służy do przechowywania określonych maszyn wirtualnych lub grup zasobów poza sobą, takich jak dwa kontrolery domeny umieszczone na oddzielnych serwerach lub w oddzielnych lokacjach na potrzeby odzyskiwania po awarii.

Reguły koligacji i koligacji są używane podobnie do sposobu, w jaki platforma Azure używa Strefy dostępności. Na platformie Azure można skonfigurować Strefy dostępności, aby zachować maszyny wirtualne w oddzielnych strefach i z dala od siebie lub w tej samej strefie ze sobą.

Korzystając z reguł koligacji i koligacji, każda klastrowana maszyna wirtualna pozostanie w tym samym węźle klastra lub nie będzie ze sobą w tym samym węźle klastra. W ten sposób jedynym sposobem na przeniesienie maszyny wirtualnej z węzła będzie ręczne wykonanie tej czynności. Maszyny wirtualne można również przechowywać razem z własnym magazynem, takim jak udostępniony wolumin klastra (CSV), na którym znajduje się jego dysk VHDX.

Łączenie reguł koligacji i koligacji, można również skonfigurować rozproszony klaster w dwóch lokacjach i zachować maszyny wirtualne w lokacji, w której muszą znajdować się.

Korzystanie z Windows Admin Center

Podstawowe reguły koligacji i koligacji można tworzyć przy użyciu Windows Admin Center.

Ekran maszyn wirtualnych

  1. W Windows Admin Center domu w obszarze Wszystkie połączenia wybierz serwer lub klaster, dla którego chcesz utworzyć regułę maszyny wirtualnej.
  2. W obszarze Narzędzia wybierz pozycję Ustawienia.
  3. W obszarze Ustawienia wybierz pozycję Reguły koligacji, a następnie wybierz pozycję Utwórz regułę w obszarze Reguły koligacji.
  4. W obszarze Nazwa reguły wprowadź nazwę reguły.
  5. W obszarze Typ reguły wybierz pozycję Razem (ten sam serwer) lub Apart (różne serwery), aby umieścić maszyny wirtualne na tym samym serwerze lub na różnych serwerach.
  6. W obszarze Dotyczy wybierz maszyny wirtualne, do których ma zastosowanie ta reguła. Użyj przycisku Dodaj , aby dodać więcej maszyn wirtualnych do reguły.
  7. Po zakończeniu wybierz pozycję Utwórz regułę.
  8. Aby usunąć regułę, po prostu wybierz ją i wybierz pozycję Usuń regułę.

Za pomocą środowiska Windows PowerShell

Bardziej złożone reguły można tworzyć przy użyciu Windows PowerShell niż przy użyciu Windows Admin Center. Zazwyczaj reguły są konfigurowane z komputera zdalnego, a nie na serwerze hosta w klastrze. Ten komputer zdalny jest nazywany komputerem zarządzania.

Podczas uruchamiania Windows PowerShell poleceń z komputera zarządzania dołącz -Name parametr or -Cluster o nazwie klastra, którym zarządzasz. Jeśli ma to zastosowanie, należy również określić w pełni kwalifikowaną nazwę domeny (FQDN) podczas używania parametru -ComputerName dla węzła serwera

Nowe polecenia cmdlet programu PowerShell

Aby utworzyć reguły koligacji dla klastrów, użyj następujących nowych poleceń cmdlet programu PowerShell:

New-ClusterAffinityRule

Polecenie New-ClusterAffinityRule cmdlet służy do tworzenia nowych reguł. Za pomocą tego polecenia należy określić nazwę reguły i typ reguły, w której:

-Name to nazwa reguły

-RuleType wartości to SameFaultDomain | SameNode | DifferentFaultDomain | DifferentNode

Przykład:

New-ClusterAffinityRule -Name Rule1 -RuleType SameFaultDomain

Set-ClusterAffinityRule

Polecenie cmdlet służy do włączania Set-ClusterAffinityRule lub wyłączania reguły, w której:

-Name to nazwa reguły, która ma być włączona lub wyłączona

-Enabled | Disabled włącza lub wyłącza regułę

Przykład:

Set-ClusterAffinityRule -Name Rule1 -Enabled

Get-ClusterAffinityRule

Polecenie Get-ClusterAffinityRule cmdlet służy do wyświetlania określonej reguły i typu. Jeśli -Name nie zostanie określony, wyświetli listę wszystkich reguł.

Przykład:

Get-ClusterAffinityRule -Name Rule1

Add-ClusterGroupToAffinityRule

Polecenie Add-ClusterGroupToAffinityRule cmdlet służy do dodawania roli lub grupy maszyny wirtualnej do określonej reguły koligacji, gdzie:

-Groups to nazwa grupy lub roli, która ma zostać dodana do reguły

-Name to nazwa reguły do dodania do

Przykład:

Add-ClusterGroupToAffinityRule -Groups Group1 -Name Rule1

Add-ClusterSharedVolumeToAffinityRule

Umożliwia Add-ClusterSharedVolumeToAffinityRule to maszynom wirtualnym pozostanie razem z udostępnionym woluminem klastra, w którym znajduje się dysk VHDX:

-ClusterSharedVolumes to dyski CSV, które chcesz dodać do reguły

-Name to nazwa reguły do dodania do

Przykład:

Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Remove-ClusterAffinityRule

Element Remove-ClusterAffinityRule usuwa określoną regułę, gdzie -Name jest nazwą reguły.

Przykład:

Remove-ClusterAffinityRule -Name Rule1

Remove-ClusterGroupFromAffinityRule

Element Remove-ClusterGroupFromAffinityRule usuwa grupę lub rolę maszyny wirtualnej z określonej reguły, ale nie wyłącza ani nie usuwa reguły, gdzie:

-Name to nazwa reguły

-Groups to grupy lub role, które chcesz usunąć z reguły

Przykład:

Remove-ClusterGroupFromAffinityRule -Name Rule1 -Groups Group1

Remove-ClusterSharedVolumeFromAffinityRule

Polecenie Remove-ClusterSharedVolumeFromAffinityRule cmdlet służy do usuwania udostępnionych woluminów klastra z określonej reguły, ale nie wyłącza ani nie usuwa reguły, gdzie:

-ClusterSharedVolumes to dyski CSV, które chcesz usunąć z reguły

-Name to nazwa reguły do dodania do

Przykład:

Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Istniejące polecenia cmdlet programu PowerShell

Wraz z pojawieniem się nowych poleceń cmdlet dodaliśmy również dodatkowe nowe przełączniki do kilku istniejących poleceń cmdlet.

Move-ClusterGroup

Nowy -IgnoreAffinityRule przełącznik ignoruje regułę i przenosi grupę zasobów klastra do innego węzła klastra. Aby uzyskać więcej informacji na temat tego polecenia cmdlet, zobacz Move-ClusterGroup.

Przykład:

Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Uwaga

Jeśli reguła przenoszenia jest prawidłowa (obsługiwana), wszystkie grupy i role, których dotyczy problem, również zostaną przeniesione. Jeśli przeniesienie maszyny wirtualnej będzie świadomie naruszać regułę, ale jest ona potrzebna jednorazowo, użyj przełącznika -IgnoreAffinityRule , aby zezwolić na przejście. W takim przypadku zostanie wyświetlone ostrzeżenie o naruszeniu maszyny wirtualnej. Następnie możesz włączyć regułę z powrotem zgodnie z potrzebami.

Start-ClusterGroup

Nowy -IgnoreAffinityRule przełącznik ignoruje regułę i przenosi grupę zasobów klastrowanych w tryb online w bieżącej lokalizacji. Aby uzyskać więcej informacji na temat tego polecenia cmdlet, zobacz Start-ClusterGroup.

Przykład:

Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Przykłady reguł koligacji

Reguły koligacji to reguły "razem", które przechowują zasoby na tym samym serwerze, klastrze lub lokacji. Poniżej przedstawiono kilka typowych scenariuszy konfigurowania reguł koligacji.

Scenariusz 1

Załóżmy, że masz maszynę wirtualną SQL Server i maszynę wirtualną serwera sieci Web. Te dwie maszyny wirtualne muszą zawsze pozostać w tej samej lokacji, ale nie muszą znajdować się w tym samym węźle klastra w lokacji. Przy użyciu SameFaultDomainmetody jest to możliwe, jak pokazano poniżej:

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

Aby wyświetlić tę regułę i sposób jej konfigurowania, użyj Get-ClusterAffinityRule polecenia cmdlet , aby wyświetlić dane wyjściowe:

Get-ClusterAffinityRule -Name WebData -Cluster Cluster1

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

Scenariusz 2

Użyjmy tego samego scenariusza powyżej, z wyjątkiem określenia, że maszyny wirtualne muszą znajdować się w tym samym węźle klastra. Za pomocą SameNodepolecenia można ustawić następującą wartość:

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

Aby wyświetlić regułę i sposób jej konfigurowania, użyj Get-ClusterAffinityRule polecenia cmdlet , aby wyświetlić dane wyjściowe:

Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1

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

Przykłady reguł koligacji

Reguły koligacji są regułami "od siebie", które oddzielają zasoby i umieszczają je na różnych serwerach, klastrach lub lokacjach.

Scenariusz 1

Masz dwie maszyny wirtualne z systemem SQL Server w tym samym klastrze z wieloma lokacjami usługi Azure Stack HCI. Każda maszyna wirtualna korzysta z dużej ilości pamięci, procesora CPU i zasobów magazynu. Jeśli oba elementy kończą się na tym samym węźle, może to spowodować problemy z wydajnością jednego lub obu, ponieważ rywalizują o pamięć, procesor i cykle magazynowania. Przy użyciu reguły koligacji z DifferentNode typem reguły te maszyny wirtualne będą zawsze znajdować się w różnych węzłach klastra.

Przykładowe polecenia dla tego polecenia to:

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

Aby wyświetlić regułę i sposób jej konfigurowania, użyj Get-ClusterAffinityRule polecenia cmdlet , aby wyświetlić dane wyjściowe:

Get-ClusterAffinityRule -Name SQL -Cluster Cluster1

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

Scenariusz 2

Załóżmy, że masz rozproszony klaster usługi Azure Stack HCI z dwiema lokacjami (domenami błędów). Masz dwa kontrolery domeny, które mają być utrzymywane w oddzielnych lokacjach. Przy użyciu reguły koligacji z DifferentFaultDomain typem reguły te kontrolery domeny zawsze pozostaną w różnych lokacjach. Przykładowe polecenia dla tego polecenia to:

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

Aby wyświetlić tę regułę i sposób jej konfigurowania, użyj Get-ClusterAffinityRule polecenia cmdlet , aby wyświetlić dane wyjściowe:

Get-ClusterAffinityRule -Name DC -Cluster Cluster1

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

Przykłady połączonych reguł

Łączenie reguł koligacji i koligacji można łatwo skonfigurować różne kombinacje maszyn wirtualnych w klastrze z wieloma lokacjami. W tym scenariuszu każda lokacja ma trzy maszyny wirtualne: SQL Server (SQL), Web Server (WEB) i kontroler domeny (DC). Dla każdej kombinacji można użyć reguł koligacji z SameFaultDomain , aby zachować je wszystkie w tej samej witrynie. Można również ustawić kontrolery domeny dla każdej lokacji z regułami koligacji i DifferentFaultDomain zachować maszyny wirtualne kontrolera domeny w oddzielnych lokacjach, jak pokazano poniżej:

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

Aby wyświetlić reguły i sposób ich konfigurowania, użyj Get-ClusterAffinityRule polecenia cmdlet bez przełącznika -Name i zobaczysz wszystkie utworzone reguły i ich dane wyjściowe.

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

Reguły koligacji magazynu

Możesz również zachować maszynę wirtualną i jej dysk VHDX na udostępnionym woluminie klastra (CSV) w tym samym węźle klastra. Dzięki temu nastąpi przekierowanie woluminu CSV, co może spowolnić uruchamianie lub zatrzymywanie maszyny wirtualnej. Biorąc pod uwagę wcześniej połączony scenariusz koligacji i koligacji, można zachować maszynę wirtualną SQL i udostępniony wolumin klastra w tym samym węźle klastra. W tym celu użyj następujących poleceń:

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

Aby wyświetlić te reguły i sposób ich konfigurowania, użyj Get-ClusterAffinityRule polecenia cmdlet bez przełącznika -Name i wyświetl dane wyjściowe.

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

Następne kroki

Dowiedz się, jak zarządzać maszynami wirtualnymi. Zobacz Zarządzanie maszynami wirtualnymi w usłudze Azure Stack HCI przy użyciu Windows Admin Center.