Konfigurera DNN för en redundansklusterinstans

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

Dricks

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 dirigerar DNN (distribuerat nätverksnamn) trafik till lämplig klustrad resurs. Det är ett enklare sätt att ansluta till SQL Server-redundansklusterinstansen (FCI) än det virtuella nätverksnamnet (VNN), utan att behöva en Azure Load Balancer.

I den här artikeln lär du dig att konfigurera en DNN-resurs för att dirigera trafik till din redundansklusterinstans med SQL Server på virtuella Azure-datorer för hög tillgänglighet och haveriberedskap (HADR).

Om du vill ha ett alternativt anslutningsalternativ bör du överväga ett virtuellt nätverksnamn och Azure Load Balancer i stället.

Översikt

Det distribuerade nätverksnamnet (DNN) ersätter det virtuella nätverksnamnet (VNN) som anslutningspunkt när det används med en AlwaysOn-klusterinstans för redundanskluster på virtuella SQL Server-datorer. Detta förhindrar behovet av en Azure Load Balancer-routningstrafik till det virtuella nätverket, vilket förenklar distributionen, underhållet och förbättrar redundansväxlingen.

Med en FCI-distribution finns VNN fortfarande, men klienten ansluter till DNN DNS-namnet i stället för VNN-namnet.

Förutsättningar

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

Skapa DNN-resurs

DNN-resursen skapas i samma klustergrupp som SQL Server FCI. Använd PowerShell för att skapa DNN-resursen i FCI-klustergruppen.

Följande PowerShell-kommando lägger till en DNN-resurs i SQL Server FCI-klustergruppen med resursnamnet <dnnResourceName>. Resursnamnet används för att unikt identifiera en resurs. Använd en som passar dig och som är unik i klustret. Resurstypen måste vara Distributed Network Name.

Värdet -Group måste vara namnet på klustergruppen som motsvarar SQL Server FCI där du vill lägga till det distribuerade nätverksnamnet. För en standardinstans är SQL Server (MSSQLSERVER)det typiska formatet .

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

Om du till exempel vill skapa din DNN-resurs dnn-demo för en SQL Server FCI-standard använder du följande PowerShell-kommando:

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

Ange kluster-DNN DNS-namn

Ange DNS-namnet för DNN-resursen i klustret. Klustret använder sedan det här värdet för att dirigera trafik till den nod som för närvarande är värd för SQL Server FCI.

Klienter använder DNS-namnet för att ansluta till SQL Server FCI. Du kan välja ett unikt värde. Om du redan har en befintlig FCI och inte vill uppdatera klientanslutningssträngar kan du konfigurera DNN för att använda det aktuella VNN som klienterna redan använder. För att göra det måste du byta namn på det virtuella nätverket innan du anger DNN i DNS.

Använd det här kommandot för att ange DNS-namnet för ditt DNN:

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

Värdet DNSName är vad klienter använder för att ansluta till SQL Server FCI. Om du till exempel vill att klienter ska ansluta till FCIDNNanvänder du följande PowerShell-kommando:

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

Klienterna kommer nu att ange FCIDNN sin anslutningssträng när de ansluter till SQL Server FCI.

Varning

Ta inte bort det aktuella virtuella nätverksnamnet (VNN) eftersom det är en nödvändig komponent i FCI-infrastrukturen.

Byt namn på VNN

Om du har ett befintligt virtuellt nätverksnamn och vill att klienterna ska fortsätta att använda det här värdet för att ansluta till SQL Server FCI måste du byta namn på det aktuella virtuella nätverket till ett platshållarvärde. När det aktuella VNN:t har bytt namn kan du ange DNS-namnvärdet för DNN till det virtuella nätverket.

Vissa begränsningar gäller för att byta namn på det virtuella nätverket. Mer information finns i Byta namn på en FCI.

Om du inte behöver använda det aktuella virtuella nätverket för ditt företag kan du hoppa över det här avsnittet. När du har bytt namn på VNN anger du sedan klustrets DNN DNS-namn.

Ange DNN-resurs online

När DNN-resursen har fått ett lämpligt namn och du har angett DNS-namnvärdet i klustret använder du PowerShell för att ställa in DNN-resursen online i klustret:

Start-ClusterResource -Name <dnnResourceName>

Om du till exempel vill starta din DNN-resurs dnn-demoanvänder du följande PowerShell-kommando:

Start-ClusterResource -Name dnn-demo

Konfigurera möjliga ägare

Som standard binder klustret DNN DNS-namnet till alla noder i klustret. Noder i klustret som inte ingår i SQL Server FCI bör dock undantas från listan över möjliga DNN-ägare.

Följ dessa steg för att uppdatera möjliga ägare:

  1. Gå till din DNN-resurs i Klusterhanteraren för växling vid fel.

  2. Högerklicka på DNN-resursen och välj Egenskaper.

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

  3. Avmarkera kryssrutan för alla noder som inte deltar i redundansklusterinstansen. Listan över möjliga ägare för DNN-resursen ska matcha listan över möjliga ägare för SQL Server-instansresursen. Om du till exempel antar att Data3 inte deltar i FCI:n är följande bild ett exempel på hur du tar bort Data3 från listan över möjliga ägare för DNN-resursen:

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

  4. Spara inställningarna genom att välja OK.

Starta om SQL Server-instansen

Använd Klusterhanteraren för växling vid fel för att starta om SQL Server-instansen. Följ stegen nedan:

  1. Gå till SQL Server-resursen i Klusterhanteraren för växling vid fel.
  2. Högerklicka på SQL Server-resursen och ta den offline.
  3. När alla associerade resurser är offline högerklickar du på SQL Server-resursen och ansluter den igen.

Uppdatera anslutningssträng

Uppdatera anslutningssträngen för alla program som ansluter till SQL Server FCI DNN och inkludera MultiSubnetFailover=True i anslutningssträngen. Om klienten inte stöder parametern MultiSubnetFailover är den inte kompatibel med DNN.

Följande är ett exempel på en anslutningssträng för en SQL FCI DNN med DNS-namnet FCIDNN:

Data Source=FCIDNN, MultiSubnetFailover=True

Om DNN inte använder det ursprungliga virtuella nätverket måste SQL-klienter som ansluter till SQL Server FCI uppdatera anslutningssträngen till DNN DNS-namnet. För att undvika det här kravet kan du uppdatera DNS-namnvärdet så att det är namnet på det virtuella nätverket. Men du måste ersätta det befintliga virtuella nätverket med en platshållare först.

Redundanstest

Testa redundans för den klustrade resursen för att verifiera klusterfunktionerna.

Följ dessa steg för att testa redundans:

  1. Anslut till en av SQL Server-klusternoderna med hjälp av RDP.
  2. Öppna Hanteraren för redundanskluster. Välj Roller. Observera vilken nod som äger SQL Server FCI-rollen.
  3. Högerklicka på SQL Server FCI-rollen.
  4. Välj Flytta och välj sedan Bästa möjliga nod.

Klusterhanteraren för redundans visar rollen och dess resurser kopplas från. Resurserna flyttas sedan och kommer tillbaka online i den andra noden.

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 SQL Server FCI med hjälp av DNN DNS-namnet.

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

Undvik IP-konflikt

Det här är ett valfritt steg för att förhindra att den virtuella IP-adress (VIP) som används av FCI-resursen tilldelas till en annan resurs i Azure som en dubblett.

Även om kunderna nu använder DNN för att ansluta till SQL Server FCI kan inte det virtuella nätverksnamnet (VNN) och virtuella IP-adresser tas bort eftersom de är nödvändiga komponenter i FCI-infrastrukturen. Men eftersom det inte längre finns någon lastbalanserare som reserverar den virtuella IP-adressen i Azure finns det en risk att en annan resurs i det virtuella nätverket tilldelas samma IP-adress som den virtuella IP-adressen som används av FCI:n. Detta kan potentiellt leda till ett duplicerat IP-konfliktproblem.

Konfigurera en APIPA-adress eller ett dedikerat nätverkskort för att reservera IP-adressen.

APIPA-adress

Om du vill undvika att använda duplicerade IP-adresser konfigurerar du en APIPA-adress (kallas även för en länklokal adress). Kör följande kommando för att göra det:

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

I det här kommandot är "virtuell IP-adress" namnet på den klustrade VIP-adressresursen och "169.254.1.1" är den APIPA-adress som valts för VIP-adressen. Välj den adress som passar bäst för ditt företag. Ange OverrideAddressMatch=1 så att IP-adressen kan finnas i alla nätverk, inklusive APIPA-adressutrymmet.

Dedikerat nätverkskort

Du kan också konfigurera ett nätverkskort i Azure för att reservera IP-adressen som används av den virtuella IP-adressresursen. Detta förbrukar dock adressen i undernätets adressutrymme, och det finns ytterligare kostnader för att se till att nätverkskortet inte används för något annat ändamål.

Begränsningar

  • Klienten som ansluter till DNN-lyssnaren måste ha stöd för parametern MultiSubnetFailover=True i anslutningssträngen.
  • Det kan finnas fler överväganden när du arbetar med andra SQL Server-funktioner och en FCI med ett DNN. Mer information finns i FCI med DNN-samverkan.

Nästa steg

Du kan läsa mer här: