Sdílet prostřednictvím


Konfigurace skupiny dostupnosti pracovní skupiny

Platí pro: SQL Server na virtuálním počítači Azure

Tento článek vysvětluje kroky nezbytné k vytvoření clusteru nezávislého na doméně služby Active Directory se skupinou dostupnosti AlwaysOn; označuje se také jako cluster pracovní skupiny. Tento článek se zaměřuje na kroky, které jsou relevantní pro přípravu a konfiguraci pracovní skupiny a skupiny dostupnosti, a glosuje kroky popsané v jiných článcích, jako je vytvoření clusteru nebo nasazení skupiny dostupnosti.

Požadavky

Ke konfiguraci skupiny dostupnosti pracovní skupiny potřebujete následující:

  • Alespoň dva virtuální počítače s Windows Serverem 2016 (nebo vyšší) s SQL Serverem 2016 (nebo vyšší), nasazenými do stejné skupiny dostupnosti nebo různými zónami dostupnosti pomocí statických IP adres.
  • Místní síť s minimálně 4 volnými IP adresami v podsíti.
  • Účet na každém počítači ve skupině správců, který má také práva správce systému v rámci SQL Serveru.
  • Otevřené porty: TCP 1433, TCP 5022, TCP 59999.

Pro referenci se v tomto článku používají následující parametry, ale je možné je upravit podle potřeby:

Název Parametr
Node1 AGNode1 (10.0.0.4)
Node2 AGNode2 (10.0.0.5)
Název clusteru AGWGAG (10.0.0.6)
Naslouchací proces AGListener (10.0.0.7)
Přípona DNS ag.wgcluster.example.com
Název pracovní skupiny AGWorkgroup

Nastavení přípony DNS

V tomto kroku nakonfigurujte příponu DNS pro oba servery. Například ag.wgcluster.example.com. To vám umožní použít název objektu, ke kterému se chcete připojit, jako plně kvalifikovanou adresu v síti, například AGNode1.ag.wgcluster.example.com.

Pokud chcete nakonfigurovat příponu DNS, postupujte takto:

  1. Přihlaste se pomocí protokolu RDP k prvnímu uzlu a otevřete Správce serveru.

  2. Vyberte Místní server a pak v části Název počítače vyberte název virtuálního počítače.

  3. Vyberte Změnit... v části Chcete-li přejmenovat tento počítač....

  4. Změňte název pracovní skupiny tak, aby byl něco smysluplného, například AGWORKGROUP:

    Změna názvu pracovní skupiny

  5. Chcete-li otevřít dialogové okno Název počítače a přípony DNS a název počítače rozhraní NetBIOS, vyberte Další...

  6. Do primární přípony DNS tohoto počítače zadejte název přípony DNS, například ag.wgcluster.example.com a pak vyberte OK:

    Snímek obrazovky ukazuje dialogové okno Přípona D N S a Název počítače NetBIOS, kde můžete zadat hodnotu.

  7. Potvrďte, že úplný název počítače teď zobrazuje příponu DNS, a pak vyberte OK , aby se změny uložily:

    Snímek obrazovky ukazuje, kde se má zobrazit celý název počítače.

  8. Po zobrazení výzvy k tomu restartujte server.

  9. Opakujte tyto kroky na všech ostatních uzlech, které se mají použít pro skupinu dostupnosti.

Úprava souboru hostitele

Vzhledem k tomu, že neexistuje žádná služba Active Directory, neexistuje způsob, jak ověřit připojení windows. Proto přiřaďte důvěryhodnost úpravou souboru hostitele pomocí textového editoru.

Chcete-li upravit soubor hostitele, postupujte takto:

  1. Přihlaste se k virtuálnímu počítači pomocí protokolu RDP.

  2. Pomocí Průzkumník souborů přejděte na c:\windows\system32\drivers\etc.

  3. Klikněte pravým tlačítkem myši na soubor hostitelů a otevřete ho v Poznámkovém bloku (nebo v jiném textovém editoru).

  4. Na konec souboru přidejte položku pro každý uzel, skupinu dostupnosti a naslouchací proces ve formě podobných 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
    

    Přidání položek pro IP adresu, cluster a naslouchací proces do souboru hostitele

Nastavení oprávnění

Vzhledem k tomu, že ke správě oprávnění neexistuje žádná služba Active Directory, musíte ručně povolit, aby cluster vytvořil nedefinovaný účet místního správce.

Provedete to spuštěním následující rutiny PowerShellu v relaci Prostředí PowerShell pro správu na každém uzlu:


new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1

Vytvoření clusteru s podporou převzetí služeb při selhání

V tomto kroku vytvoříte cluster s podporou převzetí služeb při selhání. Pokud tyto kroky neznáte, můžete je sledovat v kurzu clusteru s podporou převzetí služeb při selhání.

Důležité rozdíly mezi kurzem a tím, co by se mělo udělat pro cluster pracovní skupiny:

  • Zrušte zaškrtnutí políčka Úložiště a Prostory úložiště s přímým přístupem při spuštění ověření clusteru.
  • Při přidávání uzlů do clusteru přidejte plně kvalifikovaný název, například:
    • AGNode1.ag.wgcluster.example.com
    • AGNode2.ag.wgcluster.example.com
  • Zrušte zaškrtnutí políčka Přidat všechna opravňující úložiště do clusteru.

Po vytvoření clusteru přiřaďte statickou IP adresu clusteru. Postup je následující:

  1. Na jednom z uzlů otevřete Správce clusteru s podporou převzetí služeb při selhání, vyberte cluster, klikněte pravým tlačítkem na název: <ClusterNam> v části Základní prostředky clusteru a pak vyberte Vlastnosti.

    Vlastnosti spuštění pro název clusteru

  2. Vyberte IP adresu v části IP adresy a vyberte Upravit.

  3. Vyberte Použít statickou adresu, zadejte IP adresu clusteru a pak vyberte OK:

    Zadejte statickou IP adresu clusteru.

  4. Ověřte, že vaše nastavení vypadá správně, a pak vyberte OK , abyste je uložili:

    Ověření vlastností clusteru

Vytvoření určujícího cloudu

V tomto kroku nakonfigurujte určující sdílenou složku cloudu. Pokud neznáte postup, přečtěte si téma Nasazení cloudové kopie clusteru pro cluster s podporou převzetí služeb při selhání.

Povolení funkce skupiny dostupnosti

V tomto kroku povolte funkci skupiny dostupnosti. Pokud neznáte kroky, prohlédni si kurz skupiny dostupnosti.

Vytvoření klíčů a certifikátů

V tomto kroku vytvořte certifikáty, které pro šifrovaný koncový bod používá přihlášení SQL. Na každém uzlu vytvořte složku pro uložení záloh certifikátů, například c:\certs.

Poznámka:

Pokud pro certifikát nezadáte datum vypršení platnosti, jeho platnost bude jeden rok od data vytvoření. Pokud platnost certifikátu vyprší, připojení mezi koncovými body selže.

Pokud chcete nakonfigurovat první uzel, postupujte takto:

  1. Otevřete SQL Server Management Studio a připojte se k prvnímu uzlu, například AGNode1.

  2. Otevřete okno Nový dotaz a po aktualizaci na složité a zabezpečené heslo spusťte následující příkaz jazyka Transact-SQL (T-SQL):

    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. Dále vytvořte koncový bod HADR a použijte certifikát pro ověřování spuštěním tohoto příkazu Transact-SQL (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  
    
  4. Pomocí Průzkumník souborů přejděte do umístění souboru, kde je váš certifikát, například c:\certs.

  5. Ručně vytvořte kopii certifikátu, například AGNode1Cert.crtz prvního uzlu, a přeneste ho do stejného umístění na druhém uzlu.

Chcete-li nakonfigurovat druhý uzel, postupujte takto:

  1. Připojte se k druhému uzlu pomocí aplikace SQL Server Management Studio, například AGNode2.

  2. V okně Nový dotaz spusťte po aktualizaci na složité a zabezpečené heslo následující příkaz jazyka Transact-SQL (T-SQL):

    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. Dále vytvořte koncový bod HADR a použijte certifikát pro ověřování spuštěním tohoto příkazu Transact-SQL (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  
    
  4. Pomocí Průzkumník souborů přejděte do umístění souboru, kde je váš certifikát, například c:\certs.

  5. Ručně vytvořte kopii certifikátu, například AGNode2Cert.crtz druhého uzlu, a přeneste ho do stejného umístění na prvním uzlu.

Pokud jsou v clusteru nějaké další uzly, opakujte tyto kroky také a upravte příslušné názvy certifikátů.

Vytvoření přihlášení

Ověřování certifikátů se používá k synchronizaci dat mezi uzly. Pokud to chcete povolit, vytvořte přihlášení pro druhý uzel, vytvořte uživatele pro přihlášení, vytvořte pro přihlášení certifikát pro použití zálohovaného certifikátu a pak udělte připojení ke koncovému bodu zrcadlení.

Provedete to tak, že nejprve na prvním uzlu spustíte následující dotaz Transact-SQL (T-SQL), například 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

Dále na druhém uzlu spusťte následující dotaz Jazyka Transact-SQL (T-SQL), například 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

Pokud jsou v clusteru nějaké další uzly, opakujte tyto kroky také a upravte příslušné certifikáty a uživatelská jména.

Konfigurace skupiny dostupnosti

V tomto kroku nakonfigurujte skupinu dostupnosti a přidejte do ní databáze. V tuto chvíli nevytvářejte naslouchací proces. Pokud tento postup neznáte, prohlédni si kurz skupiny dostupnosti. Nezapomeňte zahájit převzetí služeb při selhání a navrácení služeb po obnovení, abyste ověřili, že všechno funguje tak, jak by mělo.

Poznámka:

Pokud během procesu synchronizace dojde k selhání, možná budete muset udělit NT AUTHORITY\SYSTEM oprávnění správce systému k vytvoření prostředků clusteru na prvním uzlu, například AGNode1 dočasně.

Konfigurace nástroje pro vyrovnávání zatížení

V tomto posledním kroku nakonfigurujte nástroj pro vyrovnávání zatížení pomocí webu Azure Portal nebo PowerShellu.

Při použití grafického uživatelského rozhraní clusteru s Windows ale může dojít k určitým omezením . K vytvoření přístupového bodu klienta nebo názvu sítě pro naslouchací proces byste měli použít PowerShell s následujícím ukázkovým skriptem:

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 

Další kroky

Po nasazení skupiny dostupnosti zvažte optimalizaci nastavení HADR pro SQL Server na virtuálních počítačích Azure.

Další informace najdete v následujících tématech: