Delen via


Een DNN configureren voor een failoverclusterexemplaren

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 routeert de DNN (gedistribueerde netwerknaam) verkeer naar de juiste geclusterde resource. Het biedt een eenvoudigere manier om verbinding te maken met het EXEMPLAAR van het SQL Server-failovercluster (FCI) dan de naam van het virtuele netwerk (VNN), zonder dat hiervoor een Azure Load Balancer nodig is.

In dit artikel leert u hoe u een DNN-resource configureert om verkeer naar uw failoverclusterexemplaren te routeren met SQL Server op Azure-VM's voor hoge beschikbaarheid en herstel na noodgevallen (HADR).

Voor een alternatieve connectiviteitsoptie kunt u in plaats daarvan een naam van een virtueel netwerk en Azure Load Balancer overwegen.

Overzicht

De naam van het gedistribueerde netwerk (DNN) vervangt de naam van het virtuele netwerk (VNN) als het verbindingspunt wanneer deze wordt gebruikt met een AlwaysOn-failoverclusterexemplaren op SQL Server-VM's. Dit onderhandelt de noodzaak van een Azure Load Balancer-routering van verkeer naar de VNN, het vereenvoudigen van de implementatie, het onderhoud en het verbeteren van failover.

Met een FCI-implementatie bestaat de VNN nog steeds, maar de client maakt verbinding met de DNS-naam van de DNN in plaats van de VNN-naam.

Vereisten

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

DNN-resource maken

De DNN-resource wordt gemaakt in dezelfde clustergroep als de SQL Server FCI. Gebruik PowerShell om de DNN-resource in de FCI-clustergroep te maken.

Met de volgende PowerShell-opdracht voegt u een DNN-resource toe aan de SQL Server FCI-clustergroep met een resourcenaam van <dnnResourceName>. De resourcenaam wordt gebruikt om een resource uniek te identificeren. Gebruik een functie die zinvol is voor u en uniek is in het cluster. Het resourcetype moet zijn Distributed Network Name.

De -Group waarde moet de naam zijn van de clustergroep die overeenkomt met de SQL Server FCI waar u de gedistribueerde netwerknaam wilt toevoegen. Voor een standaardexemplaren is SQL Server (MSSQLSERVER)de typische indeling .

Add-ClusterResource -Name <dnnResourceName> `
-ResourceType "Distributed Network Name" -Group "<WSFC role of SQL Server instance>"

Als u bijvoorbeeld uw DNN-resource dnn-demo wilt maken voor een standaard-SQL Server-FCI, gebruikt u de volgende PowerShell-opdracht:

Add-ClusterResource -Name dnn-demo `
-ResourceType "Distributed Network Name" -Group "SQL Server (MSSQLSERVER)"

DNS-naam van cluster-DNN instellen

Stel de DNS-naam in voor de DNN-resource in het cluster. Het cluster gebruikt deze waarde vervolgens om verkeer te routeren naar het knooppunt dat momenteel als host fungeert voor de SQL Server FCI.

Clients gebruiken de DNS-naam om verbinding te maken met de SQL Server FCI. U kunt een unieke waarde kiezen. Als u al een bestaande FCI hebt en geen clientverbindingsreeksen wilt bijwerken, kunt u de DNN configureren voor het gebruik van de huidige VNN die clients al gebruiken. Hiervoor moet u de naam van de VNN wijzigen voordat u de DNN instelt in DNS.

Gebruik deze opdracht om de DNS-naam voor uw DNN in te stellen:

Get-ClusterResource -Name <dnnResourceName> | `
Set-ClusterParameter -Name DnsName -Value <DNSName>

De DNSName waarde is wat clients gebruiken om verbinding te maken met de SQL Server FCI. Gebruik bijvoorbeeld de volgende PowerShell-opdracht om verbinding te FCIDNNmaken met clients:

Get-ClusterResource -Name dnn-demo | `
Set-ClusterParameter -Name DnsName -Value FCIDNN

Clients voeren FCIDNN nu hun verbindingsreeks in wanneer ze verbinding maken met de SQL Server FCI.

Waarschuwing

Verwijder de naam van het huidige virtuele netwerk (VNN) niet omdat dit een noodzakelijk onderdeel van de FCI-infrastructuur is.

De naam van de VNN wijzigen

Als u een bestaande naam voor een virtueel netwerk hebt en u wilt dat clients deze waarde blijven gebruiken om verbinding te maken met de SQL Server FCI, moet u de naam van de huidige VNN wijzigen in een tijdelijke aanduidingswaarde. Nadat de naam van de huidige VNN is gewijzigd, kunt u de DNS-naamwaarde voor de DNN instellen op de VNN.

Sommige beperkingen gelden voor het wijzigen van de naam van de VNN. Zie De naam van een FCI wijzigen voor meer informatie.

Als u de huidige VNN niet nodig hebt voor uw bedrijf, kunt u deze sectie overslaan. Nadat u de naam van de VNN hebt gewijzigd, stelt u de DNS-naam van het cluster-DNN in.

DNN-resource online instellen

Nadat uw DNN-resource de juiste naam heeft en u de DNS-naamwaarde in het cluster hebt ingesteld, gebruikt u PowerShell om de DNN-resource online in te stellen in het cluster:

Start-ClusterResource -Name <dnnResourceName>

Als u bijvoorbeeld uw DNN-resource dnn-demowilt starten, gebruikt u de volgende PowerShell-opdracht:

Start-ClusterResource -Name dnn-demo

Mogelijke eigenaren configureren

Standaard verbindt het cluster de DNS-naam van de DNN met alle knooppunten in het cluster. Knooppunten in het cluster die geen deel uitmaken van de SQL Server FCI moeten echter worden uitgesloten van de lijst met mogelijke DNN-eigenaren.

Voer de volgende stappen uit om mogelijke eigenaren bij te werken:

  1. Ga naar uw DNN-resource in Failoverclusterbeheer.

  2. Klik met de rechtermuisknop op de DNN-resource en selecteer Eigenschappen.

    Shortcut menu for the DNN resource, with the Properties command highlighted.

  3. Schakel het selectievakje uit voor knooppunten die niet deelnemen aan het failoverclusterexemplaren. De lijst met mogelijke eigenaren voor de DNN-resource moet overeenkomen met de lijst met mogelijke eigenaren voor de SQL Server-exemplaarresource. Als u bijvoorbeeld ervan uitgaat dat Data3 niet deelneemt aan de FCI, is de volgende afbeelding een voorbeeld van het verwijderen van Data3 uit de lijst met mogelijke eigenaren voor de DNN-resource:

    Clear the check box next to the nodes that do not participate in the FCI for possible owners of the DNN resource

  4. Selecteer OK om uw instellingen op te slaan.

SQL Server-exemplaar opnieuw opstarten

Gebruik Failoverclusterbeheer om het SQL Server-exemplaar opnieuw op te starten. Volg deze stappen:

  1. Ga naar uw SQL Server-resource in Failoverclusterbeheer.
  2. Klik met de rechtermuisknop op de SQL Server-resource en haal deze offline.
  3. Nadat alle gekoppelde resources offline zijn, klikt u met de rechtermuisknop op de SQL Server-resource en brengt u deze weer online.

Verbindingsreeks bijwerken

Werk de verbindingsreeks bij van elke toepassing die verbinding maakt met de SQL Server FCI DNN en neem deze MultiSubnetFailover=True op in de verbindingsreeks. Als uw client parameter MultiSubnetFailover niet ondersteunt, is deze niet compatibel met een DNN;

Hier volgt een voorbeeld van een verbindingsreeks voor een SQL FCI-DNN met de DNS-naam van FCIDNN:

Data Source=FCIDNN, MultiSubnetFailover=True

Als de DNN niet gebruikmaakt van de oorspronkelijke VNN, moeten SQL-clients die verbinding maken met de SQL Server FCI de verbindingsreeks bijwerken naar de DNS-naam van de DNN. Om deze vereiste te voorkomen, kunt u de DNS-naamwaarde bijwerken naar de naam van de VNN. Maar u moet eerst de bestaande VNN vervangen door een tijdelijke aanduiding .

Testfailover

Test failover van de geclusterde resource om de clusterfunctionaliteit te valideren.

Voer de volgende stappen uit om een failover te testen:

  1. Maak verbinding met een van de SQL Server-clusterknooppunten met behulp van 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 SQL Server FCI met behulp van de DNN DNS-naam.

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

IP-conflict voorkomen

Dit is een optionele stap om te voorkomen dat het virtuele IP-adres (VIP) dat door de FCI-resource wordt gebruikt, als duplicaat wordt toegewezen aan een andere resource in Azure.

Hoewel klanten nu de DNN gebruiken om verbinding te maken met de SQL Server FCI, kunnen de naam van het virtuele netwerk (VNN) en het virtuele IP-adres niet worden verwijderd omdat ze de benodigde onderdelen van de FCI-infrastructuur zijn. Omdat er echter geen load balancer meer is die het virtuele IP-adres in Azure reserveert, bestaat het risico dat aan een andere resource in het virtuele netwerk hetzelfde IP-adres wordt toegewezen als het virtuele IP-adres dat door de FCI wordt gebruikt. Dit kan leiden tot een dubbel IP-conflict.

Configureer een APIPA-adres of een toegewezen netwerkadapter om het IP-adres te reserveren.

APIPA-adres

Als u dubbele IP-adressen wilt voorkomen, configureert u een APIPA-adres (ook wel een koppelingsadres genoemd). Voer hiervoor de volgende opdracht uit:

Get-ClusterResource "virtual IP address" | Set-ClusterParameter 
    –Multiple @{"Address"="169.254.1.1";"SubnetMask"="255.255.0.0";"OverrideAddressMatch"=1;"EnableDhcp"=0}

In deze opdracht is 'virtueel IP-adres' de naam van de geclusterde VIP-adresresource en is '169.254.1.1' het APIPA-adres dat is gekozen voor het VIP-adres. Kies het adres dat het beste bij uw bedrijf past. Ingesteld OverrideAddressMatch=1 om toe te staan dat het IP-adres zich in een netwerk bevindt, inclusief de APIPA-adresruimte.

Toegewezen netwerkadapter

U kunt ook een netwerkadapter in Azure configureren om het IP-adres te reserveren dat wordt gebruikt door de resource van het virtuele IP-adres. Dit verbruikt echter het adres in de adresruimte van het subnet en er is de extra overhead om ervoor te zorgen dat de netwerkadapter niet voor een ander doel wordt gebruikt.

Beperkingen

  • De client die verbinding maakt met de DNN-listener, moet de MultiSubnetFailover=True parameter in de verbindingsreeks ondersteunen.
  • Er zijn mogelijk meer overwegingen wanneer u met andere SQL Server-functies en een FCI met een DNN werkt. Zie FCI met DNN-interoperabiliteit voor meer informatie.

Volgende stappen

Raadpleeg voor meer informatie: