Delen via


Een Azure-load balancer configureren voor een FCI VNN - SQL Server op Azure-VM's

Van toepassing op: SQL Server op Azure VM

Fooi

Er zijn veel methoden om een beschikbaarheidsgroep te implementeren. Vereenvoudig uw implementatie en elimineer de noodzaak van een Azure Load Balancer of gedistribueerde netwerknaam (DNN) voor uw AlwaysOn-beschikbaarheidsgroep door uw virtuele SQL Server-machines (VM's) te maken in meerdere subnetten binnen hetzelfde virtuele Azure-netwerk. Als u uw beschikbaarheidsgroep al in één subnet hebt gemaakt, kunt u deze migreren naar een omgeving met meerdere subnetten.

Op virtuele Azure-machines gebruiken clusters een load balancer voor het opslaan van een IP-adres dat zich op één clusterknooppunt tegelijk moet bevinden. In deze oplossing bevat de load balancer het IP-adres voor de naam van het virtuele netwerk (VNN) die door de geclusterde resource in Azure wordt gebruikt.

In dit artikel leert u hoe u een load balancer configureert met behulp van de Azure Load Balancer-service. De load balancer routeert verkeer naar uw failoverclusterexemplaren met SQL Server op Azure-VM's voor hoge beschikbaarheid en herstel na noodgevallen (HADR).

Voor een alternatieve connectiviteitsoptie voor SQL Server 2019 CU2 en hoger kunt u in plaats daarvan een gedistribueerde netwerknaam (DNN) overwegen. Een DNN biedt vereenvoudigde configuratie en verbeterde failover.

Vereisten

Voordat u de stappen in dit artikel voltooit, hebt u het volgende al nodig:

Een load balancer maken

U kunt een van deze typen load balancers maken:

  • Intern: Een interne load balancer kan alleen worden geopend vanuit privébronnen die intern zijn voor het netwerk. Wanneer u een interne load balancer en de bijbehorende regels configureert, gebruikt u het FCI-IP-adres als het front-end-IP-adres.

  • Extern: Een externe load balancer kan verkeer van het publiek naar interne resources routeren. Wanneer u een externe load balancer configureert, kunt u geen openbaar IP-adres gebruiken, zoals het FCI-IP-adres.

    Als u een externe load balancer wilt gebruiken, wijst u logisch een IP-adres toe in hetzelfde subnet als de FCI die niet conflicteren met een ander IP-adres. Gebruik dit adres als het front-end-IP-adres voor de taakverdelingsregels.

De load balancer maken:

  1. Ga in Azure Portal naar de resourcegroep die de virtuele machines bevat.

  2. Selecteer Toevoegen. Zoek in Azure Marketplace naar load balancer. Selecteer Load Balancer.

  3. Selecteer Maken.

  4. Stel in Load Balancer maken op het tabblad Basisbeginselen de load balancer in met behulp van de volgende waarden:

    • Abonnement: uw Azure-abonnement.
    • Resourcegroep: de resourcegroep die uw virtuele machines bevat.
    • Naam: Een naam die de load balancer identificeert.
    • Regio: De Azure-locatie die uw virtuele machines bevat.
    • SKU: Standard.
    • Type: Openbaar of Intern. Een interne load balancer kan worden geopend vanuit het virtuele netwerk. De meeste Azure-toepassingen kunnen een interne load balancer gebruiken. Als uw toepassing rechtstreeks via internet toegang nodig heeft tot SQL Server, gebruikt u een openbare load balancer.
    • Laag: Regionaal.

    Screenshot of the Azure portal that shows the page for basic information about a load balancer.

  5. Selecteer Volgende: Front-end-IP-configuratie.

  6. Selecteer Een front-end-IP-configuratie toevoegen.

    Screenshot of the Azure portal that shows the button for adding a front-end IP configuration.

  7. Stel het front-end-IP-adres in met behulp van de volgende waarden:

    • Naam: een naam die de front-end-IP-configuratie identificeert.
    • Virtueel netwerk: hetzelfde netwerk als de virtuele machines.
    • Subnet: hetzelfde subnet als de virtuele machines.
    • Toewijzing: Statisch.
    • IP-adres: het IP-adres dat u hebt toegewezen aan de geclusterde netwerkresource.
    • Beschikbaarheidszone: een optionele beschikbaarheidszone waarnaar u uw IP-adres wilt implementeren.

    Screenshot of the Azure portal that shows the page for configuring a front-end IP address.

  8. Selecteer Toevoegen om het front-end-IP-adres te maken.

  9. Kies Beoordelen en maken om de load balancer te maken.

Een back-endpool configureren

  1. Ga terug naar de Azure-resourcegroep die de virtuele machines bevat en zoek de nieuwe load balancer. Mogelijk moet u de weergave in de resourcegroep vernieuwen. Selecteer de load balancer.

  2. Selecteer Back-endpools en selecteer vervolgens +Toevoegen.

  3. Geef bij Naam een naam op voor de back-endpool.

  4. Selecteer NIC voor configuratie van back-endpool.

  5. Selecteer Toevoegen om de back-endpool te koppelen aan de beschikbaarheidsset die de VM's bevat.

  6. Kies onder Virtuele machine de virtuele machines die als clusterknooppunten deelnemen. Zorg ervoor dat u alle virtuele machines opneemt die als host fungeren voor de FCI.

    Voeg alleen het primaire IP-adres van elke VIRTUELE machine toe. Voeg geen secundaire IP-adressen toe.

  7. Selecteer Toevoegen om de virtuele machines toe te voegen aan de back-endpool.

  8. Selecteer Opslaan om de back-endpool te maken.

Een statustest configureren

  1. Selecteer statustests in het deelvenster voor de load balancer.

  2. Stel in het deelvenster Statustest toevoegen de volgende parameters in:

    • Naam: Een naam voor de statustest.
    • Protocol: TCP.
    • Poort: de poort die u hebt gemaakt in de firewall voor de statustest bij het voorbereiden van de VIRTUELE machine. In dit artikel wordt in het voorbeeld TCP-poort 59999 gebruikt.
    • Interval: 5 seconden.
  3. Selecteer Toevoegen.

Taakverdelingsregels instellen

  1. Selecteer taakverdelingsregels in het deelvenster voor de load balancer.

  2. Selecteer Toevoegen.

  3. Stel deze parameters in:

    • Naam: Een naam voor de taakverdelingsregel.
    • Front-end-IP-adres: het IP-adres dat u hebt ingesteld bij het configureren van de front-end.
    • Back-endpool: de back-endpool die de virtuele machines bevat die zijn gericht op de load balancer.
    • HA-poorten: hiermee schakelt u taakverdeling in op alle poorten voor TCP- en UDP-protocollen.
    • Protocol: TCP.
    • Poort: de TCP-poort van SQL Server. De standaardwaarde is 1433.
    • Back-endpoort: dezelfde poort als de poortwaarde wanneer u Zwevend IP inschakelt (direct server return).
    • Statustest: de statustest die u eerder hebt geconfigureerd.
    • Sessiepersistentie: Geen.
    • Time-out voor inactiviteit (minuten): 4.
    • Zwevend IP-adres (direct server return): ingeschakeld.
  4. Selecteer Opslaan.

Een clustertest configureren

Stel de poortparameter van de clustertest in PowerShell in.

Werk de variabelen in het volgende script bij met waarden uit uw omgeving. Verwijder de hoekhaken (< en >) uit het script.

$ClusterNetworkName = "<Cluster Network Name>"
$IPResourceName = "<SQL Server FCI 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}

In de volgende tabel worden de waarden beschreven die u moet bijwerken:

Variabele Value
ClusterNetworkName De naam van het Windows Server-failovercluster voor het netwerk. Klik in Failoverclusterbeheernetwerken> met de rechtermuisknop op het netwerk en selecteer Eigenschappen. De juiste waarde ziet u op het tabblad Algemeen, bij Naam.
IPResourceName De resourcenaam voor het IP-adres van de SQL Server FCI. Klik in Failoverclusterbeheerfuncties> onder de rol SQL Server FCI onder Servernaam met de rechtermuisknop op de IP-adresresource en selecteer Eigenschappen. De juiste waarde ziet u op het tabblad Algemeen, bij Naam.
ILBIP Het IP-adres van de interne load balancer. Dit adres wordt geconfigureerd in Azure Portal als het front-endadres van de interne load balancer. Dit is ook het IP-adres van de SQL Server FCI. U vindt deze in Failoverclusterbeheer, op dezelfde eigenschappenpagina waar u de waarde voor IPResourceNamevindt.
ProbePort De testpoort die u hebt geconfigureerd in de statustest van de load balancer. Elke ongebruikte TCP-poort is geldig.
SubnetMask Het subnetmasker voor de clusterparameter. Dit moet het TCP/IP-broadcastadres zijn: 255.255.255.255.

Nadat u de clustertest hebt ingesteld, ziet u alle clusterparameters in PowerShell. Voer dit script uit:

Get-ClusterResource $IPResourceName | Get-ClusterParameter

De verbindingsreeks wijzigen

Voor clients die dit ondersteunen, voegt u deze toe MultiSubnetFailover=True aan de verbindingsreeks. Hoewel de MultiSubnetFailover verbindingsoptie niet vereist is, biedt dit het voordeel van een snellere subnetfailover. Dit komt doordat het clientstuurprogramma probeert een TCP-socket te openen voor elk IP-adres parallel. Het clientstuurprogramma wacht tot het eerste IP-adres reageert met succes. Na het geslaagde antwoord gebruikt het clientstuurprogramma dat IP-adres voor de verbinding.

Als uw client de MultiSubnetFailover parameter niet ondersteunt, kunt u de RegisterAllProvidersIP en HostRecordTTL instellingen wijzigen om connectiviteitsvertragingen bij failover te voorkomen.

Gebruik PowerShell om de RegisterAllProvidersIp en HostRecordTTL instellingen te wijzigen:

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

Zie de documentatie over time-out voor listenerverbindingen in SQL Server voor meer informatie.

Fooi

  • Stel de parameter true in op MultiSubnetFailover in de verbindingsreeks, zelfs voor HADR-oplossingen die één subnet omvatten. Deze instelling ondersteunt toekomstige spanning van subnetten zonder dat u verbindingsreeksen hoeft bij te werken.
  • Standaard worden DNS-records voor het cluster gedurende 20 minuten opgeslagen in de cache van clients. Door te verminderen HostRecordTTL, vermindert u de time to live (TTL) voor de record in de cache. Oudere clients kunnen vervolgens sneller opnieuw verbinding maken. Als zodanig kan het verminderen van de HostRecordTTL instelling het verkeer naar de DNS-servers verhogen.

Testfailover

Testfailover van de geclusterde resource om clusterfunctionaliteit te valideren:

  1. Maak verbinding met een van de SQL Server-clusterknooppunten met behulp van Remote Desktop Protocol (RDP).
  2. Open Failoverclusterbeheer. Selecteer Rollen. U ziet welk knooppunt eigenaar is van de FCI-rol van SQL Server.
  3. Klik met de rechtermuisknop op de FCI-rol van SQL Server.
  4. Selecteer Verplaatsen en selecteer vervolgens Best Possible Node.

Failoverclusterbeheer toont de rol en de bijbehorende resources gaan offline. De resources worden vervolgens verplaatst en weer online in het andere knooppunt.

Connectiviteit testen

Als u de connectiviteit wilt testen, meldt u zich aan bij een andere virtuele machine in hetzelfde virtuele netwerk. Open SQL Server Management Studio en maak verbinding met de naam van SQL Server FCI.

Notitie

Als dat nodig is, kunt u SQL Server Management Studio downloaden.

Volgende stappen

Raadpleeg voor meer informatie: