Udostępnij za pośrednictwem


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:

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:

  1. W witrynie Azure Portal przejdź do grupy zasobów zawierającej maszyny wirtualne.

  2. Wybierz Dodaj. Wyszukaj usługę Azure Marketplace pod kątem modułu równoważenia obciążenia. Wybierz pozycję Load Balancer.

  3. Wybierz pozycję Utwórz.

  4. 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.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę zawierającą podstawowe informacje o module równoważenia obciążenia.

  5. Wybierz pozycję Dalej: Konfiguracja adresu IP frontonu.

  6. Wybierz pozycję Dodaj konfigurację adresu IP frontonu.

    Zrzut ekranu witryny Azure Portal przedstawiający przycisk dodawania konfiguracji adresu IP frontonu.

  7. 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.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę konfigurowania adresu IP frontonu.

  8. Wybierz pozycję Dodaj , aby utworzyć adres IP frontonu.

  9. Wybierz pozycję Przejrzyj i utwórz , aby utworzyć moduł równoważenia obciążenia.

Konfigurowanie puli zaplecza

  1. 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.

  2. Wybierz pozycję Pule zaplecza, a następnie wybierz pozycję +Dodaj.

  3. W polu Nazwa podaj nazwę puli zaplecza.

  4. W obszarze Konfiguracja puli zaplecza wybierz pozycję Karta sieciowa.

  5. Wybierz pozycję Dodaj , aby skojarzyć pulę zaplecza z zestawem dostępności zawierającym maszyny wirtualne.

  6. 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.

  7. Wybierz pozycję Dodaj , aby dodać maszyny wirtualne do puli zaplecza.

  8. Wybierz pozycję Zapisz , aby utworzyć pulę zaplecza.

Konfigurowanie sondy kondycji

  1. W okienku modułu równoważenia obciążenia wybierz pozycję Sondy kondycji.

  2. 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.
  3. Wybierz Dodaj.

Ustawianie reguł równoważenia obciążenia

  1. W okienku modułu równoważenia obciążenia wybierz pozycję Reguły równoważenia obciążenia.

  2. Wybierz Dodaj.

  3. 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.
  4. 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. HostRecordTTLSkracają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 zmniejszenie HostRecordTTL ustawienia może zwiększyć ruch do serwerów DNS.

Testowanie pracy w trybie failover

Przetestuj tryb failover zasobu klastrowanego, aby zweryfikować funkcjonalność klastra:

  1. Otwórz program SQL Server Management Studio i połącz się z odbiornikiem grupy dostępności.
  2. W Eksplorator obiektów rozwiń pozycję Zawsze włączona grupa dostępności.
  3. Kliknij prawym przyciskiem myszy grupę dostępności i wybierz pozycję Tryb failover.
  4. 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: