Een werkgroep beschikbaarheidsgroep configureren
Van toepassing op: SQL Server op Azure VM
In dit artikel worden de stappen uitgelegd die nodig zijn voor het maken van een Active Directory-domeinonafhankelijk cluster met een AlwaysOn-beschikbaarheidsgroep; dit wordt ook wel een werkgroepcluster genoemd. Dit artikel is gericht op de stappen die relevant zijn voor het voorbereiden en configureren van de werkgroep en beschikbaarheidsgroep en over stappen die worden behandeld in andere artikelen, zoals het maken van het cluster of het implementeren van de beschikbaarheidsgroep.
Vereisten
Als u een beschikbaarheidsgroep voor werkgroepen wilt configureren, hebt u het volgende nodig:
- Ten minste twee virtuele Windows Server 2016-machines met SQL Server 2016 (of hoger), geïmplementeerd in dezelfde beschikbaarheidsset of verschillende beschikbaarheidszones, met behulp van statische IP-adressen.
- Een lokaal netwerk met minimaal 4 gratis IP-adressen op het subnet.
- Een account op elke computer in de beheerdersgroep die ook sysadmin-rechten heeft in SQL Server.
- Open poorten: TCP 1433, TCP 5022, TCP 59999.
Ter referentie worden de volgende parameters gebruikt in dit artikel, maar kunnen naar behoefte worden gewijzigd:
Naam | Parameter |
---|---|
Node1 | AGNode1 (10.0.0.4) |
Node2 | AGNode2 (10.0.0.5) |
Clusternaam | AGWGAG (10.0.0.6) |
Luisteraar | AGListener (10.0.0.7) |
DNS-achtervoegsel | ag.wgcluster.example.com |
Naam van werkgroep | AGWorkgroup |
Een DNS-achtervoegsel instellen
In deze stap configureert u het DNS-achtervoegsel voor beide servers. Bijvoorbeeld: ag.wgcluster.example.com
. Hiermee kunt u de naam gebruiken van het object waarmee u verbinding wilt maken als een volledig gekwalificeerde adres binnen uw netwerk, zoals AGNode1.ag.wgcluster.example.com
.
Volg deze stappen om het DNS-achtervoegsel te configureren:
RDP naar uw eerste knooppunt en open Serverbeheer.
Selecteer Lokale server en selecteer vervolgens de naam van uw virtuele machine onder Computernaam.
Selecteer Wijzigen... onder Naam van deze computer wijzigen....
Wijzig de naam van de werkgroepnaam in iets zinvols, zoals
AGWORKGROUP
:Selecteer Meer... om het dialoogvenster DNS-achtervoegsel en NetBIOS-computernaam te openen.
Typ de naam van het DNS-achtervoegsel onder het primaire DNS-achtervoegsel van deze computer, zoals
ag.wgcluster.example.com
en selecteer VERVOLGENS OK:Controleer of de volledige computernaam nu het DNS-achtervoegsel weergeeft en selecteer vervolgens OK om uw wijzigingen op te slaan:
Start de server opnieuw op wanneer u hierom wordt gevraagd.
Herhaal deze stappen op andere knooppunten die moeten worden gebruikt voor de beschikbaarheidsgroep.
Een hostbestand bewerken
Omdat er geen Active Directory is, is er geen manier om Windows-verbindingen te verifiëren. Wijs daarom een vertrouwensrelatie toe door het hostbestand te bewerken met een teksteditor.
Voer de volgende stappen uit om het hostbestand te bewerken:
RDP naar uw virtuele machine.
Gebruik Verkenner om naar
c:\windows\system32\drivers\etc
.Klik met de rechtermuisknop op het hosts-bestand en open het bestand met Kladblok (of een andere teksteditor).
Voeg aan het einde van het bestand een vermelding toe voor elk knooppunt, de beschikbaarheidsgroep en de listener in de vorm van
IP Address, DNS Suffix #comment
:10.0.0.4 AGNode1.ag.wgcluster.example.com #Availability group node 10.0.0.5 AGNode2.ag.wgcluster.example.com #Availability group node 10.0.0.6 AGWGAG.ag.wgcluster.example.com #Cluster IP 10.0.0.7 AGListener.ag.wgcluster.example.com #Listener IP
Machtigingen instellen
Omdat er geen Active Directory is om machtigingen te beheren, moet u handmatig een niet-ingebouwd lokaal beheerdersaccount toestaan om het cluster te maken.
Voer hiervoor de volgende PowerShell-cmdlet uit in een PowerShell-sessie met beheerdersrechten op elk knooppunt:
new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1
Het failovercluster maken
In deze stap maakt u het failovercluster. Als u niet bekend bent met deze stappen, kunt u deze volgen vanuit de zelfstudie over het failovercluster.
Belangrijke verschillen tussen de zelfstudie en wat er moet worden gedaan voor een werkgroepcluster:
- Schakel Opslag en Opslagruimten Direct uit bij het uitvoeren van de clustervalidatie.
- Wanneer u de knooppunten aan het cluster toevoegt, voegt u de volledig gekwalificeerde naam toe, zoals:
AGNode1.ag.wgcluster.example.com
AGNode2.ag.wgcluster.example.com
- Schakel het selectievakje Alle in aanmerking komende opslag toevoegen aan het cluster uit.
Zodra het cluster is gemaakt, wijst u een statisch CLUSTER-IP-adres toe. Dit doet u als volgt:
Open Failoverclusterbeheer op een van de knooppunten, selecteer het cluster, klik met de rechtermuisknop op de naam: <ClusterNam> onder ClusterKernresources en selecteer Vervolgens Eigenschappen.
Selecteer het IP-adres onder IP-adressen en selecteer Bewerken.
Selecteer Statisch gebruiken, geef het IP-adres van het cluster op en selecteer VERVOLGENS OK:
Controleer of uw instellingen er juist uitzien en selecteer vervolgens OK om ze op te slaan:
Een cloudwitness maken
In deze stap configureert u een cloudsharewitness. Zie Een cloudwitness implementeren voor een failovercluster als u niet bekend bent met de stappen.
De functie beschikbaarheidsgroep inschakelen
In deze stap schakelt u de functie van de beschikbaarheidsgroep in. Als u niet bekend bent met de stappen, raadpleegt u de zelfstudie over de beschikbaarheidsgroep.
Sleutels en certificaten maken
In deze stap maakt u certificaten die door een SQL-aanmelding worden gebruikt op het versleutelde eindpunt. Maak een map op elk knooppunt voor het opslaan van de certificaatback-ups, zoals c:\certs
.
Voer de volgende stappen uit om het eerste knooppunt te configureren:
Open SQL Server Management Studio en maak verbinding met uw eerste knooppunt, zoals
AGNode1
.Open een nieuw queryvenster en voer de volgende Transact-SQL-instructie (T-SQL) uit na het bijwerken naar een complex en veilig wachtwoord:
USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'PassWOrd123!'; GO --create a cert from the master key USE master; CREATE CERTIFICATE AGNode1Cert WITH SUBJECT = 'AGNode1 Certificate'; GO --Backup the cert and transfer it to AGNode2 BACKUP CERTIFICATE AGNode1Cert TO FILE = 'C:\certs\AGNode1Cert.crt'; GO
Maak vervolgens het HADR-eindpunt en gebruik het certificaat voor verificatie door deze Transact-SQL-instructie (T-SQL) uit te voeren:
--CREATE or ALTER the mirroring endpoint CREATE ENDPOINT hadr_endpoint STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE AGNode1Cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); GO
Gebruik Verkenner om naar de bestandslocatie te gaan waar uw certificaat zich bevindt, zoals
c:\certs
.Maak handmatig een kopie van het certificaat, bijvoorbeeld
AGNode1Cert.crt
van het eerste knooppunt, en breng het over naar dezelfde locatie op het tweede knooppunt.
Voer de volgende stappen uit om het tweede knooppunt te configureren:
Maak verbinding met het tweede knooppunt met SQL Server Management Studio, zoals
AGNode2
.Voer in een nieuw queryvenster de volgende Transact-SQL-instructie (T-SQL) uit na het bijwerken naar een complex en veilig wachtwoord:
USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'PassWOrd123!'; GO --create a cert from the master key USE master; CREATE CERTIFICATE AGNode2Cert WITH SUBJECT = 'AGNode2 Certificate'; GO --Backup the cert and transfer it to AGNode1 BACKUP CERTIFICATE AGNode2Cert TO FILE = 'C:\certs\AGNode2Cert.crt'; GO
Maak vervolgens het HADR-eindpunt en gebruik het certificaat voor verificatie door deze Transact-SQL-instructie (T-SQL) uit te voeren:
--CREATE or ALTER the mirroring endpoint CREATE ENDPOINT hadr_endpoint STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE AGNode2Cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); GO
Gebruik Verkenner om naar de bestandslocatie te gaan waar uw certificaat zich bevindt, zoals
c:\certs
.Maak handmatig een kopie van het certificaat, bijvoorbeeld
AGNode2Cert.crt
van het tweede knooppunt, en breng het over naar dezelfde locatie op het eerste knooppunt.
Als er andere knooppunten in het cluster zijn, herhaalt u deze stappen ook en wijzigt u de respectieve certificaatnamen.
Aanmeldingen maken
Certificaatverificatie wordt gebruikt voor het synchroniseren van gegevens tussen knooppunten. Als u dit wilt toestaan, maakt u een aanmelding voor het andere knooppunt, maakt u een gebruiker voor de aanmelding, maakt u een certificaat voor de aanmelding om het back-upcertificaat te gebruiken en verleent u vervolgens verbinding op het mirroring-eindpunt.
Voer hiervoor eerst de volgende Transact-SQL-query (T-SQL) uit op het eerste knooppunt, zoals AGNode1
:
--create a login for the AGNode2
USE master;
CREATE LOGIN AGNode2_Login WITH PASSWORD = 'PassWord123!';
GO
--create a user from the login
CREATE USER AGNode2_User FOR LOGIN AGNode2_Login;
GO
--create a certificate that the login uses for authentication
CREATE CERTIFICATE AGNode2Cert
AUTHORIZATION AGNode2_User
FROM FILE = 'C:\certs\AGNode2Cert.crt'
GO
--grant connect for login
GRANT CONNECT ON ENDPOINT::hadr_endpoint TO [AGNode2_login];
GO
Voer vervolgens de volgende Transact-SQL-query (T-SQL) uit op het tweede knooppunt, zoals AGNode2
:
--create a login for the AGNode1
USE master;
CREATE LOGIN AGNode1_Login WITH PASSWORD = 'PassWord123!';
GO
--create a user from the login
CREATE USER AGNode1_User FOR LOGIN AGNode1_Login;
GO
--create a certificate that the login uses for authentication
CREATE CERTIFICATE AGNode1Cert
AUTHORIZATION AGNode1_User
FROM FILE = 'C:\certs\AGNode1Cert.crt'
GO
--grant connect for login
GRANT CONNECT ON ENDPOINT::hadr_endpoint TO [AGNode1_login];
GO
Als er andere knooppunten in het cluster zijn, herhaalt u deze stappen ook en wijzigt u het respectieve certificaat en de gebruikersnamen.
Een beschikbaarheidsgroep configureren
In deze stap configureert u uw beschikbaarheidsgroep en voegt u er uw databases aan toe. Maak op dit moment geen listener. Als u niet bekend bent met de stappen, raadpleegt u de zelfstudie over de beschikbaarheidsgroep. Zorg ervoor dat u een failover en failback start om te controleren of alles werkt zoals het moet.
Notitie
Als er een fout optreedt tijdens het synchronisatieproces, moet u mogelijk sysadmin-rechten verlenen NT AUTHORITY\SYSTEM
om clusterbronnen te maken op het eerste knooppunt, zoals AGNode1
tijdelijk.
Een load balancer configureren
In deze laatste stap configureert u de load balancer met behulp van Azure Portal of PowerShell.
Er kunnen echter enkele beperkingen zijn wanneer u de GUI van het Windows-cluster gebruikt. Als zodanig moet u PowerShell gebruiken om een clienttoegangspunt of de netwerknaam voor uw listener te maken met het volgende voorbeeldscript:
Add-ClusterResource -Name "IPAddress1" -ResourceType "IP Address" -Group "WGAG"
Get-ClusterResource -Name IPAddress1 | Set-ClusterParameter -Multiple @{"Network" = "Cluster Network 1";"Address" = "10.0.0.4";"SubnetMask" = "255.0.0.0";"EnableDHCP" = 0}
Add-ClusterResource -Name "IPAddress2" -ResourceType "IP Address" -Group "WGAG"
Get-ClusterResource -Name IPAddress2 | Set-ClusterParameter -Multiple @{"Network" = "Cluster Network 2";"Address" = "10.0.0.5";"SubnetMask" = "255.0.0.0";"EnableDHCP" = 0}
Add-ClusterResource -Name "TestName" -Group "WGAG" -ResourceType "Network Name"
Get-ClusterResource -Name "TestName" | Set-ClusterParameter -Multiple @{"DnsName" = "TestName";"RegisterAllProvidersIP" = 1}
Set-ClusterResourceDependency -Resource TestName -Dependency "[IPAddress1] or [IPAddress2]"
Start-ClusterResource -Name TestName -Verbose
Volgende stappen
Zodra de beschikbaarheidsgroep is geïmplementeerd, kunt u overwegen om de HADR-instellingen voor SQL Server op Azure-VM's te optimaliseren.
Raadpleeg voor meer informatie: