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.
- W Windows Admin Center domu w obszarze Wszystkie połączenia wybierz serwer lub klaster, dla którego chcesz utworzyć regułę maszyny wirtualnej.
- W obszarze Narzędzia wybierz pozycję Ustawienia.
- W obszarze Ustawienia wybierz pozycję Reguły koligacji, a następnie wybierz pozycję Utwórz regułę w obszarze Reguły koligacji.
- W obszarze Nazwa reguły wprowadź nazwę reguły.
- 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.
- 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.
- Po zakończeniu wybierz pozycję Utwórz regułę.
- 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 SameFaultDomain
metody 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ą SameNode
polecenia 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.