sql >> Databáze >  >> RDS >> Sqlserver

Nastavení a konfigurace skupiny Always-on Availability Group na SQL Server

SQL Server nám poskytuje řadu řešení s vysokou dostupností a obnovou po havárii, která pomáhají zpřístupnit data sloužící kritickým systémům po nejdelší možnou dobu s co nejmenšími prostoji. Tato řešení vysoké dostupnosti a obnovy po havárii poskytovaná Microsoft SQL Serverem jsou popsána v článku SQL Server Transaction Log a High Availability Solutions.

V tomto článku si ukážeme, jak nastavit a nakonfigurovat web skupiny dostupnosti a nakonfigurovat jej tak, aby splňoval požadavky společnosti. Ale začněme stručným přehledem funkce Always-on Availability Group, abychom se s ní seznámili.

Přehled

Skupina SQL Server Always-on Availability Group, představená ve verzi SQL Server 2012, je řešení vysoké dostupnosti a zotavení po havárii na podnikové úrovni, které je postaveno na funkci Windows Server Failover Clustering, ve které jedna nebo více databází může fungovat jako jedna skupina dostupnosti a selhal jako jeden celek.

Skupina dostupnosti je kontejner pro sadu databází, které jsou hostovány v jedné primární replice, obsahují kopii databází pro čtení i zápis a synchronizované až s osmi sekundárními replikami, obsahují kopii těchto databází pouze pro čtení.

Alternativně k funkci zrcadlení databáze lze skupinu Always on Availability použít ke snížení zatížení primární instance konfigurací sekundárních replik tak, aby zvládaly pracovní zátěž a operace zálohování pouze pro čtení. Tímto způsobem lze skupinu Always-on Availability Group použít ke zlepšení dostupnosti databází a zlepšení využití prostředků SQL Serveru pro všechny repliky.

Proces synchronizace mezi replikami skupiny dostupnosti lze provést v jednom ze dvou podporovaných režimů dostupnosti:

  • Režim synchronního potvrzení :V tomto režimu dostupnosti bude primární replika čekat na sekundární repliky, až dvě synchronní sekundární repliky, aby potvrdily zapsání protokolu do jejich souboru protokolu databázových transakcí, než jej potvrdí v primární replice. Tento režim dostupnosti zvyšuje úroveň dostupnosti dat nad cenu latence transakce.
  • Asynchronní režim potvrzení :Tento režim dostupnosti se používá hlavně k synchronizaci s replikami obnovy po havárii, které jsou distribuovány ve vzdálených datových centrech, kde primární replika nebude čekat na sekundární repliky, aby se potvrdilo zpevnění protokolu pro potvrzení transakce na primární straně, což poskytuje méně dat. úroveň dostupnosti a menší latence transakcí.

Proces převzetí služeb při selhání Always-on Availability Groups, ve kterém dojde ke změně primární role mezi replikami, může být proveden ručně správcem databáze nebo automaticky samotným SQL Serverem v případě jakéhokoli selhání na úrovni serveru, přičemž je třeba vzít v úvahu, že k převzetí služeb při selhání nedojde v případě jakýchkoli problémů na úrovni databáze, jako je poškození databáze.

Pro každou skupinu dostupnosti lze vytvořit název serveru, který klientům poskytne možnost připojit se přímo k primární replice nebo replikám pouze pro čtení, aniž by bylo nutné vyvolávat základní názvy a role instance SQL Serveru v rámci skupiny dostupnosti. Tento název serveru se nazývá Posluchač skupiny dostupnosti .

Ukázkový scénář

Po poskytnutí krátkého úvodu k funkci Always-on Availability Group jsme připraveni nastavit skupinu dostupnosti a správně ji nakonfigurovat. V této ukázce vytvoříme skupinu dostupnosti pro replikaci databáze AdventureWorks2017 mezi dvěma instancemi SQL Server; SQL1 a SQL2, přičemž na těchto serverech je již nainstalován SQL Server 2017.

Pro účely testování a ukázky jsou služby SQL Server Services v instancích SQL1 i SQL2 spuštěny pod účtem služby ay\sqladmin, který má správná oprávnění k těmto instancím SQL Server.

Začínáme

Jak je uvedeno v přehledu tohoto článku, funkce Always-on Availability Group je postavena na funkci Windows Server Failover Cluster. Potřebujeme tedy vytvořit klastrovací web s podporou převzetí služeb při selhání, nad kterým definujeme web skupiny dostupnosti.

Vytvořte cluster s podporou převzetí služeb při selhání

Nejprve se musíme ujistit, že funkce Failover Clustering je nainstalována na všech replikách, které se budou podílet na webu skupiny dostupnosti. To lze provést otevřením řídicího panelu Správce serveru na každé replice a výběrem možnosti Přidat role a funkce z nabídky Správa a poté zaškrtnutím a instalací Failover Clustering funkce z těchto průvodců, jak je uvedeno níže:

Po instalaci funkce Failover Clustering otevřete Failover Cluster Manager okno v jedné z replik pomocí účtu autorizovaného místního správce s oprávněními správce domény, která mu umožňují vytvořit název clusteru v aktivním adresáři, a klikněte na Vytvořit cluster možnost, jak je uvedeno níže:

Z otevřeného Průvodce vytvořením clusteru , zkontrolujte poskytnuté pokyny v části Než začnete a klikněte na Další pokračovat:

Na další stránce zadejte název nebo IP replik, které se budou účastnit skupiny dostupnosti, a poté pokračujte kliknutím na tlačítko Další:

Poté musíte před vytvořením clusteru s podporou převzetí služeb při selhání určit, zda chcete spustit ověřovací test clusteru, abyste ověřili, že prostředky dostupné na těchto serverech jsou kompatibilní s funkcí clusteru s podporou převzetí služeb při selhání. Vždy se doporučuje provést ověřovací test v tomto kroku před pokusem o vytvoření webu Failover Cluster.

Tím budete přesměrováni na Průvodce ověřením konfigurace . Na první stránce průvodce ověřením zkontrolujte pokyny průvodce a klikněte na Další pokračovat:

Poté musíte určit, zda chcete spustit všechna ověření klastru s podporou převzetí služeb při selhání, což je doporučená možnost, nebo vybrat konkrétní rychlejší testy. V této ukázce použijeme možnost doporučenou společností Microsoft a provedeme všechny ověřovací testy a poté klikněte na Další pokračovat:

A můžete si prohlédnout ověřovací testy, které budou provedeny v rámci tohoto průvodce ověřením, a potvrdit pokračování kliknutím na Další , takto:

Po dokončení procesu ověření můžete kliknout na tlačítko Zobrazit zprávu a zkontrolovat výsledek ověřovacího testu nebo jej exportovat jinému technikovi, aby vyřešil jakýkoli problém, nebo přímo kliknout na Dokončit a zahájit proces vytváření clusteru, jak je uvedeno níže:

Prozatím jsme zkontrolovali, zda jsou naše servery kompatibilní s požadavky na funkci Failover Clustering, a můžeme pokračovat ve vytváření webu Failover Clustering. V Přístupovém bodu pro správu clusteru zadejte jedinečný název a IP adresu pro Failover Cluster a klikněte na Další pokračovat:

Poté zkontrolujte vámi zadaná nastavení vytváření clusteru a nezapomeňte je odebrat zaškrtněte políčko Přidat do clusteru veškeré vhodné úložiště , protože funkce Always on Availability Group funguje na vyhrazeném úložišti pro každý server a NE sdílené úložiště. Pokud jste s nastavením v pořádku, klikněte na Další pokračovat:

Jakmile je web Failover Clustering úspěšně vytvořen, průvodce vás upozorní zprávou, že web Failover Clustering je zcela vytvořen, jak je uvedeno níže:

Úspěšně vytvořený web clusteru s podporou převzetí služeb při selhání můžete ověřit otevřením Správce clusteru s podporou převzetí služeb při selhání, který vám zobrazí vytvořený server clusteru a všechny součásti tohoto clusteru, jak je uvedeno níže:

Chcete-li zachovat web clusteru s podporou převzetí služeb při selhání v režimu nejlepší dostupnosti, musíte nakonfigurovat kvorum clusteru, které řídí, kdy má cluster s podporou převzetí služeb při selhání ponechat online nebo jej přepnout do režimu offline na základě hlasování uzlů a prostředků. Chcete-li nakonfigurovat kvorum klastru, klikněte pravým tlačítkem myši na název klastru ve správci klastrů s podporou převzetí služeb při selhání a vyberte možnost Konfigurovat nastavení kvora klastru možnost z Další akce menu, jak je uvedeno níže. Podrobné informace o nastavení kvora, které vyhovuje funkci Always on Availability Group, najdete v části Režimy kvora clusteru s podporou převzetí služeb při selhání ve skupinách SQL Server Always On Availability:

Povolit funkci skupiny Vždy v dostupnosti

Po vytvoření Failover Cluster, nad kterým bude vytvořena skupina dostupnosti, musíme povolit funkci Always-on Availability Group a připojit ji k webu Failover Cluster, který bude použit.

Chcete-li povolit funkci Always-on Availability Group, otevřete SQL Server Configuration Manager -> SQL Server Services, poté klikněte pravým tlačítkem na službu SQL Server a vyberte možnost Vlastnosti. V okně vlastností služby SQL Server přejděte na Vždy zapnutá dostupnost a zaškrtněte políčko „Povolit vždy skupiny dostupnosti ” pod automaticky zjištěným názvem Failover Cluster, jak je znázorněno níže:

Vezměte v úvahu, že tato změna by měla být provedena u všech replik, které se budou účastnit skupiny dostupnosti a projeví se po restartování služby SQL Server, jak je uvedeno níže:

Vytvořte novou skupinu pro stálou dostupnost

Po povolení funkce Always-on Availability Group začneme vytvářet novou skupinu dostupnosti rozbalením uzlu Always-on High Availability pod SSMS Object Explorer, poté klikněte pravým tlačítkem myši na uzel Availability Groups a zvolte Nový Průvodce skupinou dostupnosti , jak je uvedeno níže:

První stránka v Průvodci novou skupinou dostupnosti je úvodní stránka, na které můžete najít stručný popis kroků, které budou provedeny v rámci tohoto průvodce pro vytvoření nové skupiny dostupnosti. Zkontrolujte poskytnuté shrnutí a poté klikněte na Další pokračovat:

V části Určit možnosti skupiny dostupnosti v okně, musíte zadat název skupiny dostupnosti, typ clusteru na základě verze serveru SQL Server a operačního systému použitého v replikách, kde si můžete vybrat z Clusteru převzetí služeb při selhání systému Windows , EXTERNÍ mimo Windows cluster nebo ŽÁDNÉ pokud není použit žádný cluster.

Tato stránka vám také umožňuje povolit detekci stavu na úrovni databáze možnost, která zkontroluje, kdy již databáze není ve stavu online, a provede automatické převzetí služeb při selhání skupiny dostupnosti a povolí distribuované transakce ve skupinách dostupnosti pro každou databázi, jak je uvedeno níže:

Poté musíte vybrat databáze, které se budou podílet na této skupině dostupnosti. Průvodce zkontroluje předběžné požadavky na databázi, aby mohla být přidána do skupiny Dostupnost, včetně modelu úplné obnovy databáze a zda je z této databáze před přidáním odebrána úplná záloha. Po splnění požadavků na zahrnutí databází obnovte seznam databází, zkontrolujte databázi a klikněte na Další pokračovat:

Na další stránce v části Repliky musíte přidat všechny repliky SQL Serveru, které se budou účastnit této skupiny dostupnosti a hostit kopii ze zahrnutých databází. Po přidání replik si můžete vybrat až tři instance, které chcete nakonfigurovat s režimem dostupnosti synchronního potvrzení, a povolit automatické převzetí služeb při selhání mezi těmito replikami a zbytkem replik, které budou nakonfigurovány s režimem asynchronního potvrzení. Můžete se také rozhodnout, zda chcete každou repliku nakonfigurovat jako čitelnou sekundární pro připojení pouze pro čtení nebo repliku se záměrem čtení, aby zvládla pracovní zátěž pouze pro čtení řízenou automaticky posluchačem, jak je znázorněno níže:

V záložce Endpoints zkontrolujte nastavení koncových bodů připojení, které budou použity pro komunikaci mezi replikami, kde je třeba se ujistit, že použitý TCP port je povolen v pravidlech firewallu všech replik a že poskytovaný servisní účet má Oprávnění připojit ke koncovému bodu replik, jak je uvedeno níže:

Na kartě Předvolby zálohování musíte ve skupině dostupnosti určit umístění, kde se budou úlohy zálohování provádět. Umožňuje vám provádět automatické zálohování ze sekundární repliky jako preferovanou volbu, sekundární jako nutnost, primární jako nutnost nebo z jakékoli repliky. Na základě této možnosti můžete vytvořit plán údržby pro vytvoření zálohy z databází zapojených do skupiny dostupnosti, jak je uvedeno níže:

Ve stejném okně můžete také definovat nastavení listeneru skupiny dostupnosti na stránce Listener nebo pokračovat bez vytvoření posluchače a jeho vytvoření provést později. V této ukázce nakonfigurujeme posluchače po vytvoření skupiny dostupnosti, jak je uvedeno níže:

Také můžete použít stránku Směrování pouze pro čtení k definování seznamu směrování pouze pro čtení, který se používá k řízení zátěže pouze pro čtení v rámci sekundárních serverů. Další informace najdete v tématu Jak nakonfigurovat směrování pouze pro čtení pro skupinu dostupnosti v SQL Server 2016:

Na další stránce je třeba zadat mechanismus, který bude použit pro počáteční proces synchronizace dat mezi primární a sekundární replikou, s možností provádět synchronizaci automaticky nebo ručně připojením sekundární skupiny ke skupině dostupnosti a synchronizovat databáze. později ručně.

V tomto průvodci jsou k dispozici dvě metody automatické synchronizace, první je určení sdílené složky pro dočasné zkopírování úplných záloh a záloh protokolu transakcí a automatické obnovení, které použijeme zde v této ukázce, nebo použijeme metodu přímého nasazování bez zálohování, jak je popsáno ve skupině SQL Server 2016 Always On Availability Group s přímým nasazováním:

Chcete-li použít Úplnou zálohu databáze a protokolu musíme vytvořit sdílenou složku a poskytnout účty služeb SQL Server pro oprávnění ke čtení a zápisu replik v této složce, jak je znázorněno níže:

Poté průvodce novou skupinou dostupnosti provede kontrolu ověření všech konfigurací, než bude pokračovat v procesu vytváření skupiny dostupnosti. Pokud se vyskytne nějaká chyba, můžete ji opravit přímo, poté stránku obnovit a kliknout na Další pokračovat:

V závěrečné fázi vám průvodce poskytne souhrn všech konfigurací průvodce, abyste je mohli zkontrolovat, a poté klikněte na Dokončit začněte vytvářet skupinu dostupnosti, jak je uvedeno níže:

Po dokončení průvodce vám ukáže výsledek každého kroku a případnou chybu. V opačném případě se zobrazí zpráva, že skupina dostupnosti byla úspěšně vytvořena bez problémů, jak je uvedeno níže:

Můžete také ověřit, že skupina Always on Availability je úspěšně vytvořena a nakonfigurována pomocí Průzkumníka objektů SSMS tím, že zkontrolujete, že zúčastněné databáze jsou ve všech replikách v synchronizovaném stavu a že repliky a databáze jsou online v rámci Always-on. Uzel vysoké dostupnosti, jak je znázorněno níže:

Můžete se také připojit k primární replice se slovem Primární vedle názvu skupiny dostupnosti a zkontrolovat stránku vlastností skupiny dostupnosti s možností provádět stejné úkoly, které jsme provedli v rámci Průvodce novou skupinou dostupnosti, jako je přidávání nových replik. , přidání nové databáze, změna konfigurace každé repliky, změna předvoleb zálohování a definování seznamu směrování pouze pro čtení, jak je uvedeno níže:

Vytvořit vždy aktivní skupinový posluchač

Posledním krokem při konfiguraci skupiny dostupnosti je vytvoření posluchače skupiny dostupnosti, který bude použit při připojování k primární a sekundární replikě bez zadání názvu repliky.

Chcete-li vytvořit posluchač skupiny dostupnosti, klikněte pravým tlačítkem myši na uzel Posluchač skupiny dostupnosti pod vytvořeným uzlem skupiny dostupnosti a vyberte Přidat posluchače volba. Z otevřeného New Availability Group Listener zadejte název tohoto posluchače, port TCP, který bude použit pro připojení k tomuto posluchači a statickou IP adresu, která bude posluchači přiřazena, poté klikněte na OK k jeho vytvoření. Když je posluchač úspěšně vytvořen, okno se automaticky zavře a název posluchače se zobrazí pod uzlem Listener, jak je znázorněno níže:

Chcete-li se připojit ke skupině dostupnosti pomocí názvu posluchače, zadejte název nebo IP posluchače s číslem portu TCP v Connect to Server a připojí se přímo k primárnímu uzlu, jak je znázorněno níže:

Testovat proces převzetí služeb při selhání

Po otestování připojení k posluchači Availability Group a replikám musíme provést důležitý test převzetí služeb při selhání, abychom se ujistili, že primární role bude bez problémů přesunuta mezi replikami a že databáze budou dostupné a v synchronizovaný stav po převzetí služeb při selhání.

Chcete-li provést ruční převzetí služeb při selhání, klikněte pravým tlačítkem myši na název skupiny dostupnosti a vyberte možnost Převzetí při selhání možnost, jak je uvedeno níže:

První stránka ve Skupině dostupnosti převzetí služeb při selhání průvodce je úvodní stránka, která poskytuje souhrn akcí, které lze v tomto průvodci provést. Přečtěte si úvod a klikněte na Další pokračovat:

Na další stránce vyberte, který uzel bude fungovat jako nová primární replika, ujistěte se, že při provedení operace převzetí služeb při selhání nedojde ke ztrátě dat, a pokračujte kliknutím na Další:

Poté byste se měli připojit k nové primární replice, kterou vyberete, abyste se ujistili, že tato replika je online a dostupná, jak je znázorněno níže:

Poté zkontrolujte své volby v průvodci převzetím služeb při selhání na stránce souhrnu a kliknutím na tlačítko Dokončit spusťte proces převzetí služeb při selhání:

Po dokončení převzetí služeb při selhání zkontrolujte stránku s výsledky a ujistěte se, že během procesu převzetí služeb při selhání nenastal žádný problém, jak je uvedeno níže:

Z SSMS Object Explorer se role repliky SQL1 změní přímo na sekundární, jak je znázorněno níže:

V tomto článku jsme podrobně popsali kroky, které je třeba provést při přípravě na vytvoření webu skupiny dostupnosti a jak vytvořit a nakonfigurovat web skupiny Always-on Availability. V příštím článku se podíváme, jak řešit problémy, se kterými se můžete setkat na existujícím webu skupiny dostupnosti. Zůstaňte naladěni.


  1. Cíl SQL Server vs cíl OLE DB

  2. Zkontrolujte, zda tabulka obsahuje sloupec TIMESTAMP na serveru SQL pomocí OBJECTPROPERTY()

  3. MySql zobrazuje výkon

  4. 10 SP_EXECUTESQL Pro lepší dynamické SQL je třeba se vyhnout