Sdílet prostřednictvím


Dostupnost prostřednictvím místní redundance a redundance zón – Azure SQL Managed Instance

Platí pro: Azure SQL Managed Instance

Tento článek popisuje architekturu služby Azure SQL Managed Instance, která dosahuje dostupnosti prostřednictvím místní redundance a vysoké dostupnosti prostřednictvím redundance zón.

Důležité

Zónově redundantní konfigurace je ve verzi Public Preview pro úroveň služby Pro obecné účely a obecně dostupná pro úroveň služby Pro důležité obchodní informace.

Přehled

Sql Managed Instance běží na nejnovější stabilní verzi databázového stroje SQL Serveru v operačním systému Windows se všemi příslušnými opravami. Spravovaná instance SQL automaticky zpracovává důležité úlohy údržby, jako jsou opravy, zálohy, upgrady databázového stroje Windows a SQL a neplánované události, jako jsou základní hardware, software nebo selhání sítě. Pokud je instance opravená nebo převezme služby při selhání, výpadek nebude mít vliv, pokud ve své aplikaci použijete logiku opakování. SQL Managed Instance se může rychle zotavit i za nejdůležitějších okolností a zajistit tak, aby vaše data byla vždy dostupná. Většina uživatelů si nevšimne, že se upgrady provádějí nepřetržitě.

Azure SQL Managed Instance ve výchozím nastavení dosahuje dostupnosti prostřednictvím místní redundance a zpřístupňuje instanci během těchto období:

  • Operace správy iniciované zákazníkem, které vedou ke krátkému výpadku
  • Operace údržby služeb
  • Problémy a výpadky datacentra s využitím následujících:
    • Stojan, na kterém běží stroje, na kterých běží vaše služba
    • Fyzický počítač, který je hostitelem virtuálního počítače, na kterém běží databázový stroj SQL.
    • Virtuální počítač, na kterém běží databázový stroj SQL
  • Další problémy s databázovým strojem SQL
  • Další potenciální neplánované místní výpadky

Výchozí řešení dostupnosti je navržené tak, aby se zajistilo, že se potvrzená data nikdy neztratí kvůli selháním, že operace údržby nebudou mít vliv na vaši úlohu a že instance není jediným bodem selhání ve vaší softwarové architektuře.

Pokud ale chcete minimalizovat dopad na data v případě výpadku celé zóny, můžete dosáhnout vysoké dostupnosti povolením redundance zóny. Bez redundance zón dochází k převzetí služeb při selhání místně ve stejném datovém centru, což může vést k nedostupnosti vaší instance, dokud se nevyřeší výpadek – jediný způsob, jak provést zotavení, je prostřednictvím řešení zotavení po havárii, například prostřednictvím skupiny převzetí služeb při selhání nebo geografického obnovení geograficky redundantního zálohování. Další informace najdete v přehledu kontinuity podnikových procesů.

Vysoká dostupnost zvyšuje spolehlivost vaší služby tím, že vás chrání před dopadem na:

  • Zóna dostupnosti, která tvoří datové centrum

Na základě úrovně služby existují dva různé modely architektury dostupnosti:

  • Model vzdáleného úložiště je založený na oddělení výpočetních prostředků a úložiště na úrovních služby Pro obecné účely a Další generace, které závisí na dostupnosti a spolehlivosti vzdáleného úložiště a dostupnosti výpočetních clusterů spravovaných službou Azure Service Fabric. Tento model dostupnosti cílí na obchodní aplikace orientované na rozpočet, které mohou tolerovat snížení výkonu během aktivit údržby.
  • Model místního úložiště je založený na clusteru procesů databázového stroje, který spoléhá na kvorum dostupných uzlů databázového stroje v úrovni služby Pro důležité obchodní informace, která mají místní úložiště. Tento místní model úložiště cílí na klíčové aplikace, které mají vysokou rychlost transakcí a vyžadují vysoký výkon vstupně-výstupních operací. Architektura vysoké dostupnosti zaručuje minimální dopad na výkon vaší úlohy během aktivit údržby.

Další informace o konkrétních smlouvách SLA pro různé úrovně služeb najdete ve sla pro azure SQL Managed Instance.

Dostupnost prostřednictvím místní redundance

Místně redundantní dostupnost je založená na ukládání výpočetních uzlů a dat v rámci jednoho datacentra v primární oblasti a chrání vaše data v případě místního selhání, jako je například malá síť nebo selhání napájení. Pokud dojde k rozsáhlé havárii, jako je požár nebo záplava v rámci oblasti, můžou být všechny repliky účtu úložiště nebo dat na výpočetních uzlech ztraceny nebo neobnovitelné. Pokud chcete data dál chránit při použití možnosti místně redundantní dostupnosti, zvažte použití odolnější možnosti úložiště pro zálohy databáze.

Úroveň služby pro obecné účely

Úroveň služby Pro obecné účely používá architekturu dostupnosti vzdáleného úložiště. Na následujícím obrázku jsou uvedeny čtyři různé uzly s oddělenými výpočetními a úložnými vrstvami.

Diagram znázorňující oddělení výpočetních prostředků a úložiště

Model dostupnosti vzdáleného úložiště obsahuje dvě vrstvy:

  • Bezstavová výpočetní vrstva, která spouští proces databázového stroje a obsahuje pouze přechodná data a data uložená v mezipaměti, jako tempdb model jsou databáze připojeného disku SSD, a naplánovat mezipaměť, fond vyrovnávací paměti a fond columnstore v paměti. Tento bezstavový uzel provozuje Azure Service Fabric , který inicializuje databázový stroj, řídí stav uzlu a v případě potřeby provádí převzetí služeb při selhání do jiného uzlu.
  • Stavová datová vrstva s databázovými soubory (.mdf a .ldf) uloženými ve službě Azure Blob Storage. Azure Blob Storage má integrované funkce dostupnosti dat a redundance. Místně redundantní dostupnost je založená na ukládání dat do místně redundantního úložiště (LRS), které kopíruje data třikrát v rámci jednoho datacentra v primární oblasti. Zaručuje, že každý záznam v souboru protokolu nebo stránce datového souboru se zachová i v případě, že dojde k chybovému ukončení procesu databázového stroje.

Při každém upgradu databázového stroje nebo operačního systému nebo zjištění selhání přesune Azure Service Fabric proces bezstavového databázového stroje do jiného bezstavového výpočetního uzlu s dostatečnou bezplatnou kapacitou. Přesunutí nemá vliv na data ve službě Azure Blob Storage a k nově inicializovanému procesu databázového stroje se připojí soubory dat a protokolů. Tento proces zaručuje vysokou dostupnost, ale při přechodu může docházet k určitému snížení výkonu, protože nový proces databázového stroje začíná studenou mezipamětí.

Další generace úrovně služby Pro obecné účely

Poznámka:

Upgrade úrovně služby Pro obecné účely příští generace je aktuálně ve verzi Preview.

Next-Gen Pro obecné účely je upgrade architektury na stávající úroveň služby Pro obecné účely, která používá upgradovanou vrstvu vzdáleného úložiště, která ukládá data instancí a soubory protokolů na spravovaných discích místo objektů blob stránky a udržuje je místně.

úroveň služby Pro důležité obchodní informace

Úroveň služby Pro důležité obchodní informace používá model dostupnosti místního úložiště, který integruje výpočetní prostředky (proces databázového stroje) a úložiště (místně připojené SSD) na jednom uzlu. Vysoká dostupnost se dosahuje replikací výpočetních prostředků i úložiště do dalších uzlů.

Diagram clusteru uzlů databázového stroje

Podkladové soubory databáze (.mdf/.ldf) se umístí do připojeného úložiště SSD, aby poskytovaly velmi nízkou latenci vstupně-výstupních operací pro vaši úlohu. Vysoká dostupnost se implementuje pomocí technologie podobné skupinám dostupnosti AlwaysOn SQL Serveru. Cluster obsahuje jednu primární repliku, která je přístupná pro úlohy zákazníků se čtením a zápisem, a až tři sekundární repliky (výpočetní prostředky a úložiště), které obsahují kopie dat. Primární replika neustále odesílá změny do sekundárních replik postupně, aby se zajistilo, že se data uchovávají na dostatečném počtu sekundárních replik před potvrzením každé transakce. Tento proces zaručuje, že pokud primární nebo čitelná sekundární replika z jakéhokoli důvodu nebudou k dispozici, bude plně synchronizovaná replika vždy k dispozici pro převzetí služeb při selhání. Azure Service Fabric zahájí převzetí služeb při selhání. Jakmile se sekundární replika stane novou primární replikou, vytvoří se další sekundární replika, která zajistí, že cluster bude mít dostatečný počet replik pro zachování kvora. Po dokončení převzetí služeb při selhání se připojení Azure SQL automaticky přesměrují na novou primární repliku (nebo čitelnou sekundární repliku založenou na připojovací řetězec).

Model dostupnosti místního úložiště navíc zahrnuje možnost přesměrovat připojení Azure SQL jen pro čtení na jednu ze sekundárních replik. Tato funkce se nazývá Čtení se škálováním na více instancí. Poskytuje 100% dodatečnou výpočetní kapacitu bez dalších poplatků za operace jen pro čtení, jako jsou analytické úlohy, z primární repliky.

Vysoká dostupnost prostřednictvím zónově redundance

Zónově redundantní dostupnost je založená na umístění replik mezi tři zóny dostupnosti Azure v primární oblasti. Každá zóna dostupnosti je samostatné fyzické umístění s nezávislým napájením, chlazením a sítí.

Ve výchozím nastavení se cluster uzlů pro model dostupnosti místního úložiště vytvoří ve stejném datacentru. Po zavedení služby Azure Zóny dostupnosti služba SQL Managed Instance umístí různé repliky do různých zón dostupnosti ve stejné oblasti. Aby se zabránilo jedinému bodu selhání, řídicí okruh se také duplikuje napříč více zónami. Provoz řídicí roviny se pak směruje do nástroje pro vyrovnávání zatížení, který je také nasazený napříč zónami dostupnosti. Směrování provozu z řídicí roviny do nástroje pro vyrovnávání zatížení řídí Služba Azure Traffic Manager (ATM).

Pomocí zónově redundantní konfigurace můžete zajistit odolnost instancí Pro důležité obchodní informace nebo pro obecné účely vůči mnohem větší sadě selhání, včetně katastrofických výpadků datacentra bez jakýchkoli změn logiky aplikace. Všechny existující instance Pro důležité obchodní informace nebo pro obecné účely můžete převést na zónově redundantní konfiguraci.

Vzhledem k tomu, že zónově redundantní instance mají repliky v různých datacentrech s určitou vzdáleností, může zvýšená latence sítě zvýšit dobu potvrzení transakce, a tím ovlivnit výkon některých úloh OLTP. Ke konfiguraci s jednou zónou se můžete kdykoli vrátit zakázáním nastavení redundance zóny. Tento proces je online operace podobná upgradu standardní úrovně služby. Na konci procesu se instance migruje z zónově redundantního okruhu na okruh s jednou zónou nebo naopak.

Pokud chcete začít s redundancí zón pro spravovanou instanci SQL, přečtěte si téma Konfigurace redundance zón.

Úroveň služby pro obecné účely

Na úrovni služby Pro obecné účely se redundance zón dosahuje umístěním bezstavových výpočetních uzlů do různých zón dostupnosti a pak spoléhá na stavové zónově redundantní úložiště (ZRS), které je připojené k danému uzlu, který aktuálně obsahuje aktivní proces databázového stroje SQL. V případě výpadku se proces databázového stroje SQL aktivuje na jednom z bezstavových uzlů, které pak přistupují k datům ve stavovém úložišti.

Následující diagram znázorňuje architekturu redundance zóny pro úroveň služby Pro obecné účely:

Diagram architektury redundance zóny na úrovni služby Pro obecné účely

Poznámka:

Redundance zón je aktuálně ve verzi Preview pro úroveň služby Pro obecné účely.

úroveň služby Pro důležité obchodní informace

Na úrovni služby Pro důležité obchodní informace se redundance zón dosahuje umístěním výpočetních replik a replik úložiště do různých zón dostupnosti a následným použitím základní technologie skupiny dostupnosti AlwaysOn k replikaci změn dat z primární instance na pohotovostní repliky v jiných zónách dostupnosti. V případě výpadku dojde k automatickému převzetí služeb při selhání, které bezproblémově přepne jednu z pohotovostních replik na primární.

Následující diagram znázorňuje architekturu redundance zóny pro úroveň služby Pro důležité obchodní informace:

Diagram architektury redundance zóny ve vrstvě služby Pro důležité obchodní informace

Testování odolnosti proti chybám aplikace

Dostupnost je základní součástí platformy SQL Managed Instance, která transparentně funguje pro vaši databázovou aplikaci. Uvědomujeme si však, že možná budete chtít otestovat, jak by operace automatického převzetí služeb při selhání zahájené během plánovaných nebo neplánovaných událostí ovlivnily aplikaci před jejím nasazením do produkčního prostředí. Převzetí služeb při selhání můžete ručně aktivovat voláním speciálního rozhraní API pro restartování spravované instance. Vzhledem k tomu, že operace restartování je rušivá a velký počet z nich může natížit platformu, je pro každou spravovanou instanci povoleno každých 15 minut pouze jedno volání převzetí služeb při selhání.

Během skutečného převzetí služeb při selhání selže připojení k instanci, zatímco služba SQL se stane primárním na jiném uzlu. Pokud chcete simulovat převzetí služeb při selhání, vyvolejte příkaz, který restartuje proces SQL, aby simuloval spuštění služby, jako by došlo k převzetí služeb při selhání. Během skutečného převzetí služeb při selhání však může dojít k selhání po delší dobu v porovnání se simulovaným převzetím služeb při selhání, protože během skutečného převzetí služeb při selhání se proces SQL stane primárním na jiném virtuálním počítači v rámci clusteru (místně nebo v jiné zóně, pokud je povolená redundance zóny) a během simulovaného převzetí služeb při selhání se proces SQL restartuje na existujícím virtuálním počítači.

Příkaz ručního převzetí služeb při selhání v této části se obvykle chová stejně v místně redundantních i zónově redundantních konfiguracích – restartuje pouze proces SQL místně a nesdílí převzetí služeb při selhání na jiný uzel, i když platí několik výjimek. Toto místní převzetí služeb při selhání se liší od převzetí služeb při selhání, ke kterému dochází u skupiny převzetí služeb při selhání.

Místní převzetí služeb při selhání je možné zahájit pomocí PowerShellu, rozhraní REST API nebo Azure CLI:

PowerShell REST API Azure CLI
Invoke-AzSqlInstanceFailover Spravovaná instance SQL – Převzetí služeb při selhání az sql mi failover can be used to invoke a REST API call from Azure CLI

Závěr

Spravovaná instance Azure SQL nabízí integrované řešení s vysokou dostupností, které je hluboce integrované s platformou Azure. Služba závisí na Service Fabric, aby zjistila selhání a obnovení, azure Blob Storage pro ochranu dat a na Zóny dostupnosti kvůli vyšší odolnosti proti chybám. A pro úroveň služby Pro důležité obchodní informace používá spravovaná instance SQL Server technologii skupiny dostupnosti AlwaysOn pro replikaci databáze a převzetí služeb při selhání. Kombinace těchto technologií umožňuje aplikacím plně realizovat výhody modelu smíšeného úložiště a podporuje nejnáročnější smlouvy SLA.

Další kroky