Dela via


Konfigurera en DNN för en failover-klusterinstans

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

På virtuella Azure-datorer dirigerar det distribuerade nätverksnamnet (DNN) 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 (VNN) 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. Genom att konfigurera ett DNN elimineras behovet av en Azure Load Balancer för att dirigera trafik till VNN, vilket förenklar distributionen, underhållet och förbättrar failover.

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

Tips/Råd

Förenkla distributionen och eliminera behovet av en Azure Load Balancer eller ett distribuerat nätverksnamn (DNN) för din redundansklusterinstans genom att skapa dina virtuella SQL Server-datorer i flera undernät i samma virtuella Azure-nätverk.

Förutsättningar

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

Anmärkning

Varje tillgänglighetsgrupp eller redundansklusterinstans i samma kluster behöver en egen oberoende anslutningspunkt, oavsett om det är en VNN-lyssnare eller en DNN-lyssnare.

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 (Domain Name System) 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. Eller om du redan har en befintlig FCI och inte vill uppdatera klientanslutningssträngarna. Du kan 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

Klienter måste nu 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 den nuvarande VNN har bytt namn kan du ange DNS-namnvärdet för DNN till VNN. 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.

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

När du har bytt namn på det virtuella namnet ställer du sedan in klustrets DNN DNS-namn.

Ställ in DNN-resurs online

När DNN-resursen har fått ett lämpligt namn och du anger 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 DNN-resursen i Failöverklusterhanteraren.

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

    Snabbmeny för DNN-resursen med kommandot Egenskaper markerat.

  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. Anta till exempel 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:

    Avmarkera kryssrutan bredvid noderna som inte deltar i FCI för möjliga ägare av DNN-resursen

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

Starta om SQL Server-instansen

Använd Failover-klusterhanteraren för att starta om SQL Server-instansen. Följ de här stegen:

  1. Gå till din SQL Server-resurs i Failover Cluster Manager.
  2. Högerklicka på SQL Server-resursen och ta den offline.
  3. Vänta tills alla associerade resurser är offline. Högerklicka sedan på SQL Server-resursen och aktivera 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 ett 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 dessutom 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 VNN med en platshållare först.

Testa övergång till reservsystem

Genomför ett failover-test av den klustrade resursen för att validera klustrets funktionalitet.

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

  1. Anslut till en av SQL Server-klusternoderna med hjälp av Bastion.
  2. Öppna Failover-klusterhanteraren. 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

Du kan ta det här valfria steget för att förhindra att den virtuella IP-adress (VIP) som används av FCI-resursen tilldelas till en annan resurs i Azure.

Även om dina kunder nu använder DNN för att ansluta till SQL Server FCI kan du inte ta bort det virtuella nätverksnamnet (VNN) och den virtuella IP-adressen eftersom de är nödvändiga komponenter i FCI-infrastrukturen. Det finns dock inte längre någon lastbalanserare som reserverar den virtuella IP-adressen i Azure. Det finns därför en risk att en annan resurs i det virtuella nätverket kan tilldelas samma IP-adress som den virtuella IP-adressen som används av FCI:n. Den här situationen 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). Detta gör du genom att köra följande kommando:

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. Den här konfigurationen förbrukar dock adressen i undernätets adressutrymme och kräver den extra kostnaden 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.