sql >> Database teknologi >  >> RDS >> Sqlserver

Konfiguration af AlwaysOn Availability Groups på SQL Server

INTRODUKTION

Dette dokument beskriver de trin og yderligere oplysninger, der er nødvendige for at konfigurere AlwaysOn Availability Groups for HA og DR på MS SQL Server. AlwaysOn Availability Groups er en HA-DR-løsning introduceret i SQL Server 2012, designet som en kombination af Transaction Log Shipping og Database Mirroring.

AlwaysOn AG implementerer HA på databaseniveau, selvom de noder, der hoster SQL-instanser og deltager i konfigurationen, er en del af en Windows Failover Cluster. Vi refererer til hver node som en tilgængelighedsreplika.

I en typisk konfiguration er der en primær replika og en eller flere skrivebeskyttede sekundære replikaer. En gruppe af databaser konfigureret i en Tilgængelighedsgruppe kan sendes over til en alternativ replika sammen.

Forudsætninger

1.1 Forudsætninger

1.1.1 To eller flere Windows 2012 eller nyere servere (Enterprise Edition) med de nyeste patches
1.1.2 Service tegner sig for SQL Server-instanser
1.1.3 En fildeling på en anden betroet server end de servere, der deltager i klyngen
1.1.4 SQL 2012 eller højere installationsmedie sammen med Service Packs
1.1.5 To ekstra IP-adresser udover de offentlige IP-adresser på de deltagende servere
1.1.6 En DBA, en Windows AD-administrator, en netværksadministrator

RESUMÉ

1.2 Konfigurationsproceduren omfatter følgende trin:

1.2.1 Aktiver klyngedannelse på alle noder
1.2.2 Valider knudepunkterne til klyngedannelse
1.2.3 Opret en klynge
1.2.4 Konfigurer kvorum
1.2.5 Installer SQL Server på alle noder
1.2.6 Aktiver AlwaysOn-tilgængelighedsgrupper på alle forekomster
1.2.7 Opret en tilgængelighedsgruppe
1.2.8 Tilføj en AG-lytter

PROCEDURE

1.3 Aktiver klyngedannelse på alle noder

1.3.1 Åbn Serveradministrator på windows

1.3.2 Start Tilføj roller og funktioner Wizard

Windows Failover Clustering er en Windows-funktion. Du kan aktivere det via guiden.

1.3.3 Accepter standardindstillinger, indtil du når Funktionsstadiet.

På dette stadium skal vi vælge en server at konfigurere. I dette scenarie har vi at gøre med den lokale server (se figur 4).

Vi har skjult servernavnene af sikkerhedsmæssige årsager, men du vil se det i den nederste rude (Figur 4).

På nuværende tidspunkt planlægger vi ikke at konfigurere en rolle. Så vi klikker på NÆSTE og følger, indtil vi kommer til Funktioner (Figur 6).

Aktiver afkrydsningsfeltet for Failover Clustering. Klik derefter på INSTALLER.

1.3.4 Vælg Failover Clustering i Funktionsstadiet

1.3.5 Luk guiden, når den er færdig

1.4 Validerer serverne til klyngedannelse

Vi har aktiveret klyngedannelse ved at følge trinene i det foregående afsnit. Vi skal gentage disse trin for hver server, der skal deltage i failover-klyngen.

Windows understøtter i øjeblikket op til 64 noder i en failover-klynge. Windows 2019 forbedrer anvendeligheden af ​​dette store antal ved at tilbyde en funktion kendt som Cluster Sets. Validering af potentielle medlemsservere i en klynge betyder at kontrollere, om de alle er konfigureret korrekt til at deltage i klyngen.

1.4.1 Åbn Failover Cluster Manager

1.4.2 Åbn Valider konfiguration Guiden til højre.

1.4.3 På Vælg servere fase, angiv alle servere beregnet til klyngen. Endnu en gang har vi skjult udvalgte servere.

Vi kan tilføje alle deltagende servere fra denne skærm.

1.4.4 Accepter standardindstillingen "Kør alle tests".

1.4.5 Ignorer de diskrelaterede advarsler. Du behøver ikke delte diske til AlwaysOn-konfiguration.

1.4.6 Fuldfør guiden

På dette tidspunkt kan du gennemgå valideringsrapporten. Skulle der være problemer, kan du rette dem, før du fortsætter. Nogle advarsler kan ignoreres, men sørg for at undersøge deres betydning.

1.5 Opret en klynge

1.5.1 På Failover Cluster Manager skal du starte Create Cluster Wizard.

1.5.2 Tilføj alle servere beregnet til klyngedannelse.

Denne skærm er ligesom Valider en konfiguration Skærm . Vi kan også tilføje alle de nødvendige noder på én gang.

For at tilføje servere skal du klikke på Gennemse knap.

1.5.3 Angiv det ønskede klyngenavn og en tilknyttet IP-adresse

Dette navn virker til at skabe et Computernavnobjekt på domænet. Derfor skal du have tilladelser til at oprette computerobjekter til den konto, der udfører installationen. Bemærk også, at alle IP-adresser, der bruges til alle medlemmer af klyngen, skal være i det samme undernet, undtagen hvis du opretter en klynge med flere websteder.

Når du opretter en Failover-klynge til AlwaysOn-tilgængelighedsgrupper, behøver vi ikke tilføje diske til klyngen. Så lad indstillingen være umarkeret (se figur 19).

1.5.4 Fuldfør Opret klynge Wizard

1.6 Konfigurer kvorum

Kvorum angiver antallet af klyngemedlemmer, der skal være online for at angive klyngen tilgængelig. Microsoft tillader forskellige kvorumsmuligheder. Nogle af dem lader diskene eller fildelingerne være klyngemedlemmer.

Typisk skal det være et ulige antal medlemmer. Nogle konfigurationer tillader os dog at bruge et lige tal og fjerne stemmerettigheder fra én node. Et vidne er et ikke-serverobjekt, som du kan bruge til at udgøre det ulige antal vælgere. En fildelingsvidne får præference i AlwaysOn-konfigurationen, da der ikke er nogen delt disk i en AlwaysOn-konfiguration.

1.6.1 Opret en share på en pålidelig server, der ikke deltager i klyngen. Giv derefter fulde tilladelser til Computernavnobjektet med samme navn som din klynge (trin 4.3.3).

1.6.2 Højreklik på den klynge, du lige har oprettet, og vælg Flere handlinger> Konfigurer indstillinger for klyngekvorum.

1.6.3 Vælg muligheden for at konfigurere et kvorumsvidne

1.6.4 Vælg muligheden for at konfigurere et fildelingsvidne

1.6.5 Vælg fildeling (se 4.4.1):

1.6.6 Fuldfør vidne-konfigurationen

1.7 Installer SQL Server

Installer enkelte forekomster af SQL Server på alle servere, der deltager i klyngen. Det er muligt at fuldføre denne konfiguration med succes, selvom den tidligere SQL Servers konfiguration fandt sted før oprettelse af klyngen.

Bemærk, at SQL Server-instanserne ikke er grupperet i en AlwaysOn-konfiguration. Du konfigurerer og administrerer HA på databaseniveau for databasegrupperne. Se den relevante dokumentation for installation af SQL Server.

1.8 Aktiver AlwaysOn Availability Groups

1.8.1 Åbn SQL Server Configuration Manager på hver node

1.8.2 Højreklik på SQL Server-tjenesten. Åbn fanen AlwaysOn High Availability.

1.8.3 Vælg Aktiver AlwaysOn Availability Groups afkrydsningsfelt

Bemærk, at du allerede på det tidspunkt får identifikation af den tidligere konfigurerede klynge. På denne måde forstærker du rækkefølgen af ​​trinene. Du skal aktivere klyngedannelse på hver klyngenode, før du aktiverer AlwaysOn på hver SQL Server-instans.

1.8.4 Genstart SQL Server Service

1.9 Opret en ny tilgængelighedsgruppe

1.9.1 Åbn SQL Server Management Studio

1.9.2 Højreklik på AlwaysOn High Availability> Tilgængelighedsgrupper og vælg Guiden Ny tilgængelighedsgruppe .

1.9.3 Følg guiden

1.9.4 Angiv navnet på tilgængelighedsgruppen. Dette navn vil blive brugt til at oprette en klyngerolle.

Tilgængelighedsgruppenavnet er også et virtuelt navneobjekt med en indgang i Microsoft Active Directory. Før dette virker, bruges computernavneobjektet som Klyngenavn skal have tilladelser til (1) Opret computerobjekter og (2) Læs alle egenskaberActive Directory .

1.9.5 Vælg de databaser, der ønskes en del af denne tilgængelighedsgruppe. Der kan være flere tilgængelighedsgrupper i et sæt instanser. De involverede databaser skal konfigureres med Fuld Recovery Model , og du skal tage en backup. Guiden vil tjekke for disse forudsætninger.

1.9.6 Vælg de forekomster, der skal fungere som sekundære replikaer

Bestem, om du har brug for synkron eller asynkron replikering og automatisk eller kun manuel failover. Detaljer om disse valgs implikationer findes i Microsoft-dokumentationen, der er defineret i slutningen af ​​dette dokument.

Typisk er Synchronous-Commit Mode med Automatic Failover til lokal modstandsdygtighed, og Asynchronous-Commit Mode er til brug af AlwaysOn som en DR-løsning på grund af latensproblemer.

1.9.7 Opret en fildeling til den indledende backup

Denne fildeling bruges til at initialisere replikeringen. SQL Server-tjenestekontoen skal have fulde tilladelser til denne fildeling. Det tages for givet, at de SQL Server-instanser, der deltager i denne konfiguration, bruger den samme domænekonto som SQL Server-tjenestekontoen.

1.9.8 Vælg den share, der blev oprettet i trin 4.7.9 som den indledende databasesikkerhedskopieringsplacering.

1.9.9 Gennemgå valideringsstadiet. Bemærk, at lytteren ikke er oprettet. Du kan gøre det senere.

1.9.10 Gennemgå oversigten over muligheder og fuldfør konfigurationen

1.10 Tilføj en AG-lytter

En Availability Group Listener lader applikationer oprette forbindelse til den primære, uanset hvilken node der i øjeblikket spiller denne rolle. Det hjælper med at gøre failovers gennemsigtige for applikationer.

1.10.1 Højreklik på AlwayOn High Availability> Availability Group Listener og vælg Tilføj lytter .

En tilgængelighedsgruppelytter er også et virtuelt navneobjekt (VNO), som du vil oprette på domænet. Det kræver således en tilknyttet IP-adresse.

Som tidligere nævnt skal det CNO-objekt (Cluster Name Object), der er angivet ved oprettelse af klyngen, have to tilladelser på Active Directory-domænet for at dette kan fungere:

jeg. Opret computerobjekter
ii. Læs alle egenskaber

1.10.2 Konfigurationen er fuldført. Du kan se dashboardet:

1.11 Problemer

Clustered Storage

Under den første kørsel af klyngen oprettes, bliver alle diske på klyngen noderne tilføjet til klyngen. Det er ikke den ønskede tilstand for AlwaysOn Availability Groups.

Løsningen var at ødelægge klyngen efterfulgt af oprydning og genskabe den med afkrydsningsfeltet Tilføj alt kvalificeret lager til klyngen ryddet i trin 4.3.3.

Det var umuligt at genskabe klyngen, før du ryddede op i noderne med Clear-ClusterNode PowerShell Commandlet.

Automatisk failover

Afprøvning af automatisk failover ved at stoppe SQL Server Service fra SQL Server Configuration Manager virkede ikke. PowerShell Commandlet Get-ClusterLog genererede klyngeloggen -Node -TimeSpan 10, og den identificerede følgende fejl:

000007f4.00002320::2016/07/07-06:10:59.654 ADVARSEL [RCM] Fejler ikke over gruppe EPG-SERVER-AG, failoverCount 25, failoverThresholdSetting 20, lastFailover 1601/01/00:

Løsningen var at ændre de "maksimale fejl" i den angivne periode for Availability Group Cluster Rollen til en meget højere værdi.

1.12 Referencer

  1. Always On Availability Groups
  2. Failover og Failover Modes
  3. Tilgængelighedstilstande

  1. Hent en liste over private procedurer/funktioner fra et pakkelegeme

  2. MuleSoft omfavner GraphQL til at fremme API-integration

  3. MS Access-korruption Del 1:Almindelige årsager

  4. SQL Server trigger indsæt værdier fra ny række i en anden tabel