Delen via


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:

  1. RDP naar uw eerste knooppunt en open Serverbeheer.

  2. Selecteer Lokale server en selecteer vervolgens de naam van uw virtuele machine onder Computernaam.

  3. Selecteer Wijzigen... onder Naam van deze computer wijzigen....

  4. Wijzig de naam van de werkgroepnaam in iets zinvols, zoals AGWORKGROUP:

    Change workgroup name

  5. Selecteer Meer... om het dialoogvenster DNS-achtervoegsel en NetBIOS-computernaam te openen.

  6. Typ de naam van het DNS-achtervoegsel onder het primaire DNS-achtervoegsel van deze computer, zoals ag.wgcluster.example.com en selecteer VERVOLGENS OK:

    Screenshot shows the D N S Suffix and NetBIOS Computer Name dialog box where you can enter the value.

  7. Controleer of de volledige computernaam nu het DNS-achtervoegsel weergeeft en selecteer vervolgens OK om uw wijzigingen op te slaan:

    Screenshot shows where to see your Full computer name.

  8. Start de server opnieuw op wanneer u hierom wordt gevraagd.

  9. 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:

  1. RDP naar uw virtuele machine.

  2. Gebruik Verkenner om naar c:\windows\system32\drivers\etc.

  3. Klik met de rechtermuisknop op het hosts-bestand en open het bestand met Kladblok (of een andere teksteditor).

  4. 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
    

    Add entries for the IP address, cluster, and listener to the host file

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:

  1. Open Failoverclusterbeheer op een van de knooppunten, selecteer het cluster, klik met de rechtermuisknop op de naam: <ClusterNam> onder ClusterKernresources en selecteer Vervolgens Eigenschappen.

    Launch properties for the cluster name

  2. Selecteer het IP-adres onder IP-adressen en selecteer Bewerken.

  3. Selecteer Statisch gebruiken, geef het IP-adres van het cluster op en selecteer VERVOLGENS OK:

    Provide a static IP address for the cluster

  4. Controleer of uw instellingen er juist uitzien en selecteer vervolgens OK om ze op te slaan:

    Verify cluster properties

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:

  1. Open SQL Server Management Studio en maak verbinding met uw eerste knooppunt, zoals AGNode1.

  2. 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  
    
  3. 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  
    
  4. Gebruik Verkenner om naar de bestandslocatie te gaan waar uw certificaat zich bevindt, zoals c:\certs.

  5. Maak handmatig een kopie van het certificaat, bijvoorbeeld AGNode1Cert.crtvan 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:

  1. Maak verbinding met het tweede knooppunt met SQL Server Management Studio, zoals AGNode2.

  2. 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
    
  3. 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  
    
  4. Gebruik Verkenner om naar de bestandslocatie te gaan waar uw certificaat zich bevindt, zoals c:\certs.

  5. Maak handmatig een kopie van het certificaat, bijvoorbeeld AGNode2Cert.crtvan 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: