Konfigurowanie modułu równoważenia obciążenia platformy Azure dla odbiornika sieci wirtualnej grupy dostępności — SQL Server na maszynach wirtualnych platformy Azure
Dotyczy: program SQL Server na maszynie wirtualnej platformy Azure
Napiwek
Istnieje wiele metod wdrażania grupy dostępności. Uprość wdrażanie i eliminuje konieczność korzystania z usługi Azure Load Balancer lub rozproszonej nazwy sieci (DNN) dla zawsze włączonej grupy dostępności, tworząc maszyny wirtualne programu SQL Server w wielu podsieciach w tej samej sieci wirtualnej platformy Azure. Jeśli grupa dostępności została już utworzona w jednej podsieci, możesz ją zmigrować do środowiska z wieloma podsieciami.
Na maszynach wirtualnych platformy Azure klastry używają modułu równoważenia obciążenia do przechowywania adresu IP, który musi znajdować się w jednym węźle klastra naraz. W tym rozwiązaniu moduł równoważenia obciążenia przechowuje adres IP odbiornika nazwy sieci wirtualnej (VNN) dla zawsze włączonej grupy dostępności, gdy maszyny wirtualne programu SQL Server znajdują się w jednej podsieci.
W tym artykule przedstawiono sposób konfigurowania modułu równoważenia obciążenia przy użyciu usługi Azure Load Balancer. Moduł równoważenia obciążenia kieruje ruch do odbiornika grupy dostępności za pomocą programu SQL Server na maszynach wirtualnych platformy Azure w celu zapewnienia wysokiej dostępności i odzyskiwania po awarii (HADR).
W przypadku alternatywnej opcji łączności dla klientów korzystających z programu SQL Server 2019 CU8 lub nowszego należy rozważyć odbiornik nazwy sieci rozproszonej (DNN). Odbiornik sieci rozproszonej oferuje uproszczoną konfigurację i ulepszony tryb failover.
Wymagania wstępne
Przed wykonaniem kroków opisanych w tym artykule należy mieć już następujące elementy:
- Podjęto decyzję, że usługa Azure Load Balancer jest odpowiednią opcją łączności dla grupy dostępności.
- Zainstalowano najnowszą wersję programu PowerShell.
Tworzenie modułu równoważenia obciążenia
Możesz utworzyć jeden z następujących typów modułów równoważenia obciążenia:
Wewnętrzny: dostęp do wewnętrznego modułu równoważenia obciążenia można uzyskać tylko z zasobów prywatnych, które są wewnętrzne do sieci. Podczas konfigurowania wewnętrznego modułu równoważenia obciążenia i jego reguł należy użyć tego samego adresu IP co odbiornik grupy dostępności dla adresu IP frontonu.
Zewnętrzne: zewnętrzny moduł równoważenia obciążenia może kierować ruch z publicznej do zasobów wewnętrznych. Podczas konfigurowania zewnętrznego modułu równoważenia obciążenia nie można użyć tego samego adresu IP co odbiornik grupy dostępności, ponieważ adres IP odbiornika nie może być publicznym adresem IP.
Aby użyć zewnętrznego modułu równoważenia obciążenia, logicznie przydziel adres IP w tej samej podsieci co grupa dostępności, która nie powoduje konfliktu z żadnym innym adresem IP. Użyj tego adresu jako adresu IP frontonu dla reguł równoważenia obciążenia.
Ważne
30 września 2025 r. jednostka SKU Podstawowa dla usługi Azure Load Balancer zostanie wycofana. Więcej informacji znajdziesz w oficjalnym ogłoszeniu. Jeśli obecnie używasz usługi Load Balancer w warstwie Podstawowa, przeprowadź uaktualnienie do usługa Load Balancer w warstwie Standardowa przed datą wycofania. Aby uzyskać wskazówki, zobacz Uaktualnianie modułu równoważenia obciążenia.
Aby utworzyć moduł równoważenia obciążenia:
W witrynie Azure Portal przejdź do grupy zasobów zawierającej maszyny wirtualne.
Wybierz Dodaj. Wyszukaj usługę Azure Marketplace pod kątem modułu równoważenia obciążenia. Wybierz pozycję Load Balancer.
Wybierz pozycję Utwórz.
Na karcie Podstawy na karcie Tworzenie modułu równoważenia obciążenia skonfiguruj moduł równoważenia obciążenia przy użyciu następujących wartości:
- Subskrypcja: Twoja subskrypcja platformy Azure.
- Grupa zasobów: grupa zasobów zawierająca maszyny wirtualne.
- Nazwa: nazwa identyfikująca moduł równoważenia obciążenia.
- Region: lokalizacja platformy Azure zawierająca maszyny wirtualne.
- Jednostka SKU: Standardowa.
- Typ: publiczny lub wewnętrzny. Dostęp do wewnętrznego modułu równoważenia obciążenia można uzyskać z poziomu sieci wirtualnej. Większość aplikacji platformy Azure może używać wewnętrznego modułu równoważenia obciążenia. Jeśli aplikacja potrzebuje dostępu do programu SQL Server bezpośrednio przez Internet, użyj publicznego modułu równoważenia obciążenia.
- Warstwa: Regionalna.
Wybierz pozycję Dalej: Konfiguracja adresu IP frontonu.
Wybierz pozycję Dodaj konfigurację adresu IP frontonu.
Skonfiguruj adres IP frontonu przy użyciu następujących wartości:
- Nazwa: nazwa identyfikująca konfigurację adresu IP frontonu.
- Sieć wirtualna: ta sama sieć co maszyny wirtualne.
- Podsieć: ta sama podsieć co maszyny wirtualne.
- Przypisanie: statyczne.
- Adres IP: adres IP przypisany do klastrowanego zasobu sieciowego.
- Strefa dostępności: opcjonalna strefa dostępności do wdrożenia adresu IP.
Wybierz pozycję Dodaj , aby utworzyć adres IP frontonu.
Wybierz pozycję Przejrzyj i utwórz , aby utworzyć moduł równoważenia obciążenia.
Konfigurowanie puli zaplecza
Wróć do grupy zasobów platformy Azure zawierającej maszyny wirtualne i znajdź nowy moduł równoważenia obciążenia. Może być konieczne odświeżenie widoku w grupie zasobów. Wybierz moduł równoważenia obciążenia.
Wybierz pozycję Pule zaplecza, a następnie wybierz pozycję +Dodaj.
W polu Nazwa podaj nazwę puli zaplecza.
W obszarze Konfiguracja puli zaplecza wybierz pozycję Karta sieciowa.
Wybierz pozycję Dodaj , aby skojarzyć pulę zaplecza z zestawem dostępności zawierającym maszyny wirtualne.
W obszarze Maszyna wirtualna wybierz maszyny wirtualne, które będą uczestniczyć jako węzły klastra. Pamiętaj, aby uwzględnić wszystkie maszyny wirtualne, które będą hostować grupę dostępności.
Dodaj tylko podstawowy adres IP każdej maszyny wirtualnej. Nie dodawaj żadnych pomocniczych adresów IP.
Wybierz pozycję Dodaj , aby dodać maszyny wirtualne do puli zaplecza.
Wybierz pozycję Zapisz , aby utworzyć pulę zaplecza.
Konfigurowanie sondy kondycji
W okienku modułu równoważenia obciążenia wybierz pozycję Sondy kondycji.
W okienku Dodawanie sondy kondycji ustaw następujące parametry:
- Nazwa: nazwa sondy kondycji.
- Protokół: TCP.
- Port: port utworzony w zaporze dla sondy kondycji. W tym artykule przykład używa portu TCP 59999.
- Interwał: 5 sekund.
Wybierz Dodaj.
Ustawianie reguł równoważenia obciążenia
W okienku modułu równoważenia obciążenia wybierz pozycję Reguły równoważenia obciążenia.
Wybierz Dodaj.
Ustaw następujące parametry:
- Nazwa: nazwa reguły równoważenia obciążenia.
- Adres IP frontonu: adres IP ustawiony podczas konfigurowania frontonu.
- Pula zaplecza: pula zaplecza zawierająca maszyny wirtualne przeznaczone dla modułu równoważenia obciążenia.
- Porty wysokiej dostępności: umożliwia równoważenie obciążenia na wszystkich portach dla protokołów TCP i UDP.
- Protokół: TCP.
- Port: port TCP programu SQL Server. Wartość domyślna to 1433.
- Port zaplecza: ten sam port co wartość portu po włączeniu pływających adresów IP (bezpośredni zwrot serwera).
- Sonda kondycji: wcześniej skonfigurowana sonda kondycji.
- Trwałość sesji: Brak.
- Limit czasu bezczynności (w minutach): 4.
- Pływający adres IP (bezpośredni zwrot serwera): włączony.
Wybierz pozycję Zapisz.
Konfigurowanie sondy klastra
Ustaw parametr portu sondy klastra w programie PowerShell.
Zaktualizuj zmienne w poniższym skry skrygcie przy użyciu wartości ze środowiska. Usuń nawiasy kątowe (<
i >
) ze skryptu.
$ClusterNetworkName = "<Cluster Network Name>"
$IPResourceName = "<AG Listener IP Address Resource Name>"
$ILBIP = "<n.n.n.n>"
[int]$ProbePort = <nnnnn>
Import-Module FailoverClusters
Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
W poniższej tabeli opisano wartości, które należy zaktualizować:
Zmienna | Wartość |
---|---|
ClusterNetworkName |
Nazwa klastra trybu failover systemu Windows Server dla sieci. W obszarze Sieci menedżera>klastra trybu failover kliknij prawym przyciskiem myszy sieć i wybierz polecenie Właściwości. Poprawna wartość znajduje się w obszarze Nazwa na karcie Ogólne. |
IPResourceName |
Nazwa zasobu dla adresu IP odbiornika grupy dostępności. W obszarze Role Menedżera>klastra trybu failover w obszarze rola grupy dostępności w obszarze Nazwa serwera kliknij prawym przyciskiem myszy zasób adresu IP i wybierz pozycję Właściwości. Poprawna wartość znajduje się w obszarze Nazwa na karcie Ogólne. |
ILBIP |
Adres IP wewnętrznego modułu równoważenia obciążenia. Ten adres jest konfigurowany w witrynie Azure Portal jako adres frontonu wewnętrznego modułu równoważenia obciążenia. Jest to ten sam adres IP co odbiornik grupy dostępności. Można go znaleźć w Menedżerze klastra trybu failover na tej samej stronie właściwości, na której znajduje się wartość .IPResourceName |
ProbePort |
Port sondy skonfigurowany w sondie kondycji modułu równoważenia obciążenia. Dowolny nieużywany port TCP jest prawidłowy. |
SubnetMask |
Maska podsieci dla parametru klastra. Musi to być adres emisji TCP/IP: 255.255.255.255 . |
Wprowadzone zmiany nie zostaną wprowadzone, dopóki zasób adresu IP nie zostanie przełączony do trybu offline i ponownie przełączony w tryb online. Przeprowadź przejście w tryb failover grupy dostępności, aby ta zmiana weszła w życie. Po ustawieniu sondy klastra wszystkie parametry klastra będą widoczne w programie PowerShell. Uruchom ten skrypt:
Get-ClusterResource $IPResourceName | Get-ClusterParameter
Modyfikowanie parametry połączenia
W przypadku klientów, którzy go obsługują, dodaj MultiSubnetFailover=True
go do parametry połączenia. MultiSubnetFailover
Chociaż opcja połączenia nie jest wymagana, zapewnia korzyści z szybszego przejścia w tryb failover podsieci. Dzieje się tak, ponieważ sterownik klienta próbuje otworzyć gniazdo TCP dla każdego adresu IP równolegle. Sterownik klienta czeka, aż pierwszy adres IP odpowie pomyślnie. Po pomyślnej odpowiedzi sterownik klienta używa tego adresu IP dla połączenia.
Jeśli klient nie obsługuje parametru, możesz zmodyfikować RegisterAllProvidersIP
ustawienia iHostRecordTTL
, aby zapobiec opóźnieniom łączności po przejściu MultiSubnetFailover
w tryb failover.
Użyj programu PowerShell, aby zmodyfikować RegisterAllProvidersIp
ustawienia i HostRecordTTL
:
Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0
Get-ClusterResource yourListenerName|Set-ClusterParameter HostRecordTTL 300
Aby dowiedzieć się więcej, zobacz dokumentację dotyczącą limitu czasu połączenia odbiornika w programie SQL Server.
Napiwek
- Ustaw wartość na
MultiSubnetFailover parameter
true
w parametry połączenia, nawet w przypadku rozwiązań HADR obejmujących jedną podsieć. To ustawienie obsługuje przyszłe łączenie podsieci bez konieczności aktualizowania parametry połączenia. - Domyślnie klienci buforuje rekordy DNS klastra przez 20 minut.
HostRecordTTL
Skracając wartość , skracasz czas wygaśnięcia (TTL) dla buforowanego rekordu. Starsi klienci mogą następnie szybciej ponownie nawiązać połączenie. W związku z tym zmniejszenieHostRecordTTL
ustawienia może zwiększyć ruch do serwerów DNS.
Testowanie pracy w trybie failover
Przetestuj tryb failover zasobu klastrowanego, aby zweryfikować funkcjonalność klastra:
- Otwórz program SQL Server Management Studio i połącz się z odbiornikiem grupy dostępności.
- W Eksplorator obiektów rozwiń pozycję Zawsze włączona grupa dostępności.
- Kliknij prawym przyciskiem myszy grupę dostępności i wybierz pozycję Tryb failover.
- Postępuj zgodnie z instrukcjami kreatora, aby przejąć grupę dostępności w tryb failover do repliki pomocniczej.
Tryb failover kończy się powodzeniem, gdy repliki przełączają role i są synchronizowane.
Testowanie łączności
Aby przetestować łączność, zaloguj się do innej maszyny wirtualnej w tej samej sieci wirtualnej. Otwórz program SQL Server Management Studio i połącz się z odbiornikiem grupy dostępności.
Uwaga
Jeśli chcesz, możesz pobrać program SQL Server Management Studio.
Następne kroki
Po utworzeniu sieci wirtualnej rozważ optymalizację ustawień klastra dla maszyn wirtualnych programu SQL Server.
Aby dowiedzieć się więcej, zobacz:
- Klaster trybu failover systemu Windows Server z programem SQL Server na maszynach wirtualnych platformy Azure
- Zawsze włączone grupy dostępności z programem SQL Server na maszynach wirtualnych platformy Azure
- Omówienie zawsze włączonych grup dostępności
- Ustawienia usługi HADR dla programu SQL Server na maszynach wirtualnych platformy Azure