Dela via


Konfigurera en Azure-lastbalanserare för en VNN-lyssnare för tillgänglighetsgruppen – SQL Server på virtuella Azure-datorer

Gäller för:SQL Server på en virtuell Azure-dator

Tips/Råd

Det finns många metoder för att distribuera en tillgänglighetsgrupp. Förenkla distributionen och eliminera behovet av en Azure Load Balancer eller ett distribuerat nätverksnamn (DNN) för din AlwaysOn-tillgänglighetsgrupp genom att skapa dina virtuella SQL Server-datorer i flera undernät i samma virtuella Azure-nätverk. Om du redan har skapat tillgänglighetsgruppen i ett enda undernät kan du migrera den till en miljö med flera undernät.

På virtuella Azure-datorer använder kluster en lastbalanserare för att lagra en IP-adress som måste finnas på en klusternod i taget. I den här lösningen har lastbalanseraren IP-adressen för VNN-lyssnaren (VNN) för Always On-tillgänglighetsgruppen när SQL Server-VM:arna finns i ett enda subnät.

I den här artikeln lär du dig att konfigurera en lastbalanserare med hjälp av Azure Load Balancer-tjänsten. Lastbalanseraren dirigerar trafik till tillgänglighetsgrupplyssnaren som använder SQL Server på Azure-virtuella datorer för hög tillgänglighet och katastrofåterställning (HADR).

Om du vill ha ett alternativt anslutningsalternativ för kunder som använder SQL Server 2019 CU8 och senare bör du överväga en DNN-lyssnare (distribuerat nätverksnamn) i stället. En DNN-lyssnare erbjuder förenklad konfiguration och förbättrad failover.

Förutsättningar

Innan du slutför stegen i den här artikeln bör du redan ha:

Skapa en lastbalanserare

Du kan skapa någon av dessa typer av lastbalanserare:

  • Internt: En intern lastbalanserare kan endast nås från privata resurser som är interna i nätverket. När du konfigurerar en intern lastbalanserare och dess regler använder du samma IP-adress som tillgänglighetsgruppens lyssnare för klientdelens IP-adress.

  • Extern: En extern lastbalanserare kan dirigera trafik från allmänheten till interna resurser. När du konfigurerar en extern lastbalanserare kan du inte använda samma IP-adress som tillgänglighetsgruppens lyssnare eftersom lyssnarens IP-adress inte kan vara en offentlig IP-adress.

    Om du vill använda en extern lastbalanserare allokerar du logiskt en IP-adress i samma undernät som tillgänglighetsgruppen som inte är i konflikt med någon annan IP-adress. Använd den här adressen som klientdels-IP-adress för belastningsutjämningsreglerna.

Viktigt!

Den 30 september 2025 dras Basic SKU för Azure Load Balancer tillbaka. Mer information finns i det officiella meddelandet. Om du för närvarande använder Basic Load Balancer uppgraderar du till Standard Load Balancer före slutdatumet. Vägledning finns i Uppgradera lastbalanserare.

Så här skapar du lastbalanseraren:

  1. I Azure-portalen går du till resursgruppen som innehåller de virtuella datorerna.

  2. Välj Lägg till. Sök efter lastbalanserare i Azure Marketplace. Välj Lastbalanserare.

  3. Välj Skapa.

  4. I Skapa lastbalanserare på fliken Grundläggande konfigurerar du lastbalanseraren med hjälp av följande värden:

    • Prenumeration: Din Azure-prenumeration.
    • Resursgrupp: Resursgruppen som innehåller dina virtuella datorer.
    • Namn: Ett namn som identifierar lastbalanseraren.
    • Region: Den Azure-plats som innehåller dina virtuella datorer.
    • SKU: Standard.
    • Typ: Antingen offentlig eller intern. En intern lastbalanserare kan nås inifrån det virtuella nätverket. De flesta Azure-program kan använda en intern lastbalanserare. Om ditt program behöver åtkomst till SQL Server direkt via Internet använder du en offentlig lastbalanserare.
    • Nivå: Regional.
  5. Välj Nästa: IP-konfiguration för klientdelen.

  6. Välj Lägg till en IP-konfiguration för klientdelen.

    Skärmbild av Azure-portalen som visar knappen för att lägga till en IP-konfiguration för klientdelen.

  7. Konfigurera IP-adressen för klientdelen med hjälp av följande värden:

    • Namn: Ett namn som identifierar IP-konfigurationen för klientdelen.
    • Virtuellt nätverk: Samma nätverk som de virtuella datorerna.
    • Undernät: Samma undernät som de virtuella datorerna.
    • Tilldelning: Statisk.
    • IP-adress: IP-adressen som du tilldelade den klustrade nätverksresursen.
    • Tillgänglighetszon: En valfri tillgänglighetszon att distribuera din IP-adress till.

    Skärmbild av Azure-portalen som visar sidan för att konfigurera en IP-adress för klientdelen.

  8. Välj Lägg till för att skapa klientdelens IP-adress.

  9. Välj Granska + Skapa för att skapa lastbalanseraren.

Konfigurera en backendpool

  1. Gå tillbaka till den Azure-resursgrupp som innehåller de virtuella datorerna och leta upp den nya lastbalanseraren. Du kan behöva uppdatera vyn för resursgruppen. Välj lastbalanseraren.

  2. Välj Backend-pooler och välj sedan +Lägg till.

  3. För Namn, ange ett namn för serverpoolen.

  4. För Backend-poolkonfiguration väljer du NIC.

  5. Välj Lägg till för att associera serverdelspoolen med tillgänglighetsuppsättningen som innehåller de virtuella datorerna.

  6. Under Virtuell dator väljer du de virtuella datorer som ska delta som klusternoder. Se till att inkludera alla virtuella datorer som ska vara värdar för tillgänglighetsgruppen.

    Lägg bara till den primära IP-adressen för varje virtuell dator. Lägg inte till några sekundära IP-adresser.

  7. Välj Lägg till för att lägga till de virtuella datorerna i serverdelspoolen.

  8. Välj Spara för att skapa serverdelspoolen.

Konfigurera en hälsoavsökning

  1. På panelen för lastbalanseraren väljer du Hälsokontroller.

  2. I fönstret anger du följande parametrar:

    • Namn: Ett namn på hälsoproben.
    • Protokoll: TCP.
    • Port: Porten som du skapade i brandväggen för hälsoavsökningen. I den här artikeln använder exemplet TCP-port 59999.
    • Intervall: 5 sekunder.
  3. Välj Lägg till.

Ange regler för belastningsutjämning

  1. I fönstret för lastbalanseraren väljer du Belastningsutjämningsregler.

  2. Välj Lägg till.

  3. Ange följande parametrar:

    • Namn: Ett namn på belastningsutjämningsregeln.
    • Klientdels-IP-adress: IP-adressen som du angav när du konfigurerade klientdelen.
    • Serverdelspool: Serverdelspoolen som innehåller de virtuella datorer som är mål för lastbalanseraren.
    • HA-portar: Möjliggör belastningsutjämning på alla portar för TCP- och UDP-protokoll.
    • Protokoll: TCP.
    • Port: TCP-porten för SQL Server. Standardvärdet är 1433.
    • Backend-port: Samma port som Portvärde när du aktiverar Flytande IP (direkt serveråtergång).
    • Hälsoavsökning: Hälsoavsökningen som du konfigurerade tidigare.
    • Session persistence: Ingen.
    • Tidsgräns för inaktivitet (minuter): 4.
    • Flytande IP -adress (direkt serverretur): Aktiverad.
  4. Välj Spara.

Konfigurera en klusteravsökning

Ange klusteravsökningens portparameter i PowerShell.

Uppdatera variablerna i följande skript med värden från din miljö. Ta bort vinkelparenteserna (< och >) från skriptet.

$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}

I följande tabell beskrivs de värden som du behöver uppdatera:

variabel Värde
ClusterNetworkName Namnet på Windows Server-redundansklustret för nätverket. Högerklicka på nätverket i Failover Cluster Manager>Networks och välj Egenskaper. Rätt värde står under Namn på fliken Allmänt.
IPResourceName Resursnamnet för IP-adressen för tillgänglighetsgruppens lyssnare. Under rollen tillgänglighetsgrupp under Servernamn högerklickar du på IP-adressresursen i >roller för växling vid fel och väljer Egenskaper. Rätt värde står under Namn på fliken Allmänt.
ILBIP IP-adressen för den interna lastbalanseraren. Den här adressen konfigureras i Azure-portalen som klientdelsadress för den interna lastbalanseraren. Det här är samma IP-adress som tillgänglighetsgruppens lyssnare. Du hittar den i Failover-klusterhanteraren, på samma egenskapssida där du hittade värdet för IPResourceName.
ProbePort Avsökningsporten som du konfigurerade i hälsoproben på lastbalanseraren. Alla oanvända TCP-portar är giltiga.
SubnetMask Subnätmasken för klusterparametern. Det måste vara TCP/IP-sändningsadressen: 255.255.255.255.

De ändringar du har gjort börjar inte gälla förrän IP-adressresursen tas offline och sedan online igen. Utför en överflyttning av tillgänglighetsgruppen för att den här ändringen ska börja gälla. När du har angett klusteravsökningen kan du se alla klusterparametrar i PowerShell. Kör det här skriptet:

Get-ClusterResource $IPResourceName | Get-ClusterParameter

Konfigurera portundantag

När du använder en hälsoavsökningsport mellan 49 152 och 65 536 ( standardvärdet för dynamiskt portintervall för TCP/IP) lägger du till ett undantag för varje hälsoavsökningsport på varje virtuell dator.

Om du konfigurerar portundantag förhindras andra systemprocesser från att dynamiskt tilldelas samma port på den virtuella datorn

Om du vill ange ett portundantag använder du följande PowerShell-skript:

  •  för varje hälsokontrollport
  • på varje virtuell dator
[int]$ProbePort = <nnnnn> # The probe port that you configured in the health probe of the load balancer. Any unused TCP port is valid. 

netsh int ipv4 add excludedportrange tcp startport=$ProbePort numberofports=1 store=persistent 

Använd följande kommando för att bekräfta att undantagen har konfigurerats korrekt:

netsh int ipv4 show excludedportrange tcp 

Ändra anslutningssträngen

För klienter som stöder det lägger du till MultiSubnetFailover=True i anslutningssträngen. Även om anslutningsalternativet MultiSubnetFailover inte krävs ger det fördelen med en snabbare redundansväxling i undernätet. Det beror på att klientdrivrutinen försöker öppna en TCP-socket för varje IP-adress parallellt. Klientdrivrutinen väntar på att den första IP-adressen ska svara med framgång. Efter det lyckade svaret använder klientdrivrutinen den IP-adressen för anslutningen.

Om klienten inte stöder parametern MultiSubnetFailover kan du ändra RegisterAllProvidersIP inställningarna och HostRecordTTL för att förhindra anslutningsfördröjningar efter redundansväxling.

Använd PowerShell för att ändra RegisterAllProvidersIp inställningarna och HostRecordTTL :

Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0  
Get-ClusterResource yourListenerName | Set-ClusterParameter HostRecordTTL 300 

Mer information finns i dokumentationen om tidsgränsen för lyssnaranslutning i SQL Server.

Tips/Råd

  • Ställ in MultiSubnetFailover parameter till true i anslutningssträngen, även för HADR-lösningar som sträcker sig över ett enda undernät. Den här inställningen stöder framtida expansion och täckning av undernät, utan behov av uppdateringar av anslutningssträngar.
  • Som standardinställning lagrar klienter kluster-DNS-poster i cache i 20 minuter. Genom att minska HostRecordTTL minskar du TTL (livslängd) för den cachelagrade posten. Äldre klienter kan sedan återansluta snabbare. Därför kan en minskning av HostRecordTTL inställningen öka trafiken till DNS-servrarna.

Testa övergång till reservsystem

Testa redundans för den klustrade resursen för att verifiera klusterfunktioner:

  1. Öppna SQL Server Management Studio och anslut till din tillgänglighetsgruppslyssnare.
  2. I Object Explorer expanderar du AlwaysOn-tillgänglighetsgrupp.
  3. Högerklicka på tillgänglighetsgruppen och välj Övergång.
  4. Följ guidens anvisningar för att växla över tillgänglighetsgruppen till en sekundär replik.

Redundansväxlingen lyckas när replikerna växlar roller och är båda synkroniserade.

Testa anslutning

Om du vill testa anslutningen loggar du in på en annan virtuell dator i samma virtuella nätverk. Öppna SQL Server Management Studio och anslut till tillgänglighetsgruppens lyssnare.

Anmärkning

Om du behöver det kan du ladda ned SQL Server Management Studio.

Nästa steg

När det virtuella nätverket har skapats bör du överväga att optimera klusterinställningarna för virtuella SQL Server-datorer.

Mer information finns i: