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:
- SQL Server börjar med antingen SQL Server 2019 CU8 och senare, SQL Server 2017 CU25 och senare, eller SQL Server 2016 SP3 och senare i Windows Server 2016 och senare.
- Beslutade att det distribuerade nätverksnamnet är lämpligt anslutningsalternativ för din HADR-lösning.
- Konfigurerade dina redundansklusterinstanser.
- Den senaste versionen av PowerShell har installerats.
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 FCIDNN
anvä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-demo
anvä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:
Gå till din DNN-resurs i Klusterhanteraren för växling vid fel.
Högerklicka på DNN-resursen och välj Egenskaper.
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:
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:
- Gå till SQL Server-resursen i Klusterhanteraren för växling vid fel.
- Högerklicka på SQL Server-resursen och ta den offline.
- 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:
- Anslut till en av SQL Server-klusternoderna med hjälp av RDP.
- Öppna Hanteraren för redundanskluster. Välj Roller. Observera vilken nod som äger SQL Server FCI-rollen.
- Högerklicka på SQL Server FCI-rollen.
- 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: