Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server på en virtuell Azure-dator
I den här artikeln beskrivs de steg som krävs för att skapa ett Domänoberoende Active Directory-kluster med en AlwaysOn-tillgänglighetsgrupp. Detta kallas även för ett arbetsgruppskluster. Den här artikeln fokuserar på de steg som är relevanta för att förbereda och konfigurera arbetsgrupp och tillgänglighetsgrupp, och slätar över steg som beskrivs i andra artiklar, till exempel hur du skapar klustret eller distribuerar tillgänglighetsgruppen.
Förutsättningar
För att konfigurera en arbetsgrupps tillgänglighetsgrupp behöver du följande:
- Minst två virtuella Windows Server 2016-datorer (eller senare) som kör SQL Server 2016 (eller senare), distribuerade till samma tillgänglighetsuppsättning eller olika tillgänglighetszoner med statiska IP-adresser.
- Ett lokalt nätverk med minst 4 kostnadsfria IP-adresser i undernätet.
- Ett konto på varje dator i administratörsgruppen som också har sysadmin-rättigheter i SQL Server.
- Öppna portar: TCP 1433, TCP 5022, TCP 59999.
Som referens används följande parametrar i den här artikeln, men kan ändras efter behov:
Namn | Parameter |
---|---|
Node1 | AGNode1 (10.0.0.4) |
Node2 | AGNode2 (10.0.0.5) |
Klusternamn | AGWGAG (10.0.0.6) |
Lyssnaren | AGListener (10.0.0.7) |
DNS-suffix | ag.wgcluster.example.com |
Namn på arbetsgrupp | AGWorkgroup |
Ange ett DNS-suffix
I det här steget konfigurerar du DNS-suffixet för båda servrarna. Exempel: ag.wgcluster.example.com
På så sätt kan du använda namnet på det objekt som du vill ansluta till som en fullständigt kvalificerad adress i nätverket, till exempel AGNode1.ag.wgcluster.example.com
.
Följ dessa steg för att konfigurera DNS-suffixet:
RDP till din första nod och öppna Serverhanteraren.
Välj Lokal server och välj sedan namnet på den virtuella datorn under Datornamn.
Välj Ändra... under Om du vill byta namn på den här datorn....
Ändra namnet på arbetsgruppsnamnet till något meningsfullt, till exempel
AGWORKGROUP
:Välj Mer... för att öppna dialogrutan DNS-suffix och NetBIOS-datornamn .
Ange namnet på DNS-suffixet under primärt DNS-suffix för den här datorn, till exempel
ag.wgcluster.example.com
och välj sedan OK:Bekräfta att det fullständiga datornamnet nu visar DNS-suffixet och välj sedan OK för att spara ändringarna:
Starta om servern när du uppmanas att göra det.
Upprepa de här stegen på andra noder som ska användas för tillgänglighetsgruppen.
Redigera en värdfil
Eftersom det inte finns någon Active Directory finns det inget sätt att autentisera Windows-anslutningar. Tilldela därför förtroende genom att redigera värdfilen med en textredigerare.
Följ dessa steg för att redigera värdfilen:
RDP i till den virtuella datorn.
Använd Utforskaren för att gå till
c:\windows\system32\drivers\etc
.Högerklicka på värdfilen och öppna filen med Anteckningar (eller någon annan textredigerare).
I slutet av filen lägger du till en post för varje nod, tillgänglighetsgruppen och lyssnaren i form av
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
Ställa in behörigheter
Eftersom det inte finns någon Active Directory för att hantera behörigheter måste du manuellt tillåta att ett icke-inbyggt lokalt administratörskonto skapar klustret.
Det gör du genom att köra följande PowerShell-cmdlet i en administrativ PowerShell-session på varje nod:
new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1
Skapa redundansklustret
I det här steget skapar du redundansklustret. Om du inte känner till de här stegen kan du följa dem från självstudiekursen för redundanskluster.
Anmärkningsvärda skillnader mellan självstudien och vad som bör göras för ett arbetsgruppskluster:
- Avmarkera Lagring och Lagringsdirigering när du kör klusterverifieringen.
- När du lägger till noderna i klustret lägger du till det fullständigt kvalificerade namnet, till exempel:
AGNode1.ag.wgcluster.example.com
AGNode2.ag.wgcluster.example.com
- Avmarkera Lägg till all berättigad lagring i klustret.
När klustret har skapats tilldelar du en statisk kluster-IP-adress. Följ stegen nedan:
På en av noderna öppnar du Klusterhanteraren för växling vid fel, väljer klustret, högerklickar på Namn: <ClusterNam> under Klusterkärnresurser och väljer sedan Egenskaper.
Välj IP-adressen under IP-adresser och välj Redigera.
Välj Använd statisk, ange IP-adressen för klustret och välj sedan OK:
Kontrollera att inställningarna ser korrekta ut och välj sedan OK för att spara dem:
Skapa ett molnvittne
I det här steget konfigurerar du ett molnresursvittne. Om du inte känner till stegen kan du läsa Distribuera ett molnvittne för ett redundanskluster.
Aktivera funktionen tillgänglighetsgrupp
I det här steget aktiverar du funktionen för tillgänglighetsgrupp. Om du inte känner till stegen kan du läsa självstudien om tillgänglighetsgrupp.
Skapa nycklar och certifikat
I det här steget skapar du certifikat som en SQL-inloggning använder på den krypterade slutpunkten. Skapa en mapp på varje nod för att lagra certifikatsäkerhetskopiorna, till exempel c:\certs
.
Följ dessa steg för att konfigurera den första noden:
Öppna SQL Server Management Studio och anslut till din första nod, till exempel
AGNode1
.Öppna ett nytt frågefönster och kör följande Transact-SQL-instruktion (T-SQL) efter uppdatering till ett komplext och säkert lösenord:
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
Skapa sedan HADR-slutpunkten och använd certifikatet för autentisering genom att köra transact-SQL-instruktionen (T-SQL):
--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
Använd Utforskaren för att gå till den filplats där certifikatet finns, till exempel
c:\certs
.Skapa en kopia av certifikatet manuellt, till exempel
AGNode1Cert.crt
, från den första noden och överför det till samma plats på den andra noden.
Så här konfigurerar du den andra noden:
Anslut till den andra noden med SQL Server Management Studio, till exempel
AGNode2
.I ett nytt frågefönster kör du följande Transact-SQL-instruktion (T-SQL) efter uppdatering till ett komplext och säkert lösenord:
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
Skapa sedan HADR-slutpunkten och använd certifikatet för autentisering genom att köra transact-SQL-instruktionen (T-SQL):
--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
Använd Utforskaren för att gå till den filplats där certifikatet finns, till exempel
c:\certs
.Skapa en kopia av certifikatet manuellt, till exempel
AGNode2Cert.crt
, från den andra noden och överför det till samma plats på den första noden.
Om det finns några andra noder i klustret upprepar du även dessa steg där och ändrar respektive certifikatnamn.
Skapa inloggningar
Certifikatautentisering används för att synkronisera data mellan noder. Om du vill tillåta detta skapar du en inloggning för den andra noden, skapar en användare för inloggningen, skapar ett certifikat för inloggningen för att använda det säkerhetskopierade certifikatet och beviljar sedan anslutning på speglingsslutpunkten.
Det gör du genom att först köra följande Transact-SQL-fråga (T-SQL) på den första noden, till exempel 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
Kör sedan följande Transact-SQL-fråga (T-SQL) på den andra noden, till exempel 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
Om det finns några andra noder i klustret upprepar du de här stegen där också och ändrar respektive certifikat och användarnamn.
Konfigurera en tillgänglighetsgrupp
I det här steget konfigurerar du tillgänglighetsgruppen och lägger till dina databaser i den. Skapa ingen lyssnare just nu. Om du inte är bekant med stegen kan du läsa självstudien om tillgänglighetsgrupp. Var noga med att initiera en redundansväxling och återställning efter fel för att kontrollera att allt fungerar som det ska.
Kommentar
Om det uppstår ett fel under synkroniseringsprocessen kan du behöva bevilja NT AUTHORITY\SYSTEM
sysadmin-rättigheter för att skapa klusterresurser på den första noden, till exempel AGNode1
tillfälligt.
Konfigurera en lastbalanserare
I det här sista steget konfigurerar du lastbalanseraren med antingen Azure-portalen eller PowerShell.
Det kan dock finnas vissa begränsningar när du använder Windows-klustergränssnittet, och därför bör du använda PowerShell för att skapa en klientåtkomstpunkt eller nätverksnamnet för lyssnaren med följande exempelskript:
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
Nästa steg
När tillgänglighetsgruppen har distribuerats bör du överväga att optimera HADR-inställningarna för SQL Server på virtuella Azure-datorer.
Du kan läsa mer här: